var ExtUtility=new appUtilities;function appUtilities(){this.helpWindowFile="js/help_window.php";this.windows={};this.loaded={};this.constraints={}}appUtilities.prototype.includeFile=function(d,c){if(ExtUtility.loaded[d]){if(c){c()}return}var b=document.getElementsByTagName("head")[0];var a=document.createElement("script");a.setAttribute("type","text/javascript");a.setAttribute("src",d);if(c){if(!Ext.isIE){a.onload=function(){c()};b.appendChild(a)}else{a.onreadystatechange=function(){c()};document.body.appendChild(a)}}ExtUtility.loaded[d]=true;return};appUtilities.prototype.helpButtonHandler=function(c,b,a){var e=a.getId();var d=function(){showHelpWindow()};ExtUtility.includeFile(ExtUtility.helpWindowFile,d)};appUtilities.prototype.phoneNumberInterceptor=function(a,b){if(!a.getValue){return}var c=a.getValue();if(!c){return}c=c.replace(/^[^\d\(]*(\d{3})/,"($1) ");c=c.replace(/^(\(\d{3}\))[^\d-]*(\d{3})[^\d]*(\d{1,4}).*$/,"$1 $2 - $3");if(typeof(a)=="object"){a.setValue(c)}else{return c}};appUtilities.prototype.checkFormState=function(a){var b=a.getForm();if(b.isDirty()){ExtUtility.markDirtyForm(a,true)}else{ExtUtility.markDirtyForm(a,false)}};appUtilities.prototype.markDirtyForm=function(a,e){var b=a.ownerCt;var d=b.title;var c="";if(e){if(b.title.match(/Changes need to be saved/)){return}c=d+'&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red;">-- Changes need to be saved --</span>'}else{c=d.replace(/(\&nbsp\;)+\<span(.*?)\>(.*?)\<\/span\>/,"")}b.setTitle(c)};appUtilities.prototype.validateTabbedForm=function(e){if(e.items==undefined){return}var b=e.items;var f=b.getCount();for(var d=0;d<f;d++){var h=b.get(d);var c=false;if(h.items){c=h.getComponent(0)}if(typeof(c)=="object"){ExtUtility.validateTabbedForm(h)}else{if(h.validate){if(!h.validate()){var a=findParentTab("",h);var g=a.child.title;flagTab(a.child,true);a.parent.setActiveTab(a.child)}}}}};appUtilities.prototype.findParentTab=function(c,b){if(b.getXType&&b.getXType()=="tabpanel"){var a={child:c,parent:b};return a}else{if(!b.ownerCt){return false}return ExtUtility.findParentTab(b,b.ownerCt)}};appUtilities.prototype.setMinimizePanel=function(b,a){ExtUtility.minimizeTo=b;ExtUtility.minimizeLocation=a};appUtilities.prototype.registerDesktopWindow=function(b){var a=b.getId();ExtWrapper.addPanelButtons(b,[{id:"minimize",handler:function(){ExtUtility.minimizeWindow(b)}},{id:"maximize",handler:function(){ExtUtility.maximizeWindow(b)}}]);b.on("render",function(){b.animationProxy=b.getEl().createProxy()});if(b.getXType()=="window"){b.on("show",function(){ExtUtility.addMinimizePanelIcon(b)})}};appUtilities.prototype.minimizeWindow=function(b){ExtUtility.saveWindowState(b);var d=b.animationProxy;d.setBox(b.getEl().getBox());b.hide();d.show();d.applyStyles("background-color: #d4dde5; z-index: 10000");var a=ExtUtility.minimizeTo.getPosition();var c=a[1]+ExtUtility.minimizeTo.getInnerHeight();var e=function(){b.hide();d.hide()};d.shift({width:1,height:1,x:10,y:c,easing:"easeOut",callback:e,duration:0.7})};appUtilities.prototype.restoreWindow=function(b){var a=b.getId();if(b.hidden){var c=b.animationProxy;c.show();c.applyStyles("background-color: #d4dde5;");var d=function(){c.hide();b.setHeight(ExtUtility.windows[a].restoreHeight);b.setWidth(ExtUtility.windows[a].restoreWidth);b.setPosition(ExtUtility.windows[a].positionX,ExtUtility.windows[a].positionY);b.show();b.doLayout()};c.shift({width:ExtUtility.windows[a].restoreWidth,height:ExtUtility.windows[a].restoreHeight,x:ExtUtility.windows[a].positionX,y:ExtUtility.windows[a].positionY,opacity:1,duration:0.6,useDisplay:true,easing:"easeOut",callback:d})}else{b.setHeight(ExtUtility.windows[a].restoreHeight);b.setWidth(ExtUtility.windows[a].restoreWidth);b.setPosition(ExtUtility.windows[a].positionX,ExtUtility.windows[a].positionY);b.doLayout()}};appUtilities.prototype.addMinimizePanelIcon=function(a){if(!ExtUtility.minimizeTo.rendered){ExtUtility.minimizeTo.on("render",b)}else{b()}function b(){var d=a.getId();if(!ExtUtility.windows[d]){var c=ExtUtility.minimizeLocation=="top"?ExtUtility.minimizeTo.getTopToolbar():ExtUtility.minimizeTo.getBottomToolbar();c.add({text:a.title,id:"icon_"+a.getId(),handler:function(){ExtUtility.minimizeStateHandler(a)}});a.on("move",function(){ExtUtility.windows[d].maximized=false});ExtUtility.windows[d]={}}a.on("destroy",function(){if(Ext.getCmp("icon_"+d)){Ext.getCmp("icon_"+d).destroy();ExtUtility.windows[d]=false}})}};appUtilities.prototype.minimizeStateHandler=function(a){if(a.hidden){ExtUtility.restoreWindow(a)}else{ExtUtility.minimizeWindow(a)}};appUtilities.prototype.maximizeWindow=function(d){var b=d.getId();if(ExtUtility.windows[b].maximized){ExtUtility.restoreWindow(d);ExtUtility.windows[b].maximized=false;return}ExtUtility.saveWindowState(d);var a=ExtUtility.minimizeTo.getInnerHeight();var c=ExtUtility.minimizeTo.getInnerWidth()+ExtUtility.minimizeTo.getFrameWidth();var g=ExtUtility.minimizeTo.getPosition();var f=g[0];var e=g[1];if(ExtUtility.minimizeTo.getTopToolbar()){e+=ExtWrapper.toolbarHeight}d.setHeight(a);d.setWidth(c);d.setPagePosition(f,e);ExtUtility.windows[b].maximized=true;d.doLayout()};appUtilities.prototype.saveWindowState=function(b,c){ID=b.getId();if(!ExtUtility.windows[ID]){ExtUtility.windows[ID]={}}ExtUtility.windows[ID].restoreHeight=b.getInnerHeight()+b.getFrameHeight();ExtUtility.windows[ID].restoreWidth=b.getInnerWidth()+b.getFrameWidth();var a=b.getPosition();ExtUtility.windows[ID].positionX=a[0];ExtUtility.windows[ID].positionY=a[1]};appUtilities.prototype.tileWindows=function(a){var d=0;var m=new Array();Ext.WindowMgr.each(function(c){if(c.isVisible()){m[d]=c;d++}});var f=m.length;var a=a;var l=a.getInnerWidth();var k=Math.round(l/f);var e=a.getInnerHeight();var b=a.getPosition();var j=b[0];var h=b[1];if(a.getTopToolbar()){h+=ExtWrapper.toolbarHeight}for(var g=0;g<m.length;g++){ExtUtility.saveWindowState(m[g]);m[g].setPosition(j,h);m[g].setWidth(k);m[g].setHeight(e);j+=k;m[g].doLayout()}};appUtilities.prototype.helpButtonHandler=function(){ExtWrapper.createElement("Ext.Window",{title:"Help",width:700,height:600,bodyStyle:"padding: 10px"},"help_window");ExtWrapper.createElement("Ext.Panel",{border:false},"help_window_content");if(ExtUtility.minimizeTo){ExtUtility.registerDesktopWindow(ExtWrapper.help_window)}ExtWrapper.addElement(ExtWrapper.help_window_content,ExtWrapper.help_window);ExtWrapper.help_window.show();ExtWrapper.help_window_content.load({url:"help.php",scripts:true,params:{topic_id:"cash_lockbox_grid",action:"retrieve"}})};appUtilities.prototype.constrainToParentY=function(a,b){var c=function(){var e=b.getInnerHeight();var j=b.getPosition();var h=j[1];var i=h+e;var g=a.getPosition();var d=g[1];var f=a.getInnerHeight()+a.getFrameHeight();a.setHeight((i-d));a.doLayout();b.doLayout()};if(a.rendered==true){a.getStore().on("load",c);b.on("resize",c);a.on("move",c)}else{a.on("render",function(){a.getStore().on("load",c);b.on("resize",c)})}};
