function getJson(n){for(var i=[],t=0;t<n.length;t++)i.push(n[t].data);return Ext.JSON.encode(i)}function SaveCompleted(){Ext.MessageBox.show({msg:"Save Completed",buttons:Ext.Msg.OK,closable:!1,icon:Ext.MessageBox.INFO})}function ShowUnsavedData(){Ext.MessageBox.show({msg:"You have unsaved data.",buttons:Ext.Msg.OK,closable:!1,icon:Ext.MessageBox.INFO})}function ShowInfoMessage(n,t){var i=Ext.MessageBox.show({msg:n,title:t,buttons:Ext.Msg.OK,closable:!1,icon:Ext.MessageBox.INFO})}function ShowWarningMessage(n,t,i){Ext.MessageBox.show({title:n,msg:t,buttons:Ext.MessageBox.YESNO,fn:i,icon:Ext.MessageBox.WARNING})}function ShowErrorMessage(n,t){Ext.MessageBox.show({msg:n,buttons:Ext.Msg.OK,closable:!1,icon:Ext.MessageBox.ERROR,title:t})}function showWarningAlert(n,t,i){Ext.MessageBox.show({buttons:Ext.MessageBox.OK,fn:i,icon:Ext.MessageBox.WARNING,msg:n,title:t||"Warning"})}function showWaitingMessage(n,t){var i=t||"Updating your data, please wait...";Ext.MessageBox.show({msg:i,progressText:"Saving...",id:"winWaitingMessage",width:300,fn:n,wait:!0,waitConfig:{interval:200},icon:"ext-mb-download"})}function closeWaitingMessage(){Ext.MessageBox.hide()}function ShowWateingMessage(){return showWaitingMessage()}function afterStoreMessage(n,t){var i="Save Completed";t.action=="destroy"&&(i="Delete Completed");Ext.MessageBox.show({msg:i,buttons:Ext.Msg.OK,closable:!1,icon:Ext.MessageBox.INFO})}function ajaxException(n,t,i){var u,r;try{r=Ext.JSON.decode(n.responseText);switch(n.status){case 400:u=i;break;case 403:r.Success||(u=r.ErrorMessage);break;case 500:r.Success||(u=r.ErrorMessage==null?"An internal error occurred. Please contact your system administrator.":r.ErrorMessage);break;default:u="Error in loading data from the server."}ShowErrorMessage(u)}catch(f){ShowErrorMessage(i,t)}}function cleanArray(n){for(var i=[],t=0;t<n.length;t++)n[t]&&i.push(n[t]);return i}function storeLoadException(n,t){var i,r;switch(t.status){case 400:i=t.statusText;break;case 401:i="Your Session has been expired, please refresh the page";break;case 403:r=Ext.JSON.decode(t.responseText);r.Success||(i=r.ErrorMessage);break;case 500:r=Ext.JSON.decode(t.responseText);r.Success||(i=r.ErrorMessage);break;default:i="Error in loading data from the server."}ShowErrorMessage(i)}function canceledit(n,t){var i=t.record,r=t.grid;i.phantom!=!0||i.dirty||r.store.remove(i)}function SetGridFirstRowSelected(n){n.getSelectionModel().select(0)}function addGridTooltip(){return function(n){var t=n.view;n.mon(t,{uievent:function(t,i,r,u,f){n.cellIndex=f;n.recordIndex=u}});n.tip=Ext.create("Ext.tip.ToolTip",{target:t.el,delegate:".x-grid-cell",trackMouse:!0,renderTo:Ext.getBody(),listeners:{beforeshow:function(t){if(!Ext.isEmpty(n.cellIndex)&&n.cellIndex!==-1&&n.getView().getCellByPosition({row:n.recordIndex,column:n.cellIndex}).dom){var i=n.getView().getCellByPosition({row:n.recordIndex,column:n.cellIndex}).dom.innerText;if(i==null||i.trim()=="")return!1;t.update(i)}}}})}}function getBooleanColumnTemplate(n,t){var i="<input type='checkbox' ";return n&&(i+="checked='check' "),t&&(i+="disabled='disabled' "),i+"/>"}function SetEmptyText(n,t){var i=Ext.getCmp(n);i.view.emptyText=t?'<div class="SearchMessage">'+t+"<\/div>":'<div class="SearchMessage">Your Search has not provided any results. Please try again.<\/div>';i.view.refresh()}function findColumnIndex(n,t){for(var i=0;i<n.length;i++)if(n[i].dataIndex==t)return i;return-1}function getFilterParms(n){for(var i,u,r,t=0;t<n.length;t++)if(i=n[t],i.ftype=="filters"&&(u=i.getFilterData(),r=i.buildQuery(u),r.filter!=null&&r.filter!=""))return"&filter="+r.filter;return""}function getPercentForColumn(n){return n==null?null:[(n*100).toFixed(2),"%"].join("")}function getLastDayOfMonth(n){return new Date(new Date(n.getFullYear(),n.getMonth()+1,1)-1)}function getNumberOf29Feb(n,t){for(var i,u=0,r=n.getFullYear();r<=t.getFullYear();r++)i=getLastDayOfMonth(new Date(r,2,1)),i.getDate()==29&&i>=n&&i<=t&&u++;return u}function addDateDays29(n,t){var i=new Date(t.getFullYear(),t.getMonth()+1,t.getDate());return i.setDate(t.getDate()+n),t.setDate(t.getDate()+n+getNumberOf29Feb(t,i)),t}function getDateDiffDays29(n,t){var i=Math.round(Math.abs((t.getTime()-n.getTime())/864e5));return i-getNumberOf29Feb(n,t)}function convertSpecialChars(n){return n&&(n=n.replace("'","\\'"),n=n.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")),n}var AjaxHandlers,cellEdit,GridDefaults;Ext.require(["Ext.ProgressBar"]);$.ajaxSetup({cache:!1});Ext.override(Ext.data.proxy.Ajax,{timeout:12e5});Ext.override(Ext.form.action.Action,{timeout:1200});$(document).unbind("keydown").bind("keydown",function(n){var i=!1,r,u,f,t;(n.which===116||n.which===82&&n.ctrlKey)&&(r=typeof isDirty=="undefined"?!1:isDirty(),u=typeof CheckModalDirty=="undefined"?!1:CheckModalDirty(),(r||u)&&(f=ShowWarningMessage("Warning","You have unsaved data. Are you sure you want to leave the page?",function(n){n==="yes"&&location.reload();i=!0},this),i=!0));n.keyCode===8&&(t=n.srcElement||n.target,i=t.tagName.toUpperCase()==="INPUT"||t.tagName.toUpperCase()==="TEXTAREA"?t.readOnly||t.disabled:!0);i&&n.preventDefault()});var isScriptLoaded=!1,Site=function(){return{init:function(){},isAuthorized:function(){return!0},GetBodyHeight:function(){return $(window).height()-$(".Filter").height()-($(".Filter").length>0?$(".Filter")[0].offsetHeight:main.parentElement.scrollHeight-$(".non-filter-padding")[0].offsetHeight)-$("header").height()},getGridDataForSave:function(n){var t=Ext.getCmp(n),i;return t?(t.editingPlugin.completeEdit(),i=t.getStore().getModifiedRecords(),getJson(i)):"[]"},getUserDomain:function(n){var i=null,t;return n&&(t=n.lastIndexOf("@"),t!=-1&&(i=n.substring(t+1))),i}}}(),onloadScriptFileError=function(){alert("Error in loading script file")},onloadScriptFileLoad=function(){};AjaxHandlers=function(){function n(n){switch(n.status){case 400:msg=n.statusText;break;case 403:case 500:var t=$.parseJSON(n.responseText);t.Success||(msg=t.ErrorMessage);break;default:msg="Error in loading data from the server."}ShowErrorMessage(msg,"Error")}return{formSubmitError:function(t,i){n(i.response)},componentLoaderException:function(t,i){var r=$.parseJSON(i.responseText);i.responseText=JSON.stringify({Success:!r.error,ErrorMessage:r.message});n(i)},jQueryAjaxError:function(t){n(t)}}}();GridDefaults={ViewConfig:{emptyText:'<div class="SearchMessage">Please perform a search.<\/div>',deferEmptyText:!1,enableTextSelection:!0},ViewConfigEmpty:{emptyText:'<div class="SearchMessage">No records were found.<\/div>',deferEmptyText:!1},CellEditing:Ext.create("Ext.grid.plugin.CellEditing",{clicksToEdit:2,listeners:{canceledit:canceledit}}),RowEdditing:Ext.create("Ext.grid.plugin.RowEditing",{clicksToEdit:2}),GridButtons:{Save:function(n,t){return{iconCls:"icon-save",text:"Save",disabled:t,handler:function(){n.store.isValid()?(n.store.sync(),ShowInfoMessage("Save Completed")):Ext.MessageBox.show({msg:"Mandatory Fields Are Missing",buttons:Ext.Msg.OK,closable:!1,icon:Ext.MessageBox.WARNING})}}},Undo:function(n,t){return{iconCls:"icon-undo",disabled:t,text:"Undo",handler:function(){n.getStore().rejectChanges()}}},Add:function(n,t){return{text:"Add",iconCls:"icon-add",handler:function(){n.getStore().insert(0,t);n.editingPlugin.$className=="Ext.grid.plugin.CellEditing"&&n.editingPlugin.startEditByPosition({row:0,column:0});n.editingPlugin.$className=="Ext.grid.plugin.RowEditing"&&n.editingPlugin.startEdit(t,0)}}},Delete:function(n,t,i){return{itemId:"delete",text:"Delete",iconCls:"icon-delete",disabled:!0,handler:function(){Ext.Msg.confirm(t,i,function(t){if(t==="yes"){var i=n.getView().getSelectionModel().getSelection()[0];i&&n.store.remove(i);n.store.destroy()}},this)}}}}}