/*
 * Ext JS Library 3.0+
 * Copyright(c) 2006-2009 Ext JS, LLC
 * licensing@extjs.com
 * http://www.extjs.com/license, iGlue library Copyright(c) 2007-2009 In4 Ltd. 
 */
Ext.ns("in4");in4.base={all:{},gtypes:{},gptypes:{},reg:function(b,a){in4.base.gtypes[b]=a;a.gtype=b},regP:function(b,a){in4.base.gptypes[b]=a;a.gptype=b},isEmpty:function(a){for(var b in a){if(a.hasOwnProperty(b)){return false}}return true},trace:function(a){if(this.deugCol){this.debugCol.childNodes[1].innerHTML+=a+"<br/>"}}};Ext.ns("in4.base.modules");Ext.ns("in4.base.form");in4.base.Utils={createScriptTag:function(content,id,name){var e=document.createElement("script");if(Ext.isIE){eval(content)}else{e.innerHTML=content;if(id){e.setAttribute("id",id)}if(name){e.setAttribute("name",name)}e.setAttribute("type","text/javascript");document.getElementsByTagName("head")[0].appendChild(e)}},createStyleTag:function(b,d,a){var c=document.createElement("style");if(d){c.id=d}if(a){c.name=a}document.getElementsByTagName("head")[0].appendChild(c);c.innerHTML=b},loadScript:function(a,d,b,c){Ext.Ajax.request({url:a,method:"GET",params:c||null,iglue:{cb:d,s:b},success:this.loadHandler.createDelegate(this),failure:this.loadHandler.createDelegate(this)})},loadHandler:function(response,request){if(response.status==200){eval(response.responseText);request.iglue.cb.call(request.iglue.s)}else{alert(response.status)}},removeAccents:function(b){var a=b.toLowerCase();a=a.replace(new RegExp(/\s/g),"");a=a.replace(new RegExp(/[àáâãäå]/g),"a");a=a.replace(new RegExp(/æ/g),"ae");a=a.replace(new RegExp(/ç/g),"c");a=a.replace(new RegExp(/[èéêë]/g),"e");a=a.replace(new RegExp(/[ìíîï]/g),"i");a=a.replace(new RegExp(/ñ/g),"n");a=a.replace(new RegExp(/[òóôõö]/g),"o");a=a.replace(new RegExp(/œ/g),"oe");a=a.replace(new RegExp(/[ùúûü]/g),"u");a=a.replace(new RegExp(/[ýÿ]/g),"y");a=a.replace(new RegExp(/\W/g),"");return a},truncateByMaxChar:function(b,c,a){a=(a&&a>2)?a:3;return(c.length>a?(c.substr(0,a-3)+"..."):c)},setAutoHeight:function(c){var b=Ext.util.TextMetrics.createInstance(c.el);c.growMin=b.getHeight(c.el.dom.value);b.setFixedWidth(c.el.dom.style.width);var a=b.getHeight(c.el.dom.value);c.lastHeight=c.el.dom.clientHeight||0;var d=a;if(Math.abs(d-c.lastHeight)>8){c.lastHeight=Math.round(d/c.growMin)*c.growMin;c.el.dom.style.height=Math.round(d/c.growMin)*c.growMin+"px";c.fireEvent("autosize",c,d)}},renderPager:function(e,d,a,g){var h=e>0?d*a+1:0;var f=d+1;var l=Math.ceil(e/a);var k=Math.min(f*(a),e);var g=g||"i-pager";result='<div class="'+g+' x-unselectable"><span class="i-pager-count">('+((e>a)?(h+"-"+k+" / "):"")+e+")</span>";if(e>a){if(f!=1){}if(f!=l){}if(l>1){result+='<div class="pager-pn"><a class="i-pager-prev"></a><a class="i-pager-next"></a></div>';result+='<div class="pager-numbers">';if(l<6){for(var b=1;b<l+1;b++){result+='<a class="'+((f==b)?"active-pager ":"")+'i-pager-num">'+b+"</a>"}}else{for(var c=(f-2>0)?((f+2<=l)?(f-2):l-4):1,k=c+4;c<=k;c++){result+='<a class="'+((f==c)?"active-pager ":"")+'i-pager-num">'+c+"</a>"}}result+="</div>"}}return result+"</div>"},renderClassicPager:function(c,b,a,e){var f=c>0?b*a+1:0;var d=b+1;var h=Math.ceil(c/a);var g=Math.min(d*(a),c);var e=e||"i-pager i-pager-classic";var i='<div class="'+e+' x-unselectable">';i+='<span class="pager-pn"><a class="i-pager-first"></a><a class="i-pager-prev"></a></span>';i+='<span class="i-pager-count">Page <input type="text" style="width: 30px; -moz-user-select: normal;" name="paging-goto" class="paging-goto" value="'+(b+1)+'" /> / '+h+"</span>";i+='<span class="pager-pn"><a class="i-pager-refresh"></a></span>';i+='<span class="pager-pn"><a class="i-pager-next"></a><a class="i-pager-last"></a></span>';i+='<span class="pager-limit">'+a+"</span>";if(c>0){i+='<span class="pager-displaying">Displaying '+f+"-"+g+" of "+c+"</span>"}return i+"</div>"},showLoader:function(b,a){a=a||{};a.align=a.align||"c-c";b.loadIndicator=Ext.get(Ext.DomHelper.append(b.overlayProxy||b,{tag:"div",cls:"iglue-loader-layer",html:(a.overlay===true?"<div class='iglue-overlay'></div>":"")+"<div class='iglue-loader-wrapper rounded'><div style='display: table-cell; vertical-align: middle;'> <span class='iglue-loader'></span><span class='text'>"+msg.loading+"</span></div></div>"}))},hideLoader:function(a){if(a.loadIndicator){a.loadIndicator.remove()}if(a.overlayProxy){a.overlayProxy.remove()}},setAttachmentClass:function(b){var a="";if(in4.base.isEmpty(b)){return" i-attach-empty"}else{a+=" i-has-attach"}if(b["-2"]&&b["-2"][1]>0){a+=" i-has-map"}if(b["1600"]&&b["1600"][1]>0){a+=" i-has-image"}if(b["1609"]&&b["1609"][1]>0){a+=" i-has-video"}return a},setStyleImportant:function(e,b,d){var c=new RegExp("^[ ]{0,}"+b+"[ ]{0,}:(.*?);|[ ]{1,}"+b+"[ ]{0,}:(.*?);");var a=c.exec(e.style.cssText);if(a){e.style.cssText=e.style.cssText.replace(c,"; "+b+": "+d+" !important;")}else{e.style.cssText=(e.style.cssText.length>0?e.style.cssText+";":"")+" "+b+": "+d+" !important;"}},modifyAttrib:function(c,a,b){if(c[a]!=null&&(!c.modified||!c.modified[a])){c.modified=c.modified||{};c.modified[a]=Ext.ux.clone(c[a],10)}c[a]=b;return c},revertModifications:function(a){if(a&&a.modified){Ext.apply(a,a.modified);delete a.modified}return a}};Array.prototype.removeInterval=function(c,b){var a=this.slice((b||c)+1||this.length);this.length=c<0?this.length+c:c;return this.push.apply(this,a)};Array.prototype.getBy=function(a,c){for(var b=0;b<this.length;b++){if(this[b][a]&&this[b][a]==c){return this[b]}}return null};String.prototype.trimInside=function(){var a=this;a=(" "+a+" ").replace(/( ){2,}/g," ");a=a.substr(1,a.length-2);return a};String.prototype.removeAccents=function(){var a=this.toLowerCase();a=a.replace(new RegExp(/[àáâãäå]/g),"a");a=a.replace(new RegExp(/æ/g),"ae");a=a.replace(new RegExp(/ç/g),"c");a=a.replace(new RegExp(/[èéêë]/g),"e");a=a.replace(new RegExp(/[ìíîï]/g),"i");a=a.replace(new RegExp(/ñ/g),"n");a=a.replace(new RegExp(/[òóôõö]/g),"o");a=a.replace(new RegExp(/œ/g),"oe");a=a.replace(new RegExp(/[ùúûü]/g),"u");a=a.replace(new RegExp(/[ýÿ]/g),"y");return a};Ext.ux.clone=function(g,f){if(f==0){return null}f=f||1;if(g&&Ext.isArray(g)){var h=[];for(var d=0,a=g.length;d<a;d++){h.push(Ext.ux.clone(g[d]))}return h}if(!g||"object"!==typeof g){return g}var h="[object Array]"===Object.prototype.toString.call(g)?[]:{};var e,b;for(e in g){if(!g.nodeType&&g.hasOwnProperty(e)){b=g[e];if(b&&"object"===typeof b||Ext.isArray(b)){h[e]=Ext.ux.clone(b,f-1)}else{h[e]=b}}}return h};in4.base.Renderers={searchHighlight:function(m,e,f,h,q){if(typeof m!="string"){return m}if(e.length===0){return m}var a=[];if(!q){q=in4.base.Utils.removeAccents(e)}if(h==1){a=[e];ipatterns=[q]}else{a=e.toLowerCase().split(" ");ipatterns=q.toLowerCase().split(" ");for(var r=0;r<a.length;r++){if(a[r].length===0){a.splice(r,1)}}for(var r=0;r<ipatterns.length;r++){if(ipatterns[r].length===0){ipatterns.splice(r,1)}}}if(a.length===0&&ipatterns.length===0){return m}var b=m.indexOf('<span class="iglue-hitname');var w=m.substr(0,b);if(b>=0){while(b>=0){var k=m.indexOf('">',b)+2;var x=m.indexOf("</span>",k);var g=m.substr(k,x-k).toLowerCase();var u=[];for(var r=0;r<g.length;r++){u[r]=0}for(var p=0;p<a.length;p++){var d=g.indexOf(a[p]);var o=0;while(d!=-1){for(var r=d;r<d+a[p].length;r++){u[r]=1}d=g.indexOf(a[p],d+1)}}if(!f){var l=m.indexOf('alternate="',b)+11;var c=m.indexOf('"',l);var n=m.substr(l,c-l);u=in4.base.Renderers.highLightCleanNameForCombo(n,ipatterns,u)}w+=m.substr(b,k-b);var s=false;for(var r=k;r<x;r++){if(u[r-k]){if(!s){w+='<span class="highlight">';s=true}}else{if(s){w+="</span>";s=false}}w+=m.substr(r,1)}if(s){w+="</span>"}b=m.indexOf('<span class="iglue-hitname',b+1);if(b>0){w+=m.substr(x,b-x)}else{w+=m.substr(x)}}}else{w=m}return w},discriminatorRenderer:function(g,f,b,e,a){var c="";var d=2;if(g){c=in4.base.Renderers.searchHighlight(g,f,b,e,a);c=c.replace("iglue-name","iglue-name iglue-live-discriminator-name").replace(/idata/g,"");c=in4.base.Renderers.renderMarkedProperties(c)}else{c=in4.base.Renderers.renderMarkedProperties(c)}return c},CreatePatterns:function(a,d){var c;if(d==1){c=[a]}else{c=a.toLowerCase().split(" ");for(var b=0;b<c.length;b++){if(c[b].length==0){c.splice(b,1)}}}return c},highLightCleanName:function(h,k,a){if(!Ext.isArray(a)){a=[];for(var d=0;d<h.length;d++){a[d]=0}}for(var c=0;c<k.length;c++){var g=k[c];var m=g.match(/(\\0)/g);if(!m){return a}var b=m.length;var l=h.indexOf(g);var f=h.indexOf("\\0");var e=-1;while(f>=0&&f<=l){f=h.indexOf("\\0",f+1);e++}while(e>=0){for(var d=e;d<e+b;d++){a[d]=1}l=h.indexOf(g,l+1);f=h.indexOf("\\0",f+1);while(f>=0&&f<=l){f=h.indexOf("\\0",f+1);e++}break}}return a},renderThinLanguage:function(b){var a="";if(b){var d=b.match(/\(\w+\)$/g);var c=b.match(/^\w+ \(/g);if(d&&d.length>0){a+=" ";if(c&&c.length>0){a+='<span iglue:tooltip="'+c[0].substr(0,c[0].length-2)+'">'}a+=d[d.length-1].toLowerCase();if(c&&c.length>0){a+="</span>"}}else{a=b}}return a},highLightCleanNameForCombo:function(d,a,h){d=d.toLowerCase().removeAccents();if(!Ext.isArray(h)){h=[];for(var c=0;c<d.length;c++){h[c]=0}}for(var b=0;b<a.length;b++){var f=a[b].toLowerCase().removeAccents();if(f.length==0){continue}var e=f.length;var g=d.indexOf(f);while(g>=0){for(var c=g;c<g+e;c++){h[c]=1}g=d.indexOf(f,g+1)}}return h},shineString:function(d,f,e){if(e==null){e=0}var b="";var a=false;for(var c=e;c<e+d.length;c++){if(f[c-e]){if(!a){b+='<span class="highlight">';a=true}}else{if(a){b+="</span>";a=false}}b+=d.substr(c,1)}if(a){b+="</span>"}return b},renderText:function(n,g,o,l,k){var q=n.split(".");for(var p=q.length-1;p>=0;p--){q[p]=q[p].trimInside();if(q[p].length==0){q.splice(p,1);continue}else{if(p==q.length-1){continue}}if(q[p].substr(q[p].length-2,1)==" "){q[p]+=". "+q[p+1];q.splice(p+1,1)}}var b=in4.base.Renderers.CreatePatterns(g,l);var m=b.concat([]);var x="";for(var p=0;p<q.length;p++){var u=in4.base.Renderers.highLightCleanNameForCombo(q[p],b);if(u.indexOf(1)==-1){if(x.substr(x.length-3)!="..."){x+="..."}continue}var a=in4.base.Renderers.shineString(q[p],u);x+=a+". ";var f=[];var j=[];var r=0;while(r<a.length){var c=a.substr(r);var w=c.indexOf("<span",0);if(w==-1){break}var e=c.indexOf(">",w);var d=c.indexOf("</span>",e);var s=c.substr(e+1,d-e-1).toLowerCase();var h=m.indexOf(s);r+=d+7;if(h==-1){continue}m.splice(h,1)}if(m.length==0){if(p!=q.length-1){x+="..."}break}}if(x.replace(/\./g,"").length<2){x=in4.base.Utils.truncateByMaxChar(false,n||"",210)}return x},renderMarkedProperties:function(b){if(typeof b!="string"){return""}var a=b.replace(/<above>/g,msg.number_format_above_prefix.length>0?msg.number_format_above_prefix+" ":"");a=a.replace(/<\/above>/g,msg.number_format_above_suffix.length>0?" "+msg.number_format_above_suffix:"");a=a.replace(/<below>/g,msg.number_format_below_prefix.length>0?msg.number_format_below_prefix+" ":"");a=a.replace(/<\/below>/g,msg.number_format_below_suffix.length>0?" "+msg.number_format_below_suffix:"");a=a.replace(/<lower>/g,msg.number_format_between_prefix.length>0?msg.number_format_between_prefix+" ":"");a=a.replace(/<\/lower>/g,msg.number_format_between_infix.length>0?" "+msg.number_format_between_infix+" ":" ");a=a.replace(/<upper>/g,"");a=a.replace(/<\/upper>/g,msg.number_format_between_suffix.length>0?" "+msg.number_format_between_suffix:"");a=a.replace(/<after>/g,msg.date_format_after_prefix.length>0?msg.date_format_after_prefix+" ":"");a=a.replace(/<\/after>/g,msg.date_format_after_suffix.length>0?" "+msg.date_format_after_suffix:"");a=a.replace(/<before>/g,msg.date_format_before_prefix.length>0?msg.date_format_before_prefix+" ":"");a=a.replace(/<\/before>/g,msg.date_format_before_suffix.length>0?" "+msg.date_format_before_suffix:"");a=a.replace(/<start>/g,msg.date_format_between_prefix.length>0?msg.date_format_between_prefix+" ":"");a=a.replace(/<\/start>/g,msg.date_format_between_infix.length>0?" "+msg.date_format_between_infix+" ":" ");a=a.replace(/<end>/g,"");a=a.replace(/<\/end>/g,msg.date_format_between_suffix.length>0?" "+msg.date_format_between_suffix:"");a=a.replace(/<or\/>/g,msg.or_infix+" ");return a},renderFlatProperty:function(a){return a.replace(/<\/span>/g,"").replace(/<span (.*?)>/g,"").replace(/<\/div>/g,"").replace(/<div(.*?)>/g,"")}};in4.base.Direct={actions:{},init:function(c){for(var d in c.actions){this.actions[d]={};for(var b=0,a=c.actions[d].length;b<a;b++){for(var e in c.actions[d][b]){this.actions[d][e]='{action:"'+d+'", method:"'+e+'", data: #params }'}}}},activeRequests:{},requestHistory:[],apiRequest:function(a){if(!this.actions[a.action]||!this.actions[a.action][a.method]){throw new Ext.Error("Processor "+a.action+"."+a.method+" does not exist in your user context!")}var b=this.actions[a.action][a.method].replace("#params",Ext.encode(a.params));if(this.activeRequests[a.unique||b]){delete this.activeRequests[a.unique||b]}if(a&&a.loader!==false&&a.scope&&a.scope.showLoader){a.scope.showLoader();if(in4.base.all[a.scope.loaderComponent]){if(in4.base.all[a.scope.loaderComponent].loadCount){in4.base.all[a.scope.loaderComponent].loadCount++}else{in4.base.all[a.scope.loaderComponent].loadCount=1}}}Ext.Ajax.request({method:"POST",url:Ext.Ajax.url+((a&&a.getParams)?"?"+Ext.urlEncode(a.getParams):""),startConf:a,jsonData:b,success:this.apiErrorFilter,scope:this});this.requestHistory.push(b);this.activeRequests[a.unique||b]=true},exportRequests:function(){Ext.DomHelper.append(Ext.getBody(),{id:"query_report",tag:"textarea",style:"position :absolute; top:10px; left:10px; width:600px; height:300px; border: 1px solid #ff0000;",html:"["+this.requestHistory.join(",")+"]"})},closeWin:function(){Ext.get("query_report").remove()},apiErrorFilter:function(b,c){if(c.startConf&&c.startConf.loader!==false&&c.startConf.scope&&c.startConf.scope.hideLoader){c.startConf.scope.hideLoader();if(in4.base.all[c.startConf.scope.loaderComponent]){in4.base.all[c.startConf.scope.loaderComponent].loadCount--}}if(b.status==200){var a=Ext.decode(b.responseText);if(a.success==false||a.message){var d=true;if(c.startConf.globalAuthorization!==false){d=!in4.base.application.um.notAuthorized(a,c)}if(d){if(!c.startConf.errorCallback||c.startConf.errorCallback.call(c.startConf.scope,a,c)!==true){if(iGlue_debug){in4.base.application.showMessage(a.message)}else{in4.base.application.showMessage("Our server is currently overloaded; we are sorry for the inconvenience. \n Please, try again later.")}}}else{if(c.startConf.customErrorHandling===true&&c.startConf.errorCallback){c.startConf.errorCallback.call(c.startConf.scope,a,c)}}}else{c.startConf.callback.call(c.startConf.scope,a,c)}}else{if(iGlue_debug){in4.base.application.showMessage("Http error("+b.status+"): "+b.responseText)}}},beginTransaction:Ext.emptyFn,endTransaction:Ext.emptyFn};in4.base.ModuleManager=function(a){Ext.apply(this,a);this.addEvents({beforeload:true,loadmodule:true,lodastartmodule:true})};Ext.extend(in4.base.ModuleManager,Ext.util.Observable,{init:function(){this.loaded={}},loadStartModule:function(a){throw Ext.Error("in4.base.ModuleManager.loadStartModule() not implemented yet")},loadModule:function(f,c,b){if(this.current==null){var e=typeof f;switch(e){case"string":for(var d=0,a=this.modules.length;d<a;d++){if(this.modules[d].iglueid&&this.modules[d].iglueid==f){this.startDownloadProcess(this.modules[d],c||null,b||false);return}}throw new Ext.Error("No module with this name!");case"number":if(this.modules.length<f){this.startDownloadProcess(this.modules[f],c||null,b||false)}else{throw new Ext.Error("Module index is out of range!")}break;case"object":if(f.file&&f._name){this.startDownloadProcess(f,c||null,b||false)}else{throw new Ext.Error("It's not a valid module object!")}break;default:throw new Ext.Error("Module is a String - the file name string / Object - the config object from config / Number - index of")}}else{if(!this.loadQ){this.loadQ=[]}this.loadQ.push([f,c||null])}},startDownloadProcess:function(c,b,a){this.current=[c,b,a||false];if(!this.checkForDependencies(c,b,a)){this.sourceQ=this.getLoadableSources(c);this.loadNextSource()}},checkForDependencies:function(e,c,b){var g=e.deps;var f=false;for(var d=0,a=g.length;d<a;d++){if(this.loaded[g[d]]!==true){this.loadQ.push([e,c,b]);delete this.current;this.loadModule(g[d],null);f=true}}return f},getLoadableSources:function(d){var b=[];if(iGlue_debug){var e=d.fileIncludes;for(var c=0,a=e.length;c<a;c++){b.push(e[c].path+e[c].text)}}else{b.push(d.file)}return b},loadNextSource:function(){if(this.sourceQ.length>0){in4.base.Utils.loadScript(this.sourceQ[0],this.sourceLoadedHandler.createDelegate(this),this)}else{this.moduleLoadedHandler()}},sourceLoadedHandler:function(){this.sourceQ.splice(0,1);this.loadNextSource()},moduleLoadedHandler:function(){this.app.lm.loadDict(this.current[0].iglueid,this.dictLoaded.createDelegate(this))},dictLoaded:function(){this.loaded[this.current[0].iglueid]=true;this.fireEvent("loadmodule",this.current[0].iglueid,this.current[1],this.current[2]);this.current=null;if(this.loadQ&&this.loadQ.length>0){var a=this.loadQ.pop();if(this.loaded[a[0].iglueid]==null||this.loaded[a[0].iglueid]===false){this.loadModule(a[0],a[1],a[2])}}},activateModule:function(b,a){if(!this.loaded[b]){this.loadModule(b,a,true)}else{(in4.base.modules[b]||in4.modules[b]).activate(a)}}});in4.base.HyperDataManager=function(a){Ext.apply(this,a);this.addEvents({entityClick:true,tooltipdlay:true})};Ext.extend(in4.base.HyperDataManager,Ext.util.Observable,{init:function(){Ext.getBody().on("click",this.onClick,this);this.tooltipEl=Ext.DomHelper.append(Ext.getBody(),{tag:"div",id:"tooltip",style:"display:none;",cls:"i-tooltip",html:""},true);Ext.getBody().on("mousemove",this.mouseMove,this);Ext.getBody().on("mousewheel",this.handleMouseWheel,this);this.on("tooltipdlay",this.showTip,this,{delay:500});this.initContextMenu()},handleMouseWheel:function(c,d,a){window.dragging=false;if((d.nodeName=="OBJECT"||d.nodeName=="object")&&d.id.indexOf("-2")>-1){var b=Ext.get(d).getOffsetsTo(document.body);if(document.getElementById(d.id)&&document.getElementById(d.id).flash_Component_onWheel){document.getElementById(d.id).flash_Component_onWheel({x:c.xy[0]-b[0],y:c.xy[1]-b[1],delta:c.getWheelDelta()*10})}c.stopEvent();return true}},onClick:function(d,c){if(c&&c.attributes){var b=c.attributes.getNamedItem("iglue:eid");if(d==-1&&b==null){b=c.attributes.getNamedItem("eid")}if(b!=null){if(!in4.base.all[b.value+"tab"]){var g=c.cloneNode(false);g.id=g.id+"_clone";g.style.cssText="display: block; background: #ffffff;";document.body.appendChild(g);var a=Ext.get(g);var f=in4.base.all.center.el.getBox(false,false);a.setBox(Ext.get(c).getBox());a._data={entityId:parseInt(b.value,10),title:c.innerHTML};a.setBox(f,true,{duration:0.3,easing:"easeOutStrong",callback:function(){in4.base.application.moduleMgr.activateModule("info",{entityId:this._data.entityId,title:this._data.title});a.fadeOut({duration:0.2,easing:"easeIn",remove:true,useDisplay:false})},scope:a})}else{if(in4.base.all[b.value+"tab"]){in4.base.all.tabbar.setActiveTab(in4.base.all[b.value+"tab"])}}return false}}return true},openOrfilter:function(b,c,d){var e=null;var h=null;if(Ext.isString(c)){e=c.split("_")[0];h=c}else{e=c;h=c+"_null_null_null"}if(!in4.base.all[e+"tab"]){var i=t.cloneNode(false);i.id=i.id+"_clone";i.style.cssText="display: block; background: #ffffff;";document.body.appendChild(i);var f=Ext.get(i);var g=in4.base.all.center.el.getBox(false,false);f.setBox(Ext.get(t).getBox());f._data={entityId:h,title:text};f.setBox(g,true,{duration:0.3,easing:"easeOutStrong",callback:function(){if(in4.modules.search.app.moduleMgr.loaded.info){in4.base.modules.info.addInfo({entityId:this._data.entityId,title:this._data.title})}else{in4.modules.search.app.moduleMgr.loadModule("info",{entityId:this._data.entityId,title:this._data.title})}f.fadeOut({duration:0.2,easing:"easeIn",remove:true,useDisplay:false})},scope:f})}else{if(in4.base.all[e+"tab"]){in4.base.all.tabbar.setActiveTab(in4.base.all[e+"tab"]);in4.base.all[e+"entitytree"].startSelect=h;var a=in4.base.all[e+"entitytree"].getNodeFromId(h);if(a.stair==2){a=a.parent}in4.base.all[e+"entitytree"].scrollTo(a._uiparts.head);in4.base.all[e+"entitytree"].clearAllSelection();in4.base.all[e+"entitytree"].fireEvent("loadcomplete",in4.base.all[e+"entitytree"]);document.getElementById(d).showData({id:"-2_"+c})}}},mouseMove:function(c,b,d){in4.base.AssociationManager.lastMouseX=c.xy[0];in4.base.AssociationManager.lastMouseY=c.xy[1];if(b&&b.nodeName!="OBJECT"&&b.attributes){var a=b.attributes.getNamedItem("iglue:tooltip");if(a!=null&&a.value!=""){this.fireEvent("tooltipdlay",{value:a.value,x:c.xy[0],y:c.xy[1]})}}else{this.tooltipEl.dom.style.display="none"}},showTip:function(a){if((in4.base.AssociationManager.lastMouseX===a.x)&&(in4.base.AssociationManager.lastMouseY===a.y)){var b=this.tooltipEl.dom;b.innerHTML=a.value;if((a.x+b.offsetWidth+100)>document.body.offsetWidth){b.style.right=(document.body.offsetWidth-(a.x))+"px";b.style.left=""}else{b.style.left=(a.x+16)+"px";b.style.right=""}if((a.y+b.offsetHeight+100)>document.body.offsetHeight){b.style.bottom=(document.body.offsetHeight-(a.y))+"px";b.style.top=""}else{b.style.top=(a.y+16)+"px";b.style.bottom=""}this.tooltipEl.dom.style.display="block"}else{this.tooltipEl.dom.style.display="none"}},initContextMenu:function(){this.contextMenu=Ext.DomHelper.append(Ext.getBody(),{tag:"div",id:"i-context",cls:"i-context",children:[{tag:"div",cls:"i-context-menu",children:[{tag:"ul"},{tag:"div",cls:"i-context-close"}]}]},true);this.contextMenu.on("click",function(b,a,c){this.hideContext();b.stopEvent();return false},this);this.listTmp=new Ext.Template('<li class="i-context-item {cls}">{label}</li>')},showContext:function(b){this.disposeItems();if(b&&b.items){for(var d in b.items){if(b.items[d].label){var a=this.listTmp.append(this.contextMenu.first().first(),b.items[d],true);if(b.items[d].event){a.on("click",function(g,f,h){this.fireEvent(h.eventArg[0]||undefined,h.eventArg[1]||undefined,h.eventArg[2]||undefined,h.eventArg[3]||undefined,h.eventArg[4]||undefined);return true},b.items[d].scope||this,{eventArg:b.items[d].event})}else{if(b.items[d].fn){a.on("click",function(g,f,h){h.fn.call(this,h.args[0]||undefined,h.args[1]||undefined,h.args[2]||undefined,f,g)},b.items[d].scope||this,{fn:b.items[d].fn,args:b.items[d].attrib})}}if(b.items[d].over){a.addClassOnOver("w-context-row-over")}}}}var e=this.contextMenu;var c=e.first().dom;if((b.x+c.offsetWidth+200)>document.body.offsetWidth){c.style.right=(document.body.offsetWidth-(b.x))+"px";c.style.left=""}else{c.style.left=(b.x+16)+"px";c.style.right=""}if((b.y+c.offsetHeight+200)>document.body.offsetHeight){c.style.bottom=(document.body.offsetHeight-(b.y))+"px";c.style.top=""}else{c.style.top=(b.y+16)+"px";c.style.bottom=""}e.addClass("i-context-show ")},hideContext:function(){this.disposeItems();this.contextMenu.removeClass("i-context-show");this.contextMenu.first().dom.style.cssText=""},disposeItems:function(){var b=this.contextMenu.query(".i-context-item");for(var c=0,a=b.length;c<a;c++){Ext.get(b[c]).removeAllListeners()}this.contextMenu.first().first().dom.innerHTML=""}});in4.base.AssociationManager=new in4.base.HyperDataManager();function sfwReady(d){var c=document.getElementById(d);var a=d.split("_");var i=in4.base.all[a[0]];if(i.selectedNode){try{i.prevNode=i.selectedNode.num%10>0?i.selectedNode.parent.children[i.selectedNode.num%10-1]:null;i.nextNode=i.selectedNode.parent.children.length>(i.selectedNode.num%10+1)?i.selectedNode.parent.children[i.selectedNode.num%10+1]:null}catch(f){}try{var j=Ext.ux.clone(i.selectedNode,3)}catch(f){alert(f)}if(a[1]!="-2"){var b=j.parent.start;var h=j.parent.count;var g=j.num}if(j&&j._ui_){j._ui_=null}if(j&&j._uiparts){j._uiparts=null}if(j&&j.parent){j.parent=null}if(j){if(a[1]=="1600"){document.getElementById(d).innerHTML='<img src="'+j.image+'"/>';sizeImageForResize(document.getElementById(d).parentNode,document.getElementById(d).firstChild,j.metadata["1291"],j.metadata["1292"])}else{document.getElementById(d).showData(j)}if(a[1]!="-2"&&i["media"+a[1]].title){i["media"+a[1]].title.dom.innerHTML=(j.count>0?("<b>("+(b+g+1)+"/"+h+")</b>  "+j.text):j.text)}else{if(a[1]=="-2"){i["media"+a[1]].title.dom.innerHTML=j.text}else{i["media"+a[1]].title.dom.innerHTML=""}}if(a[1]=="1600"&&i["media"+a[1]].icons){i["media"+a[1]].prevNode=i.prevNode;i["media"+a[1]].nextNode=i.nextNode;i["media"+a[1]].renderResult(i.selectedNode.parent)}}}}function onYouTubePlayerReady(b){var a=in4.base.all[b.split("_")[0]],c=a.selectedNode;document.getElementById(b).innerHTML=findEmbedCodeForMedia(c);a["media"+b.split("_")[1]].title.dom.innerHTML="<b>("+(c.parent.start+c.num+1)+"/"+c.parent.count+")</b>  "+c.text}function mapProxy(b,j,c,k,a){try{in4.base.all[b.split("_")[0]]["media"+b.split("_")[1]].title.dom.innerHTML=k;var h=[{label:'<table class="i-namecard"><tbody><tr><td><img src="lib/ext3/resources/images/default/s.gif" style="background: url('+a.replace("images","thumbs").replace(/gif|jpg/,"png")+') no-repeat; width:50px; height:50px; margin-right:5px;"/></td><td class="i-node-text" style="vertical-align: top;">'+k+"</td></tr></tbody></table><hr/>",fn:in4.base.AssociationManager.onClick,attrib:[-1,c[0]?c[0].id:10470],scope:in4.base.AssociationManager}];if(c){for(var d=0,f=c.length;d<f;d++){h.push({label:in4.base.Renderers.renderFlatProperty(in4.base.Renderers.renderMarkedProperties(c[d].name)),over:true,cls:"i-map-contex-item",fn:in4.base.AssociationManager.openOrfilter,attrib:[c[d].name,c[d].id,b],scope:in4.base.AssociationManager})}}}catch(g){}in4.base.AssociationManager.showContext({x:in4.base.AssociationManager.lastMouseX,y:in4.base.AssociationManager.lastMouseY,items:h})}function sizeImageForResize(g,d,b,f){var c=g.offsetWidth,h=g.offsetHeight;var e="";if(c<=b&&h>=f){e="position: absolute; width:"+c+"px; height: "+(c/b*f)+"px; top:"+((h-(c/b*f))/2)+"px; left:0px;"}else{if(c>=b&&h<=f){e="position: absolute; height:"+h+"px; width: "+(h/f*b)+"px; left:"+((c-(h/f*b))/2)+"px; top:0px;"}else{if(c<b&&h<f){var a=1;if((c/b)>(h/f)){var a=h/f}else{var a=c/b}e="position: absolute;visibility: visible; width:"+(b*a)+"px; height: "+(f*a)+"px; top:"+((h-(f*a))/2)+"px; left:"+((c-(b*a))/2)+"px;"}else{e="position: absolute;visibility: visible; left:"+((c-b)/2)+"px; top:"+((h-f)/2)+"px;"}}}d.style.cssText=e}var mediaMatchers=[[/youtube\.com\/watch\?v=([A-Za-z0-9._%-]*)[&\w;=\+_\-]*/,'<object width="100%" height="100%"><param name="movie" value="http://www.youtube.com/v/|||IDENTIFIER|||&amp;hl=en_US&amp;fs=1&rel=0&showinfo=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/|||IDENTIFIER|||&amp;hl=en_US&amp;fs=1&rel=0&showinfo=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="100%" height="100%"></embed></object>'],[/xxx/,'<div style="width:320px;"><div style="background-color:#dedede;width:320px;text-align:center;font-family:Arial,sans-serif;font-size:10pt;padding-top:4px;padding-bottom:5px;margin:0;"><a href="http://vator.tv/testimonials#2009-06-23-tim-musgrove-rave" target="_blank">See this video on <span style="color:#38538e;font-weight: bold;">Vator</span><span style="color:#50a756;font-weight: bold;">.tv</span>&nbsp;&raquo;</a></div><embed src="http://vator.tv/embed/vpembed.swf" FlashVars="v=6437_DIGGER_TESTIMONIAL.flv&b=2&i=6437&o=embed&vp=1&l=http://vator.tv/testimonials#2009-06-23-tim-musgrove-rave" allowScriptAccess="always" allowFullScreen="true" bgcolor="#ffffff" width="320" height="265" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></div>']];function findEmbedCodeForMedia(f){if(f.metadata["210"]){var b=mediaMatchers,c=f.metadata["210"];for(var d=0,a=b.length;d<a;d++){var e=c.match(b[d][0]);if(e){return b[d][1].replace(/\|\|\|IDENTIFIER\|\|\|/g,e[1])}}}}in4.base.ThemeManager={setTheme:function(a){},getTheme:function(){},getPreferredTheme:function(){},getThemes:function(){},loadStyleSheet:function(a){},strDefaultTheme:"iglue",currentTheme:"iglue"};Ext.namespace("msg");in4.base.LocaleManager=function(a){Ext.apply(this,a);this.addEvents({change:true,loadlocale:true,loadmodulestrings:true});this.init()};Ext.extend(in4.base.LocaleManager,Ext.util.Observable,{locales:[{shortName:"en",name:"English"},{shortName:"hu",name:"Magyar"}],actual:"en",_default:"en",language:"",init:function(){this.on("loadmodulestrings",this.loadModuleStringHandler,this)},bindEvents:function(){in4.base.application.um.on("localechange",this.setLocaleCallback,this)},loadModuleStringHandler:function(b,a){this.loadDict(a)},setActual:function(){var a=Ext.util.Cookies.get("locale");if(!a){a=(navigator.browserLanguage)?navigator.browserLanguage.substr(0,2):navigator.language.substr(0,2);if(location.href.search(/lang=/)!=-1){position=location.href.search(/lang=/);a=location.href.substr(position+5,2)}}var b=this.locales.getBy("shortName",a);if(b){this.actual=a;this.language=b.name}else{b=this.locales.getBy("shortName",this._default);this.actual=this._default;this.language=b.name}},getLocales:function(){return this.locales},getActualLocale:function(){return this.actual},getLocaleName:function(b){if(!b){b=this.actual}var a=this.locales.getBy("shortName",b);if(a){return a.name}return""},setLocale:function(c){var a=c.substr(0,2);var b=this.locales.getBy("shortName",a);if(!b){return}this.actual=a;in4.base.application.um.checkStatus(a)},setLocaleCallback:function(a,b){Ext.util.Cookies.set("locale",a);this.fireEvent("change",a,this.getLocaleName(a));window.location.reload()},loadDict:function(a,b){if(a=="base"){Ext.Ajax.request({scope:this,url:"res/base/strings/"+this.actual+"_"+a.toLowerCase()+".strings",method:"GET",_cb:b,success:this.loadDictCallback,failure:function(c,d){throw new Ext.Error("Dictionary load failed.",c.responseText)}})}else{if(iGlue.Site.moduleMgr&&iGlue.Site.moduleMgr.loaded[a]!==true){Ext.Ajax.request({scope:this,url:"res/base/strings/"+this.actual+"_"+a.toLowerCase()+".strings",method:"GET",_cb:b,success:this.loadDictCallback,failure:function(c,d){throw new Ext.Error("Dictionary load failed.",c.responseText)}})}}},loadDictCallback:function(a,f){var g=a.responseText.replace(/\r\n/g,"\n").split("\n");for(var d=0;d<g.length;d++){var e=g[d].split("=");if(e&&e.length>=2){var c=[e[0],e.slice(1).join("=")];var b=c[1].match(/^("([^"]*)"|'([^']*)') *$/);if(b&&(b[b.length-1]||b[b.length-2])){msg[c[0]]=b[b.length-1]||b[b.length-2]}else{msg[c[0]]=""}}}f._cb.call()}});in4.cfg=in4.cfg||{domain:"http://iglue.com",external_login:"http://iglue.com/frontend/ExternalLogin",proxyURL:"http://iglue.com/annotator/bin-debug/alprototype2.swf",annotator_client:"iglue.com/annotator/",frontend:"iglue.com/frontend/service",annotate:"iglue.com/annotate",criticalSize:4096};in4.base.UserManager=function(a){Ext.apply(this,a);this.addEvents({loggedin:true,login:true,beforelogin:true,loginerror:true,logout:true,beforelogout:true,logouterror:true,register:true,beforeregister:true,registererror:true,beforeactivate:true,activate:true,activateerror:true,beforeforgotten:true,forgotten:true,forgottenerror:true,passwordreset:true,passwordreseterror:true,beforepasswordchange:true,passwordchange:true,passwordchangeerror:true})};Ext.extend(in4.base.UserManager,Ext.util.Observable,{CRUD:{STATUSCHECK:{action:"user",method:"checkStatus",params:{}},LOGIN:{action:"user",method:"login",params:{}},LOGOUT:{action:"user",method:"logout",params:{}},REGISTER:{action:"user",method:"initiateRegistration",params:{}},ACTIVATE:{action:"user",method:"activateRegistration",params:{}},FORGOTPASSWORD:{action:"user",method:"initiatePasswordReset",params:{}},RESETPASSWORD:{action:"user",method:"resetPassword",params:{}},PASSWD:{action:"user",method:"changePassword",params:{}}},initial:true,loggedIn:false,init:function(){if(location.href.search(/activation=/)!=-1){this.activate()}if(location.href.search(/reset=/)!=-1){this.resetPassword()}this.loadUserPreferences();this.startStatusCheck();this.loadCaptureFormats()},loadUserPreferences:function(){in4.base.Direct.apiRequest({action:"user",method:"getPreferences",params:{},callback:this.activateUserPrefs,scope:this})},activateUserPrefs:function(a,b){Ext.apply(this.userPrefs,a.result)},userPrefs:{},loadCaptureFormats:function(){in4.base.Direct.apiRequest({action:"user",method:"getCaptureFormats",params:{},callback:this.loadCaptureFormatsCallback,scope:this})},loadCaptureFormatsCallback:function(a,b){try{this.captureFormats=a.result}catch(c){}},startStatusCheck:function(){var a={run:this.checkStatus,scope:this,args:[],interval:300000};Ext.TaskMgr.start(a)},checkStatus:function(b){var a={};in4.base.Direct.apiRequest({getParams:(this.initial||b?{locale:(b||in4.base.application.lm.getActualLocale())}:{}),action:this.CRUD.STATUSCHECK.action,method:this.CRUD.STATUSCHECK.method,params:Ext.apply(a,this.CRUD.STATUSCHECK.params),callback:this.CRUD.STATUSCHECK.callback||this.statusCheckCallback,scope:this.CRUD.STATUSCHECK.scope||this})},statusCheckCallback:function(a,b){if(this.initial){this.initial=false}else{if(b.startConf&&b.startConf.getParams&&b.startConf.getParams.locale){this.fireEvent("localechange",b.startConf.getParams.locale,this)}}if(a&&a.result&&a.result.salt){this.salt=a.result.salt}if(a&&a.result&&a.result.userId&&a.result.userId!=this.userId){this.resetState(a.result);this.fireEvent("login",this.userId,this.userName)}else{if(a&&a.result&&a.result.userId&&a.result.userId==this.userId){this.fireEvent("loggedin",this.userId,this.userName)}else{if(!a||!a.result||!a.result.userId){if(this.userId>0){in4.base.MessageBox.show({title:"Session expired",text:"Please sign in again.",buttons:in4.base.MessageBox.YESNO,fn:function(d,c){if(d=="yes"){in4.modules.auth.onLogin()}},scope:this})}this.resetState();this.fireEvent("logout")}}}},logIn:function(c,a){if(!this.rsa){this.rsa=new RSAKey();this.rsa.setPublic(iGlue.Site.startConfig.rsa_n,iGlue.Site.startConfig.rsa_e)}var b=this.rsa.encrypt(this.salt+"\0"+c+"\0"+a);if(!b){return}if(this.fireEvent("beforelogin",c)===false){return false}in4.base.Direct.apiRequest({unique:"login",userName:c,action:this.CRUD.LOGIN.action,method:this.CRUD.LOGIN.method,params:Ext.apply({token:b},this.CRUD.LOGIN.params),callback:this.CRUD.LOGIN.callback||this.loginCallback,scope:this.CRUD.LOGIN.scope||this})},loginCallback:function(a,b){if(a.result&&a.result.error){this.fireEvent("loginerror",a.result.error)}else{this.checkStatus();this.userName=b.startConf.userName;this.fireEvent("login",this.userName);this.loggedIn=true;this.loadCaptureFormats()}},externalLoginCallback:function(a){try{var c=Ext.decode(unescape(a));if(c.code==1){this.fireEvent("externalneedusername",c)}else{if(c.code==0){this.checkStatus()}else{this.fireEvent("externalerror",c)}}}catch(b){this.fireEvent("externalerror",{})}},logOut:function(){if(this.fireEvent("beforelogout",this.userName)===false){return false}in4.base.Direct.apiRequest({action:this.CRUD.LOGOUT.action,method:this.CRUD.LOGOUT.method,params:this.CRUD.LOGOUT.params,callback:this.CRUD.LOGOUT.callback||this.logOutCallBack,scope:this.CRUD.LOGOUT.scope||this})},logOutCallBack:function(a,b){if(a.result&&a.result.error){this.fireEvent("logouterror")}else{this.resetState();this.fireEvent("logout",this.userName)}},resetState:function(a){if(a&&Ext.isObject(a)){Ext.apply(this,a);if(this.userId>0&&this.roles.length==0){setTimeout(this.checkStatus,3000)}}else{this.userName="";this.userId=0;this.loggedIn=false;this.roles=[]}this.loggedIn=(this.userId>0)},getUserConfig:function(a){},register:function(d,b,a){if(!this.rsa){this.rsa=new RSAKey();this.rsa.setPublic(iGlue.Site.startConfig.rsa_n,iGlue.Site.startConfig.rsa_e)}var c=this.rsa.encrypt(d+"\0"+b+"\0"+a);if(!c){return}if(this.fireEvent("beforeregister",this.userName)===false){return false}in4.base.Direct.apiRequest({unique:"register",userName:d,action:this.CRUD.REGISTER.action,method:this.CRUD.REGISTER.method,params:Ext.apply({token:c},this.CRUD.REGISTER.params),callback:this.CRUD.REGISTER.callback||this.registerCallBack,scope:this.CRUD.REGISTER.scope||this})},registerCallBack:function(a,b){if(a.result&&a.result.error){this.fireEvent("registererror",a.result.error)}else{this.fireEvent("register",a)}},activate:function(){if(location.href.search(/activation=/)!=-1){position=location.href.search(/activation=/);code=Number(location.href.substr(position+11,location.href.length));if(code){in4.base.Direct.apiRequest({unique:"activate",action:this.CRUD.ACTIVATE.action,method:this.CRUD.ACTIVATE.method,params:Ext.apply({code:code},this.CRUD.ACTIVATE.params),callback:this.CRUD.ACTIVATE.callback||this.activateCallback,scope:this.CRUD.ACTIVATE.scope||this})}}},activateCallback:function(a,b){if(a.result&&a.result.error){in4.base.MessageBox.show({title:msg.activation_error_title,text:msg["activation_"+a.result.error],buttons:in4.base.MessageBox.OK})}else{in4.base.MessageBox.show({title:msg.activation_welcome_title,text:msg.activation_welcome_text,buttons:{ok:msg.activation_welcome_link}});location.hash="#";this.checkStatus()}},sendForgottenPassword:function(a){in4.base.Direct.apiRequest({unique:"forgotten",action:this.CRUD.FORGOTPASSWORD.action,method:this.CRUD.FORGOTPASSWORD.method,params:Ext.apply({email:a},this.CRUD.FORGOTPASSWORD.params),callback:this.CRUD.FORGOTPASSWORD.callback||this.sendForgottenPasswordCallBack,scope:this.CRUD.FORGOTPASSWORD.scope||this})},sendForgottenPasswordCallBack:function(a,b){if(a.result&&a.result.error){this.fireEvent("forgottenerror",a.result.error)}else{this.fireEvent("forgotten",a)}},resetPassword:function(a,c){if(!this.rsa){this.rsa=new RSAKey();this.rsa.setPublic(iGlue.Site.startConfig.rsa_n,iGlue.Site.startConfig.rsa_e)}var b=this.rsa.encrypt(a);if(!b){return}in4.base.Direct.apiRequest({unique:"resetpassword",action:this.CRUD.RESETPASSWORD.action,method:this.CRUD.RESETPASSWORD.method,params:Ext.apply({code:c,token:b},this.CRUD.RESETPASSWORD.params),callback:this.CRUD.RESETPASSWORD.callback||this.resetPasswordCallBack,scope:this.CRUD.RESETPASSWORD.scope||this})},resetPasswordCallBack:function(a,b){if(a.result&&a.result.error){this.fireEvent("passwordreseterror",a.result.error)}else{this.fireEvent("passwordreset",a);location.hash="#";this.checkStatus()}},changePassword:function(b,c){if(!this.rsa){this.rsa=new RSAKey();this.rsa.setPublic(iGlue.Site.startConfig.rsa_n,iGlue.Site.startConfig.rsa_e)}var a=this.rsa.encrypt(b+"\0"+c);if(!a){return}if(this.fireEvent("beforepasswordchange",this.userName)===false){return false}in4.base.Direct.apiRequest({unique:"changepassword",action:this.CRUD.PASSWD.action,method:this.CRUD.PASSWD.method,params:Ext.apply({token:a},this.CRUD.PASSWD.params),callback:this.CRUD.PASSWD.callback||this.changePasswordCallBack,scope:this.CRUD.PASSWD.scope||this})},changePasswordCallBack:function(a,b){if(a.result&&a.result.error){this.fireEvent("passwordchangeerror",a.result.error)}else{this.fireEvent("passwordchange",a)}},notAuthorized:function(a,b){if(a.message&&a.message.indexOf("Not authorized")!=-1){in4.base.MessageBox.show({title:msg.authorization_faild_title,text:msg.authorization_faild,buttons:in4.base.MessageBox.OK});return true}return false},getUsername:function(){return this.userName},isAuthorized:function(a){if(this.roles.indexOf(a.toUpperCase())!=-1){return true}else{return false}},externalLogin:(function(){return function(b){if(window.postMessage){if(!this.receivePostMessage){var a=this;this.receivePostMessage=function(c){if(c.origin==in4.cfg.domain){a.openedWindow.close();delete a.openedWindow;a.externalLoginCallback(c.data);if(window.detachEvent){window.detachEvent("message",a.receivePostMessage)}else{window.removeEventListener("message",a.receivePostMessage,false)}delete a.receivePostMessage}};if(window.attachEvent){window.attachEvent("message",this.receivePostMessage)}else{window.addEventListener("message",this.receivePostMessage,false)}}}else{if(this.observerTimer){clearInterval(a.observerTimer)}var a=this;this.observerTimer=setInterval(function(){var c=window.location.hash;while(c.indexOf("#")!=-1){c=c.substr(c.indexOf("#")+1,c.length)}if(c.indexOf("iglue-login")!=-1){clearInterval(a.observerTimer);window.location.hash=window.location.hash.replace("#"+c,"");a.openedWindow.close();delete a.openedWindow;a.externalLoginCallback(c.replace("iglue-login",""))}},2000)}this.openedWindow=window.open(in4.cfg.external_login+"?type="+b+"&locationHash="+escape(window.location.href),"iglueExternal")}})()});in4.base.App=function(a){Ext.apply(this,a);this.addEvents({ready:true,beforeunload:true});Ext.onReady(this.initApp,this)};Ext.extend(in4.base.App,Ext.util.Observable,{isReady:false,initApp:function(){if(iGlue_debug&&false){in4.base.debugCol=Ext.DomHelper.append(Ext.getBody(),{tag:"div",style:"background:black; border:1px solid; top:0; left:0; position:absolute;width:auto; height: auto; padding:5px; color: green; z-index: 1000000;",children:[{tag:"div",name:"eventparams",style:"border:1px solid; height: auto; width: auto; float: left;padding:5px;"},{tag:"div",name:"trace",style:"border:1px solid; height: 200px; width: auto; float: left; clear: both;minWidth:400px; minHeight: 200px; overflow:scroll; padding:5px;"}]});new Ext.Resizable(in4.base.debugCol,{wrap:true,pinned:true,minWidth:200,minHeight:400,dynamic:true,handles:"all",draggable:true})}in4.base.application=this;this.beforeInitApp();this.startConfig=this.startConfig||this.getConfig();this.lm=new in4.base.LocaleManager();this.lm.setActual();this.lm.loadDict("base",this.baseDictReady.createDelegate(this))},getScrollerWidth:function(){var d=null;var c=null;var a=0;var b=0;d=document.createElement("div");d.style.position="absolute";d.style.top="-1000px";d.style.left="-1000px";d.style.width="100px";d.style.height="50px";d.style.overflow="hidden";c=document.createElement("div");c.style.width="100%";c.style.height="200px";d.appendChild(c);document.body.appendChild(d);a=c.offsetWidth;d.style.overflow="auto";b=c.offsetWidth;document.body.removeChild(document.body.lastChild);return(a-b)},baseDictReady:function(){this.um=new in4.base.UserManager();this.lm.bindEvents();in4.base.AssociationManager.init();this.am=in4.base.AssociationManager;this.init();Ext.EventManager.on(window,"beforeunload",this.onUnload,this);this.fireEvent("ready",this);this.isReady=true;this.afterInitApp()},beforeInitApp:Ext.emptyFn,afterInitApp:Ext.emptyFn,getConfig:function(a){in4.base.Utils.loadScript(a||"config.js",this.configHandler.createDelegate(this),this)},configHandler:function(){try{this.moduleMgr=new in4.base.ModuleManager({modules:(this.startConfig&&this.startConfig.modules)?this.startConfig.modules:[],app:this})}catch(a){alert(a.message)}this.initMainView();Ext.Ajax.url=iGlue.Site.startConfig.useProxy?"proxy/proxy.php":iGlue.Site.startConfig.frontend;in4.base.Utils.loadScript(Ext.Ajax.url,this.apiHandler.createDelegate(this),this,{GetApi:true})},apiHandler:function(){if(!iGlue.Site.startConfig.useProxy){Ext.Ajax.url=(window.location+"").match(/(https?:\/\/)?(www\.)?([a-zA-Z0-9_%\:\.]*)(\b\.[a-z]{2,4})?(\.[a-z]{2})?\//)[0]+iGlue.Site.REMOTING_API.url.substr(1,iGlue.Site.REMOTING_API.url.length)}in4.base.Direct.init(iGlue.Site.REMOTING_API);try{this.moduleMgr.init();this.moduleMgr.on("loadmodule",this.moduleLoadHandler,this);this.moduleMgr.loadModule("auth");this.moduleMgr.loadModule("search")}catch(a){alert(a.message)}this.um.init()},initMainView:Ext.emptyFn,init:Ext.emptyFn,moduleLoadHandler:function(a){},showMessage:function(a){in4.base.MessageBox.showMessage(a)},onReady:function(b,a){if(!this.isReady){this.on("ready",b,a)}else{b.call(a,this)}},onUnload:function(a){if(this.fireEvent("beforeunload",this)===false){a.stopEvent()}}});in4.base.Component=function(a){Ext.apply(this,a);this.initConfig={};this.initConfig.id=a.id||Ext.id().replace("ext-gen","iglue");this.id=this.initConfig.id;Ext.apply(this.initConfig,a);this.addEvents({resize:true,init:true,add:true});in4.base.Component.superclass.constructor.apply(this,arguments);this.initComponent()};Ext.extend(in4.base.Component,Ext.util.Observable,{tmpl:new Ext.XTemplate('<div id="{id}">','<div id="{id}_wrapper" class="i-scroll-wrap">','<div id="{id}_holder" class="i-scroll-holder">','<div id="{id}_body" class="i-scroll-body"></div>',"{[values.scroll ? ( \"<div class='i-v-scroll-track'><div class='i-v-scroll-thumb x-unselectable'><div class='i-thumb-top'></div><div class='i-thumb-bottom'></div></div></div><div class='i-h-scroll-track'><div class='i-h-scroll-thumb x-unselectable'><div class='i-thumb-left'></div><div class='i-thumb-right'></div></div></div><div class='i-scroll-corner'></div>\" ) : \"\"]}","</div>","</div>","</div>"),gtype:"component",initComponent:function(){in4.base.all[this.id]=this;this.initPlugins();if(this.container.gtype){this.cont=this.container.bodyEl;this.el=this.tmpl.append(this.cont,this.initConfig,true)}else{if(this.container.dom){this.cont=this.container;this.el=this.tmpl.append(this.cont,this.initConfig,true)}}this.el.addClass(this.elCls);if(this.style){this.el.dom.style.cssText=this.style}this.bodyEl=Ext.get(this.id+"_body");if(this.bodyStyle){this.bodyEl.dom.style.cssText=this.bodyStyle}this.holderEl=Ext.get(this.id+"_holder");this.wrapEl=Ext.get(this.id+"_wrapper");if(this.wrapStyle){this.wrapEl.dom.style.cssText=this.wrapStyle}if(this.wrapCls){this.wrapEl.addClass(this.wrapCls)}if(this.holderCls){this.holderEl.addClass(this.holderCls)}if(this.scroll){this.v_scroll=this.bodyEl.next();this.v_scroll_thumb=this.v_scroll.first();this.h_scroll=this.v_scroll.next();this.h_scroll_thumb=this.h_scroll.first();this.v_scroll.on("click",this.onVScrollClick,this);this.h_scroll.on("click",this.onHScrollClick,this);this.bodyEl.on("scroll",this.onScroll,this);this.v_scroll_thumb.on("mousedown",this.onVDragStart,this);this.h_scroll_thumb.on("mousedown",this.onHDragStart,this)}else{this.holderEl.addClass("i-scroll-holder-absolute");this.bodyEl.addClass("i-scroll-body-absolute")}if(this.autoHeight){this.wrapEl.addClass("i-force-autoh");this.bodyEl.addClass("i-force-autoh");this.holderEl.addClass("i-force-autoh");this.el.addClass("i-force-autoh")}if(this.autoWidth){this.wrapEl.addClass("i-force-autow");this.bodyEl.addClass("i-force-autow");this.el.addClass("i-force-autow")}if(this.bodyEl&&this.bodyCls){this.bodyEl.addClass(this.bodyCls)}if(this.container==Ext.getBody()&&this.width=="100%"&&this.height=="100%"){Ext.EventManager.onWindowResize(this.fireResize,this)}this.resEl=new Ext.Resizable(this.el,{width:this.width||"100%",height:this.height||"100%",handles:"s e w se",minWidth:this.minWidth||1,minHeight:this.minHeight||1,maxWidth:this.maxWidth||10000,maxHeight:this.maxHeight||10000,_comp:this,resizeTo:function(e,c){var d=this.el.dom.style;d.width=e+(e.toString().indexOf("%")==-1?"px":"");d.height=c+(c.toString().indexOf("%")==-1?"px":"");this._comp.resize(this,e,c,null)}});this.setResHandlers(this.reshandlers||"");this.resEl.on("resize",this.resize,this);if(this.portal){this.bodyEl.addClass("slot");this.ddlist=new Ext.dd.DDTarget(this.bodyEl.id)}if(this.items){for(var b=0,a=this.items.length;b<a;b++){this.add(this.items[b],b)}}else{if(this.html){this.bodyEl.insertHtml("afterBegin",this.html)}}if(this.container==Ext.getBody()&&this.resEl&&!this.autoHeight&&this.gtype=="component"&&this.width=="100%"&&this.height=="100%"){this.fireResize()}if(this.isModal){this.show()}this.fireEvent("init",this)},fireResize:function(a,b){var c=document.body;this.resize(this,c.clientWidth,c.clientHeight)},resize:function(q,s,o,p,g){var b=this.el.dom.className;if(b.indexOf("i-nullheight")!=-1||(b.indexOf("i-tab")!=-1&&b.indexOf("i-active-tab")==-1)){return}var f=this.innerWidth(s);var x=this.innerHeight(o,g);this.onSize(this,f,x);this.lastWidth=this.wrapEl.dom.offsetWidth;this.lastHeight=this.wrapEl.dom.offsetHeight;if(this.items&&this.items.length>0){this.beginResize();if(this.accordion){var o=0;var r;for(var n=0,m=this.items.length;n<m;n++){if(!this.items[n].collapsed&&this.items[n].initConfig){r=this.items[n];o+=this.items[n].styleCache.elPaddingTB+this.items[n].styleCache.elBorderTB+this.items[n].styleCache.elMarginTB}else{if(this.items[n].initConfig){o+=this.items[n].headEl.getHeight()+this.items[n].styleCache.elPaddingTB+this.items[n].styleCache.elBorderTB+this.items[n].styleCache.elMarginTB}}}if(r){r.resize(this,this.innerWidth(),this.innerHeight()-o)}}var d=x;for(var l=0,k=this.items.length;l<k;l++){if(this.items[l].el){var u=this.items[l];var b=u.el.dom.className;if(b.indexOf("i-nullheight")==-1&&(b.indexOf("i-tab")==-1||b.indexOf("i-active-tab")!=-1)){if(u.autoHeight){d-=u.el.getHeight()+u.styleCache.elPaddingTB+u.styleCache.elBorderTB+u.styleCache.elMarginTB}else{if(u.height&&u.height.toString().indexOf("%")==-1){d-=parseInt(u.height)+u.styleCache.elPaddingTB+u.styleCache.elBorderTB+u.styleCache.elMarginTB}}}}}d/=100;for(var l=0,k=this.items.length;l<k;l++){if(this.items[l].el){var u=this.items[l];var b=u.el.dom.className;if(!u.autoHeight&&!u.collapsed&&b.indexOf("i-nullheight")==-1&&(b.indexOf("i-tab")==-1||b.indexOf("i-active-tab")!=-1)){var a=u.height;if(u.height&&u.height.toString().indexOf("%")!=-1){a=d*parseInt(u.height)}u.resize(u,u.width=="100%"?f:u.width,a)}}}this.endResize()}if(p&&Ext.isIE){p.stopResizeClick=true;p.stopEvent()}},calcMetrics:function(){if(this._resizing===true){return}if(!this.scroll){if(this.autoHeight&&this.container&&this.container.calcMetrics){this.container.calcMetrics()}return}var j=this.bodyEl.dom,e=this.v_scroll.dom,d=this.v_scroll_thumb.dom.style,b=this.h_scroll.dom,o=this.h_scroll_thumb.dom.style,l=this.holderEl.dom.style,n=this.wrapEl.dom;var m=n.offsetWidth;var a=n.offsetHeight;if(this.lastHeight!=a){l.height=(a+20)+"px";j.style.paddingBottom="15px"}if(this.lastWidth!=m){l.width=(m+20)+"px";j.style.paddingRight="15px"}var k=j.offsetHeight;var g=j.offsetWidth;var f=j.scrollHeight;var i=j.scrollWidth;e.style.display=((f>k)?"block":"none");b.style.display=((i>g)?"block":"none");if(g>=i){this.vscroll_active=true}else{this.vscroll_active=false}this.vratio=1;this.hratio=1;if(f!=k){this.vratio=((k-20)/f)}if(i!=g){this.hratio=((g-20)/i)}var c=(this.vratio*(e.offsetHeight));d.height=c+"px";this.maxVVal=e.offsetHeight-c;d.top=(this.vratio*j.scrollTop)+"px";var h=(this.hratio*(b.offsetWidth));o.width=h+"px";this.maxHVal=b.offsetWidth-h;o.left=(this.hratio*j.scrollLeft)+"px"},onScroll:function(){if(!window.dragging){this.calcMetrics()}},refreshStyleCache:function(){this.styleCache={elPaddingLR:this.el.getPadding("lr"),elPaddingTB:this.el.getPadding("tb"),elBorderLR:this.el.getBorderWidth("lr"),elBorderTB:this.el.getBorderWidth("tb"),elMarginLR:(this.el.parent()==Ext.getBody()&&Ext.isWebKit)?0:this.el.getMargins("lr"),elMarginTB:this.el.getMargins("tb"),wrapPaddingLR:this.wrapEl.getPadding("lr"),wrapPaddingTB:this.wrapEl.getPadding("tb"),wrapBorderLR:this.wrapEl.getBorderWidth("lr"),wrapBorderTB:this.wrapEl.getBorderWidth("tb"),wrapMarginLR:this.wrapEl.getMargins("lr"),wrapMarginTB:this.wrapEl.getMargins("tb"),bodyPaddingLR:this.bodyEl.getPadding("lr"),bodyPaddingTB:this.bodyEl.getPadding("tb"),bodyBorderLR:this.bodyEl.getBorderWidth("lr"),bodyBorderTB:this.bodyEl.getBorderWidth("tb"),bodyMarginLR:this.bodyEl.getMargins("lr"),bodyMarginTB:this.bodyEl.getMargins("tb")}},addOverClass:function(a,b){this.bodyEl.on("mousemove",this.onOverMouseMove,this,{selector:a,overCls:b});this.bodyEl.on("mouseout",this.onOverMouseOut,this,{selector:a,overCls:b})},lastOverTarget:null,onOverMouseMove:function(c,a,d){var b=c.getTarget(d.selector,this.bodyEl,true);if(b&&b!=this.lastOverTarget){if(this.lastOverTarget!=null){this.lastOverTarget.removeClass(d.overCls)}if(!b.hasClass(d.overCls)){b.addClass(d.overCls)}this.lastOverTarget=b}else{if((b==null||b==undefined)&&this.lastOverTarget!=null){this.lastOverTarget.removeClass(d.overCls);this.lastOverTarget=null}}this.userOverFnMove(c,a,d)},onOverMouseOut:function(b,a,c){if(this.lastOverTarget!=null){this.lastOverTarget.removeClass(c.overCls);this.lastOverTarget=null}},userOverFnMove:function(b,a,c){return true},scrollPostAdjust:function(){this.calcMetrics()},scrollTo:function(b,a){if(b){this.bodyEl.animate({scroll:{to:[0,b.getOffsetsTo(this.bodyEl.first())[1]]}},0.35,null,"easeOut","scroll")}},initPlugins:function(){if(this.plugins&&this.plugins.length>0){for(var b=0,a=this.plugins.length;b<a;b++){in4.base.gptypes[this.plugins[b].gptype].init(this,this.plugins[b])}}},innerWidth:function(b){if(!this.styleCache){this.refreshStyleCache()}var a=this.styleCache;if(b&&b.indexOf&&b.indexOf("%")!=-1){if(this.container.innerWidth||this.container.dom.offsetWidth>0){this.el.dom.style.width=((this.container.innerWidth?this.container.innerWidth():this.container.dom.offsetWidth)*parseFloat(b.replace("%",""))/100)+"px"}}else{if(b){this.el.dom.style.width=(b>0?b:0)+"px"}}return(this.el.dom.style.width?(this.el.dom.style.width.indexOf("%")!=-1?(this.container.dom?this.container.dom.offsetWidth:1):parseInt(this.el.dom.style.width.replace("px",""),10)):this.el.dom.offsetWidth)-((this.scrollV&&this.scrollV.track.isVisible())?16:0)-a.elPaddingLR-a.elBorderLR},innerHeight:function(a,d){if(!this.styleCache){this.refreshStyleCache()}var b=this.styleCache;var c;if(a&&a.indexOf&&a.indexOf("%")!=-1){c=((this.container.innerHeight?this.container.innerHeight():this.container.dom.offsetHeight)*parseFloat(a.replace("%",""))/100)}else{if(a){c=(a>0?a:0)}}if(c){this.el.dom.style.height=c+"px"}else{c=parseInt(this.el.dom.style.height.replace("px",""),10)}return(this.el.dom.style.height?c:this.el.dom.offsetHeight)-b.elPaddingTB-b.elBorderTB},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},getSize:function(a){return(retobj)?{width:this.getWidth(),height:this.getHeight()}:[this.getWidth(),this.getHeight()]},onSize:function(e,a,d){if(this.wrapEl){var b=this.wrapEl.dom.style;if(a<0||isNaN(a)){a=(this.container.dom?this.container.dom.offsetWidth:this.container.wrapEl.dom.offsetWidth)}if(a!=0){b.width=a+"px"}if(!e.width||e.width.toString().indexOf("%")==-1&&e.el.dom.offsetWidth!=0){e.width=e.el.dom.offsetWidth}if(d<0||isNaN(d)){d=(this.container.dom?this.container.dom.offsetHeight:this.container.wrapEl.dom.offsetHeight)}if(d!=0){b.height=d+"px"}if(!e.height||e.height.toString().indexOf("%")==-1&&e.el.dom.offsetHeight!=0){e.height=e.el.dom.offsetHeight}this.calcMetrics()}},showLoader:function(){in4.base.Utils.showLoader(this.el,{overlay:true})},hideLoader:function(){in4.base.Utils.hideLoader(this.el)},onVDragStart:function(c,a,d){window.dragging=true;this.v_scroll_thumb.un("mousedown",this.onVDragStart,this);this.scrollVD=c.xy[1]-this.v_scroll_thumb.getOffsetsTo(Ext.getBody())[1];var b=Ext.getBody();b.on("mousemove",this.onVDrag,this);b.on("mouseup",this.onVDragEnd,this);c.stopPropagation();return false},onVDrag:function(d,a,f){if(Ext.isIE){document.selection.clear()}var c=Math.round(d.xy[1]-this.v_scroll.getOffsetsTo(Ext.getBody())[1])-this.scrollVD;var b=(c>this.maxVVal)?this.maxVVal:(c<0?0:c);this.bodyEl.dom.scrollTop=b/this.vratio;this.v_scroll_thumb.dom.style.top=b+"px";d.stopPropagation();return false},onVDragEnd:function(c,a,d){window.dragging=false;var b=Ext.getBody();b.un("mousemove",this.onVDrag,this);b.un("mouseup",this.onVDragEnd,this);this.v_scroll_thumb.on("mousedown",this.onVDragStart,this,{stopEvent:true});c.stopPropagation();return false},onHDragStart:function(c,a,d){this.h_scroll_thumb.un("mousedown",this.onHDragStart,this);var b=Ext.getBody();b.on("mousemove",this.onHDrag,this);b.on("mouseup",this.onHDragEnd,this);c.stopPropagation();return false},onHDrag:function(d,a,f){if(Ext.isIE){document.selection.clear()}var c=Math.round(d.xy[0]-this.h_scroll.getOffsetsTo(Ext.getBody())[0]);var b=(c>this.maxHVal)?this.maxHVal:(c<0?0:c);this.bodyEl.dom.scrollLeft=b/this.hratio;this.h_scroll_thumb.dom.style.left=b+"px";d.stopPropagation();return false},onHDragEnd:function(c,a,d){var b=Ext.getBody();b.un("mousemove",this.onHDrag,this);b.un("mouseup",this.onHDragEnd,this);this.h_scroll_thumb.on("mousedown",this.onHDragStart,this,{stopEvent:true});c.stopPropagation();return false},onVScrollClick:function(f,a,g){if(Ext.get(f.getTarget(".i-v-scroll-thumb"))!=this.v_scroll_thumb){var d=this.bodyEl.dom;if(d.offsetHeight<d.scrollHeight){var b=this.bodyEl.getOffsetsTo(Ext.getBody());var c=f.xy[1]-b[1];if(this.maxVVal<c){c=this.maxVVal}this.v_scroll_thumb.dom.style.top=c+"px";d.scrollTop=(c/this.vratio)}}},onHScrollClick:function(f,a,g){if(Ext.get(f.getTarget(".i-h-scroll-thumb"))!=this.h_scroll_thumb){var d=this.bodyEl.dom;if(d.offsetWidth<d.scrollWidth){var b=this.bodyEl.getOffsetsTo(Ext.getBody());var c=f.xy[0]-b[0];this.h_scroll_thumb.dom.style.left=c+"px";d.scrollLeft=(c/this.hratio)}}},setResHandlers:function(b){var a={e:"east",s:"south",se:"southeast",n:"north",w:"west"};for(var c in a){if(typeof a[c]==="function"||!this.resEl[a[c]]){continue}if(b.indexOf(c)==-1){this.resEl[a[c]].el.addClass("w-hide")}else{this.resEl[a[c]].el.removeClass("w-hide")}}},add:function(f,j){if(!Ext.isArray(f)){f=[f]}for(var a=0,d=f.length;a<d;a++){var m=f[a];if(m&&m.gtype){this.items=this.items||[];var g;if(m.initConfig){g=m;if(m.container.gtype){var b=m.container.items.indexOf(m);this.items.push(m.container.items.splice(b,b+1)[0])}else{this.items.push(m)}m.container=this;m.cont=this.el;m.el.appendTo(this.bodyEl);this.fireEvent("add",this,this.items.length-1)}else{m.container=this;m.width=m.width||this.innerWidth();if(!m.autoHeight){m.height=m.height||this.innerHeight()}g=new in4.base.gtypes[m.gtype](m);if(j!=null&&j!=undefined&&j>=0){this.items[j]=g;this.fireEvent("add",this,this.items[j])}else{this.items.push(g);this.fireEvent("add",this,this.items[this.items.length-1])}}if(this.accordion){g.animateCollapse=false;g.on("expand",this.onAccordionExpand,this)}}}if(this.accordion){var e=0;var k;for(var b=0,d=this.items.length;b<d;b++){var n=this.items[b];if(!n.collapsed&&n.initConfig){this.expandedChild=k=n;e+=n.styleCache.elPaddingTB+n.styleCache.elBorderTB+n.styleCache.elMarginTB}else{if(n.initConfig){e+=n.headEl.getHeight()+n.styleCache.elPaddingTB+n.styleCache.elBorderTB+n.styleCache.elMarginTB}}}if(k){k.resize(this,this.innerWidth(),this.innerHeight()-e)}}},onAccordionExpand:function(d){if(this.expandedChild&&this.expandedChild!=d&&!this.expandedChild.collapsed){this.expandedChild.collapse()}var c=0;for(var b=0,a=this.items.length;b<a;b++){if(!this.items[b].collapsed&&this.items[b].initConfig){c+=this.items[b].styleCache.elPaddingTB+this.items[b].styleCache.elBorderTB+this.items[b].styleCache.elMarginTB}else{if(this.items[b].initConfig){c+=this.items[b].headEl.getHeight()+this.items[b].styleCache.elPaddingTB+this.items[b].styleCache.elBorderTB+this.items[b].styleCache.elMarginTB}}}d.resize(this,this.innerWidth(),this.innerHeight()-c,null,true);d.openHeight=this.innerHeight()-c;this.expandedChild=d},remove:function(d){if(d&&d.id){if(d.items&&d.items.length>0){for(var e=d.items.length-1;e>=0;e--){d.remove(d.items[e])}}var b=this.items.indexOf(d);if(b!=-1){d.el.removeAllListeners();d.bodyEl.removeAllListeners();d.wrapEl.removeAllListeners();if(d.scrollV){d.scrollV.thumb.removeAllListeners();d.scrollV.track.removeAllListeners()}if(d.resEl){d.resEl.proxy.removeAllListeners();d.resEl.proxy.remove()}if(this.gtype!="splitter"){this.bodyEl.dom.removeChild(d.el?d.el.dom:d.dom);delete in4.base.all[this.items.splice(b,1)[0].id]}else{if(d.sizerLR=="left"){this.leftEl.dom.removeChild(d.el?d.el.dom:d.dom);delete in4.base.all[this.items.splice(b,1)[0].id]}else{if(d.sizerLR=="right"){this.rightEl.dom.removeChild(d.el?d.el.dom:d.dom);delete in4.base.all[this.items.splice(b,1)[0].id]}}}}if(this.accordion){var f=0;var g;for(var e=0,a=this.items.length;e<a;e++){if(!this.items[e].collapsed){g=this.items[e];f+=this.items[e].styleCache.elPaddingTB+this.items[e].styleCache.elBorderTB+this.items[e].styleCache.elMarginTB}else{f+=this.items[e].headEl.getHeight()+this.items[e].styleCache.elPaddingTB+this.items[e].styleCache.elBorderTB+this.items[e].styleCache.elMarginTB}}if(g){g.resize(this,this.innerWidth(),this.innerHeight()-f)}}}else{throw new Ext.Error("Component does not exist.")}},dispose:function(){if(this.items&&this.items.length>0){for(var b=this.items.length-1;b>=0;b--){this.items[b].dispose()}}if(this.container.items){var a=this.container.items.indexOf(this);if(a!=-1){delete in4.base.all[this.container.items.splice(a,1)[0].id]}}if(this.overlay){this.overlay.remove()}if(this.resEl){this.resEl.destroy()}this.el.remove();delete in4.base.all[this.id]},show:function(){if(this.isModal){if(this.isModal.closable!==false){this.bindModalEvents.defer(400,this)}if(this.isModal.overlay){this.overlay=Ext.get(Ext.DomHelper.append(this.isModal.overlay,{tag:"div",cls:"iglue-loader-layer",html:"<div class='iglue-overlay'></div>"}))}}this.el.removeClass("i-nullheight")},hide:function(){if(this.isModal){if(this.isModal.closable!==false){this.unbindModalEvents()}if(this.overlay){this.overlay.hide();this.overlay.remove();delete this.overlay}}if(this.disposeOnHide){this.dispose()}else{this.el.addClass("i-nullheight")}},unbindModalEvents:function(){Ext.getBody().un("click",this.bodyClick,this);Ext.get(this.el).un("click",this.windowClick,this);Ext.get(this.resEl.el).un("click",this.windowClick,this);if(window.mymgr){window.mymgr.remove(this)}},bindModalEvents:function(){this.unbindModalEvents();Ext.get(this.el).on("click",this.windowClick,this);Ext.get(this.resEl.el).on("click",this.windowClick,this);Ext.getBody().on("click",this.bodyClick,this);window.mymgr=window.mymgr||[];window.mymgr.push(this)},windowClick:function(c){if(c.stopResizeClick){delete c.stopResizeClick}var a=window.mymgr.indexOf(this);for(var b=window.mymgr.length-1;b>a;b--){window.mymgr[b].hide()}c.stopEvent()},bodyClick:function(a){if(a.stopResizeClick){delete a.stopResizeClick;return}this.hide()},beginResize:function(){this._resizing=true},endResize:function(){this._resizing=false;this.calcMetrics()}});in4.base.reg("component",in4.base.Component);in4.base.DDList=function(c,a,b){in4.base.DDList.superclass.constructor.call(this,c,a,b);Ext.get(this.getDragEl()).setStyle("opacity",0.67);this.goingUp=false;this.lastY=0};Ext.extend(in4.base.DDList,Ext.dd.DDProxy,{startDrag:function(b,f){var a=Ext.get(this.getDragEl());var e=Ext.get(this.getEl());var d=in4.base.all[e.id];d.oldContainer=in4.base.all[e.parent().parent().parent().parent().id];Ext.get(e.dom.childNodes[0]).setStyle("visibility","hidden");Ext.get(e.dom.childNodes[1]).setStyle("visibility","hidden");Ext.get(e.dom.childNodes[2]).setStyle("visibility","hidden");e.addClass("drag-proxy");var c=e.getPadding("t")+"px "+e.getPadding("r")+"px "+e.getPadding("b")+"px "+e.getPadding("l")+"px";a.dom.innerHTML='<div style="padding:'+c+'">'+in4.base.all[e.id].tmpl.apply(in4.base.all[e.id].initConfig)+"</div>";a.setStyle(e.getStyles("background-color","color","padding"))},endDrag:function(b){this.srcEl=Ext.get(this.getEl());this.proxy=Ext.get(this.getDragEl());var a=function(){this.proxy.setStyle("visibility","hidden");Ext.get(this.srcEl.dom.childNodes[0]).setStyle("visibility","");Ext.get(this.srcEl.dom.childNodes[1]).setStyle("visibility","");Ext.get(this.srcEl.dom.childNodes[2]).setStyle("visibility","");this.srcEl.removeClass("drag-proxy")};this.proxy.setStyle("visibility","");this.proxy.shift({x:this.srcEl.getX(),y:this.srcEl.getY(),easing:"easeOut",duration:0.2,callback:a,scope:this})},onDrag:function(a){var b=a.getPageY();if(b<this.lastY){this.goingUp=true}else{if(b>this.lastY){this.goingUp=false}}this.lastY=b},onDragOver:function(f,i){var c=Ext.get(this.getEl());var b=Ext.get(i);var h=((b.is("div.block"))?(b):(b.up("div.block",50||document.body)));if(h){if(this.goingUp){c.insertBefore(h)}else{c.insertAfter(h)}f.stopEvent();var g=in4.base.all[c.id];var a=in4.base.all[c.parent().parent().parent().parent().id];if(a){g.cont=a.bodyEl;g.container=a;g.resEl.resizeTo(a.innerWidth(),g.el.getHeight())}return false}else{var d=b.is("div.slot")?b:b.down("div.slot");if(d){d.appendChild(c);f.stopEvent();var g=in4.base.all[c.id];var a=in4.base.all[c.parent().parent().parent().parent().id];if(a){g.cont=a.bodyEl;g.container=a;g.resEl.resizeTo(a.innerWidth(),g.el.getHeight())}return false}}},adjustPortlet:function(c){if(c.oldContainer&&c.oldContainer!=c.container){for(var b=0,a=c.oldContainer.items.length;b<a;b++){if(c.id==c.oldContainer.items[b].id){c.container.items.push(c.oldContainer.items.splice(b,b+1)[0]);c.oldContainer=null;break}}}}});in4.base.Grid=Ext.extend(in4.base.Component,{tmpl:new Ext.XTemplate('<div id="{id}">','<div id="{id}_title" class="w-grid-title"></div>','<div id="{id}_header" class="w-grid-head"></div>','<div id="{id}_config" class="w-grid-config"></div>','<div id="{id}_wrapper" style="clear: left;" class="i-scroll-wrap">','<div id="{id}_holder" class="i-scroll-holder">','<div id="{id}_body" class="i-scroll-body"></div>',"{[values.scroll ? ( \"<div class='i-v-scroll-track'><div class='i-v-scroll-thumb x-unselectable'><div class='i-thumb-top'></div><div class='i-thumb-bottom'></div></div></div><div class='i-h-scroll-track'><div class='i-h-scroll-thumb x-unselectable'><div class='i-thumb-left'></div><div class='i-thumb-right'></div></div></div><div class='i-scroll-corner'></div>\" ) : \"\"]}","</div>","</div>","</div>"),gtype:"grid",initComponent:function(){this.CRUD=this.CRUD||{CREATE:{},RETRIEVE:{},UPDATE:{},DELETE:{}};this.CRUDParams=this.CRUDParams||{};in4.base.Grid.superclass.initComponent.apply(this,arguments);this.resEl.enabled=false;this.addEvents({beforerequest:true,requestcomplete:true,requestexception:true,dataloaded:true,rowedited:true,afteredit:true,beforeedit:true,rowclick:true,rowdblclick:true,rowcontext:true});this.setTitle(this.title||"");this.titleEl=Ext.get(this.id+"_title");this.headerEl=Ext.get(this.id+"_header");this.headerEl.dom.style.width=(this.el.dom.offsetWidth-13)+"px";this.headerEl.on("click",this.onChangeOrder,this);this.configEl=Ext.get(this.id+"_config");this.configEl.on("click",this.onConfigClick,this);this.bodyEl.on("click",this.onRowClick,this);this.bodyEl.on("mousemove",this.onMouseMove,this);this.bodyEl.on("mouseout",this.onMouseOut,this);this.selModel=this.selModel||"row";this.data=this.data;this.createColumns(this.columns);this.resize(this,(this.container.bodyEl?this.container.bodyEl.dom.offsetWidth:this.container.dom.offsetWidth),(this.container.bodyEl?this.container.bodyEl.dom.offsetHeight:this.container.dom.offsetHeight));if(this.autoLoad){this.load()}},createColumns:function(d){if(!Ext.isArray(d)){return}this.columns=d;var f=false;var e='<table class="w-grid-row {[this.grid.getRowClass(values.id, values) || ""]}" ig:rid="{id}" style="width:100%; table-layout: fixed;"><tbody><tr>';var c='<table style="height:20px;width:100%; table-layout: fixed;"><tbody><tr>';rowTmplF=Ext.apply(this.rowTmplF||{},{grid:this,columns:this.columns});for(var b=0,a=this.columns.length;b<a;b++){this.columns[b].grid=this;this.columns[b].id=this.columns[b].id||this.columns[b].data;if(this.columns[b].order){if(this.orderedColumn||this.orderedColumn==0){delete this.columns[b].order}else{this.orderedColumn=b}}c+='<td class="w-hcol'+(this.columns[b].orderable===true?" w-hcol-orderable":"")+((b==a-1)?" w-hcol-last":"")+(this.columns[b].hidden?" w-hide":"")+(this.columns[b].order&&this.columns[b].order=="asc"?" w-grid-column-asc":"")+(this.columns[b].order&&this.columns[b].order=="desc"?" w-grid-column-desc":"")+'"'+(this.columns[b].width?'style="width:'+(this.columns[b].width)+(this.columns[b].width.toString().indexOf("%")==-1?'px";':';"'):"")+" >&nbsp;"+this.columns[b].name+' <img src="res/base/images/s.gif" alt="" class="w-grid-column-order" /></td>';e+='<td class="w-col {[this.columns['+b+'].hidden ? "w-hide" : ""]} {[this.grid.getCellClass(values.id, '+b+', values["'+this.columns[b].data+'"], values) || ""]}" style="'+(this.columns[b].width?"width:"+(this.columns[b].width)+(this.columns[b].width.toString().indexOf("%")==-1?"px; ":";"):"")+'" >'+(this.columns[b].renderer?"{[this.renderer_"+b+'(values["'+this.columns[b].data+'"],values, '+b+")]}":"{"+this.columns[b].data+"}")+"</td>";if(this.columns[b].renderer){rowTmplF["renderer_"+b]=this.columns[b].renderer}if(f==true&&this.columns[b].width==null){throw new Ext.Error("This grid is able to hold only one auto-width column.")}else{if(this.columns[b].width==null){f=true}}}c+='<td class="w-col-holder w-hide">&nbsp;</td></tr></tbody></table>';e+='<td class="w-col-holder w-hide">&nbsp;</td></tr></tbody></table>';this.rowTmpl=new Ext.XTemplate(e,rowTmplF);Ext.DomHelper.overwrite(this.headerEl,c)},reload:function(a){delete this.data;this.load(a)},load:function(a){if(this.data){this.drawData()}else{if(this.CRUD&&this.CRUD.RETRIEVE){in4.base.Direct.apiRequest({action:this.CRUD.RETRIEVE.action,method:this.CRUD.RETRIEVE.method,params:Ext.apply({},this.CRUD.RETRIEVE.params,this.CRUDParams),callback:this.CRUD.RETRIEVE.callback||this.onLoadComplete,scope:this.CRUD.RETRIEVE.scope||this})}}},getAccessor:function(){var a=/[\[\.]/;return function(c){try{return(a.test(c))?new Function("obj","return obj."+c):function(d){return d[c]}}catch(b){}return Ext.emptyFn}}(),getRoot:function(c){var a=this.data;if(this.root&&a){var b=this.getAccessor(this.root);a=b(this.data)}if(c!==true){a=a||[]}return a},getCount:function(){var b=this.getRoot().length;if(this.totalProperty){var a=this.getAccessor(this.totalProperty);b=a(this.data)}return b},onLoadComplete:function(a,b){this.data=a;if(this.data.metaData&&this.data.metaData.fields){this.fireEvent("metachange",this,this.data.metaData)}this.drawData()},cleanupBody:function(){Ext.each(this.columns,function(b){if(b.editor&&b.editor.initConfig){var a=b.editor;this.remove(a);b.editor=Ext.ux.clone(a.initConfig);a.dispose()}},this);Ext.DomHelper.overwrite(this.bodyEl,"")},drawData:function(){var c=this.getRoot();this.fireEvent("dataloaded",this,c);this.cleanupBody();if(c&&c.length>0){for(var b=0,a=c.length;b<a;b++){this.renderRow(c[b])}}else{this.showNoResultsText()}delete this.selectedRow;this.calcMetrics()},getRowClass:function(b,a){return""},getCellClass:function(d,c,b,a){return""},renderRow:function(b,c){var a=this.rowTmpl.append(c||this.bodyEl,b,true);b._ui_=a.dom},refreshRow:function(a){this.refreshRows([a])},refreshRows:function(a){var b=this.getRoot();if(!b){return}var c=b.indexOf(a[0]);if(c<0){return}this.removeRows(c,c+a.length-1,true);this.insertRows(a,c,true)},insertRows:function(c,h,b){var e=this.getRoot(true);if(!e){e=this.data=[]}var f=e.length;if(!b){this.fireEvent("dataloaded",this,c)}for(var d=0,a=c.length;d<a;d++){var g;if(f==0){g=this.rowTmpl.append(this.bodyEl,c[d],true);e.push(c[d])}else{if((!h&&h!=0)||h>=f){g=this.rowTmpl.insertAfter(e[f-1]._ui_,c[d],true);e.push(c[d])}else{g=this.rowTmpl.insertBefore(e[h]._ui_,c[d],true);e.splice(h,0,c[d])}}h++;f++;c[d]._ui_=g.dom}this.calcMetrics();if(!b){this.fireEvent("rowinsert",this,c,h);this.createCRUD(c,h)}},removeRows:function(f,e,a){var b=[];var d=this.getRoot();f=Math.max(f,0);e=Math.min(d.length-1,e);for(var c=e;c>=f;c--){if(this.selectedRow==d[c]){this.selectedRow=null}d[c]._ui_.parentNode.removeChild(d[c]._ui_);delete d[c]._ui_;b.push(d[c]);d.splice(c,1)}if(!a){this.fireEvent("rowremove",this,b,f,e);this.deleteCRUD(b,f,e)}return b},removeRecord:function(b,a){var c=this.getRoot();var d=c.indexOf(b);if(this.selectedRow==b){this.selectedRow=null}b._ui_.parentNode.removeChild(b._ui_);delete b._ui_;c.splice(d,1);if(!a){this.fireEvent("rowremove",this,[b],d,d);this.deleteCRUD([b],d,d)}return b},createCRUD:Ext.emptyFn,deleteCRUD:Ext.emptyFn,getDataById:function(d){var c=this.getRoot();for(var b=0,a=c.length;b<a;b++){if(c[b].id==d){return c[b]}}return null},getDataByUI:function(d){var c=this.getRoot();for(var b=0,a=c.length;b<a;b++){if(c[b]._ui_==d){return c[b]}}return null},lastTarget:null,onMouseMove:function(c,a,d){var b=c.getTarget("table.w-grid-row",this.bodyEl,true);if(b&&b!=this.lastTarget){this.rowOver.call(b,c,b,d,this);if(this.lastTarget!=null){this.rowOut.call(this.lastTarget,c,this.lastTarget,d,this)}this.lastTarget=b}else{if((b==null||b==undefined)&&this.lastTarget!=null){this.rowOut.call(this.lastTarget,c,this.lastTarget,d,this);this.lastTarget=null}}},onMouseOut:function(b,a,c){if(this.lastTarget!=null){this.rowOut.call(this.lastTarget,b,this.lastTarget,c,this);this.lastTarget=null}},onSize:function(f,a,b){var e=0;if(this.headerEl){this.headerEl.dom.style.width=a-13+"px";if(Ext.isIE){e=this.headerEl.dom.offsetHeight}}in4.base.Grid.superclass.onSize.call(this,f,a,b-e)},innerWidth:function(b){if(!this.styleCache){this.refreshStyleCache();if(this.pageingToolbar){this.styleCache.pagingMarginTB=pageingToolbar.getMargins("tb")}}var a=this.styleCache;if(b&&b.indexOf&&b.indexOf("%")!=-1){this.el.setWidth((this.container.innerWidth?this.container.innerWidth():this.container.dom.offsetWidth)*parseFloat(b.replace("%",""))/100)}else{if(b){this.el.dom.style.width=(b>0?b:0)+"px"}}return(this.el.dom.style.width?parseInt(this.el.dom.style.width.replace("px",""),10):this.el.dom.offsetWidth)-((this.scrollV&&this.scrollV.track.isVisible())?16:0)-a.elPaddingLR-a.elMarginLR-a.elBorderLR},innerHeight:function(a){if(!this.styleCache){this.refreshStyleCache();if(this.pageingToolbar){this.styleCache.pagingMarginTB=pageingToolbar.getMargins("tb")}}var b=this.styleCache;if(a&&a.indexOf&&a.indexOf("%")!=-1){this.el.setHeight((this.container.innerHeight?this.container.innerHeight():this.container.dom.offsetHeight)*parseFloat(a.replace("%",""))/100)}else{if(a){this.el.dom.style.height=(a>0?a:0)+"px"}}return(this.el.dom.style.height?parseInt(this.el.dom.style.height.replace("px",""),10):this.el.dom.offsetHeight)-((this.headerEl)?this.headerEl.dom.offsetHeight:0)-b.elPaddingTB-b.elMarginTB-b.elBorderTB},onRowClick:function(a,g,k){var j=Ext.get(g);var h=0;var e=j.hasClass("w-col")?j:j.parent(".w-col");var c;if(e){h=e.dom.cellIndex;c=e.dom.offsetParent}if(c&&c.attributes.getNamedItem("ig:rid")){var b=this.getRoot();for(var d=0,f=b.length;d<f;d++){if(b[d]._ui_.id==c.id){if(this.rowSelect(d)){}else{if(this.columns[h].editor){this.showCellEditor(d,h,b[d],a,g,e)}}this.fireEvent("row"+a.type,this,d,h,b[d],a,g);return false}}}return true},showCellEditor:function(k,i,d,a,g,e){if(!e){var b=this.getRoot()[k];if(b&&b._ui_){e=Ext.get(Ext.get(b._ui_).query(".w-col")[i])}}var f=this.columns[i].editor;if(!f.initConfig){f.elCls=f.elCls?f.elCls+"i-grid-editor":"i-grid-editor";this.add(f);this.columns[i].editor=this.items[this.items.length-1];f=this.columns[i].editor}var j={origValue:d[this.columns[i].data],editor:f,data:d,row:k,cell:i,tar:e,target:g};if(this.fireEvent("beforeedit",j,this)===false){return}f.on("afterblur",this.cellEditorEdited.createDelegate(this,[j],true),this,{single:true});f.el.dom.style.display="";var h=e.parent(".w-grid-row").dom.offsetTop;var c=e.getOffsetsTo(this.bodyEl);f.el.dom.style.position="absolute";f.el.dom.style.top=h+"px";f.el.dom.style.left=c[0]+"px";f.resize(f,Math.max(e.dom.offsetWidth,200),e.dom.offsetHeight);f.setInitialValue(Ext.ux.clone(j.origValue,3));f.originalValue=Ext.ux.clone(j.origValue,3);f.focus()},cellEditorEdited:function(b,d,f){if(f&&f.editor&&f.data&&(f.cell||f.cell===0)){var a=this.columns[f.cell];var c=f.editor.getValue();f.newValue=c;if(f.newValue!=f.origValue){if(this.fireEvent("afteredit",f,this)!==false){in4.base.Utils.modifyAttrib(f.data,a.data,f.newValue);if(a.renderer){f.tar.dom.innerHTML=a.renderer.call(a,f.newValue,f.data,f.cell)}else{f.tar.dom.innerHTML=f.newValue}this.fireEvent("rowedited",f.row,f.cell,f.data,this)}}f.editor.el.dom.style.display="none"}},rowSelect:function(f,b){var a=(this.rowSelectable!==false);if(this.rowSelectable!==false){var c=this.getRoot();if(this.selectedRow!=c[f]){if(this.selectedRow){var d=Ext.get(this.selectedRow._ui_.id);if(d){d.removeClass("w-grid-row-selected")}}this.selectedRow=c[f];var e=Ext.get(this.selectedRow._ui_.id);e.addClass("w-grid-row-selected")}else{if(this.selectedRow==c[f]){a=false}}if(b){var e=Ext.get(this.selectedRow._ui_.id);this.scrollTo(e,false)}}return a},rowOver:function(c,d,b,a){Ext.get((this.selModel)?d:this).addClass("w-grid-row-over");return false},rowOut:function(c,d,b,a){Ext.get((this.selModel)?d:this).removeClass("w-grid-row-over");return false},setTitle:function(a){if(this.container.gtype&&this.container.gtype=="panel2"){this.container.setTitle(a)}else{if(this.container.dom){Ext.DomHelper.overwrite(Ext.get(this.id+"_title"),a)}}},toggleCol:function(c,d){var b=this.findCol(c);if(b!=-1){var a;if(d=="show"){a=false}else{if(d=="hide"){a=true}else{a=!this.columns[b].hidden}}if(this.columns[b].hidden!=a){this.columns[b].hidden=a;var e=Ext.DomQuery.select("td:nth-child("+(b+1)+")",this.bodyEl.dom).concat(Ext.DomQuery.select("td:nth-child("+(b+1)+")",this.headerEl.dom));Ext.each(e,function(f){if(a){Ext.get(f).addClass("w-hide")}else{Ext.get(f).removeClass("w-hide")}},this);if(!this.columns[b].width){var e=Ext.DomQuery.select("td.w-col-holder",this.bodyEl.dom).concat(Ext.DomQuery.select("td.w-col-holder",this.headerEl.dom));Ext.each(e,function(f){if(!a){Ext.get(f).addClass("w-hide")}else{Ext.get(f).removeClass("w-hide")}},this)}}}},findCol:function(d){var b=-1;for(var c=0,a=this.columns.length;c<a;c++){if(this.columns[c].id==d){b=c;break}}return b},isHiddenCol:function(b){var a;if(typeof b==="string"){a=this.findCol(b)}else{a=b}if(a>=0&&a<this.columns.length){return this.columns[a].hidden||false}return null},onConfigClick:function(){var c=this.configEl.getXY();var a=[];for(var b=0;b<this.columns.length;b++){a.push({label:'<span class="'+(!this.columns[b].hidden?"i-checkbox-checked":"")+' i-checkbox">'+this.columns[b].name+"</span>",fn:function(k,d,i,g,j){this.toggleCol(k.id);var f=Ext.fly(g);if(!f.hasClass("i-checkbox")){f=f.child(".i-checkbox")}k.hidden?f.removeClass("i-checkbox-checked"):f.addClass("i-checkbox-checked");j.stopEvent()},scope:this,attrib:[this.columns[b]]})}in4.base.AssociationManager.showContext({x:c[0],y:c[1]+14,side:"left",items:a});return false},onChangeOrder:function(d,e,b){var c=Ext.get(e);if(!c.hasClass("w-hcol")){c=e.parent(".w-hcol")}if(c&&c.hasClass("w-hcol-orderable")){var a=c.dom.cellIndex;this.changeOrder(a)}},changeOrder:function(e,a){var b;if(typeof e==="string"){b=this.findCol(e)}else{b=e}if(b>=0&&b<this.columns.length){var c=this.columns[b];if(this.orderedColumn!=b){if(this.orderedColumn||this.orderedColumn==0){delete this.columns[this.orderedColumn].order;var d=Ext.DomQuery.select("td:nth-child("+(this.orderedColumn+1)+")",this.headerEl.dom);Ext.each(d,function(f){Ext.get(f).removeClass("w-grid-column-asc").removeClass("w-grid-column-desc").removeClass("w-grid-column-none")})}this.orderedColumn=b;c.order=a||"asc"}else{c.order=a||(c.order=="asc"?"desc":(c.order=="desc"?"none":"asc"))}var d=Ext.DomQuery.select("td:nth-child("+(b+1)+")",this.headerEl.dom);Ext.each(d,function(f){Ext.get(f).removeClass("w-grid-column-asc").removeClass("w-grid-column-desc").removeClass("w-grid-column-none").addClass("w-grid-column-"+c.order)});if(this.columns[this.orderedColumn].order!="none"){this.CRUDParams.sort=this.columns[this.orderedColumn].data;this.CRUDParams.dir=this.columns[this.orderedColumn].order}else{delete this.CRUDParams.sort;delete this.CRUDParams.dir}delete this.data;this.load()}},showLoader:function(){if(this.useLoader!==false){in4.base.Utils.showLoader(this.el,{overlay:true})}},hideLoader:function(){if(this.useLoader!==false){in4.base.Utils.hideLoader(this.el)}},showNoResultsText:function(a){if(this.emptyText){Ext.DomHelper.overwrite(this.bodyEl,'<div class="x-grid-empty">'+this.emptyText+"</div>")}}});in4.base.reg("grid",in4.base.Grid);in4.base.GridActions={gptype:"gridactions",init:function(b,a){b.actionsConfig=a||{};b.onRowAction=function(c,n,m,i,d,p){var l=Ext.fly(p);if(l.hasClass("gridactions-icon")){var e=" "+l.dom.className+" ";for(var h in this.actionsConfig){if(e.indexOf(" "+h+" ")!=-1){var o=this.actionsConfig[h];for(var g in o.actions){var f=o.actions[g];if(f.iconCls&&e.indexOf(" "+f.iconCls+" ")!=-1){f.handler.call(this,this,i,f.iconCls);this.refreshRow(i);return}else{if(e.indexOf(" "+i[f.iconIndex]+" ")!=-1){f.handler.call(this,this,i,i[f.iconIndex]);this.refreshRow(i);return}}}}}}};b.refreshRow=function(d){for(var c in this.actionsConfig){this.renderGridAction(this.actionsConfig[c],c,d)}}.createSequence(b.refreshRow,b);b.extendDataProcess=function(e,f){for(var d in f){for(var c in this.actionsConfig){if(this.actionsConfig[c]){f[d]["actions_"+c]="";if(this.actionsConfig[c].selectorFn&&!this.actionsConfig[c].selectorFn.call(this,e,f[d])){continue}this.renderGridAction(this.actionsConfig[c],c,f[d])}}}};b.renderGridAction=function(f,e,c){c["actions_"+e]="";for(var d in f.actions){if(typeof f.actions[d]=="function"){continue}c["actions_"+e]+='<div class="gridactions-icon '+(f.css?f.css:"")+" "+e+" "+(f.actions[d].iconCls?f.actions[d].iconCls:c[f.actions[d].iconIndex])+'"></div>'}if(typeof f.renderer=="function"){c["actions_"+e]=f.renderer.call(this,c["actions_"+e],c,e,this)}};b.on("dataloaded",b.extendDataProcess,b);b.on("rowclick",b.onRowAction,b)}};in4.base.regP("gridactions",in4.base.GridActions);in4.base.GridLanguageEditor={gptype:"gridlanguageeditor",init:function(b,a){b.languageEditorConfig=a.languageColumns||[];b.beforeLanguageEdit=function(f,e){for(var d=0,c=e.languageEditorConfig.length;d<c;d++){if(e.columns[f.cell].data==e.languageEditorConfig[d].displayField){f.origValue={id:f.data[e.languageEditorConfig[d].valueField],name:f.data[e.languageEditorConfig[d].displayField]};break}}return true};b.afterLanguageEdit=function(f,e){for(var d=0,c=e.languageEditorConfig.length;d<c;d++){if(e.columns[f.cell].data==e.languageEditorConfig[d].displayField){if(f.data[e.languageEditorConfig[d].valueField]==f.newValue){return false}in4.base.Utils.modifyAttrib(f.data,e.languageEditorConfig[d].valueField,f.newValue);f.newValue=f.editor.getDisplayByValue(f.newValue)||"";break}}};b.createColumns=function(f){for(var e=0,c=this.languageEditorConfig.length;e<c;e++){for(var d=0,g=f.length;d<g;d++){if(this.languageEditorConfig[e].displayField==f[d].data){f[d].editor={gtype:"combo",valueField:"entityId",displayField:"entityName",pageSize:20,root:"result.result",totalProperty:"result.count",CRUD:{RETRIEVE:{action:"search",method:"findEntitiesInCategory",params:{query:"",categoryIds:[1300]}},RETRIEVE_PAGE:{action:"search",method:"findEntitiesInCategory",params:{query:"",categoryIds:[1300]}}}}}}}}.createSequence(b.createColumns,b);b.on("beforeedit",b.beforeLanguageEdit,b);b.on("afteredit",b.afterLanguageEdit,b)}};in4.base.regP("gridlanguageeditor",in4.base.GridLanguageEditor);in4.base.Grouping={gptype:"grouping",init:function(b,a){a.renderPager=a.renderPager||in4.base.Utils.renderPager;b.groupingConfig=a||{};b.addEvents({pagingfinished:true});b.hasGrouping=true;b.getGroupId=function(c){return this.id+"_"+c+"_group"};b.getNode=function(c){return this.bodyEl.child("li#"+this.getGroupId(c))};b.changeGrouping=function(d,e,c){if(d&&e){this.groupingId=d;this.groupingField=e;this.hasGrouping=true;this.groupTmpl=new Ext.XTemplate('<li id="{[this.gridId]}_{[values[this.groupingId]]}_group" class="i-grid-group" iglue:start="{[values.start||0]}" iglue:count="{[values.count]}" style="width:100%;">','<div class="group-head x-unselectable">',"</div>",'<div class="container"></div>',"</li>",{gridId:this.id,groupingField:this.groupingField,groupingId:this.groupingId,groupingConfig:this.groupingConfig,renderPager:this.groupingConfig.renderPager,actions:this.groupingConfig.actions});this.groupTitleTmpl=new Ext.XTemplate('<span class="i-tool coll-tool"></span>','<span class="title">{[values[this.groupingField]]}</span>','<tpl if="this.actions">','<tpl for="this.actions">','<div class="i-grouping-tool {[this.groupingConfig.css ? this.groupingConfig.css : ""]} {[values.iconCls || parent[values.iconIndex]]}">&nbsp;</div>',"</tpl>","</tpl>",'{[(values.start = values.start||0)?"":""]}{[(this.renderPager)? this.renderPager(values.count,0,10):""]}',{gridId:this.id,groupingField:this.groupingField,groupingId:this.groupingId,groupingConfig:this.groupingConfig,renderPager:this.groupingConfig.renderPager,actions:this.groupingConfig.actions});this.CRUDParams.grouping=d}else{delete this.CRUDParams.grouping;this.hasGrouping=false}if(c!==true){this.drawData()}};b.changeGrouping(a.groupingId,a.groupingField,true);b.drawData=function(){var g=this.getRoot();this.fireEvent("dataloaded",this,g);this.cleanupBody();var f="",h=this.hasGrouping?null:this.bodyEl;if(g&&g.length>0){if(this.hasGrouping){this.listEl=Ext.DomHelper.append(this.bodyEl,{tag:"ul"},true)}for(var e=0,d=g.length;e<d;e++){if(this.hasGrouping&&g[e][this.groupingId]!=f){f=(g[e])[this.groupingId];var c=this.insertGroupContainer(g[e]);h=c.last()}this.renderRow(g[e],h)}}else{this.showNoResultsText()}delete this.selectedRow;this.calcMetrics()};b.insertGroupContainer=function(d){if(!this.listEl){this.cleanupBody();this.listEl=Ext.DomHelper.append(this.bodyEl,{tag:"ul"},true)}var c=this.groupTmpl.append(this.listEl,d,true);this.groupTitleTmpl.insertFirst(c.child(".group-head"),d);return c};b.insertRows=function(f,p,m){if(!this.hasGrouping){var s=in4.base.gtypes[this.gtype].prototype.insertRows||in4.base.gtypes[this.gtype].superclass.insertRows;s.call(this,f,p,m);return}var e=this.getRoot();var h=e.length;if(!m){this.fireEvent("dataloaded",this,f)}for(var k=0,l=f.length;k<l;k++){var r;var o=this.getNode(f[k][this.groupingId]);if(!o){if(this.hasGrouping){var n=this.groupTmpl.append(this.listEl,f[k],true);this.groupTitleTmpl.insertFirst(n.child(".group-head"),f[k]);current=n.last()}this.renderRow(f[g],current)}else{var d=o.child(".container");var c=d.dom.childNodes.length;var q=c;if(p<h){for(var g=0;g<c;g++){if(d.dom.childNodes[g]==e[p]._ui_){q=g;break}}}if(c==0){r=this.rowTmpl.insertFirst(d,f[k],true);e.splice(p,0,f[k])}else{if(q>=c){r=this.rowTmpl.insertAfter(e[p-1]._ui_,f[k],true);e.splice(p,0,f[k])}else{r=this.rowTmpl.insertBefore(e[p]._ui_,f[k],true);e.splice(p,0,f[k])}}if(k==0){this.groupTitleTmpl.overwrite(o.child(".group-head"),f[k])}p++;h++;f[k]._ui_=r.dom}}this.calcMetrics();if(!m){this.fireEvent("rowinsert",this,f,p);this.createCRUD(f,p)}};b.onPageingById=function(d,c){this.onPageing(this.getNode(d),c,d)};b.onPageing=function(e,k,f){var d=this.getRoot();if(!f){for(var g=0;g<d.length;g++){if(this.getGroupId(d[g][this.groupingId])==e.id){f=d[g][this.groupingId];break}}}var h=e.dom.attributes.getNamedItem("iglue:start");var c=0;if(h){c=parseInt(h.value,10)}var l=e.dom.attributes.getNamedItem("iglue:count");var j=0;if(l){j=parseInt(l.value,10)}switch(k){case"+":if(c+10<j){c=c+10}break;case"-":c-=10;c=c>0?c:0;break;default:c=10*(k-1)}if(this.CRUD&&this.CRUD.RETRIEVE_PAGE){this.CRUD.RETRIEVE_PAGE.callback=function(q,y,x){var p=q;var n=p.result.result;var s=Ext.decode(y.jsonData).data.start/10||0;var w=Ext.decode(y.jsonData).data.limit||10;var u=p.result.count;this.refreshPagerForNode(e,u,s,w);e.dom.attributes["iglue:start"].value=Ext.decode(y.jsonData).data.start;e.dom.attributes["iglue:count"].value=p.result.count;var o=Ext.decode(y.jsonData).data[this.groupingId];this.clearGroupData(o);var m=this.getRoot();for(var r=0;r<n.length;r++){n[r][this.groupingId]=o;m.push(n[r]);this.renderRow(n[r],this.getNode(o).child(".container"))}this.fireEvent("pagingfinished",this,n,{start:Ext.decode(y.jsonData).data.start,count:u,limit:w})};if(!this.CRUD.RETRIEVE_PAGE.params){this.CRUD.RETRIEVE_PAGE.params={}}this.CRUD.RETRIEVE_PAGE.params[this.groupingId]=f;this.CRUD.RETRIEVE_PAGE.params.start=c;in4.base.Direct.apiRequest({action:this.CRUD.RETRIEVE_PAGE.action,method:this.CRUD.RETRIEVE_PAGE.method,params:this.CRUD.RETRIEVE_PAGE.params,callback:this.CRUD.RETRIEVE_PAGE.callback||this.onLoadPageComplete,scope:this.CRUD.RETRIEVE_PAGE.scope||this})}};b.afterToggle=function(){this.calcMetrics()};b.clearGroupData=function(e){this.bodyEl.child("li#"+this.getGroupId(e)).child(".container").dom.innerHTML="";var d=this.getRoot();for(var c=d.length-1;c>-1;c--){if(d[c][b.groupingId]==e){d.remove(d[c])}}};b.refreshPagerForNode=function(h,g,e,d){var c=this.groupingConfig.renderPager(g,e,d);var f=h.child(".i-pager");f.dom.innerHTML=c};b.groupHeaderClick=function(c,h,m){var j=Ext.get(h);if(j.hasClass("i-pager-prev")){this.onPageing(j.parent(".group-head").parent(),"-")}else{if(j.hasClass("i-pager-next")){this.onPageing(j.parent(".group-head").parent(),"+")}else{if(j.hasClass("i-pager-num")){this.onPageing(j.parent(".group-head").parent(),parseInt(j.dom.innerHTML,10))}else{if(j.hasClass("coll-tool")){j.toggleClass("coll-tool-closed");var g=Ext.get(Ext.get(j).parent(".group-head").dom.nextSibling);if(g.hasClass("hidden")){g.slideIn("t",{duration:0.25,easing:"easeIn",useDisplay:true,remove:false,callback:this.afterToggle,scope:this}).removeClass("hidden")}else{g.slideOut("t",{duration:0.25,easing:"easeIn",useDisplay:true,remove:false,callback:this.afterToggle,scope:this}).addClass("hidden")}return true}else{if(j.hasClass("i-grouping-tool")){var l=j.parent(".i-grid-group").query(".w-grid-row");if(l&&l.length>0){var i=[];Ext.each(l,function(k){var n=this.getDataByUI(k);if(n){i.push(n)}},this);if(i.length>0){var d=" "+j.dom.className+" ";for(var f in this.groupingConfig.actions){var e=this.groupingConfig.actions[f];if(e.iconCls&&d.indexOf(" "+e.iconCls+" ")!=-1){e.handler.call(this,this,i,e.iconCls);return}else{if(d.indexOf(" "+i[0][e.iconIndex]+" ")!=-1){e.handler.call(this,this,i,i[0][e.iconIndex]);return}}}}}}}}}}};b.on("init",function(){this.bodyEl.on("click",this.groupHeaderClick,this)},b)}};in4.base.regP("grouping",in4.base.Grouping);in4.base.Paging={limit:10,gptype:"paging",init:function(c,b){b.renderPager=b.renderPager||in4.base.Utils.renderPager;c.pagingConfig=b||{};c.pagingConfig.limit=c.pagingConfig.limit===0?0:c.pagingConfig.limit||10;c.pagingTmpl=new Ext.XTemplate('<div class="paging-toolbar" iglue:start="0" iglue:count="{[(values.count ||0)]}" style="width:100%; height: 26px; display: table-cell;">{[(this.renderPager)? this.renderPager(values.count,0,this.limit):""]}</div>',{renderPager:c.pagingConfig.renderPager,limit:c.pagingConfig.limit});var a=c.pagingConfig.limit;c.onPageing=function(g,j,e){var k=c.pagingEls.first().dom;var h=k.attributes.getNamedItem("iglue:start");var f=0;var d=f;if(h){f=d=parseInt(h.value,10)}var l=k.attributes.getNamedItem("iglue:count");var i=0;if(l){i=parseInt(l.value,10)}switch(j){case"++":d=(Math.floor(i/this.pagingConfig.limit))*this.pagingConfig.limit;break;case"+":d=d+this.pagingConfig.limit;break;case"-":d-=this.pagingConfig.limit;break;default:d=this.pagingConfig.limit*(j-1)}while(d>=i){d-=this.pagingConfig.limit}if(d<0){d=0}if(!d&&d!==0){return false}if(f==d&&e!==true){return false}if(this.fireEvent("beforepaging",this,g,j)===false){return false}this.CRUD.RETRIEVE_PAGE.params.start=d;this.pagingEls.each(function(n){var m=n.dom;m.attributes["iglue:start"].value=d},this);if(this.CRUD&&this.CRUD.RETRIEVE_PAGE){this.CRUD.RETRIEVE_PAGE.callback=function(n,p,q){this.data=n;this.count=this.getCount();var m=Ext.decode(p.jsonData).data.limit||this.pagingConfig.limit;var o=Ext.decode(p.jsonData).data.start/m||0;this.refreshPager(this.count,o,m);this.drawData();this.fireEvent("paging",this,this.getRoot(),g)};if(!this.CRUD.RETRIEVE_PAGE.params){this.CRUD.RETRIEVE_PAGE.params={}}in4.base.Direct.apiRequest({action:this.CRUD.RETRIEVE_PAGE.action,method:this.CRUD.RETRIEVE_PAGE.method,params:Ext.apply({},this.CRUD.RETRIEVE_PAGE.params,this.CRUDParams),callback:this.CRUD.RETRIEVE_PAGE.callback||this.onLoadPageComplete,scope:this.CRUD.RETRIEVE_PAGE.scope||this})}};c.onLoadComplete=c.onLoadComplete.createSequence(function(e,g){var f=Ext.decode(g.jsonData).data.start/10||0;var d=Ext.decode(g.jsonData).data.limit||10;this.count=this.getCount();this.refreshPager(this.count,f,d)},c);c.refreshPager=function(f,e,d){if(d==0){return}this.pagingEls.each(function(j,m,i){var h=j.dom;h.attributes["iglue:count"].value=f;var l=f>0?e*d:0;h.attributes["iglue:start"].value=l;var g=this.pagingConfig.renderPager(f,e,d||this.pagingConfig.limit);var k=Ext.get(h).child(".i-pager");k.dom.innerHTML=g},this)};c.afterToggle=function(){this.calcMetrics()};c.innerHeight=function(e){var d=in4.base.gtypes[this.gtype].prototype.innerHeight||in4.base.gtypes[this.gtype].superclass.innerHeight;return d.call(this,e)-(this.pagingElHeight?this.pagingElHeight:0)};c.dispose=function(){this.pagingEls.remove();in4.base.gtypes[this.gtype].superclass.dispose.call(this)};c.onPagingSubmit=function(f){if(f.keyCode==13){var d=f.getTarget();if(Ext.fly(d).hasClass("paging-goto")){this.onPageing(this.bodyEl,parseInt(d.value,10))}}};c.on("init",function(){this.pagingEls=new Ext.CompositeElement();if(this.pagingConfig.limit==0){return}this.hasPager=true;this.pagingElHeight=0;var e=Ext.isArray(this.pagingConfig.containers)?this.pagingConfig.containers:[this.pagingConfig.containers];for(var d=0;d<e.length;d++){var g=Ext.select(e[d]||"").first()||this.wrapEl;var f=this.pagingTmpl.insertAfter(g,{start:0,count:0},true);if(f.parent("#"+this.id)){this.pagingElHeight+=f.getHeight()+f.getMargins("tb")}f.on("keydown",this.onPagingSubmit,this);this.pagingEls.add(f)}this.pagingEls.on("click",function(j,m,h){var i=Ext.get(m);if(i.hasClass("pager-limit")){var l=i.getXY();in4.base.AssociationManager.showContext({x:l[0],y:l[1],side:"left",items:[{label:"10",fn:this.changePagingLimit,scope:this,attrib:[10]},{label:"20",fn:this.changePagingLimit,scope:this,attrib:[20]}]})}else{if(i.hasClass("i-pager-refresh")){try{this.onPageing(this.bodyEl,((this.CRUD.RETRIEVE_PAGE.params.start/this.pagingConfig.limit)+1)||1,true)}catch(k){}}else{if(i.hasClass("i-pager-first")){this.onPageing(this.bodyEl,1)}else{if(i.hasClass("i-pager-prev")){this.onPageing(this.bodyEl,"-")}else{if(i.hasClass("i-pager-next")){this.onPageing(this.bodyEl,"+")}else{if(i.hasClass("i-pager-last")){this.onPageing(this.bodyEl,"++")}else{if(i.hasClass("i-pager-num")){this.onPageing(this.bodyEl,parseInt(i.dom.innerHTML,10))}}}}}}}},this);this.wrapEl.setStyle("border-bottom","1px solid #C8C7BE")},c);c.changePagingLimit=function(d){this.pagingConfig.limit=d;this.CRUDParams.limit=d;delete this.data;this.load()}}};in4.base.regP("paging",in4.base.Paging);in4.base.ColumnTree={gptype:"columntree",init:function(b,a){b.columnsConfig=a||{};if(b.columnsConfig.columns){b.headerTmpl=new Ext.XTemplate('<div id="{id}_header" class="i-tree-header"></div><div id="{id}_config" class="i-tree-config"></div>');b.renderHeader=function(c){this.columnsConfig.header=c||this.columnsConfig.header;if(this.columnsConfig.columns){if(!this.headerEl){this.headerTmpl.insertBefore(this.wrapEl,{id:this.id});this.columnsConfig.header=new Ext.XTemplate('<div style="padding-top:3px; margin-bottom:5px;" class="">','<div class="">','<table style="width:100%; height: 21px; table-layout:fixed;"><tbody>',"<tr>",'<tpl for="this.columns">','<td style="">','<span class="">{name}</span>',"</td>","</tpl>","</tr>","</tbody></table>","</div>","</div>",{msg:msg,columns:this.columnsConfig.columns});this.headerEl=Ext.get(this.id+"_header");this.headerEl.dom.style.width=(this.el.dom.offsetWidth-17)+"px";this.configEl=Ext.get(this.id+"_config");this.configEl.on("click",this.onConfigClick,this)}this.columnsConfig.header.append(this.headerEl,{tree:this,id:this.id},true);this.calcColumnsWidth();this.setNodeWidth(this.headerEl)}};b.onConfigClick=function(e){if(this.columnsConfig.columns){var f=(e||this.configEl).getXY();var c=[];for(var d=0;d<this.columnsConfig.columns.length;d++){if(this.columnsConfig.columns[d].name){c.push({label:'<span class="'+(!this.columnsConfig.columns[d].hidden?"i-checkbox-checked":"")+' i-checkbox">'+this.columnsConfig.columns[d].name+"</span>",fn:function(n,g,k,j,l){this.toggleColumn(this.columnsConfig.columns.indexOf(n));var i=Ext.fly(j);if(!i.hasClass("i-checkbox")){i=i.child(".i-checkbox")}n.hidden?i.removeClass("i-checkbox-checked"):i.addClass("i-checkbox-checked");l.stopEvent()},scope:this,attrib:[this.columnsConfig.columns[d]]})}}in4.base.AssociationManager.showContext({x:f[0],y:f[1]+14,side:"left",items:c})}return false};b.onScrollShow=function(c){if(this.headerEl){this.headerEl.setWidth(this.innerWidth())}in4.base.gtypes[this.gtype].superclass.onScrollShow.call(this,c);if(this.calcColumnsWidth){this.calcColumnsWidth();this.setAllNodeWidth();if(this.headerEl){this.setNodeWidth(this.headerEl)}}};b.on("init",function(){b.renderHeader()},b)}if(b.columnsConfig.columns){b.calcColumnsWidth=function(){this.columnsConfig.fix=0;var f=this.columnsConfig.columns.length;var e=0;for(var c=0;c<this.columnsConfig.columns.length;c++){if(this.columnsConfig.columns[c].width.indexOf("%")==-1&&!this.columnsConfig.columns[c].hidden){this.columnsConfig.fix+=parseInt(this.columnsConfig.columns[c].width)}else{if(b.columnsConfig.columns[c].width.indexOf("%")!=-1&&b.columnsConfig.columns[c].hidden){e+=parseInt(this.columnsConfig.columns[c].width)}}if(this.columnsConfig.columns[c].width.indexOf("%")==-1||this.columnsConfig.columns[c].hidden){f--}}var d=this.wrapEl.dom.offsetWidth-16-this.columnsConfig.fix;for(var c=0;c<this.columnsConfig.columns.length;c++){if(this.columnsConfig.columns[c].width.indexOf("%")!=-1){this.columnsConfig.columns[c].calculated=Math.floor(d*(parseInt(this.columnsConfig.columns[c].width)+Math.floor(e/(f>0?f:1)))/100)}else{this.columnsConfig.columns[c].calculated=this.columnsConfig.columns[c].width}}};b.hideColumn=function(c){this.columnsConfig.columns[c].hidden=true;this.calcColumnsWidth();this.setAllNodeWidth();if(this.headerEl){this.setNodeWidth(this.headerEl)}};b.showColumn=function(c){this.columnsConfig.columns[c].hidden=false;this.calcColumnsWidth();this.setAllNodeWidth();if(this.headerEl){this.setNodeWidth(this.headerEl)}};b.toggleColumn=function(c){this.columnsConfig.columns[c].hidden?this.showColumn(c):this.hideColumn(c)};b.renderNode=function(e,g,d,c){var f=in4.base.gtypes[this.gtype].superclass.renderNode||in4.base.gtypes[this.gtype].prototype.renderNode;f.call(this,e,g,d,c);this.setNodeWidth(this.getNodeFromId(e.id)._uiparts.head)};b.setAllNodeWidth=function(){var c=this.bodyEl.query(".i-treenode .i-node-head");for(var d=0;d<c.length;d++){this.setNodeWidth(Ext.get(c[d]))}};b.setNodeWidth=function(e){var c=e.query("td");for(var d=0;d<c.length;d++){c[d].style.width=this.columnsConfig.columns[d].calculated+"px";if(this.columnsConfig.columns[d].hidden===true){Ext.fly(c[d]).addClass("w-hide")}else{Ext.fly(c[d]).removeClass("w-hide")}}};b.onSize=function(g,d,e){var f=in4.base.gtypes[this.gtype].prototype.onSize||in4.base.gtypes[this.gtype].superclass.onSize;f.call(this,g,d,e-53);this.calcColumnsWidth();this.setAllNodeWidth();if(this.headerEl){this.headerEl.dom.style.width=d-17+"px";this.setNodeWidth(this.headerEl)}}}}};in4.base.regP("columntree",in4.base.ColumnTree);in4.base.Tree=Ext.extend(in4.base.Component,{defUI:new Ext.XTemplate('<li id={id} class="i-tree-node"><div class="i-node-head"><img alt="+" src="lib/ext3/resources/images/default/s.gif" class="i-inset i-tree-elbow" style="background-image: url(res/iglue/images/plus.png); background-repeat: no-repeat; height: 13px;"/><span class="i-node-text">{text}</span></div><div class="i-node-body"><div class="i-node-children"></div></div></li>',{setNodeUI:function(a,b){b._uiparts={el:a,head:a.first(),text:a.first().last(),body:a.last(),children:a.last().first(),elbow:a.first().first()}}}),gtype:"tree",initComponent:function(){this.silentUpdate=false;this.addEvents({dataprocess:true,nodeclick:true,afterpageload:true,loadcomplete:true});this.scroll=true;in4.base.Tree.superclass.initComponent.apply(this,arguments);this.limit=this.limit||10;this.elbowPadding=this.elbowPadding||this.elbowPadding==0?this.elbowPadding:16;this.resEl.enabled=false;this.bodyEl=Ext.get(this.id+"_body");this.el.on("click",this.onBodyClick,this);this.bodyEl.on("mousemove",this.onMouseMove,this);this.bodyEl.on("mouseout",this.onMouseOut,this);this.nodeHash=[];this.data=this.data||[];this.CRUD=this.CRUD||{CREATE:{},RETRIEVE:{},UPDATE:{},DELETE:{}};this.animate=this.animate||{};if(this.animate.expand===true||(!this.animate.expand&&this.animate.expand!==false)){this.animate.expand={duration:0.25,easing:"easeIn",useDisplay:true,remove:false}}if(this.animate.collapse===true||(!this.animate.collapse&&this.animate.collapse!==false)){this.animate.collapse={duration:0.25,easing:"easeIn",useDisplay:true,remove:false}}if(this.animate.pagingOut===true||(!this.animate.pagingOut&&this.animate.pagingOut!==false)){this.animate.pagingOut={duration:0.8,easing:"easeOut",remove:true,useDisplay:false}}if(this.animate.pagingIn===true||(!this.animate.pagingIn&&this.animate.pagingIn!==false)){this.animate.pagingIn={duration:0.15,easing:"easeOutStrong",remove:false,useDisplay:false}}this.pagingTmpl=this.pagingTmpl||new Ext.XTemplate('<div class="paging-toolbar" iglue:node="{id}" iglue:start="0" iglue:count="{[(values.count ||0)]}" style="width:100%; height: 20px; display: table-cell;">{[(this.renderPager)? this.renderPager(values.count,0,this.tree.limit):""]}</div>',{renderPager:in4.base.Utils.renderPager,tree:this});if(this.autoLoad){this.load()}},lastTarget:null,onMouseMove:function(c,a,d){var b=c.getTarget("div.i-node-head",this.bodyEl,true);if(b&&b!=this.lastTarget){if(this.lastTarget!=null){this.lastTarget.removeClass("w-grid-row-over")}if(!b.hasClass("w-grid-row-over")){b.addClass("w-grid-row-over")}this.lastTarget=b}else{if((b==null||b==undefined)&&this.lastTarget!=null){this.lastTarget.removeClass("w-grid-row-over");this.lastTarget=null}}},onMouseOut:function(b,a,c){if(this.lastTarget!=null){this.lastTarget.removeClass("w-grid-row-over");this.lastTarget=null}},load:function(a){if(this.data&&this.data.length!==0){this.drawData()}else{if(this.CRUD&&this.CRUD.RETRIEVE&&!in4.base.isEmpty(this.CRUD.RETRIEVE)){in4.base.Direct.apiRequest({action:this.CRUD.RETRIEVE.action,method:this.CRUD.RETRIEVE.method,params:this.CRUD.RETRIEVE.params,callback:this.CRUD.RETRIEVE.callback||this.onLoadComplete,scope:this.CRUD.RETRIEVE.scope||this})}}},onLoadComplete:function(a,c){var d=Ext.decode(c.jsonData);if(!d.data.parentId){this.data=a.result;if(this.fireEvent("dataprocess",this,this.data,null,d)==true){if(!this.data){this.resetNodeUI()}else{this.beginUpdate();this.drawData();this.endUpdate();this.afterToggle();this.fireEvent("nodeclick",this,this.data[0],this.data[0]._uiparts.body);this.fireEvent("loadcomplete",this)}}}else{var b=this.getNodeFromId(d.data.parentId);b.children=a.result.result;b.count=a.result.count;b.start=0;b.loaded=true;if(this.fireEvent("dataprocess",this,b.children,b,d)==true){if(!b.children){this.resetNodeUI(b._uiparts.children)}else{this.beginUpdate();this.drawData(b.children,b._uiparts.children,b.stair+1,b);this.renderPager(b,a.result.count);this.expand(b);this.endUpdate();this.afterToggle();this.fireEvent("nodeclick",this,b||this.data[0],(b||this.data[0])._uiparts.body);this.fireEvent("loadcomplete",this)}}}},renderPager:function(c,d){if(c._uiparts.pager){if(!c.pager&&d>this.limit){this.pagingTmpl.overwrite(c._uiparts.pager,{start:0,count:d,id:c.id},true);c.pager=c._uiparts.el.child(".paging-toolbar");c.pager.dom.style.display="block";c.pager.dom.style.paddingLeft=((c.stair+2)*this.elbowPadding)+"px"}else{if(c.pager&&d>this.limit){var a=in4.base.Utils.renderPager(d,0,this.limit);var b=c.pager;b.dom.innerHTML=a}else{if(c.pager){c.pager.remove();delete c.pager}}}}},drawData:function(c,h,f,e){var b=this.resetNodeUI(h);var g=c||this.data;for(var d=0,a=g.length;d<a;d++){g[d].stair=f||0;this.renderNode(g[d],b,f||0,e||null)}if(!f){this.afterToggle()}},resetNodeUI:function(b){var a=b||this.bodyEl;if(a.is("ul")){a.dom.innerHTML=""}else{a=Ext.DomHelper.overwrite(a,{tag:"ul"},true)}return a},renderNode:function(e,g,d,c){e.tree=this;var a=((e.ui&&this.uiTemps[e.ui])?this.uiTemps[e.ui]:this.defUI);e.parent=c||null;e.elbows=this.createElbows(e);var f=a.append(g,e,true);((a.setNodeUI)?a.setNodeUI:this.defUI.setNodeUI)(f,e);this.nodeHash[e.id]=e;var b=f.first().first();if(b&&b.dom.alt=="+"){b.setWidth((d+1)*16);b.setStyle("background-position",(d*16)+" 0")}e._ui_=f.dom;if(e.children&&e.children.length>0){this.renderPager(e,e.count||e.children.length);this.drawData(e.children,e._uiparts.children,d+1,e)}else{b.setStyle("background-image","")}},createElbows:function(a){var c=[];var b=a;if(b.parent){while(b.parent){if(b!=a){if(b.parent&&b.parent.children.indexOf(b)<b.parent.children.length-1){c.push("i-tree-elbow-line")}else{c.push("i-tree-elbow-empty")}}else{if(b.parent&&b.parent.children.indexOf(b)<b.parent.children.length-1){if(b.leaf){c.push("i-tree-elbow-leaf")}else{if(!b.expanded){c.push("i-tree-elbow-closed")}else{c.push("i-tree-elbow-opened")}}}else{if(b.leaf){c.push("i-tree-elbow-leaf-end")}else{if(!b.expanded){c.push("i-tree-elbow-closed-end")}else{c.push("i-tree-elbow-opened-end")}}}}b=b.parent}c.push("i-tree-elbow-empty")}else{if(this.data&&this.data.indexOf(b)<this.data.length-1){if(b.leaf){c.push("i-tree-elbow-leaf")}else{c.push("i-tree-elbow-closed")}}else{if(b.leaf){c.push("i-tree-elbow-leaf-end")}else{c.push("i-tree-elbow-closed-end")}}}return c.reverse()},onBodyClick:function(e,f,b){var a=Ext.get(f);if(a.hasClass("i-pager-prev")){this.onPageing(a.parent(".i-treenode"),"-")}else{if(a.hasClass("i-pager-next")){this.onPageing(a.parent(".i-treenode"),"+")}else{if(a.hasClass("i-pager-num")){this.onPageing(a.parent(".i-treenode"),parseInt(a.dom.innerHTML))}else{if(this.onUserClick(e,a)){if(a.hasClass("i-tree-elbow")){var d=this.getNodeFromId(a.parent("li").dom.id);this.onElbowClick(d)}else{var c=a.up("li");if(c){this.fireEvent("nodeclick",this,this.getNodeFromId(c.dom.id),a)}return false}}}}}return true},onElbowClick:function(a){if(a._uiparts.body.hasClass("hidden")){if(a.triggerFn&&this[a.triggerFn].call(this,{node:a})||!a.triggerFn){this.expand(a)}}else{if(!a._uiparts.body.hasActiveFx()){this.collapse(a)}}return false},expand:function(c,b){if(!c.leaf){if(this.nodeType=="async"&&!c.loaded){this.loadNode({},c)}else{c.expanded=true;var a=c._uiparts.body;c._uiparts.head.first().removeClass("closed");a.removeClass("hidden");if(this.animate.expand!==false){a.slideIn("t",Ext.apply({callback:this.afterToggle,scope:this},this.animate.expand))}else{a.setStyle("display","block");this.afterToggle()}if(c._uiparts.elbow){c._uiparts.elbow.dom.className=c._uiparts.elbow.dom.className.replace("i-tree-elbow-closed","i-tree-elbow-opened")}}}},collapse:function(c,b){var a=c._uiparts.body;c.expanded=false;c._uiparts.head.first().addClass("closed");a.removeClass("hidden");a.addClass("hidden");if(this.animate.collapse!==false){a.slideOut("t",Ext.apply({callback:this.afterToggle,scope:this},this.animate.collapse))}else{a.setStyle("display","none");this.afterToggle()}if(c._uiparts.elbow){c._uiparts.elbow.dom.className=c._uiparts.elbow.dom.className.replace("i-tree-elbow-opened","i-tree-elbow-closed")}},loadNode:function(a,b){if(this.CRUD&&this.CRUD.RETRIEVE&&!in4.base.isEmpty(this.CRUD.RETRIEVE)){var c={parentId:b.id};c.limit=this.limit;in4.base.Direct.apiRequest({action:this.CRUD.RETRIEVE.action,method:this.CRUD.RETRIEVE.method,params:Ext.apply(c,this.CRUD.RETRIEVE.params),callback:this.CRUD.RETRIEVE.callback||this.onLoadComplete,scope:this.CRUD.RETRIEVE.scope||this})}},expandAll:function(){if(this.data){this.multipleExpColl=true;for(var b in this.data){if(this.data[b]._uiparts&&this.data[b]._uiparts.body.hasClass("hidden")){this.expand(this.data[b])}if(this.data[b].children){for(var a in this.data[b].children){if(this.data[b].children[a]._uiparts&&this.data[b]._uiparts&&this.data[b].children[a]._uiparts.body.hasClass("closed")){this.expand(this.data[b],children[a],true)}}}}}},collapseAll:function(){if(this.data){this.multipleExpColl=true;for(var a in this.data){if(this.data[a]._uiparts&&this.data[a]._uiparts.body&&!this.data[a]._uiparts.head.first().hasClass("closed")){this.collapse(this.data[a],true)}}}},afterToggle:function(a){this.calcMetrics()},onUserClick:function(a,b){return true},onPageing:function(a,b){},removeNodesAllChild:function(c){for(var b=0,a=c.children.length;b<a;b++){this.removeNode(c.children[b])}c.children=[]},removeNode:function(a){if(a.children&&a.children.length>0){this.removeNodesAllChild(a)}if(a._uiparts){a._uiparts.el.remove()}delete this.nodeHash[a.id]},onLoadPageComplete:function(a,b){this.pageNode.children=a.result.data;if(this.fireEvent("dataprocess",this,this.pageNode.children,this.pageNode,Ext.decode(b.jsonData))==true){this.onLoadPageSlideOut()}},onLoadPageSlideOut:function(){if(this.animate.pagingOut){this.pageNode._uiparts.children.first().slideOut("l",Ext.apply(this.animate.pagingOut,{callback:this.onLoadPageSlideIn,scope:this}))}else{this.onLoadPageSlideIn()}},onLoadPageSlideIn:function(){this.beginUpdate();this.drawData(this.pageNode.children,this.pageNode._uiparts.children,this.pageNode.stair+1,this.pageNode);this.endUpdate();this.afterToggle();if(this.animate.pagingIn){this.pageNode._uiparts.children.first().slideIn("r",Ext.apply(this.animate.pagingIn,{}))}var a=in4.base.Utils.renderPager(this.pageNode.count,Math.floor(this.pageNode.start/this.limit),this.limit);var b=this.pageNode.pager;b.dom.innerHTML=a;this.fireEvent("afterpageload",this,this.pageNode)},getNodeFromId:function(a){return this.nodeHash[a]||null},getIterator:function(){var a=[];for(v in this.nodeHash){if(!Ext.isFunction(this.nodeHash[v])){a.push(this.nodeHash[v])}}return{data:a,current:0,next:function(){return this.data[this.current++]}}},beginUpdate:function(){this.silentUpdate=true},endUpdate:function(){this.silentUpdate=false}});in4.base.reg("tree",in4.base.Tree);in4.base.TreeActions={gptype:"treeactions",init:function(b,a){b.actionsConfig=a||{};b.onNodeClick=function(c,g,h){if(h&&h.hasClass("treeactions-icon")){var f=" "+h.dom.className+" ";for(var e in this.actionsConfig){if(f.indexOf(" "+e+" ")!=-1){for(var d in this.actionsConfig[e].actions){if(this.actionsConfig[e].actions[d].iconCls&&f.indexOf(" "+this.actionsConfig[e].actions[d].iconCls+" ")!=-1){this.actionsConfig[e].actions[d].handler.call(this,this,g,this.actionsConfig[e].actions[d].iconCls)}else{if(f.indexOf(" "+g[this.actionsConfig[e].actions[d].iconIndex]+" ")!=-1){this.actionsConfig[e].actions[d].handler.call(this,this,g,g[this.actionsConfig[e].actions[d].iconIndex])}}}}}}};b.extendDataProcess=function(c,g){for(var f in g){for(var e in this.actionsConfig){if(this.actionsConfig[e]){g[f]["actions_"+e]="";if(this.actionsConfig[e].selectorFn&&!this.actionsConfig[e].selectorFn.call(this,c,g[f])){continue}for(var d in this.actionsConfig[e].actions){if(typeof this.actionsConfig[e].actions[d]=="function"){continue}g[f]["actions_"+e]+='<div class="treeactions-icon '+e+" "+(this.actionsConfig[e].actions[d].iconCls?this.actionsConfig[e].actions[d].iconCls:g[f][this.actionsConfig[e].actions[d].iconIndex])+'"></div>'}}}if(g[f].children&&Ext.isArray(g[f].children)){this.extendDataProcess(this,g[f].children)}}};b.on("dataprocess",b.extendDataProcess,b);b.on("nodeclick",b.onNodeClick,b)}};in4.base.regP("treeactions",in4.base.TreeActions);in4.base.TreeBreadCrumb={gptype:"treebreadcrumb",init:function(b,a){b.onUserClick=(function(e,f){if(f.hasClass("i-tree-breadcrumb-item")){var g=f.dom.attributes.getNamedItem("iglue:nodeId");if(g){var d=this.getNodeFromId(g.nodeValue);if(d){this.fireEvent("nodeclick",this,d);this.selectedNode=d;this.renderCrumb();return false}}}else{var c=f.parent(".i-treenode");if(c){var d=this.getNodeFromId(c.dom.id);this.selectedNode=d;this.renderCrumb()}}return true}).createSequence(b.onUserClick,b);b.breadCrumbConfig=a||{};b.breadTmpl=new Ext.XTemplate('<div id="{id}_breadcrumb" class="i-tree-breadcrumb"></div>');b.crumbTmpl=new Ext.XTemplate('<span class="i-tree-breadcrumb-item">'+(a.rootName||"root")+"</span>",'<tpl for=".">',' / <span class="i-tree-breadcrumb-item" iglue:nodeId="{'+(a.nodeId||"values.id")+'}">{'+(a.nodeName||"values.name")+"}</span>","</tpl>");b.renderCrumb=function(){if(!this.breadCrumbEl){this.breadTmpl.insertFirst(this.el,{id:this.id});this.breadCrumbEl=Ext.get(this.id+"_breadcrumb")}var c=[];if(this.selectedNode){var d=this.selectedNode;while(d&&d.entityId!="root"){c.push(d);d=d.parent}c.reverse()}this.crumbTmpl.overwrite(this.breadCrumbEl,c)};b.loadNode=(function(c,d){this.selectedNode=d;this.renderCrumb()}).createSequence(b.loadNode,b);b.on("init",b.renderCrumb,b)}};in4.base.regP("treebreadcrumb",in4.base.TreeBreadCrumb);in4.base.Splitter=Ext.extend(in4.base.Component,{gtype:"splitter",tmpl:new Ext.XTemplate('<div id="{id}">','<div id="{id}_wrapper" class="i-scroll-wrap">','<div id="{id}_holder" class="i-scroll-holder">','<div id="{id}_body" class="i-scroll-body">','<div class="i-split-hold" style="width: 100%;">','<div id="{id}_left" style="vertical-align: top; float: left;clear:none; position: relative; top:0; width:1px;"></div>','<div id="{id}_middle" class="i-sizer" style="float: left;clear:none; position: relative; top:0;"></div>','<div id="{id}_right" style="vertical-align: top; float: left;clear:none; position: relative; top:0; width:1px;"></div>',"</div>","</div>","{[values.scroll ? ( \"<div class='i-v-scroll-track'><div class='i-v-scroll-thumb x-unselectable'><div class='i-thumb-top'></div><div class='i-thumb-bottom'></div></div></div><div class='i-h-scroll-track'><div class='i-h-scroll-thumb x-unselectable'><div class='i-thumb-left'></div><div class='i-thumb-right'></div></div></div><div class='i-scroll-corner'></div>\" ) : \"\"]}","</div>","</div>","</div>"),initComponent:function(){this.regionCfg=this.regionCfg||{sizeLR:"left"};in4.base.Splitter.superclass.initComponent.call(this);this.midDrag=Ext.get(this.id+"_middle");this.midDrag.addClassOnOver("i-sizer-over");this.midDrag.on("mousedown",this.onMDragStart,this);this.leftEl=Ext.get(this.id+"_left");this.rightEl=Ext.get(this.id+"_right");this.collapser=Ext.DomHelper.append(this[this.regionCfg.sizeLR+"El"].parent(),{tag:"a",href:"#",cls:"i-collapser i-collapser-"+this.regionCfg.sizeLR+(this.collExCls?" "+this.collExCls:"")},true);this.collapser.addClassOnOver("i-collapser-"+this.regionCfg.sizeLR+"-over");this.collapser.setVisibilityMode(Ext.Element.VISIBILITY);this.collapser.on("click",this.toggleCollapse,this);if(this.enabled==true){this.collapser.show()}else{if(this.enabled==false){this.collapser.hide()}}this.sizerProxy=Ext.get("sizerproxy");if(this.sizerProxy==null||this.siyerProxy==undefined){this.sizerProxy=Ext.DomHelper.append(Ext.getBody(),{tag:"div",id:"sizerproxy",cls:"i-sizer-p",cn:[{tag:"div",cls:"i-sizer-proxy"}]},true)}},toggleCollapse:function(b,a,c){if(this.collapsable==true&&this.enabled==true){if(this.closed){this.open();this.collapser.removeClass("i-collapser-closed-"+this.regionCfg.sizeLR)}else{this.close();this.collapser.addClass("i-collapser-closed-"+this.regionCfg.sizeLR)}}this.fireEvent("toggle",this,!this.closed)},disableCollapse:function(){this.collapser.hide();this.enabled=false},enableCollapse:function(){this.collapser.show();this.enabled=true},onMDragStart:function(b,a,c){if(!this.closed){if(this.regionCfg.sizeLR=="left"){this._offset=this.leftEl.getOffsetsTo(Ext.getBody());this._height=this.leftEl.dom.offsetHeight}else{if(this.regionCfg.sizeLR=="right"){this._offset=this.rightEl.getOffsetsTo(Ext.getBody());this._height=this.rightEl.dom.offsetHeight;this._width=this.rightEl.dom.offsetWidth}}this.sizerProxy.dom.style.cssText="display:block;";this.sizerProxy.on("mouseup",this.onMDragEnd,this,{single:true});this.sizerProxy.on("mousemove",this.onMDrag,this)}else{return true}},onMDrag:function(g,i,c){if(Ext.isIE){document.selection.clear()}var f=this.items[0],d=this.items[1],j=this.sizerProxy.dom.firstChild;if(this.regionCfg.sizeLR=="left"){var b=g.xy[0]-this._offset[0];var a=f.minWidth||0;var h=f.maxWidth||this.el.dom.offsetWidth;j.style.cssText="top:"+this._offset[1]+"px; left:"+this._offset[0]+"px; width:"+((b>a)?(b<h?b:h):a)+"px; height:"+this._height+"px; display: block; z-index: 1000000;"}else{if(this.regionCfg.sizeLR=="right"){var b=this._offset[0]+this._width-g.xy[0];var a=(f.minWidth)?(f.minWidth):0;var h=(f.maxWidth)?(f.maxWidth):this.el.dom.offsetWidth;j.style.cssText="top:"+this._offset[1]+"px; left:"+g.xy[0]+"px; width:"+((b>a)?(b<h?b:h):a)+"px; height:"+this._height+"px; display: block; z-index: 1000000;"}}g.stopPropagation();g.stopEvent();return false},onMDragEnd:function(g,b,h){this.sizerProxy.un("mousemove",this.onMDrag,this);if(this.regionCfg.sizeLR=="left"){this.sizerProxy.dom.style.cssText="";this.sizerProxy.dom.firstChild.style.cssText="";var d=this.items[0].minWidth||0;var f=this.items[0].maxWidth||this.el.dom.offsetWidth;var c=g.xy[0]-this._offset[0];var a=((c>d)?(c<f?c:f):d);this.leftEl.dom.style.width=a+"px";this.rightEl.dom.style.width=(this.bodyEl.dom.offsetWidth-8-a)+"px";this.resize(this,this.el.dom.offsetWidth,this.el.dom.offsetHeight)}else{if(this.regionCfg.sizeLR=="right"){this.sizerProxy.dom.style.cssText="";this.sizerProxy.dom.firstChild.style.cssText="";var d=this.items[0].minWidth||0;var f=this.items[0].maxWidth||this.el.dom.offsetWidth;var c=this._offset[0]+this._width-g.xy[0];var a=((c>d)?(c<f?c:f):d);this.leftEl.dom.style.width=(this.bodyEl.dom.offsetWidth-8-a)+"px";this.rightEl.dom.style.width=a+"px";this.resize(this,this.el.dom.offsetWidth,this.el.dom.offsetHeight)}}return false},resize:function(j,m,f,i){var a=this.innerWidth(m);var n=this.innerHeight(f);this.onSize(this,a,n);this.lastWidth=this.wrapEl.dom.offsetWidth;this.lastHeight=this.wrapEl.dom.offsetHeight;var g=this.bodyEl.dom.firstChild;g.style.cssText="width:"+a+"px; height:"+n+"px;";g.childNodes[0].style.height=n+"px";g.childNodes[1].style.height=n+"px";g.childNodes[2].style.height=n+"px";var b=0,l=0,k=this.bodyEl.dom.offsetWidth;if(this.items&&this.leftEl&&this.rightEl){this.beginResize();switch(this.regionCfg.sizeLR){case"left":b=this.leftEl.dom.offsetWidth;l=(k-b-8);this.rightEl.dom.style.width=l+"px";break;case"right":l=this.rightEl.dom.offsetWidth;b=(k-l-8);this.leftEl.dom.style.width=b+"px";break}var d=n;this.items[0].resize(this.items[0],b,d);this.items[1].resize(this.items[1],l,d);this.endResize()}},close:function(){if(!this.closed){switch(this.regionCfg.sizeLR){case"left":this.storedWidth=this.leftEl.dom.offsetWidth;this.leftEl.dom.style.width="1px";this.leftEl.dom.style.overflow="hidden";this.rightEl.dom.style.width=(this.bodyEl.dom.offsetWidth-this.leftEl.dom.offsetWidth-8)+"px";break;case"right":this.storedWidth=this.rightEl.dom.offsetWidth;this.rightEl.dom.style.width="1px";this.rightEl.dom.style.overflow="hidden";this.leftEl.dom.style.width=(this.bodyEl.dom.offsetWidth-this.rightEl.dom.offsetWidth-8)+"px";break}this.closed=true;this.resize(this,this.el.dom.offsetWidth,this.el.dom.offsetHeight)}},open:function(){if(this.closed){switch(this.regionCfg.sizeLR){case"left":this.leftEl.dom.style.width=this.storedWidth+"px";this.leftEl.dom.style.overflow="";this.rightEl.dom.style.width=(this.bodyEl.dom.offsetWidth-this.storedWidth-8)+"px";break;case"right":this.rightEl.dom.style.width=this.storedWidth+"px";this.rightEl.dom.style.overflow="";this.leftEl.dom.style.width=(this.bodyEl.dom.offsetWidth-this.storedWidth-8)+"px";break}this.closed=false;this.resize(this,this.el.dom.offsetWidth,this.el.dom.offsetHeight)}},add:function(b){if(b&&b.gtype){this.items=this.items||[{},{}];if(b.initConfig){if(b.container.gtype){var c=b.container.items.indexOf(b);this.items.push(b.container.items.splice(c,c+1)[0])}else{this.items.push(b)}b.container=this;b.cont=this.el;b.el.appendTo(this.bodyEl);this.fireEvent("add",this,this.items.length-1)}else{if(b.region==this.regionCfg.sizeLR){this.storedWidth=b.width||1;if(this.closed){b.width=1}Ext.get(this.id+"_"+b.region).setWidth(b.width)}b.container=Ext.get(this.id+"_"+b.region);b.width="100%";b.height="100%";var a=0;switch(b.region){case"left":a=0;if(b.region==this.regionCfg.sizeLR){var e=Ext.get(this.id+"_right").dom.style;e.width=(this.bodyEl.dom.offsetWidth-b.container.dom.offsetWidth-8)+"px";e.height=(b.container.dom.offsetHeight)+"px"}break;case"right":a=1;if(b.region==this.regionCfg.sizeLR){var d=Ext.get(this.id+"_left").dom.style;d.width=(this.bodyEl.dom.offsetWidth-b.container.dom.offsetWidth-8)+"px";d.height=(b.container.dom.offsetHeight)+"px"}break}this.items[a]=new in4.base.gtypes[b.gtype](b);this.fireEvent("add",this,this.items.length-1)}}}});in4.base.reg("splitter",in4.base.Splitter);in4.base.Panel=Ext.extend(in4.base.Component,{gtype:"panel",titleCls:"title",collapsed:false,tmpl:new Ext.XTemplate('<div id="{id}" class="{boxCls}">','<div id="{id}_header" class="{boxCls}-tl">','<div class="{boxCls}-tr">','<div class="{boxCls}-tc">','<div class="coll-tool-wrapper"></div>','<div id="{id}_title" class="i-panel-title">','<span class="{titleCls}"></span>',"</div>",'<div id="{id}_tools" style="float:right;right:9px; top:9px; position:absolute; height:16px;" class="i-tool-cont"></div>',"</div>","</div>","</div>",'<div  class="{boxCls}-ml">','<div  class="{boxCls}-mr">','<div  class="{boxCls}-mc">','<div id="{id}_wrapper" class="i-scroll-wrap">','<div id="{id}_holder" class="i-scroll-holder">','<div id="{id}_body" class="i-scroll-body"></div>',"{[values.scroll ? ( \"<div class='i-v-scroll-track'><div class='i-v-scroll-thumb x-unselectable'><div class='i-thumb-top'></div><div class='i-thumb-bottom'></div></div></div><div class='i-h-scroll-track'><div class='i-h-scroll-thumb x-unselectable'><div class='i-thumb-left'></div><div class='i-thumb-right'></div></div></div><div class='i-scroll-corner'></div>\" ) : \"\"]}","</div>","</div>","</div>","</div>","</div>",'<div class="{boxCls}-bl">','<div class="{boxCls}-br">','<div id="{id}_bottom" class="{boxCls}-bc" style="height:8px;"></div>',"</div>","</div>","</div>"),initComponent:function(){this.initConfig.boxCls=this.initConfig.boxCls||this.boxCls||"i-pan";this.initConfig.titleCls=this.initConfig.titleCls||"";in4.base.Panel.superclass.initComponent.call(this);this.titleEl=Ext.get(this.id+"_title");this.bottomEl=Ext.get(this.id+"_bottom");this.headEl=Ext.get(this.id+"_header");this.toolsEl=Ext.get(this.id+"_tools");if(this.title){this.setTitle(this.title)}if(this.mode){this.setMode(this.mode)}if(this.canChangeMode){if(!this.tools){this.tools=[]}this.tools.push({cls:"cm-tool",tooltip:msg.toggle_window_portlet,handler:function(g,f,h){this.setMode(this.mode=="portlet"?"window":"portlet")}})}if(this.collapsable){var e={cls:"coll-tool",handler:function(g,f,h){if(!this.collapsed){this.collapse()}else{this.expand()}}};this.collTool=Ext.DomHelper.append(this.el.child(".coll-tool-wrapper"),{tag:"div",cls:"i-tool "+(e.cls||""),html:""},true);this.collTool.on("click",e.handler,this);if(this.collapsed){this.collapse()}}if(this.closable){if(!this.tools){this.tools=[]}this.tools.push({cls:"i-window-close",tooltip:msg.tile_view,handler:function(g,f,h){this.hide()}})}if(this.tools){for(var d=0,a=this.tools.length;d<a;d++){var c={tag:"div",style:"padding-left:29px;",cls:"i-tool "+(this.tools[d].cls||""),html:this.tools[d].text||""};if(this.tools[d].tooltip&&this.tools[d].tooltip!="undefined"&&this.tools[d].tooltip!=undefined){c["iglue:tooltip"]=this.tools[d].tooltip}var b=Ext.DomHelper.append(this.toolsEl,c,true);b.addClassOnOver(this.tools[d].overCls||"");b.on("click",this.tools[d].handler,this)}}},refreshStyleCache:function(){var b=this.wrapEl.parent();var a=b.parent();this.styleCache={elPaddingLR:this.el.getPadding("lr"),elPaddingTB:this.el.getPadding("tb"),elBorderLR:this.el.getBorderWidth("lr"),elBorderTB:this.el.getBorderWidth("tb"),elMarginLR:(this.el.parent()==Ext.getBody()&&Ext.isWebKit)?0:this.el.getMargins("lr"),elMarginTB:this.el.getMargins("tb"),wrapPaddingLR:this.wrapEl.getPadding("lr")+b.getPadding("lr")+a.getPadding("lr")+a.parent().getPadding("lr"),wrapPaddingTB:this.wrapEl.getPadding("tb")+b.getPadding("tb")+a.getPadding("tb")+a.parent().getPadding("tb"),wrapBorderLR:this.wrapEl.getBorderWidth("lr")+b.getBorderWidth("lr")+a.getBorderWidth("lr")+a.parent().getBorderWidth("lr"),wrapBorderTB:this.wrapEl.getBorderWidth("tb")+b.getBorderWidth("tb")+a.getBorderWidth("tb")+a.parent().getBorderWidth("tb"),wrapMarginLR:this.wrapEl.getMargins("lr")+b.getMargins("lr")+a.getMargins("lr")+a.parent().getMargins("lr"),wrapMarginTB:this.wrapEl.getMargins("tb")+b.getMargins("tb")+a.getMargins("tb")+a.parent().getMargins("tb"),bodyPaddingLR:this.bodyEl.getPadding("lr"),bodyPaddingTB:this.bodyEl.getPadding("tb"),bodyBorderLR:this.bodyEl.getBorderWidth("lr"),bodyBorderTB:this.bodyEl.getBorderWidth("tb"),bodyMarginLR:this.bodyEl.getMargins("lr"),bodyMarginTB:this.bodyEl.getMargins("tb")}},collapse:function(){this.collapsed=true;this.collTool.addClass("coll-tool-closed");this.openHeight=this.el.getHeight();this.resEl.enabled=false;var a=this.headEl.getHeight()+this.bottomEl.getHeight();if(this.animateCollapse!==false){this.wrapEl.parent().slideOut("t",{easing:"easeInStrong",duration:0.5,remove:false,useDisplay:false,callback:function(){this.wrapEl.parent().addClass("i-nullheight");this.el.setHeight(a);if(!this.height||this.height.toString().indexOf("%")==-1){this.height=a}this.fireEvent("collapse",this)},scope:this})}else{this.wrapEl.parent().addClass("i-nullheight");if(!this.height||this.height.toString().indexOf("%")==-1){this.height=a}this.fireEvent("collapse",this);this.el.setHeight(a,true)}},expand:function(){this.collapsed=false;this.collTool.removeClass("coll-tool-closed");this.wrapEl.parent().removeClass("i-nullheight");this.fireEvent("expand",this);if(this.animateCollapse!==false){this.wrapEl.parent().slideIn("t",{easing:"easeInStrong",duration:0.5,remove:false,useDisplay:false,callback:function(){this.wrapEl.parent().setStyle("visibility","");this.el.setHeight(this.openHeight);if(!this.height||this.height.toString().indexOf("%")==-1){this.height=this.openHeight}if(this.resEl){this.resEl.enabled=true}this.fireEvent("afterexpand",this)},scope:this})}else{this.wrapEl.parent().setStyle("visibility","");this.el.setHeight(this.openHeight,true);if(!this.height||this.height.toString().indexOf("%")==-1){this.height=this.openHeight}this.resEl.enabled=true;this.fireEvent("afterexpand",this)}},innerWidth:function(b){if(!this.styleCache){this.refreshStyleCache()}var a=this.styleCache;if(b&&b.indexOf&&b.indexOf("%")!=-1){this.el.dom.style.width=((this.container.innerWidth?this.container.innerWidth():this.container.dom.offsetWidth)*parseFloat(b.replace("%",""))/100)+"px"}else{if(b){this.el.dom.style.width=(b>0?b:0)+"px"}}return(this.el.dom.style.width?parseInt(this.el.dom.style.width.replace("px",""),10):this.el.dom.offsetWidth)-((this.scrollV&&this.scrollV.track.isVisible())?16:0)-a.elPaddingLR-a.elMarginLR-a.elBorderLR-a.wrapPaddingLR-a.wrapMarginLR-a.wrapBorderLR},innerHeight:function(a,d){if(!this.styleCache){this.refreshStyleCache()}var b=this.styleCache;var c;if(a&&a.indexOf&&a.indexOf("%")!=-1){c=((this.container.innerHeight?this.container.innerHeight():this.container.dom.offsetHeight)*parseFloat(a.replace("%",""))/100)}else{if(a){c=(a>0?a:0)}}if(c){this.el.setHeight(c,d)}else{c=parseInt(this.el.dom.style.height.replace("px",""),10)}return(this.el.dom.style.height?c:this.el.dom.offsetHeight)-((this.titleEl)?this.titleEl.dom.offsetHeight:0)-((this.bottomEl)?this.bottomEl.dom.offsetHeight:8)-b.elPaddingTB-b.elMarginTB-b.elBorderTB-b.wrapPaddingTB-b.wrapMarginTB-b.wrapBorderTB},setTitle:function(a){if(!this.titleThru){Ext.DomHelper.overwrite(Ext.get(this.id+"_title").first(),a)}else{this.container.title=a}},setMode:function(c){switch(c){case"portlet":if(this.mode=="window"){this.winSize=this.el.getSize();this.winPosition=this.el.getXY();this.el.removeClass("window")}if(this.dd){this.dd.unreg()}this.el.addClass("block");this.el.addClass("i-draggable");this.setResHandlers("s");this.el.dom.style.position="relative";this.el.dom.style.opacity="1.0";this.el.dom.style.left="";this.el.dom.style.top="";if(this.portletContainer){this.el.appendTo(this.portletContainer)}else{this.el.appendTo(this.cont)}this.resEl.resizeTo("100%",this.el.getHeight());this.dd=new in4.base.DDList(this.el.id,this.portletGroup||"group",{scroll:false});this.dd.setHandleElId(this.headEl.id);this.mode="portlet";break;case"window":this.portletContainer=this.cont;if(this.dd){this.dd.unreg()}this.el.removeClass("block");this.el.addClass("window");this.el.addClass("i-draggable");this.el.setStyle("z-index",9001);if(this.resizeable){this.setResHandlers("s e n w se")}if(this.winSize){this.resEl.resizeTo(this.winSize.width,this.winSize.height)}else{this.resEl.resizeTo(this.el.dom.offsetWidth,this.el.dom.offsetHeight)}if(this.winPosition){this.el.dom.style.left=this.winPosition[0];this.el.dom.style.top=this.winPosition[1]}else{var b=Ext.getBody().getSize();var a=this.el.getSize();this.el.dom.style.left=(b.width-a.width)/2+"px";this.el.dom.style.top=(b.height-a.height)/2+"px"}this.el.dom.style.position="absolute";this.el.appendTo(Ext.getBody());this.dd=new Ext.dd.DDProxy(this.el.id,"group",{scroll:false,onDragOver:this.onDragOver||Ext.emptyFn});this.dd.setHandleElId(this.headEl.id);this.mode="window";break;case"normal":default:if(this.dd){this.dd.unreg()}this.el.removeClass("i-draggable");break}}});in4.base.reg("panel",in4.base.Panel);in4.base.TabBar=Ext.extend(in4.base.Component,{gtype:"tab",initComponent:function(){this.maxTitleLength=this.maxTitleLength||18;this.height=this.height||42;if(this.items){this.items=null}this.addEvents({activetabchange:true});this.handlers={};in4.base.TabBar.superclass.initComponent.call(this);if(this.viewPort){if(in4.base.all[this.viewPort]){this.onAddViewPort(this,in4.base.all[this.viewPort])}else{this.container.on("add",this.onAddViewPort,this)}}if(this.targetEl=="wrap"){this.container.wrapEl.insertFirst(this.el)}else{this.container.el.insertFirst(this.el)}this.el.on("click",this.bodyClick,this)},onAddViewPort:function(b,d){if(this.viewPort==d.id){this.viewPort=d;this.container.un("add",this.onAddViewPort,this);for(var c=0,a=d.items.length;c<a;c++){this.addButton(d.items[c].id+"_"+this.id,d.items[c].title,d.items[c].closable,d.items[c].tabCls,d.items[c].iconCls);d.items[c].el.addClass("i-tab");if(c>0){Ext.get(d.items[c].id+"_"+this.id).removeClass("i-tab-active")}}this.viewPort.on("add",this.onAddView,this);if(this.viewPort.items.length>0){this.setActiveTab(this.viewPort.items[0])}}},onAddView:function(a,c){var b=c;c.el.addClass("i-tab");b.resEl.resizeTo(b.width,b.height);this.addButton(b.id+"_"+this.id,b.title,b.closable,b.tabCls,b.iconCls);this.setActiveTabById(b.id)},addButton:function(f,e,d,a,c,b){this.renderButton(this.bodyEl,f,e,d,a,c,b)},renderButton:function(f,h,g,d,a,c,b){b=b||{};var e={tag:"a",id:h,tab:a,cls:"i-tab-l x-unselectable",children:[{tag:"em",cls:"i-tab-r x-unselectable",children:[{tag:"span",cls:"i-tab-c x-unselectable",style:"height:"+this.height+"px",children:[{tag:"em",cls:"i-tab-text x-unselectable"+(c?(" i-tab-icon "+c):""),"iglue:tooltip":(!this.disableTips)?g:"",html:b.noTitle===true?"":in4.base.Utils.truncateByMaxChar(false,g,this.maxTitleLength)},d?{tag:"em",html:"",cls:"i-closeTab",style:"padding:0 0 0 10px;"}:{tag:"em"}]}]}]};this.lastButton=Ext.DomHelper.append(f||this.bodyEl,e,true);this.radioClass(this.lastButton);this.lastButton.addClassOnOver("i-tab-over");this.lastButton.slideIn("b",{duration:0.25,easing:"easeIn",remove:false,useDisplay:false,callback:this.afterButtonAdd.createDelegate(this)});if(Ext.isFunction(b.handler)){this.handlers[h.replace("_tabbar","")]={fn:b.handler,scope:b.scope||this,args:b.args||[]}}},afterButtonAdd:function(){this.lastButton.first().first().last().addClassOnOver("i-closeTab-over")},removeTab:function(a){a.removeAllListeners();this.bodyEl.dom.removeChild(a.dom);this.viewPort.remove(in4.base.all[a.id.replace("_"+this.id,"")])},bodyClick:function(f,a,g){var d=Ext.get(a);if(d.hasClass("i-closeTab")){if(this.viewPort&&this.viewPort.items&&this.viewPort.items[0]){this.setActiveTabById(this.viewPort.items[0].id)}var c=d.up("a.i-tab-l");this.removeTab(c)}else{var c=d.is("a.i-tab-l")?d:d.up("a.i-tab-l");if(c&&c.id){var b=c.id.replace("_"+this.id,"");if(this.setActiveTabById(b)!==false){this.radioClass(c)}}}return false},setActiveTabById:function(c){if(this.handlers[c]){if(this.handlers[c].fn.call(this.handlers[c].scope,this.handlers[c].args)===false){return false}}for(var b=0,a=this.viewPort.items.length;b<a;b++){if(this.viewPort.items[b].id==c){this.setActiveTab(this.viewPort.items[b]);break}}},setActiveTab:function(d,c){if(this.activeTab&&this.activeTab!=d){var b=Ext.get(this.activeTab.id+"_"+this.id);if(b){b.removeClass("i-tab-active")}this.activeTab.el.removeClass("i-active-tab")}d.el.addClass("i-active-tab");if(this.viewPort&&this.viewPort.lastWidth&&this.viewPort.lastHeight){if(d.lastWidth!=this.viewPort.lastWidth&&d.lastHeight!=this.viewPort.lastHeight){d.resize(d,this.viewPort.lastWidth,this.viewPort.lastHeight)}}var b=Ext.get(d.id+"_"+this.id);if(b){this.radioClass(b)}var a=this.activeTab;this.activeTab=d;this.fireEvent("activetabchange",this,d,a)},hasTabById:function(c){for(var b=0,a=this.viewPort.items.length;b<a;b++){if(this.viewPort.items[b].id==c){return true}}return false},radioClass:function(a){Ext.each(this.el.query(".i-tab-active"),function(b){Ext.fly(b,"_internal").removeClass("i-tab-active")});if(a){a.addClass("i-tab-active")}}});in4.base.reg("tab",in4.base.TabBar);in4.base.MainTab=Ext.extend(in4.base.TabBar,{gtype:"maintab",initComponent:function(){in4.base.MainTab.superclass.initComponent.call(this);this.fixedEl=Ext.DomHelper.insertFirst(this.el,{tag:"div",style:"position:absolute; left: 178px; top:0;",cls:"tab-fixed x-unselectable"},this);if(this.scrollButton==true){this.leftButton=Ext.DomHelper.append(this.wrapEl,{tag:"div",style:"position:absolute; left: 178px; top:0;",cls:"tab-scroll tab-scroll-left x-unselectable"},this);this.rightButton=Ext.DomHelper.append(this.wrapEl,{tag:"div",style:"position:absolute; right:204px; top:0;",cls:"tab-scroll tab-scroll-right x-unselectable"},this);this.menuButton=Ext.DomHelper.append(this.wrapEl,{tag:"div",style:"position:absolute; right:178px; top:0;",cls:"tab-scroll tab-scroll-menu x-unselectable"},this);this.bodyEl.dom.style.width="1px";this.bodyEl.dom.style.left="0";this.leftButton.addClassOnOver("tab-scroll-left-over");this.rightButton.addClassOnOver("tab-scroll-right-over");this.menuButton.addClassOnOver("tab-scroll-menu-over");this.rightButton.on("click",function(b,a,c){in4.base.Utils.setStyleImportant(this.bodyEl.dom,"left",this.getNextButtonPos("right")+"px");this.checkButtons()},this);this.leftButton.on("click",function(b,a,c){in4.base.Utils.setStyleImportant(this.bodyEl.dom,"left",this.getNextButtonPos("left")+"px");this.checkButtons()},this);this.menuButton.on("click",this.showOpenTabs,this);this.checkButtons()}this.checkButtons()},openStartMenu:function(b){var a=Ext.get("_startmenu");var c=a.getXY();in4.base.AssociationManager.showContext({x:c[0]-15,y:c[1]+24,side:"left",items:[{label:'<b class="i-tab-list-item"> '+msg.schemaeditor_title+" </b>",fn:this.loadModule,attrib:["schemaeditor"],scope:this},{label:'<b class="i-tab-list-item"> '+msg.hierarchyeditor_title+" </b>",fn:this.loadModule,attrib:["hierarchyeditor"],scope:this},{label:'<b class="i-tab-list-item"> '+msg.lang_title+" </b>",fn:this.loadModule,attrib:["language"],scope:this},{label:'<b class="i-tab-list-item"> '+msg.similator_title+" </b>",fn:this.loadModule,attrib:["similator"],scope:this},{label:'<b class="i-tab-list-item"> '+msg.gemini_title+" </b>",fn:this.loadModule,attrib:["gemini"],scope:this}]});return false},showOpenTabs:function(){var d=this.el.query("a.i-tab-l");var b=[];for(var c=0,a=d.length;c<a;c++){var f=d[c].firstChild.firstChild.firstChild.attributes.getNamedItem("iglue:tooltip").value;if(!f){continue}b.push({label:'<b class="i-tab-list-item'+(d[c].className.indexOf("i-tab-active")!=-1?" i-tab-list-item-active":"")+'">'+f+"</b>",fn:this.setActiveTabById,attrib:[d[c].id.replace("_"+this.id,"")],scope:this})}var e=this.menuButton.getXY();in4.base.AssociationManager.showContext({x:e[0]+26,y:e[1]+25,side:"right",items:b})},getNextButtonPos:function(b){var g=parseInt(this.bodyEl.dom.style.left.replace(/(px|pt|\%)/,""),10);var f=this.bodyEl.query("a.i-tab-l");switch(b){case"left":for(var c=0,a=f.length;c<a;c++){var e=f[c].offsetLeft;var h=e+f[c].offsetWidth;if(e<-g&&h>-g){return -e+(e>0?26:0)}else{if(e==-g&&c-1>=0&&f[c-1]){return -f[c-1].offsetLeft+(f[c-1].offsetLeft>0?26:0)}}}break;case"right":var d=this.wrapEl.dom.offsetWidth-this.fixedEl.dom.offsetWidth-52;for(var c=0,a=f.length;c<a;c++){var e=f[c].offsetLeft;var h=e+f[c].offsetWidth;if((e<-g+d)&&(h>-g+d)){return -h+d}else{if((-h+d==g)&&c+1<f.length&&f[c+1]){return -f[c+1].offsetLeft-f[c+1].offsetWidth+d}}}break;default:return 0}return g},onAddView:function(a,c){var b=c;c.el.addClass("i-tab");b.resEl.resizeTo(b.width,b.height);this.addButton(b.id+"_"+this.id,b.title,b.closable,b.tabCls,b.iconCls,b.tabButton);this.setActiveTabById(b.id)},addButton:function(f,e,d,a,c,b){b=b||{};if(b.fix===true){this.renderButton(this.fixedEl,f,e,d,a,c,b)}else{this.renderButton(this.bodyEl,f,e,d,a,c,b)}},renderButton:function(e,a,g,h,c,i,d){var b;if(d.fix!==true){b=this.bodyEl.dom.offsetWidth;this.bodyEl.dom.style.width=(b+180)+"px"}in4.base.MainTab.superclass.renderButton.call(this,e,a,g,h,c,i,d);if(this.leftButton&&this.rightButton){if(this.lastButton.parent(".tab-fixed")){var f=this.lastButton.dom.offsetWidth;this.fixedEl.dom.style.width=(parseInt(this.fixedEl.dom.offsetWidth)+f)+"px";this.el.dom.style.paddingLeft=(parseInt(this.el.dom.style.paddingLeft)+f)+"px";this.leftButton.dom.style.left=(parseInt(this.leftButton.dom.style.left)+f)+"px";this.rightButton.dom.style.right=(parseInt(this.rightButton.dom.style.right)+f)+"px";this.menuButton.dom.style.right=(parseInt(this.menuButton.dom.style.right)+f)+"px"}else{this.bodyEl.dom.style.width=(b+this.lastButton.dom.offsetWidth+10)+"px"}}},afterButtonAdd:function(){in4.base.MainTab.superclass.afterButtonAdd.call(this);if(this.leftButton&&this.rightButton){if((this.lastButton.dom.offsetLeft+this.lastButton.dom.offsetWidth)>(this.wrapEl.dom.offsetWidth-this.fixedEl.dom.offsetWidth-52)){in4.base.Utils.setStyleImportant(this.bodyEl.dom,"left",(-(this.lastButton.dom.offsetLeft+this.lastButton.dom.offsetWidth)+(this.wrapEl.dom.offsetWidth-this.fixedEl.dom.offsetWidth-52))+"px")}this.checkButtons()}},removeTab:function(b){in4.base.MainTab.superclass.removeTab.call(this,b);var a=b.dom.offsetWidth;if(this.leftButton&&this.rightButton){this.bodyEl.dom.style.width=(this.bodyEl.dom.offsetWidth-a-10)+"px";this.checkButtons()}},resize:function(a,b){in4.base.MainTab.superclass.resize.call(this,a,b);if(this.leftButton&&this.rightButton){this.checkButtons()}},checkButtons:function(){var b=this.bodyEl.dom.style.left.replace("pt","").replace("px","");var a=parseInt(b,10);if(a<0){this.leftButton.show()}else{this.leftButton.hide()}if(this.wrapEl.dom.offsetWidth-52<(this.bodyEl.dom.offsetWidth+a)){this.rightButton.show()}else{this.rightButton.hide()}},setActiveTab:function(c,b){in4.base.MainTab.superclass.setActiveTab.call(this,c,b);var a=Ext.get(c.id+"_"+this.id);if(a){if((a.dom.offsetLeft+a.dom.offsetWidth+this.bodyEl.dom.offsetLeft)>(this.wrapEl.dom.offsetWidth-this.fixedEl.dom.offsetWidth-52)){in4.base.Utils.setStyleImportant(this.bodyEl.dom,"left",(-(a.dom.offsetLeft+a.dom.offsetWidth)+(this.wrapEl.dom.offsetWidth-this.fixedEl.dom.offsetWidth-52))+"px");this.checkButtons()}if(a.dom.offsetLeft-(a.dom.offsetLeft>0?26:0)<-this.bodyEl.dom.offsetLeft){in4.base.Utils.setStyleImportant(this.bodyEl.dom,"left",((-a.dom.offsetLeft)+(a.dom.offsetLeft>0?26:0))+"px");this.checkButtons()}}},loadModule:function(a){in4.base.application.moduleMgr.activateModule(a)}});in4.base.reg("maintab",in4.base.MainTab);in4.base.MessageBox=function(){var g,a,h;var m,k,d,e,b,f;var c=function(n){if(g.el.isVisible()){g.hide();if(a.fn){a.fn.call(a.scope||window,n,a)}}};var i=function(q,p,n){var o=new in4.base.form.Button({elCls:"iglue-greenbutton",container:btnsEl,text:q,listeners:{click:p.createDelegate(this,[n])}});return o};var l=function(n,o){if(h[n]){h[n].setText(o)}};var j=function(o,p,n){if(Ext.get(p).hasClass("modal-close")){this.hide()}if(Ext.get(p).hasClass("i-clickable-link")){return}o.stopEvent()};return{getDialog:function(){if(!g){g=new in4.base.Panel({boxCls:"a-pan",isModal:{overlay:Ext.getBody(),closable:false},mode:"window",width:350,autoHeight:true,container:Ext.getBody()});var n=new Ext.XTemplate('<img class="modal-close i-link" src="res/iglue/images/auth/close.png" style="float: right;padding-right:24px; position: relative; top: -15px;" />','<div class="i-icon"></div><div class="i-content"><div style="margin-left: 20px; margin-top: 10px; margin-bottom: 10px;" class="msgbox-title" ></div>','<div style="position: relative; margin-left: 20px; margin-right: 60px;">','<div style="width: 100%; font-size: 14px; color: #777777;" class="i-text"></div>',"</div>",'<div class="button-wrapper">','<div class="i-buttons"></div></div></div>',{msg:msg});n.append(g.bodyEl);m=g.bodyEl;m.on("click",j,g);f=Ext.get(m.dom.firstChild);k=Ext.get(m.dom.childNodes[1]);var o=m.dom.childNodes[2];b=Ext.get(o.firstChild);d=Ext.get(o.childNodes[1].firstChild);btnsEl=Ext.get(Ext.get(o).child(".i-buttons"));h={};h.ok=i(msg.ok,c,"ok");h.yes=i(msg.yes,c,"yes");h.no=i(msg.no,c,"no");h.cancel=i(msg.cancel,c,"cancel")}return g},show:function(n){a=n;var u=this.getDialog();u.hide();b.update(a.title||"&#160;");if(a.noTitle===true){b.setStyle("display","none")}else{b.setStyle("display","block")}d.update(a.text||"&#160;");h.ok.el.setStyle("display","none");h.yes.el.setStyle("display","none");h.no.el.setStyle("display","none");h.cancel.el.setStyle("display","none");if(a.buttons){for(var p in a.buttons){if(h[p]&&a.buttons[p]){h[p].el.setStyle("display","block");if(typeof a.buttons[p]==="string"){h[p].setText(a.buttons[p])}else{var q={ok:msg.ok,cancel:msg.cancel,yes:msg.yes,no:msg.no};h[p].setText(q[p])}}}}if(a.closable===true){f.setStyle("display","block")}else{f.setStyle("display","none")}u.resize(u,a.width||350,"100%");var s=Ext.getBody().getSize();var o=u.el.getSize();u.el.dom.style.left=(s.width-o.width)/2+"px";u.el.dom.style.top=Math.max(0,(s.height-(a.height||o.height))/2)+"px";u.el.dom.style.position="absolute";u.show();var r=a.zIndex||10100;u.el.setStyle("z-index",r+1);u.overlay.setStyle("z-index",r);return this},showMessage:function(n,o){this.show({width:300,text:n,title:o,noTitle:(!o),buttons:in4.base.MessageBox.OK})},showAlert:function(n,o){this.show({width:300,text:n,title:o,buttons:in4.base.MessageBox.OK})},OK:{ok:true},CANCEL:{cancel:true},OKCANCEL:{ok:true,cancel:true},YESNO:{yes:true,no:true},YESNOCANCEL:{yes:true,no:true,cancel:true}}}();in4.base.form.Date=function(){this.value1=null;this.value2=null;this.type=0;this.parseRaw=function(a){this.value1=a.value1;this.value2=a.value2;this.type=a.type};this.parseString=function(b,a){var d=null;if(b){d=this.stringToValue(b)}var c=null;if(a){c=this.stringToValue(a)}if(!b&&!a){this.type=0}else{if(!b){this.type=2;this.value1=c}else{if(!a){this.type=3;this.value1=d}else{if(b==a&&d.approx){this.type=4;this.value1=d}else{if(b==a&&!d.approx){this.type=0;this.value1=d}else{this.type=1;this.value1=d;this.value2=c}}}}}};this.parseRawString=function(b,a){var d=null;if(b){d=this.rawStringToValue(b)}var c=null;if(a){c=this.rawStringToValue(a)}if(!b&&!a){this.type=0}else{if(!b){this.type=2;this.value1=c}else{if(!a){this.type=3;this.value1=d}else{if(b==a&&d.approx){this.type=4;this.value1=d}else{if(b==a&&!d.approx){this.type=0;this.value1=d}else{this.type=1;this.value1=d;this.value2=c}}}}}};this.getDisplay=function(){var c="";if(this.value1){c=this.valueToDisplay(this.value1)}var b="";if(this.value2){b=this.valueToDisplay(this.value2)}var a="";switch(this.type){case 0:a=c;break;case 1:a=c+" - "+b;break;case 2:a=msg.date_format_before_prefix+" "+c+" "+msg.date_format_before_suffix;break;case 3:a=msg.date_format_after_prefix+" "+c+" "+msg.date_format_after_suffix;break;case 4:a=msg.date_format_approx_prefix+" "+c+" "+msg.date_format_approx_suffix;break}return a};this.getValue=function(){return{displayField:this.getDisplay(),valueField:this.getRawValue()}};this.getRawValue=function(){return{value1:this.value1,value2:this.value2,type:this.type}};this.getString=function(){var a=msg.date_format_full;var f="";var c="";if(this.value1.day){f="-"+this.value1.day;c="day"}if(this.value1.month){f="-"+this.value1.month+f;if(c==""){c="month";a=msg.date_format_without_days}}else{c="year";f=""}f=this.value1.year+f;if(c==""){c="year";a=msg.date_format_only_years}if(this.type==4){f="~"+f}if(this.value1.beforeChrist){f="B"+f}var d=c+"|"+f;if(this.value2){f="";c="";if(this.value2.day){f="-"+this.value2.day;c="day"}if(this.value2.month){f="-"+this.value2.month+f;if(c==""){c="month"}}f=this.value2.year+f;if(c==""){c="year";a=msg.date_format_only_years}if(this.type==4){f="~"+f}if(this.value2.beforeChrist){f="B"+f}var b=c+"|"+f}var e={};switch(this.type){case 0:case 4:e={value1:d,value2:d};break;case 1:e={value1:d,value2:b};break;case 2:e={value2:d};break;case 3:e={value1:d};break}return e};this.valueToDisplay=function(d){if(d.display){return d.display}var b,c;if(d.day&&d.month&&d.year){c="day";b=msg.date_format_full}else{if(d.month&&d.year){c="month";b=msg.date_format_without_days}else{if(d.year){c="";b=msg.date_format_only_years}else{return""}}}var a=["",msg.january_short,msg.february_short,msg.march_short,msg.april_short,msg.may_short,msg.june_short,msg.july_short,msg.august_short,msg.september_short,msg.october_short,msg.november_short,msg.december_short];if(d.beforeChrist){b=b.replace(/CC/,msg.before_christ)}else{b=b.replace(/CC /,"")}if(d.year){b=b.replace(/YYYY/,d.year)}if(d.month!=undefined){b=b.replace(/MMM/,a[parseInt(d.month,10)])}if(d.day!=undefined){b=b.replace(/DD/,d.day)}return b};this.stringToValue=function(f){var c={};if(!f){return c}var a=f.split("#");if(a.length>1){c.display=a[1]}var e=a[0].split("|");var d=e[1];if(d.substr(0,1)=="B"){c.beforeChrist=true;d=d.substr(1)}if(d.substr(0,1)=="~"){c.approx=true;d=d.substr(1)}var b=d.split("-");switch(e[0]){case"day":c.day=b[2];case"month":c.month=b[1];case"year":c.year=b[0]}return c};this.rawStringToValue=function(e){var c={};if(!e){return c}var a=e.split("#");if(a.length>1){c.display=a[1]}var d=a[0];if(d.substr(0,1)=="B"){c.beforeChrist=true;d=d.substr(1)}if(d.substr(0,1)=="~"){c.approx=true;d=d.substr(1)}var b=d.split("-");if(b.length>2){c.day=b[2]}if(b.length>1){c.month=b[1]}if(b.length>0){c.year=b[0]}return c};this.isEmpty=function(){if(Ext.isEmpty(this.value1)&&Ext.isEmpty(this.value2)){return true}return false};this.parseInputString=function(b){this.value1=this.value2=null;this.type=0;var a=this.suggestDateFormats(b);if(a.length>0){Ext.apply(this,a[0])}};this.suggestDateFormats=function(l){var h=[];l=l.trimInside();var o=[{pattern:"DDDD - DDDD",type:1},{pattern:"between DDDD and DDDD",type:1},{pattern:"before DDDD",type:2},{pattern:"after DDDD",type:3},{pattern:"DDDD",type:0}];for(var e=0,f=o.length;e<f;e++){var p=o[e].pattern.replace(/\./g,"\\s*\\.\\s*");p=p.replace(/,/g,"\\s*\\,\\s*");p=p.replace(/-/g,"\\s*[-–]\\s*");p=p.replace(/DDDD/g,"(.*?)");var r=new RegExp("^"+p+"$");var m=r.exec(l);if(m){var q=this.parseInputPiece(m[1]);var g=[];if(o[e].type==1){g=this.parseInputPiece(m[m.length-1])}if(q.length>0){for(var d=0,n=q.length;d<n;d++){if(g.length>0){for(var b=0,a=g.length;b<a;b++){var c=new in4.base.form.Date();c.value1=q[d];c.value2=g[b];c.type=o[e].type;h.push(c)}}else{var c=new in4.base.form.Date();c.value1=q[d];c.type=o[e].type;h.push(c)}}}}}return h};this.parseInputPiece=function(m){if(!m){return[]}var p=false;if(m.indexOf("BC")!=-1){p=true;m=m.replace("BC","")}var a=[msg.january_short,msg.february_short,msg.march_short,msg.april_short,msg.may_short,msg.june_short,msg.july_short,msg.august_short,msg.september_short,msg.october_short,msg.november_short,msg.december_short];var d="("+a.join("|")+")";var b=["YYYY.MM.DD","MMMM DD, YYYY","DD MMMM YYYY","YYYY.MM","MMMM, YYYY","YYYY","DD/MM/YYYY","MM/DD/YYYY","YYYY/MM/DD"];var n=[{year:1,month:2,day:3},{year:3,amonth:1,day:2},{year:3,amonth:2,day:1},{year:1,month:2},{year:2,amonth:1},{year:1},{year:3,month:2,day:1},{year:3,month:1,day:2},{year:1,month:2,day:3}];var g=false;var h=[];for(var f=0,e=b.length;f<e;f++){var k={beforeChrist:p};var q=b[f].replace(/\./g,"\\s*\\.\\s*");q=q.replace(/,/g,"\\s*\\,\\s*");q=q.replace(/-/g,"\\s*[-–]\\s*");q=q.replace(/YYYY/g,"(\\d{1,5})");q=q.replace(/MMMM/g,d);q=q.replace(/MM/g,"(\\d{1,2})");q=q.replace(/DD/g,"(\\d{1,2})");var r=new RegExp("^"+q+"$");var l=r.exec(m);if(l){g=true;var c=n[f];k.year=l[c.year];if(c.month){var j=parseInt(l[c.month]);if(j<1||j>12){continue}k.month=l[c.month]}if(c.amonth){var j=a.indexOf(l[c.amonth]);if(j==-1){continue}k.month=j+1}if(c.day){var o=parseInt(l[c.day]);if(o<1||o>31){continue}k.day=l[c.day]}h.push(k)}}if(!g){for(var f=0,e=b.length;f<e;f++){var q=b[f].replace(/\./g,"\\s*\\.\\s*");q=q.replace(/,/g,"\\s*\\,\\s*");q=q.replace(/-/g,"\\s*[-–]\\s*");q=q.replace(/YYYY/g,"(\\d{1,5})");q=q.replace(/MMMM/g,d);q=q.replace(/MM/g,"(\\d{1,2})");q=q.replace(/DD/g,"(\\d{1,2})");var r=new RegExp("^"+q+"(.*?)$");var l=r.exec(m);if(l){var c=n[f];k.year=l[c.year];if(c.month){var j=parseInt(l[c.month]);if(j<1||j>12){continue}k.month=l[c.month]}if(c.amonth){var j=a.indexOf(l[c.amonth]);if(j==-1){continue}k.month=j+1}if(c.day){var o=parseInt(l[c.day]);if(o<1||o>31){continue}k.day=l[c.day]}h.push(k)}}}return h}};in4.base.reg("date",in4.base.form.Date);in4.base.form.Field=Ext.extend(in4.base.Component,{initComponent:function(){this.addEvents({beforechange:true,change:true,blur:true,afterblur:true});in4.base.form.Field.superclass.initComponent.apply(this,arguments)},validate:function(){return true},getValue:function(){return this.value},setValue:function(a){var b=String(a);this.value=a;this.validate();return this},setInitialValue:function(a){this.setValue(a);this.originalValue=a},parseValue:function(a){a=String(a);return a},focus:function(){},onBlur:function(b,a,c){this.validate();this.fireEvent("afterblur",this,b)},isValid:function(){if(this.allowBlank===true&&Ext.isEmpty(this.getValue())){return false}return true},isDirty:function(){if((this.originalValue&&this.originalValue==this.value)||(!this.originalValue&&this.value=="")){return false}return true}});in4.base.reg("field",in4.base.form.Field);in4.base.form.TextField=Ext.extend(in4.base.form.Field,{queryDelay:0,originalValue:"",tpl:new Ext.XTemplate('<div class="i-form-field {[values.label ? "i-form-field-labeled" : ""]}" style="">','<div class="i-form-field-container">','<div class="i-form-field-border">','<div class="i-form-field-border-invalid" style="">','<div class="i-form-field-wrapper" style="">','<div class="i-form-field-body" style="">','<input class="i-form-field-input" type="{type}" id="{id}_input" autocomplete="off" value="" />',"</div>","</div>","</div>","</div>","</div>",'<tpl if="values.label">','<div class="i-form-field-label" style="">','<label style="" for="{id}_input">{label}</label>',"</div>","</tpl>","</div>"),initComponent:function(){in4.base.form.TextField.superclass.initComponent.apply(this,arguments);this.onRender();if(this.disabled===true){this.disable(true)}if(!Ext.isEmpty(this.originalValue)){this.setValue(this.originalValue)}this.initEvents()},onRender:function(){this.tpl.insertFirst(this.bodyEl,{id:this.id,type:this.type||"text",label:this.label,config:this});this.input=Ext.get(this.bodyEl.child(".i-form-field-input"));this.input.addClass(this.inputCls||"");this.field=this.bodyEl.child(".i-form-field");this.container=this.bodyEl.child(".i-form-field-container");if(this.width){this.field.setWidth(this.width)}if(this.height){this.field.setHeight(this.height);this.container.setHeight(this.height)}this.el.addClass("field-empty-text");this.input.dom.value="";this.applyDefaultText()},resize:function(g,a,b,f,d){in4.base.form.TextField.superclass.resize.call(this,g,a,b,f,d);if(this.field){this.field.setWidth(a);this.field.setHeight(b);this.container.setHeight(b)}},initEvents:function(){this.input.on("blur",this.onBlur,this);this.input.on("keyup",this.onKeyUp,this);this.input.on("keydown",this.onKeyDown,this);this.input.on("keypress",this.onKeyPress,this);this.input.on("focus",this.onFocus,this);this.on("blur",this.onBlur,this)},validate:function(){if(!Ext.isString(this.getValue())){this.setValue("")}},onFocus:function(){if(this.defaultText&&this.input.dom.value==this.defaultText){this.setRawValue("");this.el.removeClass("field-empty-text")}this.fireEvent("focus",this)},onKeyDown:function(b,a,c){if(b.getKey()==b.ESC){this.reset();this.onBlur()}this.fireEvent("keydown",this,b,a,c)},onKeyPress:function(a){if(a.getKey()==a.ENTER){this.fireEvent("submit",this,a,this.getValue());this.onBlur()}this.fireEvent("keypress",this,a)},onKeyUp:function(c){var b=c.getKey();if(this.queryDelay){if(b==c.BACKSPACE||!c.isSpecialKey()){this.lastKey=b;if(this.timeout){clearTimeout(this.timeout)}var a=this;this.timeout=setTimeout(function(){a.fireEvent("submit",a,c,a.getValue())},this.queryDelay)}}},triggerBlur:function(){this.input.dom.blur()},onBlur:function(b,a,c){this.validate();this.applyDefaultText();this.fireEvent("afterblur",this,b)},focus:function(){this.input.dom.focus()},getValue:function(){return(this.input.dom.value!=this.defaultText?this.input.dom.value:"")},getRawValue:function(){return this.getValue()},setValue:function(a){this.input.dom.value=a;this.el.removeClass("field-empty-text")},setRawValue:function(a){this.input.dom.value=a},applyDefaultText:function(){var a=this.getRawValue()||"";if(Ext.isEmpty(a)&&this.defaultText){this.el.addClass("field-empty-text");this.input.dom.value=this.defaultText}else{this.el.removeClass("field-empty-text")}},reset:function(){this.setValue(this.originalValue||"");this.applyDefaultText()},markInvalid:function(a){if(a!==false){this.el.addClass("i-form-field-invalid")}else{this.el.removeClass("i-form-field-invalid")}},isValid:function(){if(this.allowBlank!==true&&Ext.isEmpty(this.getValue())){this.markInvalid(true);return false}this.markInvalid(false);return true},isDirty:function(){if((this.originalValue&&this.originalValue==this.getRawValue())||(!this.originalValue&&this.getRawValue()=="")){return false}return true},disable:function(a){if(a!=this.disabled){this.disabled=a;this.input.dom.disabled=a}}});in4.base.reg("textfield",in4.base.form.TextField);in4.base.form.TextArea=Ext.extend(in4.base.form.TextField,{autoHeight:false,tpl:new Ext.XTemplate('<div class="i-form-field {[values.label ? "i-form-field-labeled" : ""]}" style="">','<div class="i-form-field-container">','<div class="i-form-field-border">','<div class="i-form-field-border-invalid" style="">','<div class="i-form-field-wrapper" style="">','<div class="i-form-field-body" style="">','<textarea class="i-form-field-input" type="{type}" autocomplete="off" id="{id}_input"></textarea>',"</div>","</div>","</div>","</div>","</div>",'<tpl if="values.label">','<div class="i-form-field-label" style="">','<label style="" for="{id}_input">{label}</label>',"</div>","</tpl>","</div>"),onRender:function(){in4.base.form.TextArea.superclass.onRender.call(this)},onKeyPress:function(a){if(a.getKey()==a.ENTER){a.stopPropagation()}if(a.ctrlKey||a.isSpecialKey()){return false}},onKeyDown:function(b,a,c){if(b.getKey()==b.ENTER){b.stopPropagation();return true}this.fireEvent("keydown",this,b,a,c)}});in4.base.reg("textarea",in4.base.form.TextArea);in4.base.form.TriggerField=Ext.extend(in4.base.form.TextField,{triggerClass:"combo-arrow",tpl:new Ext.XTemplate('<div class="i-form-field {[values.hideTrigger ? "" : "i-form-field-triggered"]} {[values.label ? "i-form-field-labeled" : ""]}" style="">','<div class="i-form-field-container">','<div class="i-form-field-border">','<div class="i-form-field-border-invalid" style="">','<div class="i-form-field-wrapper" style="">','<div class="i-form-field-body" style="">','<input class="i-form-field-input" type="{type}" id="{id}_input" autocomplete="off" value="" />',"</div>",'<div class="i-form-field-trigger {triggerClass}" style=""></div>',"</div>","</div>","</div>","</div>",'<tpl if="values.label">','<div class="i-form-field-label" style="">','<label style="" for="{id}_input">{label}</label>',"</div>","</tpl>","</div>"),initComponent:function(){in4.base.form.TriggerField.superclass.initComponent.apply(this,arguments)},onRender:function(){this.tpl.insertFirst(this.bodyEl,{id:this.id,label:this.label,hideTrigger:this.hideTrigger,triggerClass:this.triggerClass,config:this});this.input=Ext.get(this.bodyEl.child(".i-form-field-input"));this.field=this.bodyEl.child(".i-form-field");this.container=this.bodyEl.child(".i-form-field-container");if(this.width){this.field.setWidth(this.width)}if(this.height){this.field.setHeight(this.height);this.container.setHeight(this.height)}this.trigger=Ext.get(this.bodyEl.child(".i-form-field-trigger"));this.el.addClass("field-empty-text");this.input.dom.value="";this.applyDefaultText()},onTriggerClick:Ext.EmptyFn});in4.base.reg("triggerfield",in4.base.form.TriggerField);in4.base.form.PropertyEditorField=Ext.extend(in4.base.form.Field,{setValue:function(b){this.propertyType=b.propertyType;if(this.items&&this.items.length>0){this.items[0].un("afterblur",this.onBlur,this);var a=this.items[0];this.remove(a);a.dispose()}if(this.propertyType=="link"&&this.entitySelector!==true){this.initLinkField(b.domains||[]);this.items[0].setInitialValue({id:b.value2,name:b.value1})}else{if(this.propertyType=="link"){this.initSLinkField();this.items[0].setValue({valueField:b.value2,displayField:b.value1,itemId:b.itemId})}else{if(this.propertyType=="date"){this.initDateField();var c;if(Ext.isString(b.value1)||Ext.isString(b.value2)){c=new in4.base.form.Date();c.parseString(b.value1,b.value2)}else{c=b}this.items[0].setValue(c)}else{if(this.propertyType=="number"){if(b.unit){this.initNumberField();var c=new in4.base.Number();c.unit=b.unit;c.parseString(b.value1,b.value2);this.items[0].setValue(c)}else{this.initTextField();this.items[0].setValue(b.value1)}}else{this.initTextField();this.items[0].setValue((b.value1||"").split("#")[0])}}}}},getValue:function(){return this.items[0].getValue()},focus:function(){this.items[0].focus()},initLinkField:function(a){this.add({gtype:"combo",width:this.bodyEl.dom.offsetWidth,height:this.bodyEl.dom.offsetHeight,displayField:"entityName",valueField:"entityId",listType:"grid",pageSize:20,rowTpl:"base",CRUD:{RETRIEVE:{action:"search",method:"findEntitiesInCategory",params:{query:"",categoryIds:a,start:0}}}});this.items[0].on("afterblur",this.onBlur,this)},initSLinkField:function(){this.add({gtype:"entityselector",width:this.bodyEl.dom.offsetWidth,height:this.bodyEl.dom.offsetHeight});this.items[0].on("afterblur",this.onBlur,this)},initDateField:function(){this.add({gtype:"dateinlinefield",width:this.bodyEl.dom.offsetWidth,height:this.bodyEl.dom.offsetHeight});this.items[0].on("afterblur",this.onBlur,this)},initNumberField:function(){this.add({gtype:"numericselector",width:this.bodyEl.dom.offsetWidth,height:this.bodyEl.dom.offsetHeight});this.items[0].on("afterblur",this.onBlur,this)},initTextField:function(){this.add({gtype:"textarea",width:this.bodyEl.dom.offsetWidth,height:this.bodyEl.dom.offsetHeight});this.items[0].on("afterblur",this.onBlur,this)},onBlur:function(c,b,a){in4.base.form.PropertyEditorField.superclass.onBlur.call(this,this,b)}});in4.base.reg("propertyeditor",in4.base.form.PropertyEditorField);in4.base.form.DateField=Ext.extend(in4.base.form.TriggerField,{elCls:"trigger-field",initComponent:function(){in4.base.form.DateField.superclass.initComponent.apply(this,arguments)},initEvents:function(){this.input.on("focus",this.onFocus,this)},onFocus:function(a){a.stopEvent();this.onTriggerClick()},onTriggerClick:function(){var a=new in4.base.form.Date();if(this.value){a=this.value}if(!this.activeWindow){this.activeWindow=new in4.base.form.DateChooserWindow({container:in4.base.all.center,field:this})}else{this.activeWindow.show()}this.activeWindow.updateFields(a);this.triggerBlur()},validate:function(){return true},setValue:function(a){this.value=a;in4.base.form.DateField.superclass.setValue.call(this,a?a.getDisplay():"")},getValue:function(){return this.value},dispose:function(){this.activeWindow.dispose();in4.base.form.DateField.superclass.dispose.call(this)},isValid:function(){if(this.allowBlank===true||(Ext.isObject(this.value)&&!this.value.isEmpty())){this.markInvalid(false);return true}this.markInvalid(true);return false}});in4.base.reg("datefield",in4.base.form.DateField);in4.base.form.DateInlineField=Ext.extend(in4.base.form.TextField,{elCls:"trigger-field",initComponent:function(){in4.base.form.DateInlineField.superclass.initComponent.apply(this,arguments)},initEvents:function(){this.input.on("blur",this.onBlur,this,{delay:200});this.input.on("keyup",this.onKeyUp,this);this.input.on("keydown",this.onKeyDown,this);this.input.on("keypress",this.onKeyPress,this);this.input.on("focus",this.onFocus,this);this.on("blur",this.onBlur,this,{delay:200})},onFocus:function(a){a.stopEvent();this.onTriggerClick()},onTriggerClick:function(){if(!this.activeWindow){this.activeWindow=Ext.DomHelper.append(Ext.getBody(),{tag:"div",id:this.id+"_tooltip",cls:"i-tooltip",html:""},true);this.activeWindow.on("click",this.onSuggestionClick,this)}else{this.activeWindow.show()}this.activeWindow.alignTo(this.el,"bl",[0,0]);this.onKeyUp()},onSuggestionClick:function(d){var c=d.getTarget();if(c.id){for(var b=0,a=this.suggestions.length;b<a;b++){if(this.suggestions[b].id==c.id){this.input.dom.value=this.suggestions[b].getDisplay();this.value=this.suggestions[b];d.stopEvent();break}}}},onKeyUp:function(f){var c=new in4.base.form.Date();this.suggestions=c.suggestDateFormats(this.getRawValue());var b="";for(var d=0,a=this.suggestions.length;d<a;d++){this.suggestions[d].id=Ext.id();b+='<span id="'+this.suggestions[d].id+'">'+this.suggestions[d].getDisplay()+"</span><br/>"}this.activeWindow.dom.innerHTML=b},validate:function(){if(!this.value||this.getRawValue()!=this.value.getDisplay()){var a=(new in4.base.form.Date()).suggestDateFormats(this.getRawValue());if(a.length>0){this.setValue(a[0])}}return true},setValue:function(a){this.value=a;in4.base.form.DateInlineField.superclass.setValue.call(this,a?a.getDisplay():"")},getRawValue:function(){return this.input.dom.value},getValue:function(){return this.value},onBlur:function(a){if(this.activeWindow){this.activeWindow.hide()}in4.base.form.DateInlineField.superclass.onBlur.call(this,a)},dispose:function(){if(this.activeWindow){this.activeWindow.remove()}in4.base.form.DateInlineField.superclass.dispose.call(this)},isValid:function(){if(this.allowBlank===true||(Ext.isObject(this.value)&&!this.value.isEmpty())){this.markInvalid(false);return true}this.markInvalid(true);return false}});in4.base.reg("dateinlinefield",in4.base.form.DateInlineField);in4.base.form.NumberField=Ext.extend(in4.base.form.TextField,{allowDecimals:true,decimalSeparator:".",decimalPrecision:4,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,baseChars:"0123456789",initComponent:function(){this.domPattern={tag:"input",style:"padding-top:3px; padding-bottom: 3px; padding-left:0; padding-right:0; width:100%; height:30px;"};this.decimalSeparator=msg.decimal_separator;var a=this.baseChars+"";if(this.allowDecimals){a+=this.decimalSeparator}if(this.allowNegative){a+="-"}this.maskRe=new RegExp("["+Ext.escapeRe(a)+"]");in4.base.form.NumberField.superclass.initComponent.apply(this,arguments)},validate:function(b){b=String(b).replace(this.decimalSeparator,".");if(isNaN(b)){return false}var a=this.parseValue(b);if(a<this.minValue){return false}if(a>this.maxValue){return false}return true},getValue:function(){var a=in4.base.form.NumberField.superclass.getValue.call(this);return this.fixPrecision(this.parseValue(a))},setValue:function(a){a=typeof a=="number"?a:parseFloat(String(a).replace(this.decimalSeparator,"."));a=isNaN(a)?"":String(a).replace(".",this.decimalSeparator);in4.base.form.NumberField.superclass.setValue.call(this,a)},parseValue:function(a){a=parseFloat(String(a).replace(this.decimalSeparator,"."));return isNaN(a)?"":a},fixPrecision:function(b){var a=isNaN(b);if(!this.allowDecimals||this.decimalPrecision==-1||a||!b){return a?"":b}return parseFloat(parseFloat(b).toFixed(this.decimalPrecision))},onKeyPress:function(a){if(in4.base.form.NumberField.superclass.onKeyPress.call(this,a)!==false){if(!a.isNavKeyPress()){if(!this.maskRe.test(String.fromCharCode(a.getCharCode()))){a.stopEvent()}}}}});in4.base.reg("numberfield",in4.base.form.NumberField);in4.base.form.DateRow=Ext.extend(in4.base.Component,{tpl:new Ext.XTemplate("<table><tbody>","<tr>",'<td class="bcad-selector"></td>','<td class="year"></td>','<td class="month-selector"></td>','<td class="day-selector"></td>',"<td><label></label></td>","</tr>","</tbody></table>"),height:26,width:400,style:"margin-top:5px;",items:[],initComponent:function(){this.scroll=false;in4.base.form.DateRow.superclass.initComponent.apply(this,arguments);this.months=[{name:"01. "+msg.january,id:1},{name:"02. "+msg.february,id:2},{name:"03. "+msg.march,id:3},{name:"04. "+msg.april,id:4},{name:"05. "+msg.may,id:5},{name:"06. "+msg.june,id:6},{name:"07. "+msg.july,id:7},{name:"08. "+msg.august,id:8},{name:"09. "+msg.september,id:9},{name:"10. "+msg.october,id:10},{name:"11. "+msg.november,id:11},{name:"12. "+msg.december,id:12}];var b=[];for(var a=1;a<=31;a++){b.push({name:(a>9?a:"0"+a),id:a})}this.tpl.append(this.bodyEl);this.dateBCADSelector=new in4.base.form.Combo({displayField:"name",initialSelection:{id:2},mode:"local",autoHeight:false,autoWidth:false,width:55,height:25,scroll:false,resizeable:false,container:this.bodyEl.child(".bcad-selector"),data:[{name:msg.before_christ,id:1},{name:msg.after_christ,id:2}]});this.dateYearInput=new in4.base.form.NumberField({container:this.bodyEl.child(".year"),height:25,autoWidth:false,width:50,defaultText:msg.year});this.dateMonthInput=new in4.base.form.Combo({defaultText:msg.month,displayField:"name",mode:"local",autoHeight:false,autoWidth:false,width:120,height:25,maxHeight:320,container:this.bodyEl.child(".month-selector"),data:this.months});this.dateDayInput=new in4.base.form.Combo({defaultText:msg.day,displayField:"name",mode:"local",autoHeight:false,width:70,height:25,maxHeight:200,container:this.bodyEl.child(".day-selector"),data:b});this.dateLabel=this.bodyEl.child("label")},getBCAD:function(){return this.dateBCADSelector.getValue()},getYear:function(){var a=this.dateYearInput.getValue();if(!isNaN(a)){return a}return null},getMonth:function(){if(this.dateMonthInput.getValue()&&this.dateMonthInput.getValue()!=-1){var a=parseInt(this.dateMonthInput.getValue(),10);return a<10?"0"+a:a}return null},getDay:function(){if(this.dateDayInput.getValue()&&this.dateDayInput.getValue()!=-1){var a=parseInt(this.dateDayInput.getValue(),10);return a<10?"0"+a:a}return null},setBCAD:function(b){var a=this.dateBCADSelector.findRecord(this.dateBCADSelector.displayField,b);if(a){this.dateBCADSelector.setValue(a[this.dateBCADSelector.valueField])}else{this.dateBCADSelector.setValue(-1)}},setYear:function(a){if(a){this.dateYearInput.setValue(a)}else{this.dateYearInput.reset()}},setMonth:function(a){if(a){this.dateMonthInput.setValue(parseInt(a))}else{this.dateMonthInput.reset()}},setDay:function(b){var a=this.dateDayInput.findRecord(this.dateDayInput.displayField,b);if(a){this.dateDayInput.setValue(a[this.dateDayInput.valueField])}else{this.dateDayInput.reset()}},updateFields:function(b){this.setBCAD((b.beforeChrist)?msg.before_christ:msg.after_christ);var a=b.year.toString().split("#");if(a.length>1){b.year=a[0]}this.setYear(b.year);this.setMonth(b.month);this.setDay(b.day)},setLabel:function(a){this.dateLabel.dom.innerHTML=a},hide:function(){this.el.hide()},show:function(){this.el.show()},resetFields:function(){this.dateBCADSelector.reset();this.dateMonthInput.reset();this.dateDayInput.reset();this.dateYearInput.reset()},validate:function(){var b=this.getYear();var d=this.getMonth();var a=this.getDay();var c=true;if(a&&!d){this.dateMonthInput.markInvalid();c=false}else{this.dateMonthInput.markInvalid(false)}if(!b){this.dateYearInput.markInvalid();c=false}else{this.dateYearInput.markInvalid(false)}return c}});in4.base.reg("daterow",in4.base.form.DateRow);in4.base.form.DateChooserWindow=Ext.extend(in4.base.Panel,{tpl:new Ext.XTemplate('<div class="type-selector"></div>','<div class="date-rows"></div>','<div class="button-wrapper"></div>'),width:450,isModal:true,closable:true,gtype:"datechooserwindow",mode:"window",title:"Choose a date",elCls:"date-chooser-window",bodyCls:"body",height:135,items:[],scroll:"off",resizable:false,selectedDateTypeIndex:0,initComponent:function(){this.scroll=false;in4.base.form.DateChooserWindow.superclass.initComponent.apply(this,arguments);this.tpl.append(this.bodyEl);var a=[{name:msg.date_type_exact,id:0},{name:msg.date_type_between,id:1},{name:msg.date_type_before,id:2},{name:msg.date_type_after,id:3},{name:msg.date_type_approximate,id:4}];this.wrapEl.setHeight(this.height);this.wrapEl.setWidth(this.width);this.typeSelectorCombo=new in4.base.form.Combo({displayField:"name",valueField:"id",mode:"local",width:160,data:a,value:0,height:30,initialSelection:{id:0},scroll:false,container:this.bodyEl.child(".type-selector"),listeners:{select:{fn:function(d,e,b){var c=e.getValue();if(c==1){this.Date2.show();this.Date1.setLabel("&nbsp;"+msg.date_from);this.Date2.setLabel("&nbsp;"+msg.date_to)}else{this.Date2.hide();this.Date1.setLabel("");this.Date2.setLabel("")}this.selectedDateTypeIndex=c},scope:this}}});this.Date1=new in4.base.form.DateRow({container:this.bodyEl.child(".date-rows"),scroll:false});this.Date2=new in4.base.form.DateRow({container:this.bodyEl.child(".date-rows")});this.Date2.hide();this.okButton=new in4.base.form.Button({container:this.bodyEl.child(".button-wrapper"),text:msg.ok,autoHeight:true,scroll:false,listeners:{click:{fn:this.onOkClick,scope:this}}},this);this.clearButton=new in4.base.form.Button({container:this.bodyEl.child(".button-wrapper"),text:msg.clear,scroll:false,autoHeight:true,listeners:{click:{fn:this.onClearClick,scope:this}}},this);this.cancelButton=new in4.base.form.Button({container:this.bodyEl.child(".button-wrapper"),text:msg.cancel,scroll:false,autoHeight:true,listeners:{click:{fn:this.onCancelClick,scope:this}}},this);this.bodyEl.on("keydown",function(c,b,d){if(c.getKey()==c.ENTER){this.onOkClick()}},this)},onOkClick:function(){var f=this.typeSelectorCombo.getValue();var c=this.Date1.getYear();var l=this.Date1.getMonth();var i=this.Date1.getDay();var b=this.Date2.getYear();var k=this.Date2.getMonth();var h=this.Date2.getDay();if(c==""&&l==""&&i==""){this.onClearClick();return}var d=false;if(!this.Date1.validate()){d=true}if(f==1&&!this.Date2.validate()){d=true}if(d){return}var a=new in4.base.form.Date();var g={year:c};g.beforeChrist=(this.Date1.dateBCADSelector.getValue()==1);if(l!=""&&c!=1){g.month=l}if(i!=""&&l!=1&&c!=1){g.day=i}var e={year:b};e.beforeChrist=(this.Date2.dateBCADSelector.getValue()==1);if(k!=""){e.month=k}if(h!=""){e.day=h}if((g.beforeChrist?-1:1)*parseInt(g.year)>(e.beforeChrist?-1:1)*parseInt(e.year)){var j=g;g=e;e=j}a.parseRaw({type:this.typeSelectorCombo.getValue(),value1:g,value2:e});this.field.setValue(a);this.field.onBlur();this.hide()},markInvalid:function(a){if(a){a.dom.focus()}},onClearClick:function(){this.field.setValue();this.field.onBlur();this.hide()},onCancelClick:function(){this.field.onBlur();this.hide()},updateFields:function(a){this.selection=a;if(this.selection&&this.selection.type){this.typeSelectorCombo.setValue(this.selection.type,false)}else{this.typeSelectorCombo.setValue(0,false)}if(this.selection&&this.selection.value1){this.Date1.updateFields(this.selection.value1)}else{this.Date1.resetFields()}if(this.selection&&this.selection.value2){this.Date2.updateFields(this.selection.value2)}else{this.Date2.resetFields()}},setFocus:function(){},hide:function(){if(this.field){this.field.onBlur()}in4.base.form.DateChooserWindow.superclass.hide.call(this)}});in4.base.reg("datechooserwindow",in4.base.form.DateChooserWindow);in4.base.Number=function(){this.value1=null;this.value2=null;this.display1=null;this.display2=null;this.unit=null;this.type=0;this.parseRaw=function(a){this.value1=a.value1;this.value2=a.value2;this.display1=a.display1;this.display2=a.display2;this.unit=a.unit;this.type=a.type};this.parseString=function(b,a){var d=null;if(b){d=this.stringToValue(b)}var c=null;if(a){c=this.stringToValue(a)}if(!b&&!a){this.type=0}else{if(!b){this.type=2;this.display2=c.display;this.value2=c.value}else{if(!a){this.type=3;this.display1=d.display;this.value1=d.value}else{if(b==a&&d.approx){this.type=4;this.display1=d.display;this.value1=d.value}else{if(b==a&&!d.approx){this.type=0;this.display1=d.display;this.value1=d.value}else{this.type=1;this.display1=d.display;this.display2=c.display;this.value1=d.value;this.value2=c.value}}}}}};this.getDisplay=function(){var c="";if(this.value1){c=this.valueToDisplay(this.value1)+" "+this.unit.name}var b="";if(this.value2){b=this.valueToDisplay(this.value2)+" "+this.unit.name}var a="";switch(this.type){case 0:a=c;break;case 1:a=c+" - "+b;break;case 2:a=msg.number_format_below_prefix+" "+b+" "+msg.number_format_below_suffix;break;case 3:a=msg.number_format_above_prefix+" "+c+" "+msg.number_format_above_suffix;break;case 4:if(c.substr(0,6)!="approx"){a=msg.number_format_approx_prefix+" "+c+" "+msg.number_format_approx_suffix}else{a=c}break}return a};this.getValue=function(){return{displayField:this.getDisplay(),valueField:this.getRawValue()}};this.getRawValue=function(){return{value1:this.value1,value2:this.value2,type:this.type,unit:this.unit}};this.getString=function(){var b=this.value1;if(this.unit){b*=this.unit.scale}if(this.type==4){b="~"+b}if(this.value2){var a=this.value2;if(this.unit){a*=this.unit.scale}if(this.type==4){a="~"+a}}var c={};switch(this.type){case 0:case 4:c={value1:b.toString(),value2:b.toString()};break;case 1:c={value1:b.toString(),value2:a.toString()};break;case 2:c={value2:a.toString()};break;case 3:c={value1:b.toString()};break}return c};this.valueToDisplay=function(a){if(this.display1&&a==this.value1){return this.display1}if(this.display2&&a==this.value2){return this.display2}return a};this.stringToValue=function(c){var b={};if(!c){return b}var a=c.split("#");var d=a[0];b.display=a[1];if(d.substr(0,1)=="≤"){d=d.substr(1)}if(d.substr(d.length-2,1)=="≤"){d=d.substr(0,d.length-2)}if(d.substr(0,1)=="~"){b.approx=true;d=d.substr(1)}b.value=d;return b};this.isEmpty=function(){if(Ext.isEmpty(this.value1)&&Ext.isEmpty(this.value2)){return true}return false}};in4.base.NumericSelector=Ext.extend(in4.base.form.TriggerField,{elCls:"trigger-field",initComponent:function(){in4.base.NumericSelector.superclass.initComponent.apply(this,arguments)},initEvents:function(){this.input.on("focus",this.onFocus,this)},onFocus:function(a){a.stopEvent();this.onTriggerClick()},onTriggerClick:function(){var a=new in4.base.Number();if(this.value){a=this.value}if(!this.activeWindow){this.activeWindow=new in4.base.NumberChooserWindow({container:in4.base.all.center,natural:this.natural,units:this.units,field:this})}else{this.activeWindow.selection=a;this.activeWindow.show()}this.activeWindow.updateFields(a);this.triggerBlur()},validate:function(){return true},setValue:function(a){this.value=a;in4.base.NumericSelector.superclass.setValue.call(this,a?a.getDisplay():"")},getValue:function(){return this.value},dispose:function(){this.activeWindow.dispose();in4.base.NumericSelector.superclass.dispose.call(this)},isValid:function(){if(this.allowBlank===true||(Ext.isObject(this.value)&&!this.value.isEmpty())){this.markInvalid(false);return true}this.markInvalid(true);return false}});in4.base.reg("numericselector",in4.base.NumericSelector);in4.base.NumberChooserWindow=Ext.extend(in4.base.Panel,{tpl:new Ext.XTemplate("<table><tbody>",'<tr><td class="type-selector"></td></tr>','<tr><td class="value"></td><td class="label1"></td></tr>','<tr style="display:none;"><td class="value2"></td><td class="label2"></td></tr>','<tr><td class="unit-selector"></td></tr>','</tbody></table> <div class="button-wrapper"></div>'),isModal:true,closable:true,gtype:"numberchooserwindow",mode:"window",title:"Choose a number",elCls:"number-chooser-window",bodyCls:"body",height:180,width:300,initComponent:function(){this.scroll=false;in4.base.NumberChooserWindow.superclass.initComponent.apply(this,arguments);this.tpl.append(this.bodyEl);this.types=[{name:msg.number_type_exact,id:0},{name:msg.number_type_between,id:1},{name:msg.number_type_below,id:2},{name:msg.number_type_above,id:3},{name:msg.number_type_approximate,id:4}];this.wrapEl.setHeight(this.height);this.wrapEl.setWidth(this.width);this.typeSelectorCombo=new in4.base.form.Combo({initialSelection:{id:0},displayField:"name",mode:"local",width:160,data:this.types,container:this.bodyEl.child(".type-selector"),listeners:{select:{fn:function(d,e,b){var c=e.getValue();if(c==1){this.numberInput2.el.parent("tr").show();this.label1.dom.value=("&nbsp;"+msg.date_from);this.label2.dom.value=("&nbsp;"+msg.date_to)}else{this.numberInput2.el.parent("tr").setDisplayed("none");this.label1.dom.value=("");this.label2.dom.value=("")}this.type=c},scope:this}}});if(!this.units){this.units=[{id:0,scale:1,name:msg.unknown_unit}]}else{for(var a=0;a<this.units.length;a++){if(this.units[a].name=="<none/>"){this.units[a].name=""}}}if(!this.natural){for(var a=0;a<this.units.length;a++){if(this.units[a].natural==this.units[a].id){this.natural=this.units[a].id;break}}if(!this.natural){this.natural=this.units[0].id}}this.numberInput1=new in4.base.form.NumberField({container:this.bodyEl.child(".value"),width:160,height:30,defaultText:msg.number_selector});this.label1=this.bodyEl.child(".label1");this.numberInput2=new in4.base.form.NumberField({container:this.bodyEl.child(".value2"),width:160,height:30,defaultText:msg.number_selector});this.label2=this.bodyEl.child(".label2");this.unitSelectorCombo=new in4.base.form.Combo({initialSelection:{id:this.natural},valueField:"id",displayField:"name",mode:"local",width:160,data:this.units,container:this.bodyEl.child(".unit-selector")});this.okButton=new in4.base.form.Button({container:this.el.child(".button-wrapper"),text:"OK",listeners:{click:{fn:this.onOkClick,scope:this}}},this);this.clearButton=new in4.base.form.Button({container:this.el.child(".button-wrapper"),text:"Clear",listeners:{click:{fn:this.onClearClick,scope:this}}},this);this.cancelButton=new in4.base.form.Button({container:this.el.child(".button-wrapper"),text:"Cancel",listeners:{click:{fn:this.onCancelClick,scope:this}}},this);this.bodyEl.on("keydown",function(c,b,d){if(c.getKey()==c.ENTER){this.onOkClick()}},this)},onOkClick:function(){var d=this.typeSelectorCombo.getValue();var b=this.numberInput1.getValue();var a=this.numberInput2.getValue();if(d!=1&&b==""){this.onClearClick();return}if(d==1){if(!b){this.numberInput1.markInvalid()}else{this.numberInput1.markInvalid(false)}if(!a){this.numberInput2.markInvalid()}else{this.numberInput2.markInvalid(false)}return}var f={value1:"",value2:""};var g="";var d=this.typeSelectorCombo.getValue();switch(d){case 1:g=msg.number_format_between_prefix+" "+this.numberInput1.getValue()+" "+msg.number_format_between_infix+" "+this.numberInput2.getValue()+" "+msg.number_format_between_suffix;f.value1=this.numberInput1.getValue();f.value2=this.numberInput2.getValue();break;case 2:g=msg.number_format_below_prefix+" "+this.numberInput1.getValue()+" "+msg.number_format_below_suffix;f.value2=this.numberInput1.getValue();break;case 3:g=msg.number_format_above_prefix+" "+this.numberInput1.getValue()+" "+msg.number_format_above_suffix;f.value1=this.numberInput1.getValue();break;case 4:g=msg.number_format_approx_prefix+" "+this.numberInput1.getValue()+" "+msg.number_format_approx_suffix;f.qualifier="approximate";f.value1=this.numberInput1.getValue();break;default:g=this.numberInput1.getValue();f.value1=this.numberInput1.getValue();f.value2=this.numberInput1.getValue();break}f.type=d;f.unit=this.units.getBy("id",this.unitSelectorCombo.getValue()||this.units[0].id);var c=this.units.getBy("id",this.natural);var e=new in4.base.Number();e.parseRaw(f);this.field.setValue(e);this.field.onBlur();this.hide()},onClearClick:function(){this.field.setValue();this.field.onBlur();this.hide()},onCancelClick:function(){this.field.onBlur();this.hide()},updateFields:function(a){this.selection=a;if(this.selection&&this.selection.type){this.typeSelectorCombo.setValue(this.selection.type,false)}else{this.typeSelectorCombo.reset()}if(this.selection&&this.selection.unit){this.unitSelectorCombo.setValue(this.selection.unit.id,false)}else{this.unitSelectorCombo.reset()}if(this.selection&&this.selection.value1){this.numberInput1.setValue(this.selection.value1)}else{this.numberInput1.reset()}if(this.selection&&this.selection.value2){this.numberInput2.setValue(this.selection.value2)}else{this.numberInput2.reset()}},setFocus:function(){},hide:function(){if(this.field){this.field.onBlur()}in4.base.NumberChooserWindow.superclass.hide.call(this)}});in4.base.reg("numberchooserwindow",in4.base.NumberChooserWindow);in4.base.form.Button=Ext.extend(in4.base.Component,{tpl:new Ext.XTemplate('<div class="iglue-button x-unselectable"><div class="left"></div><div class="center"><span class="text">{text}</span></div><div class="right"></div></div>'),autoHeight:true,autoWidth:true,defaultCls:"i-force-autow left",enableToggle:false,toggleClass:"iglue-button-active",initComponent:function(){this.addEvents({click:true});this.isActive=false;this.elCls=(this.elCls||"")+" "+this.defaultCls;in4.base.form.Button.superclass.initComponent.call(this);this.tpl.append(this.bodyEl,{text:this.text});this.el.on("click",this.onClick,this)},setText:function(b){var a=this.el.child(".text");if(a){a.dom.innerHTML=b}},onClick:function(a){this.isActive=!this.isActive;if(this.enableToggle){this.el.toggleClass(this.toggleClass)}this.fireEvent("click",this,this.isActive)},getValue:function(){return this.isActive},setValue:function(a){if(a!=this.isActive){this.onClick()}}});in4.base.reg("button",in4.base.form.Button);in4.base.form.MenuButton=Ext.extend(in4.base.form.Button,{itemTmpl:new Ext.XTemplate('<div id="{id}" class="i-menu-item">{text}</div>'),initComponent:function(){in4.base.form.MenuButton.superclass.initComponent.apply(this,arguments);this.collapsed=true},onClick:function(a){this.expand()},renderList:function(){for(var a=0;a<this.menu.length;a++){if(!this.menu[a].id){this.menu[a].id=Ext.id()}this.itemTmpl.append(this.list.bodyEl,{text:this.menu[a].text,id:this.menu[a].id})}},collapse:function(){this.collapsed=true;in4.base.AssociationManager.hideContext()},expand:function(){this.collapsed=false;var a=[];for(var b=0;b<this.menu.length;b++){a.push({label:(this.menu[b].type=="checkbox"?'<span class="'+(this.menu[b].checked?"i-checkbox-checked":"")+' i-checkbox">'+this.menu[b].label+"</span>":this.menu[b].label),fn:function(i,c,g,f){i.fn.call(i.scope);if(i.type=="checkbox"){i.checked=!i.checked;var d=Ext.fly(f);if(!d.hasClass("i-checkbox")){d=d.child(".i-checkbox")}i.checked?d.addClass("i-checkbox-checked"):d.removeClass("i-checkbox-checked")}},scope:this,attrib:[this.menu[b]]})}in4.base.AssociationManager.showContext({x:this.el.getAnchorXY("bl")[0],y:this.el.getAnchorXY("bl")[1],items:a})}});in4.base.reg("menubutton",in4.base.form.MenuButton);in4.base.form.Combo=Ext.extend(in4.base.form.TriggerField,{gtype:"combo",minChars:2,triggerAction:"all",defaultText:"",typeAhead:false,queryDelay:500,pageSize:0,lazyInit:true,maxHeight:300,maxWidth:400,minWidth:0,forceSelection:true,mode:"remote",initComponent:function(){this.scroll=false;this.listEmptyText=msg.list_empty_text;if(this.height){this.autoHeight=false}else{this.autoHeight=true}in4.base.form.Combo.superclass.initComponent.call(this);this.addEvents("afterblur","select","load");this.valueField=this.valueField||"id";this.displayField=this.displayField||"name";this.selectedIndex=-1;this.collapsed=true;if(this.mode=="local"){this.root=null;this.totalProperty=null;this.queryDelay=this.queryDelay||10;this.minChars=0}else{this.root=this.root||"result.result";this.totalProperty=this.totalProperty||"result.count"}this.setInitialSelection(this.initialSelection);if(!this.lazyInit){this.initList()}else{this.input.on("focus",this.initList,this,{single:true})}if(this.mode=="remote"&&!this.pageSize&&this.pageSize!==0){this.pageSize=10}this.lastQuery=null},initEvents:function(){in4.base.form.Combo.superclass.initEvents.call(this);this.trigger.on("click",this.onTriggerClick,this);var a=this.el.parent(".i-draggable");if(a){var b=in4.base.all[a.id];if(b){b.dd.onMouseDown=b.dd.onMouseDown.createSequence(this.onListBlur,this)}}},setInitialSelection:function(a){this.initialSelection=a||{id:null,name:this.defaultText};if(this.mode=="local"){this.setValue(this.initialSelection.id)}else{this.value=this.initialSelection.id;this.setRawValue(this.initialSelection.name)}this.applyDefaultText()},setInitialValue:function(a){this.setInitialSelection(a)},setStartValue:function(a){this.setInitialSelection(a);this.initialSelection={id:null,name:this.defaultText}},onTriggerClick:function(){if(this.disabled===true){return}if(this.collapsed){if(this.triggerAction=="all"){this.doQuery(this.getRawValue(),true)}else{this.doQuery(this.getRawValue())}this.input.focus()}else{this.collapse();this.input.focus()}},getRawValue:function(){var a=this.input.dom.value;if(a===this.defaultText){a=""}return a},getValue:function(){if(this.forceSelection===false&&!this.value){return this.getRawValue()}return this.value},setRawValue:function(a){return(this.input.dom.value=(Ext.isEmpty(a)?"":a))},setValue:function(b,a){this.value=b;var d=this.getRoot();for(var c=0;c<d.length;c++){var e=d[c][this.valueField];if(!e&&e!=0){e=""}if(!b&&b!=0){b=""}if(e.toString().toLowerCase()==b.toString().toLowerCase()){this.setRawValue(d[c][this.displayField]);break}}this.validate(a);return this},initQuery:function(){this.doQuery(this.getRawValue())},doQuery:function(f,e){f=(e?"":f);if(e===true||(f.length>=this.minChars)){if(this.lastQuery!==f){this.lastQuery=f;if(this.mode=="local"){this.initList();this.selectedIndex=-1;if(e){this.innerList.data=this.data;this.innerList.load()}else{var b=[];var d=this.getRoot();for(var c=0,a=d.length;c<a;c++){if((d[c][this.displayField]||"").toString().toLowerCase().indexOf(f.toString().toLowerCase())!=-1){b.push(d[c])}}this.innerList.data=b;this.innerList.load()}this.onLoad()}else{this.sendApiRequest(f)}}else{this.selectedIndex=-1;this.onLoad()}}},reload:function(){this.reset();this.lastQuery=null},sendApiRequest:function(a){this.loading=true;this.input.addClass("iglue-input-loader");this.CRUD.RETRIEVE.params.mode=1;this.CRUD.RETRIEVE.params.accentSensitive=false;this.CRUD.RETRIEVE.params.prefix=true;this.CRUD.RETRIEVE.params.postfix=false;this.CRUD.RETRIEVE.params.query=a;this.CRUD.RETRIEVE.params.start=0;if(this.pageSize!=0){this.CRUD.RETRIEVE.params.limit=this.pageSize}in4.base.Direct.apiRequest({loader:false,action:this.CRUD.RETRIEVE.action,method:this.CRUD.RETRIEVE.method,params:this.CRUD.RETRIEVE.params,callback:this.CRUD.RETRIEVE.callback||this.requestCallback,scope:this.CRUD.RETRIEVE.scope||this})},requestCallback:function(a,b,f){this.loading=false;this.input.removeClass("iglue-input-loader");try{this.data=a;if(this.innerList){this.innerList.data=a;this.innerList.load();var c=this.getRoot();this.count=a.result.count||c.length;this.innerList.refreshPager(this.count,this.CRUD.RETRIEVE.params.start,this.pageSize)}this.fireEvent("load",this.getRoot(),this);if(this.eventsSuspended===true&&this.getRoot().length>0){this.setValue(this.getRoot()[0][this.valueField]);this.collapse();this.resumeEvents();this.fireEvent("submit",this);return}else{if(this.eventsSuspended===true){this.validate();this.collapse();this.resumeEvents();return}}this.CRUD.RETRIEVE_PAGE={action:this.CRUD.RETRIEVE.action,method:this.CRUD.RETRIEVE.method,params:Ext.apply(this.CRUD.RETRIEVE.params,{limit:this.pageSize})};this.onLoad()}catch(d){throw new Ext.Error(d.description)}},collapseIf:function(a){if(!a.within(this.list.el)){this.collapse()}},expand:function(){if(this.disabled===true){return}this.collapsed=false;this.restrictHeight();this.list.el.show();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getBody().un("mousedown",this.onListBlur,this);Ext.getBody().on("mousedown",this.onListBlur,this);Ext.getDoc().on({scope:this,mousewheel:this.collapseIf})},collapse:function(){if(this.collapsed){return}this.selectedIndex=-1;this.collapsed=true;Ext.getBody().un("mousedown",this.onListBlur,this);Ext.getDoc().un("mousewheel",this.collapseIf,this);this.list.el.hide()},validate:function(a){var d=false;var c=this.getRoot();for(var b=0;b<c.length;b++){if((c[b][this.displayField]||"").toString().toLowerCase()==this.getRawValue().toString().toLowerCase()){d=true;if(this.forceSelection!==false){this.value=c[b][this.valueField];if(a===false){this.fireEvent("select",c[b][this.valueField],this,c[b])}}this.el.removeClass("field-empty-text");break}}if(!d&&this.getRawValue()!=this.initialSelection.name&&this.defaultText){this.value=null;this.fireEvent("invalid",this)}else{if(!d){if(this.forceSelection!==false){this.value=this.initialSelection.id;this.setRawValue(this.initialSelection.name);this.fireEvent("invalid",this)}}}if(this.forceSelection!==false){this.applyDefaultText()}},onListBlur:function(b){var a=Ext.fly(b.getTarget());if(((!this.list||!a.findParent("#"+this.list.id))&&(!a.findParent("#"+this.id)))){this.collapse();this.validate();this.triggerBlur()}else{if(a.findParent("#"+this.id)){}else{b.stopEvent()}}},onBlur:function(a){if(a&&(!this.list||!Ext.fly(a.getTarget()).findParent("#"+this.list.id))){if(this.forceSelection!==false){this.validate()}this.triggerBlur()}},onLoad:function(){if(this.innerList&&this.innerList.getRoot().length>0){this.expand();if(this.lastQuery==""){this.input.dom.select();if(!this.selectByValue(this.value,true)){this.select(0,true)}}else{this.select(0)}}else{if(this.innerList){this.onEmptyResults()}}},initList:function(){if(!this.list){this.list=new in4.base.Component({container:Ext.getBody(),scroll:false,elCls:"collapsed combo-inner-list rounded-bottom "+(this.listCls||""),items:[{gtype:"grid",plugins:this.mode=="local"?[]:[{gptype:"paging",limit:this.pageSize}],useLoader:false,rowSelectable:true,data:this.data,root:this.root,totalProperty:this.totalProperty,width:"100%",height:"100%",scroll:true,emptyText:this.listEmptyText,count:this.count,scroll:true,rowTmplF:{combo:this},CRUD:this.CRUD,columns:[{name:"Name",data:this.displayField,renderer:function(b,a){if(this.combo.rowTpl){var e=this.combo.lastQuery||"";if(this.combo.rowTpl=="base"){return in4.base.Renderers.searchHighlight(a.discriminator,e,this.grid.CRUD.RETRIEVE.params.accentSensitive,2).replace(/idata/g,"").replace("iglue-name","iglue-autocomplete-item-name")}else{if(this.combo.rowTpl=="plain"){return in4.base.Renderers.shineString(b,in4.base.Renderers.highLightCleanNameForCombo(b,[e]))}else{var d=a.image;d=d.replace("/images/","/thumbs/").replace(/\.jpg/i,".png").replace(/\.gif/i,".png");var c=in4.base.Renderers.searchHighlight(a.discriminator,e,this.grid.CRUD.RETRIEVE.params.accentSensitive,2).replace(/idata/g,"").replace("iglue-name","iglue-autocomplete-item-name");return"<div class='link-item'> <div class='image thumb-holder'><img src='"+d+"' /></div> <div class='text'>"+c+"</div> </div>"}}}return b}},{name:this.valueField,data:this.valueField,width:0,hidden:true,renderer:function(b,a){return"<span class='"+this.valueField+"'>"+b+"</span>"}},{name:"image",data:"image",hidden:true,width:0},{name:"discriminator",data:"discriminator",hidden:true,width:0}],listeners:{rowclick:{fn:function(b,d,a,c){this.setValue(c[this.valueField]);this.collapse();this.fireEvent("select",c[this.valueField],this,c);this.triggerBlur()},scope:this}},rowOver:function(f,g,d,c){if(this&&this.dom&&this.dom.attributes.getNamedItem("ig:rid")){var e=c.getRoot();for(var b=0,a=e.length;b<a;b++){if(e[b]._ui_.id==this.id){c.rowTmplF.combo.select(b);break}}}return false},rowOut:function(){}}]});this.innerList=this.list.items[0];this.innerList.on("paging",function(b,a,c){this.onLoad()},this);this.list.el.on("click",function(a){a.stopEvent()},this);this.innerList.el.on("keydown",this.onKeyDown,this)}},restrictHeight:function(){this.list.el.setStyle("opacity",0);this.list.resEl.resizeTo(1000,1000);var f=this.innerList.bodyEl;var a=Math.max(this.input.getWidth(),this.minWidth,(this.mode=="local"||!this.innerList.pagingEls.first()?0:this.innerList.pagingEls.first().getWidth()+10));var l=f.select(".w-grid-row").elements;for(var d=0,e=l.length;d<e;d++){var b=Ext.get(l[d]).child("td");var h=b.dom.textContent;a=Math.max(a,Ext.util.TextMetrics.measure(b,h).width+8)}a=Math.min(a+20,this.maxWidth);this.list.resEl.resizeTo(a,this.maxHeight);var j=0;var l=f.select(".w-grid-row").elements;for(var d=0,e=l.length;d<e;d++){j+=l[d].offsetHeight}j=Math.min(j+40,this.maxHeight);var k=document.body.offsetHeight-20;var g="tl-bl";var c=[0,0];if(k<this.el.getY()+this.el.getHeight()+j){if(k/2>this.el.getY()){j=k-(this.el.getY()+this.el.getHeight())}else{g="bl-tl"}}this.list.resEl.resizeTo(a,j);this.list.el.setStyle("opacity",1);this.list.el.alignTo(this.input,g,c)},onEmptyResults:function(){this.expand()},onKeyUp:function(c){var b=c.getKey();if(b==c.BACKSPACE||!c.isSpecialKey()){this.lastKey=b;if(this.timeout){clearTimeout(this.timeout)}var a=this;this.timeout=setTimeout(function(){a.initQuery()},this.queryDelay)}},onKeyDown:function(b){switch(b.keyCode){case 38:this.moveSelect(-1);break;case 40:if(this.collapsed){this.onTriggerClick()}else{this.moveSelect(1)}break;case 27:this.collapse();break;case 9:if(!this.value){this.searchString="";this.prev="";if(this.forceSelection!==false){this.input.dom.value=""}}this.collapse();break;case 13:if(!this.collapsed&&this.selectedIndex!=-1){var a=this.getRoot()[this.selectedIndex];this.setValue(a[this.valueField]);this.collapse();this.fireEvent("select",this.getValue(),this,a);b.stopEvent()}else{if(this.loading===true||this.getRawValue()!=""){if(this.eventsSuspended!==true){this.suspendEvents(true)}b.stopEvent()}else{this.validate()}}this.triggerBlur();break;default:this.collapse()}},selectByValue:function(a,e){var b=-1;if(a||a==0){var d=this.getRoot();for(var c=0;c<d.length;c++){if(d[c][this.valueField].toString().toLowerCase()==a.toString().toLowerCase()){b=c}}}if(b>=0){this.select(b,e);return true}return false},getRecordById:function(e){var d=this.getRoot();if(this.initialSelection){var c={};c[this.valueField]=this.initialSelection.id;c[this.displayField]=this.initialSelection.name;d.concat(c)}for(var b=0,a=d.length;b<a;b++){if(d[b][this.valueField].toString().toLowerCase()==e.toString().toLowerCase()){return d[b]}}return null},getDisplayByValue:function(b){var a=this.getRecordById(b);return a?a[this.displayField]:null},getDisplayValue:function(){return this.getDisplayByValue(this.getValue())},select:function(a,b){this.selectedIndex=a;this.innerList.rowSelect(a,b)},moveSelect:function(c){if(c==0){return}var a=this.selectedIndex+c;var b=this.getRoot();if(a>=0&&b&&a<b.length){this.select(a,true)}},dispose:function(){if(this.list){this.list.dispose()}in4.base.form.Combo.superclass.dispose.call(this)},findRecord:function(d,c){var b=this.getRoot();for(var a=0;a<b.length;a++){if(b[a][d]==c){return b[a]}}return null},triggerBlur:function(){this.fireEvent("afterblur",this,null)},reset:function(){this.setRawValue("");this.setValue(this.initialSelection.id,true)},getRoot:function(){if(this.innerList){return this.innerList.getRoot()}else{var a=this.data;if(this.root&&a){var b=this.getAccessor(this.root);a=b(this.data)}return a||[]}},getAccessor:function(){var a=/[\[\.]/;return function(c){try{return(a.test(c))?new Function("obj","return obj."+c):function(d){return d[c]}}catch(b){}return Ext.emptyFn}}(),isValid:function(){if(this.allowBlank===true||(this.forceSelection===false&&Ext.isEmpty(this.getRawValue()))||(this.forceSelection!==false&&this.getValue()>0)){this.markInvalid(false);return true}this.markInvalid(true);return false},isDirty:function(){if((this.initialSelection.id&&this.initialSelection.id==this.value)||(!this.initialSelection.id&&!this.value)){return false}return true}});in4.base.reg("combo",in4.base.form.Combo);if("function"!==typeof RegExp.escape){RegExp.escape=function(a){if("string"!==typeof a){return a}return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}}in4.base.form.MultiCombo=Ext.extend(in4.base.form.Combo,{selectionList:true,checkField:"checked",separator:",",gtype:"multicombo",mode:"local",tpl:new Ext.XTemplate('<div class="i-form-field i-form-field-triggered {[values.label ? "i-form-field-labeled" : ""]}" style="">','<div class="i-form-field-container">','<div class="i-form-field-border">','<div class="i-form-field-border-invalid" style="">','<div class="i-form-field-wrapper" style="">','<div class="i-form-field-body" style="">','<input class="i-form-field-input" type="{type}" id="{id}_input" autocomplete="off" value="" />',"</div>",'<div class="i-form-field-trigger {triggerClass}" style=""></div>',"</div>","</div>","</div>","</div>",'<tpl if="values.label">','<div class="i-form-field-label" style="">','<label style="" for="{id}_input">{label}</label>',"</div>","</tpl>","</div>",'<tpl if="values.config.selectionList">','<div id="{id}_toolbar" style="clear: both; overflow: hidden;"><span class="multicombo-all"></span> <span class="multicombo-none"></span></div>','<div id="{id}_list" class="multicombo-selected">',"</div>","</tpl>"),listItemTpl:'<div ig:id="{id}" class="multicombo-item {checked}">{name}</div>',initComponent:function(){in4.base.form.MultiCombo.superclass.initComponent.call(this)},onRender:function(){in4.base.form.MultiCombo.superclass.onRender.call(this);this.field=this.bodyEl.child(".i-form-field");this.container=this.bodyEl.child(".i-form-field-container");this.field.setHeight(this.height||25);this.container.setHeight(this.height||25);if(this.selectionList){new in4.base.form.Button({container:this.el.child(".multicombo-all"),text:"All",listeners:{click:{fn:this.selectAll,scope:this}}});new in4.base.form.Button({container:this.el.child(".multicombo-none"),text:"None",listeners:{click:{fn:this.deselectAll,scope:this}}})}},clearValue:function(){this.value="";this.setRawValue(this.value);Ext.each(this.getRoot(),function(a){a[this.checkField]=false},this);this.drawList();this.applyDefaultText()},getCheckedValue:function(a){var b=this.getCheckedValues(a);return b.join(this.separator)},getCheckedValues:function(a){a=a||this.valueField;var b=[];Ext.each(this.getRoot(),function(c){if(c[this.checkField]){b.push(c[a])}},this);return b},getCheckedDisplay:function(){var a=new RegExp(this.separator,"g");return this.getCheckedValue(this.displayField).replace(a,this.separator+" ")},selectItem:function(a){a[this.checkField]=!a[this.checkField];this.setValue(this.getCheckedValue());if(this.innerList){this.innerList.drawData()}},setValue:function(b,a){if(b){b=""+b;if(this.valueField){Ext.each(this.getRoot(),function(d){var c=!(!b.match("(^|"+this.separator+")"+RegExp.escape(d[this.valueField])+"("+this.separator+"|$)"));d[this.checkField]=c},this);this.value=this.getCheckedValue();this.setRawValue(this.getCheckedDisplay())}else{this.value=b;this.setRawValue(b)}}else{this.clearValue()}this.drawList();this.validate(a);return this},initEvents:function(){in4.base.form.MultiCombo.superclass.initEvents.call(this);this.el.on("click",this.onUnSelectClick,this)},onUnSelectClick:function(d,e,a){var b=Ext.fly(e);if(b.hasClass("multicombo-item")){var c=e.attributes.getNamedItem("ig:id");if(c){var f=parseInt(c.value,10);Ext.each(this.getRoot(),function(g){if(g[this.valueField]==f){this.selectItem(g);return false}},this)}}},drawList:function(){if(!this.selectionList){return}var a=Ext.get(this.el.child(".multicombo-selected"));Ext.DomHelper.overwrite(a,"");Ext.each(this.getRoot(),function(b){if(b[this.checkField]){Ext.DomHelper.append(a,this.listItemTpl.replace("{id}",b[this.valueField]).replace("{name}",b[this.displayField]).replace("{checked}",(b[this.checkField]?"multicombo-item-checked":"")))}},this)},validate:function(a){},expand:function(){in4.base.form.MultiCombo.superclass.expand.call(this);this.innerList.drawData()},initList:function(){if(!this.list){this.list=new in4.base.Component({container:Ext.getBody(),scroll:false,elCls:"collapsed combo-inner-list rounded-bottom "+(this.listCls||""),items:[{gtype:"grid",plugins:this.mode=="local"?[]:[{gptype:"paging",limit:this.pageSize}],useLoader:false,rowSelectable:true,data:this.data,root:this.root,totalProperty:this.totalProperty,width:"100%",height:"100%",scroll:true,emptyText:this.listEmptyText,count:this.count,scroll:true,rowTmplF:{combo:this},CRUD:this.CRUD,columns:[{name:"Name",data:this.displayField,renderer:function(b,a){return this.combo.listItemTpl.replace("{id}",a[this.combo.valueField]).replace("{name}",b).replace("{checked}",(a[this.combo.checkField]?"multicombo-item-checked":""))}},{name:this.valueField,data:this.valueField,width:0,hidden:true,renderer:function(b,a){return"<span class='"+this.valueField+"'>"+b+"</span>"}},{name:"image",data:"image",hidden:true,width:0},{name:"discriminator",data:"discriminator",hidden:true,width:0}],listeners:{rowclick:{fn:function(b,d,a,c){this.selectItem(c);this.fireEvent("select",c[this.valueField],this,c);this.triggerBlur()},scope:this}},rowOver:function(f,g,d,c){if(this&&this.dom&&this.dom.attributes.getNamedItem("ig:rid")){var e=c.getRoot();for(var b=0,a=e.length;b<a;b++){if(e[b]._ui_.id==this.id){c.rowTmplF.combo.select(b);break}}}return false},rowOut:function(){}}]});this.innerList=this.list.items[0];this.innerList.on("paging",function(b,a,c){this.onLoad()},this);this.list.el.on("click",function(a){a.stopEvent()},this);this.innerList.el.on("keydown",this.onKeyDown,this)}},onKeyDown:function(b){switch(b.keyCode){case 38:this.moveSelect(-1);break;case 40:if(this.collapsed){this.onTriggerClick()}else{this.moveSelect(1)}break;case 27:this.collapse();break;case 9:if(!this.value){this.searchString="";this.prev="";this.input.dom.value=""}this.collapse();break;case 13:if(!this.collapsed&&this.selectedIndex!=-1){var a=this.getRoot()[this.selectedIndex];this.selectItem(a);this.fireEvent("select",this.getValue(),this,a);b.stopEvent()}else{if(this.loading===true||this.getRawValue()!=""){if(this.eventsSuspended!==true){this.suspendEvents(true)}b.stopEvent()}else{this.validate()}}this.triggerBlur();break;default:this.collapse()}},onListBlur:function(b){var a=Ext.fly(b.getTarget());if(((!this.list||!a.findParent("#"+this.list.id))&&(!a.findParent("#"+this.id+"_innerwrapper")))){this.collapse();this.validate();this.triggerBlur()}else{if(a.findParent("#"+this.id+"_innerwrapper")){}else{b.stopEvent()}}},reload:function(){in4.base.form.MultiCombo.superclass.reload.call(this)},reset:function(){this.setValue(this.initialSelection.name,true)},requestCallback:function(a){in4.base.form.MultiCombo.superclass.requestCallback.call(this,a);if(this.selectingAll){delete this.selectingAll;this.collapse();this.selectAll()}},selectAll:function(){if(this.mode=="remote"&&(!this.getRoot()||this.getRoot().length==0)){this.sendApiRequest("");this.selectingAll=true;return}Ext.each(this.getRoot(),function(a){a[this.checkField]=true},this);this.setValue(this.getCheckedValue());this.fireEvent("select","",this,{})},deselectAll:function(){this.clearValue();this.fireEvent("select","",this,{})},isValid:function(){if(this.allowBlank===true||this.getCheckedValues().length>0){this.markInvalid(false);return true}this.markInvalid(true);return false}});in4.base.reg("multicombo",in4.base.form.MultiCombo);in4.base.form.TextareaCombo=Ext.extend(in4.base.form.Combo,{grow:true,growMin:16,tpl:new Ext.XTemplate('<tpl if="values.label">','<label for="{id}_field" class="i-form-field-label">{label}</label>',"</tpl>",'<div class="combo-selector {[values.label ? "i-form-field-body" : ""]}">','<div id="{id}_wrapper" class="combo-wrapper">','<table style="width:100%;"><tbody<tr><td class="combo-left"></td>','<td class="combo-inner">','<div class="combo-field-wrapper">','<textarea class="combo-field" autocomplete="off"> </textarea>',"</div>","</td>",'<td class="combo-right">','<span class="combo-arrow"></span>',"</td></tr></tbody></table>","</div>","</div>"),setValue:function(a){in4.base.form.TextareaCombo.superclass.setValue.call(this,a);in4.base.Utils.setAutoHeight(this)}});in4.base.reg("textareacombo",in4.base.form.TextareaCombo);in4.base.form.CheckboxGroup=Ext.extend(in4.base.form.Field,{tpl:new Ext.XTemplate('<div id="{id}" class="checkboxgroup-item {[values.checked ? "checkboxgroup-item-checked" : ""]}">{name}</div>'),initComponent:function(){in4.base.form.CheckboxGroup.superclass.initComponent.call(this);this.bodyEl.on("click",this.onBodyClick,this);this.cbs={};var a=this.checkboxes||[];delete this.checkboxes;Ext.each(a,function(b){this.addCheckbox(b)},this)},getValue:function(){var a={};for(item in this.cbs){a[this.cbs[item].id]=this.cbs[item].checked}return a},setValue:function(a){if(Ext.isObject(a)){for(id in a){if(this.cbs[id]&&this.cbs[id].checked!=a[id]){this.cbs[id].checked=a[id];this.cbs[id].ui.toggleClass("checkboxgroup-item-checked")}}}return this},focus:function(){},onBlur:function(b,a,c){this.validate();this.fireEvent("afterblur",this,b)},addCheckbox:function(a){var b=this.tpl.append(this.bodyEl,a,true);a.ui=b;this.cbs[a.id]=a},removeCheckbox:function(a){if(this.cbs[a]){this.cbs[a].ui.remove();delete this.cbs[a]}},onBodyClick:function(c,d,a){var b=c.getTarget(".checkboxgroup-item");if(b){if(this.cbs[b.id]){this.dirty=true;this.cbs[b.id].checked=!this.cbs[b.id].checked;this.cbs[b.id].ui.toggleClass("checkboxgroup-item-checked")}}},getCheckedValues:function(){var a=[];for(var b in this.cbs){a.push(this.cbs[b].checked)}return a},isDirty:function(){return this.dirty===true}});in4.base.reg("checkboxgroup",in4.base.form.CheckboxGroup);in4.base.EntitySelector=Ext.extend(in4.base.form.TriggerField,{initComponent:function(){in4.base.EntitySelector.superclass.initComponent.apply(this,arguments)},initEvents:function(){this.input.on("focus",this.onFocus,this)},onFocus:function(a){a.stopEvent();this.onTriggerClick()},onTriggerClick:function(){var a={};if(this.value){a=this.value}if(!this.activeWindow){this.activeWindow=new in4.base.EntitySelectorWindow({container:Ext.getBody(),field:this})}else{this.activeWindow.show()}this.activeWindow.updateFields(a)},validate:function(){return true},setValue:function(a){this.value=a;in4.base.EntitySelector.superclass.setValue.call(this,a?a.displayField:"");this.input.dom.value=""},getValue:function(){if(this.value){return{value1:this.value.displayField,value2:this.value.valueField}}return this.value},dispose:function(){this.activeWindow.dispose();in4.base.EntitySelector.superclass.dispose.call(this)}});in4.base.reg("entityselector",in4.base.EntitySelector);in4.base.EntitySelectorWindow=Ext.extend(in4.base.Panel,{isModal:{overlay:Ext.getBody()},closable:true,gtype:"entityselectorwindow",mode:"window",title:"Choose an entity",elCls:"number-chooser-window",height:450,width:600,resizeable:true,disposeOnHide:true,initComponent:function(){this.scroll=false;this.items=[{gtype:"component",height:35,items:[{gtype:"textfield",label:"keresés",height:25,width:200,elCls:"left",style:"margin: 5px;",queryDelay:500,listeners:{submit:{fn:this.doSearch,scope:this}}},{gtype:"button",text:"keress",listeners:{click:{fn:this.doSearch,scope:this}}}]},{gtype:"grid",width:"100%",height:"100%",scroll:true,root:"result.result",totalProperty:"result.count",plugins:[{gptype:"paging",limit:10}],columns:[{data:"image",name:"image",width:50,renderer:function(c,a,b){if(c&&c.indexOf("http")!=-1){return'<img title="" style="height: 36px; width: 36px;" src="'+c+'" />'}return""}},{data:"entityName",name:"entityName",orderable:true,width:"15%"},{data:"discriminator",name:"discriminator",hidden:true,width:"25%"},{data:"aliases",name:"aliases",width:"20%"},{data:"entityId",name:"entityId",width:40,hidden:true},{data:"categoryId",name:"categoryId",width:40,hidden:true},{data:"categoryName",name:"categoryName",orderable:true,width:"15%"},{data:"hierarchy",name:"hierarchy",width:"20%"},{data:"source",name:"source",width:"15%"},{data:"description",name:"description",width:"15%",hidden:true}],CRUD:{RETRIEVE:{action:"similator",method:"findAssignableEntities",params:{}},RETRIEVE_PAGE:{action:"similator",method:"findAssignableEntities",params:{}}},listeners:{rowclick:{fn:this.onSelect,scope:this}}}];in4.base.EntitySelectorWindow.superclass.initComponent.call(this)},doSearch:function(){this.items[1].CRUD.RETRIEVE.method=this.items[1].CRUD.RETRIEVE_PAGE.method="findAssignableEntities";this.items[1].CRUDParams.query=this.items[0].items[0].getValue();this.items[1].reload()},updateFields:function(a){this.items[0].items[0].setValue(a.displayField);this.items[1].CRUDParams={itemId:a.itemId};this.items[1].CRUD.RETRIEVE.method=this.items[1].CRUD.RETRIEVE_PAGE.method="getLinkSuggestions";this.items[1].reload()},onSelect:function(c,f,b,a,d,e){this.field.setValue({valueField:a.entityId,displayField:a.entityName});this.field.onBlur();this.hide()},hide:function(){if(this.field){this.field.onBlur()}in4.base.EntitySelectorWindow.superclass.hide.call(this)}});
