window.undefined=window.undefined;Ext={version:"3.3.1",versionDetail:{major:3,minor:3,patch:1}};Ext.apply=function(k,h,c){if(c){Ext.apply(k,c)}if(k&&h&&typeof h=="object"){for(var g in h){k[g]=h[g]}}return k};(function(){var Y=0,I=Object.prototype.toString,H=navigator.userAgent.toLowerCase(),e=function(a){return a.test(H)},W=document,R=W.documentMode,T=W.compatMode=="CSS1Compat",M=e(/opera/),X=e(/\bchrome\b/),G=e(/webkit/),D=!X&&e(/safari/),Z=D&&e(/applewebkit\/4/),ac=D&&e(/version\/3/),L=D&&e(/version\/4/),J=!M&&e(/msie/),N=J&&(e(/msie 7/)||R==7),P=J&&(e(/msie 8/)&&R!=7),K=J&&!N&&!P,Q=!G&&e(/gecko/),aa=Q&&e(/rv:1\.8/),ad=Q&&e(/rv:1\.9/),F=J&&!T,O=e(/windows|win32/),U=e(/macintosh|mac os x/),V=e(/adobeair/),S=e(/linux/),ab=/^https/i.test(window.location.protocol);if(K){try{W.execCommand("BackgroundImageCache",false,true)}catch(E){}}Ext.apply(Ext,{SSL_SECURE_URL:ab&&J?'javascript:""':"about:blank",isStrict:T,isSecure:ab,isReady:false,enableForcedBoxModel:false,enableGarbageCollector:true,enableListenerCollection:false,enableNestedListenerRemoval:false,USE_NATIVE_JSON:false,applyIf:function(c,a){if(c){for(var b in a){if(!Ext.isDefined(c[b])){c[b]=a[b]}}}return c},id:function(b,a){b=Ext.getDom(b,true)||{};if(!b.id){b.id=(a||"ext-gen")+(++Y)}return b.id},extend:function(){var b=function(c){for(var d in c){this[d]=c[d]}};var a=Object.prototype.constructor;return function(c,h,d){if(typeof h=="object"){d=h;h=c;c=d.constructor!=a?d.constructor:function(){h.apply(this,arguments)}}var k=function(){},g,l=h.prototype;k.prototype=l;g=c.prototype=new k();g.constructor=c;c.superclass=l;if(l.constructor==a){l.constructor=h}c.override=function(n){Ext.override(c,n)};g.superclass=g.supr=(function(){return l});g.override=b;Ext.override(c,d);c.extend=function(n){return Ext.extend(c,n)};return c}}(),override:function(c,a){if(a){var b=c.prototype;Ext.apply(b,a);if(Ext.isIE&&a.hasOwnProperty("toString")){b.toString=a.toString}}},namespace:function(){var b,a;Ext.each(arguments,function(c){a=c.split(".");b=window[a[0]]=window[a[0]]||{};Ext.each(a.slice(1),function(d){b=b[d]=b[d]||{}})});return b},urlEncode:function(a,b){var d,g=[],c=encodeURIComponent;Ext.iterate(a,function(k,h){d=Ext.isEmpty(h);Ext.each(d?k:h,function(l){g.push("&",c(k),"=",(!Ext.isEmpty(l)&&(l!=k||!d))?(Ext.isDate(l)?Ext.encode(l).replace(/"/g,""):c(l)):"")})});if(!b){g.shift();b=""}return b+g.join("")},urlDecode:function(g,k){if(Ext.isEmpty(g)){return{}}var b={},c=g.split("&"),a=decodeURIComponent,h,d;Ext.each(c,function(l){l=l.split("=");h=a(l[0]);d=a(l[1]);b[h]=k||!b[h]?d:[].concat(b[h]).concat(d)});return b},urlAppend:function(b,a){if(!Ext.isEmpty(a)){return b+(b.indexOf("?")===-1?"?":"&")+a}return b},toArray:function(){return J?function(d,a,c,b){b=[];for(var h=0,g=d.length;h<g;h++){b.push(d[h])}return b.slice(a||0,c||b.length)}:function(c,a,b){return Array.prototype.slice.call(c,a||0,b||c.length)}}(),isIterable:function(a){if(Ext.isArray(a)||a.callee){return true}if(/NodeList|HTMLCollection/.test(I.call(a))){return true}return((typeof a.nextNode!="undefined"||a.item)&&Ext.isNumber(a.length))},each:function(a,b,c){if(Ext.isEmpty(a,true)){return}if(!Ext.isIterable(a)||Ext.isPrimitive(a)){a=[a]}for(var g=0,d=a.length;g<d;g++){if(b.call(c||a[g],a[g],g,a)===false){return g}}},iterate:function(b,d,c){if(Ext.isEmpty(b)){return}if(Ext.isIterable(b)){Ext.each(b,d,c);return}else{if(typeof b=="object"){for(var a in b){if(b.hasOwnProperty(a)){if(d.call(c||b,a,b[a],b)===false){return}}}}}},getDom:function(b,c){if(!b||!W){return null}if(b.dom){return b.dom}else{if(typeof b=="string"){var a=W.getElementById(b);if(a&&J&&c){if(b==a.getAttribute("id")){return a}else{return null}}return a}else{return b}}},getBody:function(){return Ext.get(W.body||W.documentElement)},getHead:function(){var a;return function(){if(a==undefined){a=Ext.get(W.getElementsByTagName("head")[0])}return a}}(),removeNode:J&&!P?function(){var a;return function(b){if(b&&b.tagName!="BODY"){(Ext.enableNestedListenerRemoval)?Ext.EventManager.purgeElement(b,true):Ext.EventManager.removeAll(b);a=a||W.createElement("div");a.appendChild(b);a.innerHTML="";delete Ext.elCache[b.id]}}}():function(a){if(a&&a.parentNode&&a.tagName!="BODY"){(Ext.enableNestedListenerRemoval)?Ext.EventManager.purgeElement(a,true):Ext.EventManager.removeAll(a);a.parentNode.removeChild(a);delete Ext.elCache[a.id]}},isEmpty:function(b,a){return b===null||b===undefined||((Ext.isArray(b)&&!b.length))||(!a?b==="":false)},isArray:function(a){return I.apply(a)==="[object Array]"},isDate:function(a){return I.apply(a)==="[object Date]"},isObject:function(a){return !!a&&Object.prototype.toString.call(a)==="[object Object]"},isPrimitive:function(a){return Ext.isString(a)||Ext.isNumber(a)||Ext.isBoolean(a)},isFunction:function(a){return I.apply(a)==="[object Function]"},isNumber:function(a){return typeof a==="number"&&isFinite(a)},isString:function(a){return typeof a==="string"},isBoolean:function(a){return typeof a==="boolean"},isElement:function(a){return a?!!a.tagName:false},isDefined:function(a){return typeof a!=="undefined"},isOpera:M,isWebKit:G,isChrome:X,isSafari:D,isSafari3:ac,isSafari4:L,isSafari2:Z,isIE:J,isIE6:K,isIE7:N,isIE8:P,isGecko:Q,isGecko2:aa,isGecko3:ad,isBorderBox:F,isLinux:S,isWindows:O,isMac:U,isAir:V});Ext.ns=Ext.namespace})();Ext.ns("Ext.util","Ext.lib","Ext.data","Ext.supports");Ext.elCache={};Ext.apply(Function.prototype,{createInterceptor:function(d,e){var g=this;return !Ext.isFunction(d)?this:function(){var a=this,b=arguments;d.target=a;d.method=g;return(d.apply(e||a||window,b)!==false)?g.apply(a||window,b):null}},createCallback:function(){var d=arguments,c=this;return function(){return c.apply(window,d)}},createDelegate:function(k,e,g){var h=this;return function(){var a=e||arguments;if(g===true){a=Array.prototype.slice.call(arguments,0);a=a.concat(e)}else{if(Ext.isNumber(g)){a=Array.prototype.slice.call(arguments,0);var b=[g,0].concat(e);Array.prototype.splice.apply(a,b)}}return h.apply(k||window,a)}},defer:function(n,k,g,h){var l=this.createDelegate(k,g,h);if(n>0){return setTimeout(l,n)}l();return 0}});Ext.applyIf(String,{format:function(c){var d=Ext.toArray(arguments,1);return c.replace(/\{(\d+)\}/g,function(b,a){return d[a]})}});Ext.applyIf(Array.prototype,{indexOf:function(d,g){var e=this.length;g=g||0;g+=(g<0)?e:0;for(;g<e;++g){if(this[g]===d){return g}}return -1},remove:function(c){var d=this.indexOf(c);if(d!=-1){this.splice(d,1)}return this}});Ext.util.TaskRunner=function(p){p=p||10;var o=[],t=[],s=0,n=false,q=function(){n=false;clearInterval(s);s=0},l=function(){if(!n){n=true;s=setInterval(k,p)}},r=function(a){t.push(a);if(a.onStop){a.onStop.apply(a.scope||a)}},k=function(){var b=t.length,h=new Date().getTime();if(b>0){for(var e=0;e<b;e++){o.remove(t[e])}t=[];if(o.length<1){q();return}}for(var e=0,g,c,a,d=o.length;e<d;++e){g=o[e];c=h-g.taskRunTime;if(g.interval<=c){a=g.run.apply(g.scope||g,g.args||[++g.taskRunCount]);g.taskRunTime=h;if(a===false||g.taskRunCount===g.repeat){r(g);return}}if(g.duration&&g.duration<=(h-g.taskStartTime)){r(g)}}};this.start=function(a){o.push(a);a.taskStartTime=new Date().getTime();a.taskRunTime=0;a.taskRunCount=0;l();return a};this.stop=function(a){r(a);return a};this.stopAll=function(){q();for(var a=0,b=o.length;a<b;a++){if(o[a].onStop){o[a].onStop()}}o=[];t=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();(function(){var d;function g(a){if(!d){d=new Ext.Element.Flyweight()}d.dom=a;return d}(function(){var b=document,k=b.compatMode=="CSS1Compat",c=Math.max,l=Math.round,a=parseInt;Ext.lib.Dom={isAncestor:function(n,h){var o=false;n=Ext.getDom(n);h=Ext.getDom(h);if(n&&h){if(n.contains){return n.contains(h)}else{if(n.compareDocumentPosition){return !!(n.compareDocumentPosition(h)&16)}else{while(h=h.parentNode){o=h==n||o}}}}return o},getViewWidth:function(h){return h?this.getDocumentWidth():this.getViewportWidth()},getViewHeight:function(h){return h?this.getDocumentHeight():this.getViewportHeight()},getDocumentHeight:function(){return c(!k?b.body.scrollHeight:b.documentElement.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return c(!k?b.body.scrollWidth:b.documentElement.scrollWidth,this.getViewportWidth())},getViewportHeight:function(){return Ext.isIE?(Ext.isStrict?b.documentElement.clientHeight:b.body.clientHeight):self.innerHeight},getViewportWidth:function(){return !Ext.isStrict&&!Ext.isOpera?b.body.clientWidth:Ext.isIE?b.documentElement.clientWidth:self.innerWidth},getY:function(h){return this.getXY(h)[1]},getX:function(h){return this.getXY(h)[0]},getXY:function(A){var B,p,G,D,z,y,E=0,h=0,F,C,x=(b.body||b.documentElement),w=[0,0];A=Ext.getDom(A);if(A!=x){if(A.getBoundingClientRect){G=A.getBoundingClientRect();F=g(document).getScroll();w=[l(G.left+F.left),l(G.top+F.top)]}else{B=A;C=g(A).isStyle("position","absolute");while(B){p=g(B);E+=B.offsetLeft;h+=B.offsetTop;C=C||p.isStyle("position","absolute");if(Ext.isGecko){h+=D=a(p.getStyle("borderTopWidth"),10)||0;E+=z=a(p.getStyle("borderLeftWidth"),10)||0;if(B!=A&&!p.isStyle("overflow","visible")){E+=z;h+=D}}B=B.offsetParent}if(Ext.isSafari&&C){E-=x.offsetLeft;h-=x.offsetTop}if(Ext.isGecko&&!C){y=g(x);E+=a(y.getStyle("borderLeftWidth"),10)||0;h+=a(y.getStyle("borderTopWidth"),10)||0}B=A.parentNode;while(B&&B!=x){if(!Ext.isOpera||(B.tagName!="TR"&&!g(B).isStyle("display","inline"))){E-=B.scrollLeft;h-=B.scrollTop}B=B.parentNode}w=[E,h]}}return w},setXY:function(p,o){(p=Ext.fly(p,"_setXY")).position();var n=p.translatePoints(o),q=p.dom.style,h;for(h in n){if(!isNaN(n[h])){q[h]=n[h]+"px"}}},setX:function(h,n){this.setXY(h,[n,false])},setY:function(n,h){this.setXY(n,[false,h])}}})();Ext.lib.Event=function(){var G=false,ab={},a=0,S=[],ad,Q=false,W=window,I=document,V=200,N=20,R=0,Y=1,L=2,F=3,J="scrollLeft",P="scrollTop",aa="unload",b="mouseover",K="mouseout",ac=function(){var h;if(W.addEventListener){h=function(k,n,l,o){if(n=="mouseenter"){l=l.createInterceptor(T);k.addEventListener(b,l,(o))}else{if(n=="mouseleave"){l=l.createInterceptor(T);k.addEventListener(K,l,(o))}else{k.addEventListener(n,l,(o))}}return l}}else{if(W.attachEvent){h=function(k,n,l,o){k.attachEvent("on"+n,l);return l}}else{h=function(){}}}return h}(),Z=function(){var h;if(W.removeEventListener){h=function(k,n,l,o){if(n=="mouseenter"){n=b}else{if(n=="mouseleave"){n=K}}k.removeEventListener(n,l,(o))}}else{if(W.detachEvent){h=function(k,n,l){k.detachEvent("on"+n,l)}}else{h=function(){}}}return h}();function T(h){return !H(h.currentTarget,c.getRelatedTarget(h))}function H(k,h){if(k&&k.firstChild){while(h){if(h===k){return true}h=h.parentNode;if(h&&(h.nodeType!=1)){h=null}}}return false}function O(){var p=false,h=[],l,n,q,o,k=!G||(a>0);if(!Q){Q=true;for(n=0;n<S.length;++n){q=S[n];if(q&&(l=I.getElementById(q.id))){if(!q.checkReady||G||l.nextSibling||(I&&I.body)){o=q.override;l=o?(o===true?q.obj:o):l;q.fn.call(l,q.obj);S.remove(q);--n}else{h.push(q)}}}a=(h.length===0)?0:a-1;if(k){U()}else{clearInterval(ad);ad=null}p=!(Q=false)}return p}function U(){if(!ad){var h=function(){O()};ad=setInterval(h,N)}}function M(){var k=I.documentElement,h=I.body;if(k&&(k[P]||k[J])){return[k[J],k[P]]}else{if(h){return[h[J],h[P]]}else{return[0,0]}}}function X(l,k){l=l.browserEvent||l;var h=l["page"+k];if(!h&&h!==0){h=l["client"+k]||0;if(Ext.isIE){h+=M()[k=="X"?0:1]}}return h}var c={extAdapter:true,onAvailable:function(k,n,h,l){S.push({id:k,fn:n,obj:h,override:l,checkReady:false});a=V;U()},addListener:function(h,l,k){h=Ext.getDom(h);if(h&&k){if(l==aa){if(ab[h.id]===undefined){ab[h.id]=[]}ab[h.id].push([l,k]);return k}return ac(h,l,k,false)}return false},removeListener:function(h,o,k){h=Ext.getDom(h);var l,p,q,n;if(h&&k){if(o==aa){if((n=ab[h.id])!==undefined){for(l=0,p=n.length;l<p;l++){if((q=n[l])&&q[R]==o&&q[Y]==k){ab[h.id].splice(l,1)}}}return}Z(h,o,k,false)}},getTarget:function(h){h=h.browserEvent||h;return this.resolveTextNode(h.target||h.srcElement)},resolveTextNode:Ext.isGecko?function(h){if(!h){return}var k=HTMLElement.prototype.toString.call(h);if(k=="[xpconnect wrapped native prototype]"||k=="[object XULElement]"){return}return h.nodeType==3?h.parentNode:h}:function(h){return h&&h.nodeType==3?h.parentNode:h},getRelatedTarget:function(h){h=h.browserEvent||h;return this.resolveTextNode(h.relatedTarget||(/(mouseout|mouseleave)/.test(h.type)?h.toElement:/(mouseover|mouseenter)/.test(h.type)?h.fromElement:null))},getPageX:function(h){return X(h,"X")},getPageY:function(h){return X(h,"Y")},getXY:function(h){return[this.getPageX(h),this.getPageY(h)]},stopEvent:function(h){this.stopPropagation(h);this.preventDefault(h)},stopPropagation:function(h){h=h.browserEvent||h;if(h.stopPropagation){h.stopPropagation()}else{h.cancelBubble=true}},preventDefault:function(h){h=h.browserEvent||h;if(h.preventDefault){h.preventDefault()}else{h.returnValue=false}},getEvent:function(k){k=k||W.event;if(!k){var h=this.getEvent.caller;while(h){k=h.arguments[0];if(k&&Event==k.constructor){break}h=h.caller}}return k},getCharCode:function(h){h=h.browserEvent||h;return h.charCode||h.keyCode||0},getListeners:function(h,k){Ext.EventManager.getListeners(h,k)},purgeElement:function(k,h,l){Ext.EventManager.purgeElement(k,h,l)},_load:function(h){G=true;if(Ext.isIE&&h!==true){Z(W,"load",arguments.callee)}},_unload:function(o){var r=Ext.lib.Event,q,k,n,s,p,h;for(s in ab){n=ab[s];for(q=0,p=n.length;q<p;q++){k=n[q];if(k){try{h=k[F]?(k[F]===true?k[L]:k[F]):W;k[Y].call(h,r.getEvent(o),k[L])}catch(l){}}}}Ext.EventManager._unload();Z(W,aa,r._unload)}};c.on=c.addListener;c.un=c.removeListener;if(I&&I.body){c._load(true)}else{ac(W,"load",c._load)}ac(W,aa,c._unload);O();return c}();Ext.lib.Ajax=function(){var A=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"],D="Content-Type";function z(k){var n=k.conn,h,l={};function o(p,q){for(h in q){if(q.hasOwnProperty(h)){p.setRequestHeader(h,q[h])}}}Ext.apply(l,w.headers,w.defaultHeaders);o(n,l);delete w.headers}function C(h,k,l,n){return{tId:h,status:l?-1:0,statusText:l?"transaction aborted":"communication failure",isAbort:l,isTimeout:n,argument:k}}function x(k,h){(w.headers=w.headers||{})[k]=h}function c(E,o){var h={},p,q=E.conn,l,k,r=q.status==1223;try{p=E.conn.getAllResponseHeaders();Ext.each(p.replace(/\r\n/g,"\n").split("\n"),function(F){l=F.indexOf(":");if(l>=0){k=F.substr(0,l).toLowerCase();if(F.charAt(l+1)==" "){++l}h[k]=F.substr(l+1)}})}catch(n){}return{tId:E.tId,status:r?204:q.status,statusText:r?"No Content":q.statusText,getResponseHeader:function(F){return h[F.toLowerCase()]},getAllResponseHeaders:function(){return p},responseText:q.responseText,responseXML:q.responseXML,argument:o}}function s(h){if(h.tId){w.conn[h.tId]=null}h.conn=null;h=null}function B(h,q,o,p){if(!q){s(h);return}var l,n;try{if(h.conn.status!==undefined&&h.conn.status!=0){l=h.conn.status}else{l=13030}}catch(k){l=13030}if((l>=200&&l<300)||(Ext.isIE&&l==1223)){n=c(h,q.argument);if(q.success){if(!q.scope){q.success(n)}else{q.success.apply(q.scope,[n])}}}else{switch(l){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:n=C(h.tId,q.argument,(o?o:false),p);if(q.failure){if(!q.scope){q.failure(n)}else{q.failure.apply(q.scope,[n])}}break;default:n=c(h,q.argument);if(q.failure){if(!q.scope){q.failure(n)}else{q.failure.apply(q.scope,[n])}}}}s(h);n=null}function u(n,h,p,k,o,l){if(p&&p.readyState==4){clearInterval(o[k]);o[k]=null;if(l){clearTimeout(w.timeout[k]);w.timeout[k]=null}B(n,h)}}function a(k,h){w.abort(k,h,true)}function t(n,h){h=h||{};var p=n.conn,k=n.tId,o=w.poll,l=h.timeout||null;if(l){w.conn[k]=p;w.timeout[k]=setTimeout(a.createCallback(n,h),l)}o[k]=setInterval(u.createCallback(n,h,p,k,o,l),w.pollInterval)}function y(h,n,k,o){var l=v()||null;if(l){l.conn.open(h,n,true);if(w.useDefaultXhrHeader){x("X-Requested-With",w.defaultXhrHeader)}if(o&&w.useDefaultHeader&&(!w.headers||!w.headers[D])){x(D,w.defaultPostHeader)}if(w.defaultHeaders||w.headers){z(l)}t(l,k);l.conn.send(o||null)}return l}function v(){var h;try{if(h=b(w.transactionId)){w.transactionId++}}catch(k){}finally{return h}}function b(h){var n;try{n=new XMLHttpRequest()}catch(k){for(var l=0;l<A.length;++l){try{n=new ActiveXObject(A[l]);break}catch(k){}}}finally{return{conn:n,tId:h}}}var w={request:function(E,q,p,o,h){if(h){var n=this,r=h.xmlData,l=h.jsonData,k;Ext.applyIf(n,h);if(r||l){k=n.headers;if(!k||!k[D]){x(D,r?"text/xml":"application/json")}o=r||(!Ext.isPrimitive(l)?Ext.encode(l):l)}}return y(E||h.method||"POST",q,p,o)},serializeForm:function(r){var h=r.elements||(document.forms[r]||Ext.getDom(r)).elements,p=false,k=encodeURIComponent,o,q="",l,n;Ext.each(h,function(E){o=E.name;l=E.type;if(!E.disabled&&o){if(/select-(one|multiple)/i.test(l)){Ext.each(E.options,function(F){if(F.selected){n=F.hasAttribute?F.hasAttribute("value"):F.getAttributeNode("value").specified;q+=String.format("{0}={1}&",k(o),k(n?F.value:F.text))}})}else{if(!(/file|undefined|reset|button/i.test(l))){if(!(/radio|checkbox/i.test(l)&&!E.checked)&&!(l=="submit"&&p)){q+=k(o)+"="+k(E.value)+"&";p=/submit/i.test(l)}}}}});return q.substr(0,q.length-1)},useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",poll:{},timeout:{},conn:{},pollInterval:50,transactionId:0,abort:function(l,h,p){var n=this,k=l.tId,o=false;if(n.isCallInProgress(l)){l.conn.abort();clearInterval(n.poll[k]);n.poll[k]=null;clearTimeout(w.timeout[k]);n.timeout[k]=null;B(l,h,(o=true),p)}return o},isCallInProgress:function(h){return h.conn&&!{0:true,4:true}[h.conn.readyState]}};return w}();(function(){var k=Ext.lib,b=/width|height|opacity|padding/i,l=/^((width|height)|(top|left))$/,o=/width|height|top$|bottom$|left$|right$/i,c=/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i,a=function(h){return typeof h!=="undefined"},n=function(){return new Date()};k.Anim={motion:function(u,q,t,s,r,h){return this.run(u,q,t,s,r,h,Ext.lib.Motion)},run:function(x,s,v,u,t,y,h){h=h||Ext.lib.AnimBase;if(typeof u=="string"){u=Ext.lib.Easing[u]}var w=new h(x,s,v,u);w.animateX(function(){if(Ext.isFunction(t)){t.call(y)}});return w}};k.AnimBase=function(p,q,h,r){if(p){this.init(p,q,h,r)}};k.AnimBase.prototype={doMethod:function(q,r,p){var h=this;return h.method(h.curFrame,r,p-r,h.totalFrames)},setAttr:function(q,h,p){if(b.test(q)&&h<0){h=0}Ext.fly(this.el,"_anim").setStyle(q,h+p)},getAttr:function(q){var h=Ext.fly(this.el),r=h.getStyle(q),p=l.exec(q)||[];if(r!=="auto"&&!c.test(r)){return parseFloat(r)}return(!!(p[2])||(h.getStyle("position")=="absolute"&&!!(p[3])))?h.dom["offset"+p[0].charAt(0).toUpperCase()+p[0].substr(1)]:0},getDefaultUnit:function(h){return o.test(h)?"px":""},animateX:function(r,q){var p=this,h=function(){p.onComplete.removeListener(h);if(Ext.isFunction(r)){r.call(q||p,p)}};p.onComplete.addListener(h,p);p.animate()},setRunAttr:function(x){var h=this,G=this.attributes[x],F=G.to,w=G.by,E=G.from,D=G.unit,B=(this.runAttrs[x]={}),A;if(!a(F)&&!a(w)){return false}var C=a(E)?E:h.getAttr(x);if(a(F)){A=F}else{if(a(w)){if(Ext.isArray(C)){A=[];for(var z=0,y=C.length;z<y;z++){A[z]=C[z]+w[z]}}else{A=C+w}}}Ext.apply(B,{start:C,end:A,unit:a(D)?D:h.getDefaultUnit(x)})},init:function(z,v,w,A){var h=this,x=0,C=k.AnimMgr;Ext.apply(h,{isAnimated:false,startTime:null,el:Ext.getDom(z),attributes:v||{},duration:w||1,method:A||k.Easing.easeNone,useSec:true,curFrame:0,totalFrames:C.fps,runAttrs:{},animate:function(){var q=this,p=q.duration;if(q.isAnimated){return false}q.curFrame=0;q.totalFrames=q.useSec?Math.ceil(C.fps*p):p;C.registerElement(q)},stop:function(q){var p=this;if(q){p.curFrame=p.totalFrames;p._onTween.fire()}C.stop(p)}});var B=function(){var p=this,q;p.onStart.fire();p.runAttrs={};for(q in this.attributes){this.setRunAttr(q)}p.isAnimated=true;p.startTime=n();x=0};var u=function(){var q=this;q.onTween.fire({duration:n()-q.startTime,curFrame:q.curFrame});var p=q.runAttrs;for(var r in p){this.setAttr(r,q.doMethod(r,p[r].start,p[r].end),p[r].unit)}++x};var y=function(){var r=this,p=(n()-r.startTime)/1000,q={duration:p,frames:x,fps:x/p};r.isAnimated=false;x=0;r.onComplete.fire(q)};h.onStart=new Ext.util.Event(h);h.onTween=new Ext.util.Event(h);h.onComplete=new Ext.util.Event(h);(h._onStart=new Ext.util.Event(h)).addListener(B);(h._onTween=new Ext.util.Event(h)).addListener(u);(h._onComplete=new Ext.util.Event(h)).addListener(y)}};Ext.lib.AnimMgr=new function(){var t=this,h=null,q=[],r=0;Ext.apply(t,{fps:1000,delay:1,registerElement:function(p){q.push(p);++r;p._onStart.fire();t.start()},unRegister:function(p,v){p._onComplete.fire();v=v||s(p);if(v!=-1){q.splice(v,1)}if(--r<=0){t.stop()}},start:function(){if(h===null){h=setInterval(t.run,t.delay)}},stop:function(p){if(!p){clearInterval(h);for(var v=0,w=q.length;v<w;++v){if(q[0].isAnimated){t.unRegister(q[0],0)}}q=[];h=null;r=0}else{t.unRegister(p)}},run:function(){var p,v,x,w;for(v=0,x=q.length;v<x;v++){w=q[v];if(w&&w.isAnimated){p=w.totalFrames;if(w.curFrame<p||p===null){++w.curFrame;if(w.useSec){u(w)}w._onTween.fire()}else{t.stop(w)}}}}});var s=function(p){var v,w;for(v=0,w=q.length;v<w;v++){if(q[v]===p){return v}}return -1};var u=function(B){var x=B.totalFrames,y=B.curFrame,z=B.duration,A=(y*z*1000/x),C=(n()-B.startTime),p=0;if(C<z*1000){p=Math.round((C/A-1)*y)}else{p=x-(y+1)}if(p>0&&isFinite(p)){if(B.curFrame+p>=x){p=x-(y+1)}B.curFrame+=p}}};k.Bezier=new function(){this.getPosition=function(w,x){var u=w.length,h=[],v=1-x,s,t;for(s=0;s<u;++s){h[s]=[w[s][0],w[s][1]]}for(t=1;t<u;++t){for(s=0;s<u-t;++s){h[s][0]=v*h[s][0]+x*h[parseInt(s+1,10)][0];h[s][1]=v*h[s][1]+x*h[parseInt(s+1,10)][1]}}return[h[0][0],h[0][1]]}};k.Easing={easeNone:function(p,q,r,h){return r*p/h+q},easeIn:function(p,q,r,h){return r*(p/=h)*p+q},easeOut:function(p,q,r,h){return -r*(p/=h)*(p-2)+q}};(function(){k.Motion=function(t,u,s,r){if(t){k.Motion.superclass.constructor.call(this,t,u,s,r)}};Ext.extend(k.Motion,Ext.lib.AnimBase);var h=k.Motion.superclass,p=/^points$/i;Ext.apply(k.Motion.prototype,{setAttr:function(w,s,t){var u=this,v=h.setAttr;if(p.test(w)){t=t||"px";v.call(u,"left",s[0],t);v.call(u,"top",s[1],t)}else{v.call(u,w,s,t)}},getAttr:function(t){var r=this,s=h.getAttr;return p.test(t)?[s.call(r,"left"),s.call(r,"top")]:s.call(r,t)},doMethod:function(u,r,t){var s=this;return p.test(u)?k.Bezier.getPosition(s.runAttrs[u],s.method(s.curFrame,0,100,s.totalFrames)/100):h.doMethod.call(s,u,r,t)},setRunAttr:function(M){if(p.test(M)){var K=this,D=this.el,H=this.attributes.points,O=H.control||[],J=H.from,I=H.to,L=H.by,F=k.Dom,E,B,C,N,G;if(O.length>0&&!Ext.isArray(O[0])){O=[O]}else{}Ext.fly(D,"_anim").position();F.setXY(D,a(J)?J:F.getXY(D));E=K.getAttr("points");if(a(I)){C=q.call(K,I,E);for(B=0,N=O.length;B<N;++B){O[B]=q.call(K,O[B],E)}}else{if(a(L)){C=[E[0]+L[0],E[1]+L[1]];for(B=0,N=O.length;B<N;++B){O[B]=[E[0]+O[B][0],E[1]+O[B][1]]}}}G=this.runAttrs[M]=[E];if(O.length>0){G=G.concat(O)}G[G.length]=C}else{h.setRunAttr.call(this,M)}}});var q=function(t,r){var s=k.Dom.getXY(this.el);return[t[0]-s[0]+r[0],t[1]-s[1]+r[1]]}})()})();(function(){var n=Math.abs,a=Math.PI,b=Math.asin,c=Math.pow,l=Math.sin,k=Ext.lib;Ext.apply(k.Easing,{easeBoth:function(p,q,h,o){return((p/=o/2)<1)?h/2*p*p+q:-h/2*((--p)*(p-2)-1)+q},easeInStrong:function(p,q,h,o){return h*(p/=o)*p*p*p+q},easeOutStrong:function(p,q,h,o){return -h*((p=p/o-1)*p*p*p-1)+q},easeBothStrong:function(p,q,h,o){return((p/=o/2)<1)?h/2*p*p*p*p+q:-h/2*((p-=2)*p*p*p-2)+q},elasticIn:function(p,s,t,u,r,v){if(p==0||(p/=u)==1){return p==0?s:s+t}v=v||(u*0.3);var h;if(r>=n(t)){h=v/(2*a)*b(t/r)}else{r=t;h=v/4}return -(r*c(2,10*(p-=1))*l((p*u-h)*(2*a)/v))+s},elasticOut:function(p,s,t,u,r,v){if(p==0||(p/=u)==1){return p==0?s:s+t}v=v||(u*0.3);var h;if(r>=n(t)){h=v/(2*a)*b(t/r)}else{r=t;h=v/4}return r*c(2,-10*p)*l((p*u-h)*(2*a)/v)+t+s},elasticBoth:function(p,s,t,u,r,v){if(p==0||(p/=u/2)==2){return p==0?s:s+t}v=v||(u*(0.3*1.5));var h;if(r>=n(t)){h=v/(2*a)*b(t/r)}else{r=t;h=v/4}return p<1?-0.5*(r*c(2,10*(p-=1))*l((p*u-h)*(2*a)/v))+s:r*c(2,-10*(p-=1))*l((p*u-h)*(2*a)/v)*0.5+t+s},backIn:function(p,q,r,h,o){o=o||1.70158;return r*(p/=h)*p*((o+1)*p-o)+q},backOut:function(p,q,r,h,o){if(!o){o=1.70158}return r*((p=p/h-1)*p*((o+1)*p+o)+1)+q},backBoth:function(p,q,r,h,o){o=o||1.70158;return((p/=h/2)<1)?r/2*(p*p*(((o*=(1.525))+1)*p-o))+q:r/2*((p-=2)*p*(((o*=(1.525))+1)*p+o)+2)+q},bounceIn:function(p,q,h,o){return h-k.Easing.bounceOut(o-p,0,h,o)+q},bounceOut:function(p,q,h,o){if((p/=o)<(1/2.75)){return h*(7.5625*p*p)+q}else{if(p<(2/2.75)){return h*(7.5625*(p-=(1.5/2.75))*p+0.75)+q}else{if(p<(2.5/2.75)){return h*(7.5625*(p-=(2.25/2.75))*p+0.9375)+q}}}return h*(7.5625*(p-=(2.625/2.75))*p+0.984375)+q},bounceBoth:function(p,q,h,o){return(p<o/2)?k.Easing.bounceIn(p*2,0,h,o)*0.5+q:k.Easing.bounceOut(p*2-o,0,h,o)*0.5+h*0.5+q}})})();(function(){var o=Ext.lib;o.Anim.color=function(t,v,l,k,h,u){return o.Anim.run(t,v,l,k,h,u,o.ColorAnim)};o.ColorAnim=function(t,h,l,k){o.ColorAnim.superclass.constructor.call(this,t,h,l,k)};Ext.extend(o.ColorAnim,o.AnimBase);var c=o.ColorAnim.superclass,n=/color$/i,q=/^transparent|rgba\(0, 0, 0, 0\)$/,a=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,s=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,r=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,p=function(h){return typeof h!=="undefined"};function b(u){var l=parseInt,t,h=null,k;if(u.length==3){return u}Ext.each([s,a,r],function(v,w){t=(w%2==0)?16:10;k=v.exec(u);if(k&&k.length==4){h=[l(k[1],t),l(k[2],t),l(k[3],t)];return false}});return h}Ext.apply(o.ColorAnim.prototype,{getAttr:function(h){var l=this,t=l.el,k;if(n.test(h)){while(t&&q.test(k=Ext.fly(t).getStyle(h))){t=t.parentNode;k="fff"}}else{k=c.getAttr.call(l,h)}return k},doMethod:function(A,x,v){var z=this,w,k=Math.floor,l,h,y;if(n.test(A)){w=[];v=v||[];for(l=0,h=x.length;l<h;l++){y=x[l];w[l]=c.doMethod.call(z,A,y,v[l])}w="rgb("+k(w[0])+","+k(w[1])+","+k(w[2])+")"}else{w=c.doMethod.call(z,A,x,v)}return w},setRunAttr:function(h){var B=this,A=B.attributes[h],z=A.to,C=A.by,x;c.setRunAttr.call(B,h);x=B.runAttrs[h];if(n.test(h)){var y=b(x.start),w=b(x.end);if(!p(z)&&p(C)){w=b(C);for(var l=0,k=y.length;l<k;l++){w[l]=y[l]+w[l]}}x.start=y;x.end=w}}})})();(function(){var c=Ext.lib;c.Anim.scroll=function(p,r,o,n,s,q){return c.Anim.run(p,r,o,n,s,q,c.Scroll)};c.Scroll=function(n,o,l,k){if(n){c.Scroll.superclass.constructor.call(this,n,o,l,k)}};Ext.extend(c.Scroll,c.ColorAnim);var a=c.Scroll.superclass,b="scroll";Ext.apply(c.Scroll.prototype,{doMethod:function(t,n,s){var p,q=this,o=q.curFrame,r=q.totalFrames;if(t==b){p=[q.method(o,n[0],s[0]-n[0],r),q.method(o,n[1],s[1]-n[1],r)]}else{p=a.doMethod.call(q,t,n,s)}return p},getAttr:function(l){var k=this;if(l==b){return[k.el.scrollLeft,k.el.scrollTop]}else{return a.getAttr.call(k,l)}},setAttr:function(o,k,l){var n=this;if(o==b){n.el.scrollLeft=k[0];n.el.scrollTop=k[1]}else{a.setAttr.call(n,o,k,l)}}})})();if(Ext.isIE){function e(){var a=Function.prototype;delete a.createSequence;delete a.defer;delete a.createDelegate;delete a.createCallback;delete a.createInterceptor;window.detachEvent("onunload",e)}window.attachEvent("onunload",e)}})();(function(){var o=Ext.util,l=Ext.each,p=true,n=false;o.Observable=function(){var b=this,a=b.events;if(b.listeners){b.on(b.listeners);delete b.listeners}b.events=a||{}};o.Observable.prototype={filterOptRe:/^(?:scope|delay|buffer|single)$/,fireEvent:function(){var b=Array.prototype.slice.call(arguments,0),k=b[0].toLowerCase(),h=this,a=p,e=h.events[k],c,g,d;if(h.eventsSuspended===p){if(g=h.eventQueue){g.push(b)}}else{if(typeof e=="object"){if(e.bubble){if(e.fire.apply(e,b.slice(1))===n){return n}d=h.getBubbleTarget&&h.getBubbleTarget();if(d&&d.enableBubble){c=d.events[k];if(!c||typeof c!="object"||!c.bubble){d.enableBubble(k)}return d.fireEvent.apply(d,b)}}else{b.shift();a=e.fire.apply(e,b)}}}return a},addListener:function(b,k,a,d){var h=this,e,c,g;if(typeof b=="object"){d=b;for(e in d){c=d[e];if(!h.filterOptRe.test(e)){h.addListener(e,c.fn||c,c.scope||d.scope,c.fn?c:d)}}}else{b=b.toLowerCase();g=h.events[b]||p;if(typeof g=="boolean"){h.events[b]=g=new o.Event(h,b)}g.addListener(k,a,typeof d=="object"?d:{})}},removeListener:function(b,d,a){var c=this.events[b.toLowerCase()];if(typeof c=="object"){c.removeListener(d,a)}},purgeListeners:function(){var c=this.events,b,a;for(a in c){b=c[a];if(typeof b=="object"){b.clearListeners()}}},addEvents:function(c){var d=this;d.events=d.events||{};if(typeof c=="string"){var b=arguments,a=b.length;while(a--){d.events[b[a]]=d.events[b[a]]||p}}else{Ext.applyIf(d.events,c)}},hasListener:function(b){var a=this.events[b.toLowerCase()];return typeof a=="object"&&a.listeners.length>0},suspendEvents:function(a){this.eventsSuspended=p;if(a&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var b=this,a=b.eventQueue||[];b.eventsSuspended=n;delete b.eventQueue;l(a,function(c){b.fireEvent.apply(b,c)})}};var r=o.Observable.prototype;r.on=r.addListener;r.un=r.removeListener;o.Observable.releaseCapture=function(a){a.fireEvent=r.fireEvent};function q(a,c,b){return function(){if(c.target==arguments[0]){a.apply(b,Array.prototype.slice.call(arguments,0))}}}function t(c,b,a,d){a.task=new o.DelayedTask();return function(){a.task.delay(b.buffer,c,d,Array.prototype.slice.call(arguments,0))}}function s(d,c,a,b){return function(){c.removeListener(a,b);return d.apply(b,arguments)}}function u(c,b,a,d){return function(){var e=new o.DelayedTask(),g=Array.prototype.slice.call(arguments,0);if(!a.tasks){a.tasks=[]}a.tasks.push(e);e.delay(b.delay||10,function(){a.tasks.remove(e);c.apply(d,g)},d)}}o.Event=function(a,b){this.name=b;this.obj=a;this.listeners=[]};o.Event.prototype={addListener:function(c,d,e){var b=this,a;d=d||b.obj;if(!b.isListening(c,d)){a=b.createListener(c,d,e);if(b.firing){b.listeners=b.listeners.slice(0)}b.listeners.push(a)}},createListener:function(c,d,b){b=b||{};d=d||this.obj;var a={fn:c,scope:d,options:b},e=c;if(b.target){e=q(e,b,d)}if(b.delay){e=u(e,b,a,d)}if(b.single){e=s(e,this,c,d)}if(b.buffer){e=t(e,b,a,d)}a.fireFn=e;return a},findListener:function(c,d){var b=this.listeners,e=b.length,a;d=d||this.obj;while(e--){a=b[e];if(a){if(a.fn==c&&a.scope==d){return e}}}return -1},isListening:function(a,b){return this.findListener(a,b)!=-1},removeListener:function(c,d){var e,a,h,b=this,g=n;if((e=b.findListener(c,d))!=-1){if(b.firing){b.listeners=b.listeners.slice(0)}a=b.listeners[e];if(a.task){a.task.cancel();delete a.task}h=a.tasks&&a.tasks.length;if(h){while(h--){a.tasks[h].cancel()}delete a.tasks}b.listeners.splice(e,1);g=p}return g},clearListeners:function(){var b=this,a=b.listeners,c=a.length;while(c--){b.removeListener(a[c].fn,a[c].scope)}},fire:function(){var b=this,c=b.listeners,a=c.length,d=0,g;if(a>0){b.firing=p;var e=Array.prototype.slice.call(arguments,0);for(;d<a;d++){g=c[d];if(g&&g.fireFn.apply(g.scope||b.obj||window,e)===n){return(b.firing=n)}}}b.firing=n;return p}}})();Ext.DomHelper=function(){var y=null,K=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,I=/^table|tbody|tr|td$/i,Q=/tag|children|cn|html$/i,C=/td|tr|tbody/i,G=/([a-z0-9-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,A=/end/i,D,H="afterbegin",F="afterend",R="beforebegin",E="beforeend",T="<table>",M="</table>",S=T+"<tbody>",L="</tbody>"+M,J=S+"<tr>",z="</tr>"+L;function N(h,c,e,b,a,g){var d=D.insertHtml(b,Ext.getDom(h),B(c));return e?Ext.get(d,true):d}function B(c){var e="",h,d,g,b;if(typeof c=="string"){e=c}else{if(Ext.isArray(c)){for(var a=0;a<c.length;a++){if(c[a]){e+=B(c[a])}}}else{e+="<"+(c.tag=c.tag||"div");for(h in c){d=c[h];if(!Q.test(h)){if(typeof d=="object"){e+=" "+h+'="';for(g in d){e+=g+":"+d[g]+";"}e+='"'}else{e+=" "+({cls:"class",htmlFor:"for"}[h]||h)+'="'+d+'"'}}}if(K.test(c.tag)){e+="/>"}else{e+=">";if((b=c.children||c.cn)){e+=B(b)}else{if(c.html){e+=c.html}}e+="</"+c.tag+">"}}}return e}function O(b,g,k,d){y.innerHTML=[g,k,d].join("");var h=-1,a=y,e;while(++h<b){a=a.firstChild}if(e=a.nextSibling){var c=document.createDocumentFragment();while(a){e=a.nextSibling;c.appendChild(a);a=e}a=c}return a}function P(g,d,e,a){var c,b;y=y||document.createElement("div");if(g=="td"&&(d==H||d==E)||!C.test(g)&&(d==R||d==F)){return}b=d==R?e:d==F?e.nextSibling:d==H?e.firstChild:null;if(d==R||d==F){e=e.parentNode}if(g=="td"||(g=="tr"&&(d==E||d==H))){c=O(4,J,a,z)}else{if((g=="tbody"&&(d==E||d==H))||(g=="tr"&&(d==R||d==F))){c=O(3,S,a,L)}else{c=O(2,T,a,M)}}e.insertBefore(c,b);return c}D={markup:function(a){return B(a)},applyStyles:function(c,b){if(b){var a;c=Ext.fly(c);if(typeof b=="function"){b=b.call()}if(typeof b=="string"){G.lastIndex=0;while((a=G.exec(b))){c.setStyle(a[1],a[2])}}else{if(typeof b=="object"){c.setStyle(b)}}}},insertHtml:function(a,g,n){var b={},d,k,l,h,c,e;a=a.toLowerCase();b[R]=["BeforeBegin","previousSibling"];b[F]=["AfterEnd","nextSibling"];if(g.insertAdjacentHTML){if(I.test(g.tagName)&&(e=P(g.tagName.toLowerCase(),a,g,n))){return e}b[H]=["AfterBegin","firstChild"];b[E]=["BeforeEnd","lastChild"];if((d=b[a])){g.insertAdjacentHTML(d[0],n);return g[d[1]]}}else{l=g.ownerDocument.createRange();k="setStart"+(A.test(a)?"After":"Before");if(b[a]){l[k](g);h=l.createContextualFragment(n);g.parentNode.insertBefore(h,a==R?g:g.nextSibling);return g[(a==R?"previous":"next")+"Sibling"]}else{c=(a==H?"first":"last")+"Child";if(g.firstChild){l[k](g[c]);h=l.createContextualFragment(n);if(a==H){g.insertBefore(h,g.firstChild)}else{g.appendChild(h)}}else{g.innerHTML=n}return g[c]}}throw'Illegal insertion point -> "'+a+'"'},insertBefore:function(c,a,b){return N(c,a,b,R)},insertAfter:function(c,a,b){return N(c,a,b,F,"nextSibling")},insertFirst:function(c,a,b){return N(c,a,b,H,"firstChild")},append:function(c,a,b){return N(c,a,b,E,"",true)},overwrite:function(c,a,b){c=Ext.getDom(c);c.innerHTML=B(a);return b?Ext.get(c.firstChild):c.firstChild},createHtml:B};return D}();Ext.Template=function(n){var l=this,r=arguments,p=[],q;if(Ext.isArray(n)){n=n.join("")}else{if(r.length>1){for(var o=0,a=r.length;o<a;o++){q=r[o];if(typeof q=="object"){Ext.apply(l,q)}else{p.push(q)}}n=p.join("")}}l.html=n;if(l.compiled){l.compile()}};Ext.Template.prototype={re:/\{([\w-]+)\}/g,applyTemplate:function(d){var c=this;return c.compiled?c.compiled(d):c.html.replace(c.re,function(b,a){return d[a]!==undefined?d[a]:""})},set:function(e,g){var d=this;d.html=e;d.compiled=null;return g?d.compile():d},compile:function(){var me=this,sep=Ext.isGecko?"+":",";function fn(m,name){name="values['"+name+"']";return"'"+sep+"("+name+" == undefined ? '' : "+name+")"+sep+"'"}eval("this.compiled = function(values){ return "+(Ext.isGecko?"'":"['")+me.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+(Ext.isGecko?"';};":"'].join('');};"));return me},insertFirst:function(d,e,g){return this.doInsert("afterBegin",d,e,g)},insertBefore:function(d,e,g){return this.doInsert("beforeBegin",d,e,g)},insertAfter:function(d,e,g){return this.doInsert("afterEnd",d,e,g)},append:function(d,e,g){return this.doInsert("beforeEnd",d,e,g)},doInsert:function(n,k,g,h){k=Ext.getDom(k);var l=Ext.DomHelper.insertHtml(n,k,this.applyTemplate(g));return h?Ext.get(l,true):l},overwrite:function(d,e,g){d=Ext.getDom(d);d.innerHTML=this.applyTemplate(e);return g?Ext.get(d.firstChild,true):d.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.Template.from=function(c,d){c=Ext.getDom(c);return new Ext.Template(c.value||c.innerHTML,d||"")};Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={},nonSpace=/\S/,trimRe=/^\s+|\s+$/g,tplRe=/\{(\d+)\}/g,modeRe=/^(\s?[\/>+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w-\*]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,isIE=window.ActiveXObject?true:false,key=30803;eval("var batch = 30803;");function child(parent,index){var i=0,n=parent.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null}function next(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n}function children(parent){var n=parent.firstChild,nodeIndex=-1,nextNode;while(n){nextNode=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){parent.removeChild(n)}else{n.nodeIndex=++nodeIndex}n=nextNode}return this}function byClassName(nodeSet,cls){if(!cls){return nodeSet}var result=[],ri=-1;for(var i=0,ci;ci=nodeSet[i];i++){if((" "+ci.className+" ").indexOf(cls)!=-1){result[++ri]=ci}}return result}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=ni.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i<l;i++){a[a.length]=b[i]}return a}function byTag(cs,tagName){if(cs.tagName||cs==document){cs=[cs]}if(!tagName){return cs}var result=[],ri=-1;tagName=tagName.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){result[++ri]=ci}}return result}function byId(cs,id){if(cs.tagName||cs==document){cs=[cs]}if(!id){return cs}var result=[],ri=-1;for(var i=0,ci;ci=cs[i];i++){if(ci&&ci.id==id){result[++ri]=ci;return result}}return result}function byAttribute(cs,attr,value,op,custom){var result=[],ri=-1,useGetStyle=custom=="{",fn=Ext.DomQuery.operators[op],a,xml,hasXml;for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType!=1){continue}if(!hasXml){xml=Ext.DomQuery.isXml(ci);hasXml=true}if(!xml){if(useGetStyle){a=Ext.DomQuery.getStyle(ci,attr)}else{if(attr=="class"||attr=="className"){a=ci.className}else{if(attr=="for"){a=ci.htmlFor}else{if(attr=="href"){a=ci.getAttribute("href",2)}else{a=ci.getAttribute(attr)}}}}}else{a=ci.getAttribute(attr)}if((fn&&fn(a,value))||(!fn&&a)){result[++ri]=ci}}return result}function byPseudo(cs,name,value){return Ext.DomQuery.pseudos[name](cs,value)}function nodupIEXml(cs){var d=++key,r;cs[0].setAttribute("_nodup",d);r=[cs[0]];for(var i=1,len=cs.length;i<len;i++){var c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(var i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs)}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(var j=0;j<i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key,r=[];for(var i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}for(var i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length,d=++key,r=[];if(!len1){return c2}if(isIE&&typeof c1[0].selectSingleNode!="undefined"){return quickDiffIEXml(c1,c2)}for(var i=0;i<len1;i++){c1[i]._qdiff=d}for(var i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,id)}return{getStyle:function(el,name){return Ext.fly(el).getStyle(name)},compile:function(path,type){type=type||"select";var fn=["var f = function(root){\n var mode; ++batch; var n = root || document;\n"],mode,lastPath,matchers=Ext.DomQuery.matchers,matchersLn=matchers.length,modeMatch,lmode=path.match(modeRe);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';path=path.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(path&&lastPath!=path){lastPath=path;var tokenMatch=path.match(tagTokenRe);if(type=="select"){if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tokenMatch[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}else{if(path.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tokenMatch){if(tokenMatch[1]=="#"){fn[fn.length]='n = byId(n, "'+tokenMatch[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tokenMatch[2]+'");'}path=path.replace(tokenMatch[0],"")}}while(!(modeMatch=path.match(modeRe))){var matched=false;for(var j=0;j<matchersLn;j++){var t=matchers[j];var m=path.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});path=path.replace(m[0],"");matched=true;break}}if(!matched){throw'Error parsing selector, parsing failed at "'+path+'"'}}if(modeMatch[1]){fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";';path=path.replace(modeMatch[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},jsSelect:function(path,root,type){root=root||document;if(typeof root=="string"){root=document.getElementById(root)}var paths=path.split(","),results=[];for(var i=0,len=paths.length;i<len;i++){var subPath=paths[i].replace(trimRe,"");if(!cache[subPath]){cache[subPath]=Ext.DomQuery.compile(subPath);if(!cache[subPath]){throw subPath+" is not a valid selector"}}var result=cache[subPath](root);if(result&&result!=document){results=results.concat(result)}}if(paths.length>1){return nodup(results)}return results},isXml:function(el){var docEl=(el?el.ownerDocument||el:0).documentElement;return docEl?docEl.nodeName!=="HTML":false},select:document.querySelectorAll?function(path,root,type){root=root||document;if(!Ext.DomQuery.isXml(root)){try{var cs=root.querySelectorAll(path);return Ext.toArray(cs)}catch(ex){}}return Ext.DomQuery.jsSelect.call(this,path,root,type)}:function(path,root,type){return Ext.DomQuery.jsSelect.call(this,path,root,type)},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root),v;n=n[0]?n[0]:n;if(typeof n.normalize=="function"){n.normalize()}v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el),result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;Ext.util.DelayedTask=function(o,p,k){var n=this,l,h=function(){clearInterval(l);l=null;o.apply(p,k||[])};n.delay=function(c,a,b,d){n.cancel();o=a||o;p=b||p;k=d||k;l=setInterval(h,c)};n.cancel=function(){if(l){clearInterval(l);l=null}}};(function(){var q=document;Ext.Element=function(a,d){var c=typeof a=="string"?q.getElementById(a):a,b;if(!c){return null}b=c.id;if(!d&&b&&Ext.elCache[b]){return Ext.elCache[b].el}this.dom=c;this.id=b||Ext.id(c)};var t=Ext.DomHelper,s=Ext.Element,w=Ext.elCache;s.prototype={set:function(b,e){var d=this.dom,a,c,e=(e!==false)&&!!d.setAttribute;for(a in b){if(b.hasOwnProperty(a)){c=b[a];if(a=="style"){t.applyStyles(d,c)}else{if(a=="cls"){d.className=c}else{if(e){d.setAttribute(a,c)}else{d[a]=c}}}}}return this},defaultUnit:"px",is:function(a){return Ext.DomQuery.is(this.dom,a)},focus:function(b,c){var a=this,c=c||a.dom;try{if(Number(b)){a.focus.defer(b,null,[null,c])}else{c.focus()}}catch(d){}return a},blur:function(){try{this.dom.blur()}catch(a){}return this},getValue:function(a){var b=this.dom.value;return a?parseInt(b,10):b},addListener:function(a,b,c,d){Ext.EventManager.on(this.dom,a,b,c||this,d);return this},removeListener:function(a,b,c){Ext.EventManager.removeListener(this.dom,a,b,c||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},purgeAllListeners:function(){Ext.EventManager.purgeElement(this,true);return this},addUnits:function(a){if(a===""||a=="auto"||a===undefined){a=a||""}else{if(!isNaN(a)||!p.test(a)){a=a+(this.defaultUnit||"px")}}return a},load:function(c,b,a){Ext.Ajax.request(Ext.apply({params:b,url:c.url||c,callback:a,el:this.dom,indicatorText:c.indicatorText||""},Ext.isObject(c)?c:{}));return this},isBorderBox:function(){return Ext.isBorderBox||Ext.isForcedBorderBox||r[(this.dom.tagName||"").toLowerCase()]},remove:function(){var a=this,b=a.dom;if(b){delete a.dom;Ext.removeNode(b)}},hover:function(e,a,c,d){var b=this;b.on("mouseenter",e,c||b.dom,d);b.on("mouseleave",a,c||b.dom,d);return b},contains:function(a){return !a?false:Ext.lib.Dom.isAncestor(this.dom,a.dom?a.dom:a)},getAttributeNS:function(b,a){return this.getAttribute(a,b)},getAttribute:Ext.isIE?function(a,c){var b=this.dom,d=typeof b[c+":"+a];if(["undefined","unknown"].indexOf(d)==-1){return b[c+":"+a]}return b[a]}:function(a,c){var b=this.dom;return b.getAttributeNS(c,a)||b.getAttribute(c+":"+a)||b.getAttribute(a)||b[a]},update:function(a){if(this.dom){this.dom.innerHTML=a}return this}};var n=s.prototype;s.addMethods=function(a){Ext.apply(n,a)};n.on=n.addListener;n.un=n.removeListener;n.autoBoxAdjust=true;var p=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,u;s.get=function(e){var a,b,c;if(!e){return null}if(typeof e=="string"){if(!(b=q.getElementById(e))){return null}if(w[e]&&w[e].el){a=w[e].el;a.dom=b}else{a=s.addToCache(new s(b))}return a}else{if(e.tagName){if(!(c=e.id)){c=Ext.id(e)}if(w[c]&&w[c].el){a=w[c].el;a.dom=e}else{a=s.addToCache(new s(e))}return a}else{if(e instanceof s){if(e!=u){if(Ext.isIE&&(e.id==undefined||e.id=="")){e.dom=e.dom}else{e.dom=q.getElementById(e.id)||e.dom}}return e}else{if(e.isComposite){return e}else{if(Ext.isArray(e)){return s.select(e)}else{if(e==q){if(!u){var d=function(){};d.prototype=s.prototype;u=new d();u.dom=q}return u}}}}}}return null};s.addToCache=function(a,b){b=b||a.id;w[b]={el:a,data:{},events:{}};return a};s.data=function(d,a,c){d=s.get(d);if(!d){return null}var b=w[d.id].data;if(arguments.length==2){return b[a]}else{return(b[a]=c)}};function o(){if(!Ext.enableGarbageCollector){clearInterval(s.collectorThreadId)}else{var a,d,b,c;for(a in w){c=w[a];if(c.skipGC){continue}d=c.el;b=d.dom;if(!b||!b.parentNode||(!b.offsetParent&&!q.getElementById(a))){if(Ext.enableListenerCollection){Ext.EventManager.removeAll(b)}delete w[a]}}if(Ext.isIE){var e={};for(a in w){e[a]=w[a]}w=Ext.elCache=e}}}s.collectorThreadId=setInterval(o,30000);var v=function(){};v.prototype=s.prototype;s.Flyweight=function(a){this.dom=a};s.Flyweight.prototype=new v();s.Flyweight.prototype.isFlyweight=true;s._flyweights={};s.fly=function(b,a){var c=null;a=a||"_global";if(b=Ext.getDom(b)){(s._flyweights[a]=s._flyweights[a]||new s.Flyweight()).dom=b;c=s._flyweights[a]}return c};Ext.get=s.get;Ext.fly=s.fly;var r=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){r.button=1}})();Ext.Element.addMethods(function(){var l="parentNode",g="nextSibling",n="previousSibling",k=Ext.DomQuery,h=Ext.get;return{findParent:function(p,a,e){var c=this.dom,o=document.body,b=0,d;if(Ext.isGecko&&Object.prototype.toString.call(c)=="[object XULElement]"){return null}a=a||50;if(isNaN(a)){d=Ext.getDom(a);a=Number.MAX_VALUE}while(c&&c.nodeType==1&&b<a&&c!=o&&c!=d){if(k.is(c,p)){return e?h(c):c}b++;c=c.parentNode}return null},findParentNode:function(a,b,d){var c=Ext.fly(this.dom.parentNode,"_internal");return c?c.findParent(a,b,d):null},up:function(a,b){return this.findParentNode(a,b,true)},select:function(a){return Ext.Element.select(a,this.dom)},query:function(a){return k.select(a,this.dom)},child:function(c,b){var a=k.selectNode(c,this.dom);return b?a:h(a)},down:function(c,b){var a=k.selectNode(" > "+c,this.dom);return b?a:h(a)},parent:function(b,a){return this.matchNode(l,l,b,a)},next:function(b,a){return this.matchNode(g,g,b,a)},prev:function(b,a){return this.matchNode(n,n,b,a)},first:function(b,a){return this.matchNode(g,"firstChild",b,a)},last:function(b,a){return this.matchNode(n,"lastChild",b,a)},matchNode:function(d,a,e,c){var b=this.dom[a];while(b){if(b.nodeType==1&&(!e||k.is(b,e))){return !c?h(b):b}b=b[d]}return null}}}());Ext.Element.addMethods(function(){var g=Ext.getDom,e=Ext.get,d=Ext.DomHelper;return{appendChild:function(a){return e(a).appendTo(this)},appendTo:function(a){g(a).appendChild(this.dom);return this},insertBefore:function(a){(a=g(a)).parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){(a=g(a)).parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(a,b){a=a||{};if(a.nodeType||a.dom||typeof a=="string"){a=g(a);this.dom.insertBefore(a,this.dom.firstChild);return !b?e(a):a}else{return this.createChild(a,this.dom.firstChild,b)}},replace:function(a){a=e(a);this.insertBefore(a);a.remove();return this},replaceWith:function(b){var a=this;if(b.nodeType||b.dom||typeof b=="string"){b=g(b);a.dom.parentNode.insertBefore(b,a.dom)}else{b=d.insertBefore(a.dom,b)}delete Ext.elCache[a.id];Ext.removeNode(a.dom);a.id=Ext.id(a.dom=b);Ext.Element.addToCache(a.isFlyweight?new Ext.Element(a.dom):a);return a},createChild:function(b,c,a){b=b||{tag:"div"};return c?d.insertBefore(c,b,a!==true):d[!this.dom.firstChild?"overwrite":"append"](this.dom,b,a!==true)},wrap:function(c,b){var a=d.insertBefore(this.dom,c||{tag:"div"},!b);a.dom?a.dom.appendChild(this.dom):a.appendChild(this.dom);return a},insertHtml:function(c,b,k){var a=d.insertHtml(c,this.dom,b);return k?Ext.get(a):a}}}());Ext.Element.addMethods(function(){var U=Ext.supports,ad={},H=/(-[a-z])/gi,O=document.defaultView,N=/alpha\(opacity=(.*)\)/i,Z=/^\s+|\s+$/g,R=Ext.Element,K=/\s+/,ai=/\w/g,ag="padding",ah="margin",G="border",M="-left",S="-right",I="-top",W="-bottom",ab="-width",Q=Math,V="hidden",af="isClipped",aa="overflow",X="overflow-x",Y="overflow-y",P="originalClip",ac={l:G+M+ab,r:G+S+ab,t:G+I+ab,b:G+W+ab},ae={l:ag+M,r:ag+S,t:ag+I,b:ag+W},aj={l:ah+M,r:ah+S,t:ah+I,b:ah+W},L=Ext.Element.data;function T(b,a){return a.charAt(1).toUpperCase()}function J(a){return ad[a]||(ad[a]=a=="float"?(U.cssFloat?"cssFloat":"styleFloat"):a.replace(H,T))}return{adjustWidth:function(c){var b=this;var a=(typeof c=="number");if(a&&b.autoBoxAdjust&&!b.isBorderBox()){c-=(b.getBorderWidth("lr")+b.getPadding("lr"))}return(a&&c<0)?0:c},adjustHeight:function(c){var b=this;var a=(typeof c=="number");if(a&&b.autoBoxAdjust&&!b.isBorderBox()){c-=(b.getBorderWidth("tb")+b.getPadding("tb"))}return(a&&c<0)?0:c},addClass:function(b){var a=this,c,g,d,e=[];if(!Ext.isArray(b)){if(typeof b=="string"&&!this.hasClass(b)){a.dom.className+=" "+b}}else{for(c=0,g=b.length;c<g;c++){d=b[c];if(typeof d=="string"&&(" "+a.dom.className+" ").indexOf(" "+d+" ")==-1){e.push(d)}}if(e.length){a.dom.className+=" "+e.join(" ")}}return a},removeClass:function(a){var h=this,b,e,g,c,d;if(!Ext.isArray(a)){a=[a]}if(h.dom&&h.dom.className){d=h.dom.className.replace(Z,"").split(K);for(b=0,g=a.length;b<g;b++){c=a[b];if(typeof c=="string"){c=c.replace(Z,"");e=d.indexOf(c);if(e!=-1){d.splice(e,1)}}}h.dom.className=d.join(" ")}return h},radioClass:function(b){var a=this.dom.parentNode.childNodes,d,c,e;b=Ext.isArray(b)?b:[b];for(c=0,e=a.length;c<e;c++){d=a[c];if(d&&d.nodeType==1){Ext.fly(d,"_internal").removeClass(b)}}return this.addClass(b)},toggleClass:function(a){return this.hasClass(a)?this.removeClass(a):this.addClass(a)},hasClass:function(a){return a&&(" "+this.dom.className+" ").indexOf(" "+a+" ")!=-1},replaceClass:function(a,b){return this.removeClass(a).addClass(b)},isStyle:function(b,a){return this.getStyle(b)==a},getStyle:function(){return O&&O.getComputedStyle?function(a){var c=this.dom,g,d,e,b;if(c==document){return null}a=J(a);e=(g=c.style[a])?g:(d=O.getComputedStyle(c,""))?d[a]:null;if(a=="marginRight"&&e!="0px"&&!U.correctRightMargin){b=c.style.display;c.style.display="inline-block";e=O.getComputedStyle(c,"").marginRight;c.style.display=b}if(a=="backgroundColor"&&e=="rgba(0, 0, 0, 0)"&&!U.correctTransparentColor){e="transparent"}return e}:function(a){var c=this.dom,e,d;if(c==document){return null}if(a=="opacity"){if(c.style.filter.match){if(e=c.style.filter.match(N)){var b=parseFloat(e[1]);if(!isNaN(b)){return b?b/100:0}}}return 1}a=J(a);return c.style[a]||((d=c.currentStyle)?d[a]:null)}}(),getColor:function(g,e,a){var c=this.getStyle(g),d=(typeof a!="undefined")?a:"#",b;if(!c||(/transparent|inherit/.test(c))){return e}if(/^r/.test(c)){Ext.each(c.slice(4,c.length-1).split(","),function(h){b=parseInt(h,10);d+=(b<16?"0":"")+b.toString(16)})}else{c=c.replace("#","");d+=c.length==3?c.replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3"):c}return(d.length>5?d.toLowerCase():e)},setStyle:function(a,b){var d,c;if(typeof a!="object"){d={};d[a]=b;a=d}for(c in a){b=a[c];c=="opacity"?this.setOpacity(b):this.dom.style[J(c)]=b}return this},setOpacity:function(e,g){var b=this,d=b.dom.style;if(!g||!b.anim){if(Ext.isIE){var c=e<1?"alpha(opacity="+e*100+")":"",a=d.filter.replace(N,"").replace(Z,"");d.zoom=1;d.filter=a+(a.length>0?" ":"")+c}else{d.opacity=e}}else{b.anim({opacity:{to:e}},b.preanim(arguments,1),null,0.35,"easeIn")}return b},clearOpacity:function(){var a=this.dom.style;if(Ext.isIE){if(!Ext.isEmpty(a.filter)){a.filter=a.filter.replace(N,"").replace(Z,"")}}else{a.opacity=a["-moz-opacity"]=a["-khtml-opacity"]=""}return this},getHeight:function(c){var d=this,a=d.dom,b=Ext.isIE&&d.isStyle("display","none"),e=Q.max(a.offsetHeight,b?0:a.clientHeight)||0;e=!c?e:e-d.getBorderWidth("tb")-d.getPadding("tb");return e<0?0:e},getWidth:function(d){var c=this,a=c.dom,b=Ext.isIE&&c.isStyle("display","none"),e=Q.max(a.offsetWidth,b?0:a.clientWidth)||0;e=!d?e:e-c.getBorderWidth("lr")-c.getPadding("lr");return e<0?0:e},setWidth:function(b,c){var a=this;b=a.adjustWidth(b);!c||!a.anim?a.dom.style.width=a.addUnits(b):a.anim({width:{to:b}},a.preanim(arguments,1));return a},setHeight:function(c,b){var a=this;c=a.adjustHeight(c);!b||!a.anim?a.dom.style.height=a.addUnits(c):a.anim({height:{to:c}},a.preanim(arguments,1));return a},getBorderWidth:function(a){return this.addStyles(a,ac)},getPadding:function(a){return this.addStyles(a,ae)},clip:function(){var b=this,a=b.dom;if(!L(a,af)){L(a,af,true);L(a,P,{o:b.getStyle(aa),x:b.getStyle(X),y:b.getStyle(Y)});b.setStyle(aa,V);b.setStyle(X,V);b.setStyle(Y,V)}return b},unclip:function(){var c=this,a=c.dom;if(L(a,af)){L(a,af,false);var b=L(a,P);if(b.o){c.setStyle(aa,b.o)}if(b.x){c.setStyle(X,b.x)}if(b.y){c.setStyle(Y,b.y)}}return c},addStyles:function(h,k){var b=0,a=h.match(ai),c,d,e,g=a.length;for(e=0;e<g;e++){c=a[e];d=c&&parseInt(this.getStyle(k[c]),10);if(d){b+=Q.abs(d)}}return b},margins:aj}}());(function(){var w=Ext.lib.Dom,v="left",r="right",t="top",p="bottom",q="position",u="static",s="relative",o="auto",n="z-index";Ext.Element.addMethods({getX:function(){return w.getX(this.dom)},getY:function(){return w.getY(this.dom)},getXY:function(){return w.getXY(this.dom)},getOffsetsTo:function(a){var b=this.getXY(),c=Ext.fly(a,"_internal").getXY();return[b[0]-c[0],b[1]-c[1]]},setX:function(a,b){return this.setXY([a,this.getY()],this.animTest(arguments,b,1))},setY:function(b,a){return this.setXY([this.getX(),b],this.animTest(arguments,a,1))},setLeft:function(a){this.setStyle(v,this.addUnits(a));return this},setTop:function(a){this.setStyle(t,this.addUnits(a));return this},setRight:function(a){this.setStyle(r,this.addUnits(a));return this},setBottom:function(a){this.setStyle(p,this.addUnits(a));return this},setXY:function(b,a){var c=this;if(!a||!c.anim){w.setXY(c.dom,b)}else{c.anim({points:{to:b}},c.preanim(arguments,1),"motion")}return c},setLocation:function(a,b,c){return this.setXY([a,b],this.animTest(arguments,c,2))},moveTo:function(a,b,c){return this.setXY([a,b],this.animTest(arguments,c,2))},getLeft:function(a){return !a?this.getX():parseInt(this.getStyle(v),10)||0},getRight:function(a){var b=this;return !a?b.getX()+b.getWidth():(b.getLeft(true)+b.getWidth())||0},getTop:function(a){return !a?this.getY():parseInt(this.getStyle(t),10)||0},getBottom:function(a){var b=this;return !a?b.getY()+b.getHeight():(b.getTop(true)+b.getHeight())||0},position:function(b,c,a,d){var e=this;if(!b&&e.isStyle(q,u)){e.setStyle(q,s)}else{if(b){e.setStyle(q,b)}}if(c){e.setStyle(n,c)}if(a||d){e.setXY([a||false,d||false])}},clearPositioning:function(a){a=a||"";this.setStyle({left:a,right:a,top:a,bottom:a,"z-index":"",position:u});return this},getPositioning:function(){var a=this.getStyle(v);var b=this.getStyle(t);return{position:this.getStyle(q),left:a,right:a?"":this.getStyle(r),top:b,bottom:b?"":this.getStyle(p),"z-index":this.getStyle(n)}},setPositioning:function(a){var b=this,c=b.dom.style;b.setStyle(a);if(a.right==o){c.right=""}if(a.bottom==o){c.bottom=""}return b},translatePoints:function(a,b){b=isNaN(a[1])?b:a[1];a=isNaN(a[0])?a:a[0];var e=this,d=e.isStyle(q,s),c=e.getXY(),h=parseInt(e.getStyle(v),10),g=parseInt(e.getStyle(t),10);h=!isNaN(h)?h:(d?0:e.dom.offsetLeft);g=!isNaN(g)?g:(d?0:e.dom.offsetTop);return{left:(a-c[0]+h),top:(b-c[1]+g)}},animTest:function(c,a,b){return !!a&&this.preanim?this.preanim(c,b):false}})})();Ext.Element.addMethods({isScrollable:function(){var b=this.dom;return b.scrollHeight>b.clientHeight||b.scrollWidth>b.clientWidth},scrollTo:function(d,c){this.dom["scroll"+(/top/i.test(d)?"Top":"Left")]=c;return this},getScroll:function(){var l=this.dom,n=document,k=n.body,q=n.documentElement,d,o,p;if(l==n||l==k){if(Ext.isIE&&Ext.isStrict){d=q.scrollLeft;o=q.scrollTop}else{d=window.pageXOffset;o=window.pageYOffset}p={left:d||(k?k.scrollLeft:0),top:o||(k?k.scrollTop:0)}}else{p={left:l.scrollLeft,top:l.scrollTop}}return p}});Ext.Element.VISIBILITY=1;Ext.Element.DISPLAY=2;Ext.Element.OFFSETS=3;Ext.Element.ASCLASS=4;Ext.Element.visibilityCls="x-hide-nosize";Ext.Element.addMethods(function(){var B=Ext.Element,r="opacity",x="visibility",A="display",C="hidden",t="offsets",w="asclass",u="none",F="nosize",E="originalDisplay",D="visibilityMode",z="isVisible",y=B.data,v=function(a){var b=y(a,E);if(b===undefined){y(a,E,b="")}return b},s=function(a){var b=y(a,D);if(b===undefined){y(a,D,b=1)}return b};return{originalDisplay:"",visibilityMode:1,setVisibilityMode:function(a){y(this.dom,D,a);return this},animate:function(d,b,c,a,e){this.anim(d,{duration:b,callback:c,easing:a},e);return this},anim:function(d,c,g,a,e,h){g=g||"run";c=c||{};var b=this,k=Ext.lib.Anim[g](b.dom,d,(c.duration||a)||0.35,(c.easing||e)||"easeOut",function(){if(h){h.call(b)}if(c.callback){c.callback.call(c.scope||b,b,c)}},b);c.anim=k;return k},preanim:function(b,a){return !b[a]?false:(typeof b[a]=="object"?b[a]:{duration:b[a+1],callback:b[a+2],easing:b[a+3]})},isVisible:function(){var c=this,a=c.dom,b=y(a,z);if(typeof b=="boolean"){return b}b=!c.isStyle(x,C)&&!c.isStyle(A,u)&&!((s(a)==B.ASCLASS)&&c.hasClass(c.visibilityCls||B.visibilityCls));y(a,z,b);return b},setVisible:function(h,a){var d=this,l,b,c,e,g=d.dom,k=s(g);if(typeof a=="string"){switch(a){case A:k=B.DISPLAY;break;case x:k=B.VISIBILITY;break;case t:k=B.OFFSETS;break;case F:case w:k=B.ASCLASS;break}d.setVisibilityMode(k);a=false}if(!a||!d.anim){if(k==B.ASCLASS){d[h?"removeClass":"addClass"](d.visibilityCls||B.visibilityCls)}else{if(k==B.DISPLAY){return d.setDisplayed(h)}else{if(k==B.OFFSETS){if(!h){d.hideModeStyles={position:d.getStyle("position"),top:d.getStyle("top"),left:d.getStyle("left")};d.applyStyles({position:"absolute",top:"-10000px",left:"-10000px"})}else{d.applyStyles(d.hideModeStyles||{position:"",top:"",left:""});delete d.hideModeStyles}}else{d.fixDisplay();g.style.visibility=h?"visible":C}}}}else{if(h){d.setOpacity(0.01);d.setVisible(true)}d.anim({opacity:{to:(h?1:0)}},d.preanim(arguments,1),null,0.35,"easeIn",function(){h||d.setVisible(false).setOpacity(1)})}y(g,z,h);return d},hasMetrics:function(){var a=this.dom;return this.isVisible()||(s(a)==B.VISIBILITY)},toggle:function(b){var a=this;a.setVisible(!a.isVisible(),a.preanim(arguments,0));return a},setDisplayed:function(a){if(typeof a=="boolean"){a=a?v(this.dom):u}this.setStyle(A,a);return this},fixDisplay:function(){var a=this;if(a.isStyle(A,u)){a.setStyle(x,C);a.setStyle(A,v(this.dom));if(a.isStyle(A,u)){a.setStyle(A,"block")}}},hide:function(a){if(typeof a=="string"){this.setVisible(false,a);return this}this.setVisible(false,this.preanim(arguments,0));return this},show:function(a){if(typeof a=="string"){this.setVisible(true,a);return this}this.setVisible(true,this.preanim(arguments,0));return this}}}());(function(){var C=null,M=undefined,S=true,H=false,T="setX",V="setY",ab="setXY",P="left",R="bottom",I="top",Q="right",K="height",W="width",U="points",E="hidden",O="absolute",G="visible",X="motion",N="position",J="easeOut",Y=new Ext.Element.Flyweight(),F={},D=function(a){return a||{}},L=function(a){Y.dom=a;Y.id=Ext.id(a);return Y},Z=function(a){if(!F[a]){F[a]=[]}return F[a]},aa=function(a,b){F[a]=b};Ext.enableFx=S;Ext.Fx={switchStatements:function(b,a,c){return a.apply(this,c[b])},slideIn:function(n,q){q=D(q);var k=this,o=k.dom,e=o.style,c,b,g,r,a,e,l,d,h,p;n=n||"t";k.queueFx(q,function(){c=L(o).getXY();L(o).fixDisplay();b=L(o).getFxRestore();g={x:c[0],y:c[1],0:c[0],1:c[1],width:o.offsetWidth,height:o.offsetHeight};g.right=g.x+g.width;g.bottom=g.y+g.height;L(o).setWidth(g.width).setHeight(g.height);r=L(o).fxWrap(b.pos,q,E);e.visibility=G;e.position=O;function t(){L(o).fxUnwrap(r,b.pos,q);e.width=b.width;e.height=b.height;L(o).afterFx(q)}d={to:[g.x,g.y]};h={to:g.width};p={to:g.height};function s(z,ae,y,B,w,u,af,ag,ah,x,A){var v={};L(z).setWidth(y).setHeight(B);if(L(z)[w]){L(z)[w](u)}ae[af]=ae[ag]="0";if(ah){v.width=ah}if(x){v.height=x}if(A){v.points=A}return v}l=L(o).switchStatements(n.toLowerCase(),s,{t:[r,e,g.width,0,C,C,P,R,C,p,C],l:[r,e,0,g.height,C,C,Q,I,h,C,C],r:[r,e,g.width,g.height,T,g.right,P,I,C,C,d],b:[r,e,g.width,g.height,V,g.bottom,P,I,C,p,d],tl:[r,e,0,0,C,C,Q,R,h,p,d],bl:[r,e,0,0,V,g.y+g.height,Q,I,h,p,d],br:[r,e,0,0,ab,[g.right,g.bottom],P,I,h,p,d],tr:[r,e,0,0,T,g.x+g.width,P,R,h,p,d]});e.visibility=G;L(r).show();arguments.callee.anim=L(r).fxanim(l,q,X,0.5,J,t)});return k},slideOut:function(l,o){o=D(o);var h=this,n=h.dom,d=n.style,c=h.getXY(),a,b,g,e,k={to:0};l=l||"t";h.queueFx(o,function(){b=L(n).getFxRestore();g={x:c[0],y:c[1],0:c[0],1:c[1],width:n.offsetWidth,height:n.offsetHeight};g.right=g.x+g.width;g.bottom=g.y+g.height;L(n).setWidth(g.width).setHeight(g.height);a=L(n).fxWrap(b.pos,o,G);d.visibility=G;d.position=O;L(a).setWidth(g.width).setHeight(g.height);function q(){o.useDisplay?L(n).setDisplayed(H):L(n).hide();L(n).fxUnwrap(a,b.pos,o);d.width=b.width;d.height=b.height;L(n).afterFx(o)}function p(A,s,u,r,w,t,x,v,y){var z={};A[s]=A[u]="0";z[r]=w;if(t){z[t]=x}if(v){z[v]=y}return z}e=L(n).switchStatements(l.toLowerCase(),p,{t:[d,P,R,K,k],l:[d,Q,I,W,k],r:[d,P,I,W,k,U,{to:[g.right,g.y]}],b:[d,P,I,K,k,U,{to:[g.x,g.bottom]}],tl:[d,Q,R,W,k,K,k],bl:[d,Q,I,W,k,K,k,U,{to:[g.x,g.bottom]}],br:[d,P,I,W,k,K,k,U,{to:[g.x+g.width,g.bottom]}],tr:[d,P,R,W,k,K,k,U,{to:[g.right,g.y]}]});arguments.callee.anim=L(a).fxanim(e,o,X,0.5,J,q)});return h},puff:function(a){a=D(a);var c=this,b=c.dom,g=b.style,e,h,d;c.queueFx(a,function(){e=L(b).getWidth();h=L(b).getHeight();L(b).clearOpacity();L(b).show();d=L(b).getFxRestore();function k(){a.useDisplay?L(b).setDisplayed(H):L(b).hide();L(b).clearOpacity();L(b).setPositioning(d.pos);g.width=d.width;g.height=d.height;g.fontSize="";L(b).afterFx(a)}arguments.callee.anim=L(b).fxanim({width:{to:L(b).adjustWidth(e*2)},height:{to:L(b).adjustHeight(h*2)},points:{by:[-e*0.5,-h*0.5]},opacity:{to:0},fontSize:{to:200,unit:"%"}},a,X,0.5,J,k)});return c},switchOff:function(a){a=D(a);var c=this,b=c.dom,e=b.style,d;c.queueFx(a,function(){L(b).clearOpacity();L(b).clip();d=L(b).getFxRestore();function g(){a.useDisplay?L(b).setDisplayed(H):L(b).hide();L(b).clearOpacity();L(b).setPositioning(d.pos);e.width=d.width;e.height=d.height;L(b).afterFx(a)}L(b).fxanim({opacity:{to:0.3}},C,C,0.1,C,function(){L(b).clearOpacity();(function(){L(b).fxanim({height:{to:1},points:{by:[0,L(b).getHeight()*0.5]}},a,X,0.3,"easeIn",g)}).defer(100)})});return c},highlight:function(e,a){a=D(a);var c=this,b=c.dom,h=a.attr||"backgroundColor",g={},d;c.queueFx(a,function(){L(b).clearOpacity();L(b).show();function k(){b.style[h]=d;L(b).afterFx(a)}d=b.style[h];g[h]={from:e||"ffff9c",to:a.endColor||L(b).getColor(h)||"ffffff"};arguments.callee.anim=L(b).fxanim(g,a,"color",1,"easeIn",k)});return c},frame:function(h,d,a){a=D(a);var e=this,b=e.dom,g,c;e.queueFx(a,function(){h=h||"#C3DAF9";if(h.length==6){h="#"+h}d=d||1;L(b).show();var o=L(b).getXY(),l={x:o[0],y:o[1],0:o[0],1:o[1],width:b.offsetWidth,height:b.offsetHeight},n=function(){g=L(document.body||document.documentElement).createChild({style:{position:O,"z-index":35000,border:"0px solid "+h}});return g.queueFx({},k)};arguments.callee.anim={isAnimated:true,stop:function(){d=0;g.stopFx()}};function k(){var p=Ext.isBorderBox?2:1;c=g.anim({top:{from:l.y,to:l.y-20},left:{from:l.x,to:l.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:l.height,to:l.height+20*p},width:{from:l.width,to:l.width+20*p}},{duration:a.duration||1,callback:function(){g.remove();--d>0?n():L(b).afterFx(a)}});arguments.callee.anim={isAnimated:true,stop:function(){c.stop()}}}n()});return e},pause:function(a){var b=this.dom,c;this.queueFx({},function(){c=setTimeout(function(){L(b).afterFx({})},a*1000);arguments.callee.anim={isAnimated:true,stop:function(){clearTimeout(c);L(b).afterFx({})}}});return this},fadeIn:function(b){b=D(b);var d=this,c=d.dom,a=b.endOpacity||1;d.queueFx(b,function(){L(c).setOpacity(0);L(c).fixDisplay();c.style.visibility=G;arguments.callee.anim=L(c).fxanim({opacity:{to:a}},b,C,0.5,J,function(){if(a==1){L(c).clearOpacity()}L(c).afterFx(b)})});return d},fadeOut:function(b){b=D(b);var d=this,c=d.dom,e=c.style,a=b.endOpacity||0;d.queueFx(b,function(){arguments.callee.anim=L(c).fxanim({opacity:{to:a}},b,C,0.5,J,function(){if(a==0){Ext.Element.data(c,"visibilityMode")==Ext.Element.DISPLAY||b.useDisplay?e.display="none":e.visibility=E;L(c).clearOpacity()}L(c).afterFx(b)})});return d},scale:function(c,b,a){this.shift(Ext.apply({},a,{width:c,height:b}));return this},shift:function(a){a=D(a);var b=this.dom,c={};this.queueFx(a,function(){for(var d in a){if(a[d]!=M){c[d]={to:a[d]}}}c.width?c.width.to=L(b).adjustWidth(a.width):c;c.height?c.height.to=L(b).adjustWidth(a.height):c;if(c.x||c.y||c.xy){c.points=c.xy||{to:[c.x?c.x.to:L(b).getX(),c.y?c.y.to:L(b).getY()]}}arguments.callee.anim=L(b).fxanim(c,a,X,0.35,J,function(){L(b).afterFx(a)})});return this},ghost:function(l,a){a=D(a);var h=this,n=h.dom,d=n.style,g={opacity:{to:0},points:{}},c=g.points,b,e,k;l=l||"b";h.queueFx(a,function(){b=L(n).getFxRestore();e=L(n).getWidth();k=L(n).getHeight();function o(){a.useDisplay?L(n).setDisplayed(H):L(n).hide();L(n).clearOpacity();L(n).setPositioning(b.pos);d.width=b.width;d.height=b.height;L(n).afterFx(a)}c.by=L(n).switchStatements(l.toLowerCase(),function(p,q){return[p,q]},{t:[0,-k],l:[-e,0],r:[e,0],b:[0,k],tl:[-e,-k],bl:[-e,k],br:[e,k],tr:[e,-k]});arguments.callee.anim=L(n).fxanim(g,a,X,0.5,J,o)});return h},syncFx:function(){var a=this;a.fxDefaults=Ext.apply(a.fxDefaults||{},{block:H,concurrent:S,stopFx:H});return a},sequenceFx:function(){var a=this;a.fxDefaults=Ext.apply(a.fxDefaults||{},{block:H,concurrent:H,stopFx:H});return a},nextFx:function(){var a=Z(this.dom.id)[0];if(a){a.call(this)}},hasActiveFx:function(){return Z(this.dom.id)[0]},stopFx:function(d){var c=this,a=c.dom.id;if(c.hasActiveFx()){var b=Z(a)[0];if(b&&b.anim){if(b.anim.isAnimated){aa(a,[b]);b.anim.stop(d!==undefined?d:S)}else{aa(a,[])}}}return c},beforeFx:function(a){if(this.hasActiveFx()&&!a.concurrent){if(a.stopFx){this.stopFx();return S}return H}return S},hasFxBlock:function(){var a=Z(this.dom.id);return a&&a[0]&&a[0].block},queueFx:function(a,d){var c=L(this.dom);if(!c.hasFxBlock()){Ext.applyIf(a,c.fxDefaults);if(!a.concurrent){var b=c.beforeFx(a);d.block=a.block;Z(c.dom.id).push(d);if(b){c.nextFx()}}else{d.call(c)}}return c},fxWrap:function(a,c,e){var d=this.dom,g,h;if(!c.wrap||!(g=Ext.getDom(c.wrap))){if(c.fixPosition){h=L(d).getXY()}var b=document.createElement("div");b.style.visibility=e;g=d.parentNode.insertBefore(b,d);L(g).setPositioning(a);if(L(g).isStyle(N,"static")){L(g).position("relative")}L(d).clearPositioning("auto");L(g).clip();g.appendChild(d);if(h){L(g).setXY(h)}}return g},fxUnwrap:function(d,a,b){var c=this.dom;L(c).clearPositioning();L(c).setPositioning(a);if(!b.wrap){var e=L(d).dom.parentNode;e.insertBefore(c,d);L(d).remove()}},getFxRestore:function(){var a=this.dom.style;return{pos:this.getPositioning(),width:a.width,height:a.height}},afterFx:function(b){var c=this.dom,a=c.id;if(b.afterStyle){L(c).setStyle(b.afterStyle)}if(b.afterCls){L(c).addClass(b.afterCls)}if(b.remove==S){L(c).remove()}if(b.callback){b.callback.call(b.scope,L(c))}if(!b.concurrent){Z(a).shift();L(c).nextFx()}},fxanim:function(d,c,g,b,e,h){g=g||"run";c=c||{};var a=Ext.lib.Anim[g](this.dom,d,(c.duration||b)||0.35,(c.easing||e)||J,h,this);c.anim=a;return a}};Ext.Fx.resize=Ext.Fx.scale;Ext.Element.addMethods(Ext.Fx)})();Ext.CompositeElementLite=function(c,d){this.elements=[];this.add(c,d);this.el=new Ext.Element.Flyweight()};Ext.CompositeElementLite.prototype={isComposite:true,getElement:function(d){var c=this.el;c.dom=d;c.id=d.id;return c},transformElement:function(b){return Ext.getDom(b)},getCount:function(){return this.elements.length},add:function(o,h){var n=this,l=n.elements;if(!o){return this}if(typeof o=="string"){o=Ext.Element.selectorFunction(o,h)}else{if(o.isComposite){o=o.elements}else{if(!Ext.isIterable(o)){o=[o]}}}for(var p=0,k=o.length;p<k;++p){l.push(n.transformElement(o[p]))}return n},invoke:function(p,e){var o=this,q=o.elements,l=q.length,n,r;for(r=0;r<l;r++){n=q[r];if(n){Ext.Element.prototype[p].apply(o.getElement(n),e)}}return o},item:function(e){var h=this,k=h.elements[e],g=null;if(k){g=h.getElement(k)}return g},addListener:function(e,p,q,r){var s=this.elements,o=s.length,t,n;for(t=0;t<o;t++){n=s[t];if(n){Ext.EventManager.on(n,e,p,q||n,r)}}return this},each:function(p,q){var o=this,r=o.elements,l=r.length,e,n;for(e=0;e<l;e++){n=r[e];if(n){n=this.getElement(n);if(p.call(q||n,n,o,e)===false){break}}}return o},fill:function(d){var c=this;c.elements=[];c.add(d);return c},filter:function(g){var e=[],h=this,k=Ext.isFunction(g)?g:function(a){return a.is(g)};h.each(function(a,c,b){if(k(a,b)!==false){e[e.length]=h.transformElement(a)}});h.elements=e;return h},indexOf:function(b){return this.elements.indexOf(this.transformElement(b))},replaceElement:function(l,n,h){var d=!isNaN(l)?l:this.indexOf(l),k;if(d>-1){n=Ext.getDom(n);if(h){k=this.elements[d];k.parentNode.insertBefore(n,k);Ext.removeNode(k)}this.elements.splice(d,1,n)}return this},clear:function(){this.elements=[]}};Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;Ext.CompositeElementLite.importElementMethods=function(){var g,d=Ext.Element.prototype,e=Ext.CompositeElementLite.prototype;for(g in d){if(typeof d[g]=="function"){(function(a){e[a]=e[a]||function(){return this.invoke(a,arguments)}}).call(e,g)}}};Ext.CompositeElementLite.importElementMethods();if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(e,d){var g;if(typeof e=="string"){g=Ext.Element.selectorFunction(e,d)}else{if(e.length!==undefined){g=e}else{throw"Invalid selector"}}return new Ext.CompositeElementLite(g)};Ext.select=Ext.Element.select;(function(){var k="beforerequest",q="requestcomplete",r="requestexception",o=undefined,s="load",n="POST",l="GET",p=window;Ext.data.Connection=function(a){Ext.apply(this,a);this.addEvents(k,q,r);Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(b){var v=this;if(v.fireEvent(k,v,b)){if(b.el){if(!Ext.isEmpty(b.indicatorText)){v.indicatorText='<div class="loading-indicator">'+b.indicatorText+"</div>"}if(v.indicatorText){Ext.getDom(b.el).innerHTML=v.indicatorText}b.success=(Ext.isFunction(b.success)?b.success:function(){}).createInterceptor(function(t){Ext.getDom(b.el).innerHTML=t.responseText})}var d=b.params,e=b.url||v.url,g,a={success:v.handleResponse,failure:v.handleFailure,scope:v,argument:{options:b},timeout:Ext.num(b.timeout,v.timeout)},c,h;if(Ext.isFunction(d)){d=d.call(b.scope||p,b)}d=Ext.urlEncode(v.extraParams,Ext.isObject(d)?Ext.urlEncode(d):d);if(Ext.isFunction(e)){e=e.call(b.scope||p,b)}if((c=Ext.getDom(b.form))){e=e||c.action;if(b.isUpload||(/multipart\/form-data/i.test(c.getAttribute("enctype")))){return v.doFormUpload.call(v,b,d,e)}h=Ext.lib.Ajax.serializeForm(c);d=d?(d+"&"+h):h}g=b.method||v.method||((d||b.xmlData||b.jsonData)?n:l);if(g===l&&(v.disableCaching&&b.disableCaching!==false)||b.disableCaching===true){var w=b.disableCachingParam||v.disableCachingParam;e=Ext.urlAppend(e,w+"="+(new Date().getTime()))}b.headers=Ext.apply(b.headers||{},v.defaultHeaders||{});if(b.autoAbort===true||v.autoAbort){v.abort()}if((g==l||b.xmlData||b.jsonData)&&d){e=Ext.urlAppend(e,d);d=""}return(v.transId=Ext.lib.Ajax.request(g,e,a,d,b))}else{return b.callback?b.callback.apply(b.scope,[b,o,o]):null}},isLoading:function(a){return a?Ext.lib.Ajax.isCallInProgress(a):!!this.transId},abort:function(a){if(a||this.isLoading()){Ext.lib.Ajax.abort(a||this.transId)}},handleResponse:function(b){this.transId=false;var a=b.argument.options;b.argument=a?a.argument:null;this.fireEvent(q,this,b,a);if(a.success){a.success.call(a.scope,b,a)}if(a.callback){a.callback.call(a.scope,a,true,b)}},handleFailure:function(c,a){this.transId=false;var b=c.argument.options;c.argument=b?b.argument:null;this.fireEvent(r,this,c,b,a);if(b.failure){b.failure.call(b.scope,c,b)}if(b.callback){b.callback.call(b.scope,b,false,c)}},doFormUpload:function(a,h,g){var e=Ext.id(),x=document,B=x.createElement("iframe"),d=Ext.getDom(a.form),y=[],z,b="multipart/form-data",c={target:d.target,method:d.method,encoding:d.encoding,enctype:d.enctype,action:d.action};Ext.fly(B).set({id:e,name:e,cls:"x-hidden",src:Ext.SSL_SECURE_URL});x.body.appendChild(B);if(Ext.isIE){document.frames[e].name=e}Ext.fly(d).set({target:e,method:n,enctype:b,encoding:b,action:g||c.action});Ext.iterate(Ext.urlDecode(h,false),function(t,u){z=x.createElement("input");Ext.fly(z).set({type:"hidden",value:u,name:t});d.appendChild(z);y.push(z)});function A(){var D=this,u={responseText:"",responseXML:null,argument:a.argument},C,t;try{C=B.contentWindow.document||B.contentDocument||p.frames[e].document;if(C){if(C.body){if(/textarea/i.test((t=C.body.firstChild||{}).tagName)){u.responseText=t.value}else{u.responseText=C.body.innerHTML}}u.responseXML=C.XMLDocument||C}}catch(w){}Ext.EventManager.removeListener(B,s,A,D);D.fireEvent(q,D,u,a);function v(F,G,H){if(Ext.isFunction(F)){F.apply(G,H)}}v(a.success,a.scope,[u,a]);v(a.callback,a.scope,[a,true,u]);if(!D.debugUploads){setTimeout(function(){Ext.removeNode(B)},100)}}Ext.EventManager.on(B,s,A,this);d.submit();Ext.fly(d).set(c);Ext.each(y,function(t){Ext.removeNode(t)})}})})();Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(b){return Ext.lib.Ajax.serializeForm(b)}});Ext.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var useNative=null;return function(){if(useNative===null){useNative=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"}return useNative}}(),pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o){if(!Ext.isDefined(o)||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.util.JSON.encodeDate(o)}else{if(Ext.isString(o)){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(Ext.isBoolean(o)){return String(o)}else{var a=["{"],b,i,v;for(i in o){if(!o.getElementsByTagName){if(!useHasOwn||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(doEncode(i),":",v===null?"null":doEncode(v));b=true}}}}a.push("}");return a.join("")}}}}}}},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},encodeString=function(s){if(/["\\\x00-\x1f]/.test(s)){return'"'+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+s+'"'},encodeArray=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(v===null?"null":Ext.util.JSON.encode(v));b=true}}a.push("]");return a.join("")};this.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};this.encode=function(){var ec;return function(o){if(!ec){ec=isNative()?JSON.stringify:doEncode}return ec(o)}}();this.decode=function(){var dc;return function(json){if(!dc){dc=isNative()?JSON.parse:doDecode}return dc(json)}}()})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.EventManager=function(){var P,O,V=false,T=Ext.isGecko||Ext.isWebKit||Ext.isSafari,Q=Ext.lib.Event,M=Ext.lib.Dom,ab=document,N=window,K="DOMContentLoaded",I="complete",Y=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,H=[];function R(d){var a=false,e=0,g=H.length,c=false,b;if(d){if(d.getElementById||d.navigator){for(;e<g;++e){b=H[e];if(b.el===d){a=b.id;break}}if(!a){a=Ext.id(d);H.push({id:a,el:d});c=true}}else{a=Ext.id(d)}if(!Ext.elCache[a]){Ext.Element.addToCache(new Ext.Element(d),a);if(c){Ext.elCache[a].skipGC=true}}}return a}function S(l,h,d,k,n,b){l=Ext.getDom(l);var a=R(l),c=Ext.elCache[a].events,g;g=Q.on(l,h,n);c[h]=c[h]||[];c[h].push([d,n,b,g,k]);if(l.addEventListener&&h=="mousewheel"){var e=["DOMMouseScroll",n,false];l.addEventListener.apply(l,e);Ext.EventManager.addListener(N,"unload",function(){l.removeEventListener.apply(l,e)})}if(l==ab&&h=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.addListener(n)}}function aa(){if(window!=top){return false}try{ab.documentElement.doScroll("left")}catch(a){return false}ac();return true}function L(a){if(Ext.isIE&&aa()){return true}if(ab.readyState==I){ac();return true}V||(O=setTimeout(arguments.callee,2));return false}var U;function W(a){U||(U=Ext.query("style, link[rel=stylesheet]"));if(U.length==ab.styleSheets.length){ac();return true}V||(O=setTimeout(arguments.callee,2));return false}function D(a){ab.removeEventListener(K,arguments.callee,false);W()}function ac(a){if(!V){V=true;if(O){clearTimeout(O)}if(T){ab.removeEventListener(K,ac,false)}if(Ext.isIE&&L.bindIE){ab.detachEvent("onreadystatechange",L)}Q.un(N,"load",arguments.callee)}if(P&&!Ext.isReady){Ext.isReady=true;P.fire();P.listeners=[]}}function ad(){P||(P=new Ext.util.Event());if(T){ab.addEventListener(K,ac,false)}if(Ext.isIE){if(!L()){L.bindIE=true;ab.attachEvent("onreadystatechange",L)}}else{if(Ext.isOpera){(ab.readyState==I&&W())||ab.addEventListener(K,D,false)}else{if(Ext.isWebKit){L()}}}Q.on(N,"load",ac)}function E(b,a){return function(){var c=Ext.toArray(arguments);if(a.target==Ext.EventObject.setEvent(c[0]).target){b.apply(this,c)}}}function F(b,a,c){return function(d){c.delay(a.buffer,b,null,[new Ext.EventObjectImpl(d)])}}function J(a,b,e,c,d){return function(g){Ext.EventManager.removeListener(b,e,c,d);a(g)}}function Z(b,a,c){return function(d){var e=new Ext.util.DelayedTask(b);if(!c.tasks){c.tasks=[]}c.tasks.push(e);e.delay(a.delay||10,b,null,[new Ext.EventObjectImpl(d)])}}function X(e,g,a,c,b){var l=(!a||typeof a=="boolean")?{}:a,k=Ext.getDom(e),h;c=c||l.fn;b=b||l.scope;if(!k){throw'Error listening for "'+g+'". Element "'+e+"\" doesn't exist."}function d(n){if(!Ext){return}n=Ext.EventObject.setEvent(n);var o;if(l.delegate){if(!(o=n.getTarget(l.delegate,k))){return}}else{o=n.target}if(l.stopEvent){n.stopEvent()}if(l.preventDefault){n.preventDefault()}if(l.stopPropagation){n.stopPropagation()}if(l.normalized===false){n=n.browserEvent}c.call(b||k,n,o,l)}if(l.target){d=E(d,l)}if(l.delay){d=Z(d,l,c)}if(l.single){d=J(d,k,g,c,b)}if(l.buffer){h=new Ext.util.DelayedTask(d);d=F(d,l,h)}S(k,g,c,h,d,b);return d}var G={addListener:function(g,k,d,e,h){if(typeof k=="object"){var a=k,c,b;for(c in a){b=a[c];if(!Y.test(c)){if(Ext.isFunction(b)){X(g,c,a,b,a.scope)}else{X(g,c,b)}}}}else{X(g,k,h,d,e)}},removeListener:function(o,h,c,b){o=Ext.getDom(o);var a=R(o),e=o&&(Ext.elCache[a].events)[h]||[],p,k,n,l,g,d;for(k=0,g=e.length;k<g;k++){if(Ext.isArray(d=e[k])&&d[0]==c&&(!b||d[2]==b)){if(d[4]){d[4].cancel()}l=c.tasks&&c.tasks.length;if(l){while(l--){c.tasks[l].cancel()}delete c.tasks}p=d[1];Q.un(o,h,Q.extAdapter?d[3]:p);if(p&&o.addEventListener&&h=="mousewheel"){o.removeEventListener("DOMMouseScroll",p,false)}if(p&&o==ab&&h=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.removeListener(p)}e.splice(k,1);if(e.length===0){delete Ext.elCache[a].events[h]}for(l in Ext.elCache[a].events){return false}Ext.elCache[a].events={};return false}}},removeAll:function(n){n=Ext.getDom(n);var o=R(n),e=Ext.elCache[o]||{},b=e.events||{},g,h,d,l,c,k,a;for(l in b){if(b.hasOwnProperty(l)){g=b[l];for(h=0,d=g.length;h<d;h++){c=g[h];if(c[4]){c[4].cancel()}if(c[0].tasks&&(k=c[0].tasks.length)){while(k--){c[0].tasks[k].cancel()}delete c.tasks}a=c[1];Q.un(n,l,Q.extAdapter?c[3]:a);if(n.addEventListener&&a&&l=="mousewheel"){n.removeEventListener("DOMMouseScroll",a,false)}if(a&&n==ab&&l=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.removeListener(a)}}}}if(Ext.elCache[o]){Ext.elCache[o].events={}}},getListeners:function(c,g){c=Ext.getDom(c);var a=R(c),e=Ext.elCache[a]||{},b=e.events||{},d=[];if(b&&b[g]){return b[g]}else{return null}},purgeElement:function(k,a,g){k=Ext.getDom(k);var l=R(k),c=Ext.elCache[l]||{},b=c.events||{},h,d,e;if(g){if(b&&b.hasOwnProperty(g)){d=b[g];for(h=0,e=d.length;h<e;h++){Ext.EventManager.removeListener(k,g,d[h][0])}}}else{Ext.EventManager.removeAll(k)}if(a&&k&&k.childNodes){for(h=0,e=k.childNodes.length;h<e;h++){Ext.EventManager.purgeElement(k.childNodes[h],a,g)}}},_unload:function(){var e;for(e in Ext.elCache){Ext.EventManager.removeAll(e)}delete Ext.elCache;delete Ext.Element._flyweights;var a,d,b,c=Ext.lib.Ajax;(typeof c.conn=="object")?d=c.conn:d={};for(b in d){a=d[b];if(a){c.abort({conn:a,tId:b})}}},onDocumentReady:function(a,b,c){if(Ext.isReady){P||(P=new Ext.util.Event());P.addListener(a,b,c);P.fire();P.listeners=[]}else{if(!P){ad()}c=c||{};c.delay=c.delay||1;P.addListener(a,b,c)}},fireDocReady:ac};G.on=G.addListener;G.un=G.removeListener;G.stoppedMouseDownEvent=new Ext.util.Event();return G}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var b=function(){var g=document.body||document.getElementsByTagName("body")[0];if(!g){return false}var a=[" ",Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":(Ext.isIE7?"ext-ie7":"ext-ie8")):Ext.isGecko?"ext-gecko "+(Ext.isGecko2?"ext-gecko2":"ext-gecko3"):Ext.isOpera?"ext-opera":Ext.isWebKit?"ext-webkit":""];if(Ext.isSafari){a.push("ext-safari "+(Ext.isSafari2?"ext-safari2":(Ext.isSafari3?"ext-safari3":"ext-safari4")))}else{if(Ext.isChrome){a.push("ext-chrome")}}if(Ext.isMac){a.push("ext-mac")}if(Ext.isLinux){a.push("ext-linux")}if(Ext.isStrict||Ext.isBorderBox){var e=g.parentNode;if(e){Ext.fly(e,"_internal").addClass(((Ext.isStrict&&Ext.isIE)||(!Ext.enableForcedBoxModel&&!Ext.isIE))?" ext-strict":" ext-border-box")}}if(Ext.enableForcedBoxModel&&!Ext.isIE){Ext.isForcedBorderBox=true;a.push("ext-forced-border-box")}Ext.fly(g,"_internal").addClass(a);return true};if(!b()){Ext.onReady(b)}})();(function(){var c=Ext.apply(Ext.supports,{correctRightMargin:true,correctTransparentColor:true,cssFloat:true});var d=function(){var a=document.createElement("div"),b=document,k,h;a.innerHTML='<div style="height:30px;width:50px;"><div style="height:20px;width:20px;"></div></div><div style="float:left;background-color:transparent;">';b.body.appendChild(a);h=a.lastChild;if((k=b.defaultView)){if(k.getComputedStyle(a.firstChild.firstChild,null).marginRight!="0px"){c.correctRightMargin=false}if(k.getComputedStyle(h,null).backgroundColor!="transparent"){c.correctTransparentColor=false}}c.cssFloat=!!h.style.cssFloat;b.body.removeChild(a)};if(Ext.isReady){d()}else{Ext.onReady(d)}})();Ext.EventObject=function(){var e=Ext.lib.Event,k=/(dbl)?click/,g={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},h=Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2};Ext.EventObjectImpl=function(a){if(a){this.setEvent(a.browserEvent||a)}};Ext.EventObjectImpl.prototype={setEvent:function(a){var b=this;if(a==b||(a&&a.browserEvent)){return a}b.browserEvent=a;if(a){b.button=a.button?h[a.button]:(a.which?a.which-1:-1);if(k.test(a.type)&&b.button==-1){b.button=0}b.type=a.type;b.shiftKey=a.shiftKey;b.ctrlKey=a.ctrlKey||a.metaKey||false;b.altKey=a.altKey;b.keyCode=a.keyCode;b.charCode=a.charCode;b.target=e.getTarget(a);b.xy=e.getXY(a)}else{b.button=-1;b.shiftKey=false;b.ctrlKey=false;b.altKey=false;b.keyCode=0;b.charCode=0;b.target=null;b.xy=[0,0]}return b},stopEvent:function(){var a=this;if(a.browserEvent){if(a.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(a)}e.stopEvent(a.browserEvent)}},preventDefault:function(){if(this.browserEvent){e.preventDefault(this.browserEvent)}},stopPropagation:function(){var a=this;if(a.browserEvent){if(a.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(a)}e.stopPropagation(a.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(a){return Ext.isSafari?(g[a]||a):a},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getXY:function(){return this.xy},getTarget:function(b,a,c){return b?Ext.fly(this.target).findParent(b,a,c):(c?Ext.get(this.target):this.target)},getRelatedTarget:function(){return this.browserEvent?e.getRelatedTarget(this.browserEvent):null},getWheelDelta:function(){var b=this.browserEvent;var a=0;if(b.wheelDelta){a=b.wheelDelta/120}else{if(b.detail){a=-b.detail/3}}return a},within:function(b,a,d){if(b){var c=this[a?"getRelatedTarget":"getTarget"]();return c&&((d?(c==Ext.getDom(b)):false)||Ext.fly(b).contains(c))}return false}};return new Ext.EventObjectImpl()}();Ext.Loader=Ext.apply({},{load:function(p,q,o,v){var o=o||this,s=document.getElementsByTagName("head")[0],w=document.createDocumentFragment(),x=p.length,r=0,t=this;var n=function(a){s.appendChild(t.buildScriptTag(p[a],u))};var u=function(){r++;if(x==r&&typeof q=="function"){q.call(o)}else{if(v===true){n(r)}}};if(v===true){n.call(this,0)}else{Ext.each(p,function(a,b){w.appendChild(this.buildScriptTag(a,u))},this);s.appendChild(w)}},buildScriptTag:function(d,g){var e=document.createElement("script");e.type="text/javascript";e.src=d;if(e.readyState){e.onreadystatechange=function(){if(e.readyState=="loaded"||e.readyState=="complete"){e.onreadystatechange=null;g()}}}else{e.onload=g}return e}});Ext.ns("Ext.grid","Ext.list","Ext.dd","Ext.tree","Ext.form","Ext.menu","Ext.state","Ext.layout","Ext.app","Ext.ux","Ext.chart","Ext.direct");Ext.apply(Ext,function(){var g=Ext,e=0,d=null;return{emptyFn:function(){},BLANK_IMAGE_URL:Ext.isIE6||Ext.isIE7||Ext.isAir?"http://www.extjs.com/s.gif":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",extendX:function(b,a){return Ext.extend(b,a(b.prototype))},getDoc:function(){return Ext.get(document)},num:function(a,b){a=Number(Ext.isEmpty(a)||Ext.isArray(a)||typeof a=="boolean"||(typeof a=="string"&&a.trim().length==0)?NaN:a);return isNaN(a)?b:a},value:function(a,c,b){return Ext.isEmpty(a,b)?c:a},escapeRe:function(a){return a.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},sequence:function(a,k,b,c){a[k]=a[k].createSequence(b,c)},addBehaviors:function(a){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(a)})}else{var k={},b,l,c;for(l in a){if((b=l.split("@"))[1]){c=b[0];if(!k[c]){k[c]=Ext.select(c)}k[c].on(b[1],a[l])}}k=null}},getScrollBarWidth:function(c){if(!Ext.isReady){return 0}if(c===true||d===null){var a=Ext.getBody().createChild('<div class="x-hide-offsets" style="width:100px;height:50px;overflow:hidden;"><div style="height:200px;"></div></div>'),b=a.child("div",true);var k=b.offsetWidth;a.setStyle("overflow",(Ext.isWebKit||Ext.isGecko)?"auto":"scroll");var l=b.offsetWidth;a.remove();d=k-l+2}return d},combine:function(){var c=arguments,l=c.length,a=[];for(var b=0;b<l;b++){var n=c[b];if(Ext.isArray(n)){a=a.concat(n)}else{if(n.length!==undefined&&!n.substr){a=a.concat(Array.prototype.slice.call(n,0))}else{a.push(n)}}}return a},copyTo:function(c,b,a){if(typeof a=="string"){a=a.split(/[,;\s]/)}Ext.each(a,function(k){if(b.hasOwnProperty(k)){c[k]=b[k]}},this);return c},destroy:function(){Ext.each(arguments,function(a){if(a){if(Ext.isArray(a)){this.destroy.apply(this,a)}else{if(typeof a.destroy=="function"){a.destroy()}else{if(a.dom){a.remove()}}}}},this)},destroyMembers:function(a,c,o,n){for(var b=1,p=arguments,q=p.length;b<q;b++){Ext.destroy(a[p[b]]);delete a[p[b]]}},clean:function(b){var a=[];Ext.each(b,function(c){if(!!c){a.push(c)}});return a},unique:function(c){var b=[],a={};Ext.each(c,function(k){if(!a[k]){b.push(k)}a[k]=true});return b},flatten:function(c){var a=[];function b(k){Ext.each(k,function(h){if(Ext.isArray(h)){b(h)}else{a.push(h)}});return a}return b(c)},min:function(c,b){var a=c[0];b=b||function(k,l){return k<l?-1:1};Ext.each(c,function(k){a=b(a,k)==-1?a:k});return a},max:function(c,b){var a=c[0];b=b||function(k,l){return k>l?1:-1};Ext.each(c,function(k){a=b(a,k)==1?a:k});return a},mean:function(a){return a.length>0?Ext.sum(a)/a.length:undefined},sum:function(b){var a=0;Ext.each(b,function(c){a+=c});return a},partition:function(c,b){var a=[[],[]];Ext.each(c,function(o,n,p){a[(b&&b(o,n,p))||(!b&&o)?0:1].push(o)});return a},invoke:function(k,c){var a=[],b=Array.prototype.slice.call(arguments,2);Ext.each(k,function(n,h){if(n&&typeof n[c]=="function"){a.push(n[c].apply(n,b))}else{a.push(undefined)}});return a},pluck:function(c,a){var b=[];Ext.each(c,function(k){b.push(k[a])});return b},zip:function(){var s=Ext.partition(arguments,function(h){return typeof h!="function"}),c=s[0],a=s[1][0],r=Ext.max(Ext.pluck(c,"length")),o=[];for(var b=0;b<r;b++){o[b]=[];if(a){o[b]=a.apply(a,Ext.pluck(c,b))}else{for(var p=0,q=c.length;p<q;p++){o[b].push(c[p][b])}}}return o},getCmp:function(a){return Ext.ComponentMgr.get(a)},useShims:g.isIE6||(g.isMac&&g.isGecko2),type:function(a){if(a===undefined||a===null){return false}if(a.htmlElement){return"element"}var b=typeof a;if(b=="object"&&a.nodeName){switch(a.nodeType){case 1:return"element";case 3:return(/\S/).test(a.nodeValue)?"textnode":"whitespace"}}if(b=="object"||b=="function"){switch(a.constructor){case Array:return"array";case RegExp:return"regexp";case Date:return"date"}if(typeof a.length=="number"&&typeof a.item=="function"){return"nodelist"}}return b},intercept:function(a,k,b,c){a[k]=a[k].createInterceptor(b,c)},callback:function(k,a,b,c){if(typeof k=="function"){if(c){k.defer(c,a,b||[])}else{k.apply(a,b||[])}}}}}());Ext.apply(Function.prototype,{createSequence:function(d,e){var g=this;return(typeof d!="function")?this:function(){var a=g.apply(this||window,arguments);d.apply(e||this||window,arguments);return a}}});Ext.applyIf(String,{escape:function(b){return b.replace(/('|\\)/g,"\\$1")},leftPad:function(h,e,k){var g=String(h);if(!k){k=" "}while(g.length<e){g=k+g}return g}});String.prototype.toggle=function(c,d){return this==c?d:c};String.prototype.trim=function(){var b=/^\s+|\s+$/g;return function(){return this.replace(b,"")}}();Date.prototype.getElapsed=function(b){return Math.abs((b||new Date()).getTime()-this.getTime())};Ext.applyIf(Number.prototype,{constrain:function(c,d){return Math.min(Math.max(this,c),d)}});Ext.lib.Dom.getRegion=function(b){return Ext.lib.Region.getRegion(b)};Ext.lib.Region=function(l,h,b,n){var k=this;k.top=l;k[1]=l;k.right=h;k.bottom=b;k.left=n;k[0]=n};Ext.lib.Region.prototype={contains:function(c){var d=this;return(c.left>=d.left&&c.right<=d.right&&c.top>=d.top&&c.bottom<=d.bottom)},getArea:function(){var b=this;return((b.bottom-b.top)*(b.right-b.left))},intersect:function(k){var l=this,o=Math.max(l.top,k.top),n=Math.min(l.right,k.right),b=Math.min(l.bottom,k.bottom),p=Math.max(l.left,k.left);if(b>=o&&n>=p){return new Ext.lib.Region(o,n,b,p)}},union:function(k){var l=this,o=Math.min(l.top,k.top),n=Math.max(l.right,k.right),b=Math.max(l.bottom,k.bottom),p=Math.min(l.left,k.left);return new Ext.lib.Region(o,n,b,p)},constrainTo:function(c){var d=this;d.top=d.top.constrain(c.top,c.bottom);d.bottom=d.bottom.constrain(c.top,c.bottom);d.left=d.left.constrain(c.left,c.right);d.right=d.right.constrain(c.left,c.right);return d},adjust:function(l,n,b,h){var k=this;k.top+=l;k.left+=n;k.right+=h;k.bottom+=b;return k}};Ext.lib.Region.getRegion=function(n){var k=Ext.lib.Dom.getXY(n),o=k[1],l=k[0]+n.offsetWidth,b=k[1]+n.offsetHeight,p=k[0];return new Ext.lib.Region(o,l,b,p)};Ext.lib.Point=function(e,g){if(Ext.isArray(e)){g=e[1];e=e[0]}var d=this;d.x=d.right=d.left=d[0]=e;d.y=d.top=d.bottom=d[1]=g};Ext.lib.Point.prototype=new Ext.lib.Region();Ext.apply(Ext.DomHelper,function(){var q,l="afterbegin",o="afterend",n="beforebegin",r="beforeend",k=/tag|children|cn|html$/i;function p(h,e,g,d,a,c){h=Ext.getDom(h);var b;if(q.useDom){b=s(e,null);if(c){h.appendChild(b)}else{(a=="firstChild"?h:h.parentNode).insertBefore(b,h[a]||h)}}else{b=Ext.DomHelper.insertHtml(d,h,Ext.DomHelper.createHtml(e))}return g?Ext.get(b,true):b}function s(g,y){var e,h=document,b,x,d,w;if(Ext.isArray(g)){e=h.createDocumentFragment();for(var a=0,c=g.length;a<c;a++){s(g[a],e)}}else{if(typeof g=="string"){e=h.createTextNode(g)}else{e=h.createElement(g.tag||"div");b=!!e.setAttribute;for(var x in g){if(!k.test(x)){d=g[x];if(x=="cls"){e.className=d}else{if(b){e.setAttribute(x,d)}else{e[x]=d}}}}Ext.DomHelper.applyStyles(e,g.style);if((w=g.children||g.cn)){s(w,e)}else{if(g.html){e.innerHTML=g.html}}}}if(y){y.appendChild(e)}return e}q={createTemplate:function(a){var b=Ext.DomHelper.createHtml(a);return new Ext.Template(b)},useDom:false,insertBefore:function(c,a,b){return p(c,a,b,n)},insertAfter:function(c,a,b){return p(c,a,b,o,"nextSibling")},insertFirst:function(c,a,b){return p(c,a,b,l,"firstChild")},append:function(c,a,b){return p(c,a,b,r,"",true)},createDom:s};return q}());Ext.apply(Ext.Template.prototype,{disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,argsRe:/^\s*['"](.*)["']\s*$/,compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,applyTemplate:function(h){var l=this,k=l.disableFormats!==true,n=Ext.util.Format,p=l;if(l.compiled){return l.compiled(h)}function o(b,r,d,a){if(d&&k){if(d.substr(0,5)=="this."){return p.call(d.substr(5),h[r],h)}else{if(a){var e=l.argsRe;a=a.split(",");for(var g=0,c=a.length;g<c;g++){a[g]=a[g].replace(e,"$1")}a=[h[r]].concat(a)}else{a=[h[r]]}return n[d].apply(n,a)}}else{return h[r]!==undefined?h[r]:""}}return l.html.replace(l.re,o)},compile:function(){var me=this,fm=Ext.util.Format,useF=me.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(m,name,format,args){if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'"}if(Ext.isGecko){body="this.compiled = function(values){ return '"+me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn)+"';};"}else{body=["this.compiled = function(values){ return ['"];body.push(me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return me},call:function(g,d,e){return this[g](d,e)}});Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.util.Functions={createInterceptor:function(k,e,g){var h=k;if(!Ext.isFunction(e)){return k}else{return function(){var a=this,b=arguments;e.target=a;e.method=k;return(e.apply(g||a||window,b)!==false)?k.apply(a||window,b):null}}},createDelegate:function(k,h,e,g){if(!Ext.isFunction(k)){return k}return function(){var a=e||arguments;if(g===true){a=Array.prototype.slice.call(arguments,0);a=a.concat(e)}else{if(Ext.isNumber(g)){a=Array.prototype.slice.call(arguments,0);var b=[g,0].concat(e);Array.prototype.splice.apply(a,b)}}return k.apply(h||window,a)}},defer:function(l,n,k,g,h){l=Ext.util.Functions.createDelegate(l,k,g,h);if(n>0){return setTimeout(l,n)}l();return 0},createSequence:function(g,d,e){if(!Ext.isFunction(d)){return g}else{return function(){var a=g.apply(this||window,arguments);d.apply(e||this||window,arguments);return a}}}};Ext.defer=Ext.util.Functions.defer;Ext.createInterceptor=Ext.util.Functions.createInterceptor;Ext.createSequence=Ext.util.Functions.createSequence;Ext.createDelegate=Ext.util.Functions.createDelegate;Ext.apply(Ext.util.Observable.prototype,function(){function b(e){var l=(this.methodEvents=this.methodEvents||{})[e],p,q,o,n=this;if(!l){this.methodEvents[e]=l={};l.originalFn=this[e];l.methodName=e;l.before=[];l.after=[];var a=function(c,d,g){if((q=c.apply(d||n,g))!==undefined){if(typeof q=="object"){if(q.returnValue!==undefined){p=q.returnValue}else{p=q}o=!!q.cancel}else{if(q===false){o=true}else{p=q}}}};this[e]=function(){var c=Array.prototype.slice.call(arguments,0),d;p=q=undefined;o=false;for(var h=0,g=l.before.length;h<g;h++){d=l.before[h];a(d.fn,d.scope,c);if(o){return p}}if((q=l.originalFn.apply(n,c))!==undefined){p=q}for(var h=0,g=l.after.length;h<g;h++){d=l.after[h];a(d.fn,d.scope,c);if(o){return p}}return p}}return l}return{beforeMethod:function(e,g,a){b.call(this,e).before.push({fn:g,scope:a})},afterMethod:function(e,g,a){b.call(this,e).after.push({fn:g,scope:a})},removeMethodListener:function(e,n,o){var l=this.getMethodEvent(e);for(var p=0,a=l.before.length;p<a;p++){if(l.before[p].fn==n&&l.before[p].scope==o){l.before.splice(p,1);return}}for(var p=0,a=l.after.length;p<a;p++){if(l.after[p].fn==n&&l.after[p].scope==o){l.after.splice(p,1);return}}},relayEvents:function(l,p){var n=this;function o(c){return function(){return n.fireEvent.apply(n,[c].concat(Array.prototype.slice.call(arguments,0)))}}for(var q=0,a=p.length;q<a;q++){var r=p[q];n.events[r]=n.events[r]||true;l.on(r,o(r),n)}},enableBubble:function(n){var l=this;if(!Ext.isEmpty(n)){n=Ext.isArray(n)?n:Array.prototype.slice.call(arguments,0);for(var o=0,a=n.length;o<a;o++){var p=n[o];p=p.toLowerCase();var k=l.events[p]||true;if(typeof k=="boolean"){k=new Ext.util.Event(l,p);l.events[p]=k}k.bubble=true}}}}}());Ext.util.Observable.capture=function(g,d,e){g.fireEvent=g.fireEvent.createInterceptor(d,e)};Ext.util.Observable.observeClass=function(c,d){if(c){if(!c.fireEvent){Ext.apply(c,new Ext.util.Observable());Ext.util.Observable.capture(c.prototype,c.fireEvent,c)}if(typeof d=="object"){c.on(d)}return c}};Ext.apply(Ext.EventManager,function(){var s,l,q,t,u=Ext.lib.Dom,n=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,o=0,p=0,r=Ext.isWebKit?Ext.num(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1])>=525:!((Ext.isGecko&&!Ext.isWindows)||Ext.isOpera);return{doResizeEvent:function(){var a=u.getViewHeight(),b=u.getViewWidth();if(p!=a||o!=b){s.fire(o=b,p=a)}},onWindowResize:function(c,a,b){if(!s){s=new Ext.util.Event();l=new Ext.util.DelayedTask(this.doResizeEvent);Ext.EventManager.on(window,"resize",this.fireWindowResize,this)}s.addListener(c,a,b)},fireWindowResize:function(){if(s){l.delay(100)}},onTextResize:function(c,d,b){if(!q){q=new Ext.util.Event();var a=new Ext.Element(document.createElement("div"));a.dom.className="x-text-resize";a.dom.innerHTML="X";a.appendTo(document.body);t=a.dom.offsetHeight;setInterval(function(){if(a.dom.offsetHeight!=t){q.fire(t,t=a.dom.offsetHeight)}},this.textResizeInterval)}q.addListener(c,d,b)},removeResizeListener:function(a,b){if(s){s.removeListener(a,b)}},fireResize:function(){if(s){s.fire(u.getViewWidth(),u.getViewHeight())}},textResizeInterval:50,ieDeferSrc:false,getKeyEvent:function(){return r?"keydown":"keypress"},useKeydown:r}}());Ext.EventManager.on=Ext.EventManager.addListener;Ext.apply(Ext.EventObjectImpl.prototype,{BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,CONTROL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGEUP:33,PAGE_DOWN:34,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,isNavKeyPress:function(){var c=this,d=this.normalizeKey(c.keyCode);return(d>=33&&d<=40)||d==c.RETURN||d==c.TAB||d==c.ESC},isSpecialKey:function(){var b=this.normalizeKey(this.keyCode);return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(b==this.BACKSPACE)||(b>=16&&b<=20)||(b>=44&&b<=46)},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)}});Ext.Element.addMethods({swallowEvent:function(g,e){var h=this;function k(a){a.stopPropagation();if(e){a.preventDefault()}}if(Ext.isArray(g)){Ext.each(g,function(a){h.on(a,k)});return h}h.on(g,k);return h},relayEvent:function(d,c){this.on(d,function(a){c.fireEvent(d,a)})},clean:function(h){var o=this,n=o.dom,l=n.firstChild,p=-1;if(Ext.Element.data(n,"isCleaned")&&h!==true){return o}while(l){var k=l.nextSibling;if(l.nodeType==3&&!(/\S/.test(l.nodeValue))){n.removeChild(l)}else{l.nodeIndex=++p}l=k}Ext.Element.data(n,"isCleaned",true);return o},load:function(){var b=this.getUpdater();b.update.apply(b,arguments);return this},getUpdater:function(){return this.updateManager||(this.updateManager=new Ext.Updater(this))},update:function(html,loadScripts,callback){if(!this.dom){return this}html=html||"";if(loadScripts!==true){this.dom.innerHTML=html;if(typeof callback=="function"){callback()}return this}var id=Ext.id(),dom=this.dom;html+='<span id="'+id+'"></span>';Ext.lib.Event.onAvailable(id,function(){var DOC=document,hd=DOC.getElementsByTagName("head")[0],re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,srcRe=/\ssrc=([\'\"])(.*?)\1/i,typeRe=/\stype=([\'\"])(.*?)\1/i,match,attrs,srcMatch,typeMatch,el,s;while((match=re.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){s=DOC.createElement("script");s.src=srcMatch[2];typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}el=DOC.getElementById(id);if(el){Ext.removeNode(el)}if(typeof callback=="function"){callback()}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},removeAllListeners:function(){this.removeAnchor();Ext.EventManager.removeAll(this.dom);return this},createProxy:function(h,k,l){h=(typeof h=="object")?h:{tag:"div",cls:h};var n=this,g=k?Ext.DomHelper.append(k,h,true):Ext.DomHelper.insertBefore(n.dom,h,true);if(l&&n.setBox&&n.getBox){g.setBox(n.getBox())}return g}});Ext.Element.prototype.getUpdateManager=Ext.Element.prototype.getUpdater;Ext.Element.addMethods({getAnchorXY:function(y,s,D){y=(y||"tl").toLowerCase();D=D||{};var u=this,B=u.dom==document.body||u.dom==document,o=D.width||B?Ext.lib.Dom.getViewWidth():u.getWidth(),w=D.height||B?Ext.lib.Dom.getViewHeight():u.getHeight(),h,C=Math.round,A=u.getXY(),r=u.getScroll(),v=B?r.left:!s?A[0]:0,x=B?r.top:!s?A[1]:0,z={c:[C(o*0.5),C(w*0.5)],t:[C(o*0.5),0],l:[0,C(w*0.5)],r:[o,C(w*0.5)],b:[C(o*0.5),w],tl:[0,0],bl:[0,w],br:[o,w],tr:[o,0]};h=z[y];return[h[0]+v,h[1]+x]},anchorTo:function(w,r,v,x,o,n){var q=this,t=q.dom,p=!Ext.isEmpty(o),u=function(){Ext.fly(t).alignTo(w,r,v,x);Ext.callback(n,Ext.fly(t))},s=this.getAnchor();this.removeAnchor();Ext.apply(s,{fn:u,scroll:p});Ext.EventManager.onWindowResize(u,null);if(p){Ext.EventManager.on(window,"scroll",u,null,{buffer:!isNaN(o)?o:50})}u.call(q);return q},removeAnchor:function(){var c=this,d=this.getAnchor();if(d&&d.fn){Ext.EventManager.removeResizeListener(d.fn);if(d.scroll){Ext.EventManager.un(window,"scroll",d.fn)}delete d.fn}return c},getAnchor:function(){var d=Ext.Element.data,g=this.dom;if(!g){return}var e=d(g,"_anchor");if(!e){e=d(g,"_anchor",{})}return e},getAlignToXY:function(af,Y,X){af=Ext.get(af);if(!af||!af.dom){throw"Element.alignToXY with an element that doesn't exist"}X=X||[0,0];Y=(!Y||Y=="?"?"tl-bl?":(!(/-/).test(Y)&&Y!==""?"tl-"+Y:Y||"tl-bl")).toLowerCase();var o=this,x=o.dom,d,h,Z,ab,U,Q,r,S=Ext.lib.Dom.getViewWidth()-10,y=Ext.lib.Dom.getViewHeight()-10,ah,ae,ad,ac,P,aa,c=document,p=c.documentElement,W=c.body,R=(p.scrollLeft||W.scrollLeft||0)+5,T=(p.scrollTop||W.scrollTop||0)+5,w=false,ag="",ai="",V=Y.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!V){throw"Element.alignTo with an invalid alignment "+Y}ag=V[1];ai=V[2];w=!!V[3];d=o.getAnchorXY(ag,true);h=af.getAnchorXY(ai,false);Z=h[0]-d[0]+X[0];ab=h[1]-d[1]+X[1];if(w){U=o.getWidth();Q=o.getHeight();r=af.getRegion();ah=ag.charAt(0);ae=ag.charAt(ag.length-1);ad=ai.charAt(0);ac=ai.charAt(ai.length-1);P=((ah=="t"&&ad=="b")||(ah=="b"&&ad=="t"));aa=((ae=="r"&&ac=="l")||(ae=="l"&&ac=="r"));if(Z+U>S+R){Z=aa?r.left-U:S+R-U}if(Z<R){Z=aa?r.right:R}if(ab+Q>y+T){ab=P?r.top-Q:y+T-Q}if(ab<T){ab=P?r.bottom:T}}return[Z,ab]},alignTo:function(n,h,k,g){var l=this;return l.setXY(l.getAlignToXY(n,h,k),l.preanim&&!!g?l.preanim(arguments,3):false)},adjustForConstraints:function(g,e,d){return this.getConstrainToXY(e||document,false,d,g)||g},getConstrainToXY:function(g,h,n,k){var l={top:0,left:0,bottom:0,right:0};return function(N,y,K,I){N=Ext.get(N);K=K?Ext.applyIf(K,l):l;var G,d,a=0,b=0;if(N.dom==document.body||N.dom==document){G=Ext.lib.Dom.getViewWidth();d=Ext.lib.Dom.getViewHeight()}else{G=N.dom.clientWidth;d=N.dom.clientHeight;if(!y){var c=N.getXY();a=c[0];b=c[1]}}var e=N.getScroll();a+=K.left+e.left;b+=K.top+e.top;G-=K.right;d-=K.bottom;var w=a+G,O=b+d,M=I||(!y?this.getXY():[this.getLeft(true),this.getTop(true)]),F=M[0],H=M[1],L=this.getConstrainOffset(),x=this.dom.offsetWidth+L,s=this.dom.offsetHeight+L;var J=false;if((F+x)>w){F=w-x;J=true}if((H+s)>O){H=O-s;J=true}if(F<a){F=a;J=true}if(H<b){H=b;J=true}return J?[F,H]:false}}(),getConstrainOffset:function(){return 0},getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(b){return this.alignTo(b||document,"c-c")}});Ext.Element.addMethods({select:function(d,c){return Ext.Element.select(d,c,this.dom)}});Ext.apply(Ext.Element.prototype,function(){var g=Ext.getDom,e=Ext.get,d=Ext.DomHelper;return{insertSibling:function(c,o,n){var b=this,p,q=(o||"before").toLowerCase()=="after",a;if(Ext.isArray(c)){a=b;Ext.each(c,function(h){p=Ext.fly(a,"_internal").insertSibling(h,o,n);if(q){a=p}});return p}c=c||{};if(c.nodeType||c.dom){p=b.dom.parentNode.insertBefore(g(c),q?b.dom.nextSibling:b.dom);if(!n){p=e(p)}}else{if(q&&!b.dom.nextSibling){p=d.append(b.dom.parentNode,c,!n)}else{p=d[q?"insertAfter":"insertBefore"](b.dom,c,!n)}}return p}}}());Ext.Element.boxMarkup='<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"></div></div></div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"></div></div></div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"></div></div></div>';Ext.Element.addMethods(function(){var d="_internal",c=/(\d+\.?\d+)px/;return{applyStyles:function(a){Ext.DomHelper.applyStyles(this.dom,a);return this},getStyles:function(){var a={};Ext.each(arguments,function(b){a[b]=this.getStyle(b)},this);return a},setOverflow:function(b){var a=this.dom;if(b=="auto"&&Ext.isMac&&Ext.isGecko2){a.style.overflow="hidden";(function(){a.style.overflow="auto"}).defer(1)}else{a.style.overflow=b}},boxWrap:function(b){b=b||"x-box";var a=Ext.get(this.insertHtml("beforeBegin","<div class='"+b+"'>"+String.format(Ext.Element.boxMarkup,b)+"</div>"));Ext.DomQuery.selectNode("."+b+"-mc",a.dom).appendChild(this.dom);return a},setSize:function(b,k,h){var a=this;if(typeof b=="object"){k=b.height;b=b.width}b=a.adjustWidth(b);k=a.adjustHeight(k);if(!h||!a.anim){a.dom.style.width=a.addUnits(b);a.dom.style.height=a.addUnits(k)}else{a.anim({width:{to:b},height:{to:k}},a.preanim(arguments,2))}return a},getComputedHeight:function(){var a=this,b=Math.max(a.dom.offsetHeight,a.dom.clientHeight);if(!b){b=parseFloat(a.getStyle("height"))||0;if(!a.isBorderBox()){b+=a.getFrameWidth("tb")}}return b},getComputedWidth:function(){var a=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!a){a=parseFloat(this.getStyle("width"))||0;if(!this.isBorderBox()){a+=this.getFrameWidth("lr")}}return a},getFrameWidth:function(a,b){return b&&this.isBorderBox()?0:(this.getPadding(a)+this.getBorderWidth(a))},addClassOnOver:function(a){this.hover(function(){Ext.fly(this,d).addClass(a)},function(){Ext.fly(this,d).removeClass(a)});return this},addClassOnFocus:function(a){this.on("focus",function(){Ext.fly(this,d).addClass(a)},this.dom);this.on("blur",function(){Ext.fly(this,d).removeClass(a)},this.dom);return this},addClassOnClick:function(b){var a=this.dom;this.on("mousedown",function(){Ext.fly(a,d).addClass(b);var h=Ext.getDoc(),k=function(){Ext.fly(a,d).removeClass(b);h.removeListener("mouseup",k)};h.on("mouseup",k)});return this},getViewSize:function(){var b=document,a=this.dom,l=(a==b||a==b.body);if(l){var k=Ext.lib.Dom;return{width:k.getViewWidth(),height:k.getViewHeight()}}else{return{width:a.clientWidth,height:a.clientHeight}}},getStyleSize:function(){var h=this,s,o,a=document,r=this.dom,q=(r==a||r==a.body),p=r.style;if(q){var b=Ext.lib.Dom;return{width:b.getViewWidth(),height:b.getViewHeight()}}if(p.width&&p.width!="auto"){s=parseFloat(p.width);if(h.isBorderBox()){s-=h.getFrameWidth("lr")}}if(p.height&&p.height!="auto"){o=parseFloat(p.height);if(h.isBorderBox()){o-=h.getFrameWidth("tb")}}return{width:s||h.getWidth(true),height:o||h.getHeight(true)}},getSize:function(a){return{width:this.getWidth(a),height:this.getHeight(a)}},repaint:function(){var a=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.fly(a).removeClass("x-repaint")},1);return this},unselectable:function(){this.dom.unselectable="on";return this.swallowEvent("selectstart",true).applyStyles("-moz-user-select:none;-khtml-user-select:none;").addClass("x-unselectable")},getMargins:function(l){var k=this,n,b={t:"top",l:"left",r:"right",b:"bottom"},a={};if(!l){for(n in k.margins){a[b[n]]=parseFloat(k.getStyle(k.margins[n]))||0}return a}else{return k.addStyles.call(k,l,k.margins)}}}}());Ext.Element.addMethods({setBox:function(n,l,h){var o=this,k=n.width,p=n.height;if((l&&!o.autoBoxAdjust)&&!o.isBorderBox()){k-=(o.getBorderWidth("lr")+o.getPadding("lr"));p-=(o.getBorderWidth("tb")+o.getPadding("tb"))}o.setBounds(n.x,n.y,k,p,o.animTest.call(o,arguments,h,2));return o},getBox:function(w,b){var r=this,E,A,h,B=r.getBorderWidth,H=r.getPadding,z,D,F,l;if(!b){E=r.getXY()}else{A=parseInt(r.getStyle("left"),10)||0;h=parseInt(r.getStyle("top"),10)||0;E=[A,h]}var C=r.dom,G=C.offsetWidth,y=C.offsetHeight,t;if(!w){t={x:E[0],y:E[1],0:E[0],1:E[1],width:G,height:y}}else{z=B.call(r,"l")+H.call(r,"l");D=B.call(r,"r")+H.call(r,"r");F=B.call(r,"t")+H.call(r,"t");l=B.call(r,"b")+H.call(r,"b");t={x:E[0]+z,y:E[1]+F,0:E[0]+z,1:E[1]+F,width:G-(z+D),height:y-(F+l)}}t.right=t.x+t.width;t.bottom=t.y+t.height;return t},move:function(r,y,x){var u=this,o=u.getXY(),q=o[0],s=o[1],w=[q-y,s],p=[q+y,s],t=[q,s-y],z=[q,s+y],v={l:w,left:w,r:p,right:p,t:t,top:t,up:t,b:z,bottom:z,down:z};r=r.toLowerCase();u.moveTo(v[r][0],v[r][1],u.animTest.call(u,arguments,x,2))},setLeftTop:function(h,k){var e=this,g=e.dom.style;g.left=e.addUnits(h);g.top=e.addUnits(k);return e},getRegion:function(){return Ext.lib.Dom.getRegion(this.dom)},setBounds:function(h,l,o,k,p){var n=this;if(!p||!n.anim){n.setSize(o,k);n.setLocation(h,l)}else{n.anim({points:{to:[h,l]},width:{to:n.adjustWidth(o)},height:{to:n.adjustHeight(k)}},n.preanim(arguments,4),"motion")}return n},setRegion:function(c,d){return this.setBounds(c.left,c.top,c.right-c.left,c.bottom-c.top,this.animTest.call(this,arguments,d,1))}});Ext.Element.addMethods({scrollTo:function(k,q,l){var p=/top/i.test(k),r=this,o=r.dom,n;if(!l||!r.anim){n="scroll"+(p?"Top":"Left");o[n]=q}else{n="scroll"+(p?"Left":"Top");r.anim({scroll:{to:p?[o[n],q]:[q,o[n]]}},r.preanim(arguments,2),"scroll")}return r},scrollIntoView:function(y,t){var b=Ext.getDom(y)||Ext.getBody().dom,w=this.dom,x=this.getOffsetsTo(b),o=x[0]+b.scrollLeft,B=x[1]+b.scrollTop,D=B+w.offsetHeight,z=o+w.offsetWidth,A=b.clientHeight,l=parseInt(b.scrollTop,10),C=parseInt(b.scrollLeft,10),r=l+A,c=C+b.clientWidth;if(w.offsetHeight>A||B<l){b.scrollTop=B}else{if(D>r){b.scrollTop=D-A}}b.scrollTop=b.scrollTop;if(t!==false){if(w.offsetWidth>b.clientWidth||o<C){b.scrollLeft=o}else{if(z>c){b.scrollLeft=z-b.clientWidth}}b.scrollLeft=b.scrollLeft}return this},scrollChildIntoView:function(c,d){Ext.fly(c,"_scrollChildIntoView").scrollIntoView(this,d)},scroll:function(s,A,y){if(!this.isScrollable()){return false}var x=this.dom,w=x.scrollLeft,h=x.scrollTop,r=x.scrollWidth,t=x.scrollHeight,v=x.clientWidth,B=x.clientHeight,z=false,l,u={l:Math.min(w+A,r-v),r:l=Math.max(w-A,0),t:Math.max(h-A,0),b:Math.min(h+A,t-B)};u.d=u.b;u.u=u.t;s=s.substr(0,1);if((l=u[s])>-1){z=true;this.scrollTo(s=="l"||s=="r"?"left":"top",l,this.preanim(arguments,2))}return z}});Ext.Element.addMethods(function(){var q="visibility",k="display",l="hidden",n="none",r="x-masked",o="x-masked-relative",p=Ext.Element.data;return{isVisible:function(c){var b=!this.isStyle(q,l)&&!this.isStyle(k,n),a=this.dom.parentNode;if(c!==true||!b){return b}while(a&&!(/^body/i.test(a.tagName))){if(!Ext.fly(a,"_isVisible").isVisible()){return false}a=a.parentNode}return true},isDisplayed:function(){return !this.isStyle(k,n)},enableDisplayMode:function(a){this.setVisibilityMode(Ext.Element.DISPLAY);if(!Ext.isEmpty(a)){p(this.dom,"originalDisplay",a)}return this},mask:function(s,d){var b=this,g=b.dom,c=Ext.DomHelper,e="ext-el-mask-msg",t,a;if(!(/^body/i.test(g.tagName)&&b.getStyle("position")=="static")){b.addClass(o)}if(t=p(g,"maskMsg")){t.remove()}if(t=p(g,"mask")){t.remove()}a=c.append(g,{cls:"ext-el-mask"},true);p(g,"mask",a);b.addClass(r);a.setDisplayed(true);if(typeof s=="string"){var h=c.append(g,{cls:e,cn:{tag:"div"}},true);p(g,"maskMsg",h);h.dom.className=d?e+" "+d:e;h.dom.firstChild.innerHTML=s;h.setDisplayed(true);h.center(b)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&b.getStyle("height")=="auto"){a.setSize(undefined,b.getHeight())}return a},unmask:function(){var b=this,a=b.dom,d=p(a,"mask"),c=p(a,"maskMsg");if(d){if(c){c.remove();p(a,"maskMsg",undefined)}d.remove();p(a,"mask",undefined);b.removeClass([r,o])}},isMasked:function(){var a=p(this.dom,"mask");return a&&a.isVisible()},createShim:function(){var b=document.createElement("iframe"),a;b.frameBorder="0";b.className="ext-shim";b.src=Ext.SSL_SECURE_URL;a=Ext.get(this.dom.parentNode.insertBefore(b,this.dom));a.autoBoxAdjust=false;return a}}}());Ext.Element.addMethods({addKeyListener:function(e,h,k){var g;if(typeof e!="object"||Ext.isArray(e)){g={key:e,fn:h,scope:k}}else{g={key:e.key,shift:e.shift,ctrl:e.ctrl,alt:e.alt,fn:h,scope:k}}return new Ext.KeyMap(this,g)},addKeyMap:function(b){return new Ext.KeyMap(this,b)}});Ext.CompositeElementLite.importElementMethods();Ext.apply(Ext.CompositeElementLite.prototype,{addElements:function(g,e){if(!g){return this}if(typeof g=="string"){g=Ext.Element.selectorFunction(g,e)}var d=this.elements;Ext.each(g,function(a){d.push(Ext.get(a))});return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(b){return this.indexOf(b)!=-1},removeElement:function(l,k){var n=this,h=this.elements,g;Ext.each(l,function(a){if((g=(h[a]||h[a=n.indexOf(a)]))){if(k){if(g.dom){g.remove()}else{Ext.removeNode(g)}}h.splice(a,1)}});return this}});Ext.CompositeElement=Ext.extend(Ext.CompositeElementLite,{constructor:function(c,d){this.elements=[];this.add(c,d)},getElement:function(b){return b},transformElement:function(b){return Ext.get(b)}});Ext.Element.select=function(g,h,e){var k;if(typeof g=="string"){k=Ext.Element.selectorFunction(g,e)}else{if(g.length!==undefined){k=g}else{throw"Invalid selector"}}return(h===true)?new Ext.CompositeElement(k):new Ext.CompositeElementLite(k)};Ext.select=Ext.Element.select;Ext.UpdateManager=Ext.Updater=Ext.extend(Ext.util.Observable,function(){var h="beforeupdate",o="update",p="failure";function k(c){var b=this;b.transaction=null;if(c.argument.form&&c.argument.reset){try{c.argument.form.reset()}catch(a){}}if(b.loadScripts){b.renderer.render(b.el,c,b,l.createDelegate(b,[c]))}else{b.renderer.render(b.el,c,b);l.call(b,c)}}function l(c,b,a){this.fireEvent(b||o,this.el,c);if(Ext.isFunction(c.argument.callback)){c.argument.callback.call(c.argument.scope,this.el,Ext.isEmpty(a)?true:false,c,c.argument.options)}}function n(a){l.call(this,a,p,!!(this.transaction=null))}return{constructor:function(b,c){var a=this;b=Ext.get(b);if(!c&&b.updateManager){return b.updateManager}a.el=b;a.defaultUrl=null;a.addEvents(h,o,p);Ext.apply(a,Ext.Updater.defaults);a.transaction=null;a.refreshDelegate=a.refresh.createDelegate(a);a.updateDelegate=a.update.createDelegate(a);a.formUpdateDelegate=(a.formUpdate||function(){}).createDelegate(a);a.renderer=a.renderer||a.getDefaultRenderer();Ext.Updater.superclass.constructor.call(a)},setRenderer:function(a){this.renderer=a},getRenderer:function(){return this.renderer},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},setDefaultUrl:function(a){this.defaultUrl=a},getEl:function(){return this.el},update:function(d,r,g,a){var b=this,e,c;if(b.fireEvent(h,b.el,d,r)!==false){if(Ext.isObject(d)){e=d;d=e.url;r=r||e.params;g=g||e.callback;a=a||e.discardUrl;c=e.scope;if(!Ext.isEmpty(e.nocache)){b.disableCaching=e.nocache}if(!Ext.isEmpty(e.text)){b.indicatorText='<div class="loading-indicator">'+e.text+"</div>"}if(!Ext.isEmpty(e.scripts)){b.loadScripts=e.scripts}if(!Ext.isEmpty(e.timeout)){b.timeout=e.timeout}}b.showLoading();if(!a){b.defaultUrl=d}if(Ext.isFunction(d)){d=d.call(b)}var s=Ext.apply({},{url:d,params:(Ext.isFunction(r)&&c)?r.createDelegate(c):r,success:k,failure:n,scope:b,callback:undefined,timeout:(b.timeout*1000),disableCaching:b.disableCaching,argument:{options:e,url:d,form:null,callback:g,scope:c||window,params:r}},e);b.transaction=Ext.Ajax.request(s)}},formUpdate:function(b,e,c,a){var d=this;if(d.fireEvent(h,d.el,b,e)!==false){if(Ext.isFunction(e)){e=e.call(d)}b=Ext.getDom(b);d.transaction=Ext.Ajax.request({form:b,url:e,success:k,failure:n,scope:d,timeout:(d.timeout*1000),argument:{url:e,form:b,callback:a,reset:c}});d.showLoading.defer(1,d)}},startAutoRefresh:function(d,c,a,g,e){var b=this;if(e){b.update(c||b.defaultUrl,a,g,true)}if(b.autoRefreshProcId){clearInterval(b.autoRefreshProcId)}b.autoRefreshProcId=setInterval(b.update.createDelegate(b,[c||b.defaultUrl,a,g,true]),d*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return !!this.autoRefreshProcId},showLoading:function(){if(this.showLoadIndicator){this.el.dom.innerHTML=this.indicatorText}},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){return this.transaction?Ext.Ajax.isLoading(this.transaction):false},refresh:function(a){if(this.defaultUrl){this.update(this.defaultUrl,null,a,true)}}}}());Ext.Updater.defaults={timeout:30,disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>',loadScripts:false,sslBlankUrl:Ext.SSL_SECURE_URL};Ext.Updater.updateElement=function(l,n,k,g){var h=Ext.get(l).getUpdater();Ext.apply(h,g);h.update(n,k,g?g.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(k,g,e,h){k.update(g.responseText,e.loadScripts,h)}};(function(){Date.useStrict=false;function c(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/\{(\d+)\}/g,function(k,h){return b[h]})}Date.formatCodeToRegex=function(b,g){var a=Date.parseCodes[b];if(a){a=typeof a=="function"?a():a;Date.parseCodes[b]=a}return a?Ext.applyIf({c:a.c?c(a.c,g||"{0}"):a.c},a):{g:0,c:null,s:Ext.escapeRe(b)}};var d=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{"M$":function(h,k){var b=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var a=(h||"").match(b);return a?new Date(((a[1]||"")+a[2])*1):null}},parseRegexes:[],formatFunctions:{"M$":function(){return"\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(a){return Date.monthNames[a].substring(0,3)},getShortDayName:function(a){return Date.dayNames[a].substring(0,3)},getMonthNumber:function(a){return Date.monthNumbers[a.substring(0,1).toUpperCase()+a.substring(1,3).toLowerCase()]},formatCodes:{d:"String.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"String.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"String.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"String.leftPad(this.getHours(), 2, '0')",i:"String.leftPad(this.getMinutes(), 2, '0')",s:"String.leftPad(this.getSeconds(), 2, '0')",u:"String.leftPad(this.getMilliseconds(), 3, '0')",O:"this.getGMTOffset()",P:"this.getGMTOffset(true)",T:"this.getTimezone()",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var a="Y-m-dTH:i:sP",e=[],l=0,n=a.length;l<n;++l){var b=a.charAt(l);e.push(b=="T"?"'T'":Date.getFormatCode(b))}return e.join(" + ")},U:"Math.round(this.getTime() / 1000)"},isValid:function(r,u,s,a,h,b,q){a=a||0;h=h||0;b=b||0;q=q||0;var t=new Date(r<100?100:r,u-1,s,a,h,b,q).add(Date.YEAR,r<100?r-100:0);return r==t.getFullYear()&&u==t.getMonth()+1&&s==t.getDate()&&a==t.getHours()&&h==t.getMinutes()&&b==t.getSeconds()&&q==t.getMilliseconds()},parseDate:function(h,a,k){var b=Date.parseFunctions;if(b[a]==null){Date.createParser(a)}return b[a](h,Ext.isDefined(k)?k:Date.useStrict)},getFormatCode:function(a){var b=Date.formatCodes[a];if(b){b=typeof b=="function"?b():b;Date.formatCodes[a]=b}return b||("'"+String.escape(a)+"'")},createFormat:function(a){var b=[],n=false,k="";for(var l=0;l<a.length;++l){k=a.charAt(l);if(!n&&k=="\\"){n=true}else{if(n){n=false;b.push("'"+String.escape(k)+"'")}else{b.push(Date.getFormatCode(k))}}}Date.formatFunctions[a]=new Function("return "+b.join("+"))},createParser:function(){var a=["var dt, y, m, d, h, i, s, ms, o, z, zz, u, v,","def = Date.defaults,","results = String(input).match(Date.parseRegexes[{0}]);","if(results){","{1}","if(u != null){","v = new Date(u * 1000);","}else{","dt = (new Date()).clearTime();","y = Ext.num(y, Ext.num(def.y, dt.getFullYear()));","m = Ext.num(m, Ext.num(def.m - 1, dt.getMonth()));","d = Ext.num(d, Ext.num(def.d, dt.getDate()));","h  = Ext.num(h, Ext.num(def.h, dt.getHours()));","i  = Ext.num(i, Ext.num(def.i, dt.getMinutes()));","s  = Ext.num(s, Ext.num(def.s, dt.getSeconds()));","ms = Ext.num(ms, Ext.num(def.ms, dt.getMilliseconds()));","if(z >= 0 && y >= 0){","v = new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms).add(Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (v.isLeapYear() && z <= 365))? v.add(Date.DAY, z) : null);","}else if(strict === true && !Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = new Date(y < 100 ? 100 : y, m, d, h, i, s, ms).add(Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(r){var x=Date.parseRegexes.length,b=1,w=[],s=[],t=false,y="",u=0,v,q;for(;u<r.length;++u){y=r.charAt(u);if(!t&&y=="\\"){t=true}else{if(t){t=false;s.push(String.escape(y))}else{v=d(y,b);b+=v.g;s.push(v.s);if(v.g&&v.c){if(v.calcLast){q=v.c}else{w.push(v.c)}}}}}if(q){w.push(q)}Date.parseRegexes[x]=new RegExp("^"+s.join("")+"$","i");Date.parseFunctions[r]=new Function("input","strict",c(a,x,w.join("")))}}(),parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},D:function(){for(var b=[],a=0;a<7;b.push(Date.getShortDayName(a)),++a){}return{g:0,c:null,s:"(?:"+b.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:0,c:null,s:"(?:\\d{2})"},F:function(){return{g:1,c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",s:"("+Date.monthNames.join("|")+")"}},M:function(){for(var b=[],a=0;a<12;b.push(Date.getShortMonthName(a)),++a){}return Ext.applyIf({s:"("+b.join("|")+")"},d("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{2})"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{1,2})"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:function(){return d("Y")},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:function(){return d("A")},A:{calcLast:true,g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)"},g:function(){return d("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return d("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var b=[],k=[d("Y",1),d("m",2),d("d",3),d("h",4),d("i",5),d("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",d("P",8).c,"}else{",d("O",8).c,"}","}"].join("\n")}];for(var a=0,h=k.length;a<h;++a){b.push(k[a].c)}return{g:1,c:b.join(""),s:[k[0].s,"(?:","-",k[1].s,"(?:","-",k[2].s,"(?:","(?:T| )?",k[3].s,":",k[4].s,"(?::",k[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}}})}());Ext.apply(Date.prototype,{dateFormat:function(b){if(Date.formatFunctions[b]==null){Date.createFormat(b)}return Date.formatFunctions[b].call(this)},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(b){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+(b?":":"")+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")},getDayOfYear:function(){var d=0,h=this.clone(),g=this.getMonth(),k;for(k=0,h.setDate(1),h.setMonth(0);k<g;h.setMonth(++k)){d+=h.getDaysInMonth()}return d+this.getDate()-1},getWeekOfYear:function(){var d=86400000,c=7*d;return function(){var b=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/d,g=Math.floor(b/7),a=new Date(g*c).getUTCFullYear();return g-Math.floor(Date.UTC(a,0,7)/c)+1}}(),isLeapYear:function(){var b=this.getFullYear();return !!((b&3)==0&&(b%100||(b%400==0&&b)))},getFirstDayOfMonth:function(){var b=(this.getDay()-(this.getDate()-1))%7;return(b<0)?(b+7):b},getLastDayOfMonth:function(){return this.getLastDateOfMonth().getDay()},getFirstDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)},getLastDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())},getDaysInMonth:function(){var b=[31,28,31,30,31,30,31,31,30,31,30,31];return function(){var a=this.getMonth();return a==1&&this.isLeapYear()?29:b[a]}}(),getSuffix:function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(){return new Date(this.getTime())},isDST:function(){return new Date(this.getFullYear(),0,1).getTimezoneOffset()!=this.getTimezoneOffset()},clearTime:function(h){if(h){return this.clone().clearTime()}var c=this.getDate();this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);if(this.getDate()!=c){for(var d=1,k=this.add(Date.HOUR,d);k.getDate()!=c;d++,k=this.add(Date.HOUR,d)){}this.setDate(c);this.setHours(k.getHours())}return this},add:function(d,k){var h=this.clone();if(!d||k===0){return h}switch(d.toLowerCase()){case Date.MILLI:h.setMilliseconds(this.getMilliseconds()+k);break;case Date.SECOND:h.setSeconds(this.getSeconds()+k);break;case Date.MINUTE:h.setMinutes(this.getMinutes()+k);break;case Date.HOUR:h.setHours(this.getHours()+k);break;case Date.DAY:h.setDate(this.getDate()+k);break;case Date.MONTH:var g=this.getDate();if(g>28){g=Math.min(g,this.getFirstDateOfMonth().add("mo",k).getLastDateOfMonth().getDate())}h.setDate(g);h.setMonth(this.getMonth()+k);break;case Date.YEAR:h.setFullYear(this.getFullYear()+k);break}return h},between:function(g,e){var d=this.getTime();return g.getTime()<=d&&d<=e.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari&&(navigator.userAgent.match(/WebKit\/(\d+)/)[1]||NaN)<420){Ext.apply(Date.prototype,{_xMonth:Date.prototype.setMonth,_xDate:Date.prototype.setDate,setMonth:function(g){if(g<=-1){var h=Math.ceil(-g),k=Math.ceil(h/12),e=(h%12)?12-h%12:0;this.setFullYear(this.getFullYear()-k);return this._xMonth(e)}else{return this._xMonth(g)}},setDate:function(b){return this.setTime(this.getTime()-(this.getDate()-b)*86400000)}})}Ext.util.MixedCollection=function(c,d){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents("clear","add","replace","remove","sort");this.allowFunctions=c===true;if(d){this.getKey=d}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(d,g){if(arguments.length==1){g=arguments[0];d=this.getKey(g)}if(typeof d!="undefined"&&d!==null){var e=this.map[d];if(typeof e!="undefined"){return this.replace(d,g)}this.map[d]=g}this.length++;this.items.push(g);this.keys.push(d);this.fireEvent("add",this.length-1,g,d);return g},getKey:function(b){return b.id},replace:function(k,h){if(arguments.length==1){h=arguments[0];k=this.getKey(h)}var g=this.map[k];if(typeof k=="undefined"||k===null||typeof g=="undefined"){return this.add(k,h)}var e=this.indexOfKey(k);this.items[e]=h;this.map[k]=h;this.fireEvent("replace",k,g,h);return h},addAll:function(k){if(arguments.length>1||Ext.isArray(k)){var g=arguments.length>1?arguments:k;for(var l=0,h=g.length;l<h;l++){this.add(g[l])}}else{for(var n in k){if(this.allowFunctions||typeof k[n]!="function"){this.add(n,k[n])}}}},each:function(k,l){var g=[].concat(this.items);for(var n=0,h=g.length;n<h;n++){if(k.call(l||g[n],g[n],n,h)===false){break}}},eachKey:function(h,k){for(var e=0,g=this.keys.length;e<g;e++){h.call(k||window,this.keys[e],this.items[e],e,g)}},find:function(h,k){for(var e=0,g=this.items.length;e<g;e++){if(h.call(k||window,this.items[e],this.keys[e])){return this.items[e]}}return null},insert:function(e,d,g){if(arguments.length==2){g=arguments[1];d=this.getKey(g)}if(this.containsKey(d)){this.suspendEvents();this.removeKey(d);this.resumeEvents()}if(e>=this.length){return this.add(d,g)}this.length++;this.items.splice(e,0,g);if(typeof d!="undefined"&&d!==null){this.map[d]=g}this.keys.splice(e,0,d);this.fireEvent("add",e,g,d);return g},remove:function(b){return this.removeAt(this.indexOf(b))},removeAt:function(e){if(e<this.length&&e>=0){this.length--;var g=this.items[e];this.items.splice(e,1);var d=this.keys[e];if(typeof d!="undefined"){delete this.map[d]}this.keys.splice(e,1);this.fireEvent("remove",g,d);return g}return false},removeKey:function(b){return this.removeAt(this.indexOfKey(b))},getCount:function(){return this.length},indexOf:function(b){return this.items.indexOf(b)},indexOfKey:function(b){return this.keys.indexOf(b)},item:function(d){var e=this.map[d],g=e!==undefined?e:(typeof d=="number")?this.items[d]:undefined;return typeof g!="function"||this.allowFunctions?g:null},itemAt:function(b){return this.items[b]},key:function(b){return this.map[b]},contains:function(b){return this.indexOf(b)!=-1},containsKey:function(b){return typeof this.map[b]!="undefined"},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(n,u,o){var s,r,t=String(u).toUpperCase()=="DESC"?-1:1,p=[],c=this.keys,q=this.items;o=o||function(a,b){return a-b};for(s=0,r=q.length;s<r;s++){p[p.length]={key:c[s],value:q[s],index:s}}p.sort(function(a,d){var b=o(a[n],d[n])*t;if(b===0){b=(a.index<d.index?-1:1)}return b});for(s=0,r=p.length;s<r;s++){q[s]=p[s].value;c[s]=p[s].key}this.fireEvent("sort",this)},sort:function(d,c){this._sort("value",d,c)},reorder:function(q){this.suspendEvents();var k=this.items,r=0,o=k.length,l=[],p=[],n;for(n in q){l[q[n]]=k[n]}for(r=0;r<o;r++){if(q[r]==undefined){p.push(k[r])}}for(r=0;r<o;r++){if(l[r]==undefined){l[r]=p.shift()}}this.clear();this.addAll(l);this.resumeEvents();this.fireEvent("sort",this)},keySort:function(d,c){this._sort("key",d,c||function(h,k){var a=String(h).toUpperCase(),b=String(k).toUpperCase();return a>b?1:(a<b?-1:0)})},getRange:function(k,h){var g=this.items;if(g.length<1){return[]}k=k||0;h=Math.min(typeof h=="undefined"?this.length-1:h,this.length-1);var n,l=[];if(k<=h){for(n=k;n<=h;n++){l[l.length]=g[n]}}else{for(n=k;n>=h;n--){l[l.length]=g[n]}}return l},filter:function(k,e,h,g){if(Ext.isEmpty(e,false)){return this.clone()}e=this.createValueMatcher(e,h,g);return this.filterBy(function(a){return a&&e.test(a[k])})},filterBy:function(o,p){var n=new Ext.util.MixedCollection();n.getKey=this.getKey;var k=this.keys,q=this.items;for(var r=0,l=q.length;r<l;r++){if(o.call(p||this,q[r],k[r])){n.add(k[r],q[r])}}return n},findIndex:function(n,g,k,l,h){if(Ext.isEmpty(g,false)){return -1}g=this.createValueMatcher(g,l,h);return this.findIndexBy(function(a){return a&&g.test(a[n])},null,k)},findIndexBy:function(o,p,n){var k=this.keys,q=this.items;for(var r=(n||0),l=q.length;r<l;r++){if(o.call(p||this,q[r],k[r])){return r}}return -1},createValueMatcher:function(n,k,h,g){if(!n.exec){var l=Ext.escapeRe;n=String(n);if(k===true){n=l(n)}else{n="^"+l(n);if(g===true){n+="$"}}n=new RegExp(n,h?"":"i")}return n},clone:function(){var k=new Ext.util.MixedCollection();var g=this.keys,l=this.items;for(var n=0,h=l.length;n<h;n++){k.add(g[n],l[n])}k.getKey=this.getKey;return k}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.AbstractManager=Ext.extend(Object,{typeName:"type",constructor:function(b){Ext.apply(this,b||{});this.all=new Ext.util.MixedCollection();this.types={}},get:function(b){return this.all.get(b)},register:function(b){this.all.add(b)},unregister:function(b){this.all.remove(b)},registerType:function(c,d){this.types[c]=d;d[this.typeName]=c},isRegistered:function(b){return this.types[b]!==undefined},create:function(g,h){var e=g[this.typeName]||g.type||h,k=this.types[e];if(k==undefined){throw new Error(String.format("The '{0}' type has not been registered with this manager",e))}return new k(g)},onAvailable:function(h,k,e){var g=this.all;g.on("add",function(b,a){if(a.id==h){k.call(e||a,a);g.un("add",k,e)}})}});Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g,stripTagsRE=/<\/?[^>]+>/gi,stripScriptsRe=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe=/\r?\n/g;return{ellipsis:function(value,len,word){if(value&&value.length>len){if(word){var vs=value.substr(0,len-2),index=Math.max(vs.lastIndexOf(" "),vs.lastIndexOf("."),vs.lastIndexOf("!"),vs.lastIndexOf("?"));if(index==-1||index<(len-15)){return value.substr(0,len-3)+"..."}else{return vs.substr(0,index)+"..."}}else{return value.substr(0,len-3)+"..."}}return value},undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},htmlDecode:function(value){return !value?value:String(value).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")},trim:function(value){return String(value).replace(trimRe,"")},substr:function(value,start,length){return String(value).substr(start,length)},lowercase:function(value){return String(value).toLowerCase()},uppercase:function(value){return String(value).toUpperCase()},capitalize:function(value){return !value?value:value.charAt(0).toUpperCase()+value.substr(1).toLowerCase()},call:function(value,fn){if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);args.unshift(value);return eval(fn).apply(window,args)}else{return eval(fn).call(window,value)}},usMoney:function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+".00":((v*10==Math.floor(v*10))?v+"0":v);v=String(v);var ps=v.split("."),whole=ps[0],sub=ps[1]?"."+ps[1]:".00",r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,"$1,$2")}v=whole+sub;if(v.charAt(0)=="-"){return"-$"+v.substr(1)}return"$"+v},date:function(v,format){if(!v){return""}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(format||"m/d/Y")},dateRenderer:function(format){return function(v){return Ext.util.Format.date(v,format)}},stripTags:function(v){return !v?v:String(v).replace(stripTagsRE,"")},stripScripts:function(v){return !v?v:String(v).replace(stripScriptsRe,"")},fileSize:function(size){if(size<1024){return size+" bytes"}else{if(size<1048576){return(Math.round(((size*10)/1024))/10)+" KB"}else{return(Math.round(((size*10)/1048576))/10)+" MB"}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function("v","return v "+a+";")}return fns[a](v)}}(),round:function(value,precision){var result=Number(value);if(typeof precision=="number"){precision=Math.pow(10,precision);result=Math.round(value*precision)/precision}return result},number:function(v,format){if(!format){return v}v=Ext.num(v,NaN);if(isNaN(v)){return""}var comma=",",dec=".",i18n=false,neg=v<0;v=Math.abs(v);if(format.substr(format.length-2)=="/i"){format=format.substr(0,format.length-2);i18n=true;comma=".";dec=","}var hasComma=format.indexOf(comma)!=-1,psplit=(i18n?format.replace(/[^\d\,]/g,""):format.replace(/[^\d\.]/g,"")).split(dec);if(1<psplit.length){v=v.toFixed(psplit[1].length)}else{if(2<psplit.length){throw ("NumberFormatException: invalid format, formats should have no more than 1 period: "+format)}else{v=v.toFixed(0)}}var fnum=v.toString();psplit=fnum.split(".");if(hasComma){var cnum=psplit[0],parr=[],j=cnum.length,m=Math.floor(j/3),n=cnum.length%3||3,i;for(i=0;i<j;i+=n){if(i!=0){n=3}parr[parr.length]=cnum.substr(i,n);m-=1}fnum=parr.join(comma);if(psplit[1]){fnum+=dec+psplit[1]}}else{if(psplit[1]){fnum=psplit[0]+dec+psplit[1]}}return(neg?"-":"")+format.replace(/[\d,?\.?]+/,fnum)},numberRenderer:function(format){return function(v){return Ext.util.Format.number(v,format)}},plural:function(v,s,p){return v+" "+(v==1?s:(p?p:s+"s"))},nl2br:function(v){return Ext.isEmpty(v)?"":v.replace(nl2brRe,"<br/>")}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var s=this,Q=s.html,I=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,U=/^<tpl\b[^>]*?for="(.*?)"/,E=/^<tpl\b[^>]*?if="(.*?)"/,C=/^<tpl\b[^>]*?exec="(.*?)"/,H,K=0,P=[],M="values",D="parent",O="xindex",N="xcount",T="return ",V="with(values){ ";Q=["<tpl>",Q,"</tpl>"].join("");while((H=Q.match(I))){var W=H[0].match(U),X=H[0].match(E),J=H[0].match(C),S=null,R=null,G=null,L=W&&W[1]?W[1]:"";if(X){S=X&&X[1]?X[1]:null;if(S){R=new Function(M,D,O,N,V+T+(Ext.util.Format.htmlDecode(S))+"; }")}}if(J){S=J&&J[1]?J[1]:null;if(S){G=new Function(M,D,O,N,V+(Ext.util.Format.htmlDecode(S))+"; }")}}if(L){switch(L){case".":L=new Function(M,D,V+T+M+"; }");break;case"..":L=new Function(M,D,V+T+D+"; }");break;default:L=new Function(M,D,V+T+L+"; }")}}P.push({id:K,target:L,exec:G,test:R,body:H[1]||""});Q=Q.replace(H[0],"{xtpl"+K+"}");++K}for(var F=P.length-1;F>=0;--F){s.compileTpl(P[F])}s.master=P[P.length-1];s.tpls=P};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(y,q,r,v,w){var s=this,t,o=s.tpls[y],p,x=[];if((o.test&&!o.test.call(s,q,r,v,w))||(o.exec&&o.exec.call(s,q,r,v,w))){return""}p=o.target?o.target.call(s,q,r):q;t=p.length;r=o.target?q:r;if(o.target&&Ext.isArray(p)){for(var u=0,t=p.length;u<t;u++){x[x.length]=o.compiled.call(s,p[u],r,u+1,t)}return x.join("")}return o.compiled.call(s,p,r,v,w)},compileTpl:function(tpl){var fm=Ext.util.Format,useF=this.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(m,name,format,args,math){if(name.substr(0,4)=="xtpl"){return"'"+sep+"this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount)"+sep+"'"}var v;if(name==="."){v="values"}else{if(name==="#"){v="xindex"}else{if(name.indexOf(".")!=-1){v=name}else{v="values['"+name+"']"}}}if(math){v="("+v+math+")"}if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="("+v+" === undefined ? '' : "}return"'"+sep+format+v+args+")"+sep+"'"}function codeFn(m,code){return"'"+sep+"("+code.replace(/\\'/g,"'")+")"+sep+"'"}if(Ext.isGecko){body="tpl.compiled = function(values, parent, xindex, xcount){ return '"+tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn)+"';};"}else{body=["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];body.push(tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn));body.push("'].join('');};");body=body.join("")}eval(body);return this},applyTemplate:function(b){return this.master.compiled.call(this,b,{},1,1)},compile:function(){return this}});Ext.XTemplate.prototype.apply=Ext.XTemplate.prototype.applyTemplate;Ext.XTemplate.from=function(b){b=Ext.getDom(b);return new Ext.XTemplate(b.value||b.innerHTML)};Ext.util.CSS=function(){var h=null;var k=document;var e=/(-[a-z])/gi;var g=function(b,a){return a.charAt(1).toUpperCase()};return{createStyleSheet:function(d,a){var n;var o=k.getElementsByTagName("head")[0];var b=k.createElement("style");b.setAttribute("type","text/css");if(a){b.setAttribute("id",a)}if(Ext.isIE){o.appendChild(b);n=b.styleSheet;n.cssText=d}else{try{b.appendChild(k.createTextNode(d))}catch(c){b.cssText=d}o.appendChild(b);n=b.styleSheet?b.styleSheet:(b.sheet||k.styleSheets[k.styleSheets.length-1])}this.cacheStyleSheet(n);return n},removeStyleSheet:function(a){var b=k.getElementById(a);if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(a,c){this.removeStyleSheet(a);var b=k.createElement("link");b.setAttribute("rel","stylesheet");b.setAttribute("type","text/css");b.setAttribute("id",a);b.setAttribute("href",c);k.getElementsByTagName("head")[0].appendChild(b)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(c){if(!h){h={}}try{var a=c.cssRules||c.rules;for(var d=a.length-1;d>=0;--d){h[a[d].selectorText.toLowerCase()]=a[d]}}catch(b){}},getRules:function(d){if(h===null||d){h={};var b=k.styleSheets;for(var c=0,n=b.length;c<n;c++){try{this.cacheStyleSheet(b[c])}catch(a){}}}return h},getRule:function(d,b){var c=this.getRules(b);if(!Ext.isArray(d)){return c[d.toLowerCase()]}for(var a=0;a<d.length;a++){if(c[d[a]]){return c[d[a].toLowerCase()]}}return null},updateRule:function(n,b,c){if(!Ext.isArray(n)){var a=this.getRule(n);if(a){a.style[b.replace(e,g)]=c;return true}}else{for(var d=0;d<n.length;d++){if(this.updateRule(n[d],b,c)){return true}}}return false}}}();Ext.util.ClickRepeater=Ext.extend(Ext.util.Observable,{constructor:function(c,d){this.el=Ext.get(c);this.el.unselectable();Ext.apply(this,d);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE){this.el.on("dblclick",this.handleDblClick,this)}if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(b){if(b||!this.disabled){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(b){this[b?"disable":"enable"]()},eventOptions:function(b){if(this.preventDefault){b.preventDefault()}if(this.stopDefault){b.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.purgeListeners()},handleDblClick:function(b){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b)},handleMouseDown:function(b){clearTimeout(this.timer);this.el.blur();if(this.pressClass){this.el.addClass(this.pressClass)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this,b);this.fireEvent("click",this,b);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this,[b])},click:function(b){this.fireEvent("click",this,b);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this,[b])},easeOutExpo:function(k,b,c,d){return(k==d)?b+c:c*(-Math.pow(2,-10*k/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(b){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",this,b)}});Ext.KeyNav=function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,relay:function(g){var e=g.getKey(),d=this.keyToHandler[e];if(d&&this[d]){if(this.doRelay(g,this[d],d)!==true){g[this.defaultEventAction]()}}},doRelay:function(g,d,e){return d.call(this.scope||this,g,e)},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},stopKeyUp:function(c){var d=c.getKey();if(d>=37&&d<=40){c.stopEvent()}},destroy:function(){this.disable()},enable:function(){if(this.disabled){if(Ext.isSafari2){this.el.on("keyup",this.stopKeyUp,this)}this.el.on(this.isKeydown()?"keydown":"keypress",this.relay,this);this.disabled=false}},disable:function(){if(!this.disabled){if(Ext.isSafari2){this.el.un("keyup",this.stopKeyUp,this)}this.el.un(this.isKeydown()?"keydown":"keypress",this.relay,this);this.disabled=true}},setDisabled:function(b){this[b?"disable":"enable"]()},isKeydown:function(){return this.forceKeyDown||Ext.EventManager.useKeydown}};Ext.KeyMap=function(g,d,e){this.el=Ext.get(g);this.eventName=e||"keydown";this.bindings=[];if(d){this.addBinding(d)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(v){if(Ext.isArray(v)){Ext.each(v,function(a){this.addBinding(a)},this);return}var o=v.key,r=v.fn||v.handler,n=v.scope;if(v.stopEvent){this.stopEvent=v.stopEvent}if(typeof o=="string"){var q=[];var s=o.toUpperCase();for(var u=0,t=s.length;u<t;u++){q.push(s.charCodeAt(u))}o=q}var w=Ext.isArray(o);var p=function(b){if(this.checkModifiers(v,b)){var d=b.getKey();if(w){for(var c=0,a=o.length;c<a;c++){if(o[c]==d){if(this.stopEvent){b.stopEvent()}r.call(n||window,d,b);return}}}else{if(d==o){if(this.stopEvent){b.stopEvent()}r.call(n||window,d,b)}}}};this.bindings.push(p)},checkModifiers:function(e,o){var n,q,p=["shift","ctrl","alt"];for(var r=0,l=p.length;r<l;++r){q=p[r];n=e[q];if(!(n===undefined||(n===o[q+"Key"]))){return false}}return true},on:function(k,q,r){var n,l,p,o;if(typeof k=="object"&&!Ext.isArray(k)){n=k.key;l=k.shift;p=k.ctrl;o=k.alt}else{n=k}this.addBinding({key:n,shift:l,ctrl:p,alt:o,fn:q,scope:r})},handleKeyDown:function(e){if(this.enabled){var k=this.bindings;for(var h=0,b=k.length;h<b;h++){k[h].call(this,e)}}},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}},setDisabled:function(b){this[b?"disable":"enable"]()}};Ext.util.TextMetrics=function(){var b;return{measure:function(a,g,e){if(!b){b=Ext.util.TextMetrics.Instance(a,e)}b.bind(a);b.setFixedWidth(e||"auto");return b.getSize(g)},createInstance:function(a,d){return Ext.util.TextMetrics.Instance(a,d)}}}();Ext.util.TextMetrics.Instance=function(e,h){var k=new Ext.Element(document.createElement("div"));document.body.appendChild(k.dom);k.position("absolute");k.setLeftTop(-1000,-1000);k.hide();if(h){k.setWidth(h)}var g={getSize:function(a){k.update(a);var b=k.getSize();k.update("");return b},bind:function(a){k.setStyle(Ext.fly(a).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(a){k.setWidth(a)},getWidth:function(a){k.dom.style.width="auto";return this.getSize(a).width},getHeight:function(a){return this.getSize(a).height}};g.bind(e);return g};Ext.Element.addMethods({getTextWidth:function(g,d,e){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(g,this.dom.innerHTML,true)).width).constrain(d||0,e||1000000)}});Ext.util.Cookies={set:function(s,q){var l=arguments;var n=arguments.length;var k=(n>2)?l[2]:null;var o=(n>3)?l[3]:"/";var r=(n>4)?l[4]:null;var p=(n>5)?l[5]:false;document.cookie=s+"="+escape(q)+((k===null)?"":("; expires="+k.toGMTString()))+((o===null)?"":("; path="+o))+((r===null)?"":("; domain="+r))+((p===true)?"; secure":"")},get:function(o){var h=o+"=";var l=h.length;var k=document.cookie.length;var n=0;var p=0;while(n<k){p=n+l;if(document.cookie.substring(n,p)==h){return Ext.util.Cookies.getCookieVal(p)}n=document.cookie.indexOf(" ",n)+1;if(n===0){break}}return null},clear:function(b){if(Ext.util.Cookies.get(b)){document.cookie=b+"=; expires=Thu, 01-Jan-70 00:00:01 GMT"}},getCookieVal:function(c){var d=document.cookie.indexOf(";",c);if(d==-1){d=document.cookie.length}return unescape(document.cookie.substring(c,d))}};Ext.handleError=function(b){throw b};Ext.Error=function(b){this.message=(this.lang[b])?this.lang[b]:b};Ext.Error.prototype=new Error();Ext.apply(Ext.Error.prototype,{lang:{},name:"Ext.Error",getName:function(){return this.name},getMessage:function(){return this.message},toJson:function(){return Ext.encode(this)}});Ext.ComponentMgr=function(){var g=new Ext.util.MixedCollection();var d={};var e={};return{register:function(a){g.add(a)},unregister:function(a){g.remove(a)},get:function(a){return g.get(a)},onAvailable:function(a,b,c){g.on("add",function(l,k){if(k.id==a){b.call(c||k,k);g.un("add",b,c)}})},all:g,types:d,ptypes:e,isRegistered:function(a){return d[a]!==undefined},isPluginRegistered:function(a){return e[a]!==undefined},registerType:function(a,b){d[a]=b;b.xtype=a},create:function(b,a){return b.render?b:new d[b.xtype||a](b)},registerPlugin:function(a,b){e[a]=b;b.ptype=a},createPlugin:function(b,a){var c=e[b.ptype||a];if(c.init){return c}else{return new c(b)}}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.preg=Ext.ComponentMgr.registerPlugin;Ext.create=Ext.ComponentMgr.create;Ext.Component=function(d){d=d||{};if(d.initialConfig){if(d.isAction){this.baseAction=d}d=d.initialConfig}else{if(d.tagName||d.dom||Ext.isString(d)){d={applyTo:d,id:d.id||d}}}this.initialConfig=d;Ext.apply(this,d);this.addEvents("added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","beforestaterestore","staterestore","beforestatesave","statesave");this.getId();Ext.ComponentMgr.register(this);Ext.Component.superclass.constructor.call(this);if(this.baseAction){this.baseAction.addComponent(this)}this.initComponent();if(this.plugins){if(Ext.isArray(this.plugins)){for(var g=0,e=this.plugins.length;g<e;g++){this.plugins[g]=this.initPlugin(this.plugins[g])}}else{this.plugins=this.initPlugin(this.plugins)}}if(this.stateful!==false){this.initState()}if(this.applyTo){this.applyToMarkup(this.applyTo);delete this.applyTo}else{if(this.renderTo){this.render(this.renderTo);delete this.renderTo}}};Ext.Component.AUTO_ID=1000;Ext.extend(Ext.Component,Ext.util.Observable,{disabled:false,hidden:false,autoEl:"div",disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,rendered:false,tplWriteMode:"overwrite",bubbleEvents:[],ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initPlugin:function(b){if(b.ptype&&!Ext.isFunction(b.init)){b=Ext.ComponentMgr.createPlugin(b)}else{if(Ext.isString(b)){b=Ext.ComponentMgr.createPlugin({ptype:b})}}b.init(this);return b},initComponent:function(){if(this.listeners){this.on(this.listeners);delete this.listeners}this.enableBubble(this.bubbleEvents)},render:function(e,g){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!e&&this.el){this.el=Ext.get(this.el);e=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(e);if(this.ctCls){this.container.addClass(this.ctCls)}this.rendered=true;if(g!==undefined){if(Ext.isNumber(g)){g=this.container.dom.childNodes[g]}else{g=Ext.getDom(g)}}this.onRender(this.container,g||null);if(this.autoShow){this.el.removeClass(["x-hidden","x-hide-"+this.hideMode])}if(this.cls){this.el.addClass(this.cls);delete this.cls}if(this.style){this.el.applyStyles(this.style);delete this.style}if(this.overCls){this.el.addClassOnOver(this.overCls)}this.fireEvent("render",this);var k=this.getContentTarget();if(this.html){k.update(Ext.DomHelper.markup(this.html));delete this.html}if(this.contentEl){var h=Ext.getDom(this.contentEl);Ext.fly(h).removeClass(["x-hidden","x-hide-display"]);k.appendChild(h)}if(this.tpl){if(!this.tpl.compile){this.tpl=new Ext.XTemplate(this.tpl)}if(this.data){this.tpl[this.tplWriteMode](k,this.data);delete this.data}}this.afterRender(this.container);if(this.hidden){this.doHide()}if(this.disabled){this.disable(true)}if(this.stateful!==false){this.initStateEvents()}this.fireEvent("afterrender",this)}return this},update:function(g,l,h){var n=this.getContentTarget();if(this.tpl&&typeof g!=="string"){this.tpl[this.tplWriteMode](n,g||{})}else{var k=Ext.isObject(g)?Ext.DomHelper.markup(g):g;n.update(k,l,h)}},onAdded:function(d,c){this.ownerCt=d;this.initRef();this.fireEvent("added",this,d,c)},onRemoved:function(){this.removeRef();this.fireEvent("removed",this,this.ownerCt);delete this.ownerCt},initRef:function(){if(this.ref&&!this.refOwner){var h=this.ref.split("/"),k=h.length,e=0,g=this;while(g&&e<k){g=g.ownerCt;++e}if(g){g[this.refName=h[--e]]=this;this.refOwner=g}}},removeRef:function(){if(this.refOwner&&this.refName){delete this.refOwner[this.refName];delete this.refOwner}},initState:function(){if(Ext.state.Manager){var c=this.getStateId();if(c){var d=Ext.state.Manager.get(c);if(d){if(this.fireEvent("beforestaterestore",this,d)!==false){this.applyState(Ext.apply({},d));this.fireEvent("staterestore",this,d)}}}}},getStateId:function(){return this.stateId||((/^(ext-comp-|ext-gen)/).test(String(this.id))?null:this.id)},initStateEvents:function(){if(this.stateEvents){for(var d=0,c;c=this.stateEvents[d];d++){this.on(c,this.saveState,this,{delay:100})}}},applyState:function(b){if(b){Ext.apply(this,b)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager&&this.stateful!==false){var c=this.getStateId();if(c){var d=this.getState();if(this.fireEvent("beforestatesave",this,d)!==false){Ext.state.Manager.set(c,d);this.fireEvent("statesave",this,d)}}}},applyToMarkup:function(b){this.allowDomMove=false;this.el=Ext.get(b);this.render(this.el.dom.parentNode)},addClass:function(b){if(this.el){this.el.addClass(b)}else{this.cls=this.cls?this.cls+" "+b:b}return this},removeClass:function(b){if(this.el){this.el.removeClass(b)}else{if(this.cls){this.cls=this.cls.split(" ").remove(b).join(" ")}}return this},onRender:function(d,e){if(!this.el&&this.autoEl){if(Ext.isString(this.autoEl)){this.el=document.createElement(this.autoEl)}else{var g=document.createElement("div");Ext.DomHelper.overwrite(g,this.autoEl);this.el=g.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){d.dom.insertBefore(this.el.dom,e);if(g){Ext.removeNode(g);g=null}}}},getAutoCreate:function(){var b=Ext.isObject(this.autoCreate)?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!b.id){b.id=this.id}return b},afterRender:Ext.emptyFn,destroy:function(){if(!this.isDestroyed){if(this.fireEvent("beforedestroy",this)!==false){this.destroying=true;this.beforeDestroy();if(this.ownerCt&&this.ownerCt.remove){this.ownerCt.remove(this,false)}if(this.rendered){this.el.remove();if(this.actionMode=="container"||this.removeMode=="container"){this.container.remove()}}if(this.focusTask&&this.focusTask.cancel){this.focusTask.cancel()}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners();this.destroying=false;this.isDestroyed=true}}},deleteMembers:function(){var d=arguments;for(var g=0,e=d.length;g<e;++g){delete this[d[g]]}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl:function(){return this.el},getContentTarget:function(){return this.el},getId:function(){return this.id||(this.id="ext-comp-"+(++Ext.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.getId()},focus:function(c,d){if(d){this.focusTask=new Ext.util.DelayedTask(this.focus,this,[c,false]);this.focusTask.delay(Ext.isNumber(d)?d:10);return this}if(this.rendered&&!this.isDestroyed){this.el.focus();if(c===true){this.el.dom.select()}}return this},blur:function(){if(this.rendered){this.el.blur()}return this},disable:function(b){if(this.rendered){this.onDisable()}this.disabled=true;if(b!==true){this.fireEvent("disable",this)}return this},onDisable:function(){this.getActionEl().addClass(this.disabledClass);this.el.dom.disabled=true},enable:function(){if(this.rendered){this.onEnable()}this.disabled=false;this.fireEvent("enable",this);return this},onEnable:function(){this.getActionEl().removeClass(this.disabledClass);this.el.dom.disabled=false},setDisabled:function(b){return this[b?"disable":"enable"]()},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.autoRender){this.render(Ext.isBoolean(this.autoRender)?Ext.getBody():this.autoRender)}if(this.rendered){this.onShow()}this.fireEvent("show",this)}return this},onShow:function(){this.getVisibilityEl().removeClass("x-hide-"+this.hideMode)},hide:function(){if(this.fireEvent("beforehide",this)!==false){this.doHide();this.fireEvent("hide",this)}return this},doHide:function(){this.hidden=true;if(this.rendered){this.onHide()}},onHide:function(){this.getVisibilityEl().addClass("x-hide-"+this.hideMode)},getVisibilityEl:function(){return this.hideParent?this.container:this.getActionEl()},setVisible:function(b){return this[b?"show":"hide"]()},isVisible:function(){return this.rendered&&this.getVisibilityEl().isVisible()},cloneConfig:function(d){d=d||{};var g=d.id||Ext.id();var e=Ext.applyIf(d,this.initialConfig);e.id=g;return new this.constructor(e)},getXType:function(){return this.constructor.xtype},isXType:function(c,d){if(Ext.isFunction(c)){c=c.xtype}else{if(Ext.isObject(c)){c=c.constructor.xtype}}return !d?("/"+this.getXTypes()+"/").indexOf("/"+c+"/")!=-1:this.constructor.xtype==c},getXTypes:function(){var e=this.constructor;if(!e.xtypes){var g=[],c=this;while(c&&c.constructor.xtype){g.unshift(c.constructor.xtype);c=c.constructor.superclass}e.xtypeChain=g;e.xtypes=g.join("/")}return e.xtypes},findParentBy:function(d){for(var c=this.ownerCt;(c!=null)&&!d(c,this);c=c.ownerCt){}return c||null},findParentByType:function(c,d){return this.findParentBy(function(a){return a.isXType(c,d)})},bubble:function(k,e,g){var h=this;while(h){if(k.apply(e||h,g||[h])===false){break}h=h.ownerCt}return this},getPositionEl:function(){return this.positionEl||this.el},purgeListeners:function(){Ext.Component.superclass.purgeListeners.call(this);if(this.mons){this.on("beforedestroy",this.clearMons,this,{single:true})}},clearMons:function(){Ext.each(this.mons,function(b){b.item.un(b.ename,b.fn,b.scope)},this);this.mons=[]},createMons:function(){if(!this.mons){this.mons=[];this.on("beforedestroy",this.clearMons,this,{single:true})}},mon:function(q,e,r,s,l){this.createMons();if(Ext.isObject(e)){var n=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;var o=e;for(var p in o){if(n.test(p)){continue}if(Ext.isFunction(o[p])){this.mons.push({item:q,ename:p,fn:o[p],scope:o.scope});q.on(p,o[p],o.scope,o)}else{this.mons.push({item:q,ename:p,fn:o[p],scope:o.scope});q.on(p,o[p])}}return}this.mons.push({item:q,ename:e,fn:r,scope:s});q.on(e,r,s,l)},mun:function(p,t,q,r){var o,s;this.createMons();for(var l=0,n=this.mons.length;l<n;++l){s=this.mons[l];if(p===s.item&&t==s.ename&&q===s.fn&&r===s.scope){this.mons.splice(l,1);p.un(t,q,r);o=true;break}}return o},nextSibling:function(){if(this.ownerCt){var b=this.ownerCt.items.indexOf(this);if(b!=-1&&b+1<this.ownerCt.items.getCount()){return this.ownerCt.items.itemAt(b+1)}}return null},previousSibling:function(){if(this.ownerCt){var b=this.ownerCt.items.indexOf(this);if(b>0){return this.ownerCt.items.itemAt(b-1)}}return null},getBubbleTarget:function(){return this.ownerCt}});Ext.reg("component",Ext.Component);Ext.Action=Ext.extend(Object,{constructor:function(b){this.initialConfig=b;this.itemId=b.itemId=(b.itemId||b.id||Ext.id());this.items=[]},isAction:true,setText:function(b){this.initialConfig.text=b;this.callEach("setText",[b])},getText:function(){return this.initialConfig.text},setIconClass:function(b){this.initialConfig.iconCls=b;this.callEach("setIconClass",[b])},getIconClass:function(){return this.initialConfig.iconCls},setDisabled:function(b){this.initialConfig.disabled=b;this.callEach("setDisabled",[b])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(b){this.initialConfig.hidden=b;this.callEach("setVisible",[!b])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(c,d){this.initialConfig.handler=c;this.initialConfig.scope=d;this.callEach("setHandler",[c,d])},each:function(c,d){Ext.each(this.items,c,d)},callEach:function(k,g){var l=this.items;for(var n=0,h=l.length;n<h;n++){l[n][k].apply(l[n],g)}},addComponent:function(b){this.items.push(b);b.on("destroy",this.removeComponent,this)},removeComponent:function(b){this.items.remove(b)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||window,arguments)}});(function(){Ext.Layer=function(n,o){n=n||{};var l=Ext.DomHelper,b=n.parentEl,k=b?Ext.getDom(b):document.body;if(o){this.dom=Ext.getDom(o)}if(!this.dom){var a=n.dh||{tag:"div",cls:"x-layer"};this.dom=l.append(k,a)}if(n.cls){this.addClass(n.cls)}this.constrain=n.constrain!==false;this.setVisibilityMode(Ext.Element.VISIBILITY);if(n.id){this.id=this.dom.id=n.id}else{this.id=Ext.id(this.dom)}this.zindex=n.zindex||this.getZIndex();this.position("absolute",this.zindex);if(n.shadow){this.shadowOffset=n.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:n.shadow})}else{this.shadowOffset=0}this.useShim=n.shim!==false&&Ext.useShims;this.useDisplay=n.useDisplay;this.hide()};var d=Ext.Element.prototype;var c=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt((this.getShim()||this).getStyle("z-index"),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var a=c.shift();if(!a){a=this.createShim();a.enableDisplayMode("block");a.dom.style.display="none";a.dom.style.visibility="visible"}var b=this.dom.parentNode;if(a.dom.parentNode!=b){b.insertBefore(a.dom,this.dom)}a.setStyle("z-index",this.getZIndex()-2);this.shim=a;return a},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);c.push(this.shim);delete this.shim}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;this.shadow.hide();this.lastShadowOffset=this.shadowOffset;this.shadowOffset=0}},enableShadow:function(a){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(a){this.sync(true)}}},sync:function(u){var b=this.shadow;if(!this.updating&&this.isVisible()&&(b||this.useShim)){var r=this.getShim(),h=this.getWidth(),q=this.getHeight(),t=this.getLeft(true),a=this.getTop(true);if(b&&!this.shadowDisabled){if(u&&!b.isVisible()){b.show(this)}else{b.realign(t,a,h,q)}if(r){if(u){r.show()}var l=b.el.getXY(),s=r.dom.style,v=b.el.getSize();s.left=(l[0])+"px";s.top=(l[1])+"px";s.width=(v.width)+"px";s.height=(v.height)+"px"}}else{if(r){if(u){r.show()}r.setSize(h,q);r.setLeftTop(t,a)}}}},destroy:function(){this.hideShim();if(this.shadow){this.shadow.hide()}this.removeAllListeners();Ext.removeNode(this.dom);delete this.dom},remove:function(){this.destroy()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(a){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var s=Ext.lib.Dom.getViewWidth(),w=Ext.lib.Dom.getViewHeight();var a=Ext.getDoc().getScroll();var b=this.getXY();var r=b[0],t=b[1];var x=this.shadowOffset;var q=this.dom.offsetWidth+x,v=this.dom.offsetHeight+x;var u=false;if((r+q)>s+a.left){r=s-q-x;u=true}if((t+v)>w+a.top){t=w-v-x;u=true}if(r<a.left){r=a.left;u=true}if(t<a.top){t=a.top;u=true}if(u){if(this.avoidY){var h=this.avoidY;if(t<=h&&(t+v)>=h){t=h-v-5}}b=[r,t];this.storeXY(b);d.setXY.call(this,b);this.sync()}}return this},getConstrainOffset:function(){return this.shadowOffset},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){d.setXY.call(this,this.lastXY)}else{if(this.lastLT){d.setLeftTop.call(this,this.lastLT[0],this.lastLT[1])}}}},hideAction:function(){this.visible=false;if(this.useDisplay===true){this.setDisplayed(false)}else{this.setLeftTop(-10000,-10000)}},setVisible:function(n,o,b,a,e){if(n){this.showAction()}if(o&&n){var p=function(){this.sync(true);if(a){a()}}.createDelegate(this);d.setVisible.call(this,true,true,b,p,e)}else{if(!n){this.hideUnders(true)}var p=a;if(o){p=function(){this.hideAction();if(a){a()}}.createDelegate(this)}d.setVisible.call(this,n,o,b,p,e);if(n){this.sync(true)}else{if(!o){this.hideAction()}}}return this},storeXY:function(a){delete this.lastLT;this.lastXY=a},storeLeftTop:function(a,b){delete this.lastXY;this.lastLT=[a,b]},beforeFx:function(){this.beforeAction();return Ext.Layer.superclass.beforeFx.apply(this,arguments)},afterFx:function(){Ext.Layer.superclass.afterFx.apply(this,arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(a){this.storeLeftTop(a,this.getTop(true));d.setLeft.apply(this,arguments);this.sync();return this},setTop:function(a){this.storeLeftTop(this.getLeft(true),a);d.setTop.apply(this,arguments);this.sync();return this},setLeftTop:function(a,b){this.storeLeftTop(a,b);d.setLeftTop.apply(this,arguments);this.sync();return this},setXY:function(e,o,b,a,n){this.fixDisplay();this.beforeAction();this.storeXY(e);var p=this.createCB(a);d.setXY.call(this,e,o,b,p,n);if(!o){p()}return this},createCB:function(a){var b=this;return function(){b.constrainXY();b.sync(true);if(a){a()}}},setX:function(o,n,b,a,e){this.setXY([o,this.getY()],n,b,a,e);return this},setY:function(a,o,e,b,n){this.setXY([this.getX(),a],o,e,b,n);return this},setSize:function(e,b,h,r,q,a){this.beforeAction();var p=this.createCB(q);d.setSize.call(this,e,b,h,r,p,a);if(!h){p()}return this},setWidth:function(n,o,b,a,e){this.beforeAction();var p=this.createCB(a);d.setWidth.call(this,n,o,b,p,e);if(!o){p()}return this},setHeight:function(e,h,a,p,b){this.beforeAction();var o=this.createCB(p);d.setHeight.call(this,e,h,a,o,b);if(!h){o()}return this},setBounds:function(b,h,a,u,e,s,r,t){this.beforeAction();var v=this.createCB(r);if(!e){this.storeXY([b,h]);d.setXY.call(this,[b,h]);d.setSize.call(this,a,u,e,s,v,t);v()}else{d.setBounds.call(this,b,h,a,u,e,s,v,t)}return this},setZIndex:function(a){this.zindex=a;this.setStyle("z-index",a+2);if(this.shadow){this.shadow.setZIndex(a+1)}if(this.shim){this.shim.setStyle("z-index",a)}return this}})})();Ext.Shadow=function(h){Ext.apply(this,h);if(typeof this.mode!="string"){this.mode=this.defaultMode}var g=this.offset,k={h:0},a=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":k.w=0;k.l=k.t=g;k.t-=1;if(Ext.isIE){k.l-=this.offset+a;k.t-=this.offset+a;k.w-=a;k.h-=a;k.t+=1}break;case"sides":k.w=(g*2);k.l=-g;k.t=g-1;if(Ext.isIE){k.l-=(this.offset-a);k.t-=this.offset+a;k.l+=1;k.w-=(this.offset-a)*2;k.w-=a+1;k.h-=1}break;case"frame":k.w=k.h=(g*2);k.l=k.t=-g;k.t+=1;k.h-=2;if(Ext.isIE){k.l-=(this.offset-a);k.t-=(this.offset-a);k.l+=1;k.w-=(this.offset+a+1);k.h-=(this.offset+a);k.h+=1}break}this.adjusts=k};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(b){b=Ext.get(b);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=b.dom){this.el.insertBefore(b)}}this.el.setStyle("z-index",this.zIndex||parseInt(b.getStyle("z-index"),10)-1);if(Ext.isIE){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"}this.realign(b.getLeft(true),b.getTop(true),b.getWidth(),b.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(B,D,a,y){if(!this.el){return}var l=this.adjusts,t=this.el.dom,C=t.style,x=0,d=(a+l.w),z=(y+l.h),w=d+"px",h=z+"px",s,A;C.left=(B+l.l)+"px";C.top=(D+l.t)+"px";if(C.width!=w||C.height!=h){C.width=w;C.height=h;if(!Ext.isIE){s=t.childNodes;A=Math.max(0,(d-12))+"px";s[0].childNodes[1].style.width=A;s[1].childNodes[1].style.width=A;s[2].childNodes[1].style.width=A;s[1].style.height=Math.max(0,(z-12))+"px"}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(b){this.zIndex=b;if(this.el){this.el.setStyle("z-index",b)}}};Ext.Shadow.Pool=function(){var c=[],d=Ext.isIE?'<div class="x-ie-shadow"></div>':'<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';return{pull:function(){var a=c.shift();if(!a){a=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,d));a.autoBoxAdjust=false}return a},push:function(a){c.push(a)}}}();Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(h,o){if(typeof h=="object"){o=h.height;h=h.width}if(Ext.isDefined(h)&&Ext.isDefined(this.boxMinWidth)&&(h<this.boxMinWidth)){h=this.boxMinWidth}if(Ext.isDefined(o)&&Ext.isDefined(this.boxMinHeight)&&(o<this.boxMinHeight)){o=this.boxMinHeight}if(Ext.isDefined(h)&&Ext.isDefined(this.boxMaxWidth)&&(h>this.boxMaxWidth)){h=this.boxMaxWidth}if(Ext.isDefined(o)&&Ext.isDefined(this.boxMaxHeight)&&(o>this.boxMaxHeight)){o=this.boxMaxHeight}if(!this.boxReady){this.width=h;this.height=o;return this}if(this.cacheSizes!==false&&this.lastSize&&this.lastSize.width==h&&this.lastSize.height==o){return this}this.lastSize={width:h,height:o};var p=this.adjustSize(h,o),l=p.width,k=p.height,n;if(l!==undefined||k!==undefined){n=this.getResizeEl();if(!this.deferHeight&&l!==undefined&&k!==undefined){n.setSize(l,k)}else{if(!this.deferHeight&&k!==undefined){n.setHeight(k)}else{if(l!==undefined){n.setWidth(l)}}}this.onResize(l,k,h,o);this.fireEvent("resize",this,l,k,h,o)}return this},setWidth:function(b){return this.setSize(b)},setHeight:function(b){return this.setSize(undefined,b)},getSize:function(){return this.getResizeEl().getSize()},getWidth:function(){return this.getResizeEl().getWidth()},getHeight:function(){return this.getResizeEl().getHeight()},getOuterSize:function(){var b=this.getResizeEl();return{width:b.getWidth()+b.getMargins("lr"),height:b.getHeight()+b.getMargins("tb")}},getPosition:function(d){var c=this.getPositionEl();if(d===true){return[c.getLeft(true),c.getTop(true)]}return this.xy||c.getXY()},getBox:function(e){var g=this.getPosition(e);var d=this.getSize();d.x=g[0];d.y=g[1];return d},updateBox:function(b){this.setSize(b.width,b.height);this.setPagePosition(b.x,b.y);return this},getResizeEl:function(){return this.resizeEl||this.el},setAutoScroll:function(b){if(this.rendered){this.getContentTarget().setOverflow(b?"auto":"")}this.autoScroll=b;return this},setPosition:function(k,l){if(k&&typeof k[1]=="number"){l=k[1];k=k[0]}this.x=k;this.y=l;if(!this.boxReady){return this}var h=this.adjustPosition(k,l);var n=h.x,o=h.y;var p=this.getPositionEl();if(n!==undefined||o!==undefined){if(n!==undefined&&o!==undefined){p.setLeftTop(n,o)}else{if(n!==undefined){p.setLeft(n)}else{if(o!==undefined){p.setTop(o)}}}this.onPosition(n,o);this.fireEvent("move",this,n,o)}return this},setPagePosition:function(e,g){if(e&&typeof e[1]=="number"){g=e[1];e=e[0]}this.pageX=e;this.pageY=g;if(!this.boxReady){return}if(e===undefined||g===undefined){return}var d=this.getPositionEl().translatePoints(e,g);this.setPosition(d.left,d.top);return this},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}this.boxReady=true;Ext.isDefined(this.autoScroll)&&this.setAutoScroll(this.autoScroll);this.setSize(this.width,this.height);if(this.x||this.y){this.setPosition(this.x,this.y)}else{if(this.pageX||this.pageY){this.setPagePosition(this.pageX,this.pageY)}}},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.getResizeEl().getWidth(),this.autoHeight?undefined:this.getResizeEl().getHeight());return this},onResize:function(h,e,g,k){},onPosition:function(d,c){},adjustSize:function(d,c){if(this.autoWidth){d="auto"}if(this.autoHeight){c="auto"}return{width:d,height:c}},adjustPosition:function(d,c){return{x:d,y:c}}});Ext.reg("box",Ext.BoxComponent);Ext.Spacer=Ext.extend(Ext.BoxComponent,{autoEl:"div"});Ext.reg("spacer",Ext.Spacer);Ext.SplitBar=function(n,k,g,l,h){this.el=Ext.get(n,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(k,true);this.orientation=g||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!h){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(h).dom}this.dd=new Ext.dd.DDProxy(this.el.dom.id,"XSplitBars",{dragElId:this.proxy.id});this.dd.b4StartDrag=this.onStartProxyDrag.createDelegate(this);this.dd.endDrag=this.onEndProxyDrag.createDelegate(this);this.dragSpecs={};this.adapter=new Ext.SplitBar.BasicLayoutAdapter();this.adapter.init(this);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.placement=l||(this.el.getX()>this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass("x-splitbar-h")}else{this.placement=l||(this.el.getY()>this.resizingEl.getY()?Ext.SplitBar.TOP:Ext.SplitBar.BOTTOM);this.el.addClass("x-splitbar-v")}this.addEvents("resize","moved","beforeresize","beforeapply");Ext.SplitBar.superclass.constructor.call(this)};Ext.extend(Ext.SplitBar,Ext.util.Observable,{onStartProxyDrag:function(h,k){this.fireEvent("beforeresize",this);this.overlay=Ext.DomHelper.append(document.body,{cls:"x-drag-overlay",html:"&#160;"},true);this.overlay.unselectable();this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();Ext.get(this.proxy).setDisplayed("block");var n=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var l=n-this.activeMinSize;var g=Math.max(this.activeMaxSize-n,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?l:g,this.placement==Ext.SplitBar.LEFT?g:l,this.tickSize);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?l:g,this.placement==Ext.SplitBar.TOP?g:l,this.tickSize)}this.dragSpecs.startSize=n;this.dragSpecs.startPoint=[h,k];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,h,k)},onEndProxyDrag:function(g){Ext.get(this.proxy).setDisplayed(false);var d=Ext.lib.Event.getXY(g);if(this.overlay){Ext.destroy(this.overlay);delete this.overlay}var e;if(this.orientation==Ext.SplitBar.HORIZONTAL){e=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?d[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-d[0])}else{e=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?d[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-d[1])}e=Math.min(Math.max(e,this.activeMinSize),this.activeMaxSize);if(e!=this.dragSpecs.startSize){if(this.fireEvent("beforeapply",this,e)!==false){this.adapter.setElementSize(this,e);this.fireEvent("moved",this,e);this.fireEvent("resize",this,e)}}},getAdapter:function(){return this.adapter},setAdapter:function(b){this.adapter=b;this.adapter.init(this)},getMinimumSize:function(){return this.minSize},setMinimumSize:function(b){this.minSize=b},getMaximumSize:function(){return this.maxSize},setMaximumSize:function(b){this.maxSize=b},setCurrentSize:function(c){var d=this.animate;this.animate=false;this.adapter.setElementSize(this,c);this.animate=d},destroy:function(b){Ext.destroy(this.shim,Ext.get(this.proxy));this.dd.unreg();if(b){this.el.remove()}this.purgeListeners()}});Ext.SplitBar.createProxy=function(d){var g=new Ext.Element(document.createElement("div"));document.body.appendChild(g.dom);g.unselectable();var e="x-splitbar-proxy";g.addClass(e+" "+(d==Ext.SplitBar.HORIZONTAL?e+"-h":e+"-v"));return g.dom};Ext.SplitBar.BasicLayoutAdapter=function(){};Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(b){},getElementSize:function(b){if(b.orientation==Ext.SplitBar.HORIZONTAL){return b.resizingEl.getWidth()}else{return b.resizingEl.getHeight()}},setElementSize:function(d,e,g){if(d.orientation==Ext.SplitBar.HORIZONTAL){if(!d.animate){d.resizingEl.setWidth(e);if(g){g(d,e)}}else{d.resizingEl.setWidth(e,true,0.1,g,"easeOut")}}else{if(!d.animate){d.resizingEl.setHeight(e);if(g){g(d,e)}}else{d.resizingEl.setHeight(e,true,0.1,g,"easeOut")}}}};Ext.SplitBar.AbsoluteLayoutAdapter=function(b){this.basic=new Ext.SplitBar.BasicLayoutAdapter();this.container=Ext.get(b)};Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(b){this.basic.init(b)},getElementSize:function(b){return this.basic.getElementSize(b)},setElementSize:function(d,e,g){this.basic.setElementSize(d,e,this.moveSplitter.createDelegate(this,[d]))},moveSplitter:function(d){var c=Ext.SplitBar;switch(d.placement){case c.LEFT:d.el.setX(d.resizingEl.getRight());break;case c.RIGHT:d.el.setStyle("right",(this.container.getWidth()-d.resizingEl.getLeft())+"px");break;case c.TOP:d.el.setY(d.resizingEl.getBottom());break;case c.BOTTOM:d.el.setY(d.resizingEl.getTop()-d.el.getHeight());break}}};Ext.SplitBar.VERTICAL=1;Ext.SplitBar.HORIZONTAL=2;Ext.SplitBar.LEFT=1;Ext.SplitBar.RIGHT=2;Ext.SplitBar.TOP=3;Ext.SplitBar.BOTTOM=4;Ext.Container=Ext.extend(Ext.BoxComponent,{bufferResize:50,autoDestroy:true,forceLayout:false,defaultType:"panel",resizeEvent:"resize",bubbleEvents:["add","remove"],initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");var b=this.items;if(b){delete this.items;this.add(b)}},initItems:function(){if(!this.items){this.items=new Ext.util.MixedCollection(false,this.getComponentId);this.getLayout()}},setLayout:function(b){if(this.layout&&this.layout!=b){this.layout.setContainer(null)}this.layout=b;this.initItems();b.setContainer(this)},afterRender:function(){Ext.Container.superclass.afterRender.call(this);if(!this.layout){this.layout="auto"}if(Ext.isObject(this.layout)&&!this.layout.layout){this.layoutConfig=this.layout;this.layout=this.layoutConfig.type}if(Ext.isString(this.layout)){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);if(this.activeItem!==undefined&&this.layout.setActiveItem){var b=this.activeItem;delete this.activeItem;this.layout.setActiveItem(b)}if(!this.ownerCt){this.doLayout(false,true)}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(b){return b.getItemId()},add:function(c){this.initItems();var l=arguments.length>1;if(l||Ext.isArray(c)){var h=[];Ext.each(l?arguments:c,function(a){h.push(this.add(a))},this);return h}var k=this.lookupComponent(this.applyDefaults(c));var n=this.items.length;if(this.fireEvent("beforeadd",this,k,n)!==false&&this.onBeforeAdd(k)!==false){this.items.add(k);k.onAdded(this,n);this.onAdd(k);this.fireEvent("add",this,k,n)}return k},onAdd:function(b){},onAdded:function(d,c){this.ownerCt=d;this.initRef();this.cascade(function(a){a.initRef()});this.fireEvent("added",this,d,c)},insert:function(q,c){var r=arguments,o=r.length,l=[],p,n;this.initItems();if(o>2){for(p=o-1;p>=1;--p){l.push(this.insert(q,r[p]))}return l}n=this.lookupComponent(this.applyDefaults(c));q=Math.min(q,this.items.length);if(this.fireEvent("beforeadd",this,n,q)!==false&&this.onBeforeAdd(n)!==false){if(n.ownerCt==this){this.items.remove(n)}this.items.insert(q,n);n.onAdded(this,q);this.onAdd(n);this.fireEvent("add",this,n,q)}return n},applyDefaults:function(c){var d=this.defaults;if(d){if(Ext.isFunction(d)){d=d.call(this,c)}if(Ext.isString(c)){c=Ext.ComponentMgr.get(c);Ext.apply(c,d)}else{if(!c.events){Ext.applyIf(c.isAction?c.initialConfig:c,d)}else{Ext.apply(c,d)}}}return c},onBeforeAdd:function(b){if(b.ownerCt){b.ownerCt.remove(b,false)}if(this.hideBorders===true){b.border=(b.border===true)}},remove:function(e,c){this.initItems();var g=this.getComponent(e);if(g&&this.fireEvent("beforeremove",this,g)!==false){this.doRemove(g,c);this.fireEvent("remove",this,g)}return g},onRemove:function(b){},doRemove:function(h,k){var c=this.layout,g=c&&this.rendered;if(g){c.onRemove(h)}this.items.remove(h);h.onRemoved();this.onRemove(h);if(k===true||(k!==false&&this.autoDestroy)){h.destroy()}if(g){c.afterRemove(h)}},removeAll:function(p){this.initItems();var n,l=[],h=[];this.items.each(function(a){l.push(a)});for(var o=0,k=l.length;o<k;++o){n=l[o];this.remove(n,p);if(n.ownerCt!==this){h.push(n)}}return h},getComponent:function(b){if(Ext.isObject(b)){b=b.getItemId()}return this.items.get(b)},lookupComponent:function(b){if(Ext.isString(b)){return Ext.ComponentMgr.get(b)}else{if(!b.events){return this.createComponent(b)}}return b},createComponent:function(e,g){if(e.render){return e}var c=Ext.create(Ext.apply({ownerCt:this},e),g||this.defaultType);delete c.initialConfig.ownerCt;delete c.ownerCt;return c},canLayout:function(){var b=this.getVisibilityEl();return b&&b.dom&&!b.isStyle("display","none")},doLayout:function(r,s){var o=this.rendered,p=s||this.forceLayout;if(this.collapsed||!this.canLayout()){this.deferLayout=this.deferLayout||!r;if(!p){return}r=r&&!this.deferLayout}else{delete this.deferLayout}if(o&&this.layout){this.layout.layout()}if(r!==true&&this.items){var t=this.items.items;for(var c=0,n=t.length;c<n;c++){var q=t[c];if(q.doLayout){q.doLayout(false,p)}}}if(o){this.onLayout(r,p)}this.hasLayout=true;delete this.forceLayout},onLayout:Ext.emptyFn,shouldBufferLayout:function(){var b=this.hasLayout;if(this.ownerCt){return b?!this.hasLayoutPending():false}return b},hasLayoutPending:function(){var b=false;this.ownerCt.bubble(function(a){if(a.layoutPending){b=true;return false}});return b},onShow:function(){Ext.Container.superclass.onShow.call(this);if(Ext.isDefined(this.deferLayout)){delete this.deferLayout;this.doLayout(true)}},getLayout:function(){if(!this.layout){var b=new Ext.layout.AutoLayout(this.layoutConfig);this.setLayout(b)}return this.layout},beforeDestroy:function(){var b;if(this.items){while(b=this.items.first()){this.doRemove(b,true)}}if(this.monitorResize){Ext.EventManager.removeResizeListener(this.doLayout,this)}Ext.destroy(this.layout);Ext.Container.superclass.beforeDestroy.call(this)},cascade:function(l,n,h){if(l.apply(n||this,h||[this])!==false){if(this.items){var o=this.items.items;for(var p=0,k=o.length;p<k;p++){if(o[p].cascade){o[p].cascade(l,n,h)}else{l.apply(n||o[p],h||[o[p]])}}}}return this},findById:function(g){var e=null,d=this;this.cascade(function(a){if(d!=a&&a.id===g){e=a;return false}});return e},findByType:function(c,d){return this.findBy(function(a){return a.isXType(c,d)})},find:function(c,d){return this.findBy(function(a){return a[c]===d})},findBy:function(h,k){var g=[],e=this;this.cascade(function(a){if(e!=a&&h.call(k||a,a,e)===true){g.push(a)}});return g},get:function(b){return this.getComponent(b)}});Ext.Container.LAYOUTS={};Ext.reg("container",Ext.Container);Ext.layout.ContainerLayout=Ext.extend(Object,{monitorResize:false,activeItem:null,constructor:function(b){this.id=Ext.id(null,"ext-layout-");Ext.apply(this,b)},type:"container",IEMeasureHack:function(p,s){var u=p.dom.childNodes,t=u.length,c,d=[],e,r,q;for(r=0;r<t;r++){c=u[r];e=Ext.get(c);if(e){d[r]=e.getStyle("display");e.setStyle({display:"none"})}}q=p?p.getViewSize(s):{};for(r=0;r<t;r++){c=u[r];e=Ext.get(c);if(e){e.setStyle({display:d[r]})}}return q},getLayoutTargetSize:Ext.EmptyFn,layout:function(){var d=this.container,c=d.getLayoutTarget();if(!(this.hasLayout||Ext.isEmpty(this.targetCls))){c.addClass(this.targetCls)}this.onLayout(d,c);d.fireEvent("afterlayout",d,this)},onLayout:function(d,c){this.renderAll(d,c)},isValidParent:function(c,d){return d&&c.getPositionEl().dom.parentNode==(d.dom||d)},renderAll:function(o,n){var c=o.items.items,p,l,k=c.length;for(p=0;p<k;p++){l=c[p];if(l&&(!l.rendered||!this.isValidParent(l,n))){this.renderItem(l,p,n)}}},renderItem:function(g,e,c){if(g){if(!g.rendered){g.render(c,e);this.configureItem(g)}else{if(!this.isValidParent(g,c)){if(Ext.isNumber(e)){e=c.dom.childNodes[e]}c.dom.insertBefore(g.getPositionEl().dom,e||null);g.container=c;this.configureItem(g)}}}},getRenderedItems:function(p){var q=p.getLayoutTarget(),o=p.items.items,l=o.length,r,n,c=[];for(r=0;r<l;r++){if((n=o[r]).rendered&&this.isValidParent(n,q)&&n.shouldLayout!==false){c.push(n)}}return c},configureItem:function(c){if(this.extraCls){var d=c.getPositionEl?c.getPositionEl():c;d.addClass(this.extraCls)}if(c.doLayout&&this.forceLayout){c.doLayout()}if(this.renderHidden&&c!=this.activeItem){c.hide()}},onRemove:function(c){if(this.activeItem==c){delete this.activeItem}if(c.rendered&&this.extraCls){var d=c.getPositionEl?c.getPositionEl():c;d.removeClass(this.extraCls)}},afterRemove:function(b){if(b.removeRestore){b.removeMode="container";delete b.removeRestore}},onResize:function(){var d=this.container,b;if(d.collapsed){return}if(b=d.bufferResize&&d.shouldBufferLayout()){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.runLayout,this);this.resizeBuffer=Ext.isNumber(b)?b:50}d.layoutPending=true;this.resizeTask.delay(this.resizeBuffer)}else{this.runLayout()}},runLayout:function(){var b=this.container;this.layout();b.onLayout();delete b.layoutPending},setContainer:function(c){if(this.monitorResize&&c!=this.container){var d=this.container;if(d){d.un(d.resizeEvent,this.onResize,this)}if(c){c.on(c.resizeEvent,this.onResize,this)}}this.container=c},parseMargins:function(d){if(Ext.isNumber(d)){d=d.toString()}var g=d.split(" "),e=g.length;if(e==1){g[1]=g[2]=g[3]=g[0]}else{if(e==2){g[2]=g[0];g[3]=g[1]}else{if(e==3){g[3]=g[1]}}}return{top:parseInt(g[0],10)||0,right:parseInt(g[1],10)||0,bottom:parseInt(g[2],10)||0,left:parseInt(g[3],10)||0}},fieldTpl:(function(){var b=new Ext.Template('<div class="x-form-item {itemCls}" tabIndex="-1">','<label for="{id}" style="{labelStyle}" class="x-form-item-label">{label}{labelSeparator}</label>','<div class="x-form-element" id="x-form-el-{id}" style="{elementStyle}">','</div><div class="{clearCls}"></div>',"</div>");b.disableFormats=true;return b.compile()})(),destroy:function(){if(this.resizeTask&&this.resizeTask.cancel){this.resizeTask.cancel()}if(this.container){this.container.un(this.container.resizeEvent,this.onResize,this)}if(!Ext.isEmpty(this.targetCls)){var b=this.container.getLayoutTarget();if(b){b.removeClass(this.targetCls)}}}});Ext.layout.AutoLayout=Ext.extend(Ext.layout.ContainerLayout,{type:"auto",monitorResize:true,onLayout:function(p,n){Ext.layout.AutoLayout.superclass.onLayout.call(this,p,n);var o=this.getRenderedItems(p),k=o.length,c,l;for(c=0;c<k;c++){l=o[c];if(l.doLayout){l.doLayout(true)}}}});Ext.Container.LAYOUTS.auto=Ext.layout.AutoLayout;Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"fit",getLayoutTargetSize:function(){var b=this.container.getLayoutTarget();if(!b){return{}}return b.getStyleSize()},onLayout:function(d,c){Ext.layout.FitLayout.superclass.onLayout.call(this,d,c);if(!d.collapsed){this.setItemSize(this.activeItem||d.items.itemAt(0),this.getLayoutTargetSize())}},setItemSize:function(c,d){if(c&&d.height>0){c.setSize(d)}}});Ext.Container.LAYOUTS.fit=Ext.layout.FitLayout;Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,layoutOnCardChange:false,renderHidden:true,type:"card",setActiveItem:function(h){var g=this.activeItem,e=this.container;h=e.getComponent(h);if(h&&g!=h){if(g){g.hide();if(g.hidden!==true){return false}g.fireEvent("deactivate",g)}var k=h.doLayout&&(this.layoutOnCardChange||!h.rendered);this.activeItem=h;delete h.deferLayout;h.show();this.layout();if(k){h.doLayout()}h.fireEvent("activate",h)}},renderAll:function(d,c){if(this.deferredRender){this.renderItem(this.activeItem,undefined,c)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,d,c)}}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"anchor",defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,getLayoutTargetSize:function(){var c=this.container.getLayoutTarget(),d={};if(c){d=c.getViewSize();if(Ext.isIE&&Ext.isStrict&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},onLayout:function(I,y){Ext.layout.AnchorLayout.superclass.onLayout.call(this,I,y);var F=this.getLayoutTargetSize(),K=F.width,G=F.height,E=y.getStyle("overflow"),H=this.getRenderedItems(I),B=H.length,N=[],L,S,z,J,M,Q,O,P,A=0,C,R;if(K<20&&G<20){return}if(I.anchorSize){if(typeof I.anchorSize=="number"){S=I.anchorSize}else{S=I.anchorSize.width;z=I.anchorSize.height}}else{S=I.initialConfig.width;z=I.initialConfig.height}for(C=0;C<B;C++){J=H[C];R=J.getPositionEl();if(!J.anchor&&J.items&&!Ext.isNumber(J.width)&&!(Ext.isIE6&&Ext.isStrict)){J.anchor=this.defaultAnchor}if(J.anchor){M=J.anchorSpec;if(!M){P=J.anchor.split(" ");J.anchorSpec=M={right:this.parseAnchor(P[0],J.initialConfig.width,S),bottom:this.parseAnchor(P[1],J.initialConfig.height,z)}}Q=M.right?this.adjustWidthAnchor(M.right(K)-R.getMargins("lr"),J):undefined;O=M.bottom?this.adjustHeightAnchor(M.bottom(G)-R.getMargins("tb"),J):undefined;if(Q||O){N.push({component:J,width:Q||undefined,height:O||undefined})}}}for(C=0,B=N.length;C<B;C++){L=N[C];L.component.setSize(L.width,L.height)}if(E&&E!="hidden"&&!this.adjustmentPass){var D=this.getLayoutTargetSize();if(D.width!=F.width||D.height!=F.height){this.adjustmentPass=true;this.onLayout(I,y)}}delete this.adjustmentPass},parseAnchor:function(p,k,a){if(p&&p!="none"){var n;if(this.parseAnchorRE.test(p)){var l=a-k;return function(b){if(b!==n){n=b;return b-l}}}else{if(p.indexOf("%")!=-1){var o=parseFloat(p.replace("%",""))*0.01;return function(b){if(b!==n){n=b;return Math.floor(b*o)}}}else{p=parseInt(p,10);if(!isNaN(p)){return function(b){if(b!==n){n=b;return b+p}}}}}}return false},adjustWidthAnchor:function(c,d){return c},adjustHeightAnchor:function(c,d){return c}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"column",extraCls:"x-column",scrollOffset:0,targetCls:"x-column-layout-ct",isValidParent:function(c,d){return this.innerCt&&c.getPositionEl().dom.parentNode==this.innerCt.dom},getLayoutTargetSize:function(){var c=this.container.getLayoutTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&Ext.isStrict&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},renderAll:function(d,c){if(!this.innerCt){this.innerCt=c.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}Ext.layout.ColumnLayout.superclass.renderAll.call(this,d,this.innerCt)},onLayout:function(z,w){var y=z.items.items,x=y.length,u,B,C,t=[];this.renderAll(z,w);var D=this.getLayoutTargetSize();if(D.width<1&&D.height<1){return}var h=D.width-this.scrollOffset,A=D.height,c=h;this.innerCt.setWidth(h);for(B=0;B<x;B++){u=y[B];C=u.getPositionEl().getMargins("lr");t[B]=C;if(!u.columnWidth){c-=(u.getWidth()+C)}}c=c<0?0:c;for(B=0;B<x;B++){u=y[B];C=t[B];if(u.columnWidth){u.setSize(Math.floor(u.columnWidth*c)-C)}}if(Ext.isIE){if(B=w.getStyle("overflow")&&B!="hidden"&&!this.adjustmentPass){var v=this.getLayoutTargetSize();if(v.width!=D.width){this.adjustmentPass=true;this.onLayout(z,w)}}}delete this.adjustmentPass}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,type:"border",targetCls:"x-border-layout-ct",getLayoutTargetSize:function(){var b=this.container.getLayoutTarget();return b?b.getViewSize():{}},onLayout:function(Z,c){var Y,Q,w,V,e=Z.items.items,P=e.length;if(!this.rendered){Y=[];for(Q=0;Q<P;Q++){w=e[Q];V=w.region;if(w.collapsed){Y.push(w)}w.collapsed=false;if(!w.rendered){w.render(c,Q);w.getPositionEl().addClass("x-border-panel")}this[V]=V!="center"&&w.split?new Ext.layout.BorderLayout.SplitRegion(this,w.initialConfig,V):new Ext.layout.BorderLayout.Region(this,w.initialConfig,V);this[V].render(c,w)}this.rendered=true}var n=this.getLayoutTargetSize();if(n.width<20||n.height<20){if(Y){this.restoreCollapsed=Y}return}else{if(this.restoreCollapsed){Y=this.restoreCollapsed;delete this.restoreCollapsed}}var M=n.width,N=n.height,O=M,S=N,T=0,R=0,b=this.north,K=this.south,W=this.west,L=this.east,w=this.center,h,U,aa,s;if(!w&&Ext.layout.BorderLayout.WARN!==false){throw"No center region defined in BorderLayout "+Z.id}if(b&&b.isVisible()){h=b.getSize();U=b.getMargins();h.width=M-(U.left+U.right);h.x=U.left;h.y=U.top;T=h.height+h.y+U.bottom;S-=T;b.applyLayout(h)}if(K&&K.isVisible()){h=K.getSize();U=K.getMargins();h.width=M-(U.left+U.right);h.x=U.left;s=(h.height+U.top+U.bottom);h.y=N-s+U.top;S-=s;K.applyLayout(h)}if(W&&W.isVisible()){h=W.getSize();U=W.getMargins();h.height=S-(U.top+U.bottom);h.x=U.left;h.y=T+U.top;aa=(h.width+U.left+U.right);R+=aa;O-=aa;W.applyLayout(h)}if(L&&L.isVisible()){h=L.getSize();U=L.getMargins();h.height=S-(U.top+U.bottom);aa=(h.width+U.left+U.right);h.x=M-aa+U.left;h.y=T+U.top;O-=aa;L.applyLayout(h)}if(w){U=w.getMargins();var X={x:R+U.left,y:T+U.top,width:O-(U.left+U.right),height:S-(U.top+U.bottom)};w.applyLayout(X)}if(Y){for(Q=0,P=Y.length;Q<P;Q++){Y[Q].collapse(false)}}if(Ext.isIE&&Ext.isStrict){c.repaint()}if(Q=c.getStyle("overflow")&&Q!="hidden"&&!this.adjustmentPass){var ab=this.getLayoutTargetSize();if(ab.width!=n.width||ab.height!=n.height){this.adjustmentPass=true;this.onLayout(Z,c)}}delete this.adjustmentPass},destroy:function(){var d=["north","south","east","west"],e,g;for(e=0;e<d.length;e++){g=this[d[e]];if(g){if(g.destroy){g.destroy()}else{if(g.split){g.split.destroy(true)}}}}Ext.layout.BorderLayout.superclass.destroy.call(this)}});Ext.layout.BorderLayout.Region=function(d,e,g){Ext.apply(this,e);this.layout=d;this.position=g;this.state={};if(typeof this.margins=="string"){this.margins=this.layout.parseMargins(this.margins)}this.margins=Ext.applyIf(this.margins||{},this.defaultMargins);if(this.collapsible){if(typeof this.cmargins=="string"){this.cmargins=this.layout.parseMargins(this.cmargins)}if(this.collapseMode=="mini"&&!this.cmargins){this.cmargins={left:0,top:0,right:0,bottom:0}}else{this.cmargins=Ext.applyIf(this.cmargins||{},g=="north"||g=="south"?this.defaultNSCMargins:this.defaultEWCMargins)}}};Ext.layout.BorderLayout.Region.prototype={collapsible:false,split:false,floatable:true,minWidth:50,minHeight:50,defaultMargins:{left:0,top:0,right:0,bottom:0},defaultNSCMargins:{left:5,top:5,right:5,bottom:5},defaultEWCMargins:{left:5,top:0,right:5,bottom:0},floatingZIndex:100,isCollapsed:false,render:function(e,k){this.panel=k;k.el.enableDisplayMode();this.targetEl=e;this.el=k.el;var g=k.getState,h=this.position;k.getState=function(){return Ext.apply(g.call(k)||{},this.state)}.createDelegate(this);if(h!="center"){k.allowQueuedExpand=false;k.on({beforecollapse:this.beforeCollapse,collapse:this.onCollapse,beforeexpand:this.beforeExpand,expand:this.onExpand,hide:this.onHide,show:this.onShow,scope:this});if(this.collapsible||this.floatable){k.collapseEl="el";k.slideAnchor=this.getSlideAnchor()}if(k.tools&&k.tools.toggle){k.tools.toggle.addClass("x-tool-collapse-"+h);k.tools.toggle.addClassOnOver("x-tool-collapse-"+h+"-over")}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var c=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');c.disableFormats=true;c.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=c}this.collapsedEl=this.targetEl.createChild({cls:"x-layout-collapsed x-layout-collapsed-"+this.position,id:this.panel.id+"-xcollapsed"});this.collapsedEl.enableDisplayMode("block");if(this.collapseMode=="mini"){this.collapsedEl.addClass("x-layout-cmini-"+this.position);this.miniCollapsedEl=this.collapsedEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:"&#160;"});this.miniCollapsedEl.addClassOnOver("x-layout-mini-over");this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.onExpandClick,this,{stopEvent:true})}else{if(this.collapsible!==false&&!this.hideCollapseTool){var d=this.expandToolEl=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);d.addClassOnOver("x-tool-expand-"+this.position+"-over");d.on("click",this.onExpandClick,this,{stopEvent:true})}if(this.floatable!==false||this.titleCollapse){this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this[this.floatable?"collapseClick":"onExpandClick"],this)}}}return this.collapsedEl},onExpandClick:function(b){if(this.isSlid){this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(b){this.panel.collapse()},beforeCollapse:function(g,e){this.lastAnim=e;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();var d=this.panel.getEl();this.originalZIndex=d.getStyle("z-index");d.setStyle("z-index",100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(b){this.panel.el.setStyle("z-index",1);if(this.lastAnim===false||this.panel.animCollapse===false){this.getCollapsedEl().dom.style.visibility="visible"}else{this.getCollapsedEl().slideIn(this.panel.slideAnchor,{duration:0.2})}this.state.collapsed=true;this.panel.saveState()},beforeExpand:function(d){if(this.isSlid){this.afterSlideIn()}var c=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,c.getHeight())}else{this.panel.setSize(c.getWidth(),undefined)}c.hide();c.dom.style.visibility="hidden";this.panel.el.setStyle("z-index",this.floatingZIndex)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle("z-index",this.originalZIndex);this.state.collapsed=false;this.panel.saveState()},collapseClick:function(b){if(this.isSlid){b.stopPropagation();this.slideIn()}else{b.stopPropagation();this.slideOut()}},onHide:function(){if(this.isCollapsed){this.getCollapsedEl().hide()}else{if(this.splitEl){this.splitEl.hide()}}},onShow:function(){if(this.isCollapsed){this.getCollapsedEl().show()}else{if(this.splitEl){this.splitEl.show()}}},isVisible:function(){return !this.panel.hidden},getMargins:function(){return this.isCollapsed&&this.cmargins?this.cmargins:this.margins},getSize:function(){return this.isCollapsed?this.getCollapsedEl().getSize():this.panel.getSize()},setPanel:function(b){this.panel=b},getMinWidth:function(){return this.minWidth},getMinHeight:function(){return this.minHeight},applyLayoutCollapsed:function(d){var c=this.getCollapsedEl();c.setLeftTop(d.x,d.y);c.setSize(d.width,d.height)},applyLayout:function(b){if(this.isCollapsed){this.applyLayoutCollapsed(b)}else{this.panel.setPosition(b.x,b.y);this.panel.setSize(b.width,b.height)}},beforeSlide:function(){this.panel.beforeEffect()},afterSlide:function(){this.panel.afterEffect()},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){this.autoHideSlideTask=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(b){if(!b.within(this.el,true)){this.autoHideSlideTask.delay(500)}},mouseover:function(b){this.autoHideSlideTask.cancel()},scope:this}}this.el.on(this.autoHideHd);this.collapsedEl.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.un("mouseover",this.autoHideHd.mouseover);this.collapsedEl.un("mouseout",this.autoHideHd.mouseout);this.collapsedEl.un("mouseover",this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un("click",this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return}this.isSlid=true;var d=this.panel.tools,g,e;if(d&&d.toggle){d.toggle.hide()}this.el.show();e=this.panel.collapsed;this.panel.collapsed=false;if(this.position=="east"||this.position=="west"){g=this.panel.deferHeight;this.panel.deferHeight=false;this.panel.setSize(undefined,this.collapsedEl.getHeight());this.panel.deferHeight=g}else{this.panel.setSize(this.collapsedEl.getWidth(),undefined)}this.panel.collapsed=e;this.restoreLT=[this.el.dom.style.left,this.el.dom.style.top];this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());this.el.setStyle("z-index",this.floatingZIndex+2);this.panel.el.replaceClass("x-panel-collapsed","x-panel-floating");if(this.animFloat!==false){this.beforeSlide();this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)},scope:this,block:true})}else{this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)}},afterSlideIn:function(){this.clearAutoHide();this.isSlid=false;this.clearMonitor();this.el.setStyle("z-index","");this.panel.el.replaceClass("x-panel-floating","x-panel-collapsed");this.el.dom.style.left=this.restoreLT[0];this.el.dom.style.top=this.restoreLT[1];var b=this.panel.tools;if(b&&b.toggle){b.toggle.show()}},slideIn:function(b){if(!this.isSlid||this.el.hasActiveFx()){Ext.callback(b);return}this.isSlid=false;if(this.animFloat!==false){this.beforeSlide();this.el.slideOut(this.getSlideAnchor(),{callback:function(){this.el.hide();this.afterSlide();this.afterSlideIn();Ext.callback(b)},scope:this,block:true})}else{this.el.hide();this.afterSlideIn()}},slideInIf:function(b){if(!b.within(this.el)){this.slideIn()}},anchors:{west:"left",east:"right",north:"top",south:"bottom"},sanchors:{west:"l",east:"r",north:"t",south:"b"},canchors:{west:"tl-tr",east:"tr-tl",north:"tl-bl",south:"bl-tl"},getAnchor:function(){return this.anchors[this.position]},getCollapseAnchor:function(){return this.canchors[this.position]},getSlideAnchor:function(){return this.sanchors[this.position]},getAlignAdj:function(){var b=this.cmargins;switch(this.position){case"west":return[0,0];break;case"east":return[0,0];break;case"north":return[0,0];break;case"south":return[0,0];break}},getExpandAdj:function(){var c=this.collapsedEl,d=this.cmargins;switch(this.position){case"west":return[-(d.right+c.getWidth()+d.left),0];break;case"east":return[d.right+c.getWidth()+d.left,0];break;case"north":return[0,-(d.top+d.bottom+c.getHeight())];break;case"south":return[0,d.top+d.bottom+c.getHeight()];break}},destroy:function(){if(this.autoHideSlideTask&&this.autoHideSlideTask.cancel){this.autoHideSlideTask.cancel()}Ext.destroyMembers(this,"miniCollapsedEl","collapsedEl","expandToolEl")}};Ext.layout.BorderLayout.SplitRegion=function(d,e,g){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,d,e,g);this.applyLayout=this.applyFns[g]};Ext.extend(Ext.layout.BorderLayout.SplitRegion,Ext.layout.BorderLayout.Region,{splitTip:"Drag to resize.",collapsibleSplitTip:"Drag to resize. Double click to hide.",useSplitTips:false,splitSettings:{north:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.TOP,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},south:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.BOTTOM,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},east:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.RIGHT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"},west:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.LEFT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"}},applyFns:{west:function(k){if(this.isCollapsed){return this.applyLayoutCollapsed(k)}var h=this.splitEl.dom,e=h.style;this.panel.setPosition(k.x,k.y);var g=h.offsetWidth;e.left=(k.x+k.width-g)+"px";e.top=(k.y)+"px";e.height=Math.max(0,k.height)+"px";this.panel.setSize(k.width-g,k.height)},east:function(k){if(this.isCollapsed){return this.applyLayoutCollapsed(k)}var h=this.splitEl.dom,e=h.style;var g=h.offsetWidth;this.panel.setPosition(k.x+g,k.y);e.left=(k.x)+"px";e.top=(k.y)+"px";e.height=Math.max(0,k.height)+"px";this.panel.setSize(k.width-g,k.height)},north:function(k){if(this.isCollapsed){return this.applyLayoutCollapsed(k)}var h=this.splitEl.dom,e=h.style;var g=h.offsetHeight;this.panel.setPosition(k.x,k.y);e.left=(k.x)+"px";e.top=(k.y+k.height-g)+"px";e.width=Math.max(0,k.width)+"px";this.panel.setSize(k.width,k.height-g)},south:function(k){if(this.isCollapsed){return this.applyLayoutCollapsed(k)}var h=this.splitEl.dom,e=h.style;var g=h.offsetHeight;this.panel.setPosition(k.x,k.y+g);e.left=(k.x)+"px";e.top=(k.y)+"px";e.width=Math.max(0,k.width)+"px";this.panel.setSize(k.width,k.height-g)}},render:function(g,k){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,g,k);var h=this.position;this.splitEl=g.createChild({cls:"x-layout-split x-layout-split-"+h,html:"&#160;",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+h,html:"&#160;"});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var e=this.splitSettings[h];this.split=new Ext.SplitBar(this.splitEl.dom,k.el,e.orientation);this.split.tickSize=this.tickSize;this.split.placement=e.placement;this.split.getMaximumSize=this[e.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[e.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[e.maxProp];if(k.hidden){this.splitEl.hide()}if(this.useSplitTips){this.splitEl.dom.title=this.collapsible?this.collapsibleSplitTip:this.splitTip}if(this.collapsible){this.splitEl.on("dblclick",this.onCollapseClick,this)}},getSize:function(){if(this.isCollapsed){return this.collapsedEl.getSize()}var b=this.panel.getSize();if(this.position=="north"||this.position=="south"){b.height+=this.splitEl.dom.offsetHeight}else{b.width+=this.splitEl.dom.offsetWidth}return b},getHMaxSize:function(){var c=this.maxSize||10000;var d=this.layout.center;return Math.min(c,(this.el.getWidth()+d.el.getWidth())-d.getMinWidth())},getVMaxSize:function(){var c=this.maxSize||10000;var d=this.layout.center;return Math.min(c,(this.el.getHeight()+d.el.getHeight())-d.getMinHeight())},onSplitMove:function(d,e){var g=this.panel.getSize();this.lastSplitSize=e;if(this.position=="north"||this.position=="south"){this.panel.setSize(g.width,e);this.state.height=e}else{this.panel.setSize(e,g.height);this.state.width=e}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split},destroy:function(){Ext.destroy(this.miniSplitEl,this.split,this.splitEl);Ext.layout.BorderLayout.SplitRegion.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.border=Ext.layout.BorderLayout;Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:":",trackLabels:true,type:"form",onRemove:function(g){Ext.layout.FormLayout.superclass.onRemove.call(this,g);if(this.trackLabels){g.un("show",this.onFieldShow,this);g.un("hide",this.onFieldHide,this)}var c=g.getPositionEl(),e=g.getItemCt&&g.getItemCt();if(g.rendered&&e){if(c&&c.dom){c.insertAfter(e)}Ext.destroy(e);Ext.destroyMembers(g,"label","itemCt");if(g.customItemCt){Ext.destroyMembers(g,"getItemCt","customItemCt")}}},setContainer:function(d){Ext.layout.FormLayout.superclass.setContainer.call(this,d);if(d.labelAlign){d.addClass("x-form-label-"+d.labelAlign)}if(d.hideLabels){Ext.apply(this,{labelStyle:"display:none",elementStyle:"padding-left:0;",labelAdjust:0})}else{this.labelSeparator=Ext.isDefined(d.labelSeparator)?d.labelSeparator:this.labelSeparator;d.labelWidth=d.labelWidth||100;if(Ext.isNumber(d.labelWidth)){var c=Ext.isNumber(d.labelPad)?d.labelPad:5;Ext.apply(this,{labelAdjust:d.labelWidth+c,labelStyle:"width:"+d.labelWidth+"px;",elementStyle:"padding-left:"+(d.labelWidth+c)+"px"})}if(d.labelAlign=="top"){Ext.apply(this,{labelStyle:"width:auto;",labelAdjust:0,elementStyle:"padding-left:0;"})}}},isHide:function(b){return b.hideLabel||this.container.hideLabels},onFieldShow:function(b){b.getItemCt().removeClass("x-hide-"+b.hideMode);if(b.isComposite){b.doLayout()}},onFieldHide:function(b){b.getItemCt().addClass("x-hide-"+b.hideMode)},getLabelStyle:function(k){var g="",n=[this.labelStyle,k];for(var l=0,h=n.length;l<h;++l){if(n[l]){g+=n[l];if(g.substr(-1,1)!=";"){g+=";"}}}return g},renderItem:function(h,g,k){if(h&&(h.isFormField||h.fieldLabel)&&h.inputType!="hidden"){var c=this.getTemplateArgs(h);if(Ext.isNumber(g)){g=k.dom.childNodes[g]||null}if(g){h.itemCt=this.fieldTpl.insertBefore(g,c,true)}else{h.itemCt=this.fieldTpl.append(k,c,true)}if(!h.getItemCt){Ext.apply(h,{getItemCt:function(){return h.itemCt},customItemCt:true})}h.label=h.getItemCt().child("label.x-form-item-label");if(!h.rendered){h.render("x-form-el-"+h.id)}else{if(!this.isValidParent(h,k)){Ext.fly("x-form-el-"+h.id).appendChild(h.getPositionEl())}}if(this.trackLabels){if(h.hidden){this.onFieldHide(h)}h.on({scope:this,show:this.onFieldShow,hide:this.onFieldHide})}this.configureItem(h)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},getTemplateArgs:function(c){var d=!c.fieldLabel||c.hideLabel;return{id:c.id,label:c.fieldLabel,itemCls:(c.itemCls||this.container.itemCls||"")+(c.hideLabel?" x-hide-label":""),clearCls:c.clearCls||"x-form-clear-left",labelStyle:this.getLabelStyle(c.labelStyle),elementStyle:this.elementStyle||"",labelSeparator:d?"":(Ext.isDefined(c.labelSeparator)?c.labelSeparator:this.labelSeparator)}},adjustWidthAnchor:function(e,g){if(g.label&&!this.isHide(g)&&(this.container.labelAlign!="top")){var c=Ext.isIE6||(Ext.isIE&&!Ext.isStrict);return e-this.labelAdjust+(c?-3:0)}return e},adjustHeightAnchor:function(d,c){if(c.label&&!this.isHide(c)&&(this.container.labelAlign=="top")){return d-c.label.getHeight()}return d},isValidParent:function(c,d){return d&&this.container.getEl().contains(c.getPositionEl())}});Ext.Container.LAYOUTS.form=Ext.layout.FormLayout;Ext.layout.AccordionLayout=Ext.extend(Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,type:"accordion",renderItem:function(b){if(this.animate===false){b.animCollapse=false}b.collapsible=true;if(this.autoWidth){b.autoWidth=true}if(this.titleCollapse){b.titleCollapse=true}if(this.hideCollapseTool){b.hideCollapseTool=true}if(this.collapseFirst!==undefined){b.collapseFirst=this.collapseFirst}if(!this.activeItem&&!b.collapsed){this.setActiveItem(b,true)}else{if(this.activeItem&&this.activeItem!=b){b.collapsed=true}}Ext.layout.AccordionLayout.superclass.renderItem.apply(this,arguments);b.header.addClass("x-accordion-hd");b.on("beforeexpand",this.beforeExpand,this)},onRemove:function(b){Ext.layout.AccordionLayout.superclass.onRemove.call(this,b);if(b.rendered){b.header.removeClass("x-accordion-hd")}b.un("beforeexpand",this.beforeExpand,this)},beforeExpand:function(g,d){var e=this.activeItem;if(e){if(this.sequence){delete this.activeItem;if(!e.collapsed){e.collapse({callback:function(){g.expand(d||true)},scope:this});return false}}else{e.collapse(this.animate)}}this.setActive(g);if(this.activeOnTop){g.el.dom.parentNode.insertBefore(g.el.dom,g.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(o,p){if(this.fill&&o){var q=0,r,k=this.getRenderedItems(this.container),l=k.length,n;for(r=0;r<l;r++){if((n=k[r])!=o&&!n.hidden){q+=n.header.getHeight()}}p.height-=q;o.setSize(p)}},setActiveItem:function(b){this.setActive(b,true)},setActive:function(g,d){var e=this.activeItem;g=this.container.getComponent(g);if(e!=g){if(g.rendered&&g.collapsed&&d){g.expand()}else{if(e){e.fireEvent("deactivate",e)}this.activeItem=g;g.fireEvent("activate",g)}}}});Ext.Container.LAYOUTS.accordion=Ext.layout.AccordionLayout;Ext.layout.Accordion=Ext.layout.AccordionLayout;Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,type:"table",targetCls:"x-table-layout-ct",tableAttrs:null,setContainer:function(b){Ext.layout.TableLayout.superclass.setContainer.call(this,b);this.currentRow=0;this.currentColumn=0;this.cells=[]},onLayout:function(p,n){var o=p.items.items,k=o.length,l,c;if(!this.table){n.addClass("x-table-layout-ct");this.table=n.createChild(Ext.apply({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true)}this.renderAll(p,n)},getRow:function(d){var c=this.table.tBodies[0].childNodes[d];if(!c){c=document.createElement("tr");this.table.tBodies[0].appendChild(c)}return c},getNextCell:function(n){var l=this.getNextNonSpan(this.currentColumn,this.currentRow);var q=this.currentColumn=l[0],r=this.currentRow=l[1];for(var o=r;o<r+(n.rowspan||1);o++){if(!this.cells[o]){this.cells[o]=[]}for(var s=q;s<q+(n.colspan||1);s++){this.cells[o][s]=true}}var p=document.createElement("td");if(n.cellId){p.id=n.cellId}var c="x-table-layout-cell";if(n.cellCls){c+=" "+n.cellCls}p.className=c;if(n.colspan){p.colSpan=n.colspan}if(n.rowspan){p.rowSpan=n.rowspan}this.getRow(r).appendChild(p);return p},getNextNonSpan:function(e,g){var d=this.columns;while((d&&e>=d)||(this.cells[g]&&this.cells[g][e])){if(d&&e>=d){g++;e=0}else{e++}}return[e,g]},renderItem:function(h,g,k){if(!this.table){this.table=k.createChild(Ext.apply({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true)}if(h&&!h.rendered){h.render(this.getNextCell(h));this.configureItem(h)}else{if(h&&!this.isValidParent(h,k)){var c=this.getNextCell(h);c.insertBefore(h.getPositionEl().dom,null);h.container=Ext.get(c);this.configureItem(h)}}},isValidParent:function(c,d){return c.getPositionEl().up("table",5).dom.parentNode===(d.dom||d)},destroy:function(){delete this.table;Ext.layout.TableLayout.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",type:"absolute",onLayout:function(d,c){c.position();this.paddingLeft=c.getPadding("l");this.paddingTop=c.getPadding("t");Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,d,c)},adjustWidthAnchor:function(c,d){return c?c-d.getPosition(true)[0]+this.paddingLeft:c},adjustHeightAnchor:function(c,d){return c?c-d.getPosition(true)[1]+this.paddingTop:c}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;Ext.layout.BoxLayout=Ext.extend(Ext.layout.ContainerLayout,{defaultMargins:{left:0,top:0,right:0,bottom:0},padding:"0",pack:"start",monitorResize:true,type:"box",scrollOffset:0,extraCls:"x-box-item",targetCls:"x-box-layout-ct",innerCls:"x-box-inner",constructor:function(g){Ext.layout.BoxLayout.superclass.constructor.call(this,g);if(Ext.isString(this.defaultMargins)){this.defaultMargins=this.parseMargins(this.defaultMargins)}var h=this.overflowHandler;if(typeof h=="string"){h={type:h}}var k="none";if(h&&h.type!=undefined){k=h.type}var e=Ext.layout.boxOverflow[k];if(e[this.type]){e=e[this.type]}this.overflowHandler=new e(this,h)},onLayout:function(v,q){Ext.layout.BoxLayout.superclass.onLayout.call(this,v,q);var t=this.getLayoutTargetSize(),p=this.getVisibleItems(v),u=this.calculateChildBoxes(p,t),r=u.boxes,o=u.meta;if(t.width>0){var n=this.overflowHandler,w=o.tooNarrow?"handleOverflow":"clearOverflow";var s=n[w](u,t);if(s){if(s.targetSize){t=s.targetSize}if(s.recalculate){p=this.getVisibleItems(v);u=this.calculateChildBoxes(p,t);r=u.boxes}}}this.layoutTargetLastSize=t;this.childBoxCache=u;this.updateInnerCtSize(t,u);this.updateChildBoxes(r);this.handleTargetOverflow(t,v,q)},updateChildBoxes:function(n){for(var g=0,k=n.length;g<k;g++){var l=n[g],h=l.component;if(l.dirtySize){h.setSize(l.width,l.height)}if(isNaN(l.left)||isNaN(l.top)){continue}h.setPosition(l.left,l.top)}},updateInnerCtSize:function(s,o){var n=this.align,p=this.padding,q=s.width,l=s.height;if(this.type=="hbox"){var k=q,r=o.meta.maxHeight+p.top+p.bottom;if(n=="stretch"){r=l}else{if(n=="middle"){r=Math.max(l,r)}}}else{var r=l,k=o.meta.maxWidth+p.left+p.right;if(n=="stretch"){k=q}else{if(n=="center"){k=Math.max(q,k)}}}this.innerCt.setSize(k||undefined,r||undefined)},handleTargetOverflow:function(l,h,n){var k=n.getStyle("overflow");if(k&&k!="hidden"&&!this.adjustmentPass){var g=this.getLayoutTargetSize();if(g.width!=l.width||g.height!=l.height){this.adjustmentPass=true;this.onLayout(h,n)}}delete this.adjustmentPass},isValidParent:function(c,d){return this.innerCt&&c.getPositionEl().dom.parentNode==this.innerCt.dom},getVisibleItems:function(p){var p=p||this.container,q=p.getLayoutTarget(),o=p.items.items,l=o.length,r,n,c=[];for(r=0;r<l;r++){if((n=o[r]).rendered&&this.isValidParent(n,q)&&n.hidden!==true&&n.collapsed!==true&&n.shouldLayout!==false){c.push(n)}}return c},renderAll:function(d,c){if(!this.innerCt){this.innerCt=c.createChild({cls:this.innerCls});this.padding=this.parseMargins(this.padding)}Ext.layout.BoxLayout.superclass.renderAll.call(this,d,this.innerCt)},getLayoutTargetSize:function(){var c=this.container.getLayoutTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&Ext.isStrict&&d.width==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},renderItem:function(b){if(Ext.isString(b.margins)){b.margins=this.parseMargins(b.margins)}else{if(!b.margins){b.margins=this.defaultMargins}}Ext.layout.BoxLayout.superclass.renderItem.apply(this,arguments)},destroy:function(){Ext.destroy(this.overflowHandler);Ext.layout.BoxLayout.superclass.destroy.apply(this,arguments)}});Ext.ns("Ext.layout.boxOverflow");Ext.layout.boxOverflow.None=Ext.extend(Object,{constructor:function(c,d){this.layout=c;Ext.apply(this,d||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn});Ext.layout.boxOverflow.none=Ext.layout.boxOverflow.None;Ext.layout.boxOverflow.Menu=Ext.extend(Ext.layout.boxOverflow.None,{afterCls:"x-strip-right",noItemsMenuText:'<div class="x-toolbar-no-items">(None)</div>',constructor:function(b){Ext.layout.boxOverflow.Menu.superclass.constructor.apply(this,arguments);this.menuItems=[]},createInnerElements:function(){if(!this.afterCt){this.afterCt=this.layout.innerCt.insertSibling({cls:this.afterCls},"before")}},clearOverflow:function(k,l){var n=l.width+(this.afterCt?this.afterCt.getWidth():0),h=this.menuItems;this.hideTrigger();for(var p=0,o=h.length;p<o;p++){h.pop().component.show()}return{targetSize:{height:l.height,width:n}}},showTrigger:function(){this.createMenu();this.menuTrigger.show()},hideTrigger:function(){if(this.menuTrigger!=undefined){this.menuTrigger.hide()}},beforeMenuShow:function(n){var k=this.menuItems,l=k.length,o,p;var r=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.Toolbar.Separator)};this.clearMenu();n.removeAll();for(var q=0;q<l;q++){o=k[q].component;if(p&&(r(o,p)||r(p,o))){n.add("-")}this.addComponentToMenu(n,o);p=o}if(n.items.length<1){n.add(this.noItemsMenuText)}},createMenuConfig:function(k,g){var e=Ext.apply({},k.initialConfig),h=k.toggleGroup;Ext.copyTo(e,k,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(e,{text:k.overflowText||k.text,hideOnClick:g});if(h||k.enableToggle){Ext.apply(e,{group:h,checked:k.pressed,listeners:{checkchange:function(a,b){k.toggle(b)}}})}delete e.ownerCt;delete e.xtype;delete e.id;return e},addComponentToMenu:function(c,d){if(d instanceof Ext.Toolbar.Separator){c.add("-")}else{if(Ext.isFunction(d.isXType)){if(d.isXType("splitbutton")){c.add(this.createMenuConfig(d,true))}else{if(d.isXType("button")){c.add(this.createMenuConfig(d,!d.menu))}else{if(d.isXType("buttongroup")){d.items.each(function(a){this.addComponentToMenu(c,a)},this)}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){b.items.each(function(a){delete a.menu})}},createMenu:function(){if(!this.menuTrigger){this.createInnerElements();this.menu=new Ext.menu.Menu({ownerCt:this.layout.container,listeners:{scope:this,beforeshow:this.beforeMenuShow}});this.menuTrigger=new Ext.Button({iconCls:"x-toolbar-more-icon",cls:"x-toolbar-more",menu:this.menu,renderTo:this.afterCt})}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.layout.boxOverflow.menu=Ext.layout.boxOverflow.Menu;Ext.layout.boxOverflow.HorizontalMenu=Ext.extend(Ext.layout.boxOverflow.Menu,{constructor:function(){Ext.layout.boxOverflow.HorizontalMenu.superclass.constructor.apply(this,arguments);var g=this,d=g.layout,e=d.calculateChildBoxes;d.calculateChildBoxes=function(r,n){var a=e.apply(d,arguments),b=a.meta,q=g.menuItems;var c=0;for(var p=0,o=q.length;p<o;p++){c+=q[p].width}b.minimumWidth+=c;b.tooNarrow=b.minimumWidth>n.width;return a}},handleOverflow:function(E,B){this.showTrigger();var z=B.width-this.afterCt.getWidth(),y=E.boxes,D=0,I=false;for(var v=0,F=y.length;v<F;v++){D+=y[v].width}var H=z-D,C=0;for(var v=0,F=this.menuItems.length;v<F;v++){var w=this.menuItems[v],x=w.component,G=w.width;if(G<H){x.show();H-=G;C++;I=true}else{break}}if(I){this.menuItems=this.menuItems.slice(C)}else{for(var A=y.length-1;A>=0;A--){var t=y[A].component,u=y[A].left+y[A].width;if(u>=z){this.menuItems.unshift({component:t,width:y[A].width});t.hide()}else{break}}}if(this.menuItems.length==0){this.hideTrigger()}return{targetSize:{height:B.height,width:z},recalculate:I}}});Ext.layout.boxOverflow.menu.hbox=Ext.layout.boxOverflow.HorizontalMenu;Ext.layout.boxOverflow.Scroller=Ext.extend(Ext.layout.boxOverflow.None,{animateScroll:true,scrollIncrement:100,wheelIncrement:3,scrollRepeatInterval:400,scrollDuration:0.4,beforeCls:"x-strip-left",afterCls:"x-strip-right",scrollerCls:"x-strip-scroller",beforeScrollerCls:"x-strip-scroller-left",afterScrollerCls:"x-strip-scroller-right",createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(b){b.stopEvent();this.scrollBy(b.getWheelDelta()*this.wheelIncrement*-1,false)}})},handleOverflow:function(d,c){this.createInnerElements();this.showScrollers()},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons()},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide()}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var d=this.beforeCt.createChild({cls:String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)});var c=this.afterCt.createChild({cls:String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});d.addClassOnOver(this.beforeScrollerCls+"-hover");c.addClassOnOver(this.afterScrollerCls+"-hover");d.setVisibilityMode(Ext.Element.DISPLAY);c.setVisibilityMode(Ext.Element.DISPLAY);this.beforeRepeater=new Ext.util.ClickRepeater(d,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=new Ext.util.ClickRepeater(c,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=d;this.afterScroller=c}},destroy:function(){Ext.destroy(this.beforeScroller,this.afterScroller,this.beforeRepeater,this.afterRepeater,this.beforeCt,this.afterCt)},scrollBy:function(c,d){this.scrollTo(this.getScrollPosition()+c,d)},getItem:function(b){if(Ext.isString(b)){b=Ext.getCmp(b)}else{if(Ext.isNumber(b)){b=this.items[b]}}return b},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined){return}var h=this.atExtremeBefore()?"addClass":"removeClass",k=this.atExtremeAfter()?"addClass":"removeClass",g=this.beforeScrollerCls+"-disabled",e=this.afterScrollerCls+"-disabled";this.beforeScroller[h](g);this.afterScroller[k](e);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(b){this.scrollBy(-this.scrollIncrement,b)},scrollRight:function(b){this.scrollBy(this.scrollIncrement,b)},scrollToItem:function(l,g){l=this.getItem(l);if(l!=undefined){var h=this.getItemVisibility(l);if(!h.fullyVisible){var n=l.getBox(true,true),k=n.x;if(h.hiddenRight){k-=(this.layout.innerCt.getWidth()-n.width)}this.scrollTo(k,g)}}},getItemVisibility:function(n){var o=this.getItem(n).getBox(true,true),k=o.x,p=o.x+o.width,l=this.getScrollPosition(),h=this.layout.innerCt.getWidth()+l;return{hiddenLeft:k<l,hiddenRight:p>h,fullyVisible:k>l&&p<h}}});Ext.layout.boxOverflow.scroller=Ext.layout.boxOverflow.Scroller;Ext.layout.boxOverflow.VerticalScroller=Ext.extend(Ext.layout.boxOverflow.Scroller,{scrollIncrement:75,wheelIncrement:2,handleOverflow:function(d,c){Ext.layout.boxOverflow.VerticalScroller.superclass.handleOverflow.apply(this,arguments);return{targetSize:{height:c.height-(this.beforeCt.getHeight()+this.afterCt.getHeight()),width:c.width}}},createInnerElements:function(){var b=this.layout.innerCt;if(!this.beforeCt){this.beforeCt=b.insertSibling({cls:this.beforeCls},"before");this.afterCt=b.insertSibling({cls:this.afterCls},"after");this.createWheelListener()}},scrollTo:function(g,e){var h=this.getScrollPosition(),k=g.constrain(0,this.getMaxScrollBottom());if(k!=h&&!this.scrolling){if(e==undefined){e=this.animateScroll}this.layout.innerCt.scrollTo("top",k,e?this.getScrollAnim():false);if(e){this.scrolling=true}else{this.scrolling=false;this.updateScrollButtons()}}},getScrollPosition:function(){return parseInt(this.layout.innerCt.dom.scrollTop,10)||0},getMaxScrollBottom:function(){return this.layout.innerCt.dom.scrollHeight-this.layout.innerCt.getHeight()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollBottom()}});Ext.layout.boxOverflow.scroller.vbox=Ext.layout.boxOverflow.VerticalScroller;Ext.layout.boxOverflow.HorizontalScroller=Ext.extend(Ext.layout.boxOverflow.Scroller,{handleOverflow:function(d,c){Ext.layout.boxOverflow.HorizontalScroller.superclass.handleOverflow.apply(this,arguments);return{targetSize:{height:c.height,width:c.width-(this.beforeCt.getWidth()+this.afterCt.getWidth())}}},createInnerElements:function(){var b=this.layout.innerCt;if(!this.beforeCt){this.afterCt=b.insertSibling({cls:this.afterCls},"before");this.beforeCt=b.insertSibling({cls:this.beforeCls},"before");this.createWheelListener()}},scrollTo:function(g,e){var h=this.getScrollPosition(),k=g.constrain(0,this.getMaxScrollRight());if(k!=h&&!this.scrolling){if(e==undefined){e=this.animateScroll}this.layout.innerCt.scrollTo("left",k,e?this.getScrollAnim():false);if(e){this.scrolling=true}else{this.scrolling=false;this.updateScrollButtons()}}},getScrollPosition:function(){return parseInt(this.layout.innerCt.dom.scrollLeft,10)||0},getMaxScrollRight:function(){return this.layout.innerCt.dom.scrollWidth-this.layout.innerCt.getWidth()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollRight()}});Ext.layout.boxOverflow.scroller.hbox=Ext.layout.boxOverflow.HorizontalScroller;Ext.layout.HBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"top",type:"hbox",calculateChildBoxes:function(aG,aU){var ar=aG.length,af=this.padding,au=af.top,ac=af.left,az=au+af.bottom,ai=ac+af.right,aV=aU.width-this.scrollOffset,aR=aU.height,aJ=Math.max(0,aR-az),ah=this.pack=="start",aa=this.pack=="center",ax=this.pack=="end",al=0,ag=0,ad=0,aM=0,Z=0,ap=[],aN,an,ak,ab,aB,aO,ae,ao,aT,aA,aH,aj;for(ae=0;ae<ar;ae++){aN=aG[ae];ak=aN.height;an=aN.width;aO=!aN.hasLayout&&typeof aN.doLayout=="function";if(typeof an!="number"){if(aN.flex&&!an){ad+=aN.flex}else{if(!an&&aO){aN.doLayout()}ab=aN.getSize();an=ab.width;ak=ab.height}}aB=aN.margins;aA=aB.left+aB.right;al+=aA+(an||0);aM+=aA+(aN.flex?aN.minWidth||0:an);Z+=aA+(aN.minWidth||an||0);if(typeof ak!="number"){if(aO){aN.doLayout()}ak=aN.getHeight()}ag=Math.max(ag,ak+aB.top+aB.bottom);ap.push({component:aN,height:ak||undefined,width:an||undefined})}var am=aM-aV,aI=Z>aV;var aK=Math.max(0,aV-al-ai);if(aI){for(ae=0;ae<ar;ae++){ap[ae].width=aG[ae].minWidth||aG[ae].width||ap[ae].width}}else{if(am>0){var av=[];for(var at=0,aC=ar;at<aC;at++){var aw=aG[at],aE=aw.minWidth||0;if(aw.flex){ap[at].width=aE}else{av.push({minWidth:aE,available:ap[at].width-aE,index:at})}}av.sort(function(b,a){return b.available>a.available?1:-1});for(var ae=0,aC=av.length;ae<aC;ae++){var aq=av[ae].index;if(aq==undefined){continue}var aw=aG[aq],aL=ap[aq],aD=aL.width,aE=aw.minWidth,aS=Math.max(aE,aD-Math.ceil(am/(aC-ae))),aQ=aD-aS;ap[aq].width=aS;am-=aQ}}else{var aP=aK,aF=ad;for(ae=0;ae<ar;ae++){aN=aG[ae];ao=ap[ae];aB=aN.margins;aH=aB.top+aB.bottom;if(ah&&aN.flex&&!aN.width){aT=Math.ceil((aN.flex/aF)*aP);aP-=aT;aF-=aN.flex;ao.width=aT;ao.dirtySize=true}}}}if(aa){ac+=aK/2}else{if(ax){ac+=aK}}for(ae=0;ae<ar;ae++){aN=aG[ae];ao=ap[ae];aB=aN.margins;ac+=aB.left;aH=aB.top+aB.bottom;ao.left=ac;ao.top=au+aB.top;switch(this.align){case"stretch":aj=aJ-aH;ao.height=aj.constrain(aN.minHeight||0,aN.maxHeight||1000000);ao.dirtySize=true;break;case"stretchmax":aj=ag-aH;ao.height=aj.constrain(aN.minHeight||0,aN.maxHeight||1000000);ao.dirtySize=true;break;case"middle":var ay=aJ-ao.height-aH;if(ay>0){ao.top=au+aH+(ay/2)}}ac+=ao.width+aB.right}return{boxes:ap,meta:{maxHeight:ag,nonFlexWidth:al,desiredWidth:aM,minimumWidth:Z,shortfall:aM-aV,tooNarrow:aI}}}});Ext.Container.LAYOUTS.hbox=Ext.layout.HBoxLayout;Ext.layout.VBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"left",type:"vbox",calculateChildBoxes:function(aI,aU){var ar=aI.length,ae=this.padding,au=ae.top,ab=ae.left,az=au+ae.bottom,ah=ab+ae.right,aV=aU.width-this.scrollOffset,aS=aU.height,al=Math.max(0,aV-ah),ag=this.pack=="start",Z=this.pack=="center",ax=this.pack=="end",aM=0,aC=0,ac=0,ak=0,aK=0,ap=[],aO,an,ai,aa,aD,aP,ad,ao,aT,aA,aJ,aR;for(ad=0;ad<ar;ad++){aO=aI[ad];ai=aO.height;an=aO.width;aP=!aO.hasLayout&&typeof aO.doLayout=="function";if(typeof ai!="number"){if(aO.flex&&!ai){ac+=aO.flex}else{if(!ai&&aP){aO.doLayout()}aa=aO.getSize();an=aa.width;ai=aa.height}}aD=aO.margins;aJ=aD.top+aD.bottom;aM+=aJ+(ai||0);ak+=aJ+(aO.flex?aO.minHeight||0:ai);aK+=aJ+(aO.minHeight||ai||0);if(typeof an!="number"){if(aP){aO.doLayout()}an=aO.getWidth()}aC=Math.max(aC,an+aD.left+aD.right);ap.push({component:aO,height:ai||undefined,width:an||undefined})}var aj=ak-aS,aL=aK>aS;var aG=Math.max(0,(aS-aM-az));if(aL){for(ad=0,aF=ar;ad<aF;ad++){ap[ad].height=aI[ad].minHeight||aI[ad].height||ap[ad].height}}else{if(aj>0){var am=[];for(var at=0,aF=ar;at<aF;at++){var aw=aI[at],aE=aw.minHeight||0;if(aw.flex){ap[at].height=aE}else{am.push({minHeight:aE,available:ap[at].height-aE,index:at})}}am.sort(function(b,a){return b.available>a.available?1:-1});for(var ad=0,aF=am.length;ad<aF;ad++){var aq=am[ad].index;if(aq==undefined){continue}var aw=aI[aq],aN=ap[aq],aB=aN.height,aE=aw.minHeight,av=Math.max(aE,aB-Math.ceil(aj/(aF-ad))),aQ=aB-av;ap[aq].height=av;aj-=aQ}}else{var af=aG,aH=ac;for(ad=0;ad<ar;ad++){aO=aI[ad];ao=ap[ad];aD=aO.margins;aA=aD.left+aD.right;if(ag&&aO.flex&&!aO.height){flexedHeight=Math.ceil((aO.flex/aH)*af);af-=flexedHeight;aH-=aO.flex;ao.height=flexedHeight;ao.dirtySize=true}}}}if(Z){au+=aG/2}else{if(ax){au+=aG}}for(ad=0;ad<ar;ad++){aO=aI[ad];ao=ap[ad];aD=aO.margins;au+=aD.top;aA=aD.left+aD.right;ao.left=ab+aD.left;ao.top=au;switch(this.align){case"stretch":aR=al-aA;ao.width=aR.constrain(aO.minWidth||0,aO.maxWidth||1000000);ao.dirtySize=true;break;case"stretchmax":aR=aC-aA;ao.width=aR.constrain(aO.minWidth||0,aO.maxWidth||1000000);ao.dirtySize=true;break;case"center":var ay=al-ao.width-aA;if(ay>0){ao.left=ab+aA+(ay/2)}}au+=ao.height+aD.bottom}return{boxes:ap,meta:{maxWidth:aC,nonFlexHeight:aM,desiredHeight:ak,minimumHeight:aK,shortfall:ak-aS,tooNarrow:aL}}}});Ext.Container.LAYOUTS.vbox=Ext.layout.VBoxLayout;Ext.layout.ToolbarLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"toolbar",triggerWidth:18,noItemsMenuText:'<div class="x-toolbar-no-items">(None)</div>',lastOverflow:false,tableHTML:['<table cellspacing="0" class="x-toolbar-ct">',"<tbody>","<tr>",'<td class="x-toolbar-left" align="{0}">','<table cellspacing="0">',"<tbody>",'<tr class="x-toolbar-left-row"></tr>',"</tbody>","</table>","</td>",'<td class="x-toolbar-right" align="right">','<table cellspacing="0" class="x-toolbar-right-ct">',"<tbody>","<tr>","<td>",'<table cellspacing="0">',"<tbody>",'<tr class="x-toolbar-right-row"></tr>',"</tbody>","</table>","</td>","<td>",'<table cellspacing="0">',"<tbody>",'<tr class="x-toolbar-extras-row"></tr>',"</tbody>","</table>","</td>","</tr>","</tbody>","</table>","</td>","</tr>","</tbody>","</table>"].join(""),onLayout:function(t,q){if(!this.leftTr){var r=t.buttonAlign=="center"?"center":"left";q.addClass("x-toolbar-layout-ct");q.insertHtml("beforeEnd",String.format(this.tableHTML,r));this.leftTr=q.child("tr.x-toolbar-left-row",true);this.rightTr=q.child("tr.x-toolbar-right-row",true);this.extrasTr=q.child("tr.x-toolbar-extras-row",true);if(this.hiddenItem==undefined){this.hiddenItems=[]}}var p=t.buttonAlign=="right"?this.rightTr:this.leftTr,o=t.items.items,u=0;for(var v=0,s=o.length,c;v<s;v++,u++){c=o[v];if(c.isFill){p=this.rightTr;u=-1}else{if(!c.rendered){c.render(this.insertCell(c,p,u));this.configureItem(c)}else{if(!c.xtbHidden&&!this.isValidParent(c,p.childNodes[u])){var w=this.insertCell(c,p,u);w.appendChild(c.getPositionEl().dom);c.container=Ext.get(w)}}}}this.cleanup(this.leftTr);this.cleanup(this.rightTr);this.cleanup(this.extrasTr);this.fitToSize(q)},cleanup:function(c){var h=c.childNodes,g,k;for(g=h.length-1;g>=0&&(k=h[g]);g--){if(!k.firstChild){c.removeChild(k)}}},insertCell:function(h,c,g){var k=document.createElement("td");k.className="x-toolbar-cell";c.insertBefore(k,c.childNodes[g]||null);return k},hideItem:function(b){this.hiddenItems.push(b);b.xtbHidden=true;b.xtbWidth=b.getPositionEl().dom.parentNode.offsetWidth;b.hide()},unhideItem:function(b){b.show();b.xtbHidden=false;this.hiddenItems.remove(b)},getItemWidth:function(b){return b.hidden?(b.xtbWidth||0):b.getPositionEl().dom.parentNode.offsetWidth},fitToSize:function(u){if(this.container.enableOverflow===false){return}var B=u.dom.clientWidth,v=u.dom.firstChild.offsetWidth,s=B-this.triggerWidth,C=this.lastWidth||0,A=this.hiddenItems,y=A.length!=0,r=B>=C;this.lastWidth=B;if(v>B||(y&&r)){var t=this.container.items.items,w=t.length,z=0,q;for(var x=0;x<w;x++){q=t[x];if(!q.isFill){z+=this.getItemWidth(q);if(z>s){if(!(q.hidden||q.xtbHidden)){this.hideItem(q)}}else{if(q.xtbHidden){this.unhideItem(q)}}}}}y=A.length!=0;if(y){this.initMore();if(!this.lastOverflow){this.container.fireEvent("overflowchange",this.container,true);this.lastOverflow=true}}else{if(this.more){this.clearMenu();this.more.destroy();delete this.more;if(this.lastOverflow){this.container.fireEvent("overflowchange",this.container,false);this.lastOverflow=false}}}},createMenuConfig:function(k,g){var e=Ext.apply({},k.initialConfig),h=k.toggleGroup;Ext.copyTo(e,k,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(e,{text:k.overflowText||k.text,hideOnClick:g});if(h||k.enableToggle){Ext.apply(e,{group:h,checked:k.pressed,listeners:{checkchange:function(a,b){k.toggle(b)}}})}delete e.ownerCt;delete e.xtype;delete e.id;return e},addComponentToMenu:function(c,d){if(d instanceof Ext.Toolbar.Separator){c.add("-")}else{if(Ext.isFunction(d.isXType)){if(d.isXType("splitbutton")){c.add(this.createMenuConfig(d,true))}else{if(d.isXType("button")){c.add(this.createMenuConfig(d,!d.menu))}else{if(d.isXType("buttongroup")){d.items.each(function(a){this.addComponentToMenu(c,a)},this)}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){b.items.each(function(a){delete a.menu})}},beforeMoreShow:function(n){var k=this.container.items.items,l=k.length,o,p;var r=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.Toolbar.Separator)};this.clearMenu();n.removeAll();for(var q=0;q<l;q++){o=k[q];if(o.xtbHidden){if(p&&(r(o,p)||r(p,o))){n.add("-")}this.addComponentToMenu(n,o);p=o}}if(n.items.length<1){n.add(this.noItemsMenuText)}},initMore:function(){if(!this.more){this.moreMenu=new Ext.menu.Menu({ownerCt:this.container,listeners:{beforeshow:this.beforeMoreShow,scope:this}});this.more=new Ext.Button({iconCls:"x-toolbar-more-icon",cls:"x-toolbar-more",menu:this.moreMenu,ownerCt:this.container});var b=this.insertCell(this.more,this.extrasTr,100);this.more.render(b)}},destroy:function(){Ext.destroy(this.more,this.moreMenu);delete this.leftTr;delete this.rightTr;delete this.extrasTr;Ext.layout.ToolbarLayout.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.toolbar=Ext.layout.ToolbarLayout;Ext.layout.MenuLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"menu",setContainer:function(b){this.monitorResize=!b.floating;b.on("autosize",this.doAutoSize,this);Ext.layout.MenuLayout.superclass.setContainer.call(this,b)},renderItem:function(c,a,h){if(!this.itemTpl){this.itemTpl=Ext.layout.MenuLayout.prototype.itemTpl=new Ext.XTemplate('<li id="{itemId}" class="{itemCls}">','<tpl if="needsIcon">','<img alt="{altText}" src="{icon}" class="{iconCls}"/>',"</tpl>","</li>")}if(c&&!c.rendered){if(Ext.isNumber(a)){a=h.dom.childNodes[a]}var k=this.getItemArgs(c);c.render(c.positionEl=a?this.itemTpl.insertBefore(a,k,true):this.itemTpl.append(h,k,true));c.positionEl.menuItemId=c.getItemId();if(!k.isMenuItem&&k.needsIcon){c.positionEl.addClass("x-menu-list-item-indent")}this.configureItem(c)}else{if(c&&!this.isValidParent(c,h)){if(Ext.isNumber(a)){a=h.dom.childNodes[a]}h.dom.insertBefore(c.getActionEl().dom,a||null)}}},getItemArgs:function(g){var e=g instanceof Ext.menu.Item,c=!(e||g instanceof Ext.menu.Separator);return{isMenuItem:e,needsIcon:c&&(g.icon||g.iconCls),icon:g.icon||Ext.BLANK_IMAGE_URL,iconCls:"x-menu-item-icon "+(g.iconCls||""),itemId:"x-menu-el-"+g.id,itemCls:"x-menu-list-item ",altText:g.altText||""}},isValidParent:function(c,d){return c.el.up("li.x-menu-list-item",5).dom.parentNode===(d.dom||d)},onLayout:function(d,c){Ext.layout.MenuLayout.superclass.onLayout.call(this,d,c);this.doAutoSize()},doAutoSize:function(){var k=this.container,g=k.width;if(k.floating){if(g){k.setWidth(g)}else{if(Ext.isIE){k.setWidth(Ext.isStrict&&(Ext.isIE7||Ext.isIE8)?"auto":k.minWidth);var h=k.getEl(),e=h.dom.offsetWidth;k.setWidth(k.getLayoutTarget().getWidth()+h.getFrameWidth("lr"))}}}}});Ext.Container.LAYOUTS.menu=Ext.layout.MenuLayout;Ext.Viewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.Viewport.superclass.initComponent.call(this);document.getElementsByTagName("html")[0].className+=" x-viewport";this.el=Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll="no";this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el},fireResize:function(d,c){this.fireEvent("resize",this,d,c,d,c)}});Ext.reg("viewport",Ext.Viewport);Ext.Panel=Ext.extend(Ext.Container,{baseCls:"x-panel",collapsedCls:"x-panel-collapsed",maskDisabled:true,animCollapse:Ext.enableFx,headerAsText:true,buttonAlign:"right",collapsed:false,collapseFirst:true,minButtonWidth:75,elements:"body",preventBodyReset:false,padding:undefined,resizeEvent:"bodyresize",toolTarget:"header",collapseEl:"bwrap",slideAnchor:"t",disabledClass:"",deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","iconchange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.unstyled){this.baseCls="x-plain"}this.toolbars=[];if(this.tbar){this.elements+=",tbar";this.topToolbar=this.createToolbar(this.tbar);this.tbar=null}if(this.bbar){this.elements+=",bbar";this.bottomToolbar=this.createToolbar(this.bbar);this.bbar=null}if(this.header===true){this.elements+=",header";this.header=null}else{if(this.headerCfg||(this.title&&this.header!==false)){this.elements+=",header"}}if(this.footerCfg||this.footer===true){this.elements+=",footer";this.footer=null}if(this.buttons){this.fbar=this.buttons;this.buttons=null}if(this.fbar){this.createFbar(this.fbar)}if(this.autoLoad){this.on("render",this.doAutoLoad,this,{delay:10})}},createFbar:function(c){var d=this.minButtonWidth;this.elements+=",footer";this.fbar=this.createToolbar(c,{buttonAlign:this.buttonAlign,toolbarCls:"x-panel-fbar",enableOverflow:false,defaults:function(a){return{minWidth:a.minWidth||d}}});this.fbar.items.each(function(a){a.minWidth=a.minWidth||this.minButtonWidth},this);this.buttons=this.fbar.items.items},createToolbar:function(d,g){var e;if(Ext.isArray(d)){d={items:d}}e=d.events?Ext.apply(d,g):this.createComponent(Ext.apply({},d,g),"toolbar");this.toolbars.push(e);return e},createElement:function(e,g){if(this[e]){g.appendChild(this[e].dom);return}if(e==="bwrap"||this.elements.indexOf(e)!=-1){if(this[e+"Cfg"]){this[e]=Ext.fly(g).createChild(this[e+"Cfg"])}else{var d=document.createElement("div");d.className=this[e+"Cls"];this[e]=Ext.get(g.appendChild(d))}if(this[e+"CssClass"]){this[e].addClass(this[e+"CssClass"])}if(this[e+"Style"]){this[e].applyStyles(this[e+"Style"])}}},onRender:function(r,s){Ext.Panel.superclass.onRender.call(this,r,s);this.createClasses();var v=this.el,q=v.dom,n,p;if(this.collapsible&&!this.hideCollapseTool){this.tools=this.tools?this.tools.slice(0):[];this.tools[this.collapseFirst?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})}if(this.tools){p=this.tools;this.elements+=(this.header!==false)?",header":""}this.tools={};v.addClass(this.baseCls);if(q.firstChild){this.header=v.down("."+this.headerCls);this.bwrap=v.down("."+this.bwrapCls);var o=this.bwrap?this.bwrap:v;this.tbar=o.down("."+this.tbarCls);this.body=o.down("."+this.bodyCls);this.bbar=o.down("."+this.bbarCls);this.footer=o.down("."+this.footerCls);this.fromMarkup=true}if(this.preventBodyReset===true){v.addClass("x-panel-reset")}if(this.cls){v.addClass(this.cls)}if(this.buttons){this.elements+=",footer"}if(this.frame){v.insertHtml("afterBegin",String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement("header",q.firstChild.firstChild.firstChild);this.createElement("bwrap",q);n=this.bwrap.dom;var t=q.childNodes[1],u=q.childNodes[2];n.appendChild(t);n.appendChild(u);var d=n.firstChild.firstChild.firstChild;this.createElement("tbar",d);this.createElement("body",d);this.createElement("bbar",d);this.createElement("footer",n.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=" x-panel-nofooter"}this.ft=Ext.get(this.bwrap.dom.lastChild);this.mc=Ext.get(d)}else{this.createElement("header",q);this.createElement("bwrap",q);n=this.bwrap.dom;this.createElement("tbar",n);this.createElement("body",n);this.createElement("bbar",n);this.createElement("footer",n);if(!this.header){this.body.addClass(this.bodyCls+"-noheader");if(this.tbar){this.tbar.addClass(this.tbarCls+"-noheader")}}}if(Ext.isDefined(this.padding)){this.body.setStyle("padding",this.body.addUnits(this.padding))}if(this.border===false){this.el.addClass(this.baseCls+"-noborder");this.body.addClass(this.bodyCls+"-noborder");if(this.header){this.header.addClass(this.headerCls+"-noborder")}if(this.footer){this.footer.addClass(this.footerCls+"-noborder")}if(this.tbar){this.tbar.addClass(this.tbarCls+"-noborder")}if(this.bbar){this.bbar.addClass(this.bbarCls+"-noborder")}}if(this.bodyBorder===false){this.body.addClass(this.bodyCls+"-noborder")}this.bwrap.enableDisplayMode("block");if(this.header){this.header.unselectable();if(this.headerAsText){this.header.dom.innerHTML='<span class="'+this.headerTextCls+'">'+this.header.dom.innerHTML+"</span>";if(this.iconCls){this.setIconClass(this.iconCls)}}}if(this.floating){this.makeFloating(this.floating)}if(this.collapsible&&this.titleCollapse&&this.header){this.mon(this.header,"click",this.toggleCollapse,this);this.header.setStyle("cursor","pointer")}if(p){this.addTool.apply(this,p)}if(this.fbar){this.footer.addClass("x-panel-btns");this.fbar.ownerCt=this;this.fbar.render(this.footer);this.footer.createChild({cls:"x-clear"})}if(this.tbar&&this.topToolbar){this.topToolbar.ownerCt=this;this.topToolbar.render(this.tbar)}if(this.bbar&&this.bottomToolbar){this.bottomToolbar.ownerCt=this;this.bottomToolbar.render(this.bbar)}},setIconClass:function(g){var h=this.iconCls;this.iconCls=g;if(this.rendered&&this.header){if(this.frame){this.header.addClass("x-panel-icon");this.header.replaceClass(h,this.iconCls)}else{var k=this.header,n=k.child("img.x-panel-inline-icon");if(n){Ext.fly(n).replaceClass(h,this.iconCls)}else{var l=k.child("span."+this.headerTextCls);if(l){Ext.DomHelper.insertBefore(l.dom,{tag:"img",alt:"",src:Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})}}}}this.fireEvent("iconchange",this,g,h)},makeFloating:function(b){this.floating=true;this.el=new Ext.Layer(Ext.apply({},b,{shadow:Ext.isDefined(this.shadow)?this.shadow:"sides",shadowOffset:this.shadowOffset,constrain:false,shim:this.shim===false?false:undefined}),this.el)},getTopToolbar:function(){return this.topToolbar},getBottomToolbar:function(){return this.bottomToolbar},getFooterToolbar:function(){return this.fbar},addButton:function(e,g,d){if(!this.fbar){this.createFbar([])}if(g){if(Ext.isString(e)){e={text:e}}e=Ext.apply({handler:g,scope:d},e)}return this.fbar.add(e)},addTool:function(){if(!this.rendered){if(!this.tools){this.tools=[]}Ext.each(arguments,function(b){this.tools.push(b)},this);return}if(!this[this.toolTarget]){return}if(!this.toolTemplate){var n=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');n.disableFormats=true;n.compile();Ext.Panel.prototype.toolTemplate=n}for(var o=0,q=arguments,r=q.length;o<r;o++){var a=q[o];if(!this.tools[a.id]){var l="x-tool-"+a.id+"-over";var p=this.toolTemplate.insertFirst(this[this.toolTarget],a,true);this.tools[a.id]=p;p.enableDisplayMode("block");this.mon(p,"click",this.createToolHandler(p,a,l,this));if(a.on){this.mon(p,a.on)}if(a.hidden){p.hide()}if(a.qtip){if(Ext.isObject(a.qtip)){Ext.QuickTips.register(Ext.apply({target:p.id},a.qtip))}else{p.dom.qtip=a.qtip}}p.addClassOnOver(l)}}},onLayout:function(c,d){Ext.Panel.superclass.onLayout.apply(this,arguments);if(this.hasLayout&&this.toolbars.length>0){Ext.each(this.toolbars,function(a){a.doLayout(undefined,d)});this.syncHeight()}},syncHeight:function(){var e=this.toolbarHeight,k=this.body,g=this.lastSize.height,h;if(this.autoHeight||!Ext.isDefined(g)||g=="auto"){return}if(e!=this.getToolbarHeight()){e=Math.max(0,g-this.getFrameHeight());k.setHeight(e);h=k.getSize();this.toolbarHeight=this.getToolbarHeight();this.onBodyResize(h.width,h.height)}},onShow:function(){if(this.floating){return this.el.show()}Ext.Panel.superclass.onShow.call(this)},onHide:function(){if(this.floating){return this.el.hide()}Ext.Panel.superclass.onHide.call(this)},createToolHandler:function(k,g,h,e){return function(a){k.removeClass(h);if(g.stopEvent!==false){a.stopEvent()}if(g.handler){g.handler.call(g.scope||k,a,k,e,g)}}},afterRender:function(){if(this.floating&&!this.hidden){this.el.show()}if(this.title){this.setTitle(this.title)}Ext.Panel.superclass.afterRender.call(this);if(this.collapsed){this.collapsed=false;this.collapse(false)}this.initEvents()},getKeyMap:function(){if(!this.keyMap){this.keyMap=new Ext.KeyMap(this.el,this.keys)}return this.keyMap},initEvents:function(){if(this.keys){this.getKeyMap()}if(this.draggable){this.initDraggable()}if(this.toolbars.length>0){Ext.each(this.toolbars,function(b){b.doLayout();b.on({scope:this,afterlayout:this.syncHeight,remove:this.syncHeight})},this);this.syncHeight()}},initDraggable:function(){this.dd=new Ext.Panel.DD(this,Ext.isBoolean(this.draggable)?null:this.draggable)},beforeEffect:function(b){if(this.floating){this.el.beforeAction()}if(b!==false){this.el.addClass("x-panel-animated")}},afterEffect:function(b){this.syncShadow();this.el.removeClass("x-panel-animated")},createEffect:function(k,a,h){var g={scope:h,block:true};if(k===true){g.callback=a;return g}else{if(!k.callback){g.callback=a}else{g.callback=function(){a.call(h);Ext.callback(k.callback,k.scope)}}}return Ext.applyIf(g,k)},collapse:function(c){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,c)===false){return}var d=c===true||(c!==false&&this.animCollapse);this.beforeEffect(d);this.onCollapse(d,c);return this},onCollapse:function(d,c){if(d){this[this.collapseEl].slideOut(this.slideAnchor,Ext.apply(this.createEffect(c||true,this.afterCollapse,this),this.collapseDefaults))}else{this[this.collapseEl].hide(this.hideMode);this.afterCollapse(false)}},afterCollapse:function(b){this.collapsed=true;this.el.addClass(this.collapsedCls);if(b!==false){this[this.collapseEl].hide(this.hideMode)}this.afterEffect(b);this.cascade(function(a){if(a.lastSize){a.lastSize={width:undefined,height:undefined}}});this.fireEvent("collapse",this)},expand:function(c){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,c)===false){return}var d=c===true||(c!==false&&this.animCollapse);this.el.removeClass(this.collapsedCls);this.beforeEffect(d);this.onExpand(d,c);return this},onExpand:function(d,c){if(d){this[this.collapseEl].slideIn(this.slideAnchor,Ext.apply(this.createEffect(c||true,this.afterExpand,this),this.expandDefaults))}else{this[this.collapseEl].show(this.hideMode);this.afterExpand(false)}},afterExpand:function(b){this.collapsed=false;if(b!==false){this[this.collapseEl].show(this.hideMode)}this.afterEffect(b);if(this.deferLayout){delete this.deferLayout;this.doLayout(true)}this.fireEvent("expand",this)},toggleCollapse:function(b){this[this.collapsed?"expand":"collapse"](b);return this},onDisable:function(){if(this.rendered&&this.maskDisabled){this.el.mask()}Ext.Panel.superclass.onDisable.call(this)},onEnable:function(){if(this.rendered&&this.maskDisabled){this.el.unmask()}Ext.Panel.superclass.onEnable.call(this)},onResize:function(l,o,p,n){var k=l,h=o;if(Ext.isDefined(k)||Ext.isDefined(h)){if(!this.collapsed){if(Ext.isNumber(k)){this.body.setWidth(k=this.adjustBodyWidth(k-this.getFrameWidth()))}else{if(k=="auto"){k=this.body.setWidth("auto").dom.offsetWidth}else{k=this.body.dom.offsetWidth}}if(this.tbar){this.tbar.setWidth(k);if(this.topToolbar){this.topToolbar.setSize(k)}}if(this.bbar){this.bbar.setWidth(k);if(this.bottomToolbar){this.bottomToolbar.setSize(k);if(Ext.isIE){this.bbar.setStyle("position","static");this.bbar.setStyle("position","")}}}if(this.footer){this.footer.setWidth(k);if(this.fbar){this.fbar.setSize(Ext.isIE?(k-this.footer.getFrameWidth("lr")):"auto")}}if(Ext.isNumber(h)){h=Math.max(0,h-this.getFrameHeight());this.body.setHeight(h)}else{if(h=="auto"){this.body.setHeight(h)}}if(this.disabled&&this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight())}}else{this.queuedBodySize={width:k,height:h};if(!this.queuedExpand&&this.allowQueuedExpand!==false){this.queuedExpand=true;this.on("expand",function(){delete this.queuedExpand;this.onResize(this.queuedBodySize.width,this.queuedBodySize.height)},this,{single:true})}}this.onBodyResize(k,h)}this.syncShadow();Ext.Panel.superclass.onResize.call(this,l,o,p,n)},onBodyResize:function(d,c){this.fireEvent("bodyresize",this,d,c)},getToolbarHeight:function(){var b=0;if(this.rendered){Ext.each(this.toolbars,function(a){b+=a.getHeight()},this)}return b},adjustBodyHeight:function(b){return b},adjustBodyWidth:function(b){return b},onPosition:function(){this.syncShadow()},getFrameWidth:function(){var c=this.el.getFrameWidth("lr")+this.bwrap.getFrameWidth("lr");if(this.frame){var d=this.bwrap.dom.firstChild;c+=(Ext.fly(d).getFrameWidth("l")+Ext.fly(d.firstChild).getFrameWidth("r"));c+=this.mc.getFrameWidth("lr")}return c},getFrameHeight:function(){var b=this.el.getFrameWidth("tb")+this.bwrap.getFrameWidth("tb");b+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);if(this.frame){b+=this.el.dom.firstChild.offsetHeight+this.ft.dom.offsetHeight+this.mc.getFrameWidth("tb")}else{b+=(this.header?this.header.getHeight():0)+(this.footer?this.footer.getHeight():0)}return b},getInnerWidth:function(){return this.getSize().width-this.getFrameWidth()},getInnerHeight:function(){return this.body.getHeight()},syncShadow:function(){if(this.floating){this.el.sync(true)}},getLayoutTarget:function(){return this.body},getContentTarget:function(){return this.body},setTitle:function(c,d){this.title=c;if(this.header&&this.headerAsText){this.header.child("span").update(c)}if(d){this.setIconClass(d)}this.fireEvent("titlechange",this,c);return this},getUpdater:function(){return this.body.getUpdater()},load:function(){var b=this.body.getUpdater();b.update.apply(b,arguments);return this},beforeDestroy:function(){Ext.Panel.superclass.beforeDestroy.call(this);if(this.header){this.header.removeAllListeners()}if(this.tools){for(var b in this.tools){Ext.destroy(this.tools[b])}}if(this.toolbars.length>0){Ext.each(this.toolbars,function(a){a.un("afterlayout",this.syncHeight,this);a.un("remove",this.syncHeight,this)},this)}if(Ext.isArray(this.buttons)){while(this.buttons.length){Ext.destroy(this.buttons[0])}}if(this.rendered){Ext.destroy(this.ft,this.header,this.footer,this.tbar,this.bbar,this.body,this.mc,this.bwrap,this.dd);if(this.fbar){Ext.destroy(this.fbar,this.fbar.el)}}Ext.destroy(this.toolbars)},createClasses:function(){this.headerCls=this.baseCls+"-header";this.headerTextCls=this.baseCls+"-header-text";this.bwrapCls=this.baseCls+"-bwrap";this.tbarCls=this.baseCls+"-tbar";this.bodyCls=this.baseCls+"-body";this.bbarCls=this.baseCls+"-bbar";this.footerCls=this.baseCls+"-footer"},createGhost:function(h,k,g){var l=document.createElement("div");l.className="x-panel-ghost "+(h?h:"");if(this.header){l.appendChild(this.el.dom.firstChild.cloneNode(true))}Ext.fly(l.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());l.style.width=this.el.dom.offsetWidth+"px";if(!g){this.container.dom.appendChild(l)}else{Ext.getDom(g).appendChild(l)}if(k!==false&&this.el.useShim!==false){var n=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},l);n.show();return n}else{return new Ext.Element(l)}},doAutoLoad:function(){var b=this.body.getUpdater();if(this.renderer){b.setRenderer(this.renderer)}b.update(Ext.isObject(this.autoLoad)?this.autoLoad:{url:this.autoLoad})},getTool:function(b){return this.tools[b]}});Ext.reg("panel",Ext.Panel);Ext.Editor=function(c,d){if(c.field){this.field=Ext.create(c.field,"textfield");d=Ext.apply({},c);delete d.field}else{this.field=c}Ext.Editor.superclass.constructor.call(this,d)};Ext.extend(Ext.Editor,Ext.Component,{allowBlur:true,value:"",alignment:"c-c?",offsets:[0,0],shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:true,cancelOnEsc:true,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onRender:function(c,d){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:c,shim:this.shim,shadowOffset:this.shadowOffset||4,id:this.id,constrain:this.constrain});if(this.zIndex){this.el.setZIndex(this.zIndex)}this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.mon(this.field,{scope:this,blur:this.onBlur,specialkey:this.onSpecialKey});if(this.field.grow){this.mon(this.field,"autosize",this.el.sync,this.el,{delay:1})}this.field.render(this.el).show();this.field.getEl().dom.name="";if(this.swallowKeys){this.field.el.swallowEvent(["keypress","keydown"])}},onSpecialKey:function(k,l){var e=l.getKey(),h=this.completeOnEnter&&e==l.ENTER,n=this.cancelOnEsc&&e==l.ESC;if(h||n){l.stopEvent();if(h){this.completeEdit()}else{this.cancelEdit()}if(k.triggerBlur){k.triggerBlur()}}this.fireEvent("specialkey",k,l)},startEdit:function(d,g){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(d);var e=g!==undefined?g:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,e)!==false){this.startValue=e;this.field.reset();this.field.setValue(e);this.realign(true);this.editing=true;this.show()}},doAutoSize:function(){if(this.autoSize){var c=this.boundEl.getSize(),d=this.field.getSize();switch(this.autoSize){case"width":this.setSize(c.width,d.height);break;case"height":this.setSize(d.width,c.height);break;case"none":this.setSize(d.width,d.height);break;default:this.setSize(c.width,c.height)}}},setSize:function(d,c){delete this.field.lastSize;this.field.setSize(d,c);if(this.el){if(Ext.isGecko2||Ext.isOpera||(Ext.isIE7&&Ext.isStrict)){this.el.setSize(d,c)}this.el.sync()}},realign:function(b){if(b===true){this.doAutoSize()}this.el.alignTo(this.boundEl,this.alignment,this.offsets)},completeEdit:function(d){if(!this.editing){return}if(this.field.assertValue){this.field.assertValue()}var c=this.getValue();if(!this.field.isValid()){if(this.revertInvalid!==false){this.cancelEdit(d)}return}if(String(c)===String(this.startValue)&&this.ignoreNoChange){this.hideEdit(d);return}if(this.fireEvent("beforecomplete",this,c,this.startValue)!==false){c=this.getValue();if(this.updateEl&&this.boundEl){this.boundEl.update(c)}this.hideEdit(d);this.fireEvent("complete",this,c,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show().focus(false,true);this.fireEvent("startedit",this.boundEl,this.startValue)},cancelEdit:function(d){if(this.editing){var c=this.getValue();this.setValue(this.startValue);this.hideEdit(d);this.fireEvent("canceledit",this,c,this.startValue)}},hideEdit:function(b){if(b!==true){this.editing=false;this.hide()}},onBlur:function(){if(this.allowBlur===true&&this.editing&&this.selectSameEditor!==true){this.completeEdit()}},onHide:function(){if(this.editing){this.completeEdit();return}this.field.blur();if(this.field.collapse){this.field.collapse()}this.el.hide();if(this.hideEl!==false){this.boundEl.show()}},setValue:function(b){this.field.setValue(b)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){Ext.destroyMembers(this,"field");delete this.parentEl;delete this.boundEl}});Ext.reg("editor",Ext.Editor);Ext.ColorPalette=Ext.extend(Ext.Component,{itemCls:"x-color-palette",value:null,clickEvent:"click",ctype:"Ext.ColorPalette",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],initComponent:function(){Ext.ColorPalette.superclass.initComponent.call(this);this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope,true)}},onRender:function(d,e){this.autoEl={tag:"div",cls:this.itemCls};Ext.ColorPalette.superclass.onRender.call(this,d,e);var g=this.tpl||new Ext.XTemplate('<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>');g.overwrite(this.el,this.colors);this.mon(this.el,this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.mon(this.el,"click",Ext.emptyFn,this,{delegate:"a",preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var b=this.value;this.value=null;this.select(b,true)}},handleClick:function(c,e){c.preventDefault();if(!this.disabled){var g=e.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(g.toUpperCase())}},select:function(d,e){d=d.replace("#","");if(d!=this.value||this.allowReselect){var g=this.el;if(this.value){g.child("a.color-"+this.value).removeClass("x-color-palette-sel")}g.child("a.color-"+d).addClass("x-color-palette-sel");this.value=d;if(e!==true){this.fireEvent("select",this,d)}}}});Ext.reg("colorpalette",Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.BoxComponent,{todayText:"Today",okText:"&#160;OK&#160;",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDaysText:"Disabled",disabledDatesText:"Disabled",monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,focusOnSelect:true,initHour:12,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime(true):new Date().clearTime();this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var d=this.disabledDates,e=d.length-1,g="(?:";Ext.each(d,function(a,b){g+=Ext.isDate(a)?"^"+Ext.escapeRe(a.dateFormat(this.format))+"$":d[b];if(b!=e){g+="|"}},this);this.disabledDatesRE=new RegExp(g+")")}},setDisabledDates:function(b){if(Ext.isArray(b)){this.disabledDates=b;this.disabledDatesRE=null}else{this.disabledDatesRE=b}this.initDisabledDays();this.update(this.value,true)},setDisabledDays:function(b){this.disabledDays=b;this.update(this.value,true)},setMinDate:function(b){this.minDate=b;this.update(this.value,true)},setMaxDate:function(b){this.maxDate=b;this.update(this.value,true)},setValue:function(b){this.value=b.clearTime(true);this.update(this.value)},getValue:function(){return this.value},focus:function(){this.update(this.activeDate)},onEnable:function(b){Ext.DatePicker.superclass.onEnable.call(this);this.doDisabled(false);this.update(b?this.value:this.activeDate);if(Ext.isIE){this.el.repaint()}},onDisable:function(){Ext.DatePicker.superclass.onDisable.call(this);this.doDisabled(true);if(Ext.isIE&&!Ext.isIE8){Ext.each([].concat(this.textNodes,this.el.query("th span")),function(b){Ext.fly(b).repaint()})}},doDisabled:function(b){this.keyNav.setDisabled(b);this.prevRepeater.setDisabled(b);this.nextRepeater.setDisabled(b);if(this.showToday){this.todayKeyListener.setDisabled(b);this.todayBtn.setDisabled(b)}},onRender:function(s,d){var o=['<table cellspacing="0">','<tr><td class="x-date-left"><a href="#" title="',this.prevText,'">&#160;</a></td><td class="x-date-middle" align="center"></td><td class="x-date-right"><a href="#" title="',this.nextText,'">&#160;</a></td></tr>','<tr><td colspan="3"><table class="x-date-inner" cellspacing="0"><thead><tr>'],t=this.dayNames,q;for(q=0;q<7;q++){var n=this.startDay+q;if(n>6){n=n-7}o.push("<th><span>",t[n].substr(0,1),"</span></th>")}o[o.length]="</tr></thead><tbody><tr>";for(q=0;q<42;q++){if(q%7===0&&q!==0){o[o.length]="</tr><tr>"}o[o.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'}o.push("</tr></tbody></table></td></tr>",this.showToday?'<tr><td colspan="3" class="x-date-bottom" align="center"></td></tr>':"",'</table><div class="x-date-mp"></div>');var p=document.createElement("div");p.className="x-date-picker";p.innerHTML=o.join("");s.dom.insertBefore(p,d);this.el=Ext.get(p);this.eventEl=Ext.get(p.firstChild);this.prevRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.nextRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");this.keyNav=new Ext.KeyNav(this.eventEl,{left:function(a){if(a.ctrlKey){this.showPrevMonth()}else{this.update(this.activeDate.add("d",-1))}},right:function(a){if(a.ctrlKey){this.showNextMonth()}else{this.update(this.activeDate.add("d",1))}},up:function(a){if(a.ctrlKey){this.showNextYear()}else{this.update(this.activeDate.add("d",-7))}},down:function(a){if(a.ctrlKey){this.showPrevYear()}else{this.update(this.activeDate.add("d",7))}},pageUp:function(a){this.showNextMonth()},pageDown:function(a){this.showPrevMonth()},enter:function(a){a.stopPropagation();return true},scope:this});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:"&#160;",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.el.child("em").addClass("x-btn-arrow");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var r=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,r),tooltip:String.format(this.todayTip,r),handler:this.selectToday,scope:this})}this.mon(this.eventEl,"mousewheel",this.handleMouseWheel,this);this.mon(this.eventEl,"click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.mon(this.mbtn,"click",this.showMonthPicker,this);this.onEnable(true)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var d=['<table border="0" cellspacing="0">'];for(var c=0;c<6;c++){d.push('<tr><td class="x-date-mp-month"><a href="#">',Date.getShortMonthName(c),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',Date.getShortMonthName(c+6),"</a></td>",c===0?'<td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-prev"></a></td><td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-next"></a></td></tr>':'<td class="x-date-mp-year"><a href="#"></a></td><td class="x-date-mp-year"><a href="#"></a></td></tr>')}d.push('<tr class="x-date-mp-btns"><td colspan="4"><button type="button" class="x-date-mp-ok">',this.okText,'</button><button type="button" class="x-date-mp-cancel">',this.cancelText,"</button></td></tr>","</table>");this.monthPicker.update(d.join(""));this.mon(this.monthPicker,"click",this.onMonthClick,this);this.mon(this.monthPicker,"dblclick",this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select("td.x-date-mp-month");this.mpYears=this.monthPicker.select("td.x-date-mp-year");this.mpMonths.each(function(g,b,a){a+=1;if((a%2)===0){g.dom.xmonth=5+Math.round(a*0.5)}else{g.dom.xmonth=Math.round((a-1)*0.5)}})}},showMonthPicker:function(){if(!this.disabled){this.createMonthPicker();var b=this.el.getSize();this.monthPicker.setSize(b);this.monthPicker.child("table").setSize(b);this.mpSelMonth=(this.activeDate||this.value).getMonth();this.updateMPMonth(this.mpSelMonth);this.mpSelYear=(this.activeDate||this.value).getFullYear();this.updateMPYear(this.mpSelYear);this.monthPicker.slideIn("t",{duration:0.2})}},updateMPYear:function(k){this.mpyear=k;var n=this.mpYears.elements;for(var g=1;g<=10;g++){var l=n[g-1],h;if((g%2)===0){h=k+Math.round(g*0.5);l.firstChild.innerHTML=h;l.xyear=h}else{h=k-(5-Math.round(g*0.5));l.firstChild.innerHTML=h;l.xyear=h}this.mpYears.item(g-1)[h==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(b){this.mpMonths.each(function(a,g,e){a[a.dom.xmonth==b?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(b){},onMonthClick:function(l,d){l.stopEvent();var n=new Ext.Element(d),e;if(n.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(n.is("button.x-date-mp-ok")){var k=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(k.getMonth()!=this.mpSelMonth){k=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(k);this.hideMonthPicker()}else{if((e=n.up("td.x-date-mp-month",2))){this.mpMonths.removeClass("x-date-mp-sel");e.addClass("x-date-mp-sel");this.mpSelMonth=e.dom.xmonth}else{if((e=n.up("td.x-date-mp-year",2))){this.mpYears.removeClass("x-date-mp-sel");e.addClass("x-date-mp-sel");this.mpSelYear=e.dom.xyear}else{if(n.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(n.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(h,e){h.stopEvent();var k=new Ext.Element(e),g;if((g=k.up("td.x-date-mp-month",2))){this.update(new Date(this.mpSelYear,g.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if((g=k.up("td.x-date-mp-year",2))){this.update(new Date(g.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(b){if(this.monthPicker){if(b===true){this.monthPicker.hide()}else{this.monthPicker.slideOut("t",{duration:0.2})}}},showPrevMonth:function(b){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(b){this.update(this.activeDate.add("mo",1))},showPrevYear:function(){this.update(this.activeDate.add("y",-1))},showNextYear:function(){this.update(this.activeDate.add("y",1))},handleMouseWheel:function(d){d.stopEvent();if(!this.disabled){var c=d.getWheelDelta();if(c>0){this.showPrevMonth()}else{if(c<0){this.showNextMonth()}}}},handleDateClick:function(c,d){c.stopEvent();if(!this.disabled&&d.dateValue&&!Ext.fly(d.parentNode).hasClass("x-date-disabled")){this.cancelFocus=this.focusOnSelect===false;this.setValue(new Date(d.dateValue));delete this.cancelFocus;this.fireEvent("select",this,this.value)}},selectToday:function(){if(this.todayBtn&&!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)}},update:function(M,W){if(this.rendered){var ak=this.activeDate,X=this.isVisible();this.activeDate=M;if(!W&&ak&&this.el){var Z=M.getTime();if(ak.getMonth()==M.getMonth()&&ak.getFullYear()==M.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(a){if(a.dom.firstChild.dateValue==Z){a.addClass("x-date-selected");if(X&&!this.cancelFocus){Ext.fly(a.dom.firstChild).focus(50)}return false}},this);return}}var ad=M.getDaysInMonth(),V=M.getFirstDateOfMonth(),ag=V.getDay()-this.startDay;if(ag<0){ag+=7}ad+=ag;var U=M.add("mo",-1),af=U.getDaysInMonth()-ag,ah=this.cells.elements,S=this.textNodes,R=(new Date(U.getFullYear(),U.getMonth(),af,this.initHour)),T=new Date().clearTime().getTime(),L=M.clearTime(true).getTime(),O=this.minDate?this.minDate.clearTime(true):Number.NEGATIVE_INFINITY,d=this.maxDate?this.maxDate.clearTime(true):Number.POSITIVE_INFINITY,N=this.disabledDatesRE,Q=this.disabledDatesText,w=this.disabledDays?this.disabledDays.join(""):false,P=this.disabledDaysText,Y=this.format;if(this.showToday){var ab=new Date().clearTime(),ai=(ab<O||ab>d||(N&&Y&&N.test(ab.dateFormat(Y)))||(w&&w.indexOf(ab.getDay())!=-1));if(!this.disabled){this.todayBtn.setDisabled(ai);this.todayKeyListener[ai?"disable":"enable"]()}}var ac=function(b,e){e.title="";var c=R.clearTime(true).getTime();e.firstChild.dateValue=c;if(c==T){e.className+=" x-date-today";e.title=b.todayText}if(c==L){e.className+=" x-date-selected";if(X){Ext.fly(e.firstChild).focus(50)}}if(c<O){e.className=" x-date-disabled";e.title=b.minText;return}if(c>d){e.className=" x-date-disabled";e.title=b.maxText;return}if(w){if(w.indexOf(R.getDay())!=-1){e.title=P;e.className=" x-date-disabled"}}if(N&&Y){var a=R.dateFormat(Y);if(N.test(a)){e.title=Q.replace("%0",a);e.className=" x-date-disabled"}}};var t=0;for(;t<ag;t++){S[t].innerHTML=(++af);R.setDate(R.getDate()+1);ah[t].className="x-date-prevday";ac(this,ah[t])}for(;t<ad;t++){var aj=t-ag+1;S[t].innerHTML=(aj);R.setDate(R.getDate()+1);ah[t].className="x-date-active";ac(this,ah[t])}var K=0;for(;t<42;t++){S[t].innerHTML=(++K);R.setDate(R.getDate()+1);ah[t].className="x-date-nextday";ac(this,ah[t])}this.mbtn.setText(this.monthNames[M.getMonth()]+" "+M.getFullYear());if(!this.internalRender){var ae=this.el.dom.firstChild,aa=ae.offsetWidth;this.el.setWidth(aa+this.el.getBorderWidth("lr"));Ext.fly(ae).setWidth(aa);this.internalRender=true;if(Ext.isOpera&&!this.secondPass){ae.rows[0].cells[1].style.width=(aa-(ae.rows[0].cells[0].offsetWidth+ae.rows[0].cells[2].offsetWidth))+"px";this.secondPass=true;this.update.defer(10,this,[M])}}}},beforeDestroy:function(){if(this.rendered){Ext.destroy(this.keyNav,this.monthPicker,this.eventEl,this.mbtn,this.nextRepeater,this.prevRepeater,this.cells.el,this.todayBtn);delete this.textNodes;delete this.cells.elements}}});Ext.reg("datepicker",Ext.DatePicker);Ext.LoadMask=function(g,d){this.el=Ext.get(g);Ext.apply(this,d);if(this.store){this.store.on({scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.onLoad});this.removeMask=Ext.value(this.removeMask,false)}else{var e=this.el.getUpdater();e.showLoadIndicator=false;e.on({scope:this,beforeupdate:this.onBeforeLoad,update:this.onLoad,failure:this.onLoad});this.removeMask=Ext.value(this.removeMask,true)}};Ext.LoadMask.prototype={msg:"Loading...",msgCls:"x-mask-loading",disabled:false,disable:function(){this.disabled=true},enable:function(){this.disabled=false},onLoad:function(){this.el.unmask(this.removeMask)},onBeforeLoad:function(){if(!this.disabled){this.el.mask(this.msg,this.msgCls)}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){if(this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.onLoad,this)}else{var b=this.el.getUpdater();b.un("beforeupdate",this.onBeforeLoad,this);b.un("update",this.onLoad,this);b.un("failure",this.onLoad,this)}}};Ext.ns("Ext.slider");Ext.slider.Thumb=Ext.extend(Object,{dragging:false,constructor:function(b){Ext.apply(this,b||{},{cls:"x-slider-thumb",constrain:false});Ext.slider.Thumb.superclass.constructor.call(this,b);if(this.slider.vertical){Ext.apply(this,Ext.slider.Thumb.Vertical)}},render:function(){this.el=this.slider.innerEl.insertFirst({cls:this.cls});this.initEvents()},enable:function(){this.disabled=false;this.el.removeClass(this.slider.disabledClass)},disable:function(){this.disabled=true;this.el.addClass(this.slider.disabledClass)},initEvents:function(){var b=this.el;b.addClassOnOver("x-slider-thumb-over");this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeDragStart.createDelegate(this),onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(b)},onBeforeDragStart:function(b){if(this.disabled){return false}else{this.slider.promoteThumb(this);return true}},onDragStart:function(b){this.el.addClass("x-slider-thumb-drag");this.dragging=true;this.dragStartValue=this.value;this.slider.fireEvent("dragstart",this.slider,b,this)},onDrag:function(n){var p=this.slider,e=this.index,o=this.getNewValue();if(this.constrain){var k=p.thumbs[e+1],l=p.thumbs[e-1];if(l!=undefined&&o<=l.value){o=l.value}if(k!=undefined&&o>=k.value){o=k.value}}p.setValue(e,o,false);p.fireEvent("drag",p,n,this)},getNewValue:function(){var d=this.slider,c=d.innerEl.translatePoints(this.tracker.getXY());return Ext.util.Format.round(d.reverseValue(c.left),d.decimalPrecision)},onDragEnd:function(g){var e=this.slider,d=this.value;this.el.removeClass("x-slider-thumb-drag");this.dragging=false;e.fireEvent("dragend",e,g);if(this.dragStartValue!=d){e.fireEvent("changecomplete",e,d,this)}},destroy:function(){Ext.destroyMembers(this,"tracker","el")}});Ext.slider.MultiSlider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,constrainThumbs:true,topThumbZIndex:10000,initComponent:function(){if(!Ext.isDefined(this.value)){this.value=this.minValue}this.thumbs=[];Ext.slider.MultiSlider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend");if(this.values==undefined||Ext.isEmpty(this.values)){this.values=[0]}var d=this.values;for(var c=0;c<d.length;c++){this.addThumb(d[c])}if(this.vertical){Ext.apply(this,Ext.slider.Vertical)}},addThumb:function(c){var d=new Ext.slider.Thumb({value:c,slider:this,index:this.thumbs.length,constrain:this.constrainThumbs});this.thumbs.push(d);if(this.rendered){d.render()}},promoteThumb:function(o){var k=this.thumbs,l,h;for(var n=0,p=k.length;n<p;n++){h=k[n];if(h==o){l=this.topThumbZIndex}else{l=""}h.el.setStyle("zIndex",l)}},onRender:function(){this.autoEl={cls:"x-slider "+(this.vertical?"x-slider-vert":"x-slider-horz"),cn:{cls:"x-slider-end",cn:{cls:"x-slider-inner",cn:[{tag:"a",cls:"x-slider-focus",href:"#",tabIndex:"-1",hidefocus:"on"}]}}};Ext.slider.MultiSlider.superclass.onRender.apply(this,arguments);this.endEl=this.el.first();this.innerEl=this.endEl.first();this.focusEl=this.innerEl.child(".x-slider-focus");for(var c=0;c<this.thumbs.length;c++){this.thumbs[c].render()}var d=this.innerEl.child(".x-slider-thumb");this.halfThumb=(this.vertical?d.getHeight():d.getWidth())/2;this.initEvents()},initEvents:function(){this.mon(this.el,{scope:this,mousedown:this.onMouseDown,keydown:this.onKeyDown});this.focusEl.swallowEvent("click",true)},onMouseDown:function(h){if(this.disabled){return}var k=false;for(var e=0;e<this.thumbs.length;e++){k=k||h.target==this.thumbs[e].el.dom}if(this.clickToChange&&!k){var g=this.innerEl.translatePoints(h.getXY());this.onClickChange(g)}this.focus()},onClickChange:function(g){if(g.top>this.clickRange[0]&&g.top<this.clickRange[1]){var e=this.getNearest(g,"left"),d=e.index;this.setValue(d,Ext.util.Format.round(this.reverseValue(g.left),this.decimalPrecision),undefined,true)}},getNearest:function(q,x){var o=x=="top"?this.innerEl.getHeight()-q[x]:q[x],t=this.reverseValue(o),r=(this.maxValue-this.minValue)+5,u=0,w=null;for(var v=0;v<this.thumbs.length;v++){var y=this.thumbs[v],p=y.value,s=Math.abs(p-t);if(Math.abs(s<=r)){w=y;u=v;r=s}}return w},onKeyDown:function(d){if(this.disabled||this.thumbs.length!==1){d.preventDefault();return}var e=d.getKey(),g;switch(e){case d.UP:case d.RIGHT:d.stopEvent();g=d.ctrlKey?this.maxValue:this.getValue(0)+this.keyIncrement;this.setValue(0,g,undefined,true);break;case d.DOWN:case d.LEFT:d.stopEvent();g=d.ctrlKey?this.minValue:this.getValue(0)-this.keyIncrement;this.setValue(0,g,undefined,true);break;default:d.preventDefault()}},doSnap:function(e){if(!(this.increment&&e)){return e}var h=e,k=this.increment,g=e%k;if(g!=0){h-=g;if(g*2>=k){h+=k}else{if(g*2<-k){h-=k}}}return h.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.slider.MultiSlider.superclass.afterRender.apply(this,arguments);for(var g=0;g<this.thumbs.length;g++){var d=this.thumbs[g];if(d.value!==undefined){var e=this.normalizeValue(d.value);if(e!==d.value){this.setValue(g,e,false)}else{this.moveThumb(g,this.translateValue(e),false)}}}},getRatio:function(){var d=this.innerEl.getWidth(),c=this.maxValue-this.minValue;return c==0?d:(d/c)},normalizeValue:function(b){b=this.doSnap(b);b=Ext.util.Format.round(b,this.decimalPrecision);b=b.constrain(this.minValue,this.maxValue);return b},setMinValue:function(k){this.minValue=k;var l=0,g=this.thumbs,h=g.length,n;for(;l<h;++l){n=g[l];n.value=n.value<k?k:n.value}this.syncThumb()},setMaxValue:function(k){this.maxValue=k;var l=0,g=this.thumbs,h=g.length,n;for(;l<h;++l){n=g[l];n.value=n.value>k?k:n.value}this.syncThumb()},setValue:function(o,p,h,l){var k=this.thumbs[o],n=k.el;p=this.normalizeValue(p);if(p!==k.value&&this.fireEvent("beforechange",this,p,k.value,k)!==false){k.value=p;if(this.rendered){this.moveThumb(o,this.translateValue(p),h!==false);this.fireEvent("change",this,p,k);if(l){this.fireEvent("changecomplete",this,p,k)}}}},translateValue:function(d){var c=this.getRatio();return(d*c)-(this.minValue*c)-this.halfThumb},reverseValue:function(c){var d=this.getRatio();return(c+(this.minValue*d))/d},moveThumb:function(h,k,e){var g=this.thumbs[h].el;if(!e||this.animate===false){g.setLeft(k)}else{g.shift({left:k,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onResize:function(n,k){var g=this.thumbs,h=g.length,l=0;for(;l<h;++l){g[l].el.stopFx()}if(Ext.isNumber(n)){this.innerEl.setWidth(n-(this.el.getPadding("l")+this.endEl.getPadding("r")))}this.syncThumb();Ext.slider.MultiSlider.superclass.onResize.apply(this,arguments)},onDisable:function(){Ext.slider.MultiSlider.superclass.onDisable.call(this);for(var e=0;e<this.thumbs.length;e++){var g=this.thumbs[e],k=g.el;g.disable();if(Ext.isIE){var h=k.getXY();k.hide();this.innerEl.addClass(this.disabledClass).dom.disabled=true;if(!this.thumbHolder){this.thumbHolder=this.endEl.createChild({cls:"x-slider-thumb "+this.disabledClass})}this.thumbHolder.show().setXY(h)}}},onEnable:function(){Ext.slider.MultiSlider.superclass.onEnable.call(this);for(var d=0;d<this.thumbs.length;d++){var e=this.thumbs[d],g=e.el;e.enable();if(Ext.isIE){this.innerEl.removeClass(this.disabledClass).dom.disabled=false;if(this.thumbHolder){this.thumbHolder.hide()}g.show();this.syncThumb()}}},syncThumb:function(){if(this.rendered){for(var b=0;b<this.thumbs.length;b++){this.moveThumb(b,this.translateValue(this.thumbs[b].value))}}},getValue:function(b){return this.thumbs[b].value},getValues:function(){var d=[];for(var c=0;c<this.thumbs.length;c++){d.push(this.thumbs[c].value)}return d},beforeDestroy:function(){var d=this.thumbs;for(var g=0,e=d.length;g<e;++g){d[g].destroy();d[g]=null}Ext.destroyMembers(this,"endEl","innerEl","focusEl","thumbHolder");Ext.slider.MultiSlider.superclass.beforeDestroy.call(this)}});Ext.reg("multislider",Ext.slider.MultiSlider);Ext.slider.SingleSlider=Ext.extend(Ext.slider.MultiSlider,{constructor:function(b){b=b||{};Ext.applyIf(b,{values:[b.value||0]});Ext.slider.SingleSlider.superclass.constructor.call(this,b)},getValue:function(){return Ext.slider.SingleSlider.superclass.getValue.call(this,0)},setValue:function(h,e){var k=Ext.toArray(arguments),g=k.length;if(g==1||(g<=3&&typeof arguments[1]!="number")){k.unshift(0)}return Ext.slider.SingleSlider.superclass.setValue.apply(this,k)},syncThumb:function(){return Ext.slider.SingleSlider.superclass.syncThumb.apply(this,[0].concat(arguments))},getNearest:function(){return this.thumbs[0]}});Ext.Slider=Ext.slider.SingleSlider;Ext.reg("slider",Ext.slider.SingleSlider);Ext.slider.Vertical={onResize:function(d,c){this.innerEl.setHeight(c-(this.el.getPadding("t")+this.endEl.getPadding("b")));this.syncThumb()},getRatio:function(){var c=this.innerEl.getHeight(),d=this.maxValue-this.minValue;return c/d},moveThumb:function(l,n,g){var h=this.thumbs[l],k=h.el;if(!g||this.animate===false){k.setBottom(n)}else{k.shift({bottom:n,stopFx:true,duration:0.35})}},onClickChange:function(k){if(k.left>this.clickRange[0]&&k.left<this.clickRange[1]){var g=this.getNearest(k,"top"),e=g.index,h=this.minValue+this.reverseValue(this.innerEl.getHeight()-k.top);this.setValue(e,Ext.util.Format.round(h,this.decimalPrecision),undefined,true)}}};Ext.slider.Thumb.Vertical={getNewValue:function(){var e=this.slider,k=e.innerEl,h=k.translatePoints(this.tracker.getXY()),g=k.getHeight()-h.top;return e.minValue+Ext.util.Format.round(g/e.getRatio(),e.decimalPrecision)}};Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",animate:false,waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(l,h){var n=new Ext.Template('<div class="{cls}-wrap">','<div class="{cls}-inner">','<div class="{cls}-bar">','<div class="{cls}-text">',"<div>&#160;</div>","</div>","</div>",'<div class="{cls}-text {cls}-text-back">',"<div>&#160;</div>","</div>","</div>","</div>");this.el=h?n.insertBefore(h,{cls:this.baseCls},true):n.append(l,{cls:this.baseCls},true);if(this.id){this.el.dom.id=this.id}var g=this.el.dom.firstChild;this.progressBar=Ext.get(g.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var k=Ext.get(g.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,k.dom.firstChild]);this.textEl.setWidth(g.offsetWidth)}this.progressBar.setHeight(g.offsetHeight)},afterRender:function(){Ext.ProgressBar.superclass.afterRender.call(this);if(this.value){this.updateProgress(this.value,this.text)}else{this.updateText(this.text)}},updateProgress:function(k,h,e){this.value=k||0;if(h){this.updateText(h)}if(this.rendered&&!this.isDestroyed){var g=Math.floor(k*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(g,e===true||(e!==false&&this.animate));if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(g)}}this.fireEvent("update",this,k,h);return this},wait:function(c){if(!this.waitTimer){var d=this;c=c||{};this.updateText(c.text);this.waitTimer=Ext.TaskMgr.start({run:function(b){var a=c.increment||10;b-=1;this.updateProgress(((((b+a)%a)+1)*(100/a))*0.01,null,c.animate)},interval:c.interval||1000,duration:c.duration,onStop:function(){if(c.fn){c.fn.apply(c.scope||this)}this.reset()},scope:d})}return this},isWaiting:function(){return this.waitTimer!==null},updateText:function(b){this.text=b||"&#160;";if(this.rendered){this.textEl.update(this.text)}return this},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)}return this},setSize:function(e,g){Ext.ProgressBar.superclass.setSize.call(this,e,g);if(this.textTopEl){var d=this.el.dom.firstChild;this.textEl.setSize(d.offsetWidth,d.offsetHeight)}this.syncProgressBar();return this},reset:function(b){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass("x-hidden")}this.clearTimer();if(b===true){this.hide()}return this},clearTimer:function(){if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}},onDestroy:function(){this.clearTimer();if(this.rendered){if(this.textEl.isComposite){this.textEl.clear()}Ext.destroyMembers(this,"textEl","progressBar","textTopEl")}Ext.ProgressBar.superclass.onDestroy.call(this)}});Ext.reg("progress",Ext.ProgressBar);(function(){var d=Ext.EventManager;var c=Ext.lib.Dom;Ext.dd.DragDrop=function(a,g,b){if(a){this.init(a,g,b)}};Ext.dd.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(b,a){},startDrag:function(b,a){},b4Drag:function(a){},onDrag:function(a){},onDragEnter:function(b,a){},b4DragOver:function(a){},onDragOver:function(b,a){},b4DragOut:function(a){},onDragOut:function(b,a){},b4DragDrop:function(a){},onDragDrop:function(b,a){},onInvalidDrop:function(a){},b4EndDrag:function(a){},endDrag:function(a){},b4MouseDown:function(a){},onMouseDown:function(a){},onMouseUp:function(a){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(t,v,a){if(Ext.isNumber(v)){v={left:v,right:v,top:v,bottom:v}}v=v||this.defaultPadding;var r=Ext.get(this.getEl()).getBox(),y=Ext.get(t),b=y.getScroll(),s,x=y.dom;if(x==document.body){s={x:b.left,y:b.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var q=y.getXY();s={x:q[0],y:q[1],width:x.clientWidth,height:x.clientHeight}}var u=r.y-s.y,w=r.x-s.x;this.resetConstraints();this.setXConstraint(w-(v.left||0),s.width-w-r.width-(v.right||0),this.xTickSize);this.setYConstraint(u-(v.top||0),s.height-u-r.height-(v.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(a,g,b){this.initTarget(a,g,b);d.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(a,g,b){this.config=b||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof a!=="string"){a=Ext.id(a)}this.id=a;this.addToGroup((g)?g:"default");this.handleElId=a;this.setDragElId(a);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(b,k,a,h){if(!k&&0!==k){this.padding=[b,b,b,b]}else{if(!a&&0!==a){this.padding=[b,k,b,k]}else{this.padding=[b,k,a,h]}}},setInitPosition:function(k,l){var b=this.getEl();if(!this.DDM.verifyEl(b)){return}var n=k||0;var o=l||0;var a=c.getXY(b);this.initPageX=a[0]-n;this.initPageY=a[1]-o;this.lastPageX=a[0];this.lastPageY=a[1];this.setStartPosition(a)},setStartPosition:function(a){var b=a||c.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=b[0];this.startPageY=b[1]},addToGroup:function(a){this.groups[a]=true;this.DDM.regDragDrop(this,a)},removeFromGroup:function(a){if(this.groups[a]){delete this.groups[a]}this.DDM.removeDDFromGroup(this,a)},setDragElId:function(a){this.dragElId=a},setHandleElId:function(a){if(typeof a!=="string"){a=Ext.id(a)}this.handleElId=a;this.DDM.regHandle(this.id,a)},setOuterHandleElId:function(a){if(typeof a!=="string"){a=Ext.id(a)}d.on(a,"mousedown",this.handleMouseDown,this);this.setHandleElId(a);this.hasOuterHandles=true},unreg:function(){d.un(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDM.isLocked()||this.locked)},handleMouseDown:function(a,b){if(this.primaryButtonOnly&&a.button!=0){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var e=new Ext.lib.Point(Ext.lib.Event.getPageX(a),Ext.lib.Event.getPageY(a));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(e,this)){}else{if(this.clickValidator(a)){this.setStartPosition();this.b4MouseDown(a);this.onMouseDown(a);this.DDM.handleMouseDown(a,this);this.DDM.stopEvent(a)}else{}}},clickValidator:function(a){var b=a.getTarget();return(this.isValidHandleChild(b)&&(this.id==this.handleElId||this.DDM.handleWasClicked(b,this.id)))},addInvalidHandleType:function(b){var a=b.toUpperCase();this.invalidHandleTypes[a]=a},addInvalidHandleId:function(a){if(typeof a!=="string"){a=Ext.id(a)}this.invalidHandleIds[a]=a},addInvalidHandleClass:function(a){this.invalidHandleClasses.push(a)},removeInvalidHandleType:function(b){var a=b.toUpperCase();delete this.invalidHandleTypes[a]},removeInvalidHandleId:function(a){if(typeof a!=="string"){a=Ext.id(a)}delete this.invalidHandleIds[a]},removeInvalidHandleClass:function(b){for(var a=0,g=this.invalidHandleClasses.length;a<g;++a){if(this.invalidHandleClasses[a]==b){delete this.invalidHandleClasses[a]}}},isValidHandleChild:function(e){var n=true;var a;try{a=e.nodeName.toUpperCase()}catch(b){a=e.nodeName}n=n&&!this.invalidHandleTypes[a];n=n&&!this.invalidHandleIds[e.id];for(var o=0,p=this.invalidHandleClasses.length;n&&o<p;++o){n=!Ext.fly(e).hasClass(this.invalidHandleClasses[o])}return n},setXTicks:function(a,k){this.xTicks=[];this.xTickSize=k;var b={};for(var h=this.initPageX;h>=this.minX;h=h-k){if(!b[h]){this.xTicks[this.xTicks.length]=h;b[h]=true}}for(h=this.initPageX;h<=this.maxX;h=h+k){if(!b[h]){this.xTicks[this.xTicks.length]=h;b[h]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(a,k){this.yTicks=[];this.yTickSize=k;var b={};for(var h=this.initPageY;h>=this.minY;h=h-k){if(!b[h]){this.yTicks[this.yTicks.length]=h;b[h]=true}}for(h=this.initPageY;h<=this.maxY;h=h+k){if(!b[h]){this.yTicks[this.yTicks.length]=h;b[h]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(a,b,g){this.leftConstraint=a;this.rightConstraint=b;this.minX=this.initPageX-a;this.maxX=this.initPageX+b;if(g){this.setXTicks(this.initPageX,g)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(g,a,b){this.topConstraint=g;this.bottomConstraint=a;this.minY=this.initPageY-g;this.maxY=this.initPageY+a;if(b){this.setYTicks(this.initPageY,b)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var a=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var b=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(a,b)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(a,o){if(!o){return a}else{if(o[0]>=a){return o[0]}else{for(var q=0,r=o.length;q<r;++q){var p=q+1;if(o[p]&&o[p]>=a){var b=a-o[q];var n=o[p]-a;return(n>b)?o[q]:o[p]}}return o[o.length-1]}}},toString:function(){return("DragDrop "+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var b=Ext.EventManager;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(l,n){for(var k in this.ids){for(var a in this.ids[k]){var h=this.ids[k][a];if(!this.isTypeOfDD(h)){continue}h[l].apply(h,n)}}},_onLoad:function(){this.init();b.on(document,"mouseup",this.handleMouseUp,this,true);b.on(document,"mousemove",this.handleMouseMove,this,true);b.on(window,"unload",this._onUnload,this,true);b.on(window,"resize",this._onResize,this,true)},_onResize:function(a){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(d,a){if(!this.initialized){this.init()}if(!this.ids[a]){this.ids[a]={}}this.ids[a][d.id]=d},removeDDFromGroup:function(e,a){if(!this.ids[a]){this.ids[a]={}}var g=this.ids[a];if(g&&g[e.id]){delete g[e.id]}},_remove:function(d){for(var a in d.groups){if(a&&this.ids[a]&&this.ids[a][d.id]){delete this.ids[a][d.id]}}delete this.handleIds[d.id]},regHandle:function(d,a){if(!this.handleIds[d]){this.handleIds[d]={}}this.handleIds[d][a]=a},isDragDrop:function(a){return(this.getDDById(a))?true:false},getRelated:function(k,p){var l=[];for(var n in k.groups){for(var o in this.ids[n]){var a=this.ids[n][o];if(!this.isTypeOfDD(a)){continue}if(!p||a.isTarget){l[l.length]=a}}}return l},isLegalTarget:function(h,k){var n=this.getRelated(h,true);for(var l=0,a=n.length;l<a;++l){if(n[l].id==k.id){return true}}return false},isTypeOfDD:function(a){return(a&&a.__ygDragDrop)},isHandle:function(d,a){return(this.handleIds[d]&&this.handleIds[d][a])},getDDById:function(d){for(var a in this.ids){if(this.ids[a][d]){return this.ids[a][d]}}return null},handleMouseDown:function(e,g){if(Ext.QuickTips){Ext.QuickTips.ddDisable()}if(this.dragCurrent){this.handleMouseUp(e)}this.currentTarget=e.getTarget();this.dragCurrent=g;var a=g.getEl();this.startX=e.getPageX();this.startY=e.getPageY();this.deltaX=this.startX-a.offsetLeft;this.deltaY=this.startY-a.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var c=Ext.dd.DDM;c.startDrag(c.startX,c.startY)},this.clickTimeThresh)},startDrag:function(a,d){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(a,d);this.dragCurrent.startDrag(a,d)}this.dragThreshMet=true},handleMouseUp:function(a){if(Ext.QuickTips){Ext.QuickTips.ddEnable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(a,true)}else{}this.stopDrag(a);this.stopEvent(a)},stopEvent:function(a){if(this.stopPropagation){a.stopPropagation()}if(this.preventDefault){a.preventDefault()}},stopDrag:function(a){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(a);this.dragCurrent.endDrag(a)}this.dragCurrent.onMouseUp(a)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(e){if(!this.dragCurrent){return true}if(Ext.isIE&&(e.button!==0&&e.button!==1&&e.button!==2)){this.stopEvent(e);return this.handleMouseUp(e)}if(!this.dragThreshMet){var g=Math.abs(this.startX-e.getPageX());var a=Math.abs(this.startY-e.getPageY());if(g>this.clickPixelThresh||a>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);if(!this.dragCurrent.moveOnly){this.fireEvents(e,false)}}this.stopEvent(e);return true},fireEvents:function(u,t){var a=this.dragCurrent;if(!a||a.isLocked()){return}var E=u.getPoint();var D=[];var A=[];var w=[];var y=[];var B=[];for(var z in this.dragOvers){var C=this.dragOvers[z];if(!this.isTypeOfDD(C)){continue}if(!this.isOverTarget(E,C,this.mode)){A.push(C)}D[z]=true;delete this.dragOvers[z]}for(var e in a.groups){if("string"!=typeof e){continue}for(z in this.ids[e]){var x=this.ids[e][z];if(!this.isTypeOfDD(x)){continue}if(x.isTarget&&!x.isLocked()&&((x!=a)||(a.ignoreSelf===false))){if(this.isOverTarget(E,x,this.mode)){if(t){y.push(x)}else{if(!D[x.id]){B.push(x)}else{w.push(x)}this.dragOvers[x.id]=x}}}}}if(this.mode){if(A.length){a.b4DragOut(u,A);a.onDragOut(u,A)}if(B.length){a.onDragEnter(u,B)}if(w.length){a.b4DragOver(u,w);a.onDragOver(u,w)}if(y.length){a.b4DragDrop(u,y);a.onDragDrop(u,y)}}else{var v=0;for(z=0,v=A.length;z<v;++z){a.b4DragOut(u,A[z].id);a.onDragOut(u,A[z].id)}for(z=0,v=B.length;z<v;++z){a.onDragEnter(u,B[z].id)}for(z=0,v=w.length;z<v;++z){a.b4DragOver(u,w[z].id);a.onDragOver(u,w[z].id)}for(z=0,v=y.length;z<v;++z){a.b4DragDrop(u,y[z].id);a.onDragDrop(u,y[z].id)}}if(t&&!y.length){a.onInvalidDrop(u)}},getBestMatch:function(l){var h=null;var n=l.length;if(n==1){h=l[0]}else{for(var k=0;k<n;++k){var a=l[k];if(a.cursorIsOver){h=a;break}else{if(!h||h.overlap.getArea()<a.overlap.getArea()){h=a}}}}return h},refreshCache:function(n){for(var a in n){if("string"!=typeof a){continue}for(var l in this.ids[a]){var k=this.ids[a][l];if(this.isTypeOfDD(k)){var h=this.getLocation(k);if(h){this.locationCache[k.id]=h}else{delete this.locationCache[k.id]}}}}},verifyEl:function(g){if(g){var a;if(Ext.isIE){try{a=g.offsetParent}catch(e){}}else{a=g.offsetParent}if(a){return true}}return false},getLocation:function(u){if(!this.isTypeOfDD(u)){return null}var w=u.getEl(),l,x,y,a,e,A,z,r,v;try{l=Ext.lib.Dom.getXY(w)}catch(t){}if(!l){return null}x=l[0];y=x+w.offsetWidth;a=l[1];e=a+w.offsetHeight;A=a-u.padding[0];z=y+u.padding[1];r=e+u.padding[2];v=x-u.padding[3];return new Ext.lib.Region(A,z,r,v)},isOverTarget:function(a,u,s){var q=this.locationCache[u.id];if(!q||!this.useCache){q=this.getLocation(u);this.locationCache[u.id]=q}if(!q){return false}u.cursorIsOver=q.contains(a);var n=this.dragCurrent;if(!n||!n.getTargetCoord||(!s&&!n.constrainX&&!n.constrainY)){return u.cursorIsOver}u.overlap=null;var p=n.getTargetCoord(a.x,a.y);var t=n.getDragEl();var r=new Ext.lib.Region(p.y,p.x+t.offsetWidth,p.y+t.offsetHeight,p.x);var o=r.intersect(q);if(o){u.overlap=o;return(s)?true:u.cursorIsOver}else{return false}},_onUnload:function(d,a){Ext.dd.DragDropMgr.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var a in this.elementCache){delete this.elementCache[a]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(d){var a=this.elementCache[d];if(!a||!a.el){a=this.elementCache[d]=new this.ElementWrapper(Ext.getDom(d))}return a},getElement:function(a){return Ext.getDom(a)},getCss:function(d){var a=Ext.getDom(d);return(a)?a.style:null},ElementWrapper:function(a){this.el=a||null;this.id=this.el&&a.id;this.css=this.el&&a.style},getPosX:function(a){return Ext.lib.Dom.getX(a)},getPosY:function(a){return Ext.lib.Dom.getY(a)},swapNode:function(h,a){if(h.swapNode){h.swapNode(a)}else{var g=a.parentNode;var k=a.nextSibling;if(k==h){g.insertBefore(h,a)}else{if(a==h.nextSibling){g.insertBefore(a,h)}else{h.parentNode.replaceChild(a,h);g.insertBefore(h,k)}}}},getScroll:function(){var h,a,g=document.documentElement,k=document.body;if(g&&(g.scrollTop||g.scrollLeft)){h=g.scrollTop;a=g.scrollLeft}else{if(k){h=k.scrollTop;a=k.scrollLeft}else{}}return{top:h,left:a}},getStyle:function(d,a){return Ext.fly(d).getStyle(a)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(a,e){var g=Ext.lib.Dom.getXY(e);Ext.lib.Dom.setXY(a,g)},numericSort:function(a,e){return(a-e)},_timeoutCount:0,_addListeners:function(){var a=Ext.dd.DDM;if(Ext.lib.Event&&document){a._onLoad()}else{if(a._timeoutCount>2000){}else{setTimeout(a._addListeners,10);if(document&&document.body){a._timeoutCount+=1}}}},handleWasClicked:function(a,e){if(this.isHandle(e,a.id)){return true}else{var g=a.parentNode;while(g){if(this.isHandle(e,g.id)){return true}else{g=g.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(g,e,d){if(g){this.init(g,e,d)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(k,e){var g=k-this.startPageX;var h=e-this.startPageY;this.setDelta(g,h)},setDelta:function(c,d){this.deltaX=c;this.deltaY=d},setDragElPos:function(g,d){var e=this.getDragEl();this.alignElWithMouse(e,g,d)},alignElWithMouse:function(s,o,p){var q=this.getTargetCoord(o,p);var k=s.dom?s:Ext.fly(s,"_dd");if(!this.deltaSetXY){var n=[q.x,q.y];k.setXY(n);var r=k.getLeft(true);var l=k.getTop(true);this.deltaSetXY=[r-q.x,l-q.y]}else{k.setLeftTop(q.x+this.deltaSetXY[0],q.y+this.deltaSetXY[1])}this.cachePosition(q.x,q.y);this.autoScroll(q.x,q.y,s.offsetHeight,s.offsetWidth);return q},cachePosition:function(d,e){if(d){this.lastPageX=d;this.lastPageY=e}else{var g=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=g[0];this.lastPageY=g[1]}},autoScroll:function(u,v,z,t){if(this.scroll){var s=Ext.lib.Dom.getViewHeight();var C=Ext.lib.Dom.getViewWidth();var h=this.DDM.getScrollTop();var A=this.DDM.getScrollLeft();var w=z+v;var r=t+u;var x=(s+h-v-this.deltaY);var y=(C+A-u-this.deltaX);var B=40;var D=(document.all)?80:30;if(w>s&&x<B){window.scrollTo(A,h+D)}if(v<h&&h>0&&v-h<B){window.scrollTo(A,h-D)}if(r>C&&y<B){window.scrollTo(A+D,h)}if(u<A&&A>0&&u-A<B){window.scrollTo(A-D,h)}}},getTargetCoord:function(k,e){var g=k-this.deltaX;var h=e-this.deltaY;if(this.constrainX){if(g<this.minX){g=this.minX}if(g>this.maxX){g=this.maxX}}if(this.constrainY){if(h<this.minY){h=this.minY}if(h>this.maxY){h=this.maxY}}g=this.getTick(g,this.xTicks);h=this.getTick(h,this.yTicks);return{x:g,y:h}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(b){this.autoOffset(b.getPageX(),b.getPageY())},b4Drag:function(b){this.setDragElPos(b.getPageX(),b.getPageY())},toString:function(){return("DD "+this.id)}});Ext.dd.DDProxy=function(g,e,d){if(g){this.init(g,e,d);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var e=this;var g=document.body;if(!g||!g.firstChild){setTimeout(function(){e.createFrame()},50);return}var h=this.getDragEl();if(!h){h=document.createElement("div");h.id=this.dragElId;var k=h.style;k.position="absolute";k.visibility="hidden";k.cursor="move";k.border="2px solid #aaa";k.zIndex=999;g.insertBefore(h,g.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){Ext.dd.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(k,l){var n=this.getEl();var h=this.getDragEl();var g=h.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(g.width,10)/2),Math.round(parseInt(g.height,10)/2))}this.setDragElPos(k,l);Ext.fly(h).show()},_resizeProxy:function(){if(this.resizeFrame){var b=this.getEl();Ext.fly(this.getDragEl()).setSize(b.offsetWidth,b.offsetHeight)}},b4MouseDown:function(d){var e=d.getPageX();var g=d.getPageY();this.autoOffset(e,g);this.setDragElPos(e,g)},b4StartDrag:function(d,c){this.showFrame(d,c)},b4EndDrag:function(b){Ext.fly(this.getDragEl()).hide()},endDrag:function(g){var d=this.getEl();var e=this.getDragEl();e.style.visibility="";this.beforeMove();d.style.visibility="hidden";Ext.dd.DDM.moveToEl(d,e);e.style.visibility="hidden";d.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.dd.DDTarget=function(g,e,d){if(g){this.initTarget(g,e,d)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.dd.DragTracker=Ext.extend(Ext.util.Observable,{active:false,tolerance:5,autoStart:false,constructor:function(b){Ext.apply(this,b);this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}Ext.dd.DragTracker.superclass.constructor.call(this,b)},initEl:function(b){this.el=Ext.get(b);b.on("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un("mousedown",this.onMouseDown,this);delete this.el},onMouseDown:function(c,d){if(this.fireEvent("mousedown",this,c)!==false&&this.onBeforeStart(c)!==false){this.startXY=this.lastXY=c.getXY();this.dragTarget=this.delegate?d:this.el.dom;if(this.preventDefault!==false){c.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this,[c])}}},onMouseMove:function(h,k){if(this.active&&Ext.isIE&&!h.browserEvent.button){h.preventDefault();this.onMouseUp(h);return}h.preventDefault();var e=h.getXY(),g=this.startXY;this.lastXY=e;if(!this.active){if(Math.abs(g[0]-e[0])>this.tolerance||Math.abs(g[1]-e[1])>this.tolerance){this.triggerStart(h)}else{return}}this.fireEvent("mousemove",this,h);this.onDrag(h);this.fireEvent("drag",this,h)},onMouseUp:function(g){var d=Ext.getDoc(),e=this.active;d.un("mousemove",this.onMouseMove,this);d.un("mouseup",this.onMouseUp,this);d.un("selectstart",this.stopSelect,this);g.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,g);if(e){this.onEnd(g);this.fireEvent("dragend",this,g)}},triggerStart:function(b){this.clearStart();this.active=true;this.onStart(b);this.fireEvent("dragstart",this,b)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(b){b.stopEvent();return false},onBeforeStart:function(b){},onStart:function(b){},onDrag:function(b){},onEnd:function(b){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(b){return b?this.constrainModes[b].call(this,this.lastXY):this.lastXY},getOffset:function(g){var d=this.getXY(g),e=this.startXY;return[e[0]-d[0],e[1]-d[1]]},constrainModes:{point:function(c){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var d=this.dragRegion;d.left=c[0];d.top=c[1];d.right=c[0];d.bottom=c[1];d.constrainTo(this.elRegion);return[d.left,d.top]}}});Ext.dd.ScrollManager=function(){var u=Ext.dd.DragDropMgr;var s={};var v=null;var p={};var q=function(a){v=null;w()};var o=function(){if(u.dragCurrent){u.refreshCache(u.dragCurrent.groups)}};var t=function(){if(u.dragCurrent){var a=Ext.dd.ScrollManager;var b=p.el.ddScrollConfig?p.el.ddScrollConfig.increment:a.increment;if(!a.animate){if(p.el.scroll(p.dir,b)){o()}}else{p.el.scroll(p.dir,b,true,a.animDuration,o)}}};var w=function(){if(p.id){clearInterval(p.id)}p.id=0;p.el=null;p.dir=""};var r=function(d,a){w();p.el=d;p.dir=a;var b=d.ddScrollConfig?d.ddScrollConfig.ddGroup:undefined,c=(d.ddScrollConfig&&d.ddScrollConfig.frequency)?d.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;if(b===undefined||u.dragCurrent.ddGroup==b){p.id=setInterval(t,c)}};var n=function(b,l){if(l||!u.dragCurrent){return}var k=Ext.dd.ScrollManager;if(!v||v!=u.dragCurrent){v=u.dragCurrent;k.refreshCache()}var h=Ext.lib.Event.getXY(b);var g=new Ext.lib.Point(h[0],h[1]);for(var d in s){var c=s[d],e=c._region;var a=c.ddScrollConfig?c.ddScrollConfig:k;if(e&&e.contains(g)&&c.isScrollable()){if(e.bottom-g.y<=a.vthresh){if(p.el!=c){r(c,"down")}return}else{if(e.right-g.x<=a.hthresh){if(p.el!=c){r(c,"left")}return}else{if(g.y-e.top<=a.vthresh){if(p.el!=c){r(c,"up")}return}else{if(g.x-e.left<=a.hthresh){if(p.el!=c){r(c,"right")}return}}}}}}w()};u.fireEvents=u.fireEvents.createSequence(n,u);u.stopDrag=u.stopDrag.createSequence(q,u);return{register:function(b){if(Ext.isArray(b)){for(var c=0,a=b.length;c<a;c++){this.register(b[c])}}else{b=Ext.get(b);s[b.id]=b}},unregister:function(b){if(Ext.isArray(b)){for(var c=0,a=b.length;c<a;c++){this.unregister(b[c])}}else{b=Ext.get(b);delete s[b.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,ddGroup:undefined,refreshCache:function(){for(var a in s){if(typeof s[a]=="object"){s[a]._region=s[a].getRegion()}}}}}();Ext.dd.Registry=function(){var h={};var e={};var g=0;var k=function(b,c){if(typeof b=="string"){return b}var a=b.id;if(!a&&c!==false){a="extdd-"+(++g);b.id=a}return a};return{register:function(b,a){a=a||{};if(typeof b=="string"){b=document.getElementById(b)}a.ddel=b;h[k(b)]=a;if(a.isHandle!==false){e[a.ddel.id]=a}if(a.handles){var c=a.handles;for(var d=0,n=c.length;d<n;d++){e[k(c[d])]=a}}},unregister:function(c){var a=k(c,false);var b=h[a];if(b){delete h[a];if(b.handles){var d=b.handles;for(var n=0,o=d.length;n<o;n++){delete e[k(d[n],false)]}}}},getHandle:function(a){if(typeof a!="string"){a=a.id}return e[a]},getHandleFromEvent:function(a){var b=Ext.lib.Event.getTarget(a);return b?e[b.id]:null},getTarget:function(a){if(typeof a!="string"){a=a.id}return h[a]},getTargetFromEvent:function(a){var b=Ext.lib.Event.getTarget(a);return b?h[b.id]||e[b.id]:null}}}();Ext.dd.StatusProxy=function(b){Ext.apply(this,b);this.id=this.id||Ext.id();this.el=new Ext.Layer({dh:{id:this.id,tag:"div",cls:"x-dd-drag-proxy "+this.dropNotAllowed,children:[{tag:"div",cls:"x-dd-drop-icon"},{tag:"div",cls:"x-dd-drag-ghost"}]},shadow:!b||b.shadow!==false});this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed};Ext.dd.StatusProxy.prototype={dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",setStatus:function(b){b=b||this.dropNotAllowed;if(this.dropStatus!=b){this.el.replaceClass(this.dropStatus,b);this.dropStatus=b}},reset:function(b){this.el.dom.className="x-dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(b){this.ghost.update("")}},update:function(d){if(typeof d=="string"){this.ghost.update(d)}else{this.ghost.update("");d.style.margin="0";this.ghost.dom.appendChild(d)}var c=this.ghost.dom.firstChild;if(c){Ext.fly(c).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(b){this.el.hide();if(b){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.el.show()},sync:function(){this.el.sync()},repair:function(d,g,e){this.callback=g;this.scope=e;if(d&&this.animRepair!==false){this.el.addClass("x-dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||0.5,easing:"easeOut",xy:d,stopFx:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.el)}};Ext.dd.DragSource=function(c,d){this.el=Ext.get(c);if(!this.dragData){this.dragData={}}Ext.apply(this,d);if(!this.proxy){this.proxy=new Ext.dd.StatusProxy()}Ext.dd.DragSource.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true});this.dragging=false};Ext.extend(Ext.dd.DragSource,Ext.dd.DDProxy,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",getDragData:function(b){return this.dragData},onDragEnter:function(k,h){var e=Ext.dd.DragDropMgr.getDDById(h);this.cachedTarget=e;if(this.beforeDragEnter(e,k,h)!==false){if(e.isNotifyTarget){var g=e.notifyEnter(this,k,this.dragData);this.proxy.setStatus(g)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(e,k,h)}}},beforeDragEnter:function(d,e,g){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(k,h){var e=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(h);if(this.beforeDragOver(e,k,h)!==false){if(e.isNotifyTarget){var g=e.notifyOver(this,k,this.dragData);this.proxy.setStatus(g)}if(this.afterDragOver){this.afterDragOver(e,k,h)}}},beforeDragOver:function(d,e,g){return true},onDragOut:function(d,g){var e=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(g);if(this.beforeDragOut(e,d,g)!==false){if(e.isNotifyTarget){e.notifyOut(this,d,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(e,d,g)}}this.cachedTarget=null},beforeDragOut:function(d,e,g){return true},onDragDrop:function(d,g){var e=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(g);if(this.beforeDragDrop(e,d,g)!==false){if(e.isNotifyTarget){if(e.notifyDrop(this,d,this.dragData)){this.onValidDrop(e,d,g)}else{this.onInvalidDrop(e,d,g)}}else{this.onValidDrop(e,d,g)}if(this.afterDragDrop){this.afterDragDrop(e,d,g)}}delete this.cachedTarget},beforeDragDrop:function(d,e,g){return true},onValidDrop:function(d,e,g){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(d,e,g)}},getRepairXY:function(c,d){return this.el.getXY()},onInvalidDrop:function(d,e,g){this.beforeInvalidDrop(d,e,g);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,g)}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||"c3daf9")}this.dragging=false},beforeInvalidDrop:function(d,e,g){return true},handleMouseDown:function(c){if(this.dragging){return}var d=this.getDragData(c);if(d&&this.onBeforeDrag(d,c)!==false){this.dragData=d;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)}},onBeforeDrag:function(d,c){return true},onStartDrag:Ext.emptyFn,startDrag:function(d,c){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(d,c);this.proxy.show()},onInitDrag:function(e,g){var d=this.el.dom.cloneNode(true);d.id=Ext.id();this.proxy.update(d);this.onStartDrag(e,g);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(b){},endDrag:function(b){this.onEndDrag(this.dragData,b)},onEndDrag:function(d,c){},autoOffset:function(d,c){this.setDelta(-12,-20)},destroy:function(){Ext.dd.DragSource.superclass.destroy.call(this);Ext.destroy(this.proxy)}});Ext.dd.DropTarget=Ext.extend(Ext.dd.DDTarget,{constructor:function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true})},dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(e,g,d){if(this.overClass){this.el.addClass(this.overClass)}return this.dropAllowed},notifyOver:function(e,g,d){return this.dropAllowed},notifyOut:function(e,g,d){if(this.overClass){this.el.removeClass(this.overClass)}},notifyDrop:function(e,g,d){return false},destroy:function(){Ext.dd.DropTarget.superclass.destroy.call(this);if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.dd.DragZone=Ext.extend(Ext.dd.DragSource,{constructor:function(c,d){Ext.dd.DragZone.superclass.constructor.call(this,c,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}},getDragData:function(b){return Ext.dd.Registry.getHandleFromEvent(b)},onInitDrag:function(d,c){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(d,c);return true},afterRepair:function(){if(Ext.enableFx){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false},getRepairXY:function(b){return Ext.Element.fly(this.dragData.ddel).getXY()},destroy:function(){Ext.dd.DragZone.superclass.destroy.call(this);if(this.containerScroll){Ext.dd.ScrollManager.unregister(this.el)}}});Ext.dd.DropZone=function(c,d){Ext.dd.DropZone.superclass.constructor.call(this,c,d)};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(b){return Ext.dd.Registry.getTargetFromEvent(b)},onNodeEnter:function(h,g,k,e){},onNodeOver:function(h,g,k,e){return this.dropAllowed},onNodeOut:function(h,g,k,e){},onNodeDrop:function(h,g,k,e){return false},onContainerOver:function(e,g,d){return this.dropNotAllowed},onContainerDrop:function(e,g,d){return false},notifyEnter:function(e,g,d){return this.dropNotAllowed},notifyOver:function(g,k,e){var h=this.getTargetFromEvent(k);if(!h){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,g,k,e);this.lastOverNode=null}return this.onContainerOver(g,k,e)}if(this.lastOverNode!=h){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,g,k,e)}this.onNodeEnter(h,g,k,e);this.lastOverNode=h}return this.onNodeOver(h,g,k,e)},notifyOut:function(e,g,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,e,g,d);this.lastOverNode=null}},notifyDrop:function(g,k,e){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,g,k,e);this.lastOverNode=null}var h=this.getTargetFromEvent(k);return h?this.onNodeDrop(h,g,k,e):this.onContainerDrop(g,k,e)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.Element.addMethods({initDD:function(k,e,h){var g=new Ext.dd.DD(Ext.id(this.dom),k,e);return Ext.apply(g,h)},initDDProxy:function(k,e,h){var g=new Ext.dd.DDProxy(Ext.id(this.dom),k,e);return Ext.apply(g,h)},initDDTarget:function(k,e,h){var g=new Ext.dd.DDTarget(Ext.id(this.dom),k,e);return Ext.apply(g,h)}});Ext.data.Api=(function(){var b={};return{actions:{create:"create",read:"read",update:"update",destroy:"destroy"},restActions:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"},isAction:function(a){return(Ext.data.Api.actions[a])?true:false},getVerb:function(a){if(b[a]){return b[a]}for(var d in this.actions){if(this.actions[d]===a){b[a]=d;break}}return(b[a]!==undefined)?b[a]:null},isValid:function(a){var g=[];var h=this.actions;for(var k in a){if(!(k in h)){g.push(k)}}return(!g.length)?true:g},hasUniqueUrl:function(n,h){var a=(n.api[h])?n.api[h].url:null;var k=true;for(var l in n.api){if((k=(l===h)?true:(n.api[l].url!=a)?true:false)===false){break}}return k},prepare:function(a){if(!a.api){a.api={}}for(var e in this.actions){var g=this.actions[e];a.api[g]=a.api[g]||a.url||a.directFn;if(typeof(a.api[g])=="string"){a.api[g]={url:a.api[g],method:(a.restful===true)?Ext.data.Api.restActions[g]:undefined}}}},restify:function(a){a.restful=true;for(var d in this.restActions){a.api[this.actions[d]].method||(a.api[this.actions[d]].method=this.restActions[d])}a.onWrite=a.onWrite.createInterceptor(function(l,c,o,p){var q=c.reader;var n=new Ext.data.Response({action:l,raw:o});switch(o.status){case 200:return true;break;case 201:if(Ext.isEmpty(n.raw.responseText)){n.success=true}else{return true}break;case 204:n.success=true;n.data=null;break;default:return true;break}if(n.success===true){this.fireEvent("write",this,l,n.data,n,p,c.request.arg)}else{this.fireEvent("exception",this,"remote",l,c,n,p)}c.request.callback.call(c.request.scope,n.data,n,n.success);return false},a)}}})();Ext.data.Response=function(c,d){Ext.apply(this,c,{raw:d})};Ext.data.Response.prototype={message:null,success:false,status:null,root:null,raw:null,getMessage:function(){return this.message},getSuccess:function(){return this.success},getStatus:function(){return this.status},getRoot:function(){return this.root},getRawResponse:function(){return this.raw}};Ext.data.Api.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.Api"});Ext.apply(Ext.data.Api.Error.prototype,{lang:{"action-url-undefined":"No fallback url defined for this action.  When defining a DataProxy api, please be sure to define an url for each CRUD action in Ext.data.Api.actions or define a default url in addition to your api-configuration.",invalid:"received an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions defined in Ext.data.Api.actions","invalid-url":"Invalid url.  Please review your proxy configuration.",execute:'Attempted to execute an unknown action.  Valid API actions are defined in Ext.data.Api.actions"'}});Ext.data.SortTypes={none:function(b){return b},stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return String(b).replace(this.stripTagsRE,"")},asUCText:function(b){return String(b).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(b){return String(b).toUpperCase()},asDate:function(b){if(!b){return 0}if(Ext.isDate(b)){return b.getTime()}return Date.parse(String(b))},asFloat:function(d){var c=parseFloat(String(d).replace(/,/g,""));return isNaN(c)?0:c},asInt:function(d){var c=parseInt(String(d).replace(/,/g,""),10);return isNaN(c)?0:c}};Ext.data.Record=function(d,c){this.id=(c||c===0)?c:Ext.data.Record.id(this);this.data=d||{}};Ext.data.Record.create=function(k){var n=Ext.extend(Ext.data.Record,{});var l=n.prototype;l.fields=new Ext.util.MixedCollection(false,function(a){return a.name});for(var g=0,h=k.length;g<h;g++){l.fields.add(new Ext.data.Field(k[g]))}n.getField=function(a){return l.fields.get(a)};return n};Ext.data.Record.PREFIX="ext-record";Ext.data.Record.AUTO_ID=1;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.id=function(b){b.phantom=true;return[Ext.data.Record.PREFIX,"-",Ext.data.Record.AUTO_ID++].join("")};Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,phantom:false,join:function(b){this.store=b},set:function(e,g){var d=Ext.isPrimitive(g)?String:Ext.encode;if(d(this.data[e])==d(g)){return}this.dirty=true;if(!this.modified){this.modified={}}if(this.modified[e]===undefined){this.modified[e]=this.data[e]}this.data[e]=g;if(!this.editing){this.afterEdit()}},afterEdit:function(){if(this.store!=undefined&&typeof this.store.afterEdit=="function"){this.store.afterEdit(this)}},afterReject:function(){if(this.store){this.store.afterReject(this)}},afterCommit:function(){if(this.store){this.store.afterCommit(this)}},get:function(b){return this.data[b]},beginEdit:function(){this.editing=true;this.modified=this.modified||{}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty){this.afterEdit()}},reject:function(d){var e=this.modified;for(var g in e){if(typeof e[g]!="function"){this.data[g]=e[g]}}this.dirty=false;delete this.modified;this.editing=false;if(d!==true){this.afterReject()}},commit:function(b){this.dirty=false;delete this.modified;this.editing=false;if(b!==true){this.afterCommit()}},getChanges:function(){var e=this.modified,d={};for(var g in e){if(e.hasOwnProperty(g)){d[g]=this.data[g]}}return d},hasError:function(){return this.error!==null},clearError:function(){this.error=null},copy:function(b){return new this.constructor(Ext.apply({},this.data),b||this.id)},isModified:function(b){return !!(this.modified&&this.modified.hasOwnProperty(b))},isValid:function(){return this.fields.find(function(b){return(b.allowBlank===false&&Ext.isEmpty(this.data[b.name]))?true:false},this)?false:true},markDirty:function(){this.dirty=true;if(!this.modified){this.modified={}}this.fields.each(function(b){this.modified[b.name]=this.data[b.name]},this)}};Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var d=0,c;(c=arguments[d]);d++){this.add(c)}},unregister:function(){for(var d=0,c;(c=arguments[d]);d++){this.remove(this.lookup(c))}},lookup:function(k){if(Ext.isArray(k)){var g=["field1"],l=!Ext.isArray(k[0]);if(!l){for(var n=2,h=k[0].length;n<=h;++n){g.push("field"+n)}}return new Ext.data.ArrayStore({fields:g,data:k,expandData:l,autoDestroy:true,autoCreated:true})}return Ext.isObject(k)?(k.events?k:Ext.create(k,"store")):this.get(k)},getKey:function(b){return b.storeId}});Ext.data.Store=Ext.extend(Ext.util.Observable,{writer:undefined,remoteSort:false,autoDestroy:false,pruneModifiedRecords:false,lastOptions:null,autoSave:true,batch:true,restful:false,paramNames:undefined,defaultParamNames:{start:"start",limit:"limit",sort:"sort",dir:"dir"},isDestroyed:false,hasMultiSort:false,batchKey:"_ext_batch_",constructor:function(b){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(a){return a.id};this.removed=[];if(b&&b.data){this.inlineData=b.data;delete b.data}Ext.apply(this,b);this.baseParams=Ext.isObject(this.baseParams)?this.baseParams:{};this.paramNames=Ext.applyIf(this.paramNames||{},this.defaultParamNames);if((this.url||this.api)&&!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url,api:this.api})}if(this.restful===true&&this.proxy){this.batch=false;Ext.data.Api.restify(this.proxy)}if(this.reader){if(!this.recordType){this.recordType=this.reader.recordType}if(this.reader.onMetaChange){this.reader.onMetaChange=this.reader.onMetaChange.createSequence(this.onMetaChange,this)}if(this.writer){if(this.writer instanceof (Ext.data.DataWriter)===false){this.writer=this.buildWriter(this.writer)}this.writer.meta=this.reader.meta;this.pruneModifiedRecords=true}}if(this.recordType){this.fields=this.recordType.prototype.fields}this.modified=[];this.addEvents("datachanged","metachange","add","remove","update","clear","exception","beforeload","load","loadexception","beforewrite","write","beforesave","save");if(this.proxy){this.relayEvents(this.proxy,["loadexception","exception"])}if(this.writer){this.on({scope:this,add:this.createRecords,remove:this.destroyRecord,update:this.updateRecord,clear:this.onClear})}this.sortToggle={};if(this.sortField){this.setDefaultSort(this.sortField,this.sortDir)}else{if(this.sortInfo){this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction)}}Ext.data.Store.superclass.constructor.call(this);if(this.id){this.storeId=this.id;delete this.id}if(this.storeId){Ext.StoreMgr.register(this)}if(this.inlineData){this.loadData(this.inlineData);delete this.inlineData}else{if(this.autoLoad){this.load.defer(10,this,[typeof this.autoLoad=="object"?this.autoLoad:undefined])}}this.batchCounter=0;this.batches={}},buildWriter:function(d){var e=undefined,g=(d.format||"json").toLowerCase();switch(g){case"json":e=Ext.data.JsonWriter;break;case"xml":e=Ext.data.XmlWriter;break;default:e=Ext.data.JsonWriter}return new e(d)},destroy:function(){if(!this.isDestroyed){if(this.storeId){Ext.StoreMgr.unregister(this)}this.clearData();this.data=null;Ext.destroy(this.proxy);this.reader=this.writer=null;this.purgeListeners();this.isDestroyed=true}},add:function(n){var k,h,g,l;n=[].concat(n);if(n.length<1){return}for(k=0,h=n.length;k<h;k++){g=n[k];g.join(this);if(g.dirty||g.phantom){this.modified.push(g)}}l=this.data.length;this.data.addAll(n);if(this.snapshot){this.snapshot.addAll(n)}this.fireEvent("add",this,n,l)},addSorted:function(d){var c=this.findInsertIndex(d);this.insert(c,d)},doUpdate:function(b){this.data.replace(b.id,b);if(this.snapshot){this.snapshot.replace(b.id,b)}this.fireEvent("update",this,b,Ext.data.Record.COMMIT)},remove:function(d){if(Ext.isArray(d)){Ext.each(d,function(a){this.remove(a)},this);return}var c=this.data.indexOf(d);if(c>-1){d.join(null);this.data.removeAt(c)}if(this.pruneModifiedRecords){this.modified.remove(d)}if(this.snapshot){this.snapshot.remove(d)}if(c>-1){this.fireEvent("remove",this,d,c)}},removeAt:function(b){this.remove(this.getAt(b))},removeAll:function(c){var d=[];this.each(function(a){d.push(a)});this.clearData();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}if(c!==true){this.fireEvent("clear",this,d)}},onClear:function(c,d){Ext.each(d,function(a,b){this.destroyRecord(this,a,b)},this)},insert:function(l,n){var k,h,g;n=[].concat(n);for(k=0,h=n.length;k<h;k++){g=n[k];this.data.insert(l+k,g);g.join(this);if(g.dirty||g.phantom){this.modified.push(g)}}if(this.snapshot){this.snapshot.addAll(n)}this.fireEvent("add",this,n,l)},indexOf:function(b){return this.data.indexOf(b)},indexOfId:function(b){return this.data.indexOfKey(b)},getById:function(b){return(this.snapshot||this.data).key(b)},getAt:function(b){return this.data.itemAt(b)},getRange:function(c,d){return this.data.getRange(c,d)},storeOptions:function(b){b=Ext.apply({},b);delete b.callback;delete b.scope;this.lastOptions=b},clearData:function(){this.data.each(function(b){b.join(null)});this.data.clear()},load:function(d){d=Ext.apply({},d);this.storeOptions(d);if(this.sortInfo&&this.remoteSort){var e=this.paramNames;d.params=Ext.apply({},d.params);d.params[e.sort]=this.sortInfo.field;d.params[e.dir]=this.sortInfo.direction}try{return this.execute("read",null,d)}catch(g){this.handleException(g);return false}},updateRecord:function(d,e,g){if(g==Ext.data.Record.EDIT&&this.autoSave===true&&(!e.phantom||(e.phantom&&e.isValid()))){this.save()}},createRecords:function(r,k,p){var q=this.modified,n=k.length,l,o;for(o=0;o<n;o++){l=k[o];if(l.phantom&&l.isValid()){l.markDirty();if(q.indexOf(l)==-1){q.push(l)}}}if(this.autoSave===true){this.save()}},destroyRecord:function(d,e,g){if(this.modified.indexOf(e)!=-1){this.modified.remove(e)}if(!e.phantom){this.removed.push(e);e.lastIndex=g;if(this.autoSave===true){this.save()}}},execute:function(k,h,n,g){if(!Ext.data.Api.isAction(k)){throw new Ext.data.Api.Error("execute",k)}n=Ext.applyIf(n||{},{params:{}});if(g!==undefined){this.addToBatch(g)}var l=true;if(k==="read"){l=this.fireEvent("beforeload",this,n);Ext.applyIf(n.params,this.baseParams)}else{if(this.writer.listful===true&&this.restful!==true){h=(Ext.isArray(h))?h:[h]}else{if(Ext.isArray(h)&&h.length==1){h=h.shift()}}if((l=this.fireEvent("beforewrite",this,k,h,n))!==false){this.writer.apply(n.params,this.baseParams,k,h)}}if(l!==false){if(this.writer&&this.proxy.url&&!this.proxy.restful&&!Ext.data.Api.hasUniqueUrl(this.proxy,k)){n.params.xaction=k}this.proxy.request(Ext.data.Api.actions[k],h,n.params,this.reader,this.createCallback(k,h,g),this,n)}return l},save:function(){if(!this.writer){throw new Ext.data.Store.Error("writer-undefined")}var p=[],o,n,r,t={},s;if(this.removed.length){p.push(["destroy",this.removed])}var u=[].concat(this.getModifiedRecords());if(u.length){var q=[];for(s=u.length-1;s>=0;s--){if(u[s].phantom===true){var v=u.splice(s,1).shift();if(v.isValid()){q.push(v)}}else{if(!u[s].isValid()){u.splice(s,1)}}}if(q.length){p.push(["create",q])}if(u.length){p.push(["update",u])}}o=p.length;if(o){r=++this.batchCounter;for(s=0;s<o;++s){n=p[s];t[n[0]]=n[1]}if(this.fireEvent("beforesave",this,t)!==false){for(s=0;s<o;++s){n=p[s];this.doTransaction(n[0],n[1],r)}return r}}return -1},doTransaction:function(n,h,p){function l(b){try{this.execute(n,b,undefined,p)}catch(a){this.handleException(a)}}if(this.batch===false){for(var o=0,k=h.length;o<k;o++){l.call(this,h[o])}}else{l.call(this,h)}},addToBatch:function(k){var b=this.batches,h=this.batchKey+k,g=b[h];if(!g){b[h]=g={id:k,count:0,data:{}}}++g.count},removeFromBatch:function(p,l,n){var q=this.batches,o=this.batchKey+p,k=q[o],b;if(k){b=k.data[l]||[];k.data[l]=b.concat(n);if(k.count===1){n=k.data;delete q[o];this.fireEvent("save",this,p,n)}else{--k.count}}},createCallback:function(k,g,e){var h=Ext.data.Api.actions;return(k=="read")?this.loadRecords:function(b,c,a){this["on"+Ext.util.Format.capitalize(k)+"Records"](a,g,[].concat(b));if(a===true){this.fireEvent("write",this,k,b,c,g)}this.removeFromBatch(e,k,b)}},clearModified:function(d){if(Ext.isArray(d)){for(var c=d.length-1;c>=0;c--){this.modified.splice(this.modified.indexOf(d[c]),1)}}else{this.modified.splice(this.modified.indexOf(d),1)}},reMap:function(e){if(Ext.isArray(e)){for(var h=0,g=e.length;h<g;h++){this.reMap(e[h])}}else{delete this.data.map[e._phid];this.data.map[e.id]=e;var k=this.data.keys.indexOf(e._phid);this.data.keys.splice(k,1,e.id);delete e._phid}},onCreateRecords:function(h,g,e){if(h===true){try{this.reader.realize(g,e);this.reMap(g)}catch(k){this.handleException(k);if(Ext.isArray(g)){this.onCreateRecords(h,g,e)}}}},onUpdateRecords:function(h,g,e){if(h===true){try{this.reader.update(g,e)}catch(k){this.handleException(k);if(Ext.isArray(g)){this.onUpdateRecords(h,g,e)}}}},onDestroyRecords:function(k,g,l){g=(g instanceof Ext.data.Record)?[g]:[].concat(g);for(var n=0,h=g.length;n<h;n++){this.removed.splice(this.removed.indexOf(g[n]),1)}if(k===false){for(n=g.length-1;n>=0;n--){this.insert(g[n].lastIndex,g[n])}}},handleException:function(b){Ext.handleError(b)},reload:function(b){this.load(Ext.applyIf(b||{},this.lastOptions))},loadRecords:function(v,n,q){var s,r;if(this.isDestroyed===true){return}if(!v||q===false){if(q!==false){this.fireEvent("load",this,[],n)}if(n.callback){n.callback.call(n.scope||this,[],n,false,v)}return}var w=v.records,p=v.totalRecords||w.length;if(!n||n.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(s=0,r=w.length;s<r;s++){w[s].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.clearData();this.data.addAll(w);this.totalLength=p;this.applySort();this.fireEvent("datachanged",this)}else{var o=[],t,u=0;for(s=0,r=w.length;s<r;++s){t=w[s];if(this.indexOfId(t.id)>-1){this.doUpdate(t)}else{o.push(t);++u}}this.totalLength=Math.max(p,this.data.length+u);this.add(o)}this.fireEvent("load",this,w,n);if(n.callback){n.callback.call(n.scope||this,w,n,true)}},loadData:function(g,e){var d=this.reader.readRecords(g);this.loadRecords(d,{add:e},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if((this.sortInfo||this.multiSortInfo)&&!this.remoteSort){this.sortData()}},sortData:function(){var n=this.hasMultiSort?this.multiSortInfo:this.sortInfo,o=n.direction||"ASC",p=n.sorters,t=[];if(!this.hasMultiSort){p=[{direction:o,field:n.field}]}for(var s=0,l=p.length;s<l;s++){t.push(this.createSortFunction(p[s].field,p[s].direction))}if(t.length==0){return}var q=o.toUpperCase()=="DESC"?-1:1;var r=function(e,a){var b=t[0].call(this,e,a);if(t.length>1){for(var c=1,d=t.length;c<d;c++){b=b||t[c].call(this,e,a)}}return q*b};this.data.sort(o,r);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(o,r)}},createSortFunction:function(k,e){e=e||"ASC";var g=e.toUpperCase()=="DESC"?-1:1;var h=this.fields.get(k).sortType;return function(c,d){var a=h(c.data[k]),b=h(d.data[k]);return g*(a>b?1:(a<b?-1:0))}},setDefaultSort:function(c,d){d=d?d.toUpperCase():"ASC";this.sortInfo={field:c,direction:d};this.sortToggle[c]=d},sort:function(c,d){if(Ext.isArray(arguments[0])){return this.multiSort.call(this,c,d)}else{return this.singleSort(c,d)}},singleSort:function(l,p){var n=this.fields.get(l);if(!n){return false}var h=n.name,k=this.sortInfo||null,o=this.sortToggle?this.sortToggle[h]:null;if(!p){if(k&&k.field==h){p=(this.sortToggle[h]||"ASC").toggle("ASC","DESC")}else{p=n.sortDir}}this.sortToggle[h]=p;this.sortInfo={field:h,direction:p};this.hasMultiSort=false;if(this.remoteSort){if(!this.load(this.lastOptions)){if(o){this.sortToggle[h]=o}if(k){this.sortInfo=k}}}else{this.applySort();this.fireEvent("datachanged",this)}return true},multiSort:function(c,d){this.hasMultiSort=true;d=d||"ASC";if(this.multiSortInfo&&d==this.multiSortInfo.direction){d=d.toggle("ASC","DESC")}this.multiSortInfo={sorters:c,direction:d};if(this.remoteSort){this.singleSort(c[0].field,c[0].direction)}else{this.applySort();this.fireEvent("datachanged",this)}},each:function(c,d){this.data.each(c,d)},getModifiedRecords:function(){return this.modified},sum:function(n,l,k){var p=this.data.items,h=0;l=l||0;k=(k||k===0)?k:p.length-1;for(var o=l;o<=k;o++){h+=(p[o].data[n]||0)}return h},createFilterFn:function(l,n,k,h,g){if(Ext.isEmpty(n,false)){return false}n=this.data.createValueMatcher(n,k,h,g);return function(a){return n.test(a.data[l])}},createMultipleFilterFn:function(b){return function(a){var l=true;for(var q=0,r=b.length;q<r;q++){var n=b[q],o=n.fn,p=n.scope;l=l&&o.call(p,a)}return l}},filter:function(q,r,u,t,w){var s;if(Ext.isObject(q)){q=[q]}if(Ext.isArray(q)){var z=[];for(var v=0,x=q.length;v<x;v++){var A=q[v],y=A.fn,p=A.scope||this;if(!Ext.isFunction(y)){y=this.createFilterFn(A.property,A.value,A.anyMatch,A.caseSensitive,A.exactMatch)}z.push({fn:y,scope:p})}s=this.createMultipleFilterFn(z)}else{s=this.createFilterFn(q,r,u,t,w)}return s?this.filterBy(s):this.clearFilter()},filterBy:function(c,d){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(c,d||this);this.fireEvent("datachanged",this)},clearFilter:function(b){if(this.isFiltered()){this.data=this.snapshot;delete this.snapshot;if(b!==true){this.fireEvent("datachanged",this)}}},isFiltered:function(){return !!this.snapshot&&this.snapshot!=this.data},query:function(l,n,k,h){var g=this.createFilterFn(l,n,k,h);return g?this.queryBy(g):this.data.clone()},queryBy:function(d,e){var g=this.snapshot||this.data;return g.filterBy(d,e||this)},find:function(o,p,l,n,k){var h=this.createFilterFn(o,p,n,k);return h?this.data.findIndexBy(h,null,l):-1},findExact:function(d,e,g){return this.data.findIndexBy(function(a){return a.get(d)===e},this,g)},findBy:function(d,e,g){return this.data.findIndexBy(d,e,g)},collect:function(q,p,v){var r=(v===true&&this.snapshot)?this.snapshot.items:this.data.items;var l,d,w=[],u={};for(var t=0,s=r.length;t<s;t++){l=r[t].data[q];d=String(l);if((p||!Ext.isEmpty(l))&&!u[d]){u[d]=true;w[w.length]=l}}return w},afterEdit:function(b){if(this.modified.indexOf(b)==-1){this.modified.push(b)}this.fireEvent("update",this,b,Ext.data.Record.EDIT)},afterReject:function(b){this.modified.remove(b);this.fireEvent("update",this,b,Ext.data.Record.REJECT)},afterCommit:function(b){this.modified.remove(b);this.fireEvent("update",this,b,Ext.data.Record.COMMIT)},commitChanges:function(){var e=this.modified.slice(0),g=e.length,d;for(d=0;d<g;d++){e[d].commit()}this.modified=[];this.removed=[]},rejectChanges:function(){var h=this.modified.slice(0),k=this.removed.slice(0).reverse(),n=h.length,l=k.length,g;for(g=0;g<n;g++){h[g].reject()}for(g=0;g<l;g++){this.insert(k[g].lastIndex||0,k[g]);k[g].reject()}this.modified=[];this.removed=[]},onMetaChange:function(b){this.recordType=this.reader.recordType;this.fields=this.recordType.prototype.fields;delete this.snapshot;if(this.reader.meta.sortInfo){this.sortInfo=this.reader.meta.sortInfo}else{if(this.sortInfo&&!this.fields.get(this.sortInfo.field)){delete this.sortInfo}}if(this.writer){this.writer.meta=this.reader.meta}this.modified=[];this.fireEvent("metachange",this,this.reader.meta)},findInsertIndex:function(e){this.suspendEvents();var g=this.data.clone();this.data.add(e);this.applySort();var d=this.data.indexOf(e);this.data=g;this.resumeEvents();return d},setBaseParam:function(d,c){this.baseParams=this.baseParams||{};this.baseParams[d]=c}});Ext.reg("store",Ext.data.Store);Ext.data.Store.Error=Ext.extend(Ext.Error,{name:"Ext.data.Store"});Ext.apply(Ext.data.Store.Error.prototype,{lang:{"writer-undefined":"Attempted to execute a write-action without a DataWriter installed."}});Ext.data.Field=Ext.extend(Object,{constructor:function(e){if(Ext.isString(e)){e={name:e}}Ext.apply(this,e);var h=Ext.data.Types,g=this.sortType,k;if(this.type){if(Ext.isString(this.type)){this.type=Ext.data.Types[this.type.toUpperCase()]||h.AUTO}}else{this.type=h.AUTO}if(Ext.isString(g)){this.sortType=Ext.data.SortTypes[g]}else{if(Ext.isEmpty(g)){this.sortType=this.type.sortType}}if(!this.convert){this.convert=this.type.convert}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true});Ext.data.DataReader=function(d,c){this.meta=d;this.recordType=Ext.isArray(c)?Ext.data.Record.create(c):c;if(this.recordType){this.buildExtractors()}};Ext.data.DataReader.prototype={getTotal:Ext.emptyFn,getRoot:Ext.emptyFn,getMessage:Ext.emptyFn,getSuccess:Ext.emptyFn,getId:Ext.emptyFn,buildExtractors:Ext.emptyFn,extractValues:Ext.emptyFn,realize:function(e,g){if(Ext.isArray(e)){for(var d=e.length-1;d>=0;d--){if(Ext.isArray(g)){this.realize(e.splice(d,1).shift(),g.splice(d,1).shift())}else{this.realize(e.splice(d,1).shift(),g)}}}else{if(Ext.isArray(g)&&g.length==1){g=g.shift()}if(!this.isData(g)){throw new Ext.data.DataReader.Error("realize",e)}e.phantom=false;e._phid=e.id;e.id=this.getId(g);e.data=g;e.commit()}},update:function(e,g){if(Ext.isArray(e)){for(var d=e.length-1;d>=0;d--){if(Ext.isArray(g)){this.update(e.splice(d,1).shift(),g.splice(d,1).shift())}else{this.update(e.splice(d,1).shift(),g)}}}else{if(Ext.isArray(g)&&g.length==1){g=g.shift()}if(this.isData(g)){e.data=Ext.apply(e.data,g)}e.commit()}},extractData:function(s,A){var t=(this instanceof Ext.data.JsonReader)?"json":"node";var y=[];if(this.isData(s)&&!(this instanceof Ext.data.XmlReader)){s=[s]}var u=this.recordType.prototype.fields,n=u.items,q=u.length,y=[];if(A===true){var r=this.recordType;for(var w=0;w<s.length;w++){var z=s[w];var v=new r(this.extractValues(z,n,q),this.getId(z));v[t]=z;y.push(v)}}else{for(var w=0;w<s.length;w++){var x=this.extractValues(s[w],n,q);x[this.meta.idProperty]=this.getId(s[w]);y.push(x)}}return y},isData:function(b){return(b&&Ext.isObject(b)&&!Ext.isEmpty(this.getId(b)))?true:false},onMetaChange:function(b){delete this.ef;this.meta=b;this.recordType=Ext.data.Record.create(b.fields);this.buildExtractors()}};Ext.data.DataReader.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.DataReader"});Ext.apply(Ext.data.DataReader.Error.prototype,{lang:{update:"#update received invalid data from server.  Please see docs for DataReader#update and review your DataReader configuration.",realize:"#realize was called with invalid remote-data.  Please see the docs for DataReader#realize and review your DataReader configuration.","invalid-response":"#readResponse received an invalid response from the server."}});Ext.data.DataWriter=function(b){Ext.apply(this,b)};Ext.data.DataWriter.prototype={writeAllFields:false,listful:false,apply:function(n,l,o,k){var p=[],h=o+"Record";if(Ext.isArray(k)){Ext.each(k,function(a){p.push(this[h](a))},this)}else{if(k instanceof Ext.data.Record){p=this[h](k)}}this.render(n,l,p)},render:Ext.emptyFn,updateRecord:Ext.emptyFn,createRecord:Ext.emptyFn,destroyRecord:Ext.emptyFn,toHash:function(l,p){var n=l.fields.map,o={},h=(this.writeAllFields===false&&l.phantom===false)?l.getChanges():l.data,k;Ext.iterate(h,function(a,b){if((k=n[a])){o[k.mapping?k.mapping:k.name]=b}});if(l.phantom){if(l.fields.containsKey(this.meta.idProperty)&&Ext.isEmpty(l.data[this.meta.idProperty])){delete o[this.meta.idProperty]}}else{o[this.meta.idProperty]=l.id}return o},toArray:function(c){var d=[];Ext.iterate(c,function(a,b){d.push({name:a,value:b})},this);return d}};Ext.data.DataProxy=function(d){d=d||{};this.api=d.api;this.url=d.url;this.restful=d.restful;this.listeners=d.listeners;this.prettyUrls=d.prettyUrls;this.addEvents("exception","beforeload","load","loadexception","beforewrite","write");Ext.data.DataProxy.superclass.constructor.call(this);try{Ext.data.Api.prepare(this)}catch(c){if(c instanceof Ext.data.Api.Error){c.toConsole()}}Ext.data.DataProxy.relayEvents(this,["beforewrite","write","exception"])};Ext.extend(Ext.data.DataProxy,Ext.util.Observable,{restful:false,setApi:function(){if(arguments.length==1){var b=Ext.data.Api.isValid(arguments[0]);if(b===true){this.api=arguments[0]}else{throw new Ext.data.Api.Error("invalid",b)}}else{if(arguments.length==2){if(!Ext.data.Api.isAction(arguments[0])){throw new Ext.data.Api.Error("invalid",arguments[0])}this.api[arguments[0]]=arguments[1]}}Ext.data.Api.prepare(this)},isApiAction:function(b){return(this.api[b])?true:false},request:function(p,k,o,l,n,q,r){if(!this.api[p]&&!this.load){throw new Ext.data.DataProxy.Error("action-undefined",p)}o=o||{};if((p===Ext.data.Api.actions.read)?this.fireEvent("beforeload",this,o):this.fireEvent("beforewrite",this,p,k,o)!==false){this.doRequest.apply(this,arguments)}else{n.call(q||this,null,r,false)}},load:null,doRequest:function(p,k,o,l,n,q,r){this.load(o,l,n,q,r)},onRead:Ext.emptyFn,onWrite:Ext.emptyFn,buildUrl:function(l,g){g=g||null;var n=(this.conn&&this.conn.url)?this.conn.url:(this.api[l])?this.api[l].url:this.url;if(!n){throw new Ext.data.Api.Error("invalid-url",l)}var k=null;var h=n.match(/(.*)(\.json|\.xml|\.html)$/);if(h){k=h[2];n=h[1]}if((this.restful===true||this.prettyUrls===true)&&g instanceof Ext.data.Record&&!g.phantom){n+="/"+g.id}return(k===null)?n:n+k},destroy:function(){this.purgeListeners()}});Ext.apply(Ext.data.DataProxy,Ext.util.Observable.prototype);Ext.util.Observable.call(Ext.data.DataProxy);Ext.data.DataProxy.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.DataProxy"});Ext.apply(Ext.data.DataProxy.Error.prototype,{lang:{"action-undefined":"DataProxy attempted to execute an API-action but found an undefined url / function.  Please review your Proxy url/api-configuration.","api-invalid":"Recieved an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions from Ext.data.Api.actions."}});Ext.data.Request=function(b){Ext.apply(this,b)};Ext.data.Request.prototype={action:undefined,rs:undefined,params:undefined,callback:Ext.emptyFn,scope:undefined,reader:undefined};Ext.data.Response=function(b){Ext.apply(this,b)};Ext.data.Response.prototype={action:undefined,success:undefined,message:undefined,data:undefined,raw:undefined,records:undefined};Ext.data.ScriptTagProxy=function(b){Ext.apply(this,b);Ext.data.ScriptTagProxy.superclass.constructor.call(this,b);this.head=document.getElementsByTagName("head")[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,doRequest:function(v,u,w,t,r,q,p){var x=Ext.urlEncode(Ext.apply(w,this.extraParams));var y=this.buildUrl(v,u);if(!y){throw new Ext.data.Api.Error("invalid-url",y)}y=Ext.urlAppend(y,x);if(this.nocache){y=Ext.urlAppend(y,"_dc="+(new Date().getTime()))}var z=++Ext.data.ScriptTagProxy.TRANS_ID;var o={id:z,action:v,cb:"stcCallback"+z,scriptId:"stcScript"+z,params:w,arg:p,url:y,callback:r,scope:q,reader:t};window[o.cb]=this.createCallback(v,u,o);y+=String.format("&{0}={1}",this.callbackParam,o.cb);if(this.autoAbort!==false){this.abort()}o.timeoutId=this.handleFailure.defer(this.timeout,this,[o]);var s=document.createElement("script");s.setAttribute("src",y);s.setAttribute("type","text/javascript");s.setAttribute("id",o.scriptId);this.head.appendChild(s);this.trans=o},createCallback:function(h,e,k){var g=this;return function(a){g.trans=false;g.destroyTrans(k,true);if(h===Ext.data.Api.actions.read){g.onRead.call(g,h,k,a)}else{g.onWrite.call(g,h,k,a,e)}}},onRead:function(l,n,e){var h;try{h=n.reader.readRecords(e)}catch(k){this.fireEvent("loadexception",this,n,e,k);this.fireEvent("exception",this,"response",l,n,e,k);n.callback.call(n.scope||window,null,n.arg,false);return}if(h.success===false){this.fireEvent("loadexception",this,n,e);this.fireEvent("exception",this,"remote",l,n,e,null)}else{this.fireEvent("load",this,e,n.arg)}n.callback.call(n.scope||window,h,n.arg,h.success)},onWrite:function(n,o,q,e){var k=o.reader;try{var p=k.readResponse(n,q)}catch(l){this.fireEvent("exception",this,"response",n,o,p,l);o.callback.call(o.scope||window,null,p,false);return}if(!p.success===true){this.fireEvent("exception",this,"remote",n,o,p,e);o.callback.call(o.scope||window,null,p,false);return}this.fireEvent("write",this,n,p.data,p,e,o.arg);o.callback.call(o.scope||window,p.data,p,true)},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(d,e){this.head.removeChild(document.getElementById(d.scriptId));clearTimeout(d.timeoutId);if(e){window[d.cb]=undefined;try{delete window[d.cb]}catch(g){}}else{window[d.cb]=function(){window[d.cb]=undefined;try{delete window[d.cb]}catch(a){}}}},handleFailure:function(b){this.trans=false;this.destroyTrans(b,false);if(b.action===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,null,b.arg)}this.fireEvent("exception",this,"response",b.action,{response:null,options:b.arg});b.callback.call(b.scope||window,null,b.arg,false)},destroy:function(){this.abort();Ext.data.ScriptTagProxy.superclass.destroy.call(this)}});Ext.data.HttpProxy=function(e){Ext.data.HttpProxy.superclass.constructor.call(this,e);this.conn=e;this.conn.url=null;this.useAjax=!e||!e.events;var g=Ext.data.Api.actions;this.activeRequest={};for(var d in g){this.activeRequest[g[d]]=undefined}};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},setUrl:function(d,c){this.conn.url=d;if(c===true){this.url=d;this.api=null;Ext.data.Api.prepare(this)}},doRequest:function(p,r,n,s,k,q,l){var o={method:(this.api[p])?this.api[p]["method"]:undefined,request:{callback:k,scope:q,arg:l},reader:s,callback:this.createCallback(p,r),scope:this};if(n.jsonData){o.jsonData=n.jsonData}else{if(n.xmlData){o.xmlData=n.xmlData}else{o.params=n||{}}}this.conn.url=this.buildUrl(p,r);if(this.useAjax){Ext.applyIf(o,this.conn);if(this.activeRequest[p]){}this.activeRequest[p]=Ext.Ajax.request(o)}else{this.conn.request(o)}this.conn.url=null},createCallback:function(c,d){return function(a,b,g){this.activeRequest[c]=undefined;if(!b){if(c===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,a,g)}this.fireEvent("exception",this,"response",c,a,g);a.request.callback.call(a.request.scope,null,a.request.arg,false);return}if(c===Ext.data.Api.actions.read){this.onRead(c,a,g)}else{this.onWrite(c,a,g,d)}}},onRead:function(o,l,e){var k;try{k=l.reader.read(e)}catch(n){this.fireEvent("loadexception",this,l,e,n);this.fireEvent("exception",this,"response",o,l,e,n);l.request.callback.call(l.request.scope,null,l.request.arg,false);return}if(k.success===false){this.fireEvent("loadexception",this,l,e);var p=l.reader.readResponse(o,e);this.fireEvent("exception",this,"remote",o,l,p,null)}else{this.fireEvent("load",this,l,l.request.arg)}l.request.callback.call(l.request.scope,k,l.request.arg,k.success)},onWrite:function(o,l,q,e){var k=l.reader;var p;try{p=k.readResponse(o,q)}catch(n){this.fireEvent("exception",this,"response",o,l,q,n);l.request.callback.call(l.request.scope,null,l.request.arg,false);return}if(p.success===true){this.fireEvent("write",this,o,p.data,p,e,l.request.arg)}else{this.fireEvent("exception",this,"remote",o,l,p,e)}l.request.callback.call(l.request.scope,p.data,p,p.success)},destroy:function(){if(!this.useAjax){this.conn.abort()}else{if(this.activeRequest){var c=Ext.data.Api.actions;for(var d in c){if(this.activeRequest[c[d]]){Ext.Ajax.abort(this.activeRequest[c[d]])}}}}Ext.data.HttpProxy.superclass.destroy.call(this)}});Ext.data.MemoryProxy=function(c){var d={};d[Ext.data.Api.actions.read]=true;Ext.data.MemoryProxy.superclass.constructor.call(this,{api:d});this.data=c};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{doRequest:function(t,s,u,r,p,o,n){u=u||{};var e;try{e=r.readRecords(this.data)}catch(q){this.fireEvent("loadexception",this,null,n,q);this.fireEvent("exception",this,"response",t,n,null,q);p.call(o,null,n,false);return}p.call(o,e,n,true)}});Ext.data.Types=new function(){var b=Ext.data.SortTypes;Ext.apply(this,{stripRe:/[\$,%]/g,AUTO:{convert:function(a){return a},sortType:b.none,type:"auto"},STRING:{convert:function(a){return(a===undefined||a===null)?"":String(a)},sortType:b.asUCString,type:"string"},INT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"int"},FLOAT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:b.none,type:"float"},BOOL:{convert:function(a){return a===true||a==="true"||a==1},sortType:b.none,type:"bool"},DATE:{convert:function(g){var e=this.dateFormat;if(!g){return null}if(Ext.isDate(g)){return g}if(e){if(e=="timestamp"){return new Date(g*1000)}if(e=="time"){return new Date(parseInt(g,10))}return Date.parseDate(g,e)}var a=Date.parse(g);return a?new Date(a):null},sortType:b.asDate,type:"date"}});Ext.apply(this,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})};Ext.data.JsonWriter=Ext.extend(Ext.data.DataWriter,{encode:true,encodeDelete:false,constructor:function(b){Ext.data.JsonWriter.superclass.constructor.call(this,b)},render:function(k,h,e){if(this.encode===true){Ext.apply(k,h);k[this.meta.root]=Ext.encode(e)}else{var g=Ext.apply({},h);g[this.meta.root]=e;k.jsonData=g}},createRecord:function(b){return this.toHash(b)},updateRecord:function(b){return this.toHash(b)},destroyRecord:function(c){if(this.encodeDelete){var d={};d[this.meta.idProperty]=c.id;return d}else{return c.id}}});Ext.data.JsonReader=function(d,c){d=d||{};Ext.applyIf(d,{idProperty:"id",successProperty:"success",totalProperty:"total"});Ext.data.JsonReader.superclass.constructor.call(this,d,c||d.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(e){var d=e.responseText;var g=Ext.decode(d);if(!g){throw {message:"JsonReader.read: Json object not found"}}return this.readRecords(g)},readResponse:function(n,h){var l=(h.responseText!==undefined)?Ext.decode(h.responseText):h;if(!l){throw new Ext.data.JsonReader.Error("response")}var k=this.getRoot(l);if(n===Ext.data.Api.actions.create){var o=Ext.isDefined(k);if(o&&Ext.isEmpty(k)){throw new Ext.data.JsonReader.Error("root-empty",this.meta.root)}else{if(!o){throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}}}var p=new Ext.data.Response({action:n,success:this.getSuccess(l),data:(k)?this.extractData(k,false):[],message:this.getMessage(l),raw:l});if(Ext.isEmpty(p.success)){throw new Ext.data.JsonReader.Error("successProperty-response",this.meta.successProperty)}return p},readRecords:function(x){this.jsonData=x;if(x.metaData){this.onMetaChange(x.metaData)}var c=this.meta,s=this.recordType,w=s.prototype.fields,o=w.items,r=w.length,q;var t=this.getRoot(x),u=t.length,v=u,p=true;if(c.totalProperty){q=parseInt(this.getTotal(x),10);if(!isNaN(q)){v=q}}if(c.successProperty){q=this.getSuccess(x);if(q===false||q==="false"){p=false}}return{success:p,records:this.extractData(t,true),totalRecords:v}},buildExtractors:function(){if(this.ef){return}var g=this.meta,p=this.recordType,q=p.prototype.fields,n=q.items,o=q.length;if(g.totalProperty){this.getTotal=this.createAccessor(g.totalProperty)}if(g.successProperty){this.getSuccess=this.createAccessor(g.successProperty)}if(g.messageProperty){this.getMessage=this.createAccessor(g.messageProperty)}this.getRoot=g.root?this.createAccessor(g.root):function(a){return a};if(g.id||g.idProperty){var r=this.createAccessor(g.id||g.idProperty);this.getId=function(a){var b=r(a);return(b===undefined||b==="")?null:b}}else{this.getId=function(){return null}}var s=[];for(var t=0;t<o;t++){q=n[t];var u=(q.mapping!==undefined&&q.mapping!==null)?q.mapping:q.name;s.push(this.createAccessor(u))}this.ef=s},simpleAccess:function(c,d){return c[d]},createAccessor:function(){var b=/[\[\.]/;return function(d){if(Ext.isEmpty(d)){return Ext.emptyFn}if(Ext.isFunction(d)){return d}var a=String(d).search(b);if(a>=0){return new Function("obj","return obj"+(a>0?".":"")+d)}return function(c){return c[d]}}}(),extractValues:function(n,q,l){var o,r={};for(var p=0;p<l;p++){o=q[p];var k=this.ef[p](n);r[o.name]=o.convert((k!==undefined)?k:o.defaultValue,n)}return r}});Ext.data.JsonReader.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.JsonReader"});Ext.apply(Ext.data.JsonReader.Error.prototype,{lang:{response:"An error occurred while json-decoding your server response","successProperty-response":'Could not locate your "successProperty" in your server response.  Please review your JsonReader config to ensure the config-property "successProperty" matches the property in your server-response.  See the JsonReader docs.',"root-undefined-config":'Your JsonReader was configured without a "root" property.  Please review your JsonReader config and make sure to define the root property.  See the JsonReader docs.',"idProperty-undefined":'Your JsonReader was configured without an "idProperty"  Please review your JsonReader configuration and ensure the "idProperty" is set (e.g.: "id").  See the JsonReader docs.',"root-empty":'Data was expected to be returned by the server in the "root" property of the response.  Please review your JsonReader configuration to ensure the "root" property matches that returned in the server-response.  See JsonReader docs.'}});Ext.data.ArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(D){this.arrayData=D;var J=this.meta,N=J?Ext.num(J.idIndex,J.id):null,P=this.recordType,F=P.prototype.fields,k=[],M=true,L;var v=this.getRoot(D);for(var n=0,G=v.length;n<G;n++){var C=v[n],Q={},H=((N||N===0)&&C[N]!==undefined&&C[N]!==""?C[N]:null);for(var o=0,I=F.length;o<I;o++){var E=F.items[o],s=E.mapping!==undefined&&E.mapping!==null?E.mapping:o;L=C[s]!==undefined?C[s]:E.defaultValue;L=E.convert(L,C);Q[E.name]=L}var O=new P(Q,H);O.json=C;k[k.length]=O}var K=k.length;if(J.totalProperty){L=parseInt(this.getTotal(D),10);if(!isNaN(L)){K=L}}if(J.successProperty){L=this.getSuccess(D);if(L===false||L==="false"){M=false}}return{success:M,records:k,totalRecords:K}}});Ext.data.ArrayStore=Ext.extend(Ext.data.Store,{constructor:function(b){Ext.data.ArrayStore.superclass.constructor.call(this,Ext.apply(b,{reader:new Ext.data.ArrayReader(b)}))},loadData:function(k,g){if(this.expandData===true){var l=[];for(var n=0,h=k.length;n<h;n++){l[l.length]=[k[n]]}k=l}Ext.data.ArrayStore.superclass.loadData.call(this,k,g)}});Ext.reg("arraystore",Ext.data.ArrayStore);Ext.data.SimpleStore=Ext.data.ArrayStore;Ext.reg("simplestore",Ext.data.SimpleStore);Ext.data.JsonStore=Ext.extend(Ext.data.Store,{constructor:function(b){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(b,{reader:new Ext.data.JsonReader(b)}))}});Ext.reg("jsonstore",Ext.data.JsonStore);Ext.data.XmlWriter=function(b){Ext.data.XmlWriter.superclass.constructor.apply(this,arguments);this.tpl=(typeof(this.tpl)==="string")?new Ext.XTemplate(this.tpl).compile():this.tpl.compile()};Ext.extend(Ext.data.XmlWriter,Ext.data.DataWriter,{documentRoot:"xrequest",forceDocumentRoot:false,root:"records",xmlVersion:"1.0",xmlEncoding:"ISO-8859-15",tpl:'<tpl for="."><\u003fxml version="{version}" encoding="{encoding}"\u003f><tpl if="documentRoot"><{documentRoot}><tpl for="baseParams"><tpl for="."><{name}>{value}</{name}></tpl></tpl></tpl><tpl if="records.length&gt;1"><{root}></tpl><tpl for="records"><{parent.record}><tpl for="."><{name}>{value}</{name}></tpl></{parent.record}></tpl><tpl if="records.length&gt;1"></{root}></tpl><tpl if="documentRoot"></{documentRoot}></tpl></tpl>',render:function(d,g,e){g=this.toArray(g);d.xmlData=this.tpl.applyTemplate({version:this.xmlVersion,encoding:this.xmlEncoding,documentRoot:(g.length>0||this.forceDocumentRoot===true)?this.documentRoot:false,record:this.meta.record,root:this.root,baseParams:g,records:(Ext.isArray(e[0]))?e:[e]})},createRecord:function(b){return this.toArray(this.toHash(b))},updateRecord:function(b){return this.toArray(this.toHash(b))},destroyRecord:function(c){var d={};d[this.meta.idProperty]=c.id;return this.toArray(d)}});Ext.data.XmlReader=function(d,c){d=d||{};Ext.applyIf(d,{idProperty:d.idProperty||d.idPath||d.id,successProperty:d.successProperty||d.success});Ext.data.XmlReader.superclass.constructor.call(this,d,c||d.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(d){var c=d.responseXML;if(!c){throw {message:"XmlReader.read: XML Document not available"}}return this.readRecords(c)},readRecords:function(o){this.xmlData=o;var k=o.documentElement||o,p=Ext.DomQuery,l=0,n=true;if(this.meta.totalProperty){l=this.getTotal(k,0)}if(this.meta.successProperty){n=this.getSuccess(k)}var h=this.extractData(p.select(this.meta.record,k),true);return{success:n,records:h,totalRecords:l||h.length}},readResponse:function(o,k){var p=Ext.DomQuery,n=k.responseXML,l=n.documentElement||n;var r=new Ext.data.Response({action:o,success:this.getSuccess(l),message:this.getMessage(l),data:this.extractData(p.select(this.meta.record,l)||p.select(this.meta.root,l),false),raw:n});if(Ext.isEmpty(r.success)){throw new Ext.data.DataReader.Error("successProperty-response",this.meta.successProperty)}if(o===Ext.data.Api.actions.create){var q=Ext.isDefined(r.data);if(q&&Ext.isEmpty(r.data)){throw new Ext.data.JsonReader.Error("root-empty",this.meta.root)}else{if(!q){throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}}}return r},getSuccess:function(){return true},buildExtractors:function(){if(this.ef){return}var g=this.meta,p=this.recordType,q=p.prototype.fields,n=q.items,o=q.length;if(g.totalProperty){this.getTotal=this.createAccessor(g.totalProperty)}if(g.successProperty){this.getSuccess=this.createAccessor(g.successProperty)}if(g.messageProperty){this.getMessage=this.createAccessor(g.messageProperty)}this.getRoot=function(a){return(!Ext.isEmpty(a[this.meta.record]))?a[this.meta.record]:a[this.meta.root]};if(g.idPath||g.idProperty){var r=this.createAccessor(g.idPath||g.idProperty);this.getId=function(b){var a=r(b)||b.id;return(a===undefined||a==="")?null:a}}else{this.getId=function(){return null}}var s=[];for(var t=0;t<o;t++){q=n[t];var u=(q.mapping!==undefined&&q.mapping!==null)?q.mapping:q.name;s.push(this.createAccessor(u))}this.ef=s},createAccessor:function(){var b=Ext.DomQuery;return function(a){if(Ext.isFunction(a)){return a}switch(a){case this.meta.totalProperty:return function(g,e){return b.selectNumber(a,g,e)};break;case this.meta.successProperty:return function(l,k){var n=b.selectValue(a,l,true);var h=n!==false&&n!=="false";return h};break;default:return function(g,e){return b.selectValue(a,g,e)};break}}}(),extractValues:function(n,q,l){var o,r={};for(var p=0;p<l;p++){o=q[p];var k=this.ef[p](n);r[o.name]=o.convert((k!==undefined)?k:o.defaultValue,n)}return r}});Ext.data.XmlStore=Ext.extend(Ext.data.Store,{constructor:function(b){Ext.data.XmlStore.superclass.constructor.call(this,Ext.apply(b,{reader:new Ext.data.XmlReader(b)}))}});Ext.reg("xmlstore",Ext.data.XmlStore);Ext.data.GroupingStore=Ext.extend(Ext.data.Store,{constructor:function(l){l=l||{};this.hasMultiSort=true;this.multiSortInfo=this.multiSortInfo||{sorters:[]};var k=this.multiSortInfo.sorters,n=l.groupField||this.groupField,g=l.sortInfo||this.sortInfo,h=l.groupDir||this.groupDir;if(n){k.push({field:n,direction:h})}if(g){k.push(g)}Ext.data.GroupingStore.superclass.constructor.call(this,l);this.addEvents("groupchange");this.applyGroupField()},remoteGroup:false,groupOnSort:false,groupDir:"ASC",clearGrouping:function(){this.groupField=false;if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy;delete this.baseParams.groupDir}var b=this.lastOptions;if(b&&b.params){delete b.params.groupBy;delete b.params.groupDir}this.reload()}else{this.sort();this.fireEvent("datachanged",this)}},groupBy:function(k,h,l){l=l?(String(l).toUpperCase()=="DESC"?"DESC":"ASC"):this.groupDir;if(this.groupField==k&&this.groupDir==l&&!h){return}var n=this.multiSortInfo.sorters;if(n.length>0&&n[0].field==this.groupField){n.shift()}this.groupField=k;this.groupDir=l;this.applyGroupField();var g=function(){this.fireEvent("groupchange",this,this.getGroupState())};if(this.groupOnSort){this.sort(k,l);g.call(this);return}if(this.remoteGroup){this.on("load",g,this,{single:true});this.reload()}else{this.sort(n);g.call(this)}},sort:function(n,r){if(this.remoteSort){return Ext.data.GroupingStore.superclass.sort.call(this,n,r)}var o=[];if(Ext.isArray(arguments[0])){o=arguments[0]}else{if(n==undefined){o=this.sortInfo?[this.sortInfo]:[]}else{var p=this.fields.get(n);if(!p){return false}var k=p.name,l=this.sortInfo||null,q=this.sortToggle?this.sortToggle[k]:null;if(!r){if(l&&l.field==k){r=(this.sortToggle[k]||"ASC").toggle("ASC","DESC")}else{r=p.sortDir}}this.sortToggle[k]=r;this.sortInfo={field:k,direction:r};o=[this.sortInfo]}}if(this.groupField){o.unshift({direction:this.groupDir,field:this.groupField})}return this.multiSort.call(this,o,r)},applyGroupField:function(){if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}Ext.apply(this.baseParams,{groupBy:this.groupField,groupDir:this.groupDir});var b=this.lastOptions;if(b&&b.params){b.params.groupDir=this.groupDir;delete b.params.groupBy}}},applyGrouping:function(b){if(this.groupField!==false){this.groupBy(this.groupField,true,this.groupDir);return true}else{if(b===true){this.fireEvent("datachanged",this)}return false}},getGroupState:function(){return this.groupOnSort&&this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField}});Ext.reg("groupingstore",Ext.data.GroupingStore);Ext.data.DirectProxy=function(b){Ext.apply(this,b);if(typeof this.paramOrder=="string"){this.paramOrder=this.paramOrder.split(/[\s,|]/)}Ext.data.DirectProxy.superclass.constructor.call(this,b)};Ext.extend(Ext.data.DirectProxy,Ext.data.DataProxy,{paramOrder:undefined,paramsAsHash:true,directFn:undefined,doRequest:function(z,y,A,w,s,r,p){var t=[],u=this.api[z]||this.directFn;switch(z){case Ext.data.Api.actions.create:t.push(A.jsonData);break;case Ext.data.Api.actions.read:if(u.directCfg.method.len>0){if(this.paramOrder){for(var x=0,v=this.paramOrder.length;x<v;x++){t.push(A[this.paramOrder[x]])}}else{if(this.paramsAsHash){t.push(A)}}}break;case Ext.data.Api.actions.update:t.push(A.jsonData);break;case Ext.data.Api.actions.destroy:t.push(A.jsonData);break}var q={params:A||{},request:{callback:s,scope:r,arg:p},reader:w};t.push(this.createCallback(z,y,q),this);u.apply(window,t)},createCallback:function(h,g,e){var k=this;return function(b,a){if(!a.status){if(h===Ext.data.Api.actions.read){k.fireEvent("loadexception",k,e,a,null)}k.fireEvent("exception",k,"remote",h,e,a,null);e.request.callback.call(e.request.scope,null,e.request.arg,false);return}if(h===Ext.data.Api.actions.read){k.onRead(h,e,b,a)}else{k.onWrite(h,e,b,a,g)}}},onRead:function(l,n,k,o){var h;try{h=n.reader.readRecords(k)}catch(p){this.fireEvent("loadexception",this,n,o,p);this.fireEvent("exception",this,"response",l,n,o,p);n.request.callback.call(n.request.scope,null,n.request.arg,false);return}this.fireEvent("load",this,o,n.request.arg);n.request.callback.call(n.request.scope,h,n.request.arg,true)},onWrite:function(o,q,l,r,k){var p=q.reader.extractData(q.reader.getRoot(l),false);var n=q.reader.getSuccess(l);n=(n!==false);if(n){this.fireEvent("write",this,o,p,r,k,q.request.arg)}else{this.fireEvent("exception",this,"remote",o,q,l,k)}q.request.callback.call(q.request.scope,p,r,n)}});Ext.data.DirectStore=Ext.extend(Ext.data.Store,{constructor:function(d){var c=Ext.apply({},{batchTransactions:false},d);Ext.data.DirectStore.superclass.constructor.call(this,Ext.apply(c,{proxy:Ext.isDefined(c.proxy)?c.proxy:new Ext.data.DirectProxy(Ext.copyTo({},c,"paramOrder,paramsAsHash,directFn,api")),reader:(!Ext.isDefined(c.reader)&&c.fields)?new Ext.data.JsonReader(Ext.copyTo({},c,"totalProperty,root,idProperty"),c.fields):c.reader}))}});Ext.reg("directstore",Ext.data.DirectStore);Ext.Direct=Ext.extend(Ext.util.Observable,{exceptions:{TRANSPORT:"xhr",PARSE:"parse",LOGIN:"login",SERVER:"exception"},constructor:function(){this.addEvents("event","exception");this.transactions={};this.providers={}},addProvider:function(g){var k=arguments;if(k.length>1){for(var h=0,a=k.length;h<a;h++){this.addProvider(k[h])}return}if(!g.events){g=new Ext.Direct.PROVIDERS[g.type](g)}g.id=g.id||Ext.id();this.providers[g.id]=g;g.on("data",this.onProviderData,this);g.on("exception",this.onProviderException,this);if(!g.isConnected()){g.connect()}return g},getProvider:function(b){return this.providers[b]},removeProvider:function(c){var d=c.id?c:this.providers[c];d.un("data",this.onProviderData,this);d.un("exception",this.onProviderException,this);delete this.providers[d.id];return d},addTransaction:function(b){this.transactions[b.tid]=b;return b},removeTransaction:function(b){delete this.transactions[b.tid||b];return b},getTransaction:function(b){return this.transactions[b.tid||b]},onProviderData:function(h,k){if(Ext.isArray(k)){for(var e=0,g=k.length;e<g;e++){this.onProviderData(h,k[e])}return}if(k.name&&k.name!="event"&&k.name!="exception"){this.fireEvent(k.name,k)}else{if(k.type=="exception"){this.fireEvent("exception",k)}}this.fireEvent("event",k,h)},createEvent:function(d,c){return new Ext.Direct.eventTypes[d.type](Ext.apply(d,c))}});Ext.Direct=new Ext.Direct();Ext.Direct.TID=1;Ext.Direct.PROVIDERS={};Ext.Direct.Transaction=function(b){Ext.apply(this,b);this.tid=++Ext.Direct.TID;this.retryCount=0};Ext.Direct.Transaction.prototype={send:function(){this.provider.queueTransaction(this)},retry:function(){this.retryCount++;this.send()},getProvider:function(){return this.provider}};Ext.Direct.Event=function(b){Ext.apply(this,b)};Ext.Direct.Event.prototype={status:true,getData:function(){return this.data}};Ext.Direct.RemotingEvent=Ext.extend(Ext.Direct.Event,{type:"rpc",getTransaction:function(){return this.transaction||Ext.Direct.getTransaction(this.tid)}});Ext.Direct.ExceptionEvent=Ext.extend(Ext.Direct.RemotingEvent,{status:false,type:"exception"});Ext.Direct.eventTypes={rpc:Ext.Direct.RemotingEvent,event:Ext.Direct.Event,exception:Ext.Direct.ExceptionEvent};Ext.direct.Provider=Ext.extend(Ext.util.Observable,{priority:1,constructor:function(b){Ext.apply(this,b);this.addEvents("connect","disconnect","data","exception");Ext.direct.Provider.superclass.constructor.call(this,b)},isConnected:function(){return false},connect:Ext.emptyFn,disconnect:Ext.emptyFn});Ext.direct.JsonProvider=Ext.extend(Ext.direct.Provider,{parseResponse:function(b){if(!Ext.isEmpty(b.responseText)){if(typeof b.responseText=="object"){return b.responseText}return Ext.decode(b.responseText)}return null},getEvents:function(n){var p=null;try{p=this.parseResponse(n)}catch(o){var q=new Ext.Direct.ExceptionEvent({data:o,xhr:n,code:Ext.Direct.exceptions.PARSE,message:"Error parsing json response: \n\n "+p});return[q]}var r=[];if(Ext.isArray(p)){for(var e=0,l=p.length;e<l;e++){r.push(Ext.Direct.createEvent(p[e]))}}else{r.push(Ext.Direct.createEvent(p))}return r}});Ext.direct.PollingProvider=Ext.extend(Ext.direct.JsonProvider,{priority:3,interval:3000,constructor:function(b){Ext.direct.PollingProvider.superclass.constructor.call(this,b);this.addEvents("beforepoll","poll")},isConnected:function(){return !!this.pollTask},connect:function(){if(this.url&&!this.pollTask){this.pollTask=Ext.TaskMgr.start({run:function(){if(this.fireEvent("beforepoll",this)!==false){if(typeof this.url=="function"){this.url(this.baseParams)}else{Ext.Ajax.request({url:this.url,callback:this.onData,scope:this,params:this.baseParams})}}},interval:this.interval,scope:this});this.fireEvent("connect",this)}else{if(!this.url){throw"Error initializing PollingProvider, no url configured."}}},disconnect:function(){if(this.pollTask){Ext.TaskMgr.stop(this.pollTask);delete this.pollTask;this.fireEvent("disconnect",this)}},onData:function(q,n,o){if(n){var r=this.getEvents(o);for(var e=0,l=r.length;e<l;e++){var p=r[e];this.fireEvent("data",this,p)}}else{var p=new Ext.Direct.ExceptionEvent({data:p,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:o});this.fireEvent("data",this,p)}}});Ext.Direct.PROVIDERS.polling=Ext.direct.PollingProvider;Ext.direct.RemotingProvider=Ext.extend(Ext.direct.JsonProvider,{enableBuffer:10,maxRetries:1,timeout:undefined,constructor:function(b){Ext.direct.RemotingProvider.superclass.constructor.call(this,b);this.addEvents("beforecall","call");this.namespace=(Ext.isString(this.namespace))?Ext.ns(this.namespace):this.namespace||window;this.transactions={};this.callBuffer=[]},initAPI:function(){var o=this.actions;for(var n in o){var r=this.namespace[n]||(this.namespace[n]={}),q=o[n];for(var p=0,c=q.length;p<c;p++){var l=q[p];r[l.name]=this.createMethod(n,l)}}},isConnected:function(){return !!this.connected},connect:function(){if(this.url){this.initAPI();this.connected=true;this.fireEvent("connect",this)}else{if(!this.url){throw"Error initializing RemotingProvider, no url configured."}}},disconnect:function(){if(this.connected){this.connected=false;this.fireEvent("disconnect",this)}},onData:function(u,p,o){if(p){var n=this.getEvents(o);for(var t=0,s=n.length;t<s;t++){var r=n[t],e=this.getTransaction(r);this.fireEvent("data",this,r);if(e){this.doCallback(e,r,true);Ext.Direct.removeTransaction(e)}}}else{var q=[].concat(u.ts);for(var t=0,s=q.length;t<s;t++){var e=this.getTransaction(q[t]);if(e&&e.retryCount<this.maxRetries){e.retry()}else{var r=new Ext.Direct.ExceptionEvent({data:r,transaction:e,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:o});this.fireEvent("data",this,r);if(e){this.doCallback(e,r,false);Ext.Direct.removeTransaction(e)}}}}},getCallData:function(b){return{action:b.action,method:b.method,data:b.data,type:"rpc",tid:b.tid}},doSend:function(o){var l={url:this.url,callback:this.onData,scope:this,ts:o,timeout:this.timeout},h;if(Ext.isArray(o)){h=[];for(var p=0,k=o.length;p<k;p++){h.push(this.getCallData(o[p]))}}else{h=this.getCallData(o)}if(this.enableUrlEncode){var n={};n[Ext.isString(this.enableUrlEncode)?this.enableUrlEncode:"data"]=Ext.encode(h);l.params=n}else{l.jsonData=h}Ext.Ajax.request(l)},combineAndSend:function(){var b=this.callBuffer.length;if(b>0){this.doSend(b==1?this.callBuffer[0]:this.callBuffer);this.callBuffer=[]}},queueTransaction:function(b){if(b.form){this.processForm(b);return}this.callBuffer.push(b);if(this.enableBuffer){if(!this.callTask){this.callTask=new Ext.util.DelayedTask(this.combineAndSend,this)}this.callTask.delay(Ext.isNumber(this.enableBuffer)?this.enableBuffer:10)}else{this.combineAndSend()}},doCall:function(l,k,c){var n=null,p=c[k.len],o=c[k.len+1];if(k.len!==0){n=c.slice(0,k.len)}var q=new Ext.Direct.Transaction({provider:this,args:c,action:l,method:k.name,data:n,cb:o&&Ext.isFunction(p)?p.createDelegate(o):p});if(this.fireEvent("beforecall",this,q,k)!==false){Ext.Direct.addTransaction(q);this.queueTransaction(q);this.fireEvent("call",this,q,k)}},doForm:function(n,c,q,o,r){var s=new Ext.Direct.Transaction({provider:this,action:n,method:c.name,args:[q,o,r],cb:r&&Ext.isFunction(o)?o.createDelegate(r):o,isForm:true});if(this.fireEvent("beforecall",this,s,c)!==false){Ext.Direct.addTransaction(s);var l=String(q.getAttribute("enctype")).toLowerCase()=="multipart/form-data",p={extTID:s.tid,extAction:n,extMethod:c.name,extType:"rpc",extUpload:String(l)};Ext.apply(s,{form:Ext.getDom(q),isUpload:l,params:o&&Ext.isObject(o.params)?Ext.apply(p,o.params):p});this.fireEvent("call",this,s,c);this.processForm(s)}},processForm:function(b){Ext.Ajax.request({url:this.url,params:b.params,callback:this.onData,scope:this,form:b.form,isUpload:b.isUpload,ts:b})},createMethod:function(g,e){var c;if(!e.formHandler){c=function(){this.doCall(g,e,Array.prototype.slice.call(arguments,0))}.createDelegate(this)}else{c=function(b,a,d){this.doForm(g,e,b,a,d)}.createDelegate(this)}c.directCfg={action:g,method:e};return c},getTransaction:function(b){return b&&b.tid?Ext.Direct.getTransaction(b.tid):null},doCallback:function(n,k){var l=k.status?"success":"failure";if(n&&n.cb){var e=n.cb,h=Ext.isDefined(k.result)?k.result:k.data;if(Ext.isFunction(e)){e(h,k)}else{Ext.callback(e[l],e.scope,[h,k]);Ext.callback(e.callback,e.scope,[h,k])}}}});Ext.Direct.PROVIDERS.remoting=Ext.direct.RemotingProvider;Ext.Resizable=Ext.extend(Ext.util.Observable,{constructor:function(z,y){this.el=Ext.get(z);if(y&&y.wrap){y.resizeChild=this.el;this.el=this.el.wrap(typeof y.wrap=="object"?y.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=y.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(y.resizeChild.getPositioning());y.resizeChild.clearPositioning();if(!y.width||!y.height){var x=y.resizeChild.getSize();this.el.setSize(x.width,x.height)}if(y.pinned&&!y.adjustments){y.adjustments="auto"}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"},Ext.getBody());this.proxy.unselectable();this.proxy.enableDisplayMode("block");Ext.apply(this,y);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var u=this.el.getStyle("position");if(u!="absolute"&&u!="fixed"){this.el.setStyle("position","relative")}if(!this.handles){this.handles="s,e,se";if(this.multiDirectional){this.handles+=",n,w"}}if(this.handles=="all"){this.handles="n s e w ne nw se sw"}var q=this.handles.split(/\s*?[,;]\s*?| /);var A=Ext.Resizable.positions;for(var v=0,t=q.length;v<t;v++){if(q[v]&&A[q[v]]){var r=A[q[v]];this[r]=new Ext.Resizable.Handle(this,r,this.disableTrackOver,this.transparent,this.handleCls)}}this.corner=this.southeast;if(this.handles.indexOf("n")!=-1||this.handles.indexOf("w")!=-1){this.updateBox=true}this.activeHandle=null;if(this.resizeChild){if(typeof this.resizeChild=="boolean"){this.resizeChild=Ext.get(this.el.dom.firstChild,true)}else{this.resizeChild=Ext.get(this.resizeChild,true)}}if(this.adjustments=="auto"){var B=this.resizeChild;var s=this.west,w=this.east,C=this.north,q=this.south;if(B&&(s||C)){B.position("relative");B.setLeft(s?s.el.getWidth():0);B.setTop(C?C.el.getHeight():0)}this.adjustments=[(w?-w.el.getWidth():0)+(s?-s.el.getWidth():0),(C?-C.el.getHeight():0)+(q?-q.el.getHeight():0)-1]}if(this.draggable){this.dd=this.dynamic?this.el.initDD(null):this.el.initDDProxy(null,{dragElId:this.proxy.id});this.dd.setHandleElId(this.resizeChild?this.resizeChild.id:this.el.id);if(this.constrainTo){this.dd.constrainTo(this.constrainTo)}}this.addEvents("beforeresize","resize");if(this.width!==null&&this.height!==null){this.resizeTo(this.width,this.height)}else{this.updateChildSize()}if(Ext.isIE){this.el.dom.style.zoom=1}Ext.Resizable.superclass.constructor.call(this)},adjustments:[0,0],animate:false,disableTrackOver:false,draggable:false,duration:0.35,dynamic:false,easing:"easeOutStrong",enabled:true,handles:false,multiDirectional:false,height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:5,minWidth:5,maxHeight:10000,maxWidth:10000,minX:0,minY:0,pinned:false,preserveRatio:false,resizeChild:false,transparent:false,resizeTo:function(c,d){this.el.setSize(c,d);this.updateChildSize();this.fireEvent("resize",this,c,d,null)},startSizing:function(g,d){this.fireEvent("beforeresize",this,g);if(this.enabled){if(!this.overlay){this.overlay=this.el.createProxy({tag:"div",cls:"x-resizable-overlay",html:"&#160;"},Ext.getBody());this.overlay.unselectable();this.overlay.enableDisplayMode("block");this.overlay.on({scope:this,mousemove:this.onMouseMove,mouseup:this.onMouseUp})}this.overlay.setStyle("cursor",d.el.getStyle("cursor"));this.resizing=true;this.startBox=this.el.getBox();this.startPoint=g.getXY();this.offsets=[(this.startBox.x+this.startBox.width)-this.startPoint[0],(this.startBox.y+this.startBox.height)-this.startPoint[1]];this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();if(this.constrainTo){var e=Ext.get(this.constrainTo);this.resizeRegion=e.getRegion().adjust(e.getFrameWidth("t"),e.getFrameWidth("l"),-e.getFrameWidth("b"),-e.getFrameWidth("r"))}this.proxy.setStyle("visibility","hidden");this.proxy.show();this.proxy.setBox(this.startBox);if(!this.dynamic){this.proxy.setStyle("visibility","visible")}}},onMouseDown:function(d,c){if(this.enabled){c.stopEvent();this.activeHandle=d;this.startSizing(c,d)}},onMouseUp:function(c){this.activeHandle=null;var d=this.resizeElement();this.resizing=false;this.handleOut();this.overlay.hide();this.proxy.hide();this.fireEvent("resize",this,d.width,d.height,c)},updateChildSize:function(){if(this.resizeChild){var h=this.el;var g=this.resizeChild;var k=this.adjustments;if(h.dom.offsetWidth){var b=h.getSize(true);g.setSize(b.width+k[0],b.height+k[1])}if(Ext.isIE){setTimeout(function(){if(h.dom.offsetWidth){var a=h.getSize(true);g.setSize(a.width+k[0],a.height+k[1])}},10)}}},snap:function(n,k,g){if(!k||!n){return n}var l=n;var h=n%k;if(h>0){if(h>(k/2)){l=n+(k-h)}else{l=n-h}}return Math.max(g,l)},resizeElement:function(){var b=this.proxy.getBox();if(this.updateBox){this.el.setBox(b,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(b.width,b.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}if(this.draggable&&this.constrainTo){this.dd.resetConstraints();this.dd.constrainTo(this.constrainTo)}return b},constrain:function(e,k,g,h){if(e-k<g){k=e-g}else{if(e-k>h){k=e-h}}return k},onMouseMove:function(N){if(this.enabled&&this.activeHandle){try{if(this.resizeRegion&&!this.resizeRegion.contains(N.getPoint())){return}var x=this.curSize||this.startBox,R=this.startBox.x,S=this.startBox.y,X=R,Y=S,Q=x.width,h=x.height,W=Q,O=h,P=this.minWidth,M=this.minHeight,G=this.maxWidth,y=this.maxHeight,U=this.widthIncrement,Z=this.heightIncrement,K=N.getXY(),I=-(this.startPoint[0]-Math.max(this.minX,K[0])),L=-(this.startPoint[1]-Math.max(this.minY,K[1])),T=this.activeHandle.position,w,V;switch(T){case"east":Q+=I;Q=Math.min(Math.max(P,Q),G);break;case"south":h+=L;h=Math.min(Math.max(M,h),y);break;case"southeast":Q+=I;h+=L;Q=Math.min(Math.max(P,Q),G);h=Math.min(Math.max(M,h),y);break;case"north":L=this.constrain(h,L,M,y);S+=L;h-=L;break;case"west":I=this.constrain(Q,I,P,G);R+=I;Q-=I;break;case"northeast":Q+=I;Q=Math.min(Math.max(P,Q),G);L=this.constrain(h,L,M,y);S+=L;h-=L;break;case"northwest":I=this.constrain(Q,I,P,G);L=this.constrain(h,L,M,y);S+=L;h-=L;R+=I;Q-=I;break;case"southwest":I=this.constrain(Q,I,P,G);h+=L;h=Math.min(Math.max(M,h),y);R+=I;Q-=I;break}var J=this.snap(Q,U,P);var H=this.snap(h,Z,M);if(J!=Q||H!=h){switch(T){case"northeast":S-=H-h;break;case"north":S-=H-h;break;case"southwest":R-=J-Q;break;case"west":R-=J-Q;break;case"northwest":R-=J-Q;S-=H-h;break}Q=J;h=H}if(this.preserveRatio){switch(T){case"southeast":case"east":h=O*(Q/W);h=Math.min(Math.max(M,h),y);Q=W*(h/O);break;case"south":Q=W*(h/O);Q=Math.min(Math.max(P,Q),G);h=O*(Q/W);break;case"northeast":Q=W*(h/O);Q=Math.min(Math.max(P,Q),G);h=O*(Q/W);break;case"north":w=Q;Q=W*(h/O);Q=Math.min(Math.max(P,Q),G);h=O*(Q/W);R+=(w-Q)/2;break;case"southwest":h=O*(Q/W);h=Math.min(Math.max(M,h),y);w=Q;Q=W*(h/O);R+=w-Q;break;case"west":V=h;h=O*(Q/W);h=Math.min(Math.max(M,h),y);S+=(V-h)/2;w=Q;Q=W*(h/O);R+=w-Q;break;case"northwest":w=Q;V=h;h=O*(Q/W);h=Math.min(Math.max(M,h),y);Q=W*(h/O);S+=V-h;R+=w-Q;break}}this.proxy.setBounds(R,S,Q,h);if(this.dynamic){this.resizeElement()}}catch(e){}}},handleOver:function(){if(this.enabled){this.el.addClass("x-resizable-over")}},handleOut:function(){if(!this.resizing){this.el.removeClass("x-resizable-over")}},getEl:function(){return this.el},getResizeChild:function(){return this.resizeChild},destroy:function(d){Ext.destroy(this.dd,this.overlay,this.proxy);this.overlay=null;this.proxy=null;var g=Ext.Resizable.positions;for(var e in g){if(typeof g[e]!="function"&&this[g[e]]){this[g[e]].destroy()}}if(d){this.el.update("");Ext.destroy(this.el);this.el=null}this.purgeListeners()},syncHandleHeight:function(){var b=this.el.getHeight(true);if(this.west){this.west.el.setHeight(b)}if(this.east){this.east.el.setHeight(b)}}});Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};Ext.Resizable.Handle=Ext.extend(Object,{constructor:function(o,l,p,n,k){if(!this.tpl){var h=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});h.compile();Ext.Resizable.Handle.prototype.tpl=h}this.position=l;this.rz=o;this.el=this.tpl.append(o.el.dom,[this.position],true);this.el.unselectable();if(n){this.el.setOpacity(0)}if(!Ext.isEmpty(k)){this.el.addClass(k)}this.el.on("mousedown",this.onMouseDown,this);if(!p){this.el.on({scope:this,mouseover:this.onMouseOver,mouseout:this.onMouseOut})}},afterResize:function(b){},onMouseDown:function(b){this.rz.onMouseDown(this,b)},onMouseOver:function(b){this.rz.handleOver(this,b)},onMouseOut:function(b){this.rz.handleOut(this,b)},destroy:function(){Ext.destroy(this.el);this.el=null}});Ext.Window=Ext.extend(Ext.Panel,{baseCls:"x-window",resizable:true,draggable:true,closable:true,closeAction:"close",constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,showAnimDuration:0.25,hideAnimDuration:0.25,collapsible:false,initHidden:undefined,hidden:true,elements:"header,body",frame:true,floating:true,initComponent:function(){this.initTools();Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore");if(Ext.isDefined(this.initHidden)){this.hidden=this.initHidden}if(this.hidden===false){this.hidden=true;this.show()}},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox(true))},onRender:function(c,d){Ext.Window.superclass.onRender.call(this,c,d);if(this.plain){this.el.addClass("x-window-plain")}this.focusEl=this.el.createChild({tag:"a",href:"#",cls:"x-dlg-focus",tabIndex:"-1",html:"&#160;"});this.focusEl.swallowEvent("click",true);this.proxy=this.el.createProxy("x-window-proxy");this.proxy.enableDisplayMode("block");if(this.modal){this.mask=this.container.createChild({cls:"ext-el-mask"},this.el.dom);this.mask.enableDisplayMode("block");this.mask.hide();this.mon(this.mask,"click",this.focus,this)}if(this.maximizable){this.mon(this.header,"dblclick",this.toggleMaximize,this)}},initEvents:function(){Ext.Window.superclass.initEvents.call(this);if(this.animateTarget){this.setAnimateTarget(this.animateTarget)}if(this.resizable){this.resizer=new Ext.Resizable(this.el,{minWidth:this.minWidth,minHeight:this.minHeight,handles:this.resizeHandles||"all",pinned:true,resizeElement:this.resizerAction,handleCls:"x-window-handle"});this.resizer.window=this;this.mon(this.resizer,"beforeresize",this.beforeResize,this)}if(this.draggable){this.header.addClass("x-window-draggable")}this.mon(this.el,"mousedown",this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);if(this.maximized){this.maximized=false;this.maximize()}if(this.closable){var b=this.getKeyMap();b.on(27,this.onEsc,this);b.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(d,c){c.stopEvent();this[this.closeAction]()},beforeDestroy:function(){if(this.rendered){this.hide();this.clearAnchor();Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask)}Ext.Window.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.manager){this.manager.unregister(this)}Ext.Window.superclass.onDestroy.call(this)},initTools:function(){if(this.minimizable){this.addTool({id:"minimize",handler:this.minimize.createDelegate(this,[])})}if(this.maximizable){this.addTool({id:"maximize",handler:this.maximize.createDelegate(this,[])});this.addTool({id:"restore",handler:this.restore.createDelegate(this,[]),hidden:true})}if(this.closable){this.addTool({id:"close",handler:this[this.closeAction].createDelegate(this,[])})}},resizerAction:function(){var b=this.proxy.getBox();this.proxy.hide();this.window.handleResize(b);return b},beforeResize:function(){this.resizer.minHeight=Math.max(this.minHeight,this.getFrameHeight()+40);this.resizer.minWidth=Math.max(this.minWidth,this.getFrameWidth()+40);this.resizeBox=this.el.getBox()},updateHandles:function(){if(Ext.isIE&&this.resizer){this.resizer.syncHandleHeight();this.el.repaint()}},handleResize:function(c){var d=this.resizeBox;if(d.x!=c.x||d.y!=c.y){this.updateBox(c)}else{this.setSize(c);if(Ext.isIE6&&Ext.isStrict){this.doLayout()}}this.focus();this.updateHandles();this.saveState()},focus:function(){var k=this.focusEl,h=this.defaultButton,n=typeof h,l,g;if(Ext.isDefined(h)){if(Ext.isNumber(h)&&this.fbar){k=this.fbar.items.get(h)}else{if(Ext.isString(h)){k=Ext.getCmp(h)}else{k=h}}l=k.getEl();g=Ext.getDom(this.container);if(l&&g){if(g!=document.body&&!Ext.lib.Region.getRegion(g).contains(Ext.lib.Region.getRegion(l.dom))){return}}}k=k||this.focusEl;k.focus.defer(10,k)},setAnimateTarget:function(b){b=Ext.get(b);this.animateTarget=b},beforeShow:function(){delete this.el.lastXY;delete this.el.lastLT;if(this.x===undefined||this.y===undefined){var d=this.el.getAlignToXY(this.container,"c-c");var c=this.el.translatePoints(d[0],d[1]);this.x=this.x===undefined?c.left:this.x;this.y=this.y===undefined?c.top:this.y}this.el.setLeftTop(this.x,this.y);if(this.expandOnShow){this.expand(false)}if(this.modal){Ext.getBody().addClass("x-body-masked");this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.mask.show()}},show:function(g,e,d){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return this}if(this.fireEvent("beforeshow",this)===false){return this}if(e){this.on("show",e,d,{single:true})}this.hidden=false;if(Ext.isDefined(g)){this.setAnimateTarget(g)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}return this},afterShow:function(c){if(this.isDestroyed){return false}this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&&Ext.isGecko2){this.cascade(this.setAutoScroll)}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.onWindowResize(this.onWindowResize,this)}this.doConstrain();this.doLayout();if(this.keyMap){this.keyMap.enable()}this.toFront();this.updateHandles();if(c&&(Ext.isIE||Ext.isWebKit)){var d=this.getSize();this.onResize(d.width,d.height)}this.onShow();this.fireEvent("show",this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var b=this.getBox();this.el.setStyle("display","none");this.proxy.shift(Ext.apply(b,{callback:this.afterShow.createDelegate(this,[true],false),scope:this,easing:"easeNone",duration:this.showAnimDuration,opacity:0.5}))},hide:function(g,e,d){if(this.hidden||this.fireEvent("beforehide",this)===false){return this}if(e){this.on("hide",e,d,{single:true})}this.hidden=true;if(g!==undefined){this.setAnimateTarget(g)}if(this.modal){this.mask.hide();Ext.getBody().removeClass("x-body-masked")}if(this.animateTarget){this.animHide()}else{this.el.hide();this.afterHide()}return this},afterHide:function(){this.proxy.hide();if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.removeResizeListener(this.onWindowResize,this)}if(this.keyMap){this.keyMap.disable()}this.onHide();this.fireEvent("hide",this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var b=this.getBox(false);this.proxy.setBox(b);this.el.hide();this.proxy.shift(Ext.apply(this.animateTarget.getBox(),{callback:this.afterHide,scope:this,duration:this.hideAnimDuration,easing:"easeNone",opacity:0}))},onShow:Ext.emptyFn,onHide:Ext.emptyFn,onWindowResize:function(){if(this.maximized){this.fitContainer()}if(this.modal){this.mask.setSize("100%","100%");var b=this.mask.dom.offsetHeight;this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true))}this.doConstrain()},doConstrain:function(){if(this.constrain||this.constrainHeader){var d;if(this.constrain){d={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var e=this.getSize();d={right:-(e.width-100),bottom:-(e.height-25)}}var g=this.el.getConstrainToXY(this.container,true,d);if(g){this.setPosition(g[0],g[1])}}},ghost:function(e){var g=this.createGhost(e);var d=this.getBox(true);g.setLeftTop(d.x,d.y);g.setWidth(d.width);this.el.hide();this.activeGhost=g;return g},unghost:function(c,d){if(!this.activeGhost){return}if(c!==false){this.el.show();this.focus.defer(10,this);if(Ext.isMac&&Ext.isGecko2){this.cascade(this.setAutoScroll)}}if(d!==false){this.setPosition(this.activeGhost.getLeft(true),this.activeGhost.getTop(true))}this.activeGhost.hide();this.activeGhost.remove();delete this.activeGhost},minimize:function(){this.fireEvent("minimize",this);return this},close:function(){if(this.fireEvent("beforeclose",this)!==false){if(this.hidden){this.doClose()}else{this.hide(null,this.doClose,this)}}},doClose:function(){this.fireEvent("close",this);this.destroy()},maximize:function(){if(!this.maximized){this.expand(false);this.restoreSize=this.getSize();this.restorePos=this.getPosition(true);if(this.maximizable){this.tools.maximize.hide();this.tools.restore.show()}this.maximized=true;this.el.disableShadow();if(this.dd){this.dd.lock()}if(this.collapsible){this.tools.toggle.hide()}this.el.addClass("x-window-maximized");this.container.addClass("x-window-maximized-ct");this.setPosition(0,0);this.fitContainer();this.fireEvent("maximize",this)}return this},restore:function(){if(this.maximized){var b=this.tools;this.el.removeClass("x-window-maximized");if(b.restore){b.restore.hide()}if(b.maximize){b.maximize.show()}this.setPosition(this.restorePos[0],this.restorePos[1]);this.setSize(this.restoreSize.width,this.restoreSize.height);delete this.restorePos;delete this.restoreSize;this.maximized=false;this.el.enableShadow(true);if(this.dd){this.dd.unlock()}if(this.collapsible&&b.toggle){b.toggle.show()}this.container.removeClass("x-window-maximized-ct");this.doConstrain();this.fireEvent("restore",this)}return this},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()},fitContainer:function(){var b=this.container.getViewSize(false);this.setSize(b.width,b.height)},setZIndex:function(b){if(this.modal){this.mask.setStyle("z-index",b)}this.el.setZIndex(++b);b+=5;if(this.resizer){this.resizer.proxy.setStyle("z-index",++b)}this.lastZIndex=b},alignTo:function(e,g,k){var h=this.el.getAlignToXY(e,g,k);this.setPagePosition(h[0],h[1]);return this},anchorTo:function(n,k,l,g){this.clearAnchor();this.anchorTarget={el:n,alignment:k,offsets:l};Ext.EventManager.onWindowResize(this.doAnchor,this);var h=typeof g;if(h!="undefined"){Ext.EventManager.on(window,"scroll",this.doAnchor,this,{buffer:h=="number"?g:50})}return this.doAnchor()},doAnchor:function(){var b=this.anchorTarget;this.alignTo(b.el,b.alignment,b.offsets);return this},clearAnchor:function(){if(this.anchorTarget){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this);delete this.anchorTarget}return this},toFront:function(b){if(this.manager.bringToFront(this)){if(!b||!b.getTarget().focus){this.focus()}}return this},setActive:function(b){if(b){if(!this.maximized){this.el.enableShadow(true)}this.fireEvent("activate",this)}else{this.el.disableShadow();this.fireEvent("deactivate",this)}},toBack:function(){this.manager.sendToBack(this);return this},center:function(){var b=this.el.getAlignToXY(this.container,"c-c");this.setPagePosition(b[0],b[1]);return this}});Ext.reg("window",Ext.Window);Ext.Window.DD=Ext.extend(Ext.dd.DD,{constructor:function(b){this.win=b;Ext.Window.DD.superclass.constructor.call(this,b.el.id,"WindowDD-"+b.id);this.setHandleElId(b.header.id);this.scroll=false},moveOnly:true,headerOffsets:[100,25],startDrag:function(){var e=this.win;this.proxy=e.ghost(e.initialConfig.cls);if(e.constrain!==false){var g=e.el.shadowOffset;this.constrainTo(e.container,{right:g,left:g,bottom:g})}else{if(e.constrainHeader!==false){var d=this.proxy.getSize();this.constrainTo(e.container,{right:-(d.width-this.headerOffsets[0]),bottom:-(d.height-this.headerOffsets[1])})}}},b4Drag:Ext.emptyFn,onDrag:function(b){this.alignElWithMouse(this.proxy,b.getPageX(),b.getPageY())},endDrag:function(b){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var o={};var q=[];var p=null;var r=function(a,b){return(!a._lastAccess||a._lastAccess<b._lastAccess)?-1:1};var n=function(){var a=q,c=a.length;if(c>0){a.sort(r);var b=a[0].manager.zseed;for(var e=0;e<c;e++){var d=a[e];if(d&&!d.hidden){d.setZIndex(b+(e*10))}}}l()};var k=function(a){if(a!=p){if(p){p.setActive(false)}p=a;if(a){a.setActive(true)}}};var l=function(){for(var a=q.length-1;a>=0;--a){if(!q[a].hidden){k(q[a]);return}}k(null)};return{zseed:9000,register:function(a){if(a.manager){a.manager.unregister(a)}a.manager=this;o[a.id]=a;q.push(a);a.on("hide",l)},unregister:function(a){delete a.manager;delete o[a.id];a.un("hide",l);q.remove(a)},get:function(a){return typeof a=="object"?a:o[a]},bringToFront:function(a){a=this.get(a);if(a!=p){a._lastAccess=new Date().getTime();n();return true}return false},sendToBack:function(a){a=this.get(a);a._lastAccess=-(new Date().getTime());n();return a},hideAll:function(){for(var a in o){if(o[a]&&typeof o[a]!="function"&&o[a].isVisible()){o[a].hide()}}},getActive:function(){return p},getBy:function(a,b){var e=[];for(var c=q.length-1;c>=0;--c){var d=q[c];if(a.call(b||d,d)!==false){e.push(d)}}return e},each:function(b,c){for(var a in o){if(o[a]&&typeof o[a]!="function"){if(b.call(c||o[a],o[a])===false){return}}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.MessageBox=function(){var A,S,E,B,N,J,C,T,H,F,L,O,D,z,G,M="",Q="",I=["ok","yes","no","cancel"];var R=function(a){D[a].blur();if(A.isVisible()){A.hide();y();Ext.callback(S.fn,S.scope||window,[a,z.dom.value,S],1)}};var y=function(){if(S&&S.cls){A.el.removeClass(S.cls)}H.reset()};var P=function(a,c,b){if(S&&S.closable!==false){A.hide();y()}if(b){b.stopEvent()}};var K=function(c){var a=0,b;if(!c){Ext.each(I,function(d){D[d].hide()});return a}A.footer.dom.style.display="";Ext.iterate(D,function(e,d){b=c[e];if(b){d.show();d.setText(Ext.isString(b)?b:Ext.MessageBox.buttonText[e]);a+=d.getEl().getWidth()+15}else{d.hide()}});return a};return{getDialog:function(c){if(!A){var a=[];D={};Ext.each(I,function(d){a.push(D[d]=new Ext.Button({text:this.buttonText[d],handler:R.createCallback(d),hideMode:"offsets"}))},this);A=new Ext.Window({autoCreate:true,title:c,resizable:false,constrain:true,constrainHeader:true,minimizable:false,maximizable:false,stateful:false,modal:true,shim:true,buttonAlign:"center",width:400,height:100,minHeight:80,plain:true,footer:true,closable:true,close:function(){if(S&&S.buttons&&S.buttons.no&&!S.buttons.cancel){R("no")}else{R("cancel")}},fbar:new Ext.Toolbar({items:a,enableOverflow:false})});A.render(document.body);A.getEl().addClass("x-window-dlg");E=A.mask;N=A.body.createChild({html:'<div class="ext-mb-icon"></div><div class="ext-mb-content"><span class="ext-mb-text"></span><br /><div class="ext-mb-fix-cursor"><input type="text" class="ext-mb-input" /><textarea class="ext-mb-textarea"></textarea></div></div>'});L=Ext.get(N.dom.firstChild);var b=N.dom.childNodes[1];J=Ext.get(b.firstChild);C=Ext.get(b.childNodes[2].firstChild);C.enableDisplayMode();C.addKeyListener([10,13],function(){if(A.isVisible()&&S&&S.buttons){if(S.buttons.ok){R("ok")}else{if(S.buttons.yes){R("yes")}}}});T=Ext.get(b.childNodes[2].childNodes[1]);T.enableDisplayMode();H=new Ext.ProgressBar({renderTo:N});N.createChild({cls:"x-clear"})}return A},updateText:function(g){if(!A.isVisible()&&!S.width){A.setSize(this.maxWidth,100)}J.update(g?g+" ":"&#160;");var d=Q!=""?(L.getWidth()+L.getMargins("lr")):0,b=J.getWidth()+J.getMargins("lr"),a=A.getFrameWidth("lr"),c=A.body.getFrameWidth("lr"),e;e=Math.max(Math.min(S.width||d+b+a+c,S.maxWidth||this.maxWidth),Math.max(S.minWidth||this.minWidth,G||0));if(S.prompt===true){z.setWidth(e-d-a-c)}if(S.progress===true||S.wait===true){H.setSize(e-d-a-c)}if(Ext.isIE&&e==G){e+=4}J.update(g||"&#160;");A.setSize(e,"auto").center();return this},updateProgress:function(b,c,a){H.updateProgress(b,c);if(a){this.updateText(a)}return this},isVisible:function(){return A&&A.isVisible()},hide:function(){var a=A?A.activeGhost:null;if(this.isVisible()||a){A.hide();y();if(a){A.unghost(false,false)}}return this},show:function(e){if(this.isVisible()){this.hide()}S=e;var c=this.getDialog(S.title||"&#160;");c.setTitle(S.title||"&#160;");var d=(S.closable!==false&&S.progress!==true&&S.wait!==true);c.tools.close.setDisplayed(d);z=C;S.prompt=S.prompt||(S.multiline?true:false);if(S.prompt){if(S.multiline){C.hide();T.show();T.setHeight(Ext.isNumber(S.multiline)?S.multiline:this.defaultTextHeight);z=T}else{C.show();T.hide()}}else{C.hide();T.hide()}z.dom.value=S.value||"";if(S.prompt){c.focusEl=z}else{var a=S.buttons;var b=null;if(a&&a.ok){b=D.ok}else{if(a&&a.yes){b=D.yes}}if(b){c.focusEl=b}}if(Ext.isDefined(S.iconCls)){c.setIconClass(S.iconCls)}this.setIcon(Ext.isDefined(S.icon)?S.icon:M);G=K(S.buttons);H.setVisible(S.progress===true||S.wait===true);this.updateProgress(0,S.progressText);this.updateText(S.msg);if(S.cls){c.el.addClass(S.cls)}c.proxyDrag=S.proxyDrag===true;c.modal=S.modal!==false;c.mask=S.modal!==false?E:false;if(!c.isVisible()){document.body.appendChild(A.el.dom);c.setAnimateTarget(S.animEl);c.on("show",function(){if(d===true){c.keyMap.enable()}else{c.keyMap.disable()}},this,{single:true});c.show(S.animEl)}if(S.wait===true){H.wait(S.waitConfig)}return this},setIcon:function(a){if(!A){M=a;return}M=undefined;if(a&&a!=""){L.removeClass("x-hidden");L.replaceClass(Q,a);N.addClass("x-dlg-icon");Q=a}else{L.replaceClass(Q,"x-hidden");N.removeClass("x-dlg-icon");Q=""}return this},progress:function(a,b,c){this.show({title:a,msg:b,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:c});return this},wait:function(a,b,c){this.show({title:b,msg:a,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:c});return this},alert:function(d,a,b,c){this.show({title:d,msg:a,buttons:this.OK,fn:b,scope:c,minWidth:this.minWidth});return this},confirm:function(d,a,b,c){this.show({title:d,msg:a,buttons:this.YESNO,fn:b,scope:c,icon:this.QUESTION,minWidth:this.minWidth});return this},prompt:function(b,d,a,c,g,e){this.show({title:b,msg:d,buttons:this.OKCANCEL,fn:a,minWidth:this.minPromptWidth,scope:c,prompt:true,multiline:g,value:e});return this},OK:{ok:true},CANCEL:{cancel:true},OKCANCEL:{ok:true,cancel:true},YESNO:{yes:true,no:true},YESNOCANCEL:{yes:true,no:true,cancel:true},INFO:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,minPromptWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox;Ext.dd.PanelProxy=Ext.extend(Object,{constructor:function(d,c){this.panel=d;this.id=this.panel.id+"-ddproxy";Ext.apply(this,c)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.el.dom.style.display="";this.ghost.remove();delete this.ghost}},show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(this.panel.initialConfig.cls,undefined,Ext.getBody());this.ghost.setXY(this.panel.el.getXY());if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer"});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display="none"}},repair:function(d,g,e){this.hide();if(typeof g=="function"){g.call(e||this)}},moveProxy:function(d,c){if(this.proxy){d.insertBefore(this.proxy.dom,c)}}});Ext.Panel.DD=Ext.extend(Ext.dd.DragSource,{constructor:function(e,g){this.panel=e;this.dragData={panel:e};this.proxy=new Ext.dd.PanelProxy(e,g);Ext.Panel.DD.superclass.constructor.call(this,e.el,g);var h=e.header,k=e.body;if(h){this.setHandleElId(h.id);k=e.header}k.setStyle("cursor","move");this.scroll=false},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(d,c){this.proxy.show()},b4MouseDown:function(d){var e=d.getPageX(),g=d.getPageY();this.autoOffset(e,g)},onInitDrag:function(d,c){this.onStartDrag(d,c);return true},createFrame:Ext.emptyFn,getDragEl:function(b){return this.proxy.ghost.dom},endDrag:function(b){this.proxy.hide();this.panel.saveState()},autoOffset:function(d,c){d-=this.startPageX;c-=this.startPageY;this.setDelta(d,c)}});Ext.state.Provider=Ext.extend(Ext.util.Observable,{constructor:function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)},get:function(c,d){return typeof this.state[c]=="undefined"?d:this.state[c]},clear:function(b){delete this.state[b];this.fireEvent("statechange",this,b,null)},set:function(d,c){this.state[d]=c;this.fireEvent("statechange",this,d,c)},decodeValue:function(k){var p=/^(a|n|d|b|s|o|e)\:(.*)$/,n=p.exec(unescape(k)),q,r,l,o;if(!n||!n[1]){return}r=n[1];l=n[2];switch(r){case"e":return null;case"n":return parseFloat(l);case"d":return new Date(Date.parse(l));case"b":return(l=="1");case"a":q=[];if(l!=""){Ext.each(l.split("^"),function(a){q.push(this.decodeValue(a))},this)}return q;case"o":q={};if(l!=""){Ext.each(l.split("^"),function(a){o=a.split("=");q[o[0]]=this.decodeValue(o[1])},this)}return q;default:return l}},encodeValue:function(p){var h,l="",n=0,k,o;if(p==null){return"e:1"}else{if(typeof p=="number"){h="n:"+p}else{if(typeof p=="boolean"){h="b:"+(p?"1":"0")}else{if(Ext.isDate(p)){h="d:"+p.toGMTString()}else{if(Ext.isArray(p)){for(k=p.length;n<k;n++){l+=this.encodeValue(p[n]);if(n!=k-1){l+="^"}}h="a:"+l}else{if(typeof p=="object"){for(o in p){if(typeof p[o]!="function"&&p[o]!==undefined){l+=o+"="+this.encodeValue(p[o])+"^"}}h="o:"+l.substring(0,l.length-1)}else{h="s:"+p}}}}}}return escape(h)}});Ext.state.Manager=function(){var b=new Ext.state.Provider();return{setProvider:function(a){b=a},get:function(d,a){return b.get(d,a)},set:function(a,d){b.set(a,d)},clear:function(a){b.clear(a)},getProvider:function(){return b}}}();Ext.state.CookieProvider=Ext.extend(Ext.state.Provider,{constructor:function(b){Ext.state.CookieProvider.superclass.constructor.call(this);this.path="/";this.expires=new Date(new Date().getTime()+(1000*60*60*24*7));this.domain=null;this.secure=false;Ext.apply(this,b);this.state=this.readCookies()},set:function(d,c){if(typeof c=="undefined"||c===null){this.clear(d);return}this.setCookie(d,c);Ext.state.CookieProvider.superclass.set.call(this,d,c)},clear:function(b){this.clearCookie(b);Ext.state.CookieProvider.superclass.clear.call(this,b)},readCookies:function(){var p={},l=document.cookie+";",c=/\s?(.*?)=(.*?);/g,n,k,o;while((n=c.exec(l))!=null){k=n[1];o=n[2];if(k&&k.substring(0,3)=="ys-"){p[k.substr(3)]=this.decodeValue(o)}}return p},setCookie:function(d,c){document.cookie="ys-"+d+"="+this.encodeValue(c)+((this.expires==null)?"":("; expires="+this.expires.toGMTString()))+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")},clearCookie:function(b){document.cookie="ys-"+b+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")}});Ext.DataView=Ext.extend(Ext.BoxComponent,{selectedClass:"x-view-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(Ext.isString(this.tpl)||Ext.isArray(this.tpl)){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","containercontextmenu","selectionchange","beforeselect");this.store=Ext.StoreMgr.lookup(this.store);this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.mon(this.getTemplateTarget(),{click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass||this.trackOver){this.mon(this.getTemplateTarget(),{mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this})}if(this.store){this.bindStore(this.store,true)}},refresh:function(){this.clearSelections(false,true);var c=this.getTemplateTarget(),d=this.store.getRange();c.update("");if(d.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){c.update(this.emptyText)}this.all.clear()}else{this.tpl.overwrite(c,this.collectData(d,0));this.all.fill(Ext.query(this.itemSelector,c.dom));this.updateIndexes(0)}this.hasSkippedEmptyText=true},getTemplateTarget:function(){return this.el},prepareData:function(b){return b},collectData:function(g,k){var l=[],n=0,h=g.length;for(;n<h;n++){l[l.length]=this.prepareData(g[n].data,k+n,g[n])}return l},bufferRender:function(e,d){var g=document.createElement("div");this.tpl.overwrite(g,this.collectData(e,d));return Ext.query(this.itemSelector,g)},onUpdate:function(l,k){var h=this.store.indexOf(k);if(h>-1){var n=this.isSelected(h),p=this.all.elements[h],o=this.bufferRender([k],h)[0];this.all.replaceElement(h,o,true);if(n){this.selected.replaceElement(p,o);this.all.item(h).addClass(this.selectedClass)}this.updateIndexes(h,h)}},onAdd:function(l,o,n){if(this.all.getCount()===0){this.refresh();return}var p=this.bufferRender(o,n),k,a=this.all.elements;if(n<this.all.getCount()){k=this.all.item(n).insertSibling(p,"before",true);a.splice.apply(a,[n,0].concat(p))}else{k=this.all.last().insertSibling(p,"after",true);a.push.apply(a,p)}this.updateIndexes(n)},onRemove:function(g,e,d){this.deselect(d);this.all.removeElement(d,true);this.updateIndexes(d);if(this.store.getCount()===0){this.refresh()}},refreshNode:function(b){this.onUpdate(this.store,this.store.getAt(b))},updateIndexes:function(h,k){var e=this.all.elements;h=h||0;k=k||((k===0)?0:(e.length-1));for(var g=h;g<=k;g++){e[g].viewIndex=g}},getStore:function(){return this.store},bindStore:function(d,c){if(!c&&this.store){if(d!==this.store&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("datachanged",this.onDataChanged,this);this.store.un("add",this.onAdd,this);this.store.un("remove",this.onRemove,this);this.store.un("update",this.onUpdate,this);this.store.un("clear",this.refresh,this)}if(!d){this.store=null}}if(d){d=Ext.StoreMgr.lookup(d);d.on({scope:this,beforeload:this.onBeforeLoad,datachanged:this.onDataChanged,add:this.onAdd,remove:this.onRemove,update:this.onUpdate,clear:this.refresh})}this.store=d;if(d){this.refresh()}},onDataChanged:function(){if(this.blockRefresh!==true){this.refresh.apply(this,arguments)}},findItemFromChild:function(b){return Ext.fly(b).findParent(this.itemSelector,this.getTemplateTarget())},onClick:function(g){var d=g.getTarget(this.itemSelector,this.getTemplateTarget()),e;if(d){e=this.indexOf(d);if(this.onItemClick(d,e,g)!==false){this.fireEvent("click",this,e,d,g)}}else{if(this.fireEvent("containerclick",this,g)!==false){this.onContainerClick(g)}}},onContainerClick:function(b){this.clearSelections()},onContextMenu:function(c){var d=c.getTarget(this.itemSelector,this.getTemplateTarget());if(d){this.fireEvent("contextmenu",this,this.indexOf(d),d,c)}else{this.fireEvent("containercontextmenu",this,c)}},onDblClick:function(c){var d=c.getTarget(this.itemSelector,this.getTemplateTarget());if(d){this.fireEvent("dblclick",this,this.indexOf(d),d,c)}},onMouseOver:function(c){var d=c.getTarget(this.itemSelector,this.getTemplateTarget());if(d&&d!==this.lastItem){this.lastItem=d;Ext.fly(d).addClass(this.overClass);this.fireEvent("mouseenter",this,this.indexOf(d),d,c)}},onMouseOut:function(b){if(this.lastItem){if(!b.within(this.lastItem,true,true)){Ext.fly(this.lastItem).removeClass(this.overClass);this.fireEvent("mouseleave",this,this.indexOf(this.lastItem),this.lastItem,b);delete this.lastItem}}},onItemClick:function(d,e,g){if(this.fireEvent("beforeclick",this,e,d,g)===false){return false}if(this.multiSelect){this.doMultiSelection(d,e,g);g.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(d,e,g);g.preventDefault()}}return true},doSingleSelection:function(d,e,g){if(g.ctrlKey&&this.isSelected(e)){this.deselect(e)}else{this.select(e,false)}},doMultiSelection:function(k,g,h){if(h.shiftKey&&this.last!==false){var e=this.last;this.selectRange(e,g,h.ctrlKey);this.last=e}else{if((h.ctrlKey||this.simpleSelect)&&this.isSelected(g)){this.deselect(g)}else{this.select(g,h.ctrlKey||h.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var e=[],h=this.selected.elements,k=0,g=h.length;for(;k<g;k++){e.push(h[k].viewIndex)}return e},getSelectedRecords:function(){return this.getRecords(this.selected.elements)},getRecords:function(k){var e=[],h=0,g=k.length;for(;h<g;h++){e[e.length]=this.store.getAt(k[h].viewIndex)}return e},getRecord:function(b){return this.store.getAt(b.viewIndex)},clearSelections:function(d,c){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!c){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!d){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(b){return this.selected.contains(this.getNode(b))},deselect:function(b){if(this.isSelected(b)){b=this.getNode(b);this.selected.removeElement(b);if(this.last==b.viewIndex){this.last=false}Ext.fly(b).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(o,l,h){if(Ext.isArray(o)){if(!l){this.clearSelections(true)}for(var p=0,k=o.length;p<k;p++){this.select(o[p],true,true)}if(!h){this.fireEvent("selectionchange",this,this.selected.elements)}}else{var n=this.getNode(o);if(!l){this.clearSelections(true)}if(n&&!this.isSelected(n)){if(this.fireEvent("beforeselect",this,n,this.selected.elements)!==false){Ext.fly(n).addClass(this.selectedClass);this.selected.add(n);this.last=n.viewIndex;if(!h){this.fireEvent("selectionchange",this,this.selected.elements)}}}}},selectRange:function(g,e,d){if(!d){this.clearSelections(true)}this.select(this.getNodes(g,e),true)},getNode:function(c){if(Ext.isString(c)){return document.getElementById(c)}else{if(Ext.isNumber(c)){return this.all.elements[c]}else{if(c instanceof Ext.data.Record){var d=this.store.indexOf(c);return this.all.elements[d]}}}return c},getNodes:function(k,h){var l=this.all.elements,g=[],n;k=k||0;h=!Ext.isDefined(h)?Math.max(l.length-1,0):h;if(k<=h){for(n=k;n<=h&&l[n];n++){g.push(l[n])}}else{for(n=k;n>=h&&l[n];n--){g.push(l[n])}}return g},indexOf:function(b){b=this.getNode(b);if(Ext.isNumber(b.viewIndex)){return b.viewIndex}return this.all.indexOf(b)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.getTemplateTarget().update('<div class="loading-indicator">'+this.loadingText+"</div>");this.all.clear()}},onDestroy:function(){this.all.clear();this.selected.clear();Ext.DataView.superclass.onDestroy.call(this);this.bindStore(null)}});Ext.DataView.prototype.setStore=Ext.DataView.prototype.bindStore;Ext.reg("dataview",Ext.DataView);Ext.list.ListView=Ext.extend(Ext.DataView,{itemSelector:"dl",selectedClass:"x-list-selected",overClass:"x-list-over",scrollOffset:undefined,columnResize:true,columnSort:true,maxColumnWidth:Ext.isIE?99:100,initComponent:function(){if(this.columnResize){this.colResizer=new Ext.list.ColumnResizer(this.colResizer);this.colResizer.init(this)}if(this.columnSort){this.colSorter=new Ext.list.Sorter(this.columnSort);this.colSorter.init(this)}if(!this.internalTpl){this.internalTpl=new Ext.XTemplate('<div class="x-list-header"><div class="x-list-header-inner">','<tpl for="columns">','<div style="width:{[values.width*100]}%;text-align:{align};"><em unselectable="on" id="',this.id,'-xlhd-{#}">',"{header}","</em></div>","</tpl>",'<div class="x-clear"></div>',"</div></div>",'<div class="x-list-body"><div class="x-list-body-inner">',"</div></div>")}if(!this.tpl){this.tpl=new Ext.XTemplate('<tpl for="rows">',"<dl>",'<tpl for="parent.columns">','<dt style="width:{[values.width*100]}%;text-align:{align};">','<em unselectable="on"<tpl if="cls"> class="{cls}</tpl>">',"{[values.tpl.apply(parent)]}","</em></dt>","</tpl>",'<div class="x-clear"></div>',"</dl>","</tpl>")}var p=this.columns,r=0,q=0,o=p.length,v=[];for(var s=0;s<o;s++){var c=p[s];if(!c.isColumn){c.xtype=c.xtype?(/^lv/.test(c.xtype)?c.xtype:"lv"+c.xtype):"lvcolumn";c=Ext.create(c)}if(c.width){r+=c.width*100;if(r>this.maxColumnWidth){c.width-=(r-this.maxColumnWidth)/100}q++}v.push(c)}p=this.columns=v;if(q<o){var u=o-q;if(r<this.maxColumnWidth){var w=((this.maxColumnWidth-r)/u)/100;for(var t=0;t<o;t++){var c=p[t];if(!c.width){c.width=w}}}}Ext.list.ListView.superclass.initComponent.call(this)},onRender:function(){this.autoEl={cls:"x-list-wrap"};Ext.list.ListView.superclass.onRender.apply(this,arguments);this.internalTpl.overwrite(this.el,{columns:this.columns});this.innerBody=Ext.get(this.el.dom.childNodes[1].firstChild);this.innerHd=Ext.get(this.el.dom.firstChild.firstChild);if(this.hideHeaders){this.el.dom.firstChild.style.display="none"}},getTemplateTarget:function(){return this.innerBody},collectData:function(){var b=Ext.list.ListView.superclass.collectData.apply(this,arguments);return{columns:this.columns,rows:b}},verifyInternalSize:function(){if(this.lastSize){this.onResize(this.lastSize.width,this.lastSize.height)}},onResize:function(p,n){var h=this.innerBody.dom,l=this.innerHd.dom,o=p-Ext.num(this.scrollOffset,Ext.getScrollBarWidth())+"px",k;if(!h){return}k=h.parentNode;if(Ext.isNumber(p)){if(this.reserveScrollOffset||((k.offsetWidth-k.clientWidth)>10)){h.style.width=o;l.style.width=o}else{h.style.width=p+"px";l.style.width=p+"px";setTimeout(function(){if((k.offsetWidth-k.clientWidth)>10){h.style.width=o;l.style.width=o}},10)}}if(Ext.isNumber(n)){k.style.height=Math.max(0,n-l.parentNode.offsetHeight)+"px"}},updateIndexes:function(){Ext.list.ListView.superclass.updateIndexes.apply(this,arguments);this.verifyInternalSize()},findHeaderIndex:function(k){k=k.dom||k;var h=k.parentNode,n=h.parentNode.childNodes,c=0,l;for(;l=n[c];c++){if(l==h){return c}}return -1},setHdWidths:function(){var h=this.innerHd.dom.getElementsByTagName("div"),k=0,e=this.columns,g=e.length;for(;k<g;k++){h[k].style.width=(e[k].width*100)+"%"}}});Ext.reg("listview",Ext.list.ListView);Ext.ListView=Ext.list.ListView;Ext.list.Column=Ext.extend(Object,{isColumn:true,align:"left",header:"",width:null,cls:"",constructor:function(b){if(!b.tpl){b.tpl=new Ext.XTemplate("{"+b.dataIndex+"}")}else{if(Ext.isString(b.tpl)){b.tpl=new Ext.XTemplate(b.tpl)}}Ext.apply(this,b)}});Ext.reg("lvcolumn",Ext.list.Column);Ext.list.NumberColumn=Ext.extend(Ext.list.Column,{format:"0,000.00",constructor:function(b){b.tpl=b.tpl||new Ext.XTemplate("{"+b.dataIndex+':number("'+(b.format||this.format)+'")}');Ext.list.NumberColumn.superclass.constructor.call(this,b)}});Ext.reg("lvnumbercolumn",Ext.list.NumberColumn);Ext.list.DateColumn=Ext.extend(Ext.list.Column,{format:"m/d/Y",constructor:function(b){b.tpl=b.tpl||new Ext.XTemplate("{"+b.dataIndex+':date("'+(b.format||this.format)+'")}');Ext.list.DateColumn.superclass.constructor.call(this,b)}});Ext.reg("lvdatecolumn",Ext.list.DateColumn);Ext.list.BooleanColumn=Ext.extend(Ext.list.Column,{trueText:"true",falseText:"false",undefinedText:"&#160;",constructor:function(h){h.tpl=h.tpl||new Ext.XTemplate("{"+h.dataIndex+":this.format}");var c=this.trueText,k=this.falseText,g=this.undefinedText;h.tpl.format=function(a){if(a===undefined){return g}if(!a||a==="false"){return k}return c};Ext.list.DateColumn.superclass.constructor.call(this,h)}});Ext.reg("lvbooleancolumn",Ext.list.BooleanColumn);Ext.list.ColumnResizer=Ext.extend(Ext.util.Observable,{minPct:0.05,constructor:function(b){Ext.apply(this,b);Ext.list.ColumnResizer.superclass.constructor.call(this)},init:function(b){this.view=b;b.on("render",this.initEvents,this)},initEvents:function(b){b.mon(b.innerHd,"mousemove",this.handleHdMove,this);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeStart.createDelegate(this),onStart:this.onStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(b.innerHd);b.on("beforedestroy",this.tracker.destroy,this.tracker)},handleHdMove:function(o,r){var s=5,e=o.getPageX(),n=o.getTarget("em",3,true);if(n){var p=n.getRegion(),q=n.dom.style,l=n.dom.parentNode;if(e-p.left<=s&&l!=l.parentNode.firstChild){this.activeHd=Ext.get(l.previousSibling.firstChild);q.cursor=Ext.isWebKit?"e-resize":"col-resize"}else{if(p.right-e<=s&&l!=l.parentNode.lastChild.previousSibling){this.activeHd=n;q.cursor=Ext.isWebKit?"w-resize":"col-resize"}else{delete this.activeHd;q.cursor=""}}}},onBeforeStart:function(b){this.dragHd=this.activeHd;return !!this.dragHd},onStart:function(k){var l=this,e=l.view,n=l.dragHd,h=l.tracker.getXY()[0];l.proxy=e.el.createChild({cls:"x-list-resizer"});l.dragX=n.getX();l.headerIndex=e.findHeaderIndex(n);l.headersDisabled=e.disableHeaders;e.disableHeaders=true;l.proxy.setHeight(e.el.getHeight());l.proxy.setX(l.dragX);l.proxy.setWidth(h-l.dragX);this.setBoundaries()},setBoundaries:function(p){var o=this.view,r=this.headerIndex,v=o.innerHd.getWidth(),p=o.innerHd.getX(),w=Math.ceil(v*this.minPct),n=v-w,t=o.columns.length,u=o.innerHd.select("em",true),s=w+p,x=n+p,q;if(t==2){this.minX=s;this.maxX=x}else{q=u.item(r+2);this.minX=u.item(r).getX()+w;this.maxX=q?q.getX()-w:x;if(r==0){this.minX=s}else{if(r==t-2){this.maxX=x}}}},onDrag:function(g){var d=this,e=d.tracker.getXY()[0].constrain(d.minX,d.maxX);d.proxy.setWidth(e-this.dragX)},onEnd:function(r){var t=this.proxy.getWidth(),s=this.headerIndex,o=this.view,v=o.columns,w=o.innerHd.getWidth(),p=Math.ceil(t*o.maxColumnWidth/w)/100,u=this.headersDisabled,e=v[s],q=v[s+1],x=e.width+q.width;this.proxy.remove();e.width=p;q.width=x-p;delete this.dragHd;o.setHdWidths();o.refresh();setTimeout(function(){o.disableHeaders=u},100)}});Ext.ListView.ColumnResizer=Ext.list.ColumnResizer;Ext.list.Sorter=Ext.extend(Ext.util.Observable,{sortClasses:["sort-asc","sort-desc"],constructor:function(b){Ext.apply(this,b);Ext.list.Sorter.superclass.constructor.call(this)},init:function(b){this.view=b;b.on("render",this.initEvents,this)},initEvents:function(b){b.mon(b.innerHd,"click",this.onHdClick,this);b.innerHd.setStyle("cursor","pointer");b.mon(b.store,"datachanged",this.updateSortState,this);this.updateSortState.defer(10,this,[b.store])},updateSortState:function(r){var o=r.getSortState();if(!o){return}this.sortState=o;var p=this.view.columns,n=-1;for(var q=0,l=p.length;q<l;q++){if(p[q].dataIndex==o.field){n=q;break}}if(n!=-1){var k=o.direction;this.updateSortIcon(n,k)}},updateSortIcon:function(e,g){var h=this.sortClasses;var k=this.view.innerHd.select("em").removeClass(h);k.item(e).addClass(h[g=="DESC"?1:0])},onHdClick:function(g){var d=g.getTarget("em",3);if(d&&!this.view.disableHeaders){var e=this.view.findHeaderIndex(d);this.view.store.sort(this.view.columns[e].dataIndex)}}});Ext.ListView.Sorter=Ext.list.Sorter;Ext.TabPanel=Ext.extend(Ext.Panel,{deferredRender:true,tabWidth:120,minTabWidth:30,resizeTabs:false,enableTabScroll:false,scrollIncrement:0,scrollRepeatInterval:400,scrollDuration:0.35,animScroll:true,tabPosition:"top",baseCls:"x-tab-panel",autoTabs:false,autoTabSelector:"div.x-tab",activeTab:undefined,tabMargin:2,plain:false,wheelIncrement:20,idDelimiter:"__",itemCls:"x-tab-item",elements:"body",headerAsText:false,frame:false,hideBorders:true,initComponent:function(){this.frame=false;Ext.TabPanel.superclass.initComponent.call(this);this.addEvents("beforetabchange","tabchange","contextmenu");this.setLayout(new Ext.layout.CardLayout(Ext.apply({layoutOnCardChange:this.layoutOnTabChange,deferredRender:this.deferredRender},this.layoutConfig)));if(this.tabPosition=="top"){this.elements+=",header";this.stripTarget="header"}else{this.elements+=",footer";this.stripTarget="footer"}if(!this.stack){this.stack=Ext.TabPanel.AccessStack()}this.initItems()},onRender:function(p,k){Ext.TabPanel.superclass.onRender.call(this,p,k);if(this.plain){var l=this.tabPosition=="top"?"header":"footer";this[l].addClass("x-tab-panel-"+l+"-plain")}var h=this[this.stripTarget];this.stripWrap=h.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});var n=(this.tabPosition=="bottom"?this.stripWrap:null);h.createChild({cls:"x-tab-strip-spacer"},n);this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:"li",cls:"x-tab-edge",cn:[{tag:"span",cls:"x-tab-strip-text",cn:"&#160;"}]});this.strip.createChild({cls:"x-clear"});this.body.addClass("x-tab-panel-body-"+this.tabPosition);if(!this.itemTpl){var o=new Ext.Template('<li class="{cls}" id="{id}"><a class="x-tab-strip-close"></a>','<a class="x-tab-right" href="#"><em class="x-tab-left">','<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',"</em></a></li>");o.disableFormats=true;o.compile();Ext.TabPanel.prototype.itemTpl=o}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}if(this.activeTab!==undefined){var b=Ext.isObject(this.activeTab)?this.activeTab:this.items.get(this.activeTab);delete this.activeTab;this.setActiveTab(b)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.mon(this.strip,{scope:this,mousedown:this.onStripMouseDown,contextmenu:this.onStripContextMenu});if(this.enableTabScroll){this.mon(this.strip,"mousewheel",this.onWheel,this)}},findTargets:function(g){var d=null,e=g.getTarget("li:not(.x-tab-edge)",this.strip);if(e){d=this.getComponent(e.id.split(this.idDelimiter)[1]);if(d.disabled){return{close:null,item:null,el:null}}}return{close:g.getTarget(".x-tab-strip-close",this.strip),item:d,el:e}},onStripMouseDown:function(c){if(c.button!==0){return}c.preventDefault();var d=this.findTargets(c);if(d.close){if(d.item.fireEvent("beforeclose",d.item)!==false){d.item.fireEvent("close",d.item);this.remove(d.item)}return}if(d.item&&d.item!=this.activeTab){this.setActiveTab(d.item)}},onStripContextMenu:function(c){c.preventDefault();var d=this.findTargets(c);if(d.item){this.fireEvent("contextmenu",this,d.item,c)}},readTabs:function(o){if(o===true){this.items.each(function(a){this.remove(a)},this)}var p=this.el.query(this.autoTabSelector);for(var h=0,k=p.length;h<k;h++){var n=p[h],l=n.getAttribute("title");n.removeAttribute("title");this.add({title:l,contentEl:n})}},initTab:function(q,k){var p=this.strip.dom.childNodes[k],o=this.getTemplateArgs(q),r=p?this.itemTpl.insertBefore(p,o):this.itemTpl.append(this.strip,o),l="x-tab-strip-over",n=Ext.get(r);n.hover(function(){if(!q.disabled){n.addClass(l)}},function(){n.removeClass(l)});if(q.tabTip){n.child("span.x-tab-strip-text",true).qtip=q.tabTip}q.tabEl=r;n.select("a").on("click",function(a){if(!a.getPageX()){this.onStripMouseDown(a)}},this,{preventDefault:true});q.on({scope:this,disable:this.onItemDisabled,enable:this.onItemEnabled,titlechange:this.onItemTitleChanged,iconchange:this.onItemIconChanged,beforeshow:this.onBeforeShowItem})},getTemplateArgs:function(c){var d=c.closable?"x-tab-strip-closable":"";if(c.disabled){d+=" x-item-disabled"}if(c.iconCls){d+=" x-tab-with-icon"}if(c.tabCls){d+=" "+c.tabCls}return{id:this.id+this.idDelimiter+c.getItemId(),text:c.title,cls:d,iconCls:c.iconCls||""}},onAdd:function(c){Ext.TabPanel.superclass.onAdd.call(this,c);if(this.rendered){var d=this.items;this.initTab(c,d.indexOf(c));this.delegateUpdates()}},onBeforeAdd:function(d){var e=d.events?(this.items.containsKey(d.getItemId())?d:null):this.items.get(d);if(e){this.setActiveTab(d);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var g=d.elements;d.elements=g?g.replace(",header",""):g;d.border=(d.border===true)},onRemove:function(g){var c=Ext.get(g.tabEl);if(c){c.select("a").removeAllListeners();Ext.destroy(c)}Ext.TabPanel.superclass.onRemove.call(this,g);this.stack.remove(g);delete g.tabEl;g.un("disable",this.onItemDisabled,this);g.un("enable",this.onItemEnabled,this);g.un("titlechange",this.onItemTitleChanged,this);g.un("iconchange",this.onItemIconChanged,this);g.un("beforeshow",this.onBeforeShowItem,this);if(g==this.activeTab){var e=this.stack.next();if(e){this.setActiveTab(e)}else{if(this.items.getCount()>0){this.setActiveTab(0)}else{this.setActiveTab(null)}}}if(!this.destroying){this.delegateUpdates()}},onBeforeShowItem:function(b){if(b!=this.activeTab){this.setActiveTab(b);return false}},onItemDisabled:function(c){var d=this.getTabEl(c);if(d){Ext.fly(d).addClass("x-item-disabled")}this.stack.remove(c)},onItemEnabled:function(c){var d=this.getTabEl(c);if(d){Ext.fly(d).removeClass("x-item-disabled")}},onItemTitleChanged:function(c){var d=this.getTabEl(c);if(d){Ext.fly(d).child("span.x-tab-strip-text",true).innerHTML=c.title}},onItemIconChanged:function(h,g,k){var e=this.getTabEl(h);if(e){e=Ext.get(e);e.child("span.x-tab-strip-text").replaceClass(k,g);e[Ext.isEmpty(g)?"removeClass":"addClass"]("x-tab-with-icon")}},getTabEl:function(d){var c=this.getComponent(d);return c?c.tabEl:null},onResize:function(){Ext.TabPanel.superclass.onResize.apply(this,arguments);this.delegateUpdates()},beginUpdate:function(){this.suspendUpdates=true},endUpdate:function(){this.suspendUpdates=false;this.delegateUpdates()},hideTabStripItem:function(c){c=this.getComponent(c);var d=this.getTabEl(c);if(d){d.style.display="none";this.delegateUpdates()}this.stack.remove(c)},unhideTabStripItem:function(c){c=this.getComponent(c);var d=this.getTabEl(c);if(d){d.style.display="";this.delegateUpdates()}},delegateUpdates:function(){var b=this.rendered;if(this.suspendUpdates){return}if(this.resizeTabs&&b){this.autoSizeTabs()}if(this.enableTabScroll&&b){this.autoScrollTabs()}},autoSizeTabs:function(){var u=this.items.length,z=this.tabPosition!="bottom"?"header":"footer",y=this[z].dom.offsetWidth,A=this[z].dom.clientWidth;if(!this.resizeTabs||u<1||!A){return}var s=Math.max(Math.min(Math.floor((A-4)/u)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=s;var q=this.strip.query("li:not(.x-tab-edge)");for(var w=0,t=q.length;w<t;w++){var r=q[w],p=Ext.fly(r).child(".x-tab-strip-inner",true),v=r.offsetWidth,x=p.offsetWidth;p.style.width=(s-(v-x))+"px"}},adjustBodyWidth:function(b){if(this.header){this.header.setWidth(b)}if(this.footer){this.footer.setWidth(b)}return b},setActiveTab:function(g){g=this.getComponent(g);if(this.fireEvent("beforetabchange",this,g,this.activeTab)===false){return}if(!this.rendered){this.activeTab=g;return}if(this.activeTab!=g){if(this.activeTab){var e=this.getTabEl(this.activeTab);if(e){Ext.fly(e).removeClass("x-tab-strip-active")}}this.activeTab=g;if(g){var d=this.getTabEl(g);Ext.fly(d).addClass("x-tab-strip-active");this.stack.add(g);this.layout.setActiveItem(g);this.delegateUpdates();if(this.scrolling){this.scrollToTab(g,this.animScroll)}}this.fireEvent("tabchange",this,g)}},getActiveTab:function(){return this.activeTab||null},getItem:function(b){return this.getComponent(b)},autoScrollTabs:function(){this.pos=this.tabPosition=="bottom"?this.footer:this.header;var o=this.items.length,r=this.pos.dom.offsetWidth,s=this.pos.dom.clientWidth,p=this.stripWrap,q=p.dom,k=q.offsetWidth,n=this.getScrollPos(),l=this.edge.getOffsetsTo(this.stripWrap)[0]+n;if(!this.enableTabScroll||k<20){return}if(o==0||l<=s){q.scrollLeft=0;p.setWidth(s);if(this.scrolling){this.scrolling=false;this.pos.removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir||Ext.isWebKit){q.style.marginLeft="";q.style.marginRight=""}}}else{if(!this.scrolling){this.pos.addClass("x-tab-scrolling");if(Ext.isAir||Ext.isWebKit){q.style.marginLeft="18px";q.style.marginRight="18px"}}s-=p.getMargins("lr");p.setWidth(s>20?s:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(n>(l-s)){q.scrollLeft=l-s}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass("x-tab-scrolling-"+this.tabPosition);var g=this.stripWrap.dom.offsetHeight;var e=this.pos.insertFirst({cls:"x-tab-scroller-left"});e.setHeight(g);e.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(e,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=e;var d=this.pos.insertFirst({cls:"x-tab-scroller-right"});d.setHeight(g);d.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(d,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=d},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[0]+this.getScrollPos()},getScrollPos:function(){return parseInt(this.stripWrap.dom.scrollLeft,10)||0},getScrollArea:function(){return parseInt(this.stripWrap.dom.clientWidth,10)||0},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},getScrollIncrement:function(){return this.scrollIncrement||(this.resizeTabs?this.lastTabWidth+2:100)},scrollToTab:function(p,l){if(!p){return}var r=this.getTabEl(p),n=this.getScrollPos(),q=this.getScrollArea(),o=Ext.fly(r).getOffsetsTo(this.stripWrap)[0]+n,k=o+r.offsetWidth;if(o<n){this.scrollTo(o,l)}else{if(k>(n+q)){this.scrollTo(k-q,l)}}},scrollTo:function(c,d){this.stripWrap.scrollTo("left",c,d?this.getScrollAnim():false);if(!d){this.updateScrollButtons()}},onWheel:function(n){var l=n.getWheelDelta()*this.wheelIncrement*-1;n.stopEvent();var k=this.getScrollPos(),o=k+l,e=this.getScrollWidth()-this.getScrollArea();var d=Math.max(0,Math.min(e,o));if(d!=k){this.scrollTo(d,false)}},onScrollRight:function(){var e=this.getScrollWidth()-this.getScrollArea(),g=this.getScrollPos(),d=Math.min(e,g+this.getScrollIncrement());if(d!=g){this.scrollTo(d,this.animScroll)}},onScrollLeft:function(){var c=this.getScrollPos(),d=Math.max(0,c-this.getScrollIncrement());if(d!=c){this.scrollTo(d,this.animScroll)}},updateScrollButtons:function(){var b=this.getScrollPos();this.scrollLeft[b===0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");this.scrollRight[b>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")},beforeDestroy:function(){Ext.destroy(this.leftRepeater,this.rightRepeater);this.deleteMembers("strip","edge","scrollLeft","scrollRight","stripWrap");this.activeTab=null;Ext.TabPanel.superclass.beforeDestroy.apply(this)}});Ext.reg("tabpanel",Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var b=[];return{add:function(a){b.push(a);if(b.length>10){b.shift()}},remove:function(g){var h=[];for(var k=0,a=b.length;k<a;k++){if(b[k]!=g){h.push(b[k])}}b=h},next:function(){return b.pop()}}};Ext.Button=Ext.extend(Ext.BoxComponent,{hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",type:"button",menuClassTarget:"tr:nth(2)",clickEvent:"click",handleMouseEvents:true,tooltipType:"qtip",buttonSelector:"button:first-child",scale:"small",iconAlign:"left",arrowAlign:"right",initComponent:function(){if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu);this.menu.ownerCt=this}Ext.Button.superclass.initComponent.call(this);this.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(this.menu){this.menu.ownerCt=undefined}if(Ext.isString(this.toggleGroup)){this.enableToggle=true}},getTemplateArgs:function(){return[this.type,"x-btn-"+this.scale+" x-btn-icon-"+this.scale+"-"+this.iconAlign,this.getMenuClass(),this.cls,this.id]},setButtonClass:function(){if(this.useSetClass){if(!Ext.isEmpty(this.oldCls)){this.el.removeClass([this.oldCls,"x-btn-pressed"])}this.oldCls=(this.iconCls||this.icon)?(this.text?"x-btn-text-icon":"x-btn-icon"):"x-btn-noicon";this.el.addClass([this.oldCls,this.pressed?"x-btn-pressed":null])}},getMenuClass:function(){return this.menu?(this.arrowAlign!="bottom"?"x-btn-arrow":"x-btn-arrow-bottom"):""},onRender:function(k,g){if(!this.template){if(!Ext.Button.buttonTemplate){Ext.Button.buttonTemplate=new Ext.Template('<table id="{4}" cellspacing="0" class="x-btn {3}"><tbody class="{1}">','<tr><td class="x-btn-tl"><i>&#160;</i></td><td class="x-btn-tc"></td><td class="x-btn-tr"><i>&#160;</i></td></tr>','<tr><td class="x-btn-ml"><i>&#160;</i></td><td class="x-btn-mc"><em class="{2}" unselectable="on"><button type="{0}"></button></em></td><td class="x-btn-mr"><i>&#160;</i></td></tr>','<tr><td class="x-btn-bl"><i>&#160;</i></td><td class="x-btn-bc"></td><td class="x-btn-br"><i>&#160;</i></td></tr>',"</tbody></table>");Ext.Button.buttonTemplate.compile()}this.template=Ext.Button.buttonTemplate}var e,h=this.getTemplateArgs();if(g){e=this.template.insertBefore(g,h,true)}else{e=this.template.append(k,h,true)}this.btnEl=e.child(this.buttonSelector);this.mon(this.btnEl,{scope:this,focus:this.onFocus,blur:this.onBlur});this.initButtonEl(e,this.btnEl);Ext.ButtonToggleMgr.register(this)},initButtonEl:function(d,g){this.el=d;this.setIcon(this.icon);this.setText(this.text);this.setIconClass(this.iconCls);if(Ext.isDefined(this.tabIndex)){g.dom.tabIndex=this.tabIndex}if(this.tooltip){this.setTooltip(this.tooltip,true)}if(this.handleMouseEvents){this.mon(d,{scope:this,mouseover:this.onMouseOver,mousedown:this.onMouseDown})}if(this.menu){this.mon(this.menu,{scope:this,show:this.onMenuShow,hide:this.onMenuHide})}if(this.repeat){var e=new Ext.util.ClickRepeater(d,Ext.isObject(this.repeat)?this.repeat:{});this.mon(e,"click",this.onRepeatClick,this)}else{this.mon(d,this.clickEvent,this.onClick,this)}},afterRender:function(){Ext.Button.superclass.afterRender.call(this);this.useSetClass=true;this.setButtonClass();this.doc=Ext.getDoc();this.doAutoWidth()},setIconClass:function(b){this.iconCls=b;if(this.el){this.btnEl.dom.className="";this.btnEl.addClass(["x-btn-text",b||""]);this.setButtonClass()}return this},setTooltip:function(c,d){if(this.rendered){if(!d){this.clearTip()}if(Ext.isObject(c)){Ext.QuickTips.register(Ext.apply({target:this.btnEl.id},c));this.tooltip=c}else{this.btnEl.dom[this.tooltipType]=c}}else{this.tooltip=c}return this},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.QuickTips.unregister(this.btnEl)}},beforeDestroy:function(){if(this.rendered){this.clearTip()}if(this.menu&&this.destroyMenu!==false){Ext.destroy(this.btnEl,this.menu)}Ext.destroy(this.repeater)},onDestroy:function(){if(this.rendered){this.doc.un("mouseover",this.monitorMouseOver,this);this.doc.un("mouseup",this.onMouseUp,this);delete this.doc;delete this.btnEl;Ext.ButtonToggleMgr.unregister(this)}Ext.Button.superclass.onDestroy.call(this)},doAutoWidth:function(){if(this.autoWidth!==false&&this.el&&this.text&&this.width===undefined){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var b=this.btnEl;if(b&&b.getWidth()>20){b.clip();b.setWidth(Ext.util.TextMetrics.measure(b,this.text).width+b.getFrameWidth("lr"))}}if(this.minWidth){if(this.el.getWidth()<this.minWidth){this.el.setWidth(this.minWidth)}}}},setHandler:function(c,d){this.handler=c;this.scope=d;return this},setText:function(b){this.text=b;if(this.el){this.btnEl.update(b||"&#160;");this.setButtonClass()}this.doAutoWidth();return this},setIcon:function(b){this.icon=b;if(this.el){this.btnEl.setStyle("background-image",b?"url("+b+")":"");this.setButtonClass()}return this},getText:function(){return this.text},toggle:function(c,d){c=c===undefined?!this.pressed:!!c;if(c!=this.pressed){if(this.rendered){this.el[c?"addClass":"removeClass"]("x-btn-pressed")}this.pressed=c;if(!d){this.fireEvent("toggle",this,c);if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,c)}}}return this},onDisable:function(){this.onDisableChange(true)},onEnable:function(){this.onDisableChange(false)},onDisableChange:function(b){if(this.el){if(!Ext.isIE6||!this.text){this.el[b?"addClass":"removeClass"](this.disabledClass)}this.el.dom.disabled=b}this.disabled=b},showMenu:function(){if(this.rendered&&this.menu){if(this.tooltip){Ext.QuickTips.getQuickTip().cancelShow(this.btnEl)}if(this.menu.isVisible()){this.menu.hide()}this.menu.ownerCt=this;this.menu.show(this.el,this.menuAlign)}return this},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){return this.menu&&this.menu.ownerCt==this&&this.menu.isVisible()},onRepeatClick:function(d,c){this.onClick(c)},onClick:function(b){if(b){b.preventDefault()}if(b.button!==0){return}if(!this.disabled){this.doToggle();if(this.menu&&!this.hasVisibleMenu()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("click",this,b);if(this.handler){this.handler.call(this.scope||this,this,b)}}},doToggle:function(){if(this.enableToggle&&(this.allowDepress!==false||!this.pressed)){this.toggle()}},isMenuTriggerOver:function(c,d){return this.menu&&!d},isMenuTriggerOut:function(c,d){return this.menu&&!d},onMouseOver:function(c){if(!this.disabled){var d=c.within(this.el,true);if(!d){this.el.addClass("x-btn-over");if(!this.monitoringMouseOver){this.doc.on("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=true}this.fireEvent("mouseover",this,c)}if(this.isMenuTriggerOver(c,d)){this.fireEvent("menutriggerover",this,this.menu,c)}}},monitorMouseOver:function(b){if(b.target!=this.el.dom&&!b.within(this.el)){if(this.monitoringMouseOver){this.doc.un("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=false}this.onMouseOut(b)}},onMouseOut:function(c){var d=c.within(this.el)&&c.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent("mouseout",this,c);if(this.isMenuTriggerOut(c,d)){this.fireEvent("menutriggerout",this,this.menu,c)}},focus:function(){this.btnEl.focus()},blur:function(){this.btnEl.blur()},onFocus:function(b){if(!this.disabled){this.el.addClass("x-btn-focus")}},onBlur:function(b){this.el.removeClass("x-btn-focus")},getClickEl:function(c,d){return this.el},onMouseDown:function(b){if(!this.disabled&&b.button===0){this.getClickEl(b).addClass("x-btn-click");this.doc.on("mouseup",this.onMouseUp,this)}},onMouseUp:function(b){if(b.button===0){this.getClickEl(b,true).removeClass("x-btn-click");this.doc.un("mouseup",this.onMouseUp,this)}},onMenuShow:function(b){if(this.menu.ownerCt==this){this.menu.ownerCt=this;this.ignoreNextClick=0;this.el.addClass("x-btn-menu-active");this.fireEvent("menushow",this,this.menu)}},onMenuHide:function(b){if(this.menu.ownerCt==this){this.el.removeClass("x-btn-menu-active");this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent("menuhide",this,this.menu);delete this.menu.ownerCt}},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg("button",Ext.Button);Ext.ButtonToggleMgr=function(){var d={};function c(g,a){if(a){var b=d[g.toggleGroup];for(var l=0,n=b.length;l<n;l++){if(b[l]!=g){b[l].toggle(false)}}}}return{register:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(!a){a=d[b.toggleGroup]=[]}a.push(b);b.on("toggle",c)},unregister:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(a){a.remove(b);b.un("toggle",c)}},getPressed:function(a){var b=d[a];if(b){for(var g=0,k=b.length;g<k;g++){if(b[g].pressed===true){return b[g]}}}return null}}}();Ext.SplitButton=Ext.extend(Ext.Button,{arrowSelector:"em",split:true,initComponent:function(){Ext.SplitButton.superclass.initComponent.call(this);this.addEvents("arrowclick")},onRender:function(){Ext.SplitButton.superclass.onRender.apply(this,arguments);if(this.arrowTooltip){this.el.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip}},setArrowHandler:function(c,d){this.arrowHandler=c;this.scope=d},getMenuClass:function(){return"x-btn-split"+(this.arrowAlign=="bottom"?"-bottom":"")},isClickOnArrow:function(g){if(this.arrowAlign!="bottom"){var d=this.el.child("em.x-btn-split");var e=d.getRegion().right-d.getPadding("r");return g.getPageX()>e}else{return g.getPageY()>this.btnEl.getRegion().bottom}},onClick:function(c,d){c.preventDefault();if(!this.disabled){if(this.isClickOnArrow(c)){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("arrowclick",this,c);if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,c)}}else{this.doToggle();this.fireEvent("click",this,c);if(this.handler){this.handler.call(this.scope||this,this,c)}}}},isMenuTriggerOver:function(b){return this.menu&&b.target.tagName==this.arrowSelector},isMenuTriggerOut:function(c,d){return this.menu&&c.target.tagName!=this.arrowSelector}});Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(d){if(d&&this.showText===true){var c="";if(this.prependText){c+=this.prependText}c+=d.text;return c}return undefined},setActiveItem:function(g,e){if(!Ext.isObject(g)){g=this.menu.getComponent(g)}if(g){if(!this.rendered){this.text=this.getItemText(g);this.iconCls=g.iconCls}else{var d=this.getItemText(g);if(d){this.setText(d)}this.setIconClass(g.iconCls)}this.activeItem=g;if(!g.checked){g.setChecked(true,false)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!e){this.fireEvent("change",this,g)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){this.addEvents("change");if(this.changeHandler){this.on("change",this.changeHandler,this.scope||this);delete this.changeHandler}this.itemCount=this.items.length;this.menu={cls:"x-cycle-menu",items:[]};var b=0;Ext.each(this.items,function(d,a){Ext.apply(d,{group:d.group||this.id,itemIndex:a,checkHandler:this.checkHandler,scope:this,checked:d.checked||false});this.menu.items.push(d);if(d.checked){b=a}},this);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this);this.setActiveItem(b,true)},checkHandler:function(d,c){if(c){this.setActiveItem(d)}},toggleSelected:function(){var g=this.menu;g.render();if(!g.hasLayout){g.doLayout()}var h,e;for(var k=1;k<this.itemCount;k++){h=(this.activeItem.itemIndex+k)%this.itemCount;e=g.items.itemAt(h);if(!e.disabled){e.setChecked(true);break}}}});Ext.reg("cycle",Ext.CycleButton);Ext.Toolbar=function(b){if(Ext.isArray(b)){b={items:b,layout:"toolbar"}}else{b=Ext.apply({layout:"toolbar"},b);if(b.buttons){b.items=b.buttons}}Ext.Toolbar.superclass.constructor.call(this,b)};(function(){var b=Ext.Toolbar;Ext.extend(b,Ext.Container,{defaultType:"button",enableOverflow:false,trackMenus:true,internalDefaults:{removeMode:"container",hideParent:true},toolbarCls:"x-toolbar",initComponent:function(){b.superclass.initComponent.call(this);this.addEvents("overflowchange")},onRender:function(d,a){if(!this.el){if(!this.autoCreate){this.autoCreate={cls:this.toolbarCls+" x-small-editor"}}this.el=d.createChild(Ext.apply({id:this.id},this.autoCreate),a);Ext.Toolbar.superclass.onRender.apply(this,arguments)}},lookupComponent:function(a){if(Ext.isString(a)){if(a=="-"){a=new b.Separator()}else{if(a==" "){a=new b.Spacer()}else{if(a=="->"){a=new b.Fill()}else{a=new b.TextItem(a)}}}this.applyDefaults(a)}else{if(a.isFormField||a.render){a=this.createComponent(a)}else{if(a.tag){a=new b.Item({autoEl:a})}else{if(a.tagName){a=new b.Item({el:a})}else{if(Ext.isObject(a)){a=a.xtype?this.createComponent(a):this.constructButton(a)}}}}}return a},applyDefaults:function(c){if(!Ext.isString(c)){c=Ext.Toolbar.superclass.applyDefaults.call(this,c);var a=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,a);Ext.apply(c,a)}else{Ext.applyIf(c,a)}}return c},addSeparator:function(){return this.add(new b.Separator())},addSpacer:function(){return this.add(new b.Spacer())},addFill:function(){this.add(new b.Fill())},addElement:function(a){return this.addItem(new b.Item({el:a}))},addItem:function(a){return this.add.apply(this,arguments)},addButton:function(k){if(Ext.isArray(k)){var g=[];for(var h=0,a=k.length;h<a;h++){g.push(this.addButton(k[h]))}return g}return this.add(this.constructButton(k))},addText:function(a){return this.addItem(new b.TextItem(a))},addDom:function(a){return this.add(new b.Item({autoEl:a}))},addField:function(a){return this.add(a)},insertButton:function(n,h){if(Ext.isArray(h)){var k=[];for(var l=0,a=h.length;l<a;l++){k.push(this.insertButton(n+l,h[l]))}return k}return Ext.Toolbar.superclass.insert.call(this,n,h)},trackMenu:function(g,a){if(this.trackMenus&&g.menu){var e=a?"mun":"mon";this[e](g,"menutriggerover",this.onButtonTriggerOver,this);this[e](g,"menushow",this.onButtonMenuShow,this);this[e](g,"menuhide",this.onButtonMenuHide,this)}},constructButton:function(a){var e=a.events?a:this.createComponent(a,a.split?"splitbutton":this.defaultType);return e},onAdd:function(a){Ext.Toolbar.superclass.onAdd.call(this);this.trackMenu(a);if(this.disabled){a.disable()}},onRemove:function(a){Ext.Toolbar.superclass.onRemove.call(this);if(a==this.activeMenuBtn){delete this.activeMenuBtn}this.trackMenu(a,true)},onDisable:function(){this.items.each(function(a){if(a.disable){a.disable()}})},onEnable:function(){this.items.each(function(a){if(a.enable){a.enable()}})},onButtonTriggerOver:function(a){if(this.activeMenuBtn&&this.activeMenuBtn!=a){this.activeMenuBtn.hideMenu();a.showMenu();this.activeMenuBtn=a}},onButtonMenuShow:function(a){this.activeMenuBtn=a},onButtonMenuHide:function(a){delete this.activeMenuBtn}});Ext.reg("toolbar",Ext.Toolbar);b.Item=Ext.extend(Ext.BoxComponent,{hideParent:true,enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbitem",b.Item);b.Separator=Ext.extend(b.Item,{onRender:function(d,a){this.el=d.createChild({tag:"span",cls:"xtb-sep"},a)}});Ext.reg("tbseparator",b.Separator);b.Spacer=Ext.extend(b.Item,{onRender:function(d,a){this.el=d.createChild({tag:"div",cls:"xtb-spacer",style:this.width?"width:"+this.width+"px":""},a)}});Ext.reg("tbspacer",b.Spacer);b.Fill=Ext.extend(b.Item,{render:Ext.emptyFn,isFill:true});Ext.reg("tbfill",b.Fill);b.TextItem=Ext.extend(b.Item,{constructor:function(a){b.TextItem.superclass.constructor.call(this,Ext.isString(a)?{text:a}:a)},onRender:function(d,a){this.autoEl={cls:"xtb-text",html:this.text||""};b.TextItem.superclass.onRender.call(this,d,a)},setText:function(a){if(this.rendered){this.el.update(a)}else{this.text=a}}});Ext.reg("tbtext",b.TextItem);b.Button=Ext.extend(Ext.Button,{});b.SplitButton=Ext.extend(Ext.SplitButton,{});Ext.reg("tbbutton",b.Button);Ext.reg("tbsplit",b.SplitButton)})();Ext.ButtonGroup=Ext.extend(Ext.Panel,{baseCls:"x-btn-group",layout:"table",defaultType:"button",frame:true,internalDefaults:{removeMode:"container",hideParent:true},initComponent:function(){this.layoutConfig=this.layoutConfig||{};Ext.applyIf(this.layoutConfig,{columns:this.columns});if(!this.title){this.addClass("x-btn-group-notitle")}this.on("afterlayout",this.onAfterLayout,this);Ext.ButtonGroup.superclass.initComponent.call(this)},applyDefaults:function(c){c=Ext.ButtonGroup.superclass.applyDefaults.call(this,c);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}return c},onAfterLayout:function(){var b=this.body.getFrameWidth("lr")+this.body.dom.firstChild.offsetWidth;this.body.setWidth(b);this.el.setWidth(b+this.getFrameWidth())}});Ext.reg("buttongroup",Ext.ButtonGroup);(function(){var b=Ext.Toolbar;Ext.PagingToolbar=Ext.extend(Ext.Toolbar,{pageSize:20,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",initComponent:function(){var d=[this.first=new b.Button({tooltip:this.firstText,overflowText:this.firstText,iconCls:"x-tbar-page-first",disabled:true,handler:this.moveFirst,scope:this}),this.prev=new b.Button({tooltip:this.prevText,overflowText:this.prevText,iconCls:"x-tbar-page-prev",disabled:true,handler:this.movePrevious,scope:this}),"-",this.beforePageText,this.inputItem=new Ext.form.NumberField({cls:"x-tbar-page-number",allowDecimals:false,allowNegative:false,enableKeyEvents:true,selectOnFocus:true,submitValue:false,listeners:{scope:this,keydown:this.onPagingKeyDown,blur:this.onPagingBlur}}),this.afterTextItem=new b.TextItem({text:String.format(this.afterPageText,1)}),"-",this.next=new b.Button({tooltip:this.nextText,overflowText:this.nextText,iconCls:"x-tbar-page-next",disabled:true,handler:this.moveNext,scope:this}),this.last=new b.Button({tooltip:this.lastText,overflowText:this.lastText,iconCls:"x-tbar-page-last",disabled:true,handler:this.moveLast,scope:this}),"-",this.refresh=new b.Button({tooltip:this.refreshText,overflowText:this.refreshText,iconCls:"x-tbar-loading",handler:this.doRefresh,scope:this})];var a=this.items||this.buttons||[];if(this.prependButtons){this.items=a.concat(d)}else{this.items=d.concat(a)}delete this.buttons;if(this.displayInfo){this.items.push("->");this.items.push(this.displayItem=new b.TextItem({}))}Ext.PagingToolbar.superclass.initComponent.call(this);this.addEvents("change","beforechange");this.on("afterlayout",this.onFirstLayout,this,{single:true});this.cursor=0;this.bindStore(this.store,true)},onFirstLayout:function(){if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayItem){var a=this.store.getCount();var d=a==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+a,this.store.getTotalCount());this.displayItem.setText(d)}},onLoad:function(a,p,d){if(!this.rendered){this.dsLoaded=[a,p,d];return}var o=this.getParams();this.cursor=(d.params&&d.params[o.start])?d.params[o.start]:0;var l=this.getPageData(),q=l.activePage,n=l.pages;this.afterTextItem.setText(String.format(this.afterPageText,l.pages));this.inputItem.setValue(q);this.first.setDisabled(q==1);this.prev.setDisabled(q==1);this.next.setDisabled(q==n);this.last.setDisabled(q==n);this.refresh.enable();this.updateInfo();this.fireEvent("change",this,l)},getPageData:function(){var a=this.store.getTotalCount();return{total:a,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:a<this.pageSize?1:Math.ceil(a/this.pageSize)}},changePage:function(a){this.doLoad(((a-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onLoadError:function(){if(!this.rendered){return}this.refresh.enable()},readPage:function(d){var a=this.inputItem.getValue(),g;if(!a||isNaN(g=parseInt(a,10))){this.inputItem.setValue(d.activePage);return false}return g},onPagingFocus:function(){this.inputItem.select()},onPagingBlur:function(a){this.inputItem.setValue(this.getPageData().activePage)},onPagingKeyDown:function(e,k){var o=k.getKey(),d=this.getPageData(),n;if(o==k.RETURN){k.stopEvent();n=this.readPage(d);if(n!==false){n=Math.min(Math.max(1,n),d.pages)-1;this.doLoad(n*this.pageSize)}}else{if(o==k.HOME||o==k.END){k.stopEvent();n=o==k.HOME?1:d.pages;e.setValue(n)}else{if(o==k.UP||o==k.PAGEUP||o==k.DOWN||o==k.PAGEDOWN){k.stopEvent();if((n=this.readPage(d))){var a=k.shiftKey?10:1;if(o==k.DOWN||o==k.PAGEDOWN){a*=-1}n+=a;if(n>=1&n<=d.pages){e.setValue(n)}}}}}},getParams:function(){return this.paramNames||this.store.paramNames},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},doLoad:function(e){var g={},a=this.getParams();g[a.start]=e;g[a.limit]=this.pageSize;if(this.fireEvent("beforechange",this,g)!==false){this.store.load({params:g})}},moveFirst:function(){this.doLoad(0)},movePrevious:function(){this.doLoad(Math.max(0,this.cursor-this.pageSize))},moveNext:function(){this.doLoad(this.cursor+this.pageSize)},moveLast:function(){var d=this.store.getTotalCount(),a=d%this.pageSize;this.doLoad(a?(d-a):d-this.pageSize)},doRefresh:function(){this.doLoad(this.cursor)},bindStore:function(g,e){var a;if(!e&&this.store){if(g!==this.store&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("beforeload",this.beforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.onLoadError,this)}if(!g){this.store=null}}if(g){g=Ext.StoreMgr.lookup(g);g.on({scope:this,beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError});a=true}this.store=g;if(a){this.onLoad(g,null,{})}},unbind:function(a){this.bindStore(null)},bind:function(a){this.bindStore(a)},onDestroy:function(){this.bindStore(null);Ext.PagingToolbar.superclass.onDestroy.call(this)}})})();Ext.reg("paging",Ext.PagingToolbar);Ext.History=(function(){var s,u;var n=false;var t;function r(){var a=location.href,b=a.indexOf("#");return b>=0?a.substr(b+1):null}function w(){u.value=t}function q(a){t=a;Ext.History.fireEvent("change",a)}function p(d){var a=['<html><body><div id="state">',Ext.util.Format.htmlEncode(d),"</div></body></html>"].join("");try{var b=s.contentWindow.document;b.open();b.write(a);b.close();return true}catch(c){return false}}function v(){if(!s.contentWindow||!s.contentWindow.document){setTimeout(v,10);return}var b=s.contentWindow.document;var d=b.getElementById("state");var a=d?d.innerText:null;var c=r();setInterval(function(){b=s.contentWindow.document;d=b.getElementById("state");var e=d?d.innerText:null;var g=r();if(e!==a){a=e;q(a);top.location.hash=a;c=a;w()}else{if(g!==c){c=g;p(g)}}},50);n=true;Ext.History.fireEvent("ready",Ext.History)}function o(){t=u.value?u.value:r();if(Ext.isIE){v()}else{var a=r();setInterval(function(){var b=r();if(b!==a){a=b;q(a);w()}},50);n=true;Ext.History.fireEvent("ready",Ext.History)}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(b,a){if(n){Ext.callback(b,a,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(b,a)});return}u=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){s=Ext.getDom(Ext.History.iframeId)}this.addEvents("ready","change");if(b){this.on("ready",b,a,{single:true})}o()},add:function(a,b){if(b!==false){if(this.getToken()==a){return true}}if(Ext.isIE){return p(a)}else{top.location.hash=a;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return n?t:r()}}})();Ext.apply(Ext.History,new Ext.util.Observable());Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:"x-tip",floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,closeAction:"hide",initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&&!this.title){this.elements+=",header"}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:"close",handler:this[this.closeAction],scope:this})}},showAt:function(b){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()}if(this.constrainPosition){b=this.el.adjustForConstraints(b)}this.setPagePosition(b[0],b[1])},doAutoWidth:function(d){d=d||0;var c=this.body.getTextWidth();if(this.title){c=Math.max(c,this.header.child("span").getTextWidth(this.title))}c+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr")+d;this.setWidth(c.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(d,c){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(d,c||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);this.header.addClass("x-tip-draggable")}});Ext.reg("tip",Ext.Tip);Ext.Tip.DD=function(c,d){Ext.apply(this,d);this.tip=c;Ext.Tip.DD.superclass.constructor.call(this,c.el.id,"WindowDD-"+c.id);this.setHandleElId(c.header.id);this.scroll=false};Ext.extend(Ext.Tip.DD,Ext.dd.DD,{moveOnly:true,scroll:false,headerOffsets:[100,25],startDrag:function(){this.tip.el.disableShadow()},endDrag:function(b){this.tip.el.enableShadow(true)}});Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,constrainPosition:false,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget(this.target);this.origAnchor=this.anchor},onRender:function(c,d){Ext.ToolTip.superclass.onRender.call(this,c,d);this.anchorCls="x-tip-anchor-"+this.getAnchorPosition();this.anchorEl=this.el.createChild({cls:"x-tip-anchor "+this.anchorCls})},afterRender:function(){Ext.ToolTip.superclass.afterRender.call(this);this.anchorEl.setStyle("z-index",this.el.getZIndex()+1).setVisibilityMode(Ext.Element.DISPLAY)},initTarget:function(g){var e;if((e=Ext.get(g))){if(this.target){var d=Ext.get(this.target);this.mun(d,"mouseover",this.onTargetOver,this);this.mun(d,"mouseout",this.onTargetOut,this);this.mun(d,"mousemove",this.onMouseMove,this)}this.mon(e,{mouseover:this.onTargetOver,mouseout:this.onTargetOut,mousemove:this.onMouseMove,scope:this});this.target=e}if(this.anchor){this.anchorTarget=this.target}},onMouseMove:function(c){var d=this.delegate?c.getTarget(this.delegate):this.triggerElement=true;if(d){this.targetXY=c.getXY();if(d===this.triggerElement){if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}}else{this.hide();this.lastActive=new Date(0);this.onTargetOver(c)}}else{if(!this.closable&&this.isVisible()){this.hide()}}},getTargetXY:function(){if(this.delegate){this.anchorTarget=this.triggerElement}if(this.anchor){this.targetCounter++;var v=this.getOffsets(),n=(this.anchorToTarget&&!this.trackMouse)?this.el.getAlignToXY(this.anchorTarget,this.getAnchorAlign()):this.targetXY,x=Ext.lib.Dom.getViewWidth()-5,r=Ext.lib.Dom.getViewHeight()-5,q=document.documentElement,t=document.body,o=(q.scrollLeft||t.scrollLeft||0)+5,p=(q.scrollTop||t.scrollTop||0)+5,w=[n[0]+v[0],n[1]+v[1]],s=this.getSize();this.anchorEl.removeClass(this.anchorCls);if(this.targetCounter<2){if(w[0]<o){if(this.anchorToTarget){this.defaultAlign="l-r";if(this.mouseOffset){this.mouseOffset[0]*=-1}}this.anchor="left";return this.getTargetXY()}if(w[0]+s.width>x){if(this.anchorToTarget){this.defaultAlign="r-l";if(this.mouseOffset){this.mouseOffset[0]*=-1}}this.anchor="right";return this.getTargetXY()}if(w[1]<p){if(this.anchorToTarget){this.defaultAlign="t-b";if(this.mouseOffset){this.mouseOffset[1]*=-1}}this.anchor="top";return this.getTargetXY()}if(w[1]+s.height>r){if(this.anchorToTarget){this.defaultAlign="b-t";if(this.mouseOffset){this.mouseOffset[1]*=-1}}this.anchor="bottom";return this.getTargetXY()}}this.anchorCls="x-tip-anchor-"+this.getAnchorPosition();this.anchorEl.addClass(this.anchorCls);this.targetCounter=0;return w}else{var u=this.getMouseOffset();return[this.targetXY[0]+u[0],this.targetXY[1]+u[1]]}},getMouseOffset:function(){var b=this.anchor?[0,0]:[15,18];if(this.mouseOffset){b[0]+=this.mouseOffset[0];b[1]+=this.mouseOffset[1]}return b},getAnchorPosition:function(){if(this.anchor){this.tipAnchor=this.anchor.charAt(0)}else{var b=this.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!b){throw"AnchorTip.defaultAlign is invalid"}this.tipAnchor=b[1].charAt(0)}switch(this.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var d,e=this.getAnchorPosition().charAt(0);if(this.anchorToTarget&&!this.trackMouse){switch(e){case"t":d=[0,9];break;case"b":d=[0,-13];break;case"r":d=[-13,0];break;default:d=[9,0];break}}else{switch(e){case"t":d=[-15-this.anchorOffset,30];break;case"b":d=[-19-this.anchorOffset,-13-this.el.dom.offsetHeight];break;case"r":d=[-15-this.el.dom.offsetWidth,-13-this.anchorOffset];break;default:d=[25,-13-this.anchorOffset];break}}var g=this.getMouseOffset();d[0]+=g[0];d[1]+=g[1];return d},onTargetOver:function(c){if(this.disabled||c.within(this.target.dom,true)){return}var d=c.getTarget(this.delegate);if(d){this.triggerElement=d;this.clearTimer("hide");this.targetXY=c.getXY();this.delayShow()}},delayShow:function(){if(this.hidden&&!this.showTimer){if(this.lastActive.getElapsed()<this.quickShowInterval){this.show()}else{this.showTimer=this.show.defer(this.showDelay,this)}}else{if(!this.hidden&&this.autoHide!==false){this.show()}}},onTargetOut:function(b){if(this.disabled||b.within(this.target.dom,true)){return}this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},delayHide:function(){if(!this.hidden&&!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)}},hide:function(){this.clearTimer("dismiss");this.lastActive=new Date();if(this.anchorEl){this.anchorEl.hide()}Ext.ToolTip.superclass.hide.call(this);delete this.triggerElement},show:function(){if(this.anchor){this.showAt([-1000,-1000]);this.origConstrainPosition=this.constrainPosition;this.constrainPosition=false;this.anchor=this.origAnchor}this.showAt(this.getTargetXY());if(this.anchor){this.anchorEl.show();this.syncAnchor();this.constrainPosition=this.origConstrainPosition}else{this.anchorEl.hide()}},showAt:function(b){this.lastActive=new Date();this.clearTimers();Ext.ToolTip.superclass.showAt.call(this,b);if(this.dismissDelay&&this.autoHide!==false){this.dismissTimer=this.hide.defer(this.dismissDelay,this)}if(this.anchor&&!this.anchorEl.isVisible()){this.syncAnchor();this.anchorEl.show()}else{this.anchorEl.hide()}},syncAnchor:function(){var e,d,g;switch(this.tipAnchor.charAt(0)){case"t":e="b";d="tl";g=[20+this.anchorOffset,2];break;case"r":e="l";d="tr";g=[-2,11+this.anchorOffset];break;case"b":e="t";d="bl";g=[20+this.anchorOffset,-2];break;default:e="r";d="tl";g=[2,11+this.anchorOffset];break}this.anchorEl.alignTo(this.el,e+"-"+d,g)},setPagePosition:function(d,c){Ext.ToolTip.superclass.setPagePosition.call(this,d,c);if(this.anchor){this.syncAnchor()}},clearTimer:function(b){b=b+"Timer";clearTimeout(this[b]);delete this[b]},clearTimers:function(){this.clearTimer("show");this.clearTimer("dismiss");this.clearTimer("hide")},onShow:function(){Ext.ToolTip.superclass.onShow.call(this);Ext.getDoc().on("mousedown",this.onDocMouseDown,this)},onHide:function(){Ext.ToolTip.superclass.onHide.call(this);Ext.getDoc().un("mousedown",this.onDocMouseDown,this)},onDocMouseDown:function(b){if(this.autoHide!==true&&!this.closable&&!b.within(this.el.dom)){this.disable();this.doEnable.defer(100,this)}},doEnable:function(){if(!this.isDestroyed){this.enable()}},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(g,h){if(this.contstrainPosition){var k=this.targetXY[1],e=this.getSize().height;if(h<=k&&(h+e)>=k){h=k-e-5}}return{x:g,y:h}},beforeDestroy:function(){this.clearTimers();Ext.destroy(this.anchorEl);delete this.anchorEl;delete this.target;delete this.anchorTarget;delete this.triggerElement;Ext.ToolTip.superclass.beforeDestroy.call(this)},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);Ext.ToolTip.superclass.onDestroy.call(this)}});Ext.reg("tooltip",Ext.ToolTip);Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:"ext",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(s){var q=Ext.isArray(s)?s:arguments;for(var r=0,o=q.length;r<o;r++){var n=q[r];var p=n.target;if(p){if(Ext.isArray(p)){for(var t=0,c=p.length;t<c;t++){this.targets[Ext.id(p[t])]=n}}else{this.targets[Ext.id(p)]=n}}}},unregister:function(b){delete this.targets[Ext.id(b)]},cancelShow:function(c){var d=this.activeTarget;c=Ext.get(c).dom;if(this.isVisible()){if(d&&d.el==c){this.hide()}}else{if(d&&d.el==c){this.clearTimer("show")}}},getTipCfg:function(h){var e=h.getTarget(),k,g;if(this.interceptTitles&&e.title&&Ext.isString(e.title)){k=e.title;e.qtip=k;e.removeAttribute("title");h.preventDefault()}else{g=this.tagConfig;k=e.qtip||Ext.fly(e).getAttribute(g.attribute,g.namespace)}return k},onTargetOver:function(l){if(this.disabled){return}this.targetXY=l.getXY();var q=l.getTarget();if(!q||q.nodeType!==1||q==document||q==document.body){return}if(this.activeTarget&&((q==this.activeTarget.el)||Ext.fly(this.activeTarget.el).contains(q))){this.clearTimer("hide");this.show();return}if(q&&this.targets[q.id]){this.activeTarget=this.targets[q.id];this.activeTarget.el=q;this.anchor=this.activeTarget.anchor;if(this.anchor){this.anchorTarget=q}this.delayShow();return}var o,n=Ext.fly(q),e=this.tagConfig,p=e.namespace;if(o=this.getTipCfg(l)){var k=n.getAttribute(e.hide,p);this.activeTarget={el:q,text:o,width:n.getAttribute(e.width,p),autoHide:k!="user"&&k!=="false",title:n.getAttribute(e.title,p),cls:n.getAttribute(e.cls,p),align:n.getAttribute(e.align,p)};this.anchor=n.getAttribute(e.anchor,p);if(this.anchor){this.anchorTarget=q}this.delayShow()}},onTargetOut:function(b){if(this.activeTarget&&b.within(this.activeTarget.el)&&!this.getTipCfg(b)){return}this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},showAt:function(c){var d=this.activeTarget;if(d){if(!this.rendered){this.render(Ext.getBody());this.activeTarget=d}if(d.width){this.setWidth(d.width);this.body.setWidth(this.adjustBodyWidth(d.width-this.getFrameWidth()));this.measureWidth=false}else{this.measureWidth=true}this.setTitle(d.title||"");this.body.update(d.text);this.autoHide=d.autoHide;this.dismissDelay=d.dismissDelay||this.dismissDelay;if(this.lastCls){this.el.removeClass(this.lastCls);delete this.lastCls}if(d.cls){this.el.addClass(d.cls);this.lastCls=d.cls}if(this.anchor){this.constrainPosition=false}else{if(d.align){c=this.el.getAlignToXY(d.el,d.align);this.constrainPosition=false}else{this.constrainPosition=true}}}Ext.QuickTip.superclass.showAt.call(this,c)},hide:function(){delete this.activeTarget;Ext.QuickTip.superclass.hide.call(this)}});Ext.reg("quicktip",Ext.QuickTip);Ext.QuickTips=function(){var c,d=false;return{init:function(a){if(!c){if(!Ext.isReady){Ext.onReady(function(){Ext.QuickTips.init(a)});return}c=new Ext.QuickTip({elements:"header,body",disabled:d});if(a!==false){c.render(Ext.getBody())}}},ddDisable:function(){if(c&&!d){c.disable()}},ddEnable:function(){if(c&&!d){c.enable()}},enable:function(){if(c){c.enable()}d=false},disable:function(){if(c){c.disable()}d=true},isEnabled:function(){return c!==undefined&&!c.disabled},getQuickTip:function(){return c},register:function(){c.register.apply(c,arguments)},unregister:function(){c.unregister.apply(c,arguments)},tips:function(){c.register.apply(c,arguments)}}}();Ext.slider.Tip=Ext.extend(Ext.Tip,{minWidth:10,offsets:[0,-10],init:function(b){b.on({scope:this,dragstart:this.onSlide,drag:this.onSlide,dragend:this.hide,destroy:this.destroy})},onSlide:function(d,g,e){this.show();this.body.update(this.getText(e));this.doAutoWidth();this.el.alignTo(e.el,"b-t?",this.offsets)},getText:function(b){return String(b.value)}});Ext.ux.SliderTip=Ext.slider.Tip;Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:"/",bubbleEvents:[],initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel){this.eventModel=new Ext.tree.TreeEventModel(this)}var d=this.loader;if(!d){d=new Ext.tree.TreeLoader({dataUrl:this.dataUrl,requestMethod:this.requestMethod})}else{if(Ext.isObject(d)&&!d.load){d=new Ext.tree.TreeLoader(d)}}this.loader=d;this.nodeHash={};if(this.root){var c=this.root;delete this.root;this.setRootNode(c)}this.addEvents("append","remove","movenode","insert","beforeappend","beforeremove","beforemovenode","beforeinsert","beforeload","load","textchange","beforeexpandnode","beforecollapsenode","expandnode","disabledchange","collapsenode","beforeclick","click","containerclick","checkchange","beforedblclick","dblclick","containerdblclick","contextmenu","containercontextmenu","beforechildrenrendered","startdrag","enddrag","dragdrop","beforenodedrop","nodedrop","nodedragover");if(this.singleExpand){this.on("beforeexpandnode",this.restrictExpand,this)}},proxyNodeEvent:function(r,k,l,n,o,p,q){if(r=="collapse"||r=="expand"||r=="beforecollapse"||r=="beforeexpand"||r=="move"||r=="beforemove"){r=r+"node"}return this.fireEvent(r,k,l,n,o,p,q)},getRootNode:function(){return this.root},setRootNode:function(c){this.destroyRoot();if(!c.render){c=this.loader.createNode(c)}this.root=c;c.ownerTree=this;c.isRoot=true;this.registerNode(c);if(!this.rootVisible){var d=c.attributes.uiProvider;c.ui=d?new d(c):new Ext.tree.RootTreeNodeUI(c)}if(this.innerCt){this.clearInnerCt();this.renderRoot()}return c},clearInnerCt:function(){this.innerCt.update("")},renderRoot:function(){this.root.render();if(!this.rootVisible){this.root.renderChildren()}},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(b){this.nodeHash[b.id]=b},unregisterNode:function(b){delete this.nodeHash[b.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"},restrictExpand:function(d){var c=d.parentNode;if(c){if(c.expandedChild&&c.expandedChild.parentNode==c){c.expandedChild.collapse()}c.expandedChild=d}},getChecked:function(a,k){k=k||this.root;var h=[];var g=function(){if(this.attributes.checked){h.push(!a?this:(a=="id"?this.id:this.attributes[a]))}};k.cascade(g);return h},getLoader:function(){return this.loader},expandAll:function(){this.root.expand(true)},collapseAll:function(){this.root.collapse(true)},getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.tree.DefaultSelectionModel()}return this.selModel},expandPath:function(o,l,n){if(Ext.isEmpty(o)){if(n){n(false,undefined)}return}l=l||"id";var q=o.split(this.pathSeparator);var r=this.root;if(r.attributes[l]!=q[1]){if(n){n(false,null)}return}var k=1;var p=function(){if(++k==q.length){if(n){n(true,r)}return}var a=r.findChild(l,q[k]);if(!a){if(n){n(false,r)}return}r=a;a.expand(false,false,p)};r.expand(false,false,p)},selectPath:function(n,k,l){if(Ext.isEmpty(n)){if(l){l(false,undefined)}return}k=k||"id";var p=n.split(this.pathSeparator),h=p.pop();if(p.length>1){var o=function(b,c){if(b&&c){var a=c.findChild(k,h);if(a){a.select();if(l){l(true,a)}}else{if(l){l(false,a)}}}else{if(l){l(false,a)}}};this.expandPath(p.join(this.pathSeparator),k,o)}else{this.root.select();if(l){l(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(c,d){Ext.tree.TreePanel.superclass.onRender.call(this,c,d);this.el.addClass("x-tree");this.innerCt=this.body.createChild({tag:"ul",cls:"x-tree-root-ct "+(this.useArrows?"x-tree-arrows":this.lines?"x-tree-lines":"x-tree-no-lines")})},initEvents:function(){Ext.tree.TreePanel.superclass.initEvents.call(this);if(this.containerScroll){Ext.dd.ScrollManager.register(this.body)}if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true})}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",scroll:this.ddScroll})}this.getSelectionModel().init(this)},afterRender:function(){Ext.tree.TreePanel.superclass.afterRender.call(this);this.renderRoot()},beforeDestroy:function(){if(this.rendered){Ext.dd.ScrollManager.unregister(this.body);Ext.destroy(this.dropZone,this.dragZone)}this.destroyRoot();Ext.destroy(this.loader);this.nodeHash=this.root=this.loader=null;Ext.tree.TreePanel.superclass.beforeDestroy.call(this)},destroyRoot:function(){if(this.root&&this.root.destroy){this.root.destroy(true)}}});Ext.tree.TreePanel.nodeTypes={};Ext.reg("treepanel",Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(b){this.tree=b;this.tree.on("render",this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var b=this.tree;if(b.trackMouseOver!==false){b.mon(b.innerCt,{scope:this,mouseover:this.delegateOver,mouseout:this.delegateOut})}b.mon(b.getTreeEl(),{scope:this,click:this.delegateClick,dblclick:this.delegateDblClick,contextmenu:this.delegateContextMenu})},getNode:function(d){var e;if(e=d.getTarget(".x-tree-node-el",10)){var g=Ext.fly(e,"_treeEvents").getAttribute("tree-node-id","ext");if(g){return this.tree.getNodeById(g)}}return null},getNodeTarget:function(c){var d=c.getTarget(".x-tree-node-icon",1);if(!d){d=c.getTarget(".x-tree-node-el",6)}return d},delegateOut:function(d,e){if(!this.beforeEvent(d)){return}if(d.getTarget(".x-tree-ec-icon",1)){var g=this.getNode(d);this.onIconOut(d,g);if(g==this.lastEcOver){delete this.lastEcOver}}if((e=this.getNodeTarget(d))&&!d.within(e,true)){this.onNodeOut(d,this.getNode(d))}},delegateOver:function(c,d){if(!this.beforeEvent(c)){return}if(Ext.isGecko&&!this.trackingDoc){Ext.getBody().on("mouseover",this.trackExit,this);this.trackingDoc=true}if(this.lastEcOver){this.onIconOut(c,this.lastEcOver);delete this.lastEcOver}if(c.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(c);this.onIconOver(c,this.lastEcOver)}if(d=this.getNodeTarget(c)){this.onNodeOver(c,this.getNode(c))}},trackExit:function(b){if(this.lastOverNode){if(this.lastOverNode.ui&&!b.within(this.lastOverNode.ui.getEl())){this.onNodeOut(b,this.lastOverNode)}delete this.lastOverNode;Ext.getBody().un("mouseover",this.trackExit,this);this.trackingDoc=false}},delegateClick:function(c,d){if(this.beforeEvent(c)){if(c.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(c,this.getNode(c))}else{if(c.getTarget(".x-tree-ec-icon",1)){this.onIconClick(c,this.getNode(c))}else{if(this.getNodeTarget(c)){this.onNodeClick(c,this.getNode(c))}}}}else{this.checkContainerEvent(c,"click")}},delegateDblClick:function(c,d){if(this.beforeEvent(c)){if(this.getNodeTarget(c)){this.onNodeDblClick(c,this.getNode(c))}}else{this.checkContainerEvent(c,"dblclick")}},delegateContextMenu:function(c,d){if(this.beforeEvent(c)){if(this.getNodeTarget(c)){this.onNodeContextMenu(c,this.getNode(c))}}else{this.checkContainerEvent(c,"contextmenu")}},checkContainerEvent:function(c,d){if(this.disabled){c.stopEvent();return false}this.onContainerEvent(c,d)},onContainerEvent:function(c,d){this.tree.fireEvent("container"+d,this.tree,c)},onNodeClick:function(c,d){d.ui.onClick(c)},onNodeOver:function(c,d){this.lastOverNode=d;d.ui.onOver(c)},onNodeOut:function(c,d){d.ui.onOut(c)},onIconOver:function(c,d){d.ui.addClass("x-tree-ec-over")},onIconOut:function(c,d){d.ui.removeClass("x-tree-ec-over")},onIconClick:function(c,d){d.ui.ecClick(c)},onCheckboxClick:function(c,d){d.ui.onCheckChange(c)},onNodeDblClick:function(c,d){d.ui.onDblClick(c)},onNodeContextMenu:function(c,d){d.ui.onContextMenu(c)},beforeEvent:function(c){var d=this.getNode(c);if(this.disabled||!d||!d.ui){c.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(b){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,b);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)},init:function(b){this.tree=b;b.mon(b.getTreeEl(),"keydown",this.onKeyDown,this);b.on("click",this.onNodeClick,this)},onNodeClick:function(d,c){this.select(d)},select:function(g,e){if(!Ext.fly(g.ui.wrap).isVisible()&&e){return e.call(this,g)}var d=this.selNode;if(g==d){g.ui.onSelectedChange(true)}else{if(this.fireEvent("beforeselect",this,g,d)!==false){if(d&&d.ui){d.ui.onSelectedChange(false)}this.selNode=g;g.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,g,d)}}return g},unselect:function(c,d){if(this.selNode==c){this.clearSelections(d)}},clearSelections:function(d){var c=this.selNode;if(c){c.ui.onSelectedChange(false);this.selNode=null;if(d!==true){this.fireEvent("selectionchange",this,null)}}return c},getSelectedNode:function(){return this.selNode},isSelected:function(b){return this.selNode==b},selectPrevious:function(e){if(!(e=e||this.selNode||this.lastSelNode)){return null}var g=e.previousSibling;if(g){if(!g.isExpanded()||g.childNodes.length<1){return this.select(g,this.selectPrevious)}else{var d=g.lastChild;while(d&&d.isExpanded()&&Ext.fly(d.ui.wrap).isVisible()&&d.childNodes.length>0){d=d.lastChild}return this.select(d,this.selectPrevious)}}else{if(e.parentNode&&(this.tree.rootVisible||!e.parentNode.isRoot)){return this.select(e.parentNode,this.selectPrevious)}}return null},selectNext:function(c){if(!(c=c||this.selNode||this.lastSelNode)){return null}if(c.firstChild&&c.isExpanded()&&Ext.fly(c.ui.wrap).isVisible()){return this.select(c.firstChild,this.selectNext)}else{if(c.nextSibling){return this.select(c.nextSibling,this.selectNext)}else{if(c.parentNode){var d=null;c.parentNode.bubble(function(){if(this.nextSibling){d=this.getOwnerTree().selModel.select(this.nextSibling,this.selectNext);return false}});return d}}}return null},onKeyDown:function(k){var e=this.selNode||this.lastSelNode;var h=this;if(!e){return}var g=k.getKey();switch(g){case k.DOWN:k.stopEvent();this.selectNext();break;case k.UP:k.stopEvent();this.selectPrevious();break;case k.RIGHT:k.preventDefault();if(e.hasChildNodes()){if(!e.isExpanded()){e.expand()}else{if(e.firstChild){this.select(e.firstChild,k)}}}break;case k.LEFT:k.preventDefault();if(e.hasChildNodes()&&e.isExpanded()){e.collapse()}else{if(e.parentNode&&(this.tree.rootVisible||e.parentNode!=this.tree.getRootNode())){this.select(e.parentNode,k)}}break}}});Ext.tree.MultiSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(b){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,b);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)},init:function(b){this.tree=b;b.mon(b.getTreeEl(),"keydown",this.onKeyDown,this);b.on("click",this.onNodeClick,this)},onNodeClick:function(d,c){if(c.ctrlKey&&this.isSelected(d)){this.unselect(d)}else{this.select(d,c,c.ctrlKey)}},select:function(e,g,d){if(d!==true){this.clearSelections(true)}if(this.isSelected(e)){this.lastSelNode=e;return e}this.selNodes.push(e);this.selMap[e.id]=e;this.lastSelNode=e;e.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return e},unselect:function(d){if(this.selMap[d.id]){d.ui.onSelectedChange(false);var g=this.selNodes;var e=g.indexOf(d);if(e!=-1){this.selNodes.splice(e,1)}delete this.selMap[d.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(e){var h=this.selNodes;if(h.length>0){for(var k=0,g=h.length;k<g;k++){h[k].ui.onSelectedChange(false)}this.selNodes=[];this.selMap={};if(e!==true){this.fireEvent("selectionchange",this,this.selNodes)}}},isSelected:function(b){return this.selMap[b.id]?true:false},getSelectedNodes:function(){return this.selNodes.concat([])},onKeyDown:Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:Ext.tree.DefaultSelectionModel.prototype.selectPrevious});Ext.data.Tree=Ext.extend(Ext.util.Observable,{constructor:function(b){this.nodeHash={};this.root=null;if(b){this.setRootNode(b)}this.addEvents("append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert");Ext.data.Tree.superclass.constructor.call(this)},pathSeparator:"/",proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments)},getRootNode:function(){return this.root},setRootNode:function(b){this.root=b;b.ownerTree=this;b.isRoot=true;this.registerNode(b);return b},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(b){this.nodeHash[b.id]=b},unregisterNode:function(b){delete this.nodeHash[b.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"}});Ext.data.Node=Ext.extend(Ext.util.Observable,{constructor:function(b){this.attributes=b||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,"xnode-");this.attributes.id=this.id}this.childNodes=[];this.parentNode=null;this.firstChild=null;this.lastChild=null;this.previousSibling=null;this.nextSibling=null;this.addEvents({append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true});this.listeners=this.attributes.listeners;Ext.data.Node.superclass.constructor.call(this)},fireEvent:function(c){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false}var d=this.getOwnerTree();if(d){if(d.proxyNodeEvent.apply(d,arguments)===false){return false}}return true},isLeaf:function(){return this.leaf===true},setFirstChild:function(b){this.firstChild=b},setLastChild:function(b){this.lastChild=b},isLast:function(){return(!this.parentNode?true:this.parentNode.lastChild==this)},isFirst:function(){return(!this.parentNode?true:this.parentNode.firstChild==this)},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(p){var o=false;if(Ext.isArray(p)){o=p}else{if(arguments.length>1){o=arguments}}if(o){for(var q=0,l=o.length;q<l;q++){this.appendChild(o[q])}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,p)===false){return false}var k=this.childNodes.length;var r=p.parentNode;if(r){if(p.fireEvent("beforemove",p.getOwnerTree(),p,r,this,k)===false){return false}r.removeChild(p)}k=this.childNodes.length;if(k===0){this.setFirstChild(p)}this.childNodes.push(p);p.parentNode=this;var n=this.childNodes[k-1];if(n){p.previousSibling=n;n.nextSibling=p}else{p.previousSibling=null}p.nextSibling=null;this.setLastChild(p);p.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,p,k);if(r){p.fireEvent("move",this.ownerTree,p,r,this,k)}return p}},removeChild:function(g,d){var e=this.childNodes.indexOf(g);if(e==-1){return false}if(this.fireEvent("beforeremove",this.ownerTree,this,g)===false){return false}this.childNodes.splice(e,1);if(g.previousSibling){g.previousSibling.nextSibling=g.nextSibling}if(g.nextSibling){g.nextSibling.previousSibling=g.previousSibling}if(this.firstChild==g){this.setFirstChild(g.nextSibling)}if(this.lastChild==g){this.setLastChild(g.previousSibling)}this.fireEvent("remove",this.ownerTree,this,g);if(d){g.destroy(true)}else{g.clear()}return g},clear:function(b){this.setOwnerTree(null,b);this.parentNode=this.previousSibling=this.nextSibling=null;if(b){this.firstChild=this.lastChild=null}},destroy:function(b){if(b===true){this.purgeListeners();this.clear(true);Ext.each(this.childNodes,function(a){a.destroy(true)});this.childNodes=null}else{this.remove(true)}},insertBefore:function(o,k){if(!k){return this.appendChild(o)}if(o==k){return false}if(this.fireEvent("beforeinsert",this.ownerTree,this,o,k)===false){return false}var h=this.childNodes.indexOf(k);var p=o.parentNode;var n=h;if(p==this&&this.childNodes.indexOf(o)<h){n--}if(p){if(o.fireEvent("beforemove",o.getOwnerTree(),o,p,this,h,k)===false){return false}p.removeChild(o)}if(n===0){this.setFirstChild(o)}this.childNodes.splice(n,0,o);o.parentNode=this;var l=this.childNodes[n-1];if(l){o.previousSibling=l;l.nextSibling=o}else{o.previousSibling=null}o.nextSibling=k;k.previousSibling=o;o.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,o,k);if(p){o.fireEvent("move",this.ownerTree,o,p,this,n,k)}return o},remove:function(b){if(this.parentNode){this.parentNode.removeChild(this,b)}return this},removeAll:function(e){var g=this.childNodes,d;while((d=g[0])){this.removeChild(d,e)}return this},item:function(b){return this.childNodes[b]},replaceChild:function(e,g){var d=g?g.nextSibling:null;this.removeChild(g);this.insertBefore(e,d);return g},indexOf:function(b){return this.childNodes.indexOf(b)},getOwnerTree:function(){if(!this.ownerTree){var b=this;while(b){if(b.ownerTree){this.ownerTree=b.ownerTree;break}b=b.parentNode}}return this.ownerTree},getDepth:function(){var c=0;var d=this;while(d.parentNode){++c;d=d.parentNode}return c},setOwnerTree:function(d,c){if(d!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)}this.ownerTree=d;if(c!==true){Ext.each(this.childNodes,function(a){a.setOwnerTree(d)})}if(d){d.registerNode(this)}}},setId:function(c){if(c!==this.id){var d=this.ownerTree;if(d){d.unregisterNode(this)}this.id=this.attributes.id=c;if(d){d.registerNode(this)}this.onIdChange(c)}},onIdChange:Ext.emptyFn,getPath:function(k){k=k||"id";var g=this.parentNode;var b=[this.attributes[k]];while(g){b.unshift(g.attributes[k]);g=g.parentNode}var h=this.getOwnerTree().pathSeparator;return h+b.join(h)},bubble:function(k,e,g){var h=this;while(h){if(k.apply(e||h,g||[h])===false){break}h=h.parentNode}},cascade:function(l,n,h){if(l.apply(n||this,h||[this])!==false){var o=this.childNodes;for(var p=0,k=o.length;p<k;p++){o[p].cascade(l,n,h)}}},eachChild:function(l,n,h){var o=this.childNodes;for(var p=0,k=o.length;p<k;p++){if(l.apply(n||o[p],h||[o[p]])===false){break}}},findChild:function(d,g,e){return this.findChildBy(function(){return this.attributes[d]==g},null,e)},findChildBy:function(p,q,l){var r=this.childNodes,n=r.length,s=0,o,t;for(;s<n;s++){o=r[s];if(p.call(q||o,o)===true){return o}else{if(l){t=o.findChildBy(p,q,l);if(t!=null){return t}}}}return null},sort:function(p,q){var r=this.childNodes;var l=r.length;if(l>0){var o=q?function(){p.apply(q,arguments)}:p;r.sort(o);for(var k=0;k<l;k++){var n=r[k];n.previousSibling=r[k-1];n.nextSibling=r[k+1];if(k===0){this.setFirstChild(n)}if(k==l-1){this.setLastChild(n)}}}},contains:function(b){return b.isAncestor(this)},isAncestor:function(d){var c=this.parentNode;while(c){if(c==d){return true}c=c.parentNode}return false},toString:function(){return"[Node"+(this.id?" "+this.id:"")+"]"}});Ext.tree.TreeNode=Ext.extend(Ext.data.Node,{constructor:function(d){d=d||{};if(Ext.isString(d)){d={text:d}}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,d);this.expanded=d.expanded===true;this.isTarget=d.isTarget!==false;this.draggable=d.draggable!==false&&d.allowDrag!==false;this.allowChildren=d.allowChildren!==false&&d.allowDrop!==false;this.text=d.text;this.disabled=d.disabled===true;this.hidden=d.hidden===true;this.addEvents("textchange","beforeexpand","beforecollapse","expand","disabledchange","collapse","beforeclick","click","checkchange","beforedblclick","dblclick","contextmenu","beforechildrenrendered");var c=this.attributes.uiProvider||this.defaultUI||Ext.tree.TreeNodeUI;this.ui=new c(this)},preventHScroll:true,isExpanded:function(){return this.expanded},getUI:function(){return this.ui},getLoader:function(){var b;return this.loader||((b=this.getOwnerTree())&&b.loader?b.loader:(this.loader=new Ext.tree.TreeLoader()))},setFirstChild:function(d){var c=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,d);if(this.childrenRendered&&c&&d!=c){c.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},setLastChild:function(c){var d=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,c);if(this.childrenRendered&&d&&c!=d){d.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},appendChild:function(c){if(!c.render&&!Ext.isArray(c)){c=this.getLoader().createNode(c)}var d=Ext.tree.TreeNode.superclass.appendChild.call(this,c);if(d&&this.childrenRendered){d.render()}this.ui.updateExpandIcon();return d},removeChild:function(d,e){this.ownerTree.getSelectionModel().unselect(d);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(!e){var g=d.ui.rendered;if(g){d.ui.remove()}if(g&&this.childNodes.length<1){this.collapse(false,false)}else{this.ui.updateExpandIcon()}if(!this.firstChild&&!this.isHiddenRoot()){this.childrenRendered=false}}return d},insertBefore:function(g,e){if(!g.render){g=this.getLoader().createNode(g)}var d=Ext.tree.TreeNode.superclass.insertBefore.call(this,g,e);if(d&&e&&this.childrenRendered){g.render()}this.ui.updateExpandIcon();return d},setText:function(c){var d=this.text;this.text=this.attributes.text=c;if(this.rendered){this.ui.onTextChange(this,c,d)}this.fireEvent("textchange",this,c,d)},setIconCls:function(c){var d=this.attributes.iconCls;this.attributes.iconCls=c;if(this.rendered){this.ui.onIconClsChange(this,c,d)}},setTooltip:function(d,c){this.attributes.qtip=d;this.attributes.qtipTitle=c;if(this.rendered){this.ui.onTipChange(this,d,c)}},setIcon:function(b){this.attributes.icon=b;if(this.rendered){this.ui.onIconChange(this,b)}},setHref:function(d,c){this.attributes.href=d;this.attributes.hrefTarget=c;if(this.rendered){this.ui.onHrefChange(this,d,c)}},setCls:function(c){var d=this.attributes.cls;this.attributes.cls=c;if(this.rendered){this.ui.onClsChange(this,c,d)}},select:function(){var b=this.getOwnerTree();if(b){b.getSelectionModel().select(this)}},unselect:function(d){var c=this.getOwnerTree();if(c){c.getSelectionModel().unselect(this,d)}},isSelected:function(){var b=this.getOwnerTree();return b?b.getSelectionModel().isSelected(this):false},expand:function(g,k,h,e){if(!this.expanded){if(this.fireEvent("beforeexpand",this,g,k)===false){return}if(!this.childrenRendered){this.renderChildren()}this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&k!==false)||k){this.ui.animExpand(function(){this.fireEvent("expand",this);this.runCallback(h,e||this,[this]);if(g===true){this.expandChildNodes(true,true)}}.createDelegate(this));return}else{this.ui.expand();this.fireEvent("expand",this);this.runCallback(h,e||this,[this])}}else{this.runCallback(h,e||this,[this])}if(g===true){this.expandChildNodes(true)}},runCallback:function(e,g,d){if(Ext.isFunction(e)){e.apply(g,d)}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible},collapse:function(k,o,n,p){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,k,o)===false){return}this.expanded=false;if((this.getOwnerTree().animate&&o!==false)||o){this.ui.animCollapse(function(){this.fireEvent("collapse",this);this.runCallback(n,p||this,[this]);if(k===true){this.collapseChildNodes(true)}}.createDelegate(this));return}else{this.ui.collapse();this.fireEvent("collapse",this);this.runCallback(n,p||this,[this])}}else{if(!this.expanded){this.runCallback(n,p||this,[this])}}if(k===true){var q=this.childNodes;for(var r=0,l=q.length;r<l;r++){q[r].collapse(true,false)}}},delayedExpand:function(b){if(!this.expandProcId){this.expandProcId=this.expand.defer(b,this)}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId)}this.expandProcId=false},toggle:function(){if(this.expanded){this.collapse()}else{this.expand()}},ensureVisible:function(g,d){var e=this.getOwnerTree();e.expandPath(this.parentNode?this.parentNode.getPath():this.getPath(),false,function(){var a=e.getNodeById(this.id);e.getTreeEl().scrollChildIntoView(a.ui.anchor);this.runCallback(g,d||this,[this])}.createDelegate(this))},expandChildNodes:function(g,k){var l=this.childNodes,n,h=l.length;for(n=0;n<h;n++){l[n].expand(g,k)}},collapseChildNodes:function(e){var h=this.childNodes;for(var k=0,g=h.length;k<g;k++){h[k].collapse(e)}},disable:function(){this.disabled=true;this.unselect();if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,true)}this.fireEvent("disabledchange",this,true)},enable:function(){this.disabled=false;if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,false)}this.fireEvent("disabledchange",this,false)},renderChildren:function(e){if(e!==false){this.fireEvent("beforechildrenrendered",this)}var h=this.childNodes;for(var k=0,g=h.length;k<g;k++){h[k].render(true)}this.childrenRendered=true},sort:function(k,l){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var n=this.childNodes;for(var g=0,h=n.length;g<h;g++){n[g].render(true)}}},render:function(b){this.ui.render(b);if(!this.rendered){this.getOwnerTree().registerNode(this);this.rendered=true;if(this.expanded){this.expanded=false;this.expand(false,false)}}},renderIndent:function(g,k){if(k){this.ui.childIndent=null}this.ui.renderIndent();if(g===true&&this.childrenRendered){var l=this.childNodes;for(var n=0,h=l.length;n<h;n++){l[n].renderIndent(true,k)}}},beginUpdate:function(){this.childrenRendered=false},endUpdate:function(){if(this.expanded&&this.rendered){this.renderChildren()}},destroy:function(b){if(b===true){this.unselect(true)}Ext.tree.TreeNode.superclass.destroy.call(this,b);Ext.destroy(this.ui,this.loader);this.ui=this.loader=null},onIdChange:function(b){this.ui.onIdChange(b)}});Ext.tree.TreePanel.nodeTypes.node=Ext.tree.TreeNode;Ext.tree.AsyncTreeNode=function(b){this.loaded=b&&b.loaded===true;this.loading=false;Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);this.addEvents("beforeload","load")};Ext.extend(Ext.tree.AsyncTreeNode,Ext.tree.TreeNode,{expand:function(k,p,n,r){if(this.loading){var o;var q=function(){if(!this.loading){clearInterval(o);this.expand(k,p,n,r)}}.createDelegate(this);o=setInterval(q,200);return}if(!this.loaded){if(this.fireEvent("beforeload",this)===false){return}this.loading=true;this.ui.beforeLoad(this);var l=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(l){l.load(this,this.loadComplete.createDelegate(this,[k,p,n,r]),this);return}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,k,p,n,r)},isLoading:function(){return this.loading},loadComplete:function(g,k,h,e){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(g,k,h,e)},isLoaded:function(){return this.loaded},hasChildNodes:function(){if(!this.isLeaf()&&!this.loaded){return true}else{return Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this)}},reload:function(c,d){this.collapse(false,false);while(this.firstChild){this.removeChild(this.firstChild).destroy()}this.childrenRendered=false;this.loaded=false;if(this.isHiddenRoot()){this.expanded=false}this.expand(false,false,c,d)}});Ext.tree.TreePanel.nodeTypes.async=Ext.tree.AsyncTreeNode;Ext.tree.TreeNodeUI=Ext.extend(Object,{constructor:function(b){Ext.apply(this,{node:b,rendered:false,animating:false,wasLeaf:true,ecc:"x-tree-ec-icon x-tree-elbow",emptyIcon:Ext.BLANK_IMAGE_URL})},removeChild:function(b){if(this.rendered){this.ctNode.removeChild(b.ui.getEl())}},beforeLoad:function(){this.addClass("x-tree-node-loading")},afterLoad:function(){this.removeClass("x-tree-node-loading")},onTextChange:function(d,g,e){if(this.rendered){this.textNode.innerHTML=g}},onIconClsChange:function(g,e,d){if(this.rendered){Ext.fly(this.iconNode).replaceClass(d,e)}},onIconChange:function(d,e){if(this.rendered){var g=Ext.isEmpty(e);this.iconNode.src=g?this.emptyIcon:e;Ext.fly(this.iconNode)[g?"removeClass":"addClass"]("x-tree-node-inline-icon")}},onTipChange:function(e,k,h){if(this.rendered){var g=Ext.isDefined(h);if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",k);if(g){this.textNode.setAttributeNS("ext","qtitle",h)}}else{this.textNode.setAttribute("ext:qtip",k);if(g){this.textNode.setAttribute("ext:qtitle",h)}}}},onHrefChange:function(d,e,g){if(this.rendered){this.anchor.href=this.getHref(e);if(Ext.isDefined(g)){this.anchor.target=g}}},onClsChange:function(g,e,d){if(this.rendered){Ext.fly(this.elNode).replaceClass(d,e)}},onDisableChange:function(d,c){this.disabled=c;if(this.checkbox){this.checkbox.disabled=c}this[c?"addClass":"removeClass"]("x-tree-node-disabled")},onSelectedChange:function(b){if(b){this.focus();this.addClass("x-tree-selected")}else{this.removeClass("x-tree-selected")}},onMove:function(l,o,q,p,r,k){this.childIndent=null;if(this.rendered){var n=p.ui.getContainer();if(!n){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return}var s=k?k.ui.getEl():null;if(s){n.insertBefore(this.wrap,s)}else{n.appendChild(this.wrap)}this.node.renderIndent(true,q!=p)}},addClass:function(b){if(this.elNode){Ext.fly(this.elNode).addClass(b)}},removeClass:function(b){if(this.elNode){Ext.fly(this.elNode).removeClass(b)}},remove:function(){if(this.rendered){this.holder=document.createElement("div");this.holder.appendChild(this.wrap)}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments)},initEvents:function(){this.node.on("move",this.onMove,this);if(this.node.disabled){this.onDisableChange(this.node,true)}if(this.node.hidden){this.hide()}var c=this.node.getOwnerTree();var d=c.enableDD||c.enableDrag||c.enableDrop;if(d&&(!this.node.isRoot||c.rootVisible)){Ext.dd.Registry.register(this.elNode,{node:this.node,handles:this.getDDHandles(),isHandle:false})}},getDDHandles:function(){return[this.iconNode,this.textNode,this.elNode]},hide:function(){this.node.hidden=true;if(this.wrap){this.wrap.style.display="none"}},show:function(){this.node.hidden=false;if(this.wrap){this.wrap.style.display=""}},onContextMenu:function(b){if(this.node.hasListener("contextmenu")||this.node.getOwnerTree().hasListener("contextmenu")){b.preventDefault();this.focus();this.fireEvent("contextmenu",this.node,b)}},onClick:function(d){if(this.dropping){d.stopEvent();return}if(this.fireEvent("beforeclick",this.node,d)!==false){var a=d.getTarget("a");if(!this.disabled&&this.node.attributes.href&&a){this.fireEvent("click",this.node,d);return}else{if(a&&d.ctrlKey){d.stopEvent()}}d.preventDefault();if(this.disabled){return}if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("click",this.node,d)}else{d.stopEvent()}},onDblClick:function(b){b.preventDefault();if(this.disabled){return}if(this.fireEvent("beforedblclick",this.node,b)!==false){if(this.checkbox){this.toggleCheck()}if(!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("dblclick",this.node,b)}},onOver:function(b){this.addClass("x-tree-node-over")},onOut:function(b){this.removeClass("x-tree-node-over")},onCheckChange:function(){var b=this.checkbox.checked;this.checkbox.defaultChecked=b;this.node.attributes.checked=b;this.fireEvent("checkchange",this.node,b)},ecClick:function(b){if(!this.animating&&this.node.isExpandable()){this.node.toggle()}},startDrop:function(){this.dropping=true},endDrop:function(){setTimeout(function(){this.dropping=false}.createDelegate(this),50)},expand:function(){this.updateExpandIcon();this.ctNode.style.display=""},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus()}catch(g){}}else{try{var d=this.node.getOwnerTree().getTreeEl().dom;var e=d.scrollLeft;this.anchor.focus();d.scrollLeft=e}catch(g){}}},toggleCheck:function(c){var d=this.checkbox;if(d){d.checked=(c===undefined?!d.checked:c);this.onCheckChange()}},blur:function(){try{this.anchor.blur()}catch(b){}},animExpand:function(c){var d=Ext.get(this.ctNode);d.stopFx();if(!this.node.isExpandable()){this.updateExpandIcon();this.ctNode.style.display="";Ext.callback(c);return}this.animating=true;this.updateExpandIcon();d.slideIn("t",{callback:function(){this.animating=false;Ext.callback(c)},scope:this,duration:this.node.ownerTree.duration||0.25})},highlight:function(){var b=this.node.getOwnerTree();Ext.fly(this.wrap).highlight(b.hlColor||"C3DAF9",{endColor:b.hlBaseColor})},collapse:function(){this.updateExpandIcon();this.ctNode.style.display="none"},animCollapse:function(c){var d=Ext.get(this.ctNode);d.enableDisplayMode("block");d.stopFx();this.animating=true;this.updateExpandIcon();d.slideOut("t",{callback:function(){this.animating=false;Ext.callback(c)},scope:this,duration:this.node.ownerTree.duration||0.25})},getContainer:function(){return this.ctNode},getEl:function(){return this.wrap},appendDDGhost:function(b){b.appendChild(this.elNode.cloneNode(true))},getDDRepairXY:function(){return Ext.lib.Dom.getXY(this.iconNode)},onRender:function(){this.render()},render:function(k){var g=this.node,a=g.attributes;var h=g.parentNode?g.parentNode.ui.getContainer():g.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(g,a,h,k);if(a.qtip){this.onTipChange(g,a.qtip,a.qtipTitle)}else{if(a.qtipCfg){a.qtipCfg.target=Ext.id(this.textNode);Ext.QuickTips.register(a.qtipCfg)}}this.initEvents();if(!this.node.expanded){this.updateExpandIcon(true)}}else{if(k===true){h.appendChild(this.wrap)}}},renderElements:function(s,n,o,a){this.indentMarkup=s.parentNode?s.parentNode.ui.getChildIndent():"";var r=Ext.isBoolean(n.checked),v,u=this.getHref(n.href),t=['<li class="x-tree-node"><div ext:tree-node-id="',s.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',n.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img alt="" src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img alt="" src="',n.icon||this.emptyIcon,'" class="x-tree-node-icon',(n.icon?" x-tree-node-inline-icon":""),(n.iconCls?" "+n.iconCls:""),'" unselectable="on" />',r?('<input class="x-tree-node-cb" type="checkbox" '+(n.checked?'checked="checked" />':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',u,'" tabIndex="1" ',n.hrefTarget?' target="'+n.hrefTarget+'"':"",'><span unselectable="on">',s.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");if(a!==true&&s.nextSibling&&(v=s.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",v,t)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",o,t)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var p=this.elNode.childNodes;this.indentNode=p[0];this.ecNode=p[1];this.iconNode=p[2];var q=3;if(r){this.checkbox=p[3];this.checkbox.defaultChecked=this.checkbox.checked;q++}this.anchor=p[q];this.textNode=p[q].firstChild},getHref:function(b){return Ext.isEmpty(b)?(Ext.isGecko?"":"#"):b},getAnchor:function(){return this.anchor},getTextEl:function(){return this.textNode},getIconEl:function(){return this.iconNode},isChecked:function(){return this.checkbox?this.checkbox.checked:false},updateExpandIcon:function(){if(this.rendered){var l=this.node,o,p,k=l.isLast()?"x-tree-elbow-end":"x-tree-elbow",n=l.hasChildNodes();if(n||l.attributes.expandable){if(l.expanded){k+="-minus";o="x-tree-node-collapsed";p="x-tree-node-expanded"}else{k+="-plus";o="x-tree-node-expanded";p="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=o||this.c2!=p){Ext.fly(this.elNode).replaceClass(o,p);this.c1=o;this.c2=p}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-collapsed");delete this.c1;delete this.c2;this.wasLeaf=true}}var h="x-tree-ec-icon "+k;if(this.ecc!=h){this.ecNode.className=h;this.ecc=h}}},onIdChange:function(b){if(this.rendered){this.elNode.setAttribute("ext:tree-node-id",b)}},getChildIndent:function(){if(!this.childIndent){var d=[],c=this.node;while(c){if(!c.isRoot||(c.isRoot&&c.ownerTree.rootVisible)){if(!c.isLast()){d.unshift('<img alt="" src="'+this.emptyIcon+'" class="x-tree-elbow-line" />')}else{d.unshift('<img alt="" src="'+this.emptyIcon+'" class="x-tree-icon" />')}}c=c.parentNode}this.childIndent=d.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var d="",c=this.node.parentNode;if(c){d=c.ui.getChildIndent()}if(this.indentMarkup!=d){this.indentNode.innerHTML=d;this.indentMarkup=d}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}Ext.each(["textnode","anchor","checkbox","indentNode","ecNode","iconNode","elNode","ctNode","wrap","holder"],function(b){if(this[b]){Ext.fly(this[b]).remove();delete this[b]}},this);delete this.node}});Ext.tree.RootTreeNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var b=this.node.ownerTree.innerCt.dom;this.node.expanded=true;b.innerHTML='<div class="x-tree-root-node"></div>';this.wrap=this.ctNode=b.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.TreeLoader=function(b){this.baseParams={};Ext.apply(this,b);this.addEvents("beforeload","load","loadexception");Ext.tree.TreeLoader.superclass.constructor.call(this);if(Ext.isString(this.paramOrder)){this.paramOrder=this.paramOrder.split(/[\s,|]/)}};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,paramOrder:undefined,paramsAsHash:false,nodeParameter:"node",directFn:undefined,load:function(d,g,e){if(this.clearOnLoad){while(d.firstChild){d.removeChild(d.firstChild)}}if(this.doPreload(d)){this.runCallback(g,e||d,[d])}else{if(this.directFn||this.dataUrl||this.url){this.requestData(d,g,e||d)}}},doPreload:function(l){if(l.attributes.children){if(l.childNodes.length<1){var n=l.attributes.children;l.beginUpdate();for(var g=0,h=n.length;g<h;g++){var k=l.appendChild(this.createNode(n[g]));if(this.preloadChildren){this.doPreload(k)}}l.endUpdate()}return true}return false},getParams:function(o){var p=Ext.apply({},this.baseParams),n=this.nodeParameter,k=this.paramOrder;n&&(p[n]=o.id);if(this.directFn){var r=[o.id];if(k){if(n&&k.indexOf(n)>-1){r=[]}for(var q=0,l=k.length;q<l;q++){r.push(p[k[q]])}}else{if(this.paramsAsHash){r=[p]}}return r}else{return p}},requestData:function(k,h,e){if(this.fireEvent("beforeload",this,k,h)!==false){if(this.directFn){var g=this.getParams(k);g.push(this.processDirectResponse.createDelegate(this,[{callback:h,node:k,scope:e}],true));this.directFn.apply(window,g)}else{this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:h,node:k,scope:e},params:this.getParams(k)})}}else{this.runCallback(h,e||k,[])}},processDirectResponse:function(e,d,g){if(d.status){this.handleResponse({responseData:Ext.isArray(e)?e:null,responseText:e,argument:g})}else{this.handleFailure({argument:g})}},runCallback:function(e,g,d){if(Ext.isFunction(e)){e.apply(g,d)}},isLoading:function(){return !!this.transId},abort:function(){if(this.isLoading()){Ext.Ajax.abort(this.transId)}},createNode:function(attr){if(this.baseAttrs){Ext.applyIf(attr,this.baseAttrs)}if(this.applyLoader!==false&&!attr.loader){attr.loader=this}if(Ext.isString(attr.uiProvider)){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider)}if(attr.nodeType){return new Ext.tree.TreePanel.nodeTypes[attr.nodeType](attr)}else{return attr.leaf?new Ext.tree.TreeNode(attr):new Ext.tree.AsyncTreeNode(attr)}},processResponse:function(t,u,o,n){var e=t.responseText;try{var w=t.responseData||Ext.decode(e);u.beginUpdate();for(var s=0,r=w.length;s<r;s++){var v=this.createNode(w[s]);if(v){u.appendChild(v)}}u.endUpdate();this.runCallback(o,n||u,[u])}catch(q){this.handleFailure(t)}},handleResponse:function(d){this.transId=false;var a=d.argument;this.processResponse(d,a.node,a.callback,a.scope);this.fireEvent("load",this,a.node,d)},handleFailure:function(d){this.transId=false;var a=d.argument;this.fireEvent("loadexception",this,a.node,d);this.runCallback(a.callback,a.scope||a.node,[a.node])},destroy:function(){this.abort();this.purgeListeners()}});Ext.tree.TreeFilter=function(d,c){this.tree=d;this.filtered={};Ext.apply(this,c)};Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(l,h,g){h=h||"text";var n;if(typeof l=="string"){var k=l.length;if(k==0&&this.clearBlank){this.clear();return}l=l.toLowerCase();n=function(a){return a.attributes[h].substr(0,k).toLowerCase()==l}}else{if(l.exec){n=function(a){return l.test(a.attributes[h])}}else{throw"Illegal filter type, must be string or regex"}}this.filterBy(n,null,g)},filterBy:function(r,s,k){k=k||this.tree.root;if(this.autoClear){this.clear()}var l=this.filtered,n=this.reverse;var q=function(a){if(a==k){return true}if(l[a.id]){return false}var b=r.call(s||a,a);if(!b||n){l[a.id]=a;a.ui.hide();return false}return true};k.cascade(q);if(this.remove){for(var o in l){if(typeof o!="function"){var p=l[o];if(p&&p.parentNode){p.parentNode.removeChild(p)}}}}},clear:function(){var e=this.tree;var g=this.filtered;for(var h in g){if(typeof h!="function"){var k=g[h];if(k){k.ui.show()}}}this.filtered={}}};Ext.tree.TreeSorter=Ext.extend(Object,{constructor:function(g,e){Ext.apply(this,e);g.on({scope:this,beforechildrenrendered:this.doSort,append:this.updateSort,insert:this.updateSort,textchange:this.updateSortParent});var k=this.dir&&this.dir.toLowerCase()=="desc",h=this.property||"text";sortType=this.sortType;folderSort=this.folderSort;caseSensitive=this.caseSensitive===true;leafAttr=this.leafAttr||"leaf";if(Ext.isString(sortType)){sortType=Ext.data.SortTypes[sortType]}this.sortFn=function(b,d){var o=b.attributes,p=d.attributes;if(folderSort){if(o[leafAttr]&&!p[leafAttr]){return 1}if(!o[leafAttr]&&p[leafAttr]){return -1}}var c=o[h],n=p[h],a=sortType?sortType(c):(caseSensitive?c:c.toUpperCase());v2=sortType?sortType(n):(caseSensitive?n:n.toUpperCase());if(a<v2){return k?1:-1}else{if(a>v2){return k?-1:1}}return 0}},doSort:function(b){b.sort(this.sortFn)},updateSort:function(d,c){if(c.childrenRendered){this.doSort.defer(1,this,[c])}},updateSortParent:function(d){var c=d.parentNode;if(c&&c.childrenRendered){this.doSort.defer(1,this,[c])}}});if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(d,c){this.allowParentInsert=c.allowParentInsert||false;this.allowContainerDrop=c.allowContainerDrop||false;this.appendOnly=c.appendOnly||false;Ext.tree.TreeDropZone.superclass.constructor.call(this,d.getTreeEl(),c);this.tree=d;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(b){if(b.hasChildNodes()&&!b.isExpanded()){b.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(b){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[b])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(u,e,o,r,s){if(!u||!s){return false}var q=u.node;var p=s.node;if(!(q&&q.isTarget&&e)){return false}if(e=="append"&&q.allowChildren===false){return false}if((e=="above"||e=="below")&&(q.parentNode&&q.parentNode.allowChildren===false)){return false}if(p&&(q==p||p.contains(q))){return false}var t=this.dragOverData;t.tree=this.tree;t.target=q;t.data=s;t.point=e;t.source=o;t.rawEvent=r;t.dropNode=p;t.cancel=false;var n=this.tree.fireEvent("nodedragover",t);return t.cancel===false&&n!==false},getDropPoint:function(t,u,n){var e=u.node;if(e.isRoot){return e.allowChildren!==false?"append":false}var w=u.ddel;var b=Ext.lib.Dom.getY(w),r=b+w.offsetHeight;var s=Ext.lib.Event.getPageY(t);var q=e.allowChildren===false||e.isLeaf();if(this.appendOnly||e.parentNode.allowChildren===false){return q?false:"append"}var v=false;if(!this.allowParentInsert){v=e.hasChildNodes()&&e.isExpanded()}var x=(r-b)/(q?2:3);if(s>=b&&s<(b+x)){return"above"}else{if(!v&&(q||s>=r-x&&s<=r)){return"below"}else{return"append"}}},onNodeEnter:function(h,g,k,e){this.cancelExpand()},onContainerOver:function(e,g,d){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",e,g,d)){return this.dropAllowed}return this.dropNotAllowed},onNodeOver:function(t,o,p,q){var e=this.getDropPoint(p,t,o);var s=t.node;if(!this.expandProcId&&e=="append"&&s.hasChildNodes()&&!t.node.isExpanded()){this.queueExpand(s)}else{if(e!="append"){this.cancelExpand()}}var r=this.dropNotAllowed;if(this.isValidDropPoint(t,e,o,p,q)){if(e){var u=t.ddel;var n;if(e=="above"){r=t.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";n="x-tree-drag-insert-above"}else{if(e=="below"){r=t.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";n="x-tree-drag-insert-below"}else{r="x-tree-drop-ok-append";n="x-tree-drag-append"}}if(this.lastInsertClass!=n){Ext.fly(u).replaceClass(this.lastInsertClass,n);this.lastInsertClass=n}}}return r},onNodeOut:function(h,g,k,e){this.cancelExpand();this.removeDropIndicators(h)},onNodeDrop:function(l,e,n,p){var k=this.getDropPoint(n,l,e);var o=l.node;o.ui.startDrop();if(!this.isValidDropPoint(l,k,e,n,p)){o.ui.endDrop();return false}var q=p.node||(e.getTreeNode?e.getTreeNode(p,o,k,n):null);return this.processDrop(o,p,k,e,n,q)},onContainerDrop:function(h,k,n){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",h,k,n)){var l=this.tree.getRootNode();l.ui.startDrop();var e=n.node||(h.getTreeNode?h.getTreeNode(n,l,"append",k):null);return this.processDrop(l,n,"append",h,k,e)}return false},processDrop:function(n,p,e,l,o,r){var q={tree:this.tree,target:n,data:p,point:e,source:l,rawEvent:o,dropNode:r,cancel:!r,dropStatus:false};var s=this.tree.fireEvent("beforenodedrop",q);if(s===false||q.cancel===true||!q.dropNode){n.ui.endDrop();return q.dropStatus}n=q.target;if(e=="append"&&!n.isExpanded()){n.expand(false,null,function(){this.completeDrop(q)}.createDelegate(this))}else{this.completeDrop(q)}return true},completeDrop:function(n){var q=n.dropNode,p=n.point,r=n.target;if(!Ext.isArray(q)){q=[q]}var o;for(var k=0,l=q.length;k<l;k++){o=q[k];if(p=="above"){r.parentNode.insertBefore(o,r)}else{if(p=="below"){r.parentNode.insertBefore(o,r.nextSibling)}else{r.appendChild(o)}}}o.ui.focus();if(Ext.enableFx&&this.tree.hlDrop){o.ui.highlight()}r.ui.endDrop();this.tree.fireEvent("nodedrop",n)},afterNodeMoved:function(h,n,k,l,e){if(Ext.enableFx&&this.tree.hlDrop){e.ui.focus();e.ui.highlight()}this.tree.fireEvent("nodedrop",this.tree,l,n,h,k)},getTree:function(){return this.tree},removeDropIndicators:function(c){if(c&&c.ddel){var d=c.ddel;Ext.fly(d).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass"}},beforeDragDrop:function(d,e,g){this.cancelExpand();return true},afterRepair:function(b){if(b&&Ext.enableFx){b.node.ui.highlight()}this.hideProxy()}})}if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(d,c){Ext.tree.TreeDragZone.superclass.constructor.call(this,d.innerCt,c);this.tree=d};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(e,d){var g=e.node;return g&&g.draggable&&!g.disabled},onInitDrag:function(c){var d=this.dragData;this.tree.getSelectionModel().select(d.node);this.tree.eventModel.disable();this.proxy.update("");d.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent("startdrag",this.tree,d.node,c)},getRepairXY:function(c,d){return d.node.ui.getDDRepairXY()},onEndDrag:function(d,c){this.tree.eventModel.enable.defer(100,this.tree.eventModel);this.tree.fireEvent("enddrag",this.tree,d.node,c)},onValidDrop:function(e,d,g){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,e,d);this.hideProxy()},beforeInvalidDrop:function(e,g){var d=this.tree.getSelectionModel();d.clearSelections();d.select(this.dragData.node)},afterRepair:function(){if(Ext.enableFx&&this.tree.hlDrop){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false}})}Ext.tree.TreeEditor=function(g,k,e){k=k||{};var h=k.events?k:new Ext.form.TextField(k);Ext.tree.TreeEditor.superclass.constructor.call(this,h,e);this.tree=g;if(!g.rendered){g.on("render",this.initEditor,this)}else{this.initEditor(g)}};Ext.extend(Ext.tree.TreeEditor,Ext.Editor,{alignment:"l-l",autoSize:false,hideEl:false,cls:"x-small-editor x-tree-editor",shim:false,shadow:"frame",maxWidth:250,editDelay:350,initEditor:function(b){b.on({scope:this,beforeclick:this.beforeNodeClick,dblclick:this.onNodeDblClick});this.on({scope:this,complete:this.updateNode,beforestartedit:this.fitToTree,specialkey:this.onSpecialKey});this.on("startedit",this.bindScroll,this,{delay:10})},fitToTree:function(g,n){var k=this.tree.getTreeEl().dom,l=n.dom;if(k.scrollLeft>l.offsetLeft){k.scrollLeft=l.offsetLeft}var h=Math.min(this.maxWidth,(k.clientWidth>20?k.clientWidth:k.offsetWidth)-Math.max(0,l.offsetLeft-k.scrollLeft)-5);this.setSize(h,"")},triggerEdit:function(e,g){this.completeEdit();if(e.attributes.editable!==false){this.editNode=e;if(this.tree.autoScroll){Ext.fly(e.ui.getEl()).scrollIntoView(this.tree.body)}var d=e.text||"";if(!Ext.isGecko&&Ext.isEmpty(e.text)){e.setText("&#160;")}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[e.ui.textNode,d]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(d,c){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(d)){c.stopEvent();return this.triggerEdit(d)}},onNodeDblClick:function(d,c){clearTimeout(this.autoEditTimer)},updateNode:function(d,c){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(c)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(g,d){var e=d.getKey();if(e==d.ESC){d.stopEvent();this.cancelEdit()}else{if(e==d.ENTER&&!d.hasModifier()){d.stopEvent();this.completeEdit()}}},onDestroy:function(){clearTimeout(this.autoEditTimer);Ext.tree.TreeEditor.superclass.onDestroy.call(this);var b=this.tree;b.un("beforeclick",this.beforeNodeClick,this);b.un("dblclick",this.onNodeDblClick,this)}});var swfobject=function(){var at="undefined",aF="object",ad="Shockwave Flash",Z="ShockwaveFlash.ShockwaveFlash",aG="application/x-shockwave-flash",ae="SWFObjectExprInst",az="onreadystatechange",ah=window,aN=document,aD=navigator,ac=false,ab=[aP],aI=[],ai=[],an=[],aL,af,ar,av,am=false,aW=false,aJ,ap,aK=true,aj=function(){var n=typeof aN.getElementById!=at&&typeof aN.getElementsByTagName!=at&&typeof aN.createElement!=at,c=aD.userAgent.toLowerCase(),a=aD.platform.toLowerCase(),g=a?(/win/).test(a):/win/.test(c),k=a?(/mac/).test(a):/mac/.test(c),e=/webkit/.test(c)?parseFloat(c.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,b=!+"\v1",d=[0,0,0],l=null;if(typeof aD.plugins!=at&&typeof aD.plugins[ad]==aF){l=aD.plugins[ad].description;if(l&&!(typeof aD.mimeTypes!=at&&aD.mimeTypes[aG]&&!aD.mimeTypes[aG].enabledPlugin)){ac=true;b=false;l=l.replace(/^.*\s+(\S+\s+\S+$)/,"$1");d[0]=parseInt(l.replace(/^(.*)\..*$/,"$1"),10);d[1]=parseInt(l.replace(/^.*\.(.*)\s.*$/,"$1"),10);d[2]=/[a-zA-Z]/.test(l)?parseInt(l.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof ah.ActiveXObject!=at){try{var h=new ActiveXObject(Z);if(h){l=h.GetVariable("$version");if(l){b=true;l=l.split(" ")[1].split(",");d=[parseInt(l[0],10),parseInt(l[1],10),parseInt(l[2],10)]}}}catch(o){}}}return{w3:n,pv:d,wk:e,ie:b,win:g,mac:k}}(),aM=function(){if(!aj.w3){return}if((typeof aN.readyState!=at&&aN.readyState=="complete")||(typeof aN.readyState==at&&(aN.getElementsByTagName("body")[0]||aN.body))){aR()}if(!am){if(typeof aN.addEventListener!=at){aN.addEventListener("DOMContentLoaded",aR,false)}if(aj.ie&&aj.win){aN.attachEvent(az,function(){if(aN.readyState=="complete"){aN.detachEvent(az,arguments.callee);aR()}});if(ah==top){(function(){if(am){return}try{aN.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}aR()})()}}if(aj.wk){(function(){if(am){return}if(!(/loaded|complete/).test(aN.readyState)){setTimeout(arguments.callee,0);return}aR()})()}aE(aR)}}();function aR(){if(am){return}try{var b=aN.getElementsByTagName("body")[0].appendChild(au("span"));b.parentNode.removeChild(b)}catch(a){return}am=true;var d=ab.length;for(var c=0;c<d;c++){ab[c]()}}function al(a){if(am){a()}else{ab[ab.length]=a}}function aE(b){if(typeof ah.addEventListener!=at){ah.addEventListener("load",b,false)}else{if(typeof aN.addEventListener!=at){aN.addEventListener("load",b,false)}else{if(typeof ah.attachEvent!=at){aO(ah,"onload",b)}else{if(typeof ah.onload=="function"){var a=ah.onload;ah.onload=function(){a();b()}}else{ah.onload=b}}}}}function aP(){if(ac){aa()}else{ao()}}function aa(){var d=aN.getElementsByTagName("body")[0];var a=au(aF);a.setAttribute("type",aG);var b=d.appendChild(a);if(b){var c=0;(function(){if(typeof b.GetVariable!=at){var e=b.GetVariable("$version");if(e){e=e.split(" ")[1].split(",");aj.pv=[parseInt(e[0],10),parseInt(e[1],10),parseInt(e[2],10)]}}else{if(c<10){c++;setTimeout(arguments.callee,10);return}}d.removeChild(a);b=null;ao()})()}else{ao()}}function ao(){var e=aI.length;if(e>0){for(var g=0;g<e;g++){var a=aI[g].id;var n=aI[g].callbackFn;var o={success:false,id:a};if(aj.pv[0]>0){var h=aU(a);if(h){if(aq(aI[g].swfVersion)&&!(aj.wk&&aj.wk<312)){aA(a,true);if(n){o.success=true;o.ref=ax(a);n(o)}}else{if(aI[g].expressInstall&&aw()){var c={};c.data=aI[g].expressInstall;c.width=h.getAttribute("width")||"0";c.height=h.getAttribute("height")||"0";if(h.getAttribute("class")){c.styleclass=h.getAttribute("class")}if(h.getAttribute("align")){c.align=h.getAttribute("align")}var d={};var b=h.getElementsByTagName("param");var l=b.length;for(var k=0;k<l;k++){if(b[k].getAttribute("name").toLowerCase()!="movie"){d[b[k].getAttribute("name")]=b[k].getAttribute("value")}}ag(c,d,a,n)}else{aH(h);if(n){n(o)}}}}}else{aA(a,true);if(n){var p=ax(a);if(p&&typeof p.SetVariable!=at){o.success=true;o.ref=p}n(o)}}}}}function ax(a){var d=null;var c=aU(a);if(c&&c.nodeName=="OBJECT"){if(typeof c.SetVariable!=at){d=c}else{var b=c.getElementsByTagName(aF)[0];if(b){d=b}}}return d}function aw(){return !aW&&aq("6.0.65")&&(aj.win||aj.mac)&&!(aj.wk&&aj.wk<312)}function ag(e,d,k,g){aW=true;ar=g||null;av={success:false,id:k};var a=aU(k);if(a){if(a.nodeName=="OBJECT"){aL=aQ(a);af=null}else{aL=a;af=k}e.id=ae;if(typeof e.width==at||(!(/%$/).test(e.width)&&parseInt(e.width,10)<310)){e.width="310"}if(typeof e.height==at||(!(/%$/).test(e.height)&&parseInt(e.height,10)<137)){e.height="137"}aN.title=aN.title.slice(0,47)+" - Flash Player Installation";var b=aj.ie&&aj.win?"ActiveX":"PlugIn",c="MMredirectURL="+ah.location.toString().replace(/&/g,"%26")+"&MMplayerType="+b+"&MMdoctitle="+aN.title;if(typeof d.flashvars!=at){d.flashvars+="&"+c}else{d.flashvars=c}if(aj.ie&&aj.win&&a.readyState!=4){var h=au("div");k+="SWFObjectNew";h.setAttribute("id",k);a.parentNode.insertBefore(h,a);a.style.display="none";(function(){if(a.readyState==4){a.parentNode.removeChild(a)}else{setTimeout(arguments.callee,10)}})()}aC(e,d,k)}}function aH(b){if(aj.ie&&aj.win&&b.readyState!=4){var a=au("div");b.parentNode.insertBefore(a,b);a.parentNode.replaceChild(aQ(b),a);b.style.display="none";(function(){if(b.readyState==4){b.parentNode.removeChild(b)}else{setTimeout(arguments.callee,10)}})()}else{b.parentNode.replaceChild(aQ(b),b)}}function aQ(b){var c=au("div");if(aj.win&&aj.ie){c.innerHTML=b.innerHTML}else{var g=b.getElementsByTagName(aF)[0];if(g){var a=g.childNodes;if(a){var e=a.length;for(var d=0;d<e;d++){if(!(a[d].nodeType==1&&a[d].nodeName=="PARAM")&&!(a[d].nodeType==8)){c.appendChild(a[d].cloneNode(true))}}}}}return c}function aC(c,e,a){var b,o=aU(a);if(aj.wk&&aj.wk<312){return b}if(o){if(typeof c.id==at){c.id=a}if(aj.ie&&aj.win){var d="";for(var h in c){if(c[h]!=Object.prototype[h]){if(h.toLowerCase()=="data"){e.movie=c[h]}else{if(h.toLowerCase()=="styleclass"){d+=' class="'+c[h]+'"'}else{if(h.toLowerCase()!="classid"){d+=" "+h+'="'+c[h]+'"'}}}}}var g="";for(var k in e){if(e[k]!=Object.prototype[k]){g+='<param name="'+k+'" value="'+e[k]+'" />'}}o.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+d+">"+g+"</object>";ai[ai.length]=c.id;b=aU(c.id)}else{var p=au(aF);p.setAttribute("type",aG);for(var l in c){if(c[l]!=Object.prototype[l]){if(l.toLowerCase()=="styleclass"){p.setAttribute("class",c[l])}else{if(l.toLowerCase()!="classid"){p.setAttribute(l,c[l])}}}}for(var n in e){if(e[n]!=Object.prototype[n]&&n.toLowerCase()!="movie"){aS(p,n,e[n])}}o.parentNode.replaceChild(p,o);b=p}}return b}function aS(b,d,c){var a=au("param");a.setAttribute("name",d);a.setAttribute("value",c);b.appendChild(a)}function ay(b){var a=aU(b);if(a&&a.nodeName=="OBJECT"){if(aj.ie&&aj.win){a.style.display="none";(function(){if(a.readyState==4){aV(b)}else{setTimeout(arguments.callee,10)}})()}else{a.parentNode.removeChild(a)}}}function aV(a){var c=aU(a);if(c){for(var b in c){if(typeof c[b]=="function"){c[b]=null}}c.parentNode.removeChild(c)}}function aU(a){var c=null;try{c=aN.getElementById(a)}catch(b){}return c}function au(a){return aN.createElement(a)}function aO(a,c,b){a.attachEvent(c,b);an[an.length]=[a,c,b]}function aq(a){var c=aj.pv,b=a.split(".");b[0]=parseInt(b[0],10);b[1]=parseInt(b[1],10)||0;b[2]=parseInt(b[2],10)||0;return(c[0]>b[0]||(c[0]==b[0]&&c[1]>b[1])||(c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]))?true:false}function aB(b,h,a,c){if(aj.ie&&aj.mac){return}var d=aN.getElementsByTagName("head")[0];if(!d){return}var g=(a&&typeof a=="string")?a:"screen";if(c){aJ=null;ap=null}if(!aJ||ap!=g){var e=au("style");e.setAttribute("type","text/css");e.setAttribute("media",g);aJ=d.appendChild(e);if(aj.ie&&aj.win&&typeof aN.styleSheets!=at&&aN.styleSheets.length>0){aJ=aN.styleSheets[aN.styleSheets.length-1]}ap=g}if(aj.ie&&aj.win){if(aJ&&typeof aJ.addRule==aF){aJ.addRule(b,h)}}else{if(aJ&&typeof aN.createTextNode!=at){aJ.appendChild(aN.createTextNode(b+" {"+h+"}"))}}}function aA(a,c){if(!aK){return}var b=c?"visible":"hidden";if(am&&aU(a)){aU(a).style.visibility=b}else{aB("#"+a,"visibility:"+b)}}function ak(c){var a=/[\\\"<>\.;]/;var b=a.exec(c)!=null;return b&&typeof encodeURIComponent!=at?encodeURIComponent(c):c}var aT=function(){if(aj.ie&&aj.win){window.attachEvent("onunload",function(){var a=an.length;for(var b=0;b<a;b++){an[b][0].detachEvent(an[b][1],an[b][2])}var d=ai.length;for(var c=0;c<d;c++){ay(ai[c])}for(var g in aj){aj[g]=null}aj=null;for(var e in swfobject){swfobject[e]=null}swfobject=null})}}();return{registerObject:function(a,e,b,c){if(aj.w3&&a&&e){var d={};d.id=a;d.swfVersion=e;d.expressInstall=b;d.callbackFn=c;aI[aI.length]=d;aA(a,false)}else{if(c){c({success:false,id:a})}}},getObjectById:function(a){if(aj.w3){return ax(a)}},embedSWF:function(l,c,g,d,a,n,o,h,e,k){var b={success:false,id:c};if(aj.w3&&!(aj.wk&&aj.wk<312)&&l&&c&&g&&d&&a){aA(c,false);al(function(){g+="";d+="";var t={};if(e&&typeof e===aF){for(var r in e){t[r]=e[r]}}t.data=l;t.width=g;t.height=d;var q={};if(h&&typeof h===aF){for(var s in h){q[s]=h[s]}}if(o&&typeof o===aF){for(var u in o){if(typeof q.flashvars!=at){q.flashvars+="&"+u+"="+o[u]}else{q.flashvars=u+"="+o[u]}}}if(aq(a)){var p=aC(t,q,c);if(t.id==c){aA(c,true)}b.success=true;b.ref=p}else{if(n&&aw()){t.data=n;ag(t,q,c,k);return}else{aA(c,true)}}if(k){k(b)}})}else{if(k){k(b)}}},switchOffAutoHideShow:function(){aK=false},ua:aj,getFlashPlayerVersion:function(){return{major:aj.pv[0],minor:aj.pv[1],release:aj.pv[2]}},hasFlashPlayerVersion:aq,createSWF:function(a,c,b){if(aj.w3){return aC(a,c,b)}else{return undefined}},showExpressInstall:function(b,a,d,c){if(aj.w3&&aw()){ag(b,a,d,c)}},removeSWF:function(a){if(aj.w3){ay(a)}},createCSS:function(a,b,d,c){if(aj.w3){aB(a,b,d,c)}},addDomLoadEvent:al,addLoadEvent:aE,getQueryParamValue:function(a){var b=aN.location.search||aN.location.hash;if(b){if(/\?/.test(b)){b=b.split("?")[1]}if(a==null){return ak(b)}var d=b.split("&");for(var c=0;c<d.length;c++){if(d[c].substring(0,d[c].indexOf("="))==a){return ak(d[c].substring((d[c].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(aW){var a=aU(ae);if(a&&aL){a.parentNode.replaceChild(aL,a);if(af){aA(af,true);if(aj.ie&&aj.win){aL.style.display="block"}}if(ar){ar(av)}}aW=false}}}}();Ext.FlashComponent=Ext.extend(Ext.BoxComponent,{flashVersion:"9.0.115",backgroundColor:"#ffffff",wmode:"opaque",flashVars:undefined,flashParams:undefined,url:undefined,swfId:undefined,swfWidth:"100%",swfHeight:"100%",expressInstall:false,initComponent:function(){Ext.FlashComponent.superclass.initComponent.call(this);this.addEvents("initialize")},onRender:function(){Ext.FlashComponent.superclass.onRender.apply(this,arguments);var c=Ext.apply({allowScriptAccess:"always",bgcolor:this.backgroundColor,wmode:this.wmode},this.flashParams),d=Ext.apply({allowedDomain:document.location.hostname,YUISwfId:this.getId(),YUIBridgeCallback:"Ext.FlashEventProxy.onEvent"},this.flashVars);new swfobject.embedSWF(this.url,this.id,this.swfWidth,this.swfHeight,this.flashVersion,this.expressInstall?Ext.FlashComponent.EXPRESS_INSTALL_URL:undefined,d,c);this.swf=Ext.getDom(this.id);this.el=Ext.get(this.swf)},getSwfId:function(){return this.swfId||(this.swfId="extswf"+(++Ext.Component.AUTO_ID))},getId:function(){return this.id||(this.id="extflashcmp"+(++Ext.Component.AUTO_ID))},onFlashEvent:function(b){switch(b.type){case"swfReady":this.initSwf();return;case"log":return}b.component=this;this.fireEvent(b.type.toLowerCase().replace(/event$/,""),b)},initSwf:function(){this.onSwfReady(!!this.isInitialized);this.isInitialized=true;this.fireEvent("initialize",this)},beforeDestroy:function(){if(this.rendered){swfobject.removeSWF(this.swf.id)}Ext.FlashComponent.superclass.beforeDestroy.call(this)},onSwfReady:Ext.emptyFn});Ext.FlashComponent.EXPRESS_INSTALL_URL="http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf";Ext.reg("flash",Ext.FlashComponent);Ext.FlashEventProxy={onEvent:function(g,d){var e=Ext.getCmp(g);if(e){e.onFlashEvent(d)}else{arguments.callee.defer(10,this,[g,d])}}};Ext.chart.Chart=Ext.extend(Ext.FlashComponent,{refreshBuffer:100,chartStyle:{padding:10,animationEnabled:true,font:{name:"Tahoma",color:4473924,size:11},dataTip:{padding:5,border:{color:10075112,size:1},background:{color:14346230,alpha:0.9},font:{name:"Tahoma",color:1393291,size:10,bold:true}}},extraStyle:null,seriesStyles:null,disableCaching:Ext.isIE||Ext.isOpera,disableCacheParam:"_dc",initComponent:function(){Ext.chart.Chart.superclass.initComponent.call(this);if(!this.url){this.url=Ext.chart.Chart.CHART_URL}if(this.disableCaching){this.url=Ext.urlAppend(this.url,String.format("{0}={1}",this.disableCacheParam,new Date().getTime()))}this.addEvents("itemmouseover","itemmouseout","itemclick","itemdoubleclick","itemdragstart","itemdrag","itemdragend","beforerefresh","refresh");this.store=Ext.StoreMgr.lookup(this.store)},setStyle:function(d,c){this.swf.setStyle(d,Ext.encode(c))},setStyles:function(b){this.swf.setStyles(Ext.encode(b))},setSeriesStyles:function(c){this.seriesStyles=c;var d=[];Ext.each(c,function(a){d.push(Ext.encode(a))});this.swf.setSeriesStyles(d)},setCategoryNames:function(b){this.swf.setCategoryNames(b)},setLegendRenderer:function(g,d){var e=this;d=d||e;e.removeFnProxy(e.legendFnName);e.legendFnName=e.createFnProxy(function(a){return g.call(d,a)});e.swf.setLegendLabelFunction(e.legendFnName)},setTipRenderer:function(g,d){var e=this;d=d||e;e.removeFnProxy(e.tipFnName);e.tipFnName=e.createFnProxy(function(a,c,b){var k=e.store.getAt(c);return g.call(d,e,k,c,b)});e.swf.setDataTipFunction(e.tipFnName)},setSeries:function(b){this.series=b;this.refresh()},bindStore:function(d,c){if(!c&&this.store){if(d!==this.store&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("datachanged",this.refresh,this);this.store.un("add",this.delayRefresh,this);this.store.un("remove",this.delayRefresh,this);this.store.un("update",this.delayRefresh,this);this.store.un("clear",this.refresh,this)}}if(d){d=Ext.StoreMgr.lookup(d);d.on({scope:this,datachanged:this.refresh,add:this.delayRefresh,remove:this.delayRefresh,update:this.delayRefresh,clear:this.refresh})}this.store=d;if(d&&!c){this.refresh()}},onSwfReady:function(c){Ext.chart.Chart.superclass.onSwfReady.call(this,c);var d;this.swf.setType(this.type);if(this.chartStyle){this.setStyles(Ext.apply({},this.extraStyle,this.chartStyle))}if(this.categoryNames){this.setCategoryNames(this.categoryNames)}if(this.tipRenderer){d=this.getFunctionRef(this.tipRenderer);this.setTipRenderer(d.fn,d.scope)}if(this.legendRenderer){d=this.getFunctionRef(this.legendRenderer);this.setLegendRenderer(d.fn,d.scope)}if(!c){this.bindStore(this.store,true)}this.refresh.defer(10,this)},delayRefresh:function(){if(!this.refreshTask){this.refreshTask=new Ext.util.DelayedTask(this.refresh,this)}this.refreshTask.delay(this.refreshBuffer)},refresh:function(){if(this.fireEvent("beforerefresh",this)!==false){var p=false;var r=[],w=this.store.data.items;for(var t=0,q=w.length;t<q;t++){r[t]=w[t].data}var u=[];var v=0;var o=null;var s=0;if(this.series){v=this.series.length;for(s=0;s<v;s++){o=this.series[s];var x={};for(var y in o){if(y=="style"&&o.style!==null){x.style=Ext.encode(o.style);p=true}else{x[y]=o[y]}}u.push(x)}}if(v>0){for(s=0;s<v;s++){o=u[s];if(!o.type){o.type=this.type}o.dataProvider=r}}else{u.push({type:this.type,dataProvider:r})}this.swf.setDataProvider(u);if(this.seriesStyles){this.setSeriesStyles(this.seriesStyles)}this.fireEvent("refresh",this)}},createFnProxy:function(d){var c="extFnProxy"+(++Ext.chart.Chart.PROXY_FN_ID);Ext.chart.Chart.proxyFunction[c]=d;return"Ext.chart.Chart.proxyFunction."+c},removeFnProxy:function(b){if(!Ext.isEmpty(b)){b=b.replace("Ext.chart.Chart.proxyFunction.","");delete Ext.chart.Chart.proxyFunction[b]}},getFunctionRef:function(b){if(Ext.isFunction(b)){return{fn:b,scope:this}}else{return{fn:b.fn,scope:b.scope||this}}},onDestroy:function(){if(this.refreshTask&&this.refreshTask.cancel){this.refreshTask.cancel()}Ext.chart.Chart.superclass.onDestroy.call(this);this.bindStore(null);this.removeFnProxy(this.tipFnName);this.removeFnProxy(this.legendFnName)}});Ext.reg("chart",Ext.chart.Chart);Ext.chart.Chart.PROXY_FN_ID=0;Ext.chart.Chart.proxyFunction={};Ext.chart.Chart.CHART_URL="http://yui.yahooapis.com/2.8.2/build/charts/assets/charts.swf";Ext.chart.PieChart=Ext.extend(Ext.chart.Chart,{type:"pie",onSwfReady:function(b){Ext.chart.PieChart.superclass.onSwfReady.call(this,b);this.setDataField(this.dataField);this.setCategoryField(this.categoryField)},setDataField:function(b){this.dataField=b;this.swf.setDataField(b)},setCategoryField:function(b){this.categoryField=b;this.swf.setCategoryField(b)}});Ext.reg("piechart",Ext.chart.PieChart);Ext.chart.CartesianChart=Ext.extend(Ext.chart.Chart,{onSwfReady:function(b){Ext.chart.CartesianChart.superclass.onSwfReady.call(this,b);this.labelFn=[];if(this.xField){this.setXField(this.xField)}if(this.yField){this.setYField(this.yField)}if(this.xAxis){this.setXAxis(this.xAxis)}if(this.xAxes){this.setXAxes(this.xAxes)}if(this.yAxis){this.setYAxis(this.yAxis)}if(this.yAxes){this.setYAxes(this.yAxes)}if(Ext.isDefined(this.constrainViewport)){this.swf.setConstrainViewport(this.constrainViewport)}},setXField:function(b){this.xField=b;this.swf.setHorizontalField(b)},setYField:function(b){this.yField=b;this.swf.setVerticalField(b)},setXAxis:function(b){this.xAxis=this.createAxis("xAxis",b);this.swf.setHorizontalAxis(this.xAxis)},setXAxes:function(g){var d;for(var e=0;e<g.length;e++){d=this.createAxis("xAxis"+e,g[e]);this.swf.setHorizontalAxis(d)}},setYAxis:function(b){this.yAxis=this.createAxis("yAxis",b);this.swf.setVerticalAxis(this.yAxis)},setYAxes:function(g){var d;for(var e=0;e<g.length;e++){d=this.createAxis("yAxis"+e,g[e]);this.swf.setVerticalAxis(d)}},createAxis:function(g,l){var k=Ext.apply({},l),n,h;if(this[g]){h=this[g].labelFunction;this.removeFnProxy(h);this.labelFn.remove(h)}if(k.labelRenderer){n=this.getFunctionRef(k.labelRenderer);k.labelFunction=this.createFnProxy(function(a){return n.fn.call(n.scope,a)});delete k.labelRenderer;this.labelFn.push(k.labelFunction)}if(g.indexOf("xAxis")>-1&&k.position=="left"){k.position="bottom"}return k},onDestroy:function(){Ext.chart.CartesianChart.superclass.onDestroy.call(this);Ext.each(this.labelFn,function(b){this.removeFnProxy(b)},this)}});Ext.reg("cartesianchart",Ext.chart.CartesianChart);Ext.chart.LineChart=Ext.extend(Ext.chart.CartesianChart,{type:"line"});Ext.reg("linechart",Ext.chart.LineChart);Ext.chart.ColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"column"});Ext.reg("columnchart",Ext.chart.ColumnChart);Ext.chart.StackedColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackcolumn"});Ext.reg("stackedcolumnchart",Ext.chart.StackedColumnChart);Ext.chart.BarChart=Ext.extend(Ext.chart.CartesianChart,{type:"bar"});Ext.reg("barchart",Ext.chart.BarChart);Ext.chart.StackedBarChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackbar"});Ext.reg("stackedbarchart",Ext.chart.StackedBarChart);Ext.chart.Axis=function(b){Ext.apply(this,b)};Ext.chart.Axis.prototype={type:null,orientation:"horizontal",reverse:false,labelFunction:null,hideOverlappingLabels:true,labelSpacing:2};Ext.chart.NumericAxis=Ext.extend(Ext.chart.Axis,{type:"numeric",minimum:NaN,maximum:NaN,majorUnit:NaN,minorUnit:NaN,snapToUnits:true,alwaysShowZero:true,scale:"linear",roundMajorUnit:true,calculateByLabelSize:true,position:"left",adjustMaximumByMajorUnit:true,adjustMinimumByMajorUnit:true});Ext.chart.TimeAxis=Ext.extend(Ext.chart.Axis,{type:"time",minimum:null,maximum:null,majorUnit:NaN,majorTimeUnit:null,minorUnit:NaN,minorTimeUnit:null,snapToUnits:true,stackingEnabled:false,calculateByLabelSize:true});Ext.chart.CategoryAxis=Ext.extend(Ext.chart.Axis,{type:"category",categoryNames:null,calculateCategoryCount:false});Ext.chart.Series=function(b){Ext.apply(this,b)};Ext.chart.Series.prototype={type:null,displayName:null};Ext.chart.CartesianSeries=Ext.extend(Ext.chart.Series,{xField:null,yField:null,showInLegend:true,axis:"primary"});Ext.chart.ColumnSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"column"});Ext.chart.LineSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"line"});Ext.chart.BarSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"bar"});Ext.chart.PieSeries=Ext.extend(Ext.chart.Series,{type:"pie",dataField:null,categoryField:null});Ext.menu.Menu=Ext.extend(Ext.Container,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,enableScrolling:true,maxHeight:null,scrollIncrement:24,showSeparator:true,defaultOffsets:[0,0],plain:false,floating:true,zIndex:15000,hidden:true,layout:"menu",hideMode:"offsets",scrollerHeight:8,autoLayout:true,defaultType:"menuitem",bufferResize:false,initComponent:function(){if(Ext.isArray(this.initialConfig)){Ext.apply(this,{items:this.initialConfig})}this.addEvents("click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);if(this.floating){Ext.EventManager.onWindowResize(this.hide,this)}else{if(this.initialConfig.hidden!==false){this.hidden=false}this.internalDefaults={hideOnClick:false}}Ext.menu.Menu.superclass.initComponent.call(this);if(this.autoLayout){var b=this.doLayout.createDelegate(this,[]);this.on({add:b,remove:b})}},getLayoutTarget:function(){return this.ul},onRender:function(d,e){if(!d){d=Ext.getBody()}var g={id:this.getId(),cls:"x-menu "+((this.floating)?"x-menu-floating x-layer ":"")+(this.cls||"")+(this.plain?" x-menu-plain":"")+(this.showSeparator?"":" x-menu-nosep"),style:this.style,cn:[{tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"},{tag:"ul",cls:"x-menu-list"}]};if(this.floating){this.el=new Ext.Layer({shadow:this.shadow,dh:g,constrain:false,parentEl:d,zindex:this.zIndex})}else{this.el=d.createChild(g)}Ext.menu.Menu.superclass.onRender.call(this,d,e);if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}this.focusEl=this.el.child("a.x-menu-focus");this.ul=this.el.child("ul.x-menu-list");this.mon(this.ul,{scope:this,click:this.onClick,mouseover:this.onMouseOver,mouseout:this.onMouseOut});if(this.enableScrolling){this.mon(this.el,{scope:this,delegate:".x-menu-scroller",click:this.onScroll,mouseover:this.deactivateActive})}},findTargetItem:function(c){var d=c.getTarget(".x-menu-list-item",this.ul,true);if(d&&d.menuItemId){return this.items.get(d.menuItemId)}},onClick:function(c){var d=this.findTargetItem(c);if(d){if(d.isFormField){this.setActiveItem(d)}else{if(d instanceof Ext.menu.BaseItem){if(d.menu&&this.ignoreParentClicks){d.expandMenu();c.preventDefault()}else{if(d.onClick){d.onClick(c);this.fireEvent("click",this,d,c)}}}}}},setActiveItem:function(d,c){if(d!=this.activeItem){this.deactivateActive();if((this.activeItem=d).isFormField){d.focus()}else{d.activate(c)}}else{if(c){d.expandMenu()}}},deactivateActive:function(){var a=this.activeItem;if(a){if(a.isFormField){if(a.collapse){a.collapse()}}else{a.deactivate()}delete this.activeItem}},tryActivate:function(l,n){var h=this.items;for(var p=l,k=h.length;p>=0&&p<k;p+=n){var o=h.get(p);if(o.isVisible()&&!o.disabled&&(o.canActivate||o.isFormField)){this.setActiveItem(o,false);return o}}return false},onMouseOver:function(c){var d=this.findTargetItem(c);if(d){if(d.canActivate&&!d.disabled){this.setActiveItem(d,true)}}this.over=true;this.fireEvent("mouseover",this,c,d)},onMouseOut:function(c){var d=this.findTargetItem(c);if(d){if(d==this.activeItem&&d.shouldDeactivate&&d.shouldDeactivate(c)){this.activeItem.deactivate();delete this.activeItem}}this.over=false;this.fireEvent("mouseout",this,c,d)},onScroll:function(h,e){if(h){h.stopEvent()}var g=this.ul.dom,k=Ext.fly(e).is(".x-menu-scroller-top");g.scrollTop+=this.scrollIncrement*(k?-1:1);if(k?g.scrollTop<=0:g.scrollTop+this.activeMax>=g.scrollHeight){this.onScrollerOut(null,e)}},onScrollerIn:function(h,e){var g=this.ul.dom,k=Ext.fly(e).is(".x-menu-scroller-top");if(k?g.scrollTop>0:g.scrollTop+this.activeMax<g.scrollHeight){Ext.fly(e).addClass(["x-menu-item-active","x-menu-scroller-active"])}},onScrollerOut:function(c,d){Ext.fly(d).removeClass(["x-menu-item-active","x-menu-scroller-active"])},show:function(d,g,e){if(this.floating){this.parentMenu=e;if(!this.el){this.render();this.doLayout(false,true)}this.showAt(this.el.getAlignToXY(d,g||this.defaultAlign,this.defaultOffsets),e)}else{Ext.menu.Menu.superclass.show.call(this)}},showAt:function(c,d){if(this.fireEvent("beforeshow",this)!==false){this.parentMenu=d;if(!this.el){this.render()}if(this.enableScrolling){this.el.setXY(c);c[1]=this.constrainScroll(c[1]);c=[this.el.adjustForConstraints(c)[0],c[1]]}else{c=this.el.adjustForConstraints(c)}this.el.setXY(c);this.el.show();Ext.menu.Menu.superclass.onShow.call(this);if(Ext.isIE){this.fireEvent("autosize",this);if(!Ext.isIE8){this.el.repaint()}}this.hidden=false;this.focus();this.fireEvent("show",this)}},constrainScroll:function(n){var k,r=this.ul.setHeight("auto").getHeight(),l=n,o,q,p,s;if(this.floating){q=Ext.fly(this.el.dom.parentNode);p=q.getScroll().top;s=q.getViewSize().height;o=n-p;k=this.maxHeight?this.maxHeight:s-o;if(r>s){k=s;l=n-o}else{if(k<r){l=n-(r-k);k=r}}}else{k=this.getHeight()}if(this.maxHeight){k=Math.min(this.maxHeight,k)}if(r>k&&k>0){this.activeMax=k-this.scrollerHeight*2-this.el.getFrameWidth("tb")-Ext.num(this.el.shadowOffset,0);this.ul.setHeight(this.activeMax);this.createScrollers();this.el.select(".x-menu-scroller").setDisplayed("")}else{this.ul.setHeight(r);this.el.select(".x-menu-scroller").setDisplayed("none")}this.ul.dom.scrollTop=0;return l},createScrollers:function(){if(!this.scroller){this.scroller={pos:0,top:this.el.insertFirst({tag:"div",cls:"x-menu-scroller x-menu-scroller-top",html:"&#160;"}),bottom:this.el.createChild({tag:"div",cls:"x-menu-scroller x-menu-scroller-bottom",html:"&#160;"})};this.scroller.top.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.topRepeater=new Ext.util.ClickRepeater(this.scroller.top,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.top],false)}});this.scroller.bottom.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.bottomRepeater=new Ext.util.ClickRepeater(this.scroller.bottom,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.bottom],false)}})}},onLayout:function(){if(this.isVisible()){if(this.enableScrolling){this.constrainScroll(this.el.getTop())}if(this.floating){this.el.sync()}}},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(b){if(!this.isDestroyed){this.deepHide=b;Ext.menu.Menu.superclass.hide.call(this);delete this.deepHide}},onHide:function(){Ext.menu.Menu.superclass.onHide.call(this);this.deactivateActive();if(this.el&&this.floating){this.el.hide()}var b=this.parentMenu;if(this.deepHide===true&&b){if(b.floating){b.hide(true)}else{b.deactivateActive()}}},lookupComponent:function(b){if(Ext.isString(b)){b=(b=="separator"||b=="-")?new Ext.menu.Separator():new Ext.menu.TextItem(b);this.applyDefaults(b)}else{if(Ext.isObject(b)){b=this.getMenuItem(b)}else{if(b.tagName||b.el){b=new Ext.BoxComponent({el:b})}}}return b},applyDefaults:function(c){if(!Ext.isString(c)){c=Ext.menu.Menu.superclass.applyDefaults.call(this,c);var d=this.internalDefaults;if(d){if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}}return c},getMenuItem:function(b){if(!b.isXType){if(!b.xtype&&Ext.isBoolean(b.checked)){return new Ext.menu.CheckItem(b)}return Ext.create(b,this.defaultType)}return b},addSeparator:function(){return this.add(new Ext.menu.Separator())},addElement:function(b){return this.add(new Ext.menu.BaseItem({el:b}))},addItem:function(b){return this.add(b)},addMenuItem:function(b){return this.add(this.getMenuItem(b))},addText:function(b){return this.add(new Ext.menu.TextItem(b))},onDestroy:function(){Ext.EventManager.removeResizeListener(this.hide,this);var d=this.parentMenu;if(d&&d.activeChild==this){delete d.activeChild}delete this.parentMenu;Ext.menu.Menu.superclass.onDestroy.call(this);Ext.menu.MenuMgr.unregister(this);if(this.keyNav){this.keyNav.disable()}var c=this.scroller;if(c){Ext.destroy(c.topRepeater,c.bottomRepeater,c.top,c.bottom)}Ext.destroy(this.el,this.focusEl,this.ul)}});Ext.reg("menu",Ext.menu.Menu);Ext.menu.MenuNav=Ext.extend(Ext.KeyNav,function(){function d(a,b){if(!b.tryActivate(b.items.indexOf(b.activeItem)-1,-1)){b.tryActivate(b.items.length-1,-1)}}function c(a,b){if(!b.tryActivate(b.items.indexOf(b.activeItem)+1,1)){b.tryActivate(0,1)}}return{constructor:function(a){Ext.menu.MenuNav.superclass.constructor.call(this,a.el);this.scope=this.menu=a},doRelay:function(a,b){var e=a.getKey();if(this.menu.activeItem&&this.menu.activeItem.isFormField&&e!=a.TAB){return false}if(!this.menu.activeItem&&a.isNavKeyPress()&&e!=a.SPACE&&e!=a.RETURN){this.menu.tryActivate(0,1);return false}return b.call(this.scope||this,a,this.menu)},tab:function(a,b){a.stopEvent();if(a.shiftKey){d(a,b)}else{c(a,b)}},up:d,down:c,right:function(a,b){if(b.activeItem){b.activeItem.expandMenu(true)}},left:function(a,b){b.hide();if(b.parentMenu&&b.parentMenu.activeItem){b.parentMenu.activeItem.activate()}},enter:function(a,b){if(b.activeItem){a.stopPropagation();b.activeItem.onClick(a);b.fireEvent("click",this,b.activeItem);return true}}}}());Ext.menu.MenuMgr=function(){var u,w,x={},z=false,q=new Date();function o(){u={};w=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(w.length>0){s()}})}function s(){if(w&&w.length>0){var a=w.clone();a.each(function(b){b.hide()});return true}return false}function v(a){w.remove(a);if(w.length<1){Ext.getDoc().un("mousedown",p);z=false}}function r(b){var a=w.last();q=new Date();w.add(b);if(!z){Ext.getDoc().on("mousedown",p);z=true}if(b.parentMenu){b.getEl().setZIndex(parseInt(b.parentMenu.getEl().getStyle("z-index"),10)+3);b.parentMenu.activeChild=b}else{if(a&&!a.isDestroyed&&a.isVisible()){b.getEl().setZIndex(parseInt(a.getEl().getStyle("z-index"),10)+3)}}}function y(a){if(a.activeChild){a.activeChild.hide()}if(a.autoHideTimer){clearTimeout(a.autoHideTimer);delete a.autoHideTimer}}function t(b){var a=b.parentMenu;if(!a&&!b.allowOtherMenus){s()}else{if(a&&a.activeChild){a.activeChild.hide()}}}function p(a){if(q.getElapsed()>50&&w.length>0&&!a.getTarget(".x-menu")){s()}}return{hideAll:function(){return s()},register:function(a){if(!u){o()}u[a.id]=a;a.on({beforehide:y,hide:v,beforeshow:t,show:r})},get:function(a){if(typeof a=="string"){if(!u){return null}return u[a]}else{if(a.events){return a}else{if(typeof a.length=="number"){return new Ext.menu.Menu({items:a})}else{return Ext.create(a,"menu")}}}},unregister:function(a){delete u[a.id];a.un("beforehide",y);a.un("hide",v);a.un("beforeshow",t);a.un("show",r)},registerCheckable:function(b){var a=b.group;if(a){if(!x[a]){x[a]=[]}x[a].push(b)}},unregisterCheckable:function(b){var a=b.group;if(a){x[a].remove(b)}},onCheckChange:function(d,c){if(d.group&&c){var a=x[d.group],e=0,g=a.length,b;for(;e<g;e++){b=a[e];if(b!=d){b.setChecked(false)}}}},getCheckedItem:function(b){var a=x[b];if(a){for(var c=0,d=a.length;c<d;c++){if(a[c].checked){return a[c]}}}return null},setCheckedItem:function(c,a){var b=x[c];if(b){for(var d=0,e=b.length;d<e;d++){if(b[d].id==a){b[d].setChecked(true)}}}return null}}}();Ext.menu.BaseItem=Ext.extend(Ext.Component,{canActivate:false,activeClass:"x-menu-item-active",hideOnClick:true,clickHideDelay:1,ctype:"Ext.menu.BaseItem",actionMode:"container",initComponent:function(){Ext.menu.BaseItem.superclass.initComponent.call(this);this.addEvents("click","activate","deactivate");if(this.handler){this.on("click",this.handler,this.scope)}},onRender:function(c,d){Ext.menu.BaseItem.superclass.onRender.apply(this,arguments);if(this.ownerCt&&this.ownerCt instanceof Ext.menu.Menu){this.parentMenu=this.ownerCt}else{this.container.addClass("x-menu-list-item");this.mon(this.el,{scope:this,click:this.onClick,mouseenter:this.activate,mouseleave:this.deactivate})}},setHandler:function(c,d){if(this.handler){this.un("click",this.handler,this.scope)}this.on("click",this.handler=c,this.scope=d)},onClick:function(b){if(!this.disabled&&this.fireEvent("click",this,b)!==false&&(this.parentMenu&&this.parentMenu.fireEvent("itemclick",this,b)!==false)){this.handleClick(b)}else{b.stopEvent()}},activate:function(){if(this.disabled){return false}var b=this.container;b.addClass(this.activeClass);this.region=b.getRegion().adjust(2,2,-2,-2);this.fireEvent("activate",this);return true},deactivate:function(){this.container.removeClass(this.activeClass);this.fireEvent("deactivate",this)},shouldDeactivate:function(b){return !this.region||!this.region.contains(b.getPoint())},handleClick:function(c){var d=this.parentMenu;if(this.hideOnClick){if(d.floating){d.hide.defer(this.clickHideDelay,d,[true])}else{d.deactivateActive()}}},expandMenu:Ext.emptyFn,hideMenu:Ext.emptyFn});Ext.reg("menubaseitem",Ext.menu.BaseItem);Ext.menu.TextItem=Ext.extend(Ext.menu.BaseItem,{hideOnClick:false,itemCls:"x-menu-text",constructor:function(b){if(typeof b=="string"){b={text:b}}Ext.menu.TextItem.superclass.constructor.call(this,b)},onRender:function(){var b=document.createElement("span");b.className=this.itemCls;b.innerHTML=this.text;this.el=b;Ext.menu.TextItem.superclass.onRender.apply(this,arguments)}});Ext.reg("menutextitem",Ext.menu.TextItem);Ext.menu.Separator=Ext.extend(Ext.menu.BaseItem,{itemCls:"x-menu-sep",hideOnClick:false,activeClass:"",onRender:function(d){var c=document.createElement("span");c.className=this.itemCls;c.innerHTML="&#160;";this.el=c;d.addClass("x-menu-sep-li");Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.reg("menuseparator",Ext.menu.Separator);Ext.menu.Item=Ext.extend(Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,altText:"",hideDelay:200,ctype:"Ext.menu.Item",initComponent:function(){Ext.menu.Item.superclass.initComponent.call(this);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu);this.menu.ownerCt=this}},onRender:function(e,a){if(!this.itemTpl){this.itemTpl=Ext.menu.Item.prototype.itemTpl=new Ext.XTemplate('<a id="{id}" class="{cls}" hidefocus="true" unselectable="on" href="{href}"','<tpl if="hrefTarget">',' target="{hrefTarget}"',"</tpl>",">",'<img alt="{altText}" src="{icon}" class="x-menu-item-icon {iconCls}"/>','<span class="x-menu-item-text">{text}</span>',"</a>")}var g=this.getTemplateArgs();this.el=a?this.itemTpl.insertBefore(a,g,true):this.itemTpl.append(e,g,true);this.iconEl=this.el.child("img.x-menu-item-icon");this.textEl=this.el.child(".x-menu-item-text");if(!this.href){this.mon(this.el,"click",Ext.emptyFn,null,{preventDefault:true})}Ext.menu.Item.superclass.onRender.call(this,e,a)},getTemplateArgs:function(){return{id:this.id,cls:this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:""),href:this.href||"#",hrefTarget:this.hrefTarget,icon:this.icon||Ext.BLANK_IMAGE_URL,iconCls:this.iconCls||"",text:this.itemText||this.text||"&#160;",altText:this.altText||""}},setText:function(b){this.text=b||"&#160;";if(this.rendered){this.textEl.update(this.text);this.parentMenu.layout.doAutoSize()}},setIconClass:function(d){var c=this.iconCls;this.iconCls=d;if(this.rendered){this.iconEl.replaceClass(c,this.iconCls)}},beforeDestroy:function(){if(this.menu){delete this.menu.ownerCt;this.menu.destroy()}Ext.menu.Item.superclass.beforeDestroy.call(this)},handleClick:function(b){if(!this.href){b.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(b){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(b){this.expandMenu()}}return true},shouldDeactivate:function(b){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,b)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(b.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(b){if(!this.disabled&&this.menu){clearTimeout(this.hideTimer);delete this.hideTimer;if(!this.menu.isVisible()&&!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[b])}else{if(this.menu.isVisible()&&b){this.menu.tryActivate(0,1)}}}},deferExpand:function(b){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);if(b){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&&this.menu&&this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)}},deferHide:function(){delete this.hideTimer;if(this.menu.over){this.parentMenu.setActiveItem(this,false)}else{this.menu.hide()}}});Ext.reg("menuitem",Ext.menu.Item);Ext.menu.CheckItem=Ext.extend(Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",initComponent:function(){Ext.menu.CheckItem.superclass.initComponent.call(this);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)},onRender:function(b){Ext.menu.CheckItem.superclass.onRender.apply(this,arguments);if(this.group){this.el.addClass(this.groupClass)}if(this.checked){this.checked=false;this.setChecked(true,true)}},destroy:function(){Ext.menu.MenuMgr.unregisterCheckable(this);Ext.menu.CheckItem.superclass.destroy.apply(this,arguments)},setChecked:function(d,e){var g=e===true;if(this.checked!=d&&(g||this.fireEvent("beforecheckchange",this,d)!==false)){Ext.menu.MenuMgr.onCheckChange(this,d);if(this.container){this.container[d?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=d;if(!g){this.fireEvent("checkchange",this,d)}}},handleClick:function(b){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}});Ext.reg("menucheckitem",Ext.menu.CheckItem);Ext.menu.DateMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,pickerId:null,cls:"x-date-menu",initComponent:function(){this.on("beforeshow",this.onBeforeShow,this);if(this.strict=(Ext.isIE7&&Ext.isStrict)){this.on("show",this.onShow,this,{single:true,delay:20})}Ext.apply(this,{plain:true,showSeparator:false,items:this.picker=new Ext.DatePicker(Ext.applyIf({internalRender:this.strict||!Ext.isIE,ctCls:"x-menu-date-item",id:this.pickerId},this.initialConfig))});this.picker.purgeListeners();Ext.menu.DateMenu.superclass.initComponent.call(this);this.relayEvents(this.picker,["select"]);this.on("show",this.picker.focus,this.picker);this.on("select",this.menuHide,this);if(this.handler){this.on("select",this.handler,this.scope||this)}},menuHide:function(){if(this.hideOnClick){this.hide(true)}},onBeforeShow:function(){if(this.picker){this.picker.hideMonthPicker(true)}},onShow:function(){var b=this.picker.getEl();b.setWidth(b.getWidth())}});Ext.reg("datemenu",Ext.menu.DateMenu);Ext.menu.ColorMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,cls:"x-color-menu",paletteId:null,initComponent:function(){Ext.apply(this,{plain:true,showSeparator:false,items:this.palette=new Ext.ColorPalette(Ext.applyIf({id:this.paletteId},this.initialConfig))});this.palette.purgeListeners();Ext.menu.ColorMenu.superclass.initComponent.call(this);this.relayEvents(this.palette,["select"]);this.on("select",this.menuHide,this);if(this.handler){this.on("select",this.handler,this.scope||this)}},menuHide:function(){if(this.hideOnClick){this.hide(true)}}});Ext.reg("colormenu",Ext.menu.ColorMenu);Ext.form.Field=Ext.extend(Ext.BoxComponent,{invalidClass:"x-form-invalid",invalidText:"The value in this field is invalid",focusClass:"x-form-focus",validationEvent:"keyup",validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:"input",type:"text",size:"20",autocomplete:"off"},fieldClass:"x-form-field",msgTarget:"qtip",msgFx:"normal",readOnly:false,disabled:false,submitValue:true,isFormField:true,msgDisplay:"",hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:this.name||this.id||""},onRender:function(k,g){if(!this.el){var e=this.getAutoCreate();if(!e.name){e.name=this.name||this.id}if(this.inputType){e.type=this.inputType}this.autoEl=e}Ext.form.Field.superclass.onRender.call(this,k,g);if(this.submitValue===false){this.el.dom.removeAttribute("name")}var h=this.el.dom.type;if(h){if(h=="password"){h="text"}this.el.addClass("x-form-"+h)}if(this.readOnly){this.setReadOnly(true)}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)}this.el.addClass([this.fieldClass,this.cls])},getItemCt:function(){return this.itemCt},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(!Ext.isEmpty(this.el.dom.value)&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)}}this.originalValue=this.getValue()},isDirty:function(){if(this.disabled||!this.rendered){return false}return String(this.getValue())!==String(this.originalValue)},setReadOnly:function(b){if(this.rendered){this.el.dom.readOnly=b}this.readOnly=b},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(b){if(b.isSpecialKey()){this.fireEvent("specialkey",this,b)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.mon(this.el,Ext.EventManager.getKeyEvent(),this.fireKey,this);this.mon(this.el,"focus",this.onFocus,this);this.mon(this.el,"blur",this.onBlur,this,this.inEditor?{buffer:10}:null)},preFocus:Ext.emptyFn,onFocus:function(){this.preFocus();if(this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&&(this.validateOnBlur||this.validationEvent=="blur")){this.validate()}var b=this.getValue();if(String(b)!==String(this.startValue)){this.fireEvent("change",this,b,this.startValue)}this.fireEvent("blur",this);this.postBlur()},postBlur:Ext.emptyFn,isValid:function(e){if(this.disabled){return true}var g=this.preventMark;this.preventMark=e===true;var d=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=g;return d},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(b){return b},validateValue:function(c){var d=this.getErrors(c)[0];if(d==undefined){return true}else{this.markInvalid(d);return false}},getErrors:function(){return[]},getActiveError:function(){return this.activeError||""},markInvalid:function(g){if(this.rendered&&!this.preventMark){g=g||this.invalidText;var e=this.getMessageHandler();if(e){e.mark(this,g)}else{if(this.msgTarget){this.el.addClass(this.invalidClass);var d=Ext.getDom(this.msgTarget);if(d){d.innerHTML=g;d.style.display=this.msgDisplay}}}}this.setActiveError(g)},clearInvalid:function(){if(this.rendered&&!this.preventMark){this.el.removeClass(this.invalidClass);var d=this.getMessageHandler();if(d){d.clear(this)}else{if(this.msgTarget){this.el.removeClass(this.invalidClass);var c=Ext.getDom(this.msgTarget);if(c){c.innerHTML="";c.style.display="none"}}}}this.unsetActiveError()},setActiveError:function(c,d){this.activeError=c;if(d!==true){this.fireEvent("invalid",this,c)}},unsetActiveError:function(b){delete this.activeError;if(b!==true){this.fireEvent("valid",this)}},getMessageHandler:function(){return Ext.form.MessageTargets[this.msgTarget]},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorEl:function(){this.errorEl.setWidth(this.getErrorCt().getWidth(true)-20)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},getRawValue:function(){var b=this.rendered?this.el.getValue():Ext.value(this.value,"");if(b===this.emptyText){b=""}return b},getValue:function(){if(!this.rendered){return this.value}var b=this.el.getValue();if(b===this.emptyText||b===undefined){b=""}return b},setRawValue:function(b){return this.rendered?(this.el.dom.value=(Ext.isEmpty(b)?"":b)):""},setValue:function(b){this.value=b;if(this.rendered){this.el.dom.value=(Ext.isEmpty(b)?"":b);this.validate()}return this},append:function(b){this.setValue([this.getValue(),b].join(""))}});Ext.form.MessageTargets={qtip:{mark:function(d,c){d.el.addClass(d.invalidClass);d.el.dom.qtip=c;d.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(b){b.el.removeClass(b.invalidClass);b.el.dom.qtip=""}},title:{mark:function(d,c){d.el.addClass(d.invalidClass);d.el.dom.title=c},clear:function(b){b.el.dom.title=""}},under:{mark:function(d,g){d.el.addClass(d.invalidClass);if(!d.errorEl){var e=d.getErrorCt();if(!e){d.el.dom.title=g;return}d.errorEl=e.createChild({cls:"x-form-invalid-msg"});d.on("resize",d.alignErrorEl,d);d.on("destroy",function(){Ext.destroy(this.errorEl)},d)}d.alignErrorEl();d.errorEl.update(g);Ext.form.Field.msgFx[d.msgFx].show(d.errorEl,d)},clear:function(b){b.el.removeClass(b.invalidClass);if(b.errorEl){Ext.form.Field.msgFx[b.msgFx].hide(b.errorEl,b)}else{b.el.dom.title=""}}},side:{mark:function(d,g){d.el.addClass(d.invalidClass);if(!d.errorIcon){var e=d.getErrorCt();if(!e){d.el.dom.title=g;return}d.errorIcon=e.createChild({cls:"x-form-invalid-icon"});if(d.ownerCt){d.ownerCt.on("afterlayout",d.alignErrorIcon,d);d.ownerCt.on("expand",d.alignErrorIcon,d)}d.on("resize",d.alignErrorIcon,d);d.on("destroy",function(){Ext.destroy(this.errorIcon)},d)}d.alignErrorIcon();d.errorIcon.dom.qtip=g;d.errorIcon.dom.qclass="x-form-invalid-tip";d.errorIcon.show()},clear:function(b){b.el.removeClass(b.invalidClass);if(b.errorIcon){b.errorIcon.dom.qtip="";b.errorIcon.hide()}else{b.el.dom.title=""}}}};Ext.form.Field.msgFx={normal:{show:function(d,c){d.setDisplayed("block")},hide:function(d,c){d.setDisplayed(false).update("")}},slide:{show:function(d,c){d.slideIn("t",{stopFx:true})},hide:function(d,c){d.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(d,c){d.fixDisplay();d.alignTo(c.el,"tl-tr");d.slideIn("l",{stopFx:true})},hide:function(d,c){d.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",Ext.form.Field);Ext.form.TextField=Ext.extend(Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.mon(this.el,"keyup",this.filterValidation,this)}else{if(this.validationEvent!==false&&this.validationEvent!="blur"){this.mon(this.el,this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.mon(this.el,"mousedown",this.onMouseDown,this);if(this.emptyText){this.applyEmptyText()}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.mon(this.el,"keypress",this.filterKeys,this)}if(this.grow){this.mon(this.el,"keyup",this.onKeyUpBuffered,this,{buffer:50});this.mon(this.el,"click",this.autoSize,this)}if(this.enableKeyEvents){this.mon(this.el,{scope:this,keyup:this.onKeyUp,keydown:this.onKeyDown,keypress:this.onKeyPress})}},onMouseDown:function(b){if(!this.hasFocus){this.mon(this.el,"mouseup",Ext.emptyFn,this,{single:true,preventDefault:true})}},processValue:function(d){if(this.stripCharsRe){var c=d.replace(this.stripCharsRe,"");if(c!==d){this.setRawValue(c);return c}}return d},filterValidation:function(b){if(!b.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable="on"}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=""}},onKeyUpBuffered:function(b){if(this.doAutoSize(b)){this.autoSize()}},doAutoSize:function(b){return !b.isNavKeyPress()},onKeyUp:function(b){this.fireEvent("keyup",this,b)},onKeyDown:function(b){this.fireEvent("keydown",this,b)},onKeyPress:function(b){this.fireEvent("keypress",this,b)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){var d=this.el,c;if(this.emptyText){if(d.dom.value==this.emptyText){this.setRawValue("");c=true}d.removeClass(this.emptyClass)}if(this.selectOnFocus||c){d.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(d){if(d.ctrlKey){return}var e=d.getKey();if(Ext.isGecko&&(d.isNavKeyPress()||e==d.BACKSPACE||(e==d.DELETE&&d.button==-1))){return}var g=String.fromCharCode(d.getCharCode());if(!Ext.isGecko&&d.isSpecialKey()&&!g){return}if(!this.maskRe.test(g)){d.stopEvent()}},setValue:function(b){if(this.emptyText&&this.el&&!Ext.isEmpty(b)){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize();return this},getErrors:function(g){var h=Ext.form.TextField.superclass.getErrors.apply(this,arguments);g=Ext.isDefined(g)?g:this.processValue(this.getRawValue());if(Ext.isFunction(this.validator)){var k=this.validator(g);if(k!==true){h.push(k)}}if(g.length<1||g===this.emptyText){if(this.allowBlank){return h}else{h.push(this.blankText)}}if(!this.allowBlank&&(g.length<1||g===this.emptyText)){h.push(this.blankText)}if(g.length<this.minLength){h.push(String.format(this.minLengthText,this.minLength))}if(g.length>this.maxLength){h.push(String.format(this.maxLengthText,this.maxLength))}if(this.vtype){var e=Ext.form.VTypes;if(!e[this.vtype](g,this)){h.push(this.vtypeText||e[this.vtype+"Text"])}}if(this.regex&&!this.regex.test(g)){h.push(this.regexText)}return h},selectText:function(l,k){var p=this.getRawValue();var o=false;if(p.length>0){l=l===undefined?0:l;k=k===undefined?p.length:k;var n=this.el.dom;if(n.setSelectionRange){n.setSelectionRange(l,k)}else{if(n.createTextRange){var d=n.createTextRange();d.moveStart("character",l);d.moveEnd("character",k-p.length);d.select()}}o=Ext.isGecko||Ext.isOpera}else{o=true}if(o){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var k=this.el;var d=k.dom.value;var h=document.createElement("div");h.appendChild(document.createTextNode(d));d=h.innerHTML;Ext.removeNode(h);h=null;d+="&#160;";var g=Math.min(this.growMax,Math.max(this.metrics.getWidth(d)+10,this.growMin));this.el.setWidth(g);this.fireEvent("autosize",this,g)},onDestroy:function(){if(this.validationTask){this.validationTask.cancel();this.validationTask=null}Ext.form.TextField.superclass.onDestroy.call(this)}});Ext.reg("textfield",Ext.form.TextField);Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,editable:true,readOnly:false,wrapFocusClass:"x-trigger-wrap-focus",autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,actionMode:"wrap",defaultTriggerWidth:17,onResize:function(e,g){Ext.form.TriggerField.superclass.onResize.call(this,e,g);var d=this.getTriggerWidth();if(Ext.isNumber(e)){this.el.setWidth(e-d)}this.wrap.setWidth(this.el.getWidth()+d)},getTriggerWidth:function(){var b=this.trigger.getWidth();if(!this.hideTrigger&&!this.readOnly&&b===0){b=this.defaultTriggerWidth}return b},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}},onRender:function(c,d){this.doc=Ext.isIE?Ext.getBody():Ext.getDoc();Ext.form.TriggerField.superclass.onRender.call(this,c,d);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-field-trigger-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.triggerClass});this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}this.resizeEl=this.positionEl=this.wrap},getWidth:function(){return(this.el.getWidth()+this.trigger.getWidth())},updateEditState:function(){if(this.rendered){if(this.readOnly){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this);this.trigger.setDisplayed(false)}else{if(!this.editable){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mon(this.el,"click",this.onTriggerClick,this)}else{this.el.dom.readOnly=false;this.el.removeClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this)}this.trigger.setDisplayed(!this.hideTrigger)}this.onResize(this.width||this.wrap.getWidth())}},setHideTrigger:function(b){if(b!=this.hideTrigger){this.hideTrigger=b;this.updateEditState()}},setEditable:function(b){if(b!=this.editable){this.editable=b;this.updateEditState()}},setReadOnly:function(b){if(b!=this.readOnly){this.readOnly=b;this.updateEditState()}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);this.updateEditState()},initTrigger:function(){this.mon(this.trigger,"click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){Ext.destroy(this.trigger,this.wrap);if(this.mimicing){this.doc.un("mousedown",this.mimicBlur,this)}delete this.doc;Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass(this.wrapFocusClass);this.mimicing=true;this.doc.on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.on("specialkey",this.checkTab,this)}}},checkTab:function(d,c){if(c.getKey()==c.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(b){if(!this.isDestroyed&&!this.wrap.contains(b.target)&&this.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;this.doc.un("mousedown",this.mimicBlur,this);if(this.monitorTab&&this.el){this.un("specialkey",this.checkTab,this)}Ext.form.TriggerField.superclass.onBlur.call(this);if(this.wrap){this.wrap.removeClass(this.wrapFocusClass)}},beforeBlur:Ext.emptyFn,validateBlur:function(b){return true},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(b){return this.triggers[b]},afterRender:function(){Ext.form.TwinTriggerField.superclass.afterRender.call(this);var g=this.triggers,d=0,e=g.length;for(;d<e;++d){if(this["hideTrigger"+(d+1)]){g[d].hide()}}},initTrigger:function(){var d=this.trigger.select(".x-form-trigger",true),c=this;d.each(function(h,a,k){var b="Trigger"+(k+1);h.hide=function(){var e=c.wrap.getWidth();this.dom.style.display="none";c.el.setWidth(e-c.trigger.getWidth());c["hidden"+b]=true};h.show=function(){var e=c.wrap.getWidth();this.dom.style.display="";c.el.setWidth(e-c.trigger.getWidth());c["hidden"+b]=false};this.mon(h,"click",this["on"+b+"Click"],this,{preventDefault:true});h.addClassOnOver("x-form-trigger-over");h.addClassOnClick("x-form-trigger-click")},this);this.triggers=d.elements},getTriggerWidth:function(){var b=0;Ext.each(this.triggers,function(h,k){var g="Trigger"+(k+1),a=h.getWidth();if(a===0&&!this["hidden"+g]){b+=this.defaultTriggerWidth}else{b+=a}},this);return b},onDestroy:function(){Ext.destroy(this.triggers);Ext.form.TwinTriggerField.superclass.onDestroy.call(this)},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg("trigger",Ext.form.TriggerField);Ext.form.TextArea=Ext.extend(Ext.form.TextField,{growMin:60,growMax:1000,growAppend:"&#160;\n&#160;",enterIsSpecial:false,preventScrollbars:false,onRender:function(c,d){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}}Ext.form.TextArea.superclass.onRender.call(this,c,d);if(this.grow){this.textSizeEl=Ext.DomHelper.append(document.body,{tag:"pre",cls:"x-form-grow-sizer"});if(this.preventScrollbars){this.el.setStyle("overflow","hidden")}this.el.setHeight(this.growMin)}},onDestroy:function(){Ext.removeNode(this.textSizeEl);Ext.form.TextArea.superclass.onDestroy.call(this)},fireKey:function(b){if(b.isSpecialKey()&&(this.enterIsSpecial||(b.getKey()!=b.ENTER||b.hasModifier()))){this.fireEvent("specialkey",this,b)}},doAutoSize:function(b){return !b.isNavKeyPress()||b.getKey()==b.ENTER},filterValidation:function(b){if(!b.isNavKeyPress()||(!this.enterIsSpecial&&b.keyCode==b.ENTER)){this.validationTask.delay(this.validationDelay)}},autoSize:function(){if(!this.grow||!this.textSizeEl){return}var k=this.el,g=Ext.util.Format.htmlEncode(k.dom.value),h=this.textSizeEl,e;Ext.fly(h).setWidth(this.el.getWidth());if(g.length<1){g="&#160;&#160;"}else{g+=this.growAppend;if(Ext.isIE){g=g.replace(/\n/g,"&#160;<br />")}}h.innerHTML=g;e=Math.min(this.growMax,Math.max(h.offsetHeight,this.growMin));if(e!=this.lastHeight){this.lastHeight=e;this.el.setHeight(e);this.fireEvent("autosize",this,e)}}});Ext.reg("textarea",Ext.form.TextArea);Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:"x-form-field x-form-num-field",allowDecimals:true,decimalSeparator:".",decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",baseChars:"0123456789",autoStripChars:false,initEvents:function(){var b=this.baseChars+"";if(this.allowDecimals){b+=this.decimalSeparator}if(this.allowNegative){b+="-"}b=Ext.escapeRe(b);this.maskRe=new RegExp("["+b+"]");if(this.autoStripChars){this.stripCharsRe=new RegExp("[^"+b+"]","gi")}Ext.form.NumberField.superclass.initEvents.call(this)},getErrors:function(d){var g=Ext.form.NumberField.superclass.getErrors.apply(this,arguments);d=Ext.isDefined(d)?d:this.processValue(this.getRawValue());if(d.length<1){return g}d=String(d).replace(this.decimalSeparator,".");if(isNaN(d)){g.push(String.format(this.nanText,d))}var e=this.parseValue(d);if(e<this.minValue){g.push(String.format(this.minText,this.minValue))}if(e>this.maxValue){g.push(String.format(this.maxText,this.maxValue))}return g},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(b){b=this.fixPrecision(b);b=Ext.isNumber(b)?b:parseFloat(String(b).replace(this.decimalSeparator,"."));b=isNaN(b)?"":String(b).replace(".",this.decimalSeparator);return Ext.form.NumberField.superclass.setValue.call(this,b)},setMinValue:function(b){this.minValue=Ext.num(b,Number.NEGATIVE_INFINITY)},setMaxValue:function(b){this.maxValue=Ext.num(b,Number.MAX_VALUE)},parseValue:function(b){b=parseFloat(String(b).replace(this.decimalSeparator,"."));return isNaN(b)?"":b},fixPrecision:function(c){var d=isNaN(c);if(!this.allowDecimals||this.decimalPrecision==-1||d||!c){return d?"":c}return parseFloat(parseFloat(c).toFixed(this.decimalPrecision))},beforeBlur:function(){var b=this.parseValue(this.getRawValue());if(!Ext.isEmpty(b)){this.setValue(b)}}});Ext.reg("numberfield",Ext.form.NumberField);Ext.form.DateField=Ext.extend(Ext.form.TriggerField,{format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,startDay:0,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initTime:"12",initTimeFormat:"H",safeParse:function(d,g){if(/[gGhH]/.test(g.replace(/(\\.)/g,""))){return Date.parseDate(d,g)}else{var e=Date.parseDate(d+" "+this.initTime,g+" "+this.initTimeFormat);if(e){return e.clearTime()}}},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(Ext.isString(this.minValue)){this.minValue=this.parseDate(this.minValue)}if(Ext.isString(this.maxValue)){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initEvents:function(){Ext.form.DateField.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{down:function(b){this.onTriggerClick()},scope:this,forceKeyDown:true})},initDisabledDays:function(){if(this.disabledDates){var d=this.disabledDates,e=d.length-1,g="(?:";Ext.each(d,function(a,b){g+=Ext.isDate(a)?"^"+Ext.escapeRe(a.dateFormat(this.format))+"$":d[b];if(b!=e){g+="|"}},this);this.disabledDatesRE=new RegExp(g+")")}},setDisabledDates:function(b){this.disabledDates=b;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(b){this.disabledDays=b;if(this.menu){this.menu.picker.setDisabledDays(b)}},setMinValue:function(b){this.minValue=(Ext.isString(b)?this.parseDate(b):b);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(b){this.maxValue=(Ext.isString(b)?this.parseDate(b):b);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},getErrors:function(p){var n=Ext.form.DateField.superclass.getErrors.apply(this,arguments);p=this.formatDate(p||this.processValue(this.getRawValue()));if(p.length<1){return n}var r=p;p=this.parseDate(p);if(!p){n.push(String.format(this.invalidText,r,this.format));return n}var o=p.getTime();if(this.minValue&&o<this.minValue.clearTime().getTime()){n.push(String.format(this.minText,this.formatDate(this.minValue)))}if(this.maxValue&&o>this.maxValue.clearTime().getTime()){n.push(String.format(this.maxText,this.formatDate(this.maxValue)))}if(this.disabledDays){var l=p.getDay();for(var k=0;k<this.disabledDays.length;k++){if(l===this.disabledDays[k]){n.push(this.disabledDaysText);break}}}var q=this.formatDate(p);if(this.disabledDatesRE&&this.disabledDatesRE.test(q)){n.push(String.format(this.disabledDatesText,q))}return n},validateBlur:function(){return !this.menu||!this.menu.isVisible()},getValue:function(){return this.parseDate(Ext.form.DateField.superclass.getValue.call(this))||""},setValue:function(b){return Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(b)))},parseDate:function(l){if(!l||Ext.isDate(l)){return l}var h=this.safeParse(l,this.format),p=this.altFormats,n=this.altFormatsArray;if(!h&&p){n=n||p.split("|");for(var o=0,k=n.length;o<k&&!h;o++){h=this.safeParse(l,n[o])}}return h},onDestroy:function(){Ext.destroy(this.menu,this.keyNav);Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(b){return Ext.isDate(b)?b.dateFormat(this.format):b},onTriggerClick:function(){if(this.disabled){return}if(this.menu==null){this.menu=new Ext.menu.DateMenu({hideOnClick:false,focusOnSelect:false})}this.onFocus();Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,startDay:this.startDay,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,"tl-bl?");this.menuEvents("on")},menuEvents:function(b){this.menu[b]("select",this.onSelect,this);this.menu[b]("hide",this.onMenuHide,this);this.menu[b]("show",this.onFocus,this)},onSelect:function(d,c){this.setValue(c);this.fireEvent("select",this,c);this.menu.hide()},onMenuHide:function(){this.focus(false,60);this.menuEvents("un")},beforeBlur:function(){var b=this.parseDate(this.getRawValue());if(b){this.setValue(b)}}});Ext.reg("datefield",Ext.form.DateField);Ext.form.DisplayField=Ext.extend(Ext.form.Field,{validationEvent:false,validateOnBlur:false,defaultAutoCreate:{tag:"div"},fieldClass:"x-form-display-field",htmlEncode:false,initEvents:Ext.emptyFn,isValid:function(){return true},validate:function(){return true},getRawValue:function(){var b=this.rendered?this.el.dom.innerHTML:Ext.value(this.value,"");if(b===this.emptyText){b=""}if(this.htmlEncode){b=Ext.util.Format.htmlDecode(b)}return b},getValue:function(){return this.getRawValue()},getName:function(){return this.name},setRawValue:function(b){if(this.htmlEncode){b=Ext.util.Format.htmlEncode(b)}return this.rendered?(this.el.dom.innerHTML=(Ext.isEmpty(b)?"":b)):(this.value=b)},setValue:function(b){this.setRawValue(b);return this}});Ext.reg("displayfield",Ext.form.DisplayField);Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",selectedClass:"x-combo-selected",listEmptyText:"",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,triggerAction:"query",minChars:4,autoSelect:true,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:"query",loadingText:"Loading...",resizable:false,handleHeight:8,allQuery:"",mode:"remote",minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,clearFilterOnReset:true,submitValue:undefined,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){var r=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=r.name}if(!this.store){this.mode="local";var n=[],q=r.options;for(var d=0,l=q.length;d<l;d++){var o=q[d],p=(o.hasAttribute?o.hasAttribute("value"):o.getAttributeNode("value").specified)?o.value:o.text;if(o.selected&&Ext.isEmpty(this.value,true)){this.value=p}n.push([p,o.text])}this.store=new Ext.data.ArrayStore({idIndex:0,fields:["value","text"],data:n,autoDestroy:true});this.valueField="value";this.displayField="text"}r.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(r,this.autoCreate||this.defaultAutoCreate);this.render(this.el.parentNode,r)}Ext.removeNode(r)}else{if(this.store){this.store=Ext.StoreMgr.lookup(this.store);if(this.store.autoCreated){this.displayField=this.valueField="field1";if(!this.store.expandData){this.displayField="field2"}this.mode="local"}}}this.selectedIndex=-1;if(this.mode=="local"){if(!Ext.isDefined(this.initialConfig.queryDelay)){this.queryDelay=10}if(!Ext.isDefined(this.initialConfig.minChars)){this.minChars=0}}},onRender:function(c,d){if(this.hiddenName&&!Ext.isDefined(this.submitValue)){this.submitValue=false}Ext.form.ComboBox.superclass.onRender.call(this,c,d);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||Ext.id())},"before",true)}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}if(!this.lazyInit){this.initList()}else{this.on("focus",this.initList,this,{single:true})}},initValue:function(){Ext.form.ComboBox.superclass.initValue.call(this);if(this.hiddenField){this.hiddenField.value=Ext.value(Ext.isDefined(this.hiddenValue)?this.hiddenValue:this.value,"")}},getParentZIndex:function(){var b;if(this.ownerCt){this.findParentBy(function(a){b=parseInt(a.getPositionEl().getStyle("z-index"),10);return !!b})}return b},getZIndex:function(c){c=c||Ext.getDom(this.getListParent()||Ext.getBody());var d=parseInt(Ext.fly(c).getStyle("z-index"),10);if(!d){d=this.getParentZIndex()}return(d||12000)+5},initList:function(){if(!this.list){var e="x-combo-list",g=Ext.getDom(this.getListParent()||Ext.getBody());this.list=new Ext.Layer({parentEl:g,shadow:this.shadow,cls:[e,this.listClass].join(" "),constrain:false,zindex:this.getZIndex(g)});var d=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setSize(d,0);this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.syncFont!==false){this.list.setStyle("font-size",this.el.getStyle("font-size"))}if(this.title){this.header=this.list.createChild({cls:e+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:e+"-inner"});this.mon(this.innerList,"mouseover",this.onViewOver,this);this.mon(this.innerList,"mousemove",this.onViewMove,this);this.innerList.setWidth(d-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:e+"-ft"});this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});this.assetHeight+=this.footer.getHeight()}if(!this.tpl){this.tpl='<tpl for="."><div class="'+e+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+e+"-item",emptyText:this.listEmptyText,deferEmptyText:false});this.mon(this.view,{containerclick:this.onViewClick,click:this.onViewClick,scope:this});this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.mon(this.resizer,"resize",function(a,c,b){this.maxHeight=b-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=c;this.innerList.setWidth(c-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},getListParent:function(){return document.body},getStore:function(){return this.store},bindStore:function(d,c){if(this.store&&!c){if(this.store!==d&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.collapse,this)}if(!d){this.store=null;if(this.view){this.view.bindStore(null)}if(this.pageTb){this.pageTb.bindStore(null)}}}if(d){if(!c){this.lastQuery=null;if(this.pageTb){this.pageTb.bindStore(d)}}this.store=Ext.StoreMgr.lookup(d);this.store.on({scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.collapse});if(this.view){this.view.bindStore(d)}}},reset:function(){if(this.clearFilterOnReset&&this.mode=="local"){this.store.clearFilter()}Ext.form.ComboBox.superclass.reset.call(this)},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(b){this.inKeyMode=true;this.selectPrev()},down:function(b){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(b){this.onViewClick()},esc:function(b){this.collapse()},tab:function(b){if(this.forceSelection===true){this.collapse()}else{this.onViewClick(false)}return true},scope:this,doRelay:function(k,e,g){if(g=="down"||this.scope.isExpanded()){var h=Ext.KeyNav.prototype.doRelay.apply(this,arguments);if(!Ext.isIE&&Ext.EventManager.useKeydown){this.scope.fireKey(k)}return h}return true},forceKeyDown:true,defaultEventAction:"stopEvent"});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(!this.enableKeyEvents){this.mon(this.el,"keyup",this.onKeyUp,this)}},onDestroy:function(){if(this.dqTask){this.dqTask.cancel();this.dqTask=null}this.bindStore(null);Ext.destroy(this.resizer,this.view,this.pageTb,this.list);Ext.destroyMembers(this,"hiddenField");Ext.form.ComboBox.superclass.onDestroy.call(this)},fireKey:function(b){if(!this.isExpanded()){Ext.form.ComboBox.superclass.fireKey.call(this,b)}},onResize:function(d,c){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(!isNaN(d)&&this.isVisible()&&this.list){this.doResize(d)}else{this.bufferSize=d}},doResize:function(d){if(!Ext.isDefined(this.listWidth)){var c=Math.max(d,this.minListWidth);this.list.setWidth(c);this.innerList.setWidth(c-this.list.getFrameWidth("lr"))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},onBeforeLoad:function(){if(!this.hasFocus){return}this.innerList.update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+"</div>":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()>0||this.listEmptyText){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(this.autoSelect!==false&&!this.selectByValue(this.value,true)){this.select(0,true)}}else{if(this.autoSelect!==false){this.selectNext()}if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.collapse()}},onTypeAhead:function(){if(this.store.getCount()>0){var e=this.store.getAt(0);var k=e.data[this.displayField];var g=k.length;var h=this.getRawValue().length;if(h!=g){this.setRawValue(k);this.selectText(h,k.length)}}},assertValue:function(){var c=this.getRawValue(),d;if(this.valueField&&Ext.isDefined(this.value)){d=this.findRecord(this.valueField,this.value)}if(!d||d.get(this.displayField)!=c){d=this.findRecord(this.displayField,c)}if(!d&&this.forceSelection){if(c.length>0&&c!=this.emptyText){this.el.dom.value=Ext.value(this.lastSelectionText,"");this.applyEmptyText()}else{this.clearValue()}}else{if(d&&this.valueField){if(this.value==c){return}c=d.get(this.valueField||this.displayField)}this.setValue(c)}},onSelect:function(d,c){if(this.fireEvent("beforeselect",this,d,c)!==false){this.setValue(d.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,d,c)}},getName:function(){var b=this.hiddenField;return b&&b.name?b.name:this.hiddenName||Ext.form.ComboBox.superclass.getName.call(this)},getValue:function(){if(this.valueField){return Ext.isDefined(this.value)?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(e){var g=e;if(this.valueField){var d=this.findRecord(this.valueField,e);if(d){g=d.data[this.displayField]}else{if(Ext.isDefined(this.valueNotFoundText)){g=this.valueNotFoundText}}}this.lastSelectionText=g;if(this.hiddenField){this.hiddenField.value=Ext.value(e,"")}Ext.form.ComboBox.superclass.setValue.call(this,g);this.value=e;return this},findRecord:function(g,d){var e;if(this.store.getCount()>0){this.store.each(function(a){if(a.data[g]==d){e=a;return false}})}return e},onViewMove:function(c,d){this.inKeyMode=false},onViewOver:function(h,e){if(this.inKeyMode){return}var k=this.view.findItemFromChild(e);if(k){var g=this.view.indexOf(k);this.select(g,false)}},onViewClick:function(e){var g=this.view.getSelectedIndexes()[0],k=this.store,h=k.getAt(g);if(h){this.onSelect(h,g)}else{this.collapse()}if(e!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var h=this.innerList.dom,n=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight,p=Math.max(h.clientHeight,h.offsetHeight,h.scrollHeight),k=this.getPosition()[1]-Ext.getBody().getScroll().top,l=Ext.lib.Dom.getViewHeight()-k-this.getSize().height,o=Math.max(k,l,this.minHeight||0)-this.list.shadowOffset-n-5;p=Math.min(p,o,this.maxHeight);this.innerList.setHeight(p);this.list.beginUpdate();this.list.setHeight(p+n);this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.endUpdate()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(e,g){if(!Ext.isEmpty(e,true)){var d=this.findRecord(this.valueField||this.displayField,e);if(d){this.select(this.store.indexOf(d),g);return true}}return false},select:function(e,g){this.selectedIndex=e;this.view.select(e);if(g!==false){var d=this.view.getNode(e);if(d){this.innerList.scrollChildIntoView(d,false)}}},selectNext:function(){var b=this.store.getCount();if(b>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex<b-1){this.select(this.selectedIndex+1)}}}},selectPrev:function(){var b=this.store.getCount();if(b>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!==0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(c){var d=c.getKey();if(this.editable!==false&&this.readOnly!==true&&(d==c.BACKSPACE||!c.isSpecialKey())){this.lastKey=d;this.dqTask.delay(this.queryDelay)}Ext.form.ComboBox.superclass.onKeyUp.call(this,c)},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},beforeBlur:function(){this.assertValue()},postBlur:function(){Ext.form.ComboBox.superclass.postBlur.call(this);this.collapse();this.inKeyMode=false},doQuery:function(g,d){g=Ext.isEmpty(g)?"":g;var e={query:g,forceAll:d,combo:this,cancel:false};if(this.fireEvent("beforequery",e)===false||e.cancel){return false}g=e.query;d=e.forceAll;if(d===true||(g.length>=this.minChars)){if(this.lastQuery!==g){this.lastQuery=g;if(this.mode=="local"){this.selectedIndex=-1;if(d){this.store.clearFilter()}else{this.store.filter(this.displayField,g)}this.onLoad()}else{this.store.baseParams[this.queryParam]=g;this.store.load({params:this.getParams(g)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(e){var d={},g=this.store.paramNames;if(this.pageSize){d[g.start]=0;d[g.limit]=this.pageSize}return d},collapse:function(){if(!this.isExpanded()){return}this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.fireEvent("collapse",this)},collapseIf:function(b){if(!this.isDestroyed&&!b.within(this.wrap)&&!b.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return}if(this.title||this.pageSize){this.assetHeight=0;if(this.title){this.assetHeight+=this.header.getHeight()}if(this.pageSize){this.assetHeight+=this.footer.getHeight()}}if(this.bufferSize){this.doResize(this.bufferSize);delete this.bufferSize}this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.setZIndex(this.getZIndex());this.list.show();if(Ext.isGecko2){this.innerList.setOverflow("auto")}this.mon(Ext.getDoc(),{scope:this,mousewheel:this.collapseIf,mousedown:this.collapseIf});this.fireEvent("expand",this)},onTriggerClick:function(){if(this.readOnly||this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{focusClass:undefined,fieldClass:"x-form-field",checked:false,boxLabel:"&#160;",defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},actionMode:"wrap",initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents("check")},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&&!this.fieldLabel){this.el.alignTo(this.wrap,"c-c")}},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.mon(this.el,{scope:this,click:this.onClick,change:this.onClick})},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,onRender:function(c,d){Ext.form.Checkbox.superclass.onRender.call(this,c,d);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.wrap=this.el.wrap({cls:"x-form-check-wrap"});if(this.boxLabel){this.wrap.createChild({tag:"label",htmlFor:this.el.id,cls:"x-form-cb-label",html:this.boxLabel})}if(this.checked){this.setValue(true)}else{this.checked=this.el.dom.checked}if(Ext.isIE&&!Ext.isStrict){this.wrap.repaint()}this.resizeEl=this.positionEl=this.wrap},onDestroy:function(){Ext.destroy(this.wrap);Ext.form.Checkbox.superclass.onDestroy.call(this)},initValue:function(){this.originalValue=this.getValue()},getValue:function(){if(this.rendered){return this.el.dom.checked}return this.checked},onClick:function(){if(this.el.dom.checked!=this.checked){this.setValue(this.el.dom.checked)}},setValue:function(e){var g=this.checked,d=this.inputValue;this.checked=(e===true||e==="true"||e=="1"||(d?e==d:String(e).toLowerCase()=="on"));if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked}if(g!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked)}}return this}});Ext.reg("checkbox",Ext.form.Checkbox);Ext.form.CheckboxGroup=Ext.extend(Ext.form.Field,{columns:"auto",vertical:false,allowBlank:true,blankText:"You must select at least one item in this group",defaultType:"checkbox",groupCls:"x-form-check-group",initComponent:function(){this.addEvents("change");this.on("change",this.validate,this);Ext.form.CheckboxGroup.superclass.initComponent.call(this)},onRender:function(y,A){if(!this.el){var t={autoEl:{id:this.id},cls:this.groupCls,layout:"column",renderTo:y,bufferResize:false};var F={xtype:"container",defaultType:this.defaultType,layout:"form",defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(t,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var B=0,w=this.items.length;B<w;B++){Ext.applyIf(this.items[B],F)}}else{var C,v=[];if(typeof this.columns=="string"){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var x=[];for(var B=0;B<this.columns;B++){x.push((100/this.columns)*0.01)}this.columns=x}C=this.columns.length;for(var B=0;B<C;B++){var E=Ext.apply({items:[]},F);E[this.columns[B]<=1?"columnWidth":"width"]=this.columns[B];if(this.defaults){E.defaults=Ext.apply(E.defaults||{},this.defaults)}v.push(E)}if(this.vertical){var G=Math.ceil(this.items.length/C),u=0;for(var B=0,w=this.items.length;B<w;B++){if(B>0&&B%G==0){u++}if(this.items[B].fieldLabel){this.items[B].hideLabel=false}v[u].items.push(this.items[B])}}else{for(var B=0,w=this.items.length;B<w;B++){var l=B%C;if(this.items[B].fieldLabel){this.items[B].hideLabel=false}v[l].items.push(this.items[B])}}Ext.apply(t,{layoutConfig:{columns:C},items:v})}this.panel=new Ext.Container(t);this.panel.ownerCt=this;this.el=this.panel.getEl();if(this.forId&&this.itemCls){var D=this.el.up(this.itemCls).child("label",true);if(D){D.setAttribute("htmlFor",this.forId)}}var z=this.panel.findBy(function(a){return a.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(z)}Ext.form.CheckboxGroup.superclass.onRender.call(this,y,A)},initValue:function(){if(this.value){this.setValue.apply(this,this.buffered?this.value:[this.value]);delete this.buffered;delete this.value}},afterRender:function(){Ext.form.CheckboxGroup.superclass.afterRender.call(this);this.eachItem(function(b){b.on("check",this.fireChecked,this);b.inGroup=true})},doLayout:function(){if(this.rendered){this.panel.forceLayout=this.ownerCt.forceLayout;this.panel.doLayout()}},fireChecked:function(){var b=[];this.eachItem(function(a){if(a.checked){b.push(a)}});this.fireEvent("change",this,b)},getErrors:function(){var c=Ext.form.CheckboxGroup.superclass.getErrors.apply(this,arguments);if(!this.allowBlank){var d=true;this.eachItem(function(a){if(a.checked){return(d=false)}});if(d){c.push(this.blankText)}}return c},isDirty:function(){if(this.disabled||!this.rendered){return false}var b=false;this.eachItem(function(a){if(a.isDirty()){b=true;return false}});return b},setReadOnly:function(b){if(this.rendered){this.eachItem(function(a){a.setReadOnly(b)})}this.readOnly=b},onDisable:function(){this.eachItem(function(b){b.disable()})},onEnable:function(){this.eachItem(function(b){b.enable()})},onResize:function(d,c){this.panel.setSize(d,c);this.panel.doLayout()},reset:function(){if(this.originalValue){this.eachItem(function(b){if(b.setValue){b.setValue(false);b.originalValue=b.getValue()}});this.resetOriginal=true;this.setValue(this.originalValue);delete this.resetOriginal}else{this.eachItem(function(b){if(b.reset){b.reset()}})}(function(){this.clearInvalid()}).defer(50,this)},setValue:function(){if(this.rendered){this.onSetValue.apply(this,arguments)}else{this.buffered=true;this.value=arguments}return this},onSetValue:function(h,k){if(arguments.length==1){if(Ext.isArray(h)){Ext.each(h,function(a,c){if(Ext.isObject(a)&&a.setValue){a.setValue(true);if(this.resetOriginal===true){a.originalValue=a.getValue()}}else{var b=this.items.itemAt(c);if(b){b.setValue(a)}}},this)}else{if(Ext.isObject(h)){for(var g in h){var e=this.getBox(g);if(e){e.setValue(h[g])}}}else{this.setValueForItem(h)}}}else{var e=this.getBox(h);if(e){e.setValue(k)}}},beforeDestroy:function(){Ext.destroy(this.panel);if(!this.rendered){Ext.destroy(this.items)}Ext.form.CheckboxGroup.superclass.beforeDestroy.call(this)},setValueForItem:function(b){b=String(b).split(",");this.eachItem(function(a){if(b.indexOf(a.inputValue)>-1){a.setValue(true)}})},getBox:function(c){var d=null;this.eachItem(function(a){if(c==a||a.dataIndex==c||a.id==c||a.getName()==c){d=a;return false}});return d},getValue:function(){var b=[];this.eachItem(function(a){if(a.checked){b.push(a)}});return b},eachItem:function(c,d){if(this.items&&this.items.each){this.items.each(c,d||this)}},getRawValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg("checkboxgroup",Ext.form.CheckboxGroup);Ext.form.CompositeField=Ext.extend(Ext.form.Field,{defaultMargins:"0 5 0 0",skipLastItemMargin:true,isComposite:true,combineErrors:true,labelConnector:", ",initComponent:function(){var l=[],h=this.items,n;for(var o=0,p=h.length;o<p;o++){n=h[o];if(!Ext.isEmpty(n.ref)){n.ref="../"+n.ref}l.push(n.fieldLabel);Ext.applyIf(n,this.defaults);if(!(o==p-1&&this.skipLastItemMargin)){Ext.applyIf(n,{margins:this.defaultMargins})}}this.fieldLabel=this.fieldLabel||this.buildLabel(l);this.fieldErrors=new Ext.util.MixedCollection(true,function(a){return a.field});this.fieldErrors.on({scope:this,add:this.updateInvalidMark,remove:this.updateInvalidMark,replace:this.updateInvalidMark});Ext.form.CompositeField.superclass.initComponent.apply(this,arguments);this.innerCt=new Ext.Container({layout:"hbox",items:this.items,cls:"x-form-composite",defaultMargins:"0 3 0 0",ownerCt:this});this.innerCt.ownerCt=undefined;var k=this.innerCt.findBy(function(a){return a.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(k)},onRender:function(k,g){if(!this.el){var h=this.innerCt;h.render(k);this.el=h.getEl();if(this.combineErrors){this.eachItem(function(a){Ext.apply(a,{markInvalid:this.onFieldMarkInvalid.createDelegate(this,[a],0),clearInvalid:this.onFieldClearInvalid.createDelegate(this,[a],0)})})}var e=this.el.parent().parent().child("label",true);if(e){e.setAttribute("for",this.items.items[0].id)}}Ext.form.CompositeField.superclass.onRender.apply(this,arguments)},onFieldMarkInvalid:function(h,k){var e=h.getName(),g={field:e,errorName:h.fieldLabel||e,error:k};this.fieldErrors.replace(e,g);h.el.addClass(h.invalidClass)},onFieldClearInvalid:function(b){this.fieldErrors.removeKey(b.getName());b.el.removeClass(b.invalidClass)},updateInvalidMark:function(){var d=Ext.isIE6&&Ext.isStrict;if(this.fieldErrors.length==0){this.clearInvalid();if(d){this.clearInvalid.defer(50,this)}}else{var c=this.buildCombinedErrorMessage(this.fieldErrors.items);this.sortErrors();this.markInvalid(c);if(d){this.markInvalid(c)}}},validateValue:function(){var b=true;this.eachItem(function(a){if(!a.isValid()){b=false}});return b},buildCombinedErrorMessage:function(k){var l=[],g;for(var n=0,h=k.length;n<h;n++){g=k[n];l.push(String.format("{0}: {1}",g.errorName,g.error))}return l.join("<br />")},sortErrors:function(){var b=this.items;this.fieldErrors.sort("ASC",function(k,n){var o=function(c){return function(d){return d.getName()==c}};var a=b.findIndexBy(o(k.field)),l=b.findIndexBy(o(n.field));return a<l?-1:1})},reset:function(){this.eachItem(function(b){b.reset()});(function(){this.clearInvalid()}).defer(50,this)},clearInvalidChildren:function(){this.eachItem(function(b){b.clearInvalid()})},buildLabel:function(b){return Ext.clean(b).join(this.labelConnector)},isDirty:function(){if(this.disabled||!this.rendered){return false}var b=false;this.eachItem(function(a){if(a.isDirty()){b=true;return false}});return b},eachItem:function(c,d){if(this.items&&this.items.each){this.items.each(c,d||this)}},onResize:function(k,n,h,l){var g=this.innerCt;if(this.rendered&&g.rendered){g.setSize(k,n)}Ext.form.CompositeField.superclass.onResize.apply(this,arguments)},doLayout:function(g,d){if(this.rendered){var e=this.innerCt;e.forceLayout=this.ownerCt.forceLayout;e.doLayout(g,d)}},beforeDestroy:function(){Ext.destroy(this.innerCt);Ext.form.CompositeField.superclass.beforeDestroy.call(this)},setReadOnly:function(b){if(b==undefined){b=true}b=!!b;if(this.rendered){this.eachItem(function(a){a.setReadOnly(b)})}this.readOnly=b},onShow:function(){Ext.form.CompositeField.superclass.onShow.call(this);this.doLayout()},onDisable:function(){this.eachItem(function(b){b.disable()})},onEnable:function(){this.eachItem(function(b){b.enable()})}});Ext.reg("compositefield",Ext.form.CompositeField);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,getGroupValue:function(){var d=this.el.up("form")||Ext.getBody();var c=d.child("input[name="+this.el.dom.name+"]:checked",true);return c?c.value:null},setValue:function(e){var g,h,k;if(typeof e=="boolean"){Ext.form.Radio.superclass.setValue.call(this,e)}else{if(this.rendered){g=this.getCheckEl();k=g.child("input[name="+this.el.dom.name+"][value="+e+"]",true);if(k){Ext.getCmp(k.id).setValue(true)}}}if(this.rendered&&this.checked){g=g||this.getCheckEl();h=this.getCheckEl().select("input[name="+this.el.dom.name+"]");h.each(function(a){if(a.dom.id!=this.id){Ext.getCmp(a.dom.id).setValue(false)}},this)}return this},getCheckEl:function(){if(this.inGroup){return this.el.up(".x-form-radio-group")}return this.el.up("form")||Ext.getBody()}});Ext.reg("radio",Ext.form.Radio);Ext.form.RadioGroup=Ext.extend(Ext.form.CheckboxGroup,{allowBlank:true,blankText:"You must select one item in this group",defaultType:"radio",groupCls:"x-form-radio-group",getValue:function(){var b=null;this.eachItem(function(a){if(a.checked){b=a;return false}});return b},onSetValue:function(g,d){if(arguments.length>1){var e=this.getBox(g);if(e){e.setValue(d);if(e.checked){this.eachItem(function(a){if(a!==e){a.setValue(false)}})}}}else{this.setValueForItem(g)}},setValueForItem:function(b){b=String(b).split(",")[0];this.eachItem(function(a){a.setValue(b==a.inputValue)})},fireChecked:function(){if(!this.checkTask){this.checkTask=new Ext.util.DelayedTask(this.bufferChecked,this)}this.checkTask.delay(10)},bufferChecked:function(){var b=null;this.eachItem(function(a){if(a.checked){b=a;return false}});this.fireEvent("change",this,b)},onDestroy:function(){if(this.checkTask){this.checkTask.cancel();this.checkTask=null}Ext.form.RadioGroup.superclass.onDestroy.call(this)}});Ext.reg("radiogroup",Ext.form.RadioGroup);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:"hidden",shouldLayout:false,onRender:function(){Ext.form.Hidden.superclass.onRender.apply(this,arguments)},initEvents:function(){this.originalValue=this.getValue()},setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg("hidden",Ext.form.Hidden);Ext.form.BasicForm=Ext.extend(Ext.util.Observable,{constructor:function(c,d){Ext.apply(this,d);if(Ext.isString(this.paramOrder)){this.paramOrder=this.paramOrder.split(/[\s,|]/)}this.items=new Ext.util.MixedCollection(false,function(a){return a.getItemId()});this.addEvents("beforeaction","actionfailed","actioncomplete");if(c){this.initEl(c)}Ext.form.BasicForm.superclass.constructor.call(this)},timeout:30,paramOrder:undefined,paramsAsHash:false,waitTitle:"Please Wait...",activeAction:null,trackResetOnLoad:false,initEl:function(b){this.el=Ext.get(b);this.id=this.el.id||Ext.id();if(!this.standardSubmit){this.el.on("submit",this.onSubmit,this)}this.el.addClass("x-form")},getEl:function(){return this.el},onSubmit:function(b){b.stopEvent()},destroy:function(b){if(b!==true){this.items.each(function(a){Ext.destroy(a)});Ext.destroy(this.el)}this.items.clear();this.purgeListeners()},isValid:function(){var b=true;this.items.each(function(a){if(!a.validate()){b=false}});return b},isDirty:function(){var b=false;this.items.each(function(a){if(a.isDirty()){b=true;return false}});return b},doAction:function(c,d){if(Ext.isString(c)){c=new Ext.form.Action.ACTION_TYPES[c](this,d)}if(this.fireEvent("beforeaction",this,c)!==false){this.beforeAction(c);c.run.defer(100,c)}return this},submit:function(e){e=e||{};if(this.standardSubmit){var g=e.clientValidation===false||this.isValid();if(g){var k=this.el.dom;if(this.url&&Ext.isEmpty(k.action)){k.action=this.url}k.submit()}return g}var h=String.format("{0}submit",this.api?"direct":"");this.doAction(h,e);return this},load:function(d){var c=String.format("{0}load",this.api?"direct":"");this.doAction(c,d);return this},updateRecord:function(e){e.beginEdit();var g=e.fields,h,k;g.each(function(a){h=this.findField(a.name);if(h){k=h.getValue();if(typeof k!=undefined&&k.getGroupValue){k=k.getGroupValue()}else{if(h.eachItem){k=[];h.eachItem(function(b){k.push(b.getValue())})}}e.set(a.name,k)}},this);e.endEdit();return this},loadRecord:function(b){this.setValues(b.data);return this},beforeAction:function(d){this.items.each(function(a){if(a.isFormField&&a.syncValue){a.syncValue()}});var c=d.options;if(c.waitMsg){if(this.waitMsgTarget===true){this.el.mask(c.waitMsg,"x-mask-loading")}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(c.waitMsg,"x-mask-loading")}else{Ext.MessageBox.wait(c.waitMsg,c.waitTitle||this.waitTitle)}}}},afterAction:function(e,g){this.activeAction=null;var d=e.options;if(d.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(g){if(d.reset){this.reset()}Ext.callback(d.success,d.scope,[this,e]);this.fireEvent("actioncomplete",this,e)}else{Ext.callback(d.failure,d.scope,[this,e]);this.fireEvent("actionfailed",this,e)}},findField:function(g){var d=this.items.get(g);if(!Ext.isObject(d)){var e=function(a){if(a.isFormField){if(a.dataIndex==g||a.id==g||a.getName()==g){d=a;return false}else{if(a.isComposite){return a.items.each(e)}else{if(a instanceof Ext.form.CheckboxGroup&&a.rendered){return a.eachItem(e)}}}}};this.items.each(e)}return d||null},markInvalid:function(n){if(Ext.isArray(n)){for(var r=0,l=n.length;r<l;r++){var k=n[r];var q=this.findField(k.id);if(q){q.markInvalid(k.msg)}}}else{var p,o;for(o in n){if(!Ext.isFunction(n[o])&&(p=this.findField(o))){p.markInvalid(n[o])}}}return this},setValues:function(r){if(Ext.isArray(r)){for(var q=0,l=r.length;q<l;q++){var k=r[q];var p=this.findField(k.id);if(p){p.setValue(k.value);if(this.trackResetOnLoad){p.originalValue=p.getValue()}}}}else{var o,n;for(n in r){if(!Ext.isFunction(r[n])&&(o=this.findField(n))){o.setValue(r[n]);if(this.trackResetOnLoad){o.originalValue=o.getValue()}}}}return this},getValues:function(c){var d=Ext.lib.Ajax.serializeForm(this.el.dom);if(c===true){return d}return Ext.urlDecode(d)},getFieldValues:function(h){var l={},k,g,n;this.items.each(function(a){if(!a.disabled&&(h!==true||a.isDirty())){k=a.getName();g=l[k];n=a.getValue();if(Ext.isDefined(g)){if(Ext.isArray(g)){l[k].push(n)}else{l[k]=[g,n]}}else{l[k]=n}}});return l},clearInvalid:function(){this.items.each(function(b){b.clearInvalid()});return this},reset:function(){this.items.each(function(b){b.reset()});return this},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));return this},remove:function(b){this.items.remove(b);return this},cleanDestroyed:function(){this.items.filterBy(function(b){return !!b.isDestroyed}).each(this.remove,this)},render:function(){this.items.each(function(b){if(b.isFormField&&!b.rendered&&document.getElementById(b.id)){b.applyToMarkup(b.id)}});return this},applyToFields:function(b){this.items.each(function(a){Ext.apply(a,b)});return this},applyIfToFields:function(b){this.items.each(function(a){Ext.applyIf(a,b)});return this},callFieldMethod:function(c,d){d=d||[];this.items.each(function(a){if(Ext.isFunction(a[c])){a[c].apply(a,d)}});return this}});Ext.BasicForm=Ext.form.BasicForm;Ext.FormPanel=Ext.extend(Ext.Panel,{minButtonWidth:75,labelAlign:"left",monitorValid:false,monitorPoll:200,layout:"form",initComponent:function(){this.form=this.createForm();Ext.FormPanel.superclass.initComponent.call(this);this.bodyCfg={tag:"form",cls:this.baseCls+"-body",method:this.method||"POST",id:this.formId||Ext.id()};if(this.fileUpload){this.bodyCfg.enctype="multipart/form-data"}this.initItems();this.addEvents("clientvalidation");this.relayEvents(this.form,["beforeaction","actionfailed","actioncomplete"])},createForm:function(){var b=Ext.applyIf({listeners:{}},this.initialConfig);return new Ext.form.BasicForm(null,b)},initFields:function(){var g=this.form;var e=this;var d=function(a){if(e.isField(a)){g.add(a)}else{if(a.findBy&&a!=e){e.applySettings(a);if(a.items&&a.items.each){a.items.each(d,this)}}}};this.items.each(d,this)},applySettings:function(c){var d=c.ownerCt;Ext.applyIf(c,{labelAlign:d.labelAlign,labelWidth:d.labelWidth,itemCls:d.itemCls})},getLayoutTarget:function(){return this.form.el},getForm:function(){return this.form},onRender:function(c,d){this.initFields();Ext.FormPanel.superclass.onRender.call(this,c,d);this.form.initEl(this.body)},beforeDestroy:function(){this.stopMonitoring();this.form.destroy(true);Ext.FormPanel.superclass.beforeDestroy.call(this)},isField:function(b){return !!b.setValue&&!!b.getValue&&!!b.markInvalid&&!!b.clearInvalid},initEvents:function(){Ext.FormPanel.superclass.initEvents.call(this);this.on({scope:this,add:this.onAddEvent,remove:this.onRemoveEvent});if(this.monitorValid){this.startMonitoring()}},onAdd:function(b){Ext.FormPanel.superclass.onAdd.call(this,b);this.processAdd(b)},onAddEvent:function(d,c){if(d!==this){this.processAdd(c)}},processAdd:function(b){if(this.isField(b)){this.form.add(b)}else{if(b.findBy){this.applySettings(b);this.form.add.apply(this.form,b.findBy(this.isField))}}},onRemove:function(b){Ext.FormPanel.superclass.onRemove.call(this,b);this.processRemove(b)},onRemoveEvent:function(d,c){if(d!==this){this.processRemove(c)}},processRemove:function(b){if(!this.destroying){if(this.isField(b)){this.form.remove(b)}else{if(b.findBy){Ext.each(b.findBy(this.isField),this.form.remove,this.form);this.form.cleanDestroyed()}}}},startMonitoring:function(){if(!this.validTask){this.validTask=new Ext.util.TaskRunner();this.validTask.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){if(this.validTask){this.validTask.stopAll();this.validTask=null}},load:function(){this.form.load.apply(this.form,arguments)},onDisable:function(){Ext.FormPanel.superclass.onDisable.call(this);if(this.form){this.form.items.each(function(){this.disable()})}},onEnable:function(){Ext.FormPanel.superclass.onEnable.call(this);if(this.form){this.form.items.each(function(){this.enable()})}},bindHandler:function(){var k=true;this.form.items.each(function(a){if(!a.isValid(true)){k=false;return false}});if(this.fbar){var g=this.fbar.items.items;for(var l=0,h=g.length;l<h;l++){var n=g[l];if(n.formBind===true&&n.disabled===k){n.setDisabled(!k)}}}this.fireEvent("clientvalidation",this,k)}});Ext.reg("form",Ext.FormPanel);Ext.form.FormPanel=Ext.FormPanel;Ext.form.FieldSet=Ext.extend(Ext.Panel,{baseCls:"x-fieldset",layout:"form",animCollapse:false,onRender:function(d,e){if(!this.el){this.el=document.createElement("fieldset");this.el.id=this.id;if(this.title||this.header||this.checkboxToggle){this.el.appendChild(document.createElement("legend")).className=this.baseCls+"-header"}}Ext.form.FieldSet.superclass.onRender.call(this,d,e);if(this.checkboxToggle){var g=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};this.checkbox=this.header.insertFirst(g);this.checkbox.dom.checked=!this.collapsed;this.mon(this.checkbox,"click",this.onCheckClick,this)}},onCollapse:function(d,c){if(this.checkbox){this.checkbox.dom.checked=false}Ext.form.FieldSet.superclass.onCollapse.call(this,d,c)},onExpand:function(d,c){if(this.checkbox){this.checkbox.dom.checked=true}Ext.form.FieldSet.superclass.onExpand.call(this,d,c)},onCheckClick:function(){this[this.checkbox.dom.checked?"expand":"collapse"]()}});Ext.reg("fieldset",Ext.form.FieldSet);Ext.form.HtmlEditor=Ext.extend(Ext.form.Field,{enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:(Ext.isOpera||Ext.isIE6)?"&#160;":"&#8203;",actionMode:"wrap",validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:Ext.emptyFn,iframePad:3,hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:500px;height:300px;",autocomplete:"off"},initComponent:function(){this.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange");Ext.form.HtmlEditor.superclass.initComponent.call(this)},createFontOptions:function(){var o=[],h=this.fontFamilies,p,l;for(var n=0,k=h.length;n<k;n++){p=h[n];l=p.toLowerCase();o.push('<option value="',l,'" style="font-family:',p,';"',(this.defaultFont==l?' selected="true">':">"),p,"</option>")}return o.join("")},createToolbar:function(n){var p=[];var k=Ext.QuickTips&&Ext.QuickTips.isEnabled();function o(a,c,b){return{itemId:a,cls:"x-btn-icon",iconCls:"x-edit-"+a,enableToggle:c!==false,scope:n,handler:b||n.relayBtnCmd,clickEvent:"mousedown",tooltip:k?n.buttonTips[a]||undefined:undefined,overflowText:n.buttonTips[a].title||undefined,tabIndex:-1}}if(this.enableFont&&!Ext.isSafari2){var l=new Ext.Toolbar.Item({autoEl:{tag:"select",cls:"x-font-select",html:this.createFontOptions()}});p.push(l,"-")}if(this.enableFormat){p.push(o("bold"),o("italic"),o("underline"))}if(this.enableFontSize){p.push("-",o("increasefontsize",false,this.adjustFont),o("decreasefontsize",false,this.adjustFont))}if(this.enableColors){p.push("-",{itemId:"forecolor",cls:"x-btn-icon",iconCls:"x-edit-forecolor",clickEvent:"mousedown",tooltip:k?n.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,listeners:{scope:this,select:function(a,b){this.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+b:b);this.deferFocus()}},clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon",iconCls:"x-edit-backcolor",clickEvent:"mousedown",tooltip:k?n.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,listeners:{scope:this,select:function(a,b){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",b);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+b:b);this.deferFocus()}}},clickEvent:"mousedown"})})}if(this.enableAlignments){p.push("-",o("justifyleft"),o("justifycenter"),o("justifyright"))}if(!Ext.isSafari2){if(this.enableLinks){p.push("-",o("createlink",false,this.createLink))}if(this.enableLists){p.push("-",o("insertorderedlist"),o("insertunorderedlist"))}if(this.enableSourceEdit){p.push("-",o("sourceedit",true,function(a){this.toggleSourceEdit(!this.sourceEditMode)}))}}var h=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild,items:p});if(l){this.fontSelect=l.el;this.mon(this.fontSelect,"change",function(){var a=this.fontSelect.dom.value;this.relayCmd("fontname",a);this.deferFocus()},this)}this.mon(h.el,"click",function(a){a.preventDefault()});this.tb=h;this.tb.doLayout()},onDisable:function(){this.wrap.mask();Ext.form.HtmlEditor.superclass.onDisable.call(this)},onEnable:function(){this.wrap.unmask();Ext.form.HtmlEditor.superclass.onEnable.call(this)},setReadOnly:function(c){Ext.form.HtmlEditor.superclass.setReadOnly.call(this,c);if(this.initialized){if(Ext.isIE){this.getEditorBody().contentEditable=!c}else{this.setDesignMode(!c)}var d=this.getEditorBody();if(d){d.style.cursor=this.readOnly?"default":"text"}this.disableItems(c)}},getDocMarkup:function(){var b=Ext.fly(this.iframe).getHeight()-this.iframePad*2;return String.format('<html><head><style type="text/css">body{border: 0; margin: 0; padding: {0}px; height: {1}px; cursor: text}</style></head><body></body></html>',this.iframePad,b)},getEditorBody:function(){var b=this.getDoc();return b.body||b.documentElement},getDoc:function(){return Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)},getWin:function(){return Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]},onRender:function(d,e){Ext.form.HtmlEditor.superclass.onRender.call(this,d,e);this.el.dom.style.border="0 none";this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");if(Ext.isIE){this.el.applyStyles("margin-top:-1px;margin-bottom:-1px;")}this.wrap=this.el.wrap({cls:"x-html-editor-wrap",cn:{cls:"x-html-editor-tb"}});this.createToolbar(this);this.disableItems(true);this.tb.doLayout();this.createIFrame();if(!this.width){var g=this.el.getSize();this.setSize(g.width,this.height||g.height)}this.resizeEl=this.positionEl=this.wrap},createIFrame:function(){var b=document.createElement("iframe");b.name=Ext.id();b.frameBorder="0";b.style.overflow="auto";b.src=Ext.SSL_SECURE_URL;this.wrap.dom.appendChild(b);this.iframe=b;this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})},initFrame:function(){Ext.TaskMgr.stop(this.monitorTask);var c=this.getDoc();this.win=this.getWin();c.open();c.write(this.getDocMarkup());c.close();var d={run:function(){var a=this.getDoc();if(a.body||a.readyState=="complete"){Ext.TaskMgr.stop(d);this.setDesignMode(true);this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(d)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var b=this.getDoc();if(!b){return}if(!b.editorInitialized||this.getDesignMode()!="on"){this.initFrame()}}},setDesignMode:function(c){var d=this.getDoc();if(d){if(this.readOnly){c=false}d.designMode=(/on|true/i).test(String(c).toLowerCase())?"on":"off"}},getDesignMode:function(){var b=this.getDoc();if(!b){return""}return String(b.designMode).toLowerCase()},disableItems:function(b){if(this.fontSelect){this.fontSelect.dom.disabled=b}this.tb.items.each(function(a){if(a.getItemId()!="sourceedit"){a.setDisabled(b)}})},onResize:function(g,n){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(Ext.isNumber(g)){var k=g-this.wrap.getFrameWidth("lr");this.el.setWidth(k);this.tb.setWidth(k);this.iframe.style.width=Math.max(k,0)+"px"}if(Ext.isNumber(n)){var h=n-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(h);this.iframe.style.height=Math.max(h,0)+"px";var l=this.getEditorBody();if(l){l.style.height=Math.max((h-(this.iframePad*2)),0)+"px"}}}},toggleSourceEdit:function(e){var h,g;if(e===undefined){e=!this.sourceEditMode}this.sourceEditMode=e===true;var k=this.tb.getComponent("sourceedit");if(k.pressed!==this.sourceEditMode){k.toggle(this.sourceEditMode);if(!k.xtbHidden){return}}if(this.sourceEditMode){this.previousSize=this.getSize();h=Ext.get(this.iframe).getHeight();this.disableItems(true);this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus();this.el.dom.style.height=h+"px"}else{g=parseInt(this.el.dom.style.height,10);if(this.initialized){this.disableItems(this.readOnly)}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus();this.setSize(this.previousSize);delete this.previousSize;this.iframe.style.height=g+"px"}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var b=prompt(this.createLinkText,this.defaultLinkValue);if(b&&b!="http://"){this.relayCmd("createlink",b)}},initEvents:function(){this.originalValue=this.getValue()},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,setValue:function(b){Ext.form.HtmlEditor.superclass.setValue.call(this,b);this.pushValue();return this},cleanHtml:function(b){b=String(b);if(Ext.isWebKit){b=b.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}if(b.charCodeAt(0)==this.defaultValue.replace(/\D/g,"")){b=b.substring(1)}return b},syncValue:function(){if(this.initialized){var h=this.getEditorBody();var k=h.innerHTML;if(Ext.isWebKit){var e=h.getAttribute("style");var g=e.match(/text-align:(.*?);/i);if(g&&g[1]){k='<div style="'+g[0]+'">'+k+"</div>"}}k=this.cleanHtml(k);if(this.fireEvent("beforesync",this,k)!==false){this.el.dom.value=k;this.fireEvent("sync",this,k)}}},getValue:function(){this[this.sourceEditMode?"pushValue":"syncValue"]();return Ext.form.HtmlEditor.superclass.getValue.call(this)},pushValue:function(){if(this.initialized){var b=this.el.dom.value;if(!this.activated&&b.length<1){b=this.defaultValue}if(this.fireEvent("beforepush",this,b)!==false){this.getEditorBody().innerHTML=b;if(Ext.isGecko){this.setDesignMode(false);this.setDesignMode(true)}this.fireEvent("push",this,b)}}},deferFocus:function(){this.focus.defer(10,this)},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus()}else{this.el.focus()}},initEditor:function(){try{var n=this.getEditorBody(),h=this.el.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),k,e;h["background-attachment"]="fixed";n.bgProperties="fixed";Ext.DomHelper.applyStyles(n,h);k=this.getDoc();if(k){try{Ext.EventManager.removeAll(k)}catch(l){}}e=this.onEditorEvent.createDelegate(this);Ext.EventManager.on(k,{mousedown:e,dblclick:e,click:e,keyup:e,buffer:100});if(Ext.isGecko){Ext.EventManager.on(k,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isWebKit||Ext.isOpera){Ext.EventManager.on(k,"keydown",this.fixKeys,this)}k.editorInitialized=true;this.initialized=true;this.pushValue();this.setReadOnly(this.readOnly);this.fireEvent("initialize",this)}catch(l){}},beforeDestroy:function(){if(this.monitorTask){Ext.TaskMgr.stop(this.monitorTask)}if(this.rendered){Ext.destroy(this.tb);var d=this.getDoc();if(d){try{Ext.EventManager.removeAll(d);for(var g in d){delete d[g]}}catch(e){}}if(this.wrap){this.wrap.dom.innerHTML="";this.wrap.remove()}}Ext.form.HtmlEditor.superclass.beforeDestroy.call(this)},onFirstFocus:function(){this.activated=true;this.disableItems(this.readOnly);if(Ext.isGecko){this.win.focus();var e=this.win.getSelection();if(!e.focusNode||e.focusNode.nodeType!=3){var d=e.getRangeAt(0);d.selectNodeContents(this.getEditorBody());d.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(g){}}this.fireEvent("activate",this)},adjustFont:function(e){var h=e.getItemId()=="increasefontsize"?1:-1,k=this.getDoc(),g=parseInt(k.queryCommandValue("FontSize")||2,10);if((Ext.isSafari&&!Ext.isSafari2)||Ext.isChrome||Ext.isAir){if(g<=10){g=1+h}else{if(g<=13){g=2+h}else{if(g<=16){g=3+h}else{if(g<=18){g=4+h}else{if(g<=24){g=5+h}else{g=6+h}}}}}g=g.constrain(1,6)}else{if(Ext.isSafari){h*=2}g=Math.max(1,g+h)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",g)},onEditorEvent:function(b){this.updateToolbar()},updateToolbar:function(){if(this.readOnly){return}if(!this.activated){this.onFirstFocus();return}var d=this.tb.items.map,g=this.getDoc();if(this.enableFont&&!Ext.isSafari2){var e=(g.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(e!=this.fontSelect.dom.value){this.fontSelect.dom.value=e}}if(this.enableFormat){d.bold.toggle(g.queryCommandState("bold"));d.italic.toggle(g.queryCommandState("italic"));d.underline.toggle(g.queryCommandState("underline"))}if(this.enableAlignments){d.justifyleft.toggle(g.queryCommandState("justifyleft"));d.justifycenter.toggle(g.queryCommandState("justifycenter"));d.justifyright.toggle(g.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){d.insertorderedlist.toggle(g.queryCommandState("insertorderedlist"));d.insertunorderedlist.toggle(g.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(b){this.relayCmd(b.getItemId())},relayCmd:function(c,d){(function(){this.focus();this.execCmd(c,d);this.updateToolbar()}).defer(10,this)},execCmd:function(d,e){var g=this.getDoc();g.execCommand(d,false,e===undefined?null:e);this.syncValue()},applyCommand:function(c){if(c.ctrlKey){var g=c.getCharCode(),e;if(g>0){g=String.fromCharCode(g);switch(g){case"b":e="bold";break;case"i":e="italic";break;case"u":e="underline";break}if(e){this.win.focus();this.execCmd(e);this.deferFocus();c.preventDefault()}}}},insertAtCursor:function(g){if(!this.activated){return}if(Ext.isIE){this.win.focus();var d=this.getDoc(),e=d.selection.createRange();if(e){e.pasteHTML(g);this.syncValue();this.deferFocus()}}else{this.win.focus();this.execCmd("InsertHTML",g);this.deferFocus()}},fixKeys:function(){if(Ext.isIE){return function(k){var h=k.getKey(),l=this.getDoc(),e;if(h==k.TAB){k.stopEvent();e=l.selection.createRange();if(e){e.collapse(true);e.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else{if(h==k.ENTER){e=l.selection.createRange();if(e){var n=e.parentElement();if(!n||n.tagName.toLowerCase()!="li"){k.stopEvent();e.pasteHTML("<br />");e.collapse(false);e.select()}}}}}}else{if(Ext.isOpera){return function(c){var d=c.getKey();if(d==c.TAB){c.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}}else{if(Ext.isWebKit){return function(c){var d=c.getKey();if(d==c.TAB){c.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}else{if(d==c.ENTER){c.stopEvent();this.execCmd("InsertHtml","<br /><br />");this.deferFocus()}}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:undefined,maxValue:undefined,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initDateFormat:"j/n/Y",initComponent:function(){if(Ext.isDefined(this.minValue)){this.setMinValue(this.minValue,true)}if(Ext.isDefined(this.maxValue)){this.setMaxValue(this.maxValue,true)}if(!this.store){this.generateStore(true)}Ext.form.TimeField.superclass.initComponent.call(this)},setMinValue:function(c,d){this.setLimit(c,true,d);return this},setMaxValue:function(c,d){this.setLimit(c,false,d);return this},generateStore:function(e){var k=this.minValue||new Date(this.initDate).clearTime(),g=this.maxValue||new Date(this.initDate).clearTime().add("mi",(24*60)-1),h=[];while(k<=g){h.push(k.dateFormat(this.format));k=k.add("mi",this.increment)}this.bindStore(h,e)},setLimit:function(d,k,h){var l;if(Ext.isString(d)){l=this.parseDate(d)}else{if(Ext.isDate(d)){l=d}}if(l){var n=new Date(this.initDate).clearTime();n.setHours(l.getHours(),l.getMinutes(),l.getSeconds(),l.getMilliseconds());this[k?"minValue":"maxValue"]=n;if(!h){this.generateStore()}}},getValue:function(){var b=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(b))||""},setValue:function(b){return Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(b)))},validateValue:Ext.form.DateField.prototype.validateValue,formatDate:Ext.form.DateField.prototype.formatDate,parseDate:function(p){if(!p||Ext.isDate(p)){return p}var o=this.initDate+" ",q=this.initDateFormat+" ",l=Date.parseDate(o+p,q+this.format),t=this.altFormats;if(!l&&t){if(!this.altFormatsArray){this.altFormatsArray=t.split("|")}for(var r=0,s=this.altFormatsArray,n=s.length;r<n&&!l;r++){l=Date.parseDate(o+p,q+s[r])}}return l}});Ext.reg("timefield",Ext.form.TimeField);Ext.form.SliderField=Ext.extend(Ext.form.Field,{useTips:true,tipText:null,actionMode:"wrap",initComponent:function(){var c=Ext.copyTo({id:this.id+"-slider"},this.initialConfig,["vertical","minValue","maxValue","decimalPrecision","keyIncrement","increment","clickToChange","animate"]);if(this.useTips){var d=this.tipText?{getText:this.tipText}:{};c.plugins=[new Ext.slider.Tip(d)]}this.slider=new Ext.Slider(c);Ext.form.SliderField.superclass.initComponent.call(this)},onRender:function(c,d){this.autoCreate={id:this.id,name:this.name,type:"hidden",tag:"input"};Ext.form.SliderField.superclass.onRender.call(this,c,d);this.wrap=this.el.wrap({cls:"x-form-field-wrap"});this.resizeEl=this.positionEl=this.wrap;this.slider.render(this.wrap)},onResize:function(e,k,h,g){Ext.form.SliderField.superclass.onResize.call(this,e,k,h,g);this.slider.setSize(e,k)},initEvents:function(){Ext.form.SliderField.superclass.initEvents.call(this);this.slider.on("change",this.onChange,this)},onChange:function(c,d){this.setValue(d,undefined,true)},onEnable:function(){Ext.form.SliderField.superclass.onEnable.call(this);this.slider.enable()},onDisable:function(){Ext.form.SliderField.superclass.onDisable.call(this);this.slider.disable()},beforeDestroy:function(){Ext.destroy(this.slider);Ext.form.SliderField.superclass.beforeDestroy.call(this)},alignErrorIcon:function(){this.errorIcon.alignTo(this.slider.el,"tl-tr",[2,0])},setMinValue:function(b){this.slider.setMinValue(b);return this},setMaxValue:function(b){this.slider.setMaxValue(b);return this},setValue:function(g,d,e){if(!e){this.slider.setValue(g,d)}return Ext.form.SliderField.superclass.setValue.call(this,this.slider.getValue())},getValue:function(){return this.slider.getValue()}});Ext.reg("sliderfield",Ext.form.SliderField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(c,d){if(!this.el){this.el=document.createElement("label");this.el.id=this.getId();this.el.innerHTML=this.text?Ext.util.Format.htmlEncode(this.text):(this.html||"");if(this.forId){this.el.setAttribute("for",this.forId)}}Ext.form.Label.superclass.onRender.call(this,c,d)},setText:function(e,d){var g=d===false;this[!g?"text":"html"]=e;delete this[g?"text":"html"];if(this.rendered){this.el.dom.innerHTML=d!==false?Ext.util.Format.htmlEncode(e):e}return this}});Ext.reg("label",Ext.form.Label);Ext.form.Action=function(c,d){this.form=c;this.options=d||{}};Ext.form.Action.CLIENT_INVALID="client";Ext.form.Action.SERVER_INVALID="server";Ext.form.Action.CONNECT_FAILURE="connect";Ext.form.Action.LOAD_FAILURE="load";Ext.form.Action.prototype={type:"default",run:function(b){},success:function(b){},handleResponse:function(b){},failure:function(b){this.response=b;this.failureType=Ext.form.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(b){this.response=b;if(!b.responseText&&!b.responseXML){return true}this.result=this.handleResponse(b);return this.result},getUrl:function(g){var e=this.options.url||this.form.url||this.form.el.dom.action;if(g){var d=this.getParams();if(d){e=Ext.urlAppend(e,d)}}return e},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var d=this.form.baseParams;var c=this.options.params;if(c){if(typeof c=="object"){c=Ext.urlEncode(Ext.applyIf(c,d))}else{if(typeof c=="string"&&d){c+="&"+Ext.urlEncode(d)}}}else{if(d){c=Ext.urlEncode(d)}}return c},createCallback:function(b){var b=b||{};return{success:this.success,failure:this.failure,scope:this,timeout:(b.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}}};Ext.form.Action.Submit=function(c,d){Ext.form.Action.Submit.superclass.constructor.call(this,c,d)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:"submit",run:function(){var n=this.options,l=this.getMethod(),o=l=="GET";if(n.clientValidation===false||this.form.isValid()){if(n.submitEmptyText===false){var k=this.form.items,p=[],h=function(a){if(a.el.getValue()==a.emptyText){p.push(a);a.el.dom.value=""}if(a.isComposite&&a.rendered){a.items.each(h)}};k.each(h)}Ext.Ajax.request(Ext.apply(this.createCallback(n),{form:this.form.el.dom,url:this.getUrl(o),method:l,headers:n.headers,params:!o?this.getParams():null,isUpload:this.form.fileUpload}));if(n.submitEmptyText===false){Ext.each(p,function(a){if(a.applyEmptyText){a.applyEmptyText()}})}}else{if(n.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(c){var d=this.processResponse(c);if(d===true||d.success){this.form.afterAction(this,true);return}if(d.errors){this.form.markInvalid(d.errors)}this.failureType=Ext.form.Action.SERVER_INVALID;this.form.afterAction(this,false)},handleResponse:function(p){if(this.form.errorReader){var h=this.form.errorReader.read(p);var l=[];if(h.records){for(var o=0,k=h.records.length;o<k;o++){var n=h.records[o];l[o]=n.data}}if(l.length<1){l=null}return{success:h.success,errors:l}}return Ext.decode(p.responseText)}});Ext.form.Action.Load=function(c,d){Ext.form.Action.Load.superclass.constructor.call(this,c,d);this.reader=this.form.reader};Ext.extend(Ext.form.Action.Load,Ext.form.Action,{type:"load",run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(this.options),{method:this.getMethod(),url:this.getUrl(false),headers:this.options.headers,params:this.getParams()}))},success:function(c){var d=this.processResponse(c);if(d===true||!d.success||!d.data){this.failureType=Ext.form.Action.LOAD_FAILURE;this.form.afterAction(this,false);return}this.form.clearInvalid();this.form.setValues(d.data);this.form.afterAction(this,true)},handleResponse:function(d){if(this.form.reader){var e=this.form.reader.read(d);var g=e.records&&e.records[0]?e.records[0].data:null;return{success:e.success,data:g}}return Ext.decode(d.responseText)}});Ext.form.Action.DirectLoad=Ext.extend(Ext.form.Action.Load,{constructor:function(c,d){Ext.form.Action.DirectLoad.superclass.constructor.call(this,c,d)},type:"directload",run:function(){var b=this.getParams();b.push(this.success,this);this.form.api.load.apply(window,b)},getParams:function(){var r=[],n={};var p=this.form.baseParams;var o=this.options.params;Ext.apply(n,o,p);var k=this.form.paramOrder;if(k){for(var q=0,l=k.length;q<l;q++){r.push(n[k[q]])}}else{if(this.form.paramsAsHash){r.push(n)}}return r},processResponse:function(b){this.result=b;return b},success:function(d,c){if(c.type==Ext.Direct.exceptions.SERVER){d={}}Ext.form.Action.DirectLoad.superclass.success.call(this,d)}});Ext.form.Action.DirectSubmit=Ext.extend(Ext.form.Action.Submit,{constructor:function(c,d){Ext.form.Action.DirectSubmit.superclass.constructor.call(this,c,d)},type:"directsubmit",run:function(){var b=this.options;if(b.clientValidation===false||this.form.isValid()){this.success.params=this.getParams();this.form.api.submit(this.form.el.dom,this.success,this)}else{if(b.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},getParams:function(){var g={};var e=this.form.baseParams;var d=this.options.params;Ext.apply(g,d,e);return g},processResponse:function(b){this.result=b;return b},success:function(d,c){if(c.type==Ext.Direct.exceptions.SERVER){d={}}Ext.form.Action.DirectSubmit.superclass.success.call(this,d)}});Ext.form.Action.ACTION_TYPES={load:Ext.form.Action.Load,submit:Ext.form.Action.Submit,directload:Ext.form.Action.DirectLoad,directsubmit:Ext.form.Action.DirectSubmit};Ext.form.VTypes=function(){var k=/^[a-zA-Z_]+$/,h=/^[a-zA-Z0-9_]+$/,e=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,g=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{email:function(a){return e.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(a){return g.test(a)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return k.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return h.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{autoExpandColumn:false,autoExpandMax:1000,autoExpandMin:50,columnLines:false,ddText:"{0} selected row{1}",deferRowRender:true,enableColumnHide:true,enableColumnMove:true,enableDragDrop:false,enableHdMenu:true,loadMask:false,minColumnWidth:25,stripeRows:false,trackMouseOver:true,stateEvents:["columnmove","columnresize","sortchange","groupchange"],view:null,bubbleEvents:[],rendered:false,viewReady:false,initComponent:function(){Ext.grid.GridPanel.superclass.initComponent.call(this);if(this.columnLines){this.cls=(this.cls||"")+" x-grid-with-col-lines"}this.autoScroll=false;this.autoWidth=false;if(Ext.isArray(this.columns)){this.colModel=new Ext.grid.ColumnModel(this.columns);delete this.columns}if(this.ds){this.store=this.ds;delete this.ds}if(this.cm){this.colModel=this.cm;delete this.cm}if(this.sm){this.selModel=this.sm;delete this.sm}this.store=Ext.StoreMgr.lookup(this.store);this.addEvents("click","dblclick","contextmenu","mousedown","mouseup","mouseover","mouseout","keypress","keydown","cellmousedown","rowmousedown","headermousedown","groupmousedown","rowbodymousedown","containermousedown","cellclick","celldblclick","rowclick","rowdblclick","headerclick","headerdblclick","groupclick","groupdblclick","containerclick","containerdblclick","rowbodyclick","rowbodydblclick","rowcontextmenu","cellcontextmenu","headercontextmenu","groupcontextmenu","containercontextmenu","rowbodycontextmenu","bodyscroll","columnresize","columnmove","sortchange","groupchange","reconfigure","viewready")},onRender:function(k,g){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var h=this.getGridEl();this.el.addClass("x-grid-panel");this.mon(h,{scope:this,mousedown:this.onMouseDown,click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu});this.relayEvents(h,["mousedown","mouseup","mouseover","mouseout","keypress","keydown"]);var c=this.getView();c.init(this);c.render();this.getSelectionModel().init(this)},initEvents:function(){Ext.grid.GridPanel.superclass.initEvents.call(this);if(this.loadMask){this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({store:this.store},this.loadMask))}},initStateEvents:function(){Ext.grid.GridPanel.superclass.initStateEvents.call(this);this.mon(this.colModel,"hiddenchange",this.saveState,this,{delay:100})},applyState:function(w){var p=this.colModel,s=w.columns,q=this.store,c,r,o;if(s){for(var u=0,t=s.length;u<t;u++){c=s[u];r=p.getColumnById(c.id);if(r){o=p.getIndexById(c.id);p.setState(o,{hidden:c.hidden,width:c.width,sortable:c.sortable});if(o!=u){p.moveColumn(o,u)}}}}if(q){c=w.sort;if(c){q[q.remoteSort?"setDefaultSort":"sort"](c.field,c.direction)}c=w.group;if(q.groupBy){if(c){q.groupBy(c)}else{q.clearGrouping()}}}var v=Ext.apply({},w);delete v.columns;delete v.sort;Ext.grid.GridPanel.superclass.applyState.call(this,v)},getState:function(){var n={columns:[]},c=this.store,o,k;for(var p=0,l;(l=this.colModel.config[p]);p++){n.columns[p]={id:l.id,width:l.width};if(l.hidden){n.columns[p].hidden=true}if(l.sortable){n.columns[p].sortable=true}}if(c){o=c.getSortState();if(o){n.sort=o}if(c.getGroupState){k=c.getGroupState();if(k){n.group=k}}}return n},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.call(this);var b=this.view;this.on("bodyresize",b.layout,b);b.layout(true);if(this.deferRowRender){if(!this.deferRowRenderTask){this.deferRowRenderTask=new Ext.util.DelayedTask(b.afterRender,this.view)}this.deferRowRenderTask.delay(10)}else{b.afterRender()}this.viewReady=true},reconfigure:function(e,d){var g=this.rendered;if(g){if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({},{store:e},this.initialConfig.loadMask))}}if(this.view){this.view.initData(e,d)}this.store=e;this.colModel=d;if(g){this.view.refresh(true)}this.fireEvent("reconfigure",this,e,d)},onDestroy:function(){if(this.deferRowRenderTask&&this.deferRowRenderTask.cancel){this.deferRowRenderTask.cancel()}if(this.rendered){Ext.destroy(this.view,this.loadMask)}else{if(this.store&&this.store.autoDestroy){this.store.destroy()}}Ext.destroy(this.colModel,this.selModel);this.store=this.selModel=this.colModel=this.view=this.loadMask=null;Ext.grid.GridPanel.superclass.onDestroy.call(this)},processEvent:function(d,c){this.view.processEvent(d,c)},onClick:function(b){this.processEvent("click",b)},onMouseDown:function(b){this.processEvent("mousedown",b)},onContextMenu:function(c,d){this.processEvent("contextmenu",c)},onDblClick:function(b){this.processEvent("dblclick",b)},walkCells:function(n,u,v,s,o){var p=this.colModel,r=p.getColumnCount(),w=this.store,q=w.getCount(),t=true;if(v<0){if(u<0){n--;t=false}while(n>=0){if(!t){u=r-1}t=false;while(u>=0){if(s.call(o||this,n,u,p)===true){return[n,u]}u--}n--}}else{if(u>=r){n++;t=false}while(n<q){if(!t){u=0}t=false;while(u<r){if(s.call(o||this,n,u,p)===true){return[n,u]}u++}n++}}return null},getGridEl:function(){return this.body},stopEditing:Ext.emptyFn,getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.grid.RowSelectionModel(this.disableSelection?{selectRow:Ext.emptyFn}:null)}return this.selModel},getStore:function(){return this.store},getColumnModel:function(){return this.colModel},getView:function(){if(!this.view){this.view=new Ext.grid.GridView(this.viewConfig)}return this.view},getDragDropText:function(){var b=this.selModel.getCount();return String.format(this.ddText,b,b==1?"":"s")}});Ext.reg("grid",Ext.grid.GridPanel);Ext.grid.PivotGrid=Ext.extend(Ext.grid.GridPanel,{aggregator:"sum",renderer:undefined,initComponent:function(){Ext.grid.PivotGrid.superclass.initComponent.apply(this,arguments);this.initAxes();this.enableColumnResize=false;this.viewConfig=Ext.apply(this.viewConfig||{},{forceFit:true});this.colModel=new Ext.grid.ColumnModel({})},getAggregator:function(){if(typeof this.aggregator=="string"){return Ext.grid.PivotAggregatorMgr.types[this.aggregator]}else{return this.aggregator}},setAggregator:function(b){this.aggregator=b},setMeasure:function(b){this.measure=b},setLeftAxis:function(c,d){this.leftAxis=c;if(d){this.view.refresh()}},setTopAxis:function(c,d){this.topAxis=c;if(d){this.view.refresh()}},initAxes:function(){var b=Ext.grid.PivotAxis;if(!(this.leftAxis instanceof b)){this.setLeftAxis(new b({orientation:"vertical",dimensions:this.leftAxis||[],store:this.store}))}if(!(this.topAxis instanceof b)){this.setTopAxis(new b({orientation:"horizontal",dimensions:this.topAxis||[],store:this.store}))}},extractData:function(){var D=this.store.data.items,G=D.length,t=[],z,A,B,C;if(G==0){return[]}var y=this.leftAxis.getTuples(),v=y.length,x=this.topAxis.getTuples(),F=x.length,E=this.getAggregator();for(A=0;A<G;A++){z=D[A];for(B=0;B<v;B++){t[B]=t[B]||[];if(y[B].matcher(z)===true){for(C=0;C<F;C++){t[B][C]=t[B][C]||[];if(x[C].matcher(z)){t[B][C].push(z)}}}}}var w=t.length,u,k;for(A=0;A<w;A++){k=t[A];u=k.length;for(B=0;B<u;B++){t[A][B]=E(t[A][B],this.measure)}}return t},getView:function(){if(!this.view){this.view=new Ext.grid.PivotGridView(this.viewConfig)}return this.view}});Ext.reg("pivotgrid",Ext.grid.PivotGrid);Ext.grid.PivotAggregatorMgr=new Ext.AbstractManager();Ext.grid.PivotAggregatorMgr.registerType("sum",function(h,n){var k=h.length,l=0,g;for(g=0;g<k;g++){l+=h[g].get(n)}return l});Ext.grid.PivotAggregatorMgr.registerType("avg",function(h,n){var k=h.length,l=0,g;for(g=0;g<k;g++){l+=h[g].get(n)}return(l/k)||"n/a"});Ext.grid.PivotAggregatorMgr.registerType("min",function(h,n){var k=[],l=h.length,g;for(g=0;g<l;g++){k.push(h[g].get(n))}return Math.min.apply(this,k)||"n/a"});Ext.grid.PivotAggregatorMgr.registerType("max",function(h,n){var k=[],l=h.length,g;for(g=0;g<l;g++){k.push(h[g].get(n))}return Math.max.apply(this,k)||"n/a"});Ext.grid.PivotAggregatorMgr.registerType("count",function(d,c){return d.length});Ext.grid.GridView=Ext.extend(Ext.util.Observable,{deferEmptyText:true,scrollOffset:undefined,autoFill:false,forceFit:false,sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",columnsText:"Columns",selectedRowClass:"x-grid3-row-selected",borderWidth:2,tdClass:"x-grid3-cell",hdCls:"x-grid3-hd",markDirty:true,cellSelectorDepth:4,rowSelectorDepth:10,rowBodySelectorDepth:10,cellSelector:"td.x-grid3-cell",rowSelector:"div.x-grid3-row",rowBodySelector:"div.x-grid3-row-body",firstRowCls:"x-grid3-row-first",lastRowCls:"x-grid3-row-last",rowClsRe:/(?:^|\s+)x-grid3-row-(first|last|alt)(?:\s+|$)/g,headerMenuOpenCls:"x-grid3-hd-menu-open",rowOverCls:"x-grid3-row-over",constructor:function(b){Ext.apply(this,b);this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");Ext.grid.GridView.superclass.constructor.call(this)},masterTpl:new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header">','<div class="x-grid3-header-inner">','<div class="x-grid3-header-offset" style="{ostyle}">{header}</div>',"</div>",'<div class="x-clear"></div>',"</div>",'<div class="x-grid3-scroller">','<div class="x-grid3-body" style="{bstyle}">{body}</div>','<a href="#" class="x-grid3-focus" tabIndex="-1"></a>',"</div>","</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>"),headerTpl:new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<thead>",'<tr class="x-grid3-hd-row">{cells}</tr>',"</thead>","</table>"),bodyTpl:new Ext.Template("{rows}"),cellTpl:new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',"</td>"),initTemplates:function(){var p=this.templates||{},o,h,l=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}" style="{style}">','<div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"","{value}",'<img alt="" class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div>","</td>"),k=['<tr class="x-grid3-row-body-tr" style="{bodyStyle}">','<td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on">','<div class="x-grid3-row-body">{body}</div>',"</td>","</tr>"].join(""),n=['<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody>","<tr>{cells}</tr>",this.enableRowBody?k:"","</tbody>","</table>"].join("");Ext.applyIf(p,{hcell:l,cell:this.cellTpl,body:this.bodyTpl,header:this.headerTpl,master:this.masterTpl,row:new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}">'+n+"</div>"),rowInner:new Ext.Template(n)});for(h in p){o=p[h];if(o&&Ext.isFunction(o.compile)&&!o.compiled){o.disableFormats=true;o.compile()}}this.templates=p;this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")},fly:function(b){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=b;return this._flyweight},getEditorParent:function(){return this.scroller.dom},initElements:function(){var g=Ext.Element,l=Ext.get(this.grid.getGridEl().dom.firstChild),k=new g(l.child("div.x-grid3-viewport")),n=new g(k.child("div.x-grid3-header")),h=new g(k.child("div.x-grid3-scroller"));if(this.grid.hideHeaders){n.setDisplayed(false)}if(this.forceFit){h.setStyle("overflow-x","hidden")}Ext.apply(this,{el:l,mainWrap:k,scroller:h,mainHd:n,innerHd:n.child("div.x-grid3-header-inner").dom,mainBody:new g(g.fly(h).child("div.x-grid3-body")),focusEl:new g(g.fly(h).child("a")),resizeMarker:new g(l.child("div.x-grid3-resize-marker")),resizeProxy:new g(l.child("div.x-grid3-resize-proxy"))});this.focusEl.swallowEvent("click",true)},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(b){if(!b){return false}return this.fly(b).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(h,k){var e=this.findCell(h),g;if(e){g=this.fly(e).hasClass(k);if(!k||g){return this.getCellIndex(e)}}return false},getCellIndex:function(c){if(c){var d=c.className.match(this.colRe);if(d&&d[1]){return this.cm.getIndexById(d[1])}}return false},findHeaderCell:function(c){var d=this.findCell(c);return d&&this.fly(d).hasClass(this.hdCls)?d:null},findHeaderIndex:function(b){return this.findCellIndex(b,this.hdCls)},findRow:function(b){if(!b){return false}return this.fly(b).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(d){var c=this.findRow(d);return c?c.rowIndex:false},findRowBody:function(b){if(!b){return false}return this.fly(b).findParent(this.rowBodySelector,this.rowBodySelectorDepth)},getRow:function(b){return this.getRows()[b]},getCell:function(c,d){return Ext.fly(this.getRow(c)).query(this.cellSelector)[d]},getHeaderCell:function(b){return this.mainHd.dom.getElementsByTagName("td")[b]},addRowClass:function(d,e){var g=this.getRow(d);if(g){this.fly(g).addClass(e)}},removeRowClass:function(g,e){var d=this.getRow(g);if(d){this.fly(d).removeClass(e)}},removeRow:function(b){Ext.removeNode(this.getRow(b));this.syncFocusEl(b)},removeRows:function(k,g){var e=this.mainBody.dom,h;for(h=k;h<=g;h++){Ext.removeNode(e.childNodes[k])}this.syncFocusEl(k)},getScrollState:function(){var b=this.scroller.dom;return{left:b.scrollLeft,top:b.scrollTop}},restoreScroll:function(d){var c=this.scroller.dom;c.scrollLeft=d.left;c.scrollTop=d.top},scrollToTop:function(){var b=this.scroller.dom;b.scrollTop=0;b.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var b=this.scroller.dom;this.grid.fireEvent("bodyscroll",b.scrollLeft,b.scrollTop)},syncHeaderScroll:function(){var d=this.innerHd,c=this.scroller.dom.scrollLeft;d.scrollLeft=c;d.scrollLeft=c},updateSortIcon:function(l,n){var h=this.sortClasses,g=h[n=="DESC"?1:0],k=this.mainHd.select("td").removeClass(h);k.item(l).addClass(g)},updateAllColumnWidths:function(){var s=this.getTotalWidth(),p=this.cm.getColumnCount(),n=this.getRows(),r=n.length,v=[],o,w,q,t,u;for(t=0;t<p;t++){v[t]=this.getColumnWidth(t);this.getHeaderCell(t).style.width=v[t]}this.updateHeaderWidth();for(t=0;t<r;t++){o=n[t];o.style.width=s;w=o.firstChild;if(w){w.style.width=s;q=w.rows[0];for(u=0;u<p;u++){q.childNodes[u].style.width=v[u]}}}this.onAllColumnWidthsUpdated(v,s)},updateColumnWidth:function(t,v){var u=this.getColumnWidth(t),p=this.getTotalWidth(),q=this.getHeaderCell(t),w=this.getRows(),s=w.length,n,r,o;this.updateHeaderWidth();q.style.width=u;for(r=0;r<s;r++){n=w[r];o=n.firstChild;n.style.width=p;if(o){o.style.width=p;o.rows[0].childNodes[t].style.width=u}}this.onColumnWidthUpdated(t,u,p)},updateColumnHidden:function(v,p){var q=this.getTotalWidth(),o=p?"none":"",r=this.getHeaderCell(v),w=this.getRows(),t=w.length,n,u,s;this.updateHeaderWidth();r.style.display=o;for(s=0;s<t;s++){n=w[s];n.style.width=q;u=n.firstChild;if(u){u.style.width=q;u.rows[0].childNodes[v].style.display=o}}this.onColumnHiddenUpdated(v,p,q);delete this.lastViewWidth;this.layout()},doRender:function(R,C,L,U,G,E){var O=this.templates,S=O.cell,z=O.row,J=G-1,T="width:"+this.getTotalWidth()+";",N=[],M=[],K={tstyle:T},H={},B=C.length,A,P,Q,D,F,I;for(F=0;F<B;F++){Q=C[F];M=[];I=F+U;for(D=0;D<G;D++){P=R[D];H.id=P.id;H.css=D===0?"x-grid3-cell-first ":(D==J?"x-grid3-cell-last ":"");H.attr=H.cellAttr="";H.style=P.style;H.value=P.renderer.call(P.scope,Q.data[P.name],H,Q,I,D,L);if(Ext.isEmpty(H.value)){H.value="&#160;"}if(this.markDirty&&Q.dirty&&typeof Q.modified[P.name]!="undefined"){H.css+=" x-grid3-dirty-cell"}M[M.length]=S.apply(H)}A=[];if(E&&((I+1)%2===0)){A[0]="x-grid3-row-alt"}if(Q.dirty){A[1]=" x-grid3-dirty-row"}K.cols=G;if(this.getRowClass){A[2]=this.getRowClass(Q,I,K,L)}K.alt=A.join(" ");K.cells=M.join("");N[N.length]=z.apply(K)}return N.join("")},processRows:function(k,l){if(!this.ds||this.ds.getCount()<1){return}var o=this.getRows(),p=o.length,n,h;l=l||!this.grid.stripeRows;k=k||0;for(h=0;h<p;h++){n=o[h];if(n){n.rowIndex=h;if(!l){n.className=n.className.replace(this.rowClsRe," ");if((h+1)%2===0){n.className+=" x-grid3-row-alt"}}}}if(k===0){Ext.fly(o[0]).addClass(this.firstRowCls)}Ext.fly(o[p-1]).addClass(this.lastRowCls)},afterRender:function(){if(!this.ds||!this.cm){return}this.mainBody.dom.innerHTML=this.renderBody()||"&#160;";this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}this.grid.fireEvent("viewready",this.grid)},afterRenderUI:function(){var b=this.grid;this.initElements();Ext.fly(this.innerHd).on("click",this.handleHdDown,this);this.mainHd.on({scope:this,mouseover:this.handleHdOver,mouseout:this.handleHdOut,mousemove:this.handleHdMove});this.scroller.on("scroll",this.syncScroll,this);if(b.enableColumnResize!==false){this.splitZone=new Ext.grid.GridView.SplitDragZone(b,this.mainHd.dom)}if(b.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(b,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(b,this.mainHd.dom)}if(b.enableHdMenu!==false){this.hmenu=new Ext.menu.Menu({id:b.id+"-hctx"});this.hmenu.add({itemId:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{itemId:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"});if(b.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:b.id+"-hcols-menu"});this.colMenu.on({scope:this,beforeshow:this.beforeColMenuShow,itemclick:this.handleHdMenuClick});this.hmenu.add("-",{itemId:"columns",hideOnClick:false,text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})}this.hmenu.on("itemclick",this.handleHdMenuClick,this)}if(b.trackMouseOver){this.mainBody.on({scope:this,mouseover:this.onRowOver,mouseout:this.onRowOut})}if(b.enableDragDrop||b.enableDrag){this.dragZone=new Ext.grid.GridDragZone(b,{ddGroup:b.ddGroup||"GridDD"})}this.updateHeaderSortState()},renderUI:function(){var b=this.templates;return b.master.apply({body:b.body.apply({rows:"&#160;"}),header:this.renderHeaders(),ostyle:"width:"+this.getOffsetWidth()+";",bstyle:"width:"+this.getTotalWidth()+";"})},processEvent:function(t,p){var o=p.getTarget(),u=this.grid,r=this.findHeaderIndex(o),e,n,s,q;u.fireEvent(t,p);if(r!==false){u.fireEvent("header"+t,u,r,p)}else{e=this.findRowIndex(o);if(e!==false){n=this.findCellIndex(o);if(n!==false){s=u.colModel.getColumnAt(n);if(u.fireEvent("cell"+t,u,e,n,p)!==false){if(!s||(s.processEvent&&(s.processEvent(t,p,u,e,n)!==false))){u.fireEvent("row"+t,u,e,p)}}}else{if(u.fireEvent("row"+t,u,e,p)!==false){(q=this.findRowBody(o))&&u.fireEvent("rowbody"+t,u,e,p)}}}else{u.fireEvent("container"+t,u,p)}}},layout:function(o){if(!this.mainBody){return}var w=this.grid,t=w.getGridEl(),u=t.getSize(true),p=u.width,v=u.height,q=this.scroller,r,s,n;if(p<20||v<20){return}if(w.autoHeight){r=q.dom.style;r.overflow="visible";if(Ext.isWebKit){r.position="static"}}else{this.el.setSize(p,v);s=this.mainHd.getHeight();n=v-s;q.setSize(p,n);if(this.innerHd){this.innerHd.style.width=(p)+"px"}}if(this.forceFit||(o===true&&this.autoFill)){if(this.lastViewWidth!=p){this.fitColumns(false,false);this.lastViewWidth=p}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(p,n)},onLayout:function(d,c){},onColumnWidthUpdated:function(g,e,d){},onAllColumnWidthsUpdated:function(d,c){},onColumnHiddenUpdated:function(d,g,e){},updateColumnText:function(d,c){},afterMove:function(b){},init:function(b){this.grid=b;this.initTemplates();this.initData(b.store,b.colModel);this.initUI(b)},getColumnId:function(b){return this.cm.getColumnId(b)},getOffsetWidth:function(){return(this.cm.getTotalWidth()+this.getScrollOffset())+"px"},getScrollOffset:function(){return Ext.num(this.scrollOffset,Ext.getScrollBarWidth())},renderHeaders:function(){var r=this.cm,q=this.templates,v=q.hcell,s={},p=r.getColumnCount(),o=p-1,n=[],t,u;for(t=0;t<p;t++){if(t==0){u="x-grid3-cell-first "}else{u=t==o?"x-grid3-cell-last ":""}s={id:r.getColumnId(t),value:r.getColumnHeader(t)||"",style:this.getColumnStyle(t,true),css:u,tooltip:this.getColumnTooltip(t)};if(r.config[t].align=="right"){s.istyle="padding-right: 16px;"}else{delete s.istyle}n[t]=v.apply(s)}return q.header.apply({cells:n.join(""),tstyle:String.format("width: {0};",this.getTotalWidth())})},getColumnTooltip:function(d){var c=this.cm.getColumnTooltip(d);if(c){if(Ext.QuickTips.isEnabled()){return'ext:qtip="'+c+'"'}else{return'title="'+c+'"'}}return""},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders();this.updateHeaderWidth(false)},updateHeaderWidth:function(g){var d=this.innerHd.firstChild,e=this.getTotalWidth();d.style.width=this.getOffsetWidth();d.firstChild.style.width=e;if(g!==false){this.mainBody.dom.style.width=e}},focusRow:function(b){this.focusCell(b,0,false)},focusCell:function(h,e,k){this.syncFocusEl(this.ensureVisible(h,e,k));var g=this.focusEl;if(Ext.isGecko){g.focus()}else{g.focus.defer(1,g)}},resolveCell:function(n,q,o){if(!Ext.isNumber(n)){n=n.rowIndex}if(!this.ds){return null}if(n<0||n>=this.ds.getCount()){return null}q=(q!==undefined?q:0);var r=this.getRow(n),k=this.cm,p=k.getColumnCount(),l;if(!(o===false&&q===0)){while(q<p&&k.isHidden(q)){q++}l=this.getCell(n,q)}return{row:r,cell:l}},getResolvedXY:function(d){if(!d){return null}var e=d.cell,g=d.row;if(e){return Ext.fly(e).getXY()}else{return[this.el.getX(),Ext.fly(g).getY()]}},syncFocusEl:function(h,g,k){var e=h;if(!Ext.isArray(e)){h=Math.min(h,Math.max(0,this.getRows().length-1));if(isNaN(h)){return}e=this.getResolvedXY(this.resolveCell(h,g,k))}this.focusEl.setXY(e||this.scroller.getXY())},ensureVisible:function(H,C,D){var J=this.resolveCell(H,C,D);if(!J||!J.row){return null}var y=J.row,B=J.cell,v=this.scroller.dom,E=y,I=0,p=this.el.dom;while(E&&E!=p){I+=E.offsetTop;E=E.offsetParent}I-=this.mainHd.dom.offsetHeight;p=parseInt(v.scrollTop,10);var c=I+y.offsetHeight,G=v.clientHeight,w=p+G;if(I<p){v.scrollTop=I}else{if(c>w){v.scrollTop=c-G}}if(D!==false){var x=parseInt(B.offsetLeft,10),z=x+B.offsetWidth,A=parseInt(v.scrollLeft,10),F=A+v.clientWidth;if(x<A){v.scrollLeft=x}else{if(z>F){v.scrollLeft=z-v.clientWidth}}}return this.getResolvedXY(J)},insertRows:function(l,n,q,o){var r=l.getCount()-1;if(!o&&n===0&&q>=r){this.fireEvent("beforerowsinserted",this,n,q);this.refresh();this.fireEvent("rowsinserted",this,n,q)}else{if(!o){this.fireEvent("beforerowsinserted",this,n,q)}var k=this.renderRows(n,q),p=this.getRow(n);if(p){if(n===0){Ext.fly(this.getRow(0)).removeClass(this.firstRowCls)}Ext.DomHelper.insertHtml("beforeBegin",p,k)}else{var s=this.getRow(r-1);if(s){Ext.fly(s).removeClass(this.lastRowCls)}Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,k)}if(!o){this.processRows(n);this.fireEvent("rowsinserted",this,n,q)}else{if(n===0||n>=r){Ext.fly(this.getRow(n)).addClass(n===0?this.firstRowCls:this.lastRowCls)}}}this.syncFocusEl(n)},deleteRows:function(e,g,d){if(e.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,g,d);this.removeRows(g,d);this.processRows(g);this.fireEvent("rowsdeleted",this,g,d)}},getColumnStyle:function(h,o){var k=this.cm,l=k.config,p=o?"":l[h].css||"",n=l[h].align;p+=String.format("width: {0};",this.getColumnWidth(h));if(k.isHidden(h)){p+="display: none; "}if(n){p+=String.format("text-align: {0};",n)}return p},getColumnWidth:function(d){var g=this.cm.getColumnWidth(d),e=this.borderWidth;if(Ext.isNumber(g)){if(Ext.isBorderBox||(Ext.isWebKit&&!Ext.isSafari2)){return g+"px"}else{return Math.max(g-e,0)+"px"}}else{return g}},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(J,H,I){var O=this.grid,F=this.cm,y=F.getTotalWidth(false),A=this.getGridInnerWidth(),z=A-y,M=[],C=0,D=0,w,L,B;if(A<20||z===0){return false}var K=F.getColumnCount(true),E=F.getColumnCount(false),N=K-(Ext.isNumber(I)?1:0);if(N===0){N=1;I=undefined}for(B=0;B<E;B++){if(!F.isFixed(B)&&B!==I){w=F.getColumnWidth(B);M.push(B,w);if(!F.isHidden(B)){C=B;D+=w}}}L=(A-F.getTotalWidth())/D;while(M.length){w=M.pop();B=M.pop();F.setColumnWidth(B,Math.max(O.minColumnWidth,Math.floor(w+w*L)),true)}y=F.getTotalWidth(false);if(y>A){var x=(N==K)?C:I,G=Math.max(1,F.getColumnWidth(x)-(y-A));F.setColumnWidth(x,G,true)}if(J!==true){this.updateAllColumnWidths()}return true},autoExpand:function(n){var w=this.grid,p=this.cm,s=this.getGridInnerWidth(),u=p.getTotalWidth(false),r=w.autoExpandColumn;if(!this.userResized&&r){if(s!=u){var o=p.getIndexById(r),v=p.getColumnWidth(o),q=s-u+v,t=Math.min(Math.max(q,w.autoExpandMin),w.autoExpandMax);if(v!=t){p.setColumnWidth(o,t,true);if(n!==true){this.updateColumnWidth(o,t)}}}}},getGridInnerWidth:function(){return this.grid.getGridEl().getWidth(true)-this.getScrollOffset()},getColumnData:function(){var n=[],p=this.cm,l=p.getColumnCount(),k=this.ds.fields,o,h;for(o=0;o<l;o++){h=p.getDataIndex(o);n[o]={name:Ext.isDefined(h)?h:(k.get(o)?k.get(o).name:undefined),renderer:p.getRenderer(o),scope:p.getRendererScope(o),id:p.getColumnId(o),style:this.getColumnStyle(o)}}return n},renderRows:function(n,s){var u=this.grid,p=u.store,l=u.stripeRows,q=u.colModel,o=q.getColumnCount(),r=p.getCount(),t;if(r<1){return""}n=n||0;s=Ext.isDefined(s)?s:r-1;t=p.getRange(n,s);return this.doRender(this.getColumnData(),t,p,n,o,l)},renderBody:function(){var b=this.renderRows()||"&#160;";return this.templates.body.apply({rows:b})},refreshRow:function(B){var x=this.ds,w=this.cm.getColumnCount(),E=this.getColumnData(),v=w-1,t=["x-grid3-row"],C={tstyle:String.format("width: {0};",this.getTotalWidth())},G=[],y=this.templates.cell,z,s,F,u,A,D;if(Ext.isNumber(B)){z=B;B=x.getAt(z)}else{z=x.indexOf(B)}if(!B||z<0){return}for(D=0;D<w;D++){F=E[D];if(D==0){A="x-grid3-cell-first"}else{A=(D==v)?"x-grid3-cell-last ":""}u={id:F.id,style:F.style,css:A,attr:"",cellAttr:""};u.value=F.renderer.call(F.scope,B.data[F.name],u,B,z,D,x);if(Ext.isEmpty(u.value)){u.value="&#160;"}if(this.markDirty&&B.dirty&&typeof B.modified[F.name]!="undefined"){u.css+=" x-grid3-dirty-cell"}G[D]=y.apply(u)}s=this.getRow(z);s.className="";if(this.grid.stripeRows&&((z+1)%2===0)){t.push("x-grid3-row-alt")}if(this.getRowClass){C.cols=w;t.push(this.getRowClass(B,z,C,x))}this.fly(s).addClass(t).setStyle(C.tstyle);C.cells=G.join("");s.innerHTML=this.templates.rowInner.apply(C);this.fireEvent("rowupdated",this,z,B)},refresh:function(c){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var d=this.renderBody();this.mainBody.update(d).setWidth(this.getTotalWidth());if(c===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},applyEmptyText:function(){if(this.emptyText&&!this.hasRows()){this.mainBody.update('<div class="x-grid-empty">'+this.emptyText+"</div>")}},updateHeaderSortState:function(){var d=this.ds.getSortState();if(!d){return}if(!this.sortState||(this.sortState.field!=d.field||this.sortState.direction!=d.direction)){this.grid.fireEvent("sortchange",this.grid,d)}this.sortState=d;var g=this.cm.findColumnIndex(d.field);if(g!=-1){var e=d.direction;this.updateSortIcon(g,e)}},clearHeaderSortState:function(){if(!this.sortState){return}this.grid.fireEvent("sortchange",this.grid,null);this.mainHd.select("td").removeClass(this.sortClasses);delete this.sortState},destroy:function(){var o=this,w=o.grid,t=w.getGridEl(),p=o.dragZone,r=o.splitZone,q=o.columnDrag,s=o.columnDrop,n=o.scrollToTopTask,u,v;if(n&&n.cancel){n.cancel()}Ext.destroyMembers(o,"colMenu","hmenu");o.initData(null,null);o.purgeListeners();Ext.fly(o.innerHd).un("click",o.handleHdDown,o);if(w.enableColumnMove){u=q.dragData;v=q.proxy;Ext.destroy(q.el,v.ghost,v.el,s.el,s.proxyTop,s.proxyBottom,u.ddel,u.header);if(v.anim){Ext.destroy(v.anim)}delete v.ghost;delete u.ddel;delete u.header;q.destroy();delete Ext.dd.DDM.locationCache[q.id];delete q._domRef;delete s.proxyTop;delete s.proxyBottom;s.destroy();delete Ext.dd.DDM.locationCache["gridHeader"+t.id];delete s._domRef;delete Ext.dd.DDM.ids[s.ddGroup]}if(r){r.destroy();delete r._domRef;delete Ext.dd.DDM.ids["gridSplitters"+t.id]}Ext.fly(o.innerHd).removeAllListeners();Ext.removeNode(o.innerHd);delete o.innerHd;Ext.destroy(o.el,o.mainWrap,o.mainHd,o.scroller,o.mainBody,o.focusEl,o.resizeMarker,o.resizeProxy,o.activeHdBtn,o._flyweight,p,r);delete w.container;if(p){p.destroy()}Ext.dd.DDM.currentTarget=null;delete Ext.dd.DDM.locationCache[t.id];Ext.EventManager.removeResizeListener(o.onWindowResize,o)},onDenyColumnHide:function(){},render:function(){if(this.autoFill){var b=this.grid.ownerCt;if(b&&b.getLayout()){b.on("afterlayout",function(){this.fitColumns(true,true);this.updateHeaders();this.updateHeaderSortState()},this,{single:true})}}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.grid.getGridEl().dom.innerHTML=this.renderUI();this.afterRenderUI()},initData:function(h,k){var g=this;if(g.ds){var l=g.ds;l.un("add",g.onAdd,g);l.un("load",g.onLoad,g);l.un("clear",g.onClear,g);l.un("remove",g.onRemove,g);l.un("update",g.onUpdate,g);l.un("datachanged",g.onDataChange,g);if(l!==h&&l.autoDestroy){l.destroy()}}if(h){h.on({scope:g,load:g.onLoad,add:g.onAdd,remove:g.onRemove,update:g.onUpdate,clear:g.onClear,datachanged:g.onDataChange})}if(g.cm){var n=g.cm;n.un("configchange",g.onColConfigChange,g);n.un("widthchange",g.onColWidthChange,g);n.un("headerchange",g.onHeaderChange,g);n.un("hiddenchange",g.onHiddenChange,g);n.un("columnmoved",g.onColumnMove,g)}if(k){delete g.lastViewWidth;k.on({scope:g,configchange:g.onColConfigChange,widthchange:g.onColWidthChange,headerchange:g.onHeaderChange,hiddenchange:g.onHiddenChange,columnmoved:g.onColumnMove})}g.ds=h;g.cm=k},onDataChange:function(){this.refresh(true);this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(c,d){this.refreshRow(d)},onAdd:function(d,e,g){this.insertRows(d,g,g+(e.length-1))},onRemove:function(e,g,k,h){if(h!==true){this.fireEvent("beforerowremoved",this,k,g)}this.removeRow(k);if(h!==true){this.processRows(k);this.applyEmptyText();this.fireEvent("rowremoved",this,k,g)}},onLoad:function(){if(Ext.isGecko){if(!this.scrollToTopTask){this.scrollToTopTask=new Ext.util.DelayedTask(this.scrollToTop,this)}this.scrollToTopTask.delay(1)}else{this.scrollToTop()}},onColWidthChange:function(e,d,g){this.updateColumnWidth(d,g)},onHeaderChange:function(e,d,g){this.updateHeaders()},onHiddenChange:function(e,d,g){this.updateColumnHidden(d,g)},onColumnMove:function(e,g,d){this.indexMap=null;this.refresh(true);this.restoreScroll(this.getScrollState());this.afterMove(d);this.grid.fireEvent("columnmove",g,d)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(b){b.on("headerclick",this.onHeaderClick,this)},initEvents:Ext.emptyFn,onHeaderClick:function(c,d){if(this.headersDisabled||!this.cm.isSortable(d)){return}c.stopEditing(true);c.store.sort(this.cm.getDataIndex(d))},onRowOver:function(d,e){var g=this.findRowIndex(e);if(g!==false){this.addRowClass(g,this.rowOverCls)}},onRowOut:function(d,e){var g=this.findRowIndex(e);if(g!==false&&!d.within(this.getRow(g),true)){this.removeRowClass(g,this.rowOverCls)}},onRowSelect:function(b){this.addRowClass(b,this.selectedRowClass)},onRowDeselect:function(b){this.removeRowClass(b,this.selectedRowClass)},onCellSelect:function(g,d){var e=this.getCell(g,d);if(e){this.fly(e).addClass("x-grid3-cell-selected")}},onCellDeselect:function(g,d){var e=this.getCell(g,d);if(e){this.fly(e).removeClass("x-grid3-cell-selected")}},handleWheel:function(b){b.stopPropagation()},onColumnSplitterMoved:function(d,c){this.userResized=true;this.grid.colModel.setColumnWidth(d,c,true);if(this.forceFit){this.fitColumns(true,false,d);this.updateAllColumnWidths()}else{this.updateColumnWidth(d,c);this.syncHeaderScroll()}this.grid.fireEvent("columnresize",d,c)},beforeColMenuShow:function(){var e=this.cm,h=e.getColumnCount(),g=this.colMenu,k;g.removeAll();for(k=0;k<h;k++){if(e.config[k].hideable!==false){g.add(new Ext.menu.CheckItem({text:e.getColumnHeader(k),itemId:"col-"+e.getColumnId(k),checked:!e.isHidden(k),disabled:e.config[k].hideable===false,hideOnClick:false}))}}},handleHdMenuClick:function(g){var e=this.ds,d=this.cm.getDataIndex(this.hdCtxIndex);switch(g.getItemId()){case"asc":e.sort(d,"ASC");break;case"desc":e.sort(d,"DESC");break;default:this.handleHdMenuClickDefault(g)}return true},handleHdMenuClickDefault:function(k){var e=this.cm,h=k.getItemId(),g=e.getIndexById(h.substr(4));if(g!=-1){if(k.checked&&e.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return}e.setHidden(g,k.checked)}},handleHdDown:function(o,n){if(Ext.fly(n).hasClass("x-grid3-hd-btn")){o.stopEvent();var e=this.cm,q=this.findHeaderCell(n),p=this.getCellIndex(q),r=e.isSortable(p),s=this.hmenu,t=s.items,u=this.headerMenuOpenCls;this.hdCtxIndex=p;Ext.fly(q).addClass(u);t.get("asc").setDisabled(!r);t.get("desc").setDisabled(!r);s.on("hide",function(){Ext.fly(q).removeClass(u)},this,{single:true});s.show(n,"tl-bl?")}},handleHdMove:function(v){var x=this.findHeaderCell(this.activeHdRef);if(x&&!this.headersDisabled){var u=this.splitHandleWidth||5,w=this.activeHdRegion,e=x.style,t=this.cm,r="",z=v.getPageX();if(this.grid.enableColumnResize!==false){var D=this.activeHdIndex,C=this.getPreviousVisible(D),s=t.isResizable(D),B=C&&t.isResizable(C),A=z-w.left<=u,y=w.right-z<=(!this.activeHdBtn?u:2);if(A&&B){r=Ext.isAir?"move":Ext.isWebKit?"e-resize":"col-resize"}else{if(y&&s){r=Ext.isAir?"move":Ext.isWebKit?"w-resize":"col-resize"}}}e.cursor=r}},getPreviousVisible:function(b){while(b>0){if(!this.cm.isHidden(b-1)){return b}b--}return undefined},handleHdOver:function(k,e){var h=this.findHeaderCell(e);if(h&&!this.headersDisabled){var g=this.fly(h);this.activeHdRef=e;this.activeHdIndex=this.getCellIndex(h);this.activeHdRegion=g.getRegion();if(!this.isMenuDisabled(this.activeHdIndex,g)){g.addClass("x-grid3-hd-over");this.activeHdBtn=g.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(h.firstChild.offsetHeight-1)+"px"}}}},handleHdOut:function(d,e){var g=this.findHeaderCell(e);if(g&&(!Ext.isIE||!d.within(g,true))){this.activeHdRef=null;this.fly(g).removeClass("x-grid3-hd-over");g.style.cursor=""}},isMenuDisabled:function(d,c){return this.cm.isMenuDisabled(d)},hasRows:function(){var b=this.mainBody.dom.firstChild;return b&&b.nodeType==1&&b.className!="x-grid-empty"},isHideableColumn:function(b){return !b.hidden},bind:function(d,c){this.initData(d,c)}});Ext.grid.GridView.SplitDragZone=Ext.extend(Ext.dd.DDProxy,{constructor:function(d,c){this.grid=d;this.view=d.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,c,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.scroll=false;this.hw=this.view.splitHandleWidth||5},b4StartDrag:function(h,k){this.dragHeadersDisabled=this.view.headersDisabled;this.view.headersDisabled=true;var l=this.view.mainWrap.getHeight();this.marker.setHeight(l);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(l);var g=this.cm.getColumnWidth(this.cellIndex),n=Math.max(g-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(n,1000);this.setYConstraint(0,0);this.minX=h-n;this.maxX=h+1000;this.startPos=h;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,h,k)},allowHeaderDrag:function(b){return true},handleMouseDown:function(u){var p=this.view.findHeaderCell(u.getTarget());if(p&&this.allowHeaderDrag(u)){var e=this.view.fly(p).getXY(),s=e[0],o=u.getXY(),t=o[0],q=p.offsetWidth,r=false;if((t-s)<=this.hw){r=-1}else{if((s+q)-t<=this.hw){r=0}}if(r!==false){this.cm=this.grid.colModel;var n=this.view.getCellIndex(p);if(r==-1){if(n+r<0){return}while(this.cm.isHidden(n+r)){--r;if(n+r<0){return}}}this.cellIndex=n+r;this.split=p.dom;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}else{if(this.view.columnDrag){this.view.columnDrag.callHandleMouseDown(u)}}}},endDrag:function(k){this.marker.hide();var h=this.view,n=Math.max(this.minX,k.getPageX()),l=n-this.startPos,e=this.dragHeadersDisabled;h.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+l);setTimeout(function(){h.headersDisabled=e},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.PivotGridView=Ext.extend(Ext.grid.GridView,{colHeaderCellCls:"grid-hd-group-cell",title:"",getColumnHeaders:function(){return this.grid.topAxis.buildHeaders()},getRowHeaders:function(){return this.grid.leftAxis.buildHeaders()},renderRows:function(M,y){var L=this.grid,C=L.extractData(),B=C.length,I=this.templates,z=L.renderer,G=typeof z=="function",w=this.getCellCls,D=typeof w=="function",J=I.cell,v=I.row,F=[],A={},K="width:"+this.getGridInnerWidth()+"px;",E,H,x;M=M||0;y=Ext.isDefined(y)?y:B-1;for(x=0;x<B;x++){row=C[x];colCount=row.length;E=[];rowIndex=M+x;for(j=0;j<colCount;j++){cell=row[j];A.css=j===0?"x-grid3-cell-first ":(j==(colCount-1)?"x-grid3-cell-last ":"");A.attr=A.cellAttr="";A.value=cell;if(Ext.isEmpty(A.value)){A.value="&#160;"}if(G){A.value=z(A.value)}if(D){A.css+=w(A.value)+" "}E[E.length]=J.apply(A)}F[F.length]=v.apply({tstyle:K,cols:colCount,cells:E.join(""),alt:""})}return F.join("")},masterTpl:new Ext.Template('<div class="x-grid3 x-pivotgrid" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header">','<div class="x-grid3-header-title"><span>{title}</span></div>','<div class="x-grid3-header-inner">','<div class="x-grid3-header-offset" style="{ostyle}"></div>',"</div>",'<div class="x-clear"></div>',"</div>",'<div class="x-grid3-scroller">','<div class="x-grid3-row-headers"></div>','<div class="x-grid3-body" style="{bstyle}">{body}</div>','<a href="#" class="x-grid3-focus" tabIndex="-1"></a>',"</div>","</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>"),initTemplates:function(){Ext.grid.PivotGridView.superclass.initTemplates.apply(this,arguments);var b=this.templates||{};if(!b.gcell){b.gcell=new Ext.XTemplate('<td class="x-grid3-hd x-grid3-gcell x-grid3-td-{id} ux-grid-hd-group-row-{row} '+this.colHeaderCellCls+'" style="{style}">','<div {tooltip} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"","{value}","</div>","</td>")}this.templates=b;this.hrowRe=new RegExp("ux-grid-hd-group-row-(\\d+)","")},initElements:function(){Ext.grid.PivotGridView.superclass.initElements.apply(this,arguments);this.rowHeadersEl=new Ext.Element(this.scroller.child("div.x-grid3-row-headers"));this.headerTitleEl=new Ext.Element(this.mainHd.child("div.x-grid3-header-title"))},getGridInnerWidth:function(){var b=Ext.grid.PivotGridView.superclass.getGridInnerWidth.apply(this,arguments);return b-this.getTotalRowHeaderWidth()},getTotalRowHeaderWidth:function(){var h=this.getRowHeaders(),k=h.length,e=0,g;for(g=0;g<k;g++){e+=h[g].width}return e},getTotalColumnHeaderHeight:function(){return this.getColumnHeaders().length*21},renderUI:function(){var c=this.templates,d=this.getGridInnerWidth();return c.master.apply({body:c.body.apply({rows:"&#160;"}),ostyle:"width:"+d+"px",bstyle:"width:"+d+"px"})},onLayout:function(c,d){Ext.grid.PivotGridView.superclass.onLayout.apply(this,arguments);var c=this.getGridInnerWidth();this.resizeColumnHeaders(c);this.resizeAllRows(c)},refresh:function(c){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var d=this.renderBody();this.mainBody.update(d).setWidth(this.getGridInnerWidth());if(c===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},renderHeaders:Ext.emptyFn,fitColumns:Ext.emptyFn,resizeColumnHeaders:function(c){var d=this.grid.topAxis;if(d.rendered){d.el.setWidth(c)}},resizeRowHeaders:function(){var d=this.getTotalRowHeaderWidth(),c=String.format("margin-left: {0}px;",d);this.rowHeadersEl.setWidth(d);this.mainBody.applyStyles(c);Ext.fly(this.innerHd).applyStyles(c);this.headerTitleEl.setWidth(d);this.headerTitleEl.setHeight(this.getTotalColumnHeaderHeight())},resizeAllRows:function(e){var h=this.getRows(),k=h.length,g;for(g=0;g<k;g++){Ext.fly(h[g]).setWidth(e);Ext.fly(h[g]).child("table").setWidth(e)}},updateHeaders:function(){this.renderGroupRowHeaders();this.renderGroupColumnHeaders()},renderGroupRowHeaders:function(){var b=this.grid.leftAxis;this.resizeRowHeaders();b.rendered=false;b.render(this.rowHeadersEl);this.setTitle(this.title)},setTitle:function(b){this.headerTitleEl.child("span").dom.innerHTML=b},renderGroupColumnHeaders:function(){var b=this.grid.topAxis;b.rendered=false;b.render(this.innerHd.firstChild)},isMenuDisabled:function(d,c){return true}});Ext.grid.PivotAxis=Ext.extend(Ext.Component,{orientation:"horizontal",defaultHeaderWidth:80,paddingWidth:7,setDimensions:function(b){this.dimensions=b},onRender:function(d,e){var g=this.orientation=="horizontal"?this.renderHorizontalRows():this.renderVerticalRows();this.el=Ext.DomHelper.overwrite(d.dom,{tag:"table",cn:g},true)},renderHorizontalRows:function(){var o=this.buildHeaders(),n=o.length,q=[],t,p,r,s,l;for(s=0;s<n;s++){t=[];p=o[s].items;r=p.length;for(l=0;l<r;l++){t.push({tag:"td",html:p[l].header,colspan:p[l].span})}q[s]={tag:"tr",cn:t}}return q},renderVerticalRows:function(){var v=this.buildHeaders(),p=v.length,w=[],n=[],q,u,o,r,s,t;for(s=0;s<p;s++){u=v[s];r=u.width||80;q=u.items.length;for(t=0;t<q;t++){o=u.items[t];w[o.start]=w[o.start]||[];w[o.start].push({tag:"td",html:o.header,rowspan:o.span,width:Ext.isBorderBox?r:r-this.paddingWidth})}}q=w.length;for(s=0;s<q;s++){n[s]={tag:"tr",cn:w[s]}}return n},getTuples:function(){var B=new Ext.data.Store({});B.data=this.store.data.clone();B.fields=this.store.fields;var t=[],C=this.dimensions,A=C.length,v;for(v=0;v<A;v++){t.push({field:C[v].dataIndex,direction:C[v].direction||"ASC"})}B.sort(t);var y=B.data.items,r=[],u=[],q,w,z,x,s;A=y.length;for(v=0;v<A;v++){z=this.getRecordInfo(y[v]);x=z.data;w="";for(s in x){w+=x[s]+"---"}if(r.indexOf(w)==-1){r.push(w);u.push(z)}}B.destroy();return u},getRecordInfo:function(n){var r=this.dimensions,s=r.length,p={},o,t,l;for(l=0;l<s;l++){o=r[l];t=o.dataIndex;p[t]=n.get(t)}var q=function(a){return function(c){for(var b in a){if(c.get(b)!=a[b]){return false}}return true}};return{data:p,matcher:q(p)}},buildHeaders:function(){var z=this.getTuples(),y=z.length,G=this.dimensions,t=G.length,E=[],w,s,x,u,v,F,A,B,C,D;for(C=0;C<t;C++){dimension=G[C];s=[];v=0;F=0;for(D=0;D<y;D++){w=z[D];A=D==(y-1);x=w.data[dimension.dataIndex];B=u!=undefined&&u!=x;if(C>0&&D>0){B=B||w.data[G[C-1].dataIndex]!=z[D-1].data[G[C-1].dataIndex]}if(B){s.push({header:u,span:v,start:F});F+=v;v=0}if(A){s.push({header:x,span:v+1,start:F});F+=v;v=0}u=x;v++}E.push({items:s,width:dimension.width||this.defaultHeaderWidth});u=undefined}return E}});Ext.grid.HeaderDragZone=Ext.extend(Ext.dd.DragZone,{maxDragWidth:120,constructor:function(e,g,d){this.grid=e;this.view=e.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,g);if(d){this.setHandleElId(Ext.id(g));this.setOuterHandleElId(Ext.id(d))}this.scroll=false},getDragData:function(g){var e=Ext.lib.Event.getTarget(g),d=this.view.findHeaderCell(e);if(d){return{ddel:d.firstChild,header:d}}return false},onInitDrag:function(d){this.dragHeadersDisabled=this.view.headersDisabled;this.view.headersDisabled=true;var c=this.dragData.ddel.cloneNode(true);c.id=Ext.id();c.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(c);return true},afterValidDrop:function(){this.completeDrop()},afterInvalidDrop:function(){this.completeDrop()},completeDrop:function(){var d=this.view,c=this.dragHeadersDisabled;setTimeout(function(){d.headersDisabled=c},50)}});Ext.grid.HeaderDropZone=Ext.extend(Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,constructor:function(e,g,d){this.grid=e;this.view=e.getView();this.proxyTop=Ext.DomHelper.append(document.body,{cls:"col-move-top",html:"&#160;"},true);this.proxyBottom=Ext.DomHelper.append(document.body,{cls:"col-move-bottom",html:"&#160;"},true);this.proxyTop.hide=this.proxyBottom.hide=function(){this.setLeftTop(-100,-100);this.setStyle("visibility","hidden")};this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDropZone.superclass.constructor.call(this,e.getGridEl().dom)},getTargetFromEvent:function(g){var e=Ext.lib.Event.getTarget(g),d=this.view.findCellIndex(e);if(d!==false){return this.view.getHeaderCell(d)}},nextVisible:function(g){var d=this.view,e=this.grid.colModel;g=g.nextSibling;while(g){if(!e.isHidden(d.getCellIndex(g))){return g}g=g.nextSibling}return null},prevVisible:function(g){var d=this.view,e=this.grid.colModel;g=g.prevSibling;while(g){if(!e.isHidden(d.getCellIndex(g))){return g}g=g.prevSibling}return null},positionIndicator:function(r,n,o){var h=Ext.lib.Event.getPageX(o),q=Ext.lib.Dom.getRegion(n.firstChild),s,p,e=q.top+this.proxyOffsets[1];if((q.right-h)<=(q.right-q.left)/2){s=q.right+this.view.borderWidth;p="after"}else{s=q.left;p="before"}if(this.grid.colModel.isFixed(this.view.getCellIndex(n))){return false}s+=this.proxyOffsets[0];this.proxyTop.setLeftTop(s,e);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(s,e+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return p},onNodeEnter:function(h,g,k,e){if(e.header!=h){this.positionIndicator(e.header,h,k)}},onNodeOver:function(k,e,l,n){var h=false;if(n.header!=k){h=this.positionIndicator(n.header,k,l)}if(!h){this.proxyTop.hide();this.proxyBottom.hide()}return h?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(h,g,k,e){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(w,h,t,v){var u=v.header;if(u!=w){var q=this.grid.colModel,r=Ext.lib.Event.getPageX(t),x=Ext.lib.Dom.getRegion(w.firstChild),e=(x.right-r)<=((x.right-x.left)/2)?"after":"before",s=this.view.getCellIndex(u),n=this.view.getCellIndex(w);if(e=="after"){n++}if(s<n){n--}q.moveColumn(s,n);return true}return false}});Ext.grid.GridView.ColumnDragZone=Ext.extend(Ext.grid.HeaderDragZone,{constructor:function(d,c){Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,d,c,null);this.proxy.el.addClass("x-grid3-col-dd")},handleMouseDown:function(b){},callHandleMouseDown:function(b){Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,b)}});Ext.grid.SplitDragZone=Ext.extend(Ext.dd.DDProxy,{fly:Ext.Element.fly,constructor:function(e,g,d){this.grid=e;this.view=e.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,g,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(g));this.setOuterHandleElId(Ext.id(d));this.scroll=false},b4StartDrag:function(g,h){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var e=this.cm.getColumnWidth(this.cellIndex);var k=Math.max(e-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(k,1000);this.setYConstraint(0,0);this.minX=g-k;this.maxX=g+1000;this.startPos=g;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,g,h)},handleMouseDown:function(g){var d=Ext.EventObject.setEvent(g);var e=this.fly(d.getTarget());if(e.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(e.dom);this.split=e.dom;this.cm=this.grid.colModel;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}},endDrag:function(g){this.view.headersDisabled=false;var e=Math.max(this.minX,Ext.lib.Event.getPageX(g));var d=e-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+d)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(c,d){this.view=c.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,d);this.scroll=false;this.grid=c;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(e){var g=Ext.lib.Event.getTarget(e);var h=this.view.findRowIndex(g);if(h!==false){var k=this.grid.selModel;if(!k.isSelected(h)||e.hasModifier()){k.handleMouseDown(this.grid,h,e)}return{grid:this.grid,ddel:this.ddel,rowIndex:h,selections:k.getSelections()}}return false},onInitDrag:function(c){var d=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(c,d){return false},onEndDrag:function(d,c){},onValidDrop:function(e,d,g){this.hideProxy()},beforeInvalidDrop:function(d,c){}});Ext.grid.ColumnModel=Ext.extend(Ext.util.Observable,{defaultWidth:100,defaultSortable:false,constructor:function(b){if(b.columns){Ext.apply(this,b);this.setConfig(b.columns,true)}else{this.setConfig(b,true)}this.addEvents("widthchange","headerchange","hiddenchange","columnmoved","configchange");Ext.grid.ColumnModel.superclass.constructor.call(this)},getColumnId:function(b){return this.config[b].id},getColumnAt:function(b){return this.config[b]},setConfig:function(p,c){var o,l,k;if(!c){delete this.totalWidth;for(o=0,k=this.config.length;o<k;o++){l=this.config[o];if(l.setEditor){l.setEditor(null)}}}this.defaults=Ext.apply({width:this.defaultWidth,sortable:this.defaultSortable},this.defaults);this.config=p;this.lookup={};for(o=0,k=p.length;o<k;o++){l=Ext.applyIf(p[o],this.defaults);if(Ext.isEmpty(l.id)){l.id=o}if(!l.isColumn){var n=Ext.grid.Column.types[l.xtype||"gridcolumn"];l=new n(l);p[o]=l}this.lookup[l.id]=l}if(!c){this.fireEvent("configchange",this)}},getColumnById:function(b){return this.lookup[b]},getIndexById:function(g){for(var d=0,e=this.config.length;d<e;d++){if(this.config[d].id==g){return d}}return -1},moveColumn:function(h,c){var g=this.config,k=g[h];g.splice(h,1);g.splice(c,0,k);this.dataMap=null;this.fireEvent("columnmoved",this,h,c)},getColumnCount:function(c){var k=this.config.length,h=0,g;if(c===true){for(g=0;g<k;g++){if(!this.isHidden(g)){h++}}return h}return k},getColumnsBy:function(p,q){var c=this.config,o=c.length,l=[],r,n;for(r=0;r<o;r++){n=c[r];if(p.call(q||this,n,r)===true){l[l.length]=n}}return l},isSortable:function(b){return !!this.config[b].sortable},isMenuDisabled:function(b){return !!this.config[b].menuDisabled},getRenderer:function(b){return this.config[b].renderer||Ext.grid.ColumnModel.defaultRenderer},getRendererScope:function(b){return this.config[b].scope},setRenderer:function(d,c){this.config[d].renderer=c},getColumnWidth:function(d){var c=this.config[d].width;if(typeof c!="number"){c=this.defaultWidth}return c},setColumnWidth:function(d,g,e){this.config[d].width=g;this.totalWidth=null;if(!e){this.fireEvent("widthchange",this,d,g)}},getTotalWidth:function(d){if(!this.totalWidth){this.totalWidth=0;for(var g=0,e=this.config.length;g<e;g++){if(d||!this.isHidden(g)){this.totalWidth+=this.getColumnWidth(g)}}}return this.totalWidth},getColumnHeader:function(b){return this.config[b].header},setColumnHeader:function(d,c){this.config[d].header=c;this.fireEvent("headerchange",this,d,c)},getColumnTooltip:function(b){return this.config[b].tooltip},setColumnTooltip:function(d,c){this.config[d].tooltip=c},getDataIndex:function(b){return this.config[b].dataIndex},setDataIndex:function(d,c){this.config[d].dataIndex=c},findColumnIndex:function(k){var h=this.config;for(var c=0,g=h.length;c<g;c++){if(h[c].dataIndex==k){return c}}return -1},isCellEditable:function(c,h){var k=this.config[c],g=k.editable;return !!(g||(!Ext.isDefined(g)&&k.editor))},getCellEditor:function(d,c){return this.config[d].getCellEditor(c)},setEditable:function(d,c){this.config[d].editable=c},isHidden:function(b){return !!this.config[b].hidden},isFixed:function(b){return !!this.config[b].fixed},isResizable:function(b){return b>=0&&this.config[b].resizable!==false&&this.config[b].fixed!==true},setHidden:function(e,c){var g=this.config[e];if(g.hidden!==c){g.hidden=c;this.totalWidth=null;this.fireEvent("hiddenchange",this,e,c)}},setEditor:function(d,c){this.config[d].setEditor(c)},destroy:function(){var c=this.config.length,d=0;for(;d<c;d++){this.config[d].destroy()}delete this.config;delete this.lookup;this.purgeListeners()},setState:function(d,c){c=Ext.applyIf(c,this.defaults);Ext.apply(this.config[d],c)}});Ext.grid.ColumnModel.defaultRenderer=function(b){if(typeof b=="string"&&b.length<1){return"&#160;"}return b};Ext.grid.AbstractSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(){this.locked=false;Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)},init:function(b){this.grid=b;if(this.lockOnInit){delete this.lockOnInit;this.locked=false;this.lock()}this.initEvents()},lock:function(){if(!this.locked){this.locked=true;var b=this.grid;if(b){b.getView().on({scope:this,beforerefresh:this.sortUnLock,refresh:this.sortLock})}else{this.lockOnInit=true}}},sortLock:function(){this.locked=true},sortUnLock:function(){this.locked=false},unlock:function(){if(this.locked){this.locked=false;var d=this.grid,c;if(d){c=d.getView();c.un("beforerefresh",this.sortUnLock,this);c.un("refresh",this.sortLock,this)}else{delete this.lockOnInit}}},isLocked:function(){return this.locked},destroy:function(){this.unlock();this.purgeListeners()}});Ext.grid.RowSelectionModel=Ext.extend(Ext.grid.AbstractSelectionModel,{singleSelect:false,constructor:function(b){Ext.apply(this,b);this.selections=new Ext.util.MixedCollection(false,function(a){return a.id});this.last=false;this.lastActive=false;this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");Ext.grid.RowSelectionModel.superclass.constructor.call(this)},initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:this.onKeyPress,down:this.onKeyPress,scope:this});this.grid.getView().on({scope:this,refresh:this.onRefresh,rowupdated:this.onRowUpdated,rowremoved:this.onRemove})},onKeyPress:function(n,e){var k=e=="up",l=k?"selectPrevious":"selectNext",o=k?-1:1,p;if(!n.shiftKey||this.singleSelect){this[l](false)}else{if(this.last!==false&&this.lastActive!==false){p=this.last;this.selectRange(this.last,this.lastActive+o);this.grid.getView().focusRow(this.lastActive);if(p!==false){this.last=p}}else{this.selectFirstRow()}}},onRefresh:function(){var l=this.grid.store,o=this.getSelections(),p=0,k=o.length,h,n;this.silent=true;this.clearSelections(true);for(;p<k;p++){n=o[p];if((h=l.indexOfId(n.id))!=-1){this.selectRow(h,true)}}if(o.length!=this.selections.getCount()){this.fireEvent("selectionchange",this)}this.silent=false},onRemove:function(e,d,g){if(this.selections.remove(g)!==false){this.fireEvent("selectionchange",this)}},onRowUpdated:function(e,d,g){if(this.isSelected(g)){e.onRowSelect(d)}},selectRecords:function(g,k){if(!k){this.clearSelections()}var l=this.grid.store,n=0,h=g.length;for(;n<h;n++){this.selectRow(l.indexOf(g[n]),true)}},getCount:function(){return this.selections.length},selectFirstRow:function(){this.selectRow(0)},selectLastRow:function(b){this.selectRow(this.grid.store.getCount()-1,b)},selectNext:function(b){if(this.hasNext()){this.selectRow(this.last+1,b);this.grid.getView().focusRow(this.last);return true}return false},selectPrevious:function(b){if(this.hasPrevious()){this.selectRow(this.last-1,b);this.grid.getView().focusRow(this.last);return true}return false},hasNext:function(){return this.last!==false&&(this.last+1)<this.grid.store.getCount()},hasPrevious:function(){return !!this.last},getSelections:function(){return[].concat(this.selections.items)},getSelected:function(){return this.selections.itemAt(0)},each:function(k,l){var n=this.getSelections(),g=0,h=n.length;for(;g<h;g++){if(k.call(l||this,n[g],g)===false){return false}}return true},clearSelections:function(e){if(this.isLocked()){return}if(e!==true){var g=this.grid.store,d=this.selections;d.each(function(a){this.deselectRow(g.indexOfId(a.id))},this);d.clear()}else{this.selections.clear()}this.last=false},selectAll:function(){if(this.isLocked()){return}this.selections.clear();for(var c=0,d=this.grid.store.getCount();c<d;c++){this.selectRow(c,true)}},hasSelection:function(){return this.selections.length>0},isSelected:function(d){var c=Ext.isNumber(d)?this.grid.store.getAt(d):d;return(c&&this.selections.key(c.id)?true:false)},isIdSelected:function(b){return(this.selections.key(b)?true:false)},handleMouseDown:function(n,k,l){if(l.button!==0||this.isLocked()){return}var g=this.grid.getView();if(l.shiftKey&&!this.singleSelect&&this.last!==false){var o=this.last;this.selectRange(o,k,l.ctrlKey);this.last=o;g.focusRow(k)}else{var e=this.isSelected(k);if(l.ctrlKey&&e){this.deselectRow(k)}else{if(!e||this.getCount()>1){this.selectRow(k,l.ctrlKey||l.shiftKey);g.focusRow(k)}}}},selectRows:function(k,h){if(!h){this.clearSelections()}for(var e=0,g=k.length;e<g;e++){this.selectRow(k[e],true)}},selectRange:function(e,g,h){var k;if(this.isLocked()){return}if(!h){this.clearSelections()}if(e<=g){for(k=e;k<=g;k++){this.selectRow(k,true)}}else{for(k=e;k>=g;k--){this.selectRow(k,true)}}},deselectRange:function(k,e,g){if(this.isLocked()){return}for(var h=k;h<=e;h++){this.deselectRow(h,g)}},selectRow:function(e,h,g){if(this.isLocked()||(e<0||e>=this.grid.store.getCount())||(h&&this.isSelected(e))){return}var k=this.grid.store.getAt(e);if(k&&this.fireEvent("beforerowselect",this,e,h,k)!==false){if(!h||this.singleSelect){this.clearSelections()}this.selections.add(k);this.last=this.lastActive=e;if(!g){this.grid.getView().onRowSelect(e)}if(!this.silent){this.fireEvent("rowselect",this,e,k);this.fireEvent("selectionchange",this)}}},deselectRow:function(d,e){if(this.isLocked()){return}if(this.last==d){this.last=false}if(this.lastActive==d){this.lastActive=false}var g=this.grid.store.getAt(d);if(g){this.selections.remove(g);if(!e){this.grid.getView().onRowDeselect(d)}this.fireEvent("rowdeselect",this,d,g);this.fireEvent("selectionchange",this)}},acceptsNav:function(g,d,e){return !e.isHidden(d)&&e.isCellEditable(d,g)},onEditorKey:function(g,r){var v=r.getKey(),u,t=this.grid,c=t.lastEdit,s=t.activeEditor,w=r.shiftKey,e,c,x,k;if(v==r.TAB){r.stopEvent();s.completeEdit();if(w){u=t.walkCells(s.row,s.col-1,-1,this.acceptsNav,this)}else{u=t.walkCells(s.row,s.col+1,1,this.acceptsNav,this)}}else{if(v==r.ENTER){if(this.moveEditorOnEnter!==false){if(w){u=t.walkCells(c.row-1,c.col,-1,this.acceptsNav,this)}else{u=t.walkCells(c.row+1,c.col,1,this.acceptsNav,this)}}}}if(u){x=u[0];k=u[1];this.onEditorSelect(x,c.row);if(t.isEditor&&t.editing){e=t.activeEditor;if(e&&e.field.triggerBlur){e.field.triggerBlur()}}t.startEditing(x,k)}},onEditorSelect:function(c,d){if(d!=c){this.selectRow(c)}},destroy:function(){Ext.destroy(this.rowNav);this.rowNav=null;Ext.grid.RowSelectionModel.superclass.destroy.call(this)}});Ext.grid.Column=Ext.extend(Ext.util.Observable,{isColumn:true,constructor:function(c){Ext.apply(this,c);if(Ext.isString(this.renderer)){this.renderer=Ext.util.Format[this.renderer]}else{if(Ext.isObject(this.renderer)){this.scope=this.renderer.scope;this.renderer=this.renderer.fn}}if(!this.scope){this.scope=this}var d=this.editor;delete this.editor;this.setEditor(d);this.addEvents("click","contextmenu","dblclick","mousedown");Ext.grid.Column.superclass.constructor.call(this)},processEvent:function(e,l,n,k,h){return this.fireEvent(e,this,n,k,l)},destroy:function(){if(this.setEditor){this.setEditor(null)}this.purgeListeners()},renderer:function(b){return b},getEditor:function(b){return this.editable!==false?this.editor:null},setEditor:function(c){var d=this.editor;if(d){if(d.gridEditor){d.gridEditor.destroy();delete d.gridEditor}else{d.destroy()}}this.editor=null;if(c){if(!c.isXType){c=Ext.create(c,"textfield")}this.editor=c}},getCellEditor:function(c){var d=this.getEditor(c);if(d){if(!d.startEdit){if(!d.gridEditor){d.gridEditor=new Ext.grid.GridEditor(d)}d=d.gridEditor}}return d}});Ext.grid.BooleanColumn=Ext.extend(Ext.grid.Column,{trueText:"true",falseText:"false",undefinedText:"&#160;",constructor:function(g){Ext.grid.BooleanColumn.superclass.constructor.call(this,g);var k=this.trueText,h=this.falseText,e=this.undefinedText;this.renderer=function(a){if(a===undefined){return e}if(!a||a==="false"){return h}return k}}});Ext.grid.NumberColumn=Ext.extend(Ext.grid.Column,{format:"0,000.00",constructor:function(b){Ext.grid.NumberColumn.superclass.constructor.call(this,b);this.renderer=Ext.util.Format.numberRenderer(this.format)}});Ext.grid.DateColumn=Ext.extend(Ext.grid.Column,{format:"m/d/Y",constructor:function(b){Ext.grid.DateColumn.superclass.constructor.call(this,b);this.renderer=Ext.util.Format.dateRenderer(this.format)}});Ext.grid.TemplateColumn=Ext.extend(Ext.grid.Column,{constructor:function(d){Ext.grid.TemplateColumn.superclass.constructor.call(this,d);var c=(!Ext.isPrimitive(this.tpl)&&this.tpl.compile)?this.tpl:new Ext.XTemplate(this.tpl);this.renderer=function(b,a,g){return c.apply(g.data)};this.tpl=c}});Ext.grid.ActionColumn=Ext.extend(Ext.grid.Column,{header:"&#160;",actionIdRe:/x-action-col-(\d+)/,altText:"",constructor:function(h){var l=this,p=h.items||(l.items=[l]),k=p.length,o,n;Ext.grid.ActionColumn.superclass.constructor.call(l,h);l.renderer=function(b,a){b=Ext.isFunction(h.renderer)?h.renderer.apply(this,arguments)||"":"";a.css+=" x-action-col-cell";for(o=0;o<k;o++){n=p[o];b+='<img alt="'+l.altText+'" src="'+(n.icon||Ext.BLANK_IMAGE_URL)+'" class="x-action-col-icon x-action-col-'+String(o)+" "+(n.iconCls||"")+" "+(Ext.isFunction(n.getClass)?n.getClass.apply(n.scope||this.scope||this,arguments):"")+'"'+((n.tooltip)?' ext:qtip="'+n.tooltip+'"':"")+" />"}return b}},destroy:function(){delete this.items;delete this.renderer;return Ext.grid.ActionColumn.superclass.destroy.apply(this,arguments)},processEvent:function(s,o,r,n,e){var l=o.getTarget().className.match(this.actionIdRe),p,q;if(l&&(p=this.items[parseInt(l[1],10)])){if(s=="click"){(q=p.handler||this.handler)&&q.call(p.scope||this.scope||this,r,n,e,p,o)}else{if((s=="mousedown")&&(p.stopSelection!==false)){return false}}}return Ext.grid.ActionColumn.superclass.processEvent.apply(this,arguments)}});Ext.grid.Column.types={gridcolumn:Ext.grid.Column,booleancolumn:Ext.grid.BooleanColumn,numbercolumn:Ext.grid.NumberColumn,datecolumn:Ext.grid.DateColumn,templatecolumn:Ext.grid.TemplateColumn,actioncolumn:Ext.grid.ActionColumn};Ext.grid.RowNumberer=Ext.extend(Object,{header:"",width:23,sortable:false,constructor:function(b){Ext.apply(this,b);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}},fixed:true,hideable:false,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(e,k,g,h){if(this.rowspan){k.cellAttr='rowspan="'+this.rowspan+'"'}return h+1}});Ext.grid.CheckboxSelectionModel=Ext.extend(Ext.grid.RowSelectionModel,{header:'<div class="x-grid3-hd-checker">&#160;</div>',width:20,sortable:false,menuDisabled:true,fixed:true,hideable:false,dataIndex:"",id:"checker",isColumn:true,constructor:function(){Ext.grid.CheckboxSelectionModel.superclass.constructor.apply(this,arguments);if(this.checkOnly){this.handleMouseDown=Ext.emptyFn}},initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){Ext.fly(this.grid.getView().innerHd).on("mousedown",this.onHdMouseDown,this)},this)},processEvent:function(e,l,n,k,h){if(e=="mousedown"){this.onMouseDown(l,l.getTarget());return false}else{return Ext.grid.Column.prototype.processEvent.apply(this,arguments)}},onMouseDown:function(k,e){if(k.button===0&&e.className=="x-grid3-row-checker"){k.stopEvent();var h=k.getTarget(".x-grid3-row");if(h){var g=h.rowIndex;if(this.isSelected(g)){this.deselectRow(g)}else{this.selectRow(g,true);this.grid.getView().focusRow(g)}}}},onHdMouseDown:function(k,g){if(g.className=="x-grid3-hd-checker"){k.stopEvent();var e=Ext.fly(g.parentNode);var h=e.hasClass("x-grid3-hd-checker-on");if(h){e.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{e.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(d,g,e){return'<div class="x-grid3-row-checker">&#160;</div>'},onEditorSelect:function(c,d){if(d!=c&&!this.checkOnly){this.selectRow(c)}}});Ext.grid.CellSelectionModel=Ext.extend(Ext.grid.AbstractSelectionModel,{constructor:function(b){Ext.apply(this,b);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)},initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.on(Ext.EventManager.getKeyEvent(),this.handleKeyDown,this);this.grid.getView().on({scope:this,refresh:this.onViewChange,rowupdated:this.onRowUpdated,beforerowremoved:this.clearSelections,beforerowsinserted:this.clearSelections});if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},beforeEdit:function(b){this.select(b.row,b.column,false,true,b.record)},onRowUpdated:function(e,d,g){if(this.selection&&this.selection.record==g){e.onCellSelect(d,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(c){var d=this.selection;if(d){if(c!==true){this.grid.view.onCellDeselect(d.cell[0],d.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(e,h,g,k){if(k.button!==0||this.isLocked()){return}this.select(h,g)},select:function(l,p,h,n,o){if(this.fireEvent("beforecellselect",this,l,p)!==false){this.clearSelections();o=o||this.grid.store.getAt(l);this.selection={record:o,cell:[l,p]};if(!h){var k=this.grid.getView();k.onCellSelect(l,p);if(n!==true){k.focusCell(l,p)}}this.fireEvent("cellselect",this,l,p);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(g,d,e){return !e.isHidden(d)},onEditorKey:function(c,d){if(d.getKey()==d.TAB){this.handleKeyDown(d)}},handleKeyDown:function(s){if(!s.isNavKeyPress()){return}var v=s.getKey(),t=this.grid,c=this.selection,w=this,k=function(a,d,b){return t.walkCells(a,d,b,t.isEditor&&t.editing?w.acceptsNav:w.isSelectable,w)},e,u,x,r,g;switch(v){case s.ESC:case s.PAGE_UP:case s.PAGE_DOWN:break;default:s.stopEvent();break}if(!c){e=k(0,0,1);if(e){this.select(e[0],e[1])}return}e=c.cell;x=e[0];r=e[1];switch(v){case s.TAB:if(s.shiftKey){u=k(x,r-1,-1)}else{u=k(x,r+1,1)}break;case s.DOWN:u=k(x+1,r,1);break;case s.UP:u=k(x-1,r,-1);break;case s.RIGHT:u=k(x,r+1,1);break;case s.LEFT:u=k(x,r-1,-1);break;case s.ENTER:if(t.isEditor&&!t.editing){t.startEditing(x,r);return}break}if(u){x=u[0];r=u[1];this.select(x,r);if(t.isEditor&&t.editing){g=t.activeEditor;if(g&&g.field.triggerBlur){g.field.triggerBlur()}t.startEditing(x,r)}}},acceptsNav:function(g,d,e){return !e.isHidden(d)&&e.isCellEditable(d,g)}});Ext.grid.EditorGridPanel=Ext.extend(Ext.grid.GridPanel,{clicksToEdit:2,forceValidation:false,isEditor:true,detectEdit:false,autoEncode:false,trackMouseOver:false,initComponent:function(){Ext.grid.EditorGridPanel.superclass.initComponent.call(this);if(!this.selModel){this.selModel=new Ext.grid.CellSelectionModel()}this.activeEditor=null;this.addEvents("beforeedit","afteredit","validateedit")},initEvents:function(){Ext.grid.EditorGridPanel.superclass.initEvents.call(this);this.getGridEl().on("mousewheel",this.stopEditing.createDelegate(this,[true]),this);this.on("columnresize",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{var b=this.getView();if(this.clicksToEdit=="auto"&&b.mainBody){b.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}},onResize:function(){Ext.grid.EditorGridPanel.superclass.onResize.apply(this,arguments);var b=this.activeEditor;if(this.editing&&b){b.realign(true)}},onCellDblClick:function(d,g,e){this.startEditing(g,e)},onAutoEditClick:function(n,e){if(n.button!==0){return}var k=this.view.findRowIndex(e),h=this.view.findCellIndex(e);if(k!==false&&h!==false){this.stopEditing();if(this.selModel.getSelectedCell){var l=this.selModel.getSelectedCell();if(l&&l[0]===k&&l[1]===h){this.startEditing(k,h)}}else{if(this.selModel.isSelected(k)){this.startEditing(k,h)}}}},onEditComplete:function(e,o,k){this.editing=false;this.lastActiveEditor=this.activeEditor;this.activeEditor=null;var p=e.record,l=this.colModel.getDataIndex(e.col);o=this.postEditValue(o,k,p,l);if(this.forceValidation===true||String(o)!==String(k)){var n={grid:this,record:p,field:l,originalValue:k,value:o,row:e.row,column:e.col,cancel:false};if(this.fireEvent("validateedit",n)!==false&&!n.cancel&&String(o)!==String(k)){p.set(l,n.value);delete n.cancel;this.fireEvent("afteredit",n)}}this.view.focusCell(e.row,e.col)},startEditing:function(l,q){this.stopEditing();if(this.colModel.isCellEditable(q,l)){this.view.ensureVisible(l,q,true);var p=this.store.getAt(l),n=this.colModel.getDataIndex(q),o={grid:this,record:p,field:n,value:p.data[n],row:l,column:q,cancel:false};if(this.fireEvent("beforeedit",o)!==false&&!o.cancel){this.editing=true;var e=this.colModel.getCellEditor(q,l);if(!e){return}if(!e.rendered){e.parentEl=this.view.getEditorParent(e);e.on({scope:this,render:{fn:function(a){a.field.focus(false,true)},single:true,scope:this},specialkey:function(a,b){this.getSelectionModel().onEditorKey(a,b)},complete:this.onEditComplete,canceledit:this.stopEditing.createDelegate(this,[true])})}Ext.apply(e,{row:l,col:q,record:p});this.lastEdit={row:l,col:q};this.activeEditor=e;e.selectSameEditor=(this.activeEditor==this.lastActiveEditor);var k=this.preEditValue(p,n);e.startEdit(this.view.getCell(l,q).firstChild,Ext.isDefined(k)?k:"");(function(){delete e.selectSameEditor}).defer(50)}}},preEditValue:function(e,g){var d=e.data[g];return this.autoEncode&&Ext.isString(d)?Ext.util.Format.htmlDecode(d):d},postEditValue:function(k,g,e,h){return this.autoEncode&&Ext.isString(k)?Ext.util.Format.htmlEncode(k):k},stopEditing:function(c){if(this.editing){var d=this.lastActiveEditor=this.activeEditor;if(d){d[c===true?"cancelEdit":"completeEdit"]();this.view.focusCell(d.row,d.col)}this.activeEditor=null}this.editing=false}});Ext.reg("editorgrid",Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(c,d){Ext.grid.GridEditor.superclass.constructor.call(this,c,d);c.monitorTab=false};Ext.extend(Ext.grid.GridEditor,Ext.Editor,{alignment:"tl-tl",autoSize:"width",hideEl:false,cls:"x-small-editor x-grid-editor",shim:false,shadow:false});Ext.grid.PropertyRecord=Ext.data.Record.create([{name:"name",type:"string"},"value"]);Ext.grid.PropertyStore=Ext.extend(Ext.util.Observable,{constructor:function(d,c){this.grid=d;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(c){this.setSource(c)}Ext.grid.PropertyStore.superclass.constructor.call(this)},setSource:function(g){this.source=g;this.store.removeAll();var d=[];for(var e in g){if(this.isEditableValue(g[e])){d.push(new Ext.grid.PropertyRecord({name:e,value:g[e]},e))}}this.store.loadRecords({records:d},{},true)},onUpdate:function(k,h,l){if(l==Ext.data.Record.EDIT){var g=h.data.value;var n=h.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,h.id,g,n)!==false){this.source[h.id]=g;h.commit();this.grid.fireEvent("propertychange",this.source,h.id,g,n)}else{h.reject()}}},getProperty:function(b){return this.store.getAt(b)},isEditableValue:function(b){return Ext.isPrimitive(b)||Ext.isDate(b)},setValue:function(h,k,g){var e=this.getRec(h);if(e){e.set("value",k);this.source[h]=k}else{if(g){this.source[h]=k;e=new Ext.grid.PropertyRecord({name:h,value:k},h);this.store.add(e)}}},remove:function(c){var d=this.getRec(c);if(d){this.store.remove(d);delete this.source[c]}},getRec:function(b){return this.store.getById(b)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=Ext.extend(Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",constructor:function(n,g){var l=Ext.grid,k=Ext.form;this.grid=n;l.PropertyColumnModel.superclass.constructor.call(this,[{header:this.nameText,width:50,sortable:true,dataIndex:"name",id:"name",menuDisabled:true},{header:this.valueText,width:50,resizable:false,dataIndex:"value",id:"value",menuDisabled:true}]);this.store=g;var h=new k.Field({autoCreate:{tag:"select",children:[{tag:"option",value:"true",html:this.trueText},{tag:"option",value:"false",html:this.falseText}]},getValue:function(){return this.el.dom.value=="true"}});this.editors={date:new l.GridEditor(new k.DateField({selectOnFocus:true})),string:new l.GridEditor(new k.TextField({selectOnFocus:true})),number:new l.GridEditor(new k.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new l.GridEditor(h,{autoSize:"both"})};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)},renderDate:function(b){return b.dateFormat(this.dateFormat)},renderBool:function(b){return this[b?"trueText":"falseText"]},isCellEditable:function(d,c){return d==1},getRenderer:function(b){return b==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(b){return this.getPropertyName(b)},renderCell:function(l,g,n){var h=this.grid.customRenderers[n.get("name")];if(h){return h.apply(this,arguments)}var k=l;if(Ext.isDate(l)){k=this.renderDate(l)}else{if(typeof l=="boolean"){k=this.renderBool(l)}}return Ext.util.Format.htmlEncode(k)},getPropertyName:function(c){var d=this.grid.propertyNames;return d&&d[c]?d[c]:c},getCellEditor:function(h,k){var g=this.store.getProperty(k),l=g.data.name,n=g.data.value;if(this.grid.customEditors[l]){return this.grid.customEditors[l]}if(Ext.isDate(n)){return this.editors.date}else{if(typeof n=="number"){return this.editors.number}else{if(typeof n=="boolean"){return this.editors["boolean"]}else{return this.editors.string}}}},destroy:function(){Ext.grid.PropertyColumnModel.superclass.destroy.call(this);this.destroyEditors(this.editors);this.destroyEditors(this.grid.customEditors)},destroyEditors:function(c){for(var d in c){Ext.destroy(c[d])}}});Ext.grid.PropertyGrid=Ext.extend(Ext.grid.EditorGridPanel,{enableColumnMove:false,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,viewConfig:{forceFit:true},initComponent:function(){this.customRenderers=this.customRenderers||{};this.customEditors=this.customEditors||{};this.lastEditRow=null;var c=new Ext.grid.PropertyStore(this);this.propStore=c;var d=new Ext.grid.PropertyColumnModel(this,c);c.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=d;this.ds=c.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.mon(this.selModel,"beforecellselect",function(a,b,g){if(g===0){this.startEditing.defer(200,this,[b,1]);return false}},this)},onRender:function(){Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);this.getGridEl().addClass("x-props-grid")},afterRender:function(){Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);if(this.source){this.setSource(this.source)}},setSource:function(b){this.propStore.setSource(b)},getSource:function(){return this.propStore.getSource()},setProperty:function(g,d,e){this.propStore.setValue(g,d,e)},removeProperty:function(b){this.propStore.remove(b)}});Ext.reg("propertygrid",Ext.grid.PropertyGrid);Ext.grid.GroupingView=Ext.extend(Ext.grid.GridView,{groupByText:"Group By This Field",showGroupsText:"Show in Groups",hideGroupedColumn:false,showGroupName:true,startCollapsed:false,enableGrouping:true,enableGroupingMenu:true,enableNoGroups:true,emptyGroupText:"(None)",ignoreAdd:false,groupTextTpl:"{text}",groupMode:"value",cancelEditOnToggle:true,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var b=this.grid.getSelectionModel();b.on(b.selectRow?"beforerowselect":"beforecellselect",this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('<div id="{groupId}" class="x-grid-group {cls}">','<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div class="x-grid-group-title">',this.groupTextTpl,"</div></div>",'<div id="{groupId}-bd" class="x-grid-group-body">')}this.startGroup.compile();if(!this.endGroup){this.endGroup="</div></div>"}},findGroup:function(b){return Ext.fly(b).up(".x-grid-group",this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(h,g,e){if(this.canGroup()&&!this.ignoreAdd){var k=this.getScrollState();this.fireEvent("beforerowsinserted",h,e,e+(g.length-1));this.refresh();this.restoreScroll(k);this.fireEvent("rowsinserted",h,e,e+(g.length-1))}else{if(!this.canGroup()){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(k,h,g,l){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var n=document.getElementById(h._groupId);if(n&&n.childNodes[1].childNodes.length<1){Ext.removeNode(n)}this.applyEmptyText()},refreshRow:function(b){if(this.ds.getCount()==1){this.refresh()}else{this.isUpdating=true;Ext.grid.GroupingView.superclass.refreshRow.apply(this,arguments);this.isUpdating=false}},beforeMenuShow:function(){var g,e=this.hmenu.items,d=this.cm.config[this.hdCtxIndex].groupable===false;if((g=e.get("groupBy"))){g.setDisabled(d)}if((g=e.get("showGroups"))){g.setDisabled(d);g.setChecked(this.canGroup(),true)}},renderUI:function(){var b=Ext.grid.GroupingView.superclass.renderUI.call(this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{itemId:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({itemId:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}return b},processEvent:function(e,l){Ext.grid.GroupingView.superclass.processEvent.call(this,e,l);var n=l.getTarget(".x-grid-group-hd",this.mainBody);if(n){var o=this.getGroupField(),p=this.getPrefix(o),k=n.id.substring(p.length),q=new RegExp("gp-"+Ext.escapeRe(o)+"--hd");k=k.substr(0,k.length-3);if(k||q.test(n.id)){this.grid.fireEvent("group"+e,this.grid,o,k,l)}if(e=="mousedown"&&l.button==0){this.toggleGroup(n.parentNode)}}},onGroupByClick:function(){var b=this.grid;this.enableGrouping=true;b.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));b.fireEvent("groupchange",b,b.store.getGroupState());this.beforeMenuShow();this.refresh()},onShowGroupsClick:function(d,c){this.enableGrouping=c;if(c){this.onGroupByClick()}else{this.grid.store.clearGrouping();this.grid.fireEvent("groupchange",this,null)}},toggleRowIndex:function(g,e){if(!this.canGroup()){return}var d=this.getRow(g);if(d){this.toggleGroup(this.findGroup(d),e)}},toggleGroup:function(g,d){var e=Ext.get(g);d=Ext.isDefined(d)?d:e.hasClass("x-grid-group-collapsed");if(this.state[e.id]!==d){if(this.cancelEditOnToggle!==false){this.grid.stopEditing(true)}this.state[e.id]=d;e[d?"removeClass":"addClass"]("x-grid-group-collapsed")}},toggleAllGroups:function(k){var e=this.getGroups();for(var h=0,g=e.length;h<g;h++){this.toggleGroup(e[h],k)}},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},getGroup:function(l,q,o,n,g,p){var s=this.cm.config[g],r=o?o.call(s.scope,l,{},q,n,g,p):String(l);if(r===""||r==="&#160;"){r=s.emptyGroupText||this.emptyGroupText}return r},getGroupField:function(){return this.grid.store.getGroupState()},afterRender:function(){if(!this.ds||!this.cm){return}Ext.grid.GroupingView.superclass.afterRender.call(this);if(this.grid.deferRowRender){this.updateGroupWidths()}},afterRenderUI:function(){Ext.grid.GroupingView.superclass.afterRenderUI.call(this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{itemId:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({itemId:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},renderRows:function(){var h=this.getGroupField();var k=!!h;if(this.hideGroupedColumn){var g=this.cm.findColumnIndex(h),l=Ext.isDefined(this.lastGroupField);if(!k&&l){this.mainBody.update("");this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);delete this.lastGroupField}else{if(k&&!l){this.lastGroupField=h;this.cm.setHidden(g,true)}else{if(k&&l&&h!==this.lastGroupField){this.mainBody.update("");var n=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(n,false);this.lastGroupField=h;this.cm.setHidden(g,true)}}}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(S,P,G,U,H,F){if(P.length<1){return""}if(!this.canGroup()||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)}var I=this.getGroupField(),J=this.cm.findColumnIndex(I),B,O="width:"+this.getTotalWidth()+";",Q=this.cm.config[J],T=Q.groupRenderer||Q.renderer,E=this.showGroupName?(Q.groupName||Q.header)+": ":"",g=[],M,D,C,K;for(D=0,C=P.length;D<C;D++){var N=U+D,L=P[D],R=L.data[I];B=this.getGroup(R,L,T,N,J,G);if(!M||M.group!=B){K=this.constructId(R,I,J);this.state[K]=!(Ext.isDefined(this.state[K])?!this.state[K]:this.startCollapsed);M={group:B,gvalue:R,text:E+B,groupId:K,startRow:N,rs:[L],cls:this.state[K]?"":"x-grid-group-collapsed",style:O};g.push(M)}else{M.rs.push(L)}L._groupId=K}var r=[];for(D=0,C=g.length;D<C;D++){B=g[D];this.doGroupStart(r,B,S,G,H);r[r.length]=Ext.grid.GroupingView.superclass.doRender.call(this,S,B.rs,G,B.startRow,H,F);this.doGroupEnd(r,B,S,G,H)}return r.join("")},getGroupId:function(d){var c=this.getGroupField();return this.constructId(d,c,this.cm.findColumnIndex(c))},constructId:function(p,n,k){var h=this.cm.config[k],o=h.groupRenderer||h.renderer,l=(this.groupMode=="value")?p:this.getGroup(p,{data:{}},o,0,k,this.ds);return this.getPrefix(n)+Ext.util.Format.htmlEncode(l)},canGroup:function(){return this.enableGrouping&&!!this.getGroupField()},getPrefix:function(b){return this.grid.getGridEl().id+"-gp-"+b+"-"},doGroupStart:function(h,l,g,k,n){h[h.length]=this.startGroup.apply(l)},doGroupEnd:function(h,l,g,k,n){h[h.length]=this.endGroup},getRows:function(){if(!this.canGroup()){return Ext.grid.GroupingView.superclass.getRows.call(this)}var n=[],r=this.getGroups(),o,p=0,l=r.length,q,g;for(;p<l;++p){o=r[p].childNodes[1];if(o){o=o.childNodes;for(q=0,g=o.length;q<g;++q){n[n.length]=o[q]}}}return n},updateGroupWidths:function(){if(!this.canGroup()||!this.hasRows()){return}var k=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.getScrollOffset())+"px";var e=this.getGroups();for(var h=0,g=e.length;h<g;h++){e[h].firstChild.style.width=k}},onColumnWidthUpdated:function(g,e,d){Ext.grid.GroupingView.superclass.onColumnWidthUpdated.call(this,g,e,d);this.updateGroupWidths()},onAllColumnWidthsUpdated:function(d,c){Ext.grid.GroupingView.superclass.onAllColumnWidthsUpdated.call(this,d,c);this.updateGroupWidths()},onColumnHiddenUpdated:function(d,g,e){Ext.grid.GroupingView.superclass.onColumnHiddenUpdated.call(this,d,g,e);this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(c,d){this.toggleRowIndex(d,true)}});Ext.grid.GroupingView.GROUP_ID=1000;Ext.namespace("Ext.ux.plugin");Ext.ux.plugin.PagingToolbarResizer=Ext.extend(Object,{options:[5,10,15,20,25,30,50,75,100,200,300,500,1000],mode:"remote",displayText:"Records per Page",prependCombo:false,constructor:function(a){Ext.apply(this,a);Ext.ux.plugin.PagingToolbarResizer.superclass.constructor.call(this,a)},init:function(c){var b=this.options;var d=new Ext.form.ComboBox({typeAhead:false,triggerAction:"all",forceSelection:true,selectOnFocus:true,lazyRender:true,editable:false,mode:this.mode,value:c.pageSize,width:50,store:b,listeners:{select:function(h,g,e){c.pageSize=b[e];c.doLoad(Math.floor(c.cursor/c.pageSize)*c.pageSize)}}});this.combobox=d;var a=0;if(this.prependCombo){a=c.items.indexOf(c.first);a--}else{a=c.items.indexOf(c.refresh);c.insert(++a,"-")}c.insert(++a,this.displayText);c.insert(++a,d);if(this.prependCombo){c.insert(++a,"-")}c.on({beforedestroy:function(){d.destroy()}})}});Ext.ns("Ext.ux.grid");Ext.ux.grid.BufferView=Ext.extend(Ext.grid.GridView,{rowHeight:19,borderHeight:2,scrollDelay:100,cacheSize:20,cleanDelay:500,initTemplates:function(){Ext.ux.grid.BufferView.superclass.initTemplates.call(this);var b=this.templates;b.rowHolder=new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}"></div>');b.rowHolder.disableFormats=true;b.rowHolder.compile();b.rowBody=new Ext.Template('<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr>",(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>':""),"</tbody></table>");b.rowBody.disableFormats=true;b.rowBody.compile()},getStyleRowHeight:function(){return Ext.isBorderBox?(this.rowHeight+this.borderHeight):this.rowHeight},getCalculatedRowHeight:function(){return this.rowHeight+this.borderHeight},getVisibleRowCount:function(){var c=this.getCalculatedRowHeight(),d=this.scroller.dom.clientHeight;return(d<1)?0:Math.ceil(d/c)},getVisibleRows:function(){var e=this.getVisibleRowCount(),d=this.scroller.dom.scrollTop,g=(d===0?0:Math.floor(d/this.getCalculatedRowHeight())-1);return{first:Math.max(g,0),last:Math.min(g+e+2,this.ds.getCount()-1)}},doRender:function(Y,W,J,ad,M,R,V){var ac=this.templates,Z=ac.cell,X=ac.row,r=ac.rowBody,T=M-1,L=this.getStyleRowHeight(),c=this.getVisibleRows(),ab="width:"+this.getTotalWidth()+";height:"+L+"px;",N=[],G,K,H={},U={tstyle:ab},Q;for(var p=0,O=W.length;p<O;p++){Q=W[p];G=[];var S=(p+ad),aa=S>=c.first&&S<=c.last;if(aa){for(var P=0;P<M;P++){K=Y[P];H.id=K.id;H.css=P===0?"x-grid3-cell-first ":(P==T?"x-grid3-cell-last ":"");H.attr=H.cellAttr="";H.value=K.renderer(Q.data[K.name],H,Q,S,P,J);H.style=K.style;if(H.value===undefined||H.value===""){H.value="&#160;"}if(Q.dirty&&typeof Q.modified[K.name]!=="undefined"){H.css+=" x-grid3-dirty-cell"}G[G.length]=Z.apply(H)}}var I=[];if(R&&((S+1)%2===0)){I[0]="x-grid3-row-alt"}if(Q.dirty){I[1]=" x-grid3-dirty-row"}U.cols=M;if(this.getRowClass){I[2]=this.getRowClass(Q,S,U,J)}U.alt=I.join(" ");U.cells=G.join("");N[N.length]=!aa?ac.rowHolder.apply(U):(V?r.apply(U):X.apply(U))}return N.join("")},isRowRendered:function(d){var c=this.getRow(d);return c&&c.childNodes.length>0},syncScroll:function(){Ext.ux.grid.BufferView.superclass.syncScroll.apply(this,arguments);this.update()},update:function(){if(this.scrollDelay){if(!this.renderTask){this.renderTask=new Ext.util.DelayedTask(this.doUpdate,this)}this.renderTask.delay(this.scrollDelay)}else{this.doUpdate()}},onRemove:function(h,g,e,k){Ext.ux.grid.BufferView.superclass.onRemove.apply(this,arguments);if(k!==true){this.update()}},doUpdate:function(){if(this.getVisibleRowCount()>0){var o=this.grid,g=o.colModel,n=o.store,p=this.getColumnData(),k=this.getVisibleRows(),l;for(var q=k.first;q<=k.last;q++){if(!this.isRowRendered(q)&&(l=this.getRow(q))){var r=this.doRender(p,[n.getAt(q)],n,q,g.getColumnCount(),o.stripeRows,true);l.innerHTML=r}}this.clean()}},clean:function(){if(!this.cleanTask){this.cleanTask=new Ext.util.DelayedTask(this.doClean,this)}this.cleanTask.delay(this.cleanDelay)},doClean:function(){if(this.getVisibleRowCount()>0){var e=this.getVisibleRows();e.first-=this.cacheSize;e.last+=this.cacheSize;var k=0,h=this.getRows();if(e.first<=0){k=e.last+1}for(var g=this.ds.getCount();k<g;k++){if((k<e.first||k>e.last)&&h[k].innerHTML){h[k].innerHTML=""}}}},removeTask:function(c){var d=this[c];if(d&&d.cancel){d.cancel();this[c]=null}},destroy:function(){this.removeTask("cleanTask");this.removeTask("renderTask");Ext.ux.grid.BufferView.superclass.destroy.call(this)},layout:function(){Ext.ux.grid.BufferView.superclass.layout.call(this);this.update()}});Ext.ns("Ext.ux.layout");Ext.ux.layout.CenterLayout=Ext.extend(Ext.layout.FitLayout,{setItemSize:function(c,d){this.container.addClass("ux-layout-center");c.addClass("ux-layout-center-item");if(c&&d.height>0){if(c.width){d.width=c.width}c.setSize(d)}}});Ext.Container.LAYOUTS["ux.center"]=Ext.ux.layout.CenterLayout;Ext.ns("Ext.ux.grid");Ext.ux.grid.CheckColumn=Ext.extend(Ext.grid.Column,{processEvent:function(o,l,n,k,e){if(o=="mousedown"){var h=n.store.getAt(k);h.set(this.dataIndex,!h.data[this.dataIndex]);return false}else{return Ext.grid.ActionColumn.superclass.processEvent.apply(this,arguments)}},renderer:function(d,g,e){g.css+=" x-grid3-check-col-td";return String.format('<div class="x-grid3-check-col{0}">&#160;</div>',d?"-on":"")},init:Ext.emptyFn});Ext.preg("checkcolumn",Ext.ux.grid.CheckColumn);Ext.grid.CheckColumn=Ext.ux.grid.CheckColumn;Ext.grid.Column.types.checkcolumn=Ext.ux.grid.CheckColumn;Ext.ns("Ext.ux.grid");Ext.ux.grid.ColumnHeaderGroup=Ext.extend(Ext.util.Observable,{constructor:function(b){this.config=b},init:function(b){Ext.applyIf(b.colModel,this.config);Ext.apply(b.getView(),this.viewConfig)},viewConfig:{initTemplates:function(){this.constructor.prototype.initTemplates.apply(this,arguments);var b=this.templates||{};if(!b.gcell){b.gcell=new Ext.XTemplate('<td class="x-grid3-hd x-grid3-gcell x-grid3-td-{id} ux-grid-hd-group-row-{row} {cls}" style="{style}">','<div {tooltip} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"","{value}</div></td>")}this.templates=b;this.hrowRe=new RegExp("ux-grid-hd-group-row-(\\d+)","")},renderHeaders:function(){var x=this.templates,B=[],u=this.cm,q=u.rows,w="width:"+this.getTotalWidth()+";";for(var r=0,v=q.length;r<v;r++){var E=q[r],s=[];for(var z=0,A=0,y=E.length;z<y;z++){var t=E[z];t.colspan=t.colspan||1;var D=this.getColumnId(t.dataIndex?u.findColumnIndex(t.dataIndex):A),C=Ext.ux.grid.ColumnHeaderGroup.prototype.getGroupStyle.call(this,t,A);s[z]=x.gcell.apply({cls:"ux-grid-hd-group-cell",id:D,row:r,style:"width:"+C.width+";"+(C.hidden?"display:none;":"")+(t.align?"text-align:"+t.align+";":""),tooltip:t.tooltip?(Ext.QuickTips.isEnabled()?"ext:qtip":"title")+'="'+t.tooltip+'"':"",istyle:t.align=="right"?"padding-right:16px":"",btn:this.grid.enableHdMenu&&t.header,value:t.header||"&nbsp;"});A+=t.colspan}B[r]=x.header.apply({tstyle:w,cells:s.join("")})}B.push(this.constructor.prototype.renderHeaders.apply(this,arguments));return B.join("")},onColumnWidthUpdated:function(){this.constructor.prototype.onColumnWidthUpdated.apply(this,arguments);Ext.ux.grid.ColumnHeaderGroup.prototype.updateGroupStyles.call(this)},onAllColumnWidthsUpdated:function(){this.constructor.prototype.onAllColumnWidthsUpdated.apply(this,arguments);Ext.ux.grid.ColumnHeaderGroup.prototype.updateGroupStyles.call(this)},onColumnHiddenUpdated:function(){this.constructor.prototype.onColumnHiddenUpdated.apply(this,arguments);Ext.ux.grid.ColumnHeaderGroup.prototype.updateGroupStyles.call(this)},getHeaderCell:function(b){return this.mainHd.query(this.cellSelector)[b]},findHeaderCell:function(b){return b?this.fly(b).findParent("td.x-grid3-hd",this.cellSelectorDepth):false},findHeaderIndex:function(c){var d=this.findHeaderCell(c);return d?this.getCellIndex(d):false},updateSortIcon:function(e,g){var h=this.sortClasses,k=this.mainHd.select(this.cellSelector).removeClass(h);k.item(e).addClass(h[g=="DESC"?1:0])},handleHdDown:function(l,p){var o=Ext.get(p);if(o.hasClass("x-grid3-hd-btn")){l.stopEvent();var n=this.findHeaderCell(p);Ext.fly(n).addClass("x-grid3-hd-menu-open");var q=this.getCellIndex(n);this.hdCtxIndex=q;var e=this.hmenu.items,k=this.cm;e.get("asc").setDisabled(!k.isSortable(q));e.get("desc").setDisabled(!k.isSortable(q));this.hmenu.on("hide",function(){Ext.fly(n).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(p,"tl-bl?")}else{if(o.hasClass("ux-grid-hd-group-cell")||Ext.fly(p).up(".ux-grid-hd-group-cell")){l.stopEvent()}}},handleHdMove:function(n,q){var o=this.findHeaderCell(this.activeHdRef);if(o&&!this.headersDisabled&&!Ext.fly(o).hasClass("ux-grid-hd-group-cell")){var e=this.splitHandleWidth||5,p=this.activeHdRegion,k=n.getPageX(),r=o.style,l="";if(this.grid.enableColumnResize!==false){if(k-p.left<=e&&this.cm.isResizable(this.activeHdIndex-1)){l=Ext.isAir?"move":Ext.isWebKit?"e-resize":"col-resize"}else{if(p.right-k<=(!this.activeHdBtn?e:2)&&this.cm.isResizable(this.activeHdIndex)){l=Ext.isAir?"move":Ext.isWebKit?"w-resize":"col-resize"}}}r.cursor=l}},handleHdOver:function(h,g){var k=this.findHeaderCell(g);if(k&&!this.headersDisabled){this.activeHdRef=g;this.activeHdIndex=this.getCellIndex(k);var e=this.fly(k);this.activeHdRegion=e.getRegion();if(!(this.cm.isMenuDisabled(this.activeHdIndex)||e.hasClass("ux-grid-hd-group-cell"))){e.addClass("x-grid3-hd-over");this.activeHdBtn=e.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(k.firstChild.offsetHeight-1)+"px"}}}},handleHdOut:function(g,e){var d=this.findHeaderCell(e);if(d&&(!Ext.isIE||!g.within(d,true))){this.activeHdRef=null;this.fly(d).removeClass("x-grid3-hd-over");d.style.cursor=""}},handleHdMenuClick:function(r){var x=this.hdCtxIndex,u=this.cm,E=this.ds,G=r.getItemId();switch(G){case"asc":E.sort(u.getDataIndex(x),"ASC");break;case"desc":E.sort(u.getDataIndex(x),"DESC");break;default:if(G.substr(0,6)=="group-"){var A=G.split("-"),I=parseInt(A[1],10),D=parseInt(A[2],10),H=this.cm.rows[I],t,C=0;for(var A=0,y=H.length;A<y;A++){t=H[A];if(D>=C&&D<C+t.colspan){break}C+=t.colspan}if(r.checked){var w=u.getColumnsBy(this.isHideableColumn,this).length;for(var A=C,y=C+t.colspan;A<y;A++){if(!u.isHidden(A)){w--}}if(w<1){this.onDenyColumnHide();return false}}for(var A=C,y=C+t.colspan;A<y;A++){if(u.config[A].fixed!==true&&u.config[A].hideable!==false){u.setHidden(A,r.checked)}}}else{if(G.substr(0,4)=="col-"){x=u.getIndexById(G.substr(4));if(x!=-1){if(r.checked&&u.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}u.setHidden(x,r.checked)}}}if(G.substr(0,6)=="group-"||G.substr(0,4)=="col-"){r.checked=!r.checked;if(r.menu){var z=function(a){a.items.each(function(b){if(!b.disabled){b.setChecked(r.checked,false);if(b.menu){z(b.menu)}}})};z(r.menu)}var B=r,F;while(B=B.parentMenu){if(!B.parentMenu||!(F=B.parentMenu.items.get(B.getItemId()))||!F.setChecked){break}var v=B.items.findIndexBy(function(a){return a.checked})>=0;F.setChecked(v,true)}r.checked=!r.checked}}return true},beforeColMenuShow:function(){var K=this.cm,J=this.cm.rows;this.colMenu.removeAll();for(var O=0,G=K.getColumnCount();O<G;O++){var Q=this.colMenu,c=K.getColumnHeader(O),H=[];if(K.config[O].fixed!==true&&K.config[O].hideable!==false){for(var N=0,B=J.length;N<B;N++){var F=J[N],L,D=0;for(var A=0,z=F.length;A<z;A++){L=F[A];if(O>=D&&O<D+L.colspan){break}D+=L.colspan}if(L&&L.header){if(K.hierarchicalColMenu){var E="group-"+N+"-"+D,y=Q.items?Q.getComponent(E):null,I=y?y.menu:null;if(!I){I=new Ext.menu.Menu({itemId:E});I.on("itemclick",this.handleHdMenuClick,this);var M=false,P=true;for(var r=D,C=D+L.colspan;r<C;r++){if(!K.isHidden(r)){M=true}if(K.config[r].hideable!==false){P=false}}Q.add({itemId:E,text:L.header,menu:I,hideOnClick:false,checked:M,disabled:P})}Q=I}else{H.push(L.header)}}}H.push(c);Q.add(new Ext.menu.CheckItem({itemId:"col-"+K.getColumnId(O),text:H.join(" "),checked:!K.isHidden(O),hideOnClick:false,disabled:K.config[O].hideable===false}))}}},afterRenderUI:function(){this.constructor.prototype.afterRenderUI.apply(this,arguments);Ext.apply(this.columnDrop,Ext.ux.grid.ColumnHeaderGroup.prototype.columnDropConfig);Ext.apply(this.splitZone,Ext.ux.grid.ColumnHeaderGroup.prototype.splitZoneConfig)}},splitZoneConfig:{allowHeaderDrag:function(b){return !b.getTarget(null,null,true).hasClass("ux-grid-hd-group-cell")}},columnDropConfig:{getTargetFromEvent:function(c){var d=Ext.lib.Event.getTarget(c);return this.view.findHeaderCell(d)},positionIndicator:function(e,h,k){var l=Ext.ux.grid.ColumnHeaderGroup.prototype.getDragDropData.call(this,e,h,k);if(l===false){return false}var g=l.px+this.proxyOffsets[0];this.proxyTop.setLeftTop(g,l.r.top+this.proxyOffsets[1]);this.proxyTop.show();this.proxyBottom.setLeftTop(g,l.r.bottom);this.proxyBottom.show();return l.pt},onNodeDrop:function(M,K,n,H){var r=H.header;if(r!=M){var e=Ext.ux.grid.ColumnHeaderGroup.prototype.getDragDropData.call(this,r,M,n);if(e===false){return false}var Q=this.grid.colModel,c=e.oldIndex<e.newIndex,P=Q.rows;for(var S=e.row,L=P.length;S<L;S++){var O=P[S],E=O.length,I=0,J=1,G=E;for(var F=0,N=0;F<E;F++){var R=O[F];if(e.oldIndex>=N&&e.oldIndex<N+R.colspan){I=F}if(e.oldIndex+e.colspan-1>=N&&e.oldIndex+e.colspan-1<N+R.colspan){J=F-I+1}if(e.newIndex>=N&&e.newIndex<N+R.colspan){G=F}N+=R.colspan}var h=O.splice(I,J);P[S]=O.splice(0,G-(c?J:0)).concat(h).concat(O)}for(var d=0;d<e.colspan;d++){var T=e.oldIndex+(c?0:d),U=e.newIndex+(c?-1:d);Q.moveColumn(T,U);this.grid.fireEvent("columnmove",T,U)}return true}return false}},getGroupStyle:function(l,q){var o=0,n=true;for(var p=q,k=q+l.colspan;p<k;p++){if(!this.cm.isHidden(p)){var h=this.cm.getColumnWidth(p);if(typeof h=="number"){o+=h}n=false}}return{width:(Ext.isBorderBox||(Ext.isWebKit&&!Ext.isSafari2)?o:Math.max(o-this.borderWidth,0))+"px",hidden:n}},updateGroupStyles:function(u){var p=this.mainHd.query(".x-grid3-header-offset > table"),r=this.getTotalWidth(),l=this.cm.rows;for(var n=0;n<p.length;n++){p[n].style.width=r;if(n<l.length){var o=p[n].firstChild.firstChild.childNodes;for(var s=0,t=0;s<o.length;s++){var q=l[n][s];if((typeof u!="number")||(u>=t&&u<t+q.colspan)){var v=Ext.ux.grid.ColumnHeaderGroup.prototype.getGroupStyle.call(this,q,t);o[s].style.width=v.width;o[s].style.display=v.hidden?"none":""}t+=q.colspan}}}},getGroupRowIndex:function(c){if(c){var d=c.className.match(this.hrowRe);if(d&&d[1]){return parseInt(d[1],10)}}return this.cm.rows.length},getGroupSpan:function(l,q){if(l<0){return{col:0,colspan:this.cm.getColumnCount()}}var o=this.cm.rows[l];if(o){for(var p=0,h=0,k=o.length;p<k;p++){var n=o[p];if(q>=h&&q<h+n.colspan){return{col:h,colspan:n.colspan}}h+=n.colspan}return{col:h,colspan:0}}return{col:q,colspan:1}},getDragDropData:function(x,y,w){if(x.parentNode!=y.parentNode){return false}var n=this.grid.colModel,t=Ext.lib.Event.getPageX(w),B=Ext.lib.Dom.getRegion(y.firstChild),r,C;if((B.right-t)<=(B.right-B.left)/2){r=B.right+this.view.borderWidth;C="after"}else{r=B.left;C="before"}var u=this.view.getCellIndex(x),h=this.view.getCellIndex(y);if(n.isFixed(h)){return false}var e=Ext.ux.grid.ColumnHeaderGroup.prototype.getGroupRowIndex.call(this.view,x),A=Ext.ux.grid.ColumnHeaderGroup.prototype.getGroupSpan.call(this.view,e,u),z=Ext.ux.grid.ColumnHeaderGroup.prototype.getGroupSpan.call(this.view,e,h),u=A.col;h=z.col+(C=="after"?z.colspan:0);if(h>=A.col&&h<=A.col+A.colspan){return false}var v=Ext.ux.grid.ColumnHeaderGroup.prototype.getGroupSpan.call(this.view,e-1,u);if(h<v.col||h>v.col+v.colspan){return false}return{r:B,px:r,pt:C,row:e,oldIndex:u,newIndex:h,colspan:A.colspan}}});Ext.ns("Ext.ux.tree");Ext.ux.tree.ColumnTree=Ext.extend(Ext.tree.TreePanel,{lines:false,borderWidth:Ext.isBorderBox?0:2,cls:"x-column-tree",onRender:function(){Ext.tree.ColumnTree.superclass.onRender.apply(this,arguments);this.headers=this.header.createChild({cls:"x-tree-headers"});var l=this.columns,k;var c=0;var o=19;for(var n=0,h=l.length;n<h;n++){k=l[n];c+=k.width;this.headers.createChild({cls:"x-tree-hd "+(k.cls?k.cls+"-hd":""),cn:{cls:"x-tree-hd-text",html:k.header},style:"width:"+(k.width-this.borderWidth)+"px;"})}this.headers.createChild({cls:"x-clear"});this.headers.setWidth(c+o);this.innerCt.setWidth(c)}});Ext.reg("columntree",Ext.ux.tree.ColumnTree);Ext.tree.ColumnTree=Ext.ux.tree.ColumnTree;Ext.ux.tree.ColumnNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{focus:Ext.emptyFn,renderElements:function(x,n,t,c){this.indentMarkup=x.parentNode?x.parentNode.ui.getChildIndent():"";var a=x.getOwnerTree();var q=a.columns;var r=a.borderWidth;var s=q[0];var y=['<li class="x-tree-node"><div ext:tree-node-id="',x.id,'" class="x-tree-node-el x-tree-node-leaf ',n.cls,'">','<div class="x-tree-col" style="width:',s.width-r,'px;">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow">','<img src="',n.icon||this.emptyIcon,'" class="x-tree-node-icon',(n.icon?" x-tree-node-inline-icon":""),(n.iconCls?" "+n.iconCls:""),'" unselectable="on">','<a hidefocus="on" class="x-tree-node-anchor" href="',n.href?n.href:"#",'" tabIndex="1" ',n.hrefTarget?' target="'+n.hrefTarget+'"':"",">",'<span unselectable="on">',x.text||(s.renderer?s.renderer(n[s.dataIndex],x,n):n[s.dataIndex]),"</span></a>","</div>"];for(var w=1,u=q.length;w<u;w++){s=q[w];y.push('<div class="x-tree-col ',(s.cls?s.cls:""),'" style="width:',s.width-r,'px;">','<div class="x-tree-col-text">',(s.renderer?s.renderer(n[s.dataIndex],x,n):n[s.dataIndex]),"</div>","</div>")}y.push('<div class="x-clear"></div></div>','<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>");if(c!==true&&x.nextSibling&&x.nextSibling.ui.getEl()){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",x.nextSibling.ui.getEl(),y.join(""))}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",t,y.join(""))}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var v=this.elNode.firstChild.childNodes;this.indentNode=v[0];this.ecNode=v[1];this.iconNode=v[2];this.anchor=v[3];this.textNode=v[3].firstChild}});Ext.tree.ColumnNodeUI=Ext.ux.tree.ColumnNodeUI;Ext.DataView.LabelEditor=Ext.extend(Ext.Editor,{alignment:"tl-tl",hideEl:false,cls:"x-small-editor",shim:false,completeOnEnter:true,cancelOnEsc:true,labelSelector:"span.x-editable",constructor:function(d,c){Ext.DataView.LabelEditor.superclass.constructor.call(this,c||new Ext.form.TextField({allowBlank:false,growMin:90,growMax:240,grow:true,selectOnFocus:true}),d)},init:function(b){this.view=b;b.on("render",this.initEditor,this);this.on("complete",this.onSave,this)},initEditor:function(){this.view.on({scope:this,containerclick:this.doBlur,click:this.doBlur});this.view.getEl().on("mousedown",this.onMouseDown,this,{delegate:this.labelSelector})},doBlur:function(){if(this.editing){this.field.blur()}},onMouseDown:function(h,k){if(!h.ctrlKey&&!h.shiftKey){var e=this.view.findItemFromChild(k);h.stopEvent();var g=this.view.store.getAt(this.view.indexOf(e));this.startEdit(k,g.data[this.dataIndex]);this.activeRecord=g}else{h.preventDefault()}},onSave:function(d,c){this.activeRecord.set(this.dataIndex,c)}});Ext.DataView.DragSelector=function(z){z=z||{};var w,x,u;var B,v,t=new Ext.lib.Region(0,0,0,0);var D=z.dragSafe===true;this.init=function(a){w=a;w.on("render",q)};function s(){B=[];w.all.each(function(a){B[B.length]=a.getRegion()});v=w.el.getRegion()}function A(){return false}function y(a){return !D||a.target==w.el.dom}function r(a){w.on("containerclick",A,w,{single:true});if(!x){x=w.el.createChild({cls:"x-view-selector"})}else{if(x.dom.parentNode!==w.el.dom){w.el.dom.appendChild(x.dom)}x.setDisplayed("block")}s();w.clearSelections()}function C(g){var e=u.startXY;var o=u.getXY();var c=Math.min(e[0],o[0]);var d=Math.min(e[1],o[1]);var a=Math.abs(e[0]-o[0]);var k=Math.abs(e[1]-o[1]);t.left=c;t.top=d;t.right=c+a;t.bottom=d+k;t.constrainTo(v);x.setRegion(t);for(var l=0,h=B.length;l<h;l++){var b=B[l],n=t.intersect(b);if(n&&!b.selected){b.selected=true;w.select(l,true)}else{if(!n&&b.selected){b.selected=false;w.deselect(l)}}}}function E(a){if(!Ext.isIE){w.un("containerclick",A,w)}if(x){x.setDisplayed(false)}}function q(a){u=new Ext.dd.DragTracker({onBeforeStart:y,onStart:r,onDrag:C,onEnd:E});u.initEl(a.el)}};Ext.ns("Ext.ux.form");Ext.ux.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:"Browse...",buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Ext.ux.form.FileUploadField.superclass.initComponent.call(this);this.addEvents("fileselected")},onRender:function(g,e){Ext.ux.form.FileUploadField.superclass.onRender.call(this,g,e);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-file-wrap"});this.el.addClass("x-form-file-text");this.el.dom.removeAttribute("name");this.createFileInput();var d=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new Ext.Button(Ext.apply(d,{renderTo:this.wrap,cls:"x-form-file-btn"+(d.iconCls?" x-btn-icon":"")}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth())}this.bindListeners();this.resizeEl=this.positionEl=this.wrap},bindListeners:function(){this.fileInput.on({scope:this,mouseenter:function(){this.button.addClass(["x-btn-over","x-btn-focus"])},mouseleave:function(){this.button.removeClass(["x-btn-over","x-btn-focus","x-btn-click"])},mousedown:function(){this.button.addClass("x-btn-click")},mouseup:function(){this.button.removeClass(["x-btn-over","x-btn-focus","x-btn-click"])},change:function(){var b=this.fileInput.dom.value;this.setValue(b);this.fireEvent("fileselected",this,b)}})},createFileInput:function(){this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:this.name||this.getId(),cls:"x-form-file",tag:"input",type:"file",size:1})},reset:function(){this.fileInput.remove();this.createFileInput();this.bindListeners();Ext.ux.form.FileUploadField.superclass.reset.call(this)},getFileInputId:function(){return this.id+"-file"},onResize:function(d,c){Ext.ux.form.FileUploadField.superclass.onResize.call(this,d,c);this.wrap.setWidth(d);if(!this.buttonOnly){var d=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(d)}},onDestroy:function(){Ext.ux.form.FileUploadField.superclass.onDestroy.call(this);Ext.destroy(this.fileInput,this.button,this.wrap)},onDisable:function(){Ext.ux.form.FileUploadField.superclass.onDisable.call(this);this.doDisable(true)},onEnable:function(){Ext.ux.form.FileUploadField.superclass.onEnable.call(this);this.doDisable(false)},doDisable:function(b){this.fileInput.dom.disabled=b;this.button.setDisabled(b)},preFocus:Ext.emptyFn,alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}});Ext.reg("fileuploadfield",Ext.ux.form.FileUploadField);Ext.form.FileUploadField=Ext.ux.form.FileUploadField;Ext.ux.GMapPanel=Ext.extend(Ext.Panel,{initComponent:function(){var b={plain:true,zoomLevel:3,yaw:180,pitch:0,zoom:0,gmapType:"map",border:false};Ext.applyIf(this,b);Ext.ux.GMapPanel.superclass.initComponent.call(this)},afterRender:function(){var c=this.ownerCt.getSize();Ext.applyIf(this,c);Ext.ux.GMapPanel.superclass.afterRender.call(this);if(this.gmapType==="map"){this.gmap=new GMap2(this.body.dom)}if(this.gmapType==="panorama"){this.gmap=new GStreetviewPanorama(this.body.dom)}if(typeof this.addControl=="object"&&this.gmapType==="map"){this.gmap.addControl(this.addControl)}if(typeof this.setCenter==="object"){if(typeof this.setCenter.geoCodeAddr==="string"){this.geoCodeLookup(this.setCenter.geoCodeAddr)}else{if(this.gmapType==="map"){var d=new GLatLng(this.setCenter.lat,this.setCenter.lng);this.gmap.setCenter(d,this.zoomLevel)}if(typeof this.setCenter.marker==="object"&&typeof d==="object"){this.addMarker(d,this.setCenter.marker,this.setCenter.marker.clear)}}if(this.gmapType==="panorama"){this.gmap.setLocationAndPOV(new GLatLng(this.setCenter.lat,this.setCenter.lng),{yaw:this.yaw,pitch:this.pitch,zoom:this.zoom})}}GEvent.bind(this.gmap,"load",this,function(){this.onMapReady()})},onMapReady:function(){this.addMarkers(this.markers);this.addMapControls();this.addOptions()},onResize:function(d,c){if(typeof this.getMap()=="object"){this.gmap.checkResize()}Ext.ux.GMapPanel.superclass.onResize.call(this,d,c)},setSize:function(g,e,d){if(typeof this.getMap()=="object"){this.gmap.checkResize()}Ext.ux.GMapPanel.superclass.setSize.call(this,g,e,d)},getMap:function(){return this.gmap},getCenter:function(){return this.getMap().getCenter()},getCenterLatLng:function(){var b=this.getCenter();return{lat:b.lat(),lng:b.lng()}},addMarkers:function(g){if(Ext.isArray(g)){for(var d=0;d<g.length;d++){var e=new GLatLng(g[d].lat,g[d].lng);this.addMarker(e,g[d].marker,false,g[d].setCenter,g[d].listeners)}}},addMarker:function(o,n,g,h,l){Ext.applyIf(n,G_DEFAULT_ICON);if(g===true){this.getMap().clearOverlays()}if(h===true){this.getMap().setCenter(o,this.zoomLevel)}var k=new GMarker(o,n);if(typeof l==="object"){for(evt in l){GEvent.bind(k,evt,this,l[evt])}}this.getMap().addOverlay(k)},addMapControls:function(){if(this.gmapType==="map"){if(Ext.isArray(this.mapControls)){for(i=0;i<this.mapControls.length;i++){this.addMapControl(this.mapControls[i])}}else{if(typeof this.mapControls==="string"){this.addMapControl(this.mapControls)}else{if(typeof this.mapControls==="object"){this.getMap().addControl(this.mapControls)}}}}},addMapControl:function(c){var d=window[c];if(typeof d==="function"){this.getMap().addControl(new d())}},addOptions:function(){if(Ext.isArray(this.mapConfOpts)){var b;for(i=0;i<this.mapConfOpts.length;i++){this.addOption(this.mapConfOpts[i])}}else{if(typeof this.mapConfOpts==="string"){this.addOption(this.mapConfOpts)}}},addOption:function(c){var d=this.getMap()[c];if(typeof d==="function"){this.getMap()[c]()}},geoCodeLookup:function(b){this.geocoder=new GClientGeocoder();this.geocoder.getLocations(b,this.addAddressToMap.createDelegate(this))},addAddressToMap:function(b){if(!b||b.Status.code!=200){Ext.MessageBox.alert("Error","Code "+b.Status.code+" Error Returned")}else{place=b.Placemark[0];addressinfo=place.AddressDetails;accuracy=addressinfo.Accuracy;if(accuracy===0){Ext.MessageBox.alert("Unable to Locate Address","Unable to Locate the Address you provided")}else{if(accuracy<7){Ext.MessageBox.alert("Address Accuracy","The address provided has a low accuracy.<br><br>Level "+accuracy+" Accuracy (8 = Exact Match, 1 = Vague Match)")}else{point=new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);if(typeof this.setCenter.marker==="object"&&typeof point==="object"){this.addMarker(point,this.setCenter.marker,this.setCenter.marker.clear,true,this.setCenter.listeners)}}}}}});Ext.reg("gmappanel",Ext.ux.GMapPanel);Ext.namespace("Ext.ux.grid");Ext.ux.grid.GridFilters=Ext.extend(Ext.util.Observable,{autoReload:true,filterCls:"ux-filtered-column",local:false,menuFilterText:"Filters",paramPrefix:"filter",showMenu:true,stateId:undefined,updateBuffer:500,constructor:function(b){b=b||{};this.deferredUpdate=new Ext.util.DelayedTask(this.reload,this);this.filters=new Ext.util.MixedCollection();this.filters.getKey=function(a){return a?a.dataIndex:null};this.addFilters(b.filters);delete b.filters;Ext.apply(this,b)},init:function(b){if(b instanceof Ext.grid.GridPanel){this.grid=b;this.bindStore(this.grid.getStore(),true);if(this.filters.getCount()==0){this.addFilters(this.grid.getColumnModel())}this.grid.filters=this;this.grid.addEvents({filterupdate:true});b.on({scope:this,beforestaterestore:this.applyState,beforestatesave:this.saveState,beforedestroy:this.destroy,reconfigure:this.onReconfigure});if(b.rendered){this.onRender()}else{b.on({scope:this,single:true,render:this.onRender})}}else{if(b instanceof Ext.PagingToolbar){this.toolbar=b}}},applyState:function(e,h){var g,k;this.applyingState=true;this.clearFilters();if(h.filters){for(g in h.filters){k=this.filters.get(g);if(k){k.setValue(h.filters[g]);k.setActive(true)}}}this.deferredUpdate.cancel();if(this.local){this.reload()}delete this.applyingState;delete h.filters},saveState:function(e,g){var d={};this.filters.each(function(a){if(a.active){d[a.dataIndex]=a.getValue()}});return(g.filters=d)},onRender:function(){this.grid.getView().on("refresh",this.onRefresh,this);this.createMenu()},destroy:function(){this.removeAll();this.purgeListeners();if(this.filterMenu){Ext.menu.MenuMgr.unregister(this.filterMenu);this.filterMenu.destroy();this.filterMenu=this.menu.menu=null}},removeAll:function(){if(this.filters){Ext.destroy.apply(Ext,this.filters.items);this.filters.clear()}},bindStore:function(d,c){if(!c&&this.store){if(this.local){d.un("load",this.onLoad,this)}else{d.un("beforeload",this.onBeforeLoad,this)}}if(d){if(this.local){d.on("load",this.onLoad,this)}else{d.on("beforeload",this.onBeforeLoad,this)}}this.store=d},onReconfigure:function(){this.bindStore(this.grid.getStore());this.store.clearFilter();this.removeAll();this.addFilters(this.grid.getColumnModel());this.updateColumnHeadings()},createMenu:function(){var d=this.grid.getView(),c=d.hmenu;if(this.showMenu&&c){this.sep=c.addSeparator();this.filterMenu=new Ext.menu.Menu({id:this.grid.id+"-filters-menu"});this.menu=c.add({checked:false,itemId:"filters",text:this.menuFilterText,menu:this.filterMenu});this.menu.on({scope:this,checkchange:this.onCheckChange,beforecheckchange:this.onBeforeCheck});c.on("beforeshow",this.onMenu,this)}this.updateColumnHeadings()},getMenuFilter:function(){var b=this.grid.getView();if(!b||b.hdCtxIndex===undefined){return null}return this.filters.get(b.cm.config[b.hdCtxIndex].dataIndex)},onMenu:function(c){var d=this.getMenuFilter();if(d){this.menu.menu=d.menu;this.menu.setChecked(d.active,false);this.menu.setDisabled(d.disabled===true)}this.menu.setVisible(d!==undefined);this.sep.setVisible(d!==undefined)},onCheckChange:function(d,c){this.getMenuFilter().setActive(c)},onBeforeCheck:function(d,c){return !c||this.getMenuFilter().isActivatable()},onStateChange:function(c,d){if(c==="serialize"){return}if(d==this.getMenuFilter()){this.menu.setChecked(d.active,false)}if((this.autoReload||this.local)&&!this.applyingState){this.deferredUpdate.delay(this.updateBuffer)}this.updateColumnHeadings();if(!this.applyingState){this.grid.saveState()}this.grid.fireEvent("filterupdate",this,d)},onBeforeLoad:function(e,d){d.params=d.params||{};this.cleanParams(d.params);var g=this.buildQuery(this.getFilterData());Ext.apply(d.params,g)},onLoad:function(d,c){d.filterBy(this.getRecordFilter())},onRefresh:function(){this.updateColumnHeadings()},updateColumnHeadings:function(){var e=this.grid.getView(),k,g,h;if(e.mainHd){for(k=0,g=e.cm.config.length;k<g;k++){h=this.getFilter(e.cm.config[k].dataIndex);Ext.fly(e.getHeaderCell(k))[h&&h.active?"addClass":"removeClass"](this.filterCls)}}},reload:function(){if(this.local){this.grid.store.clearFilter(true);this.grid.store.filterBy(this.getRecordFilter())}else{var c,d=this.grid.store;this.deferredUpdate.cancel();if(this.toolbar){c=d.paramNames.start;if(d.lastOptions&&d.lastOptions.params&&d.lastOptions.params[c]){d.lastOptions.params[c]=0}}d.reload()}},getRecordFilter:function(){var g=[],e,d;this.filters.each(function(a){if(a.active){g.push(a)}});e=g.length;return function(a){for(d=0;d<e;d++){if(!g[d].validateRecord(a)){return false}}return true}},addFilter:function(e){var g=this.getFilterClass(e.type),d=e.menu?e:(new g(e));this.filters.add(d);Ext.util.Observable.capture(d,this.onStateChange,this);return d},addFilters:function(k){if(k){var o,g,l,h=false,n;if(k instanceof Ext.grid.ColumnModel){k=k.config;h=true}for(o=0,g=k.length;o<g;o++){l=false;if(h){n=k[o].dataIndex;l=k[o].filter||k[o].filterable;if(l){l=(l===true)?{}:l;Ext.apply(l,{dataIndex:n});l.type=l.type||this.store.fields.get(n).type.type}}else{l=k[o]}if(l){this.addFilter(l)}}}},getFilter:function(b){return this.filters.get(b)},clearFilters:function(){this.filters.each(function(b){b.setActive(false)})},getFilterData:function(){var g=[],d,e;this.filters.each(function(b){if(b.active){var a=[].concat(b.serialize());for(d=0,e=a.length;d<e;d++){g.push({field:b.dataIndex,data:a[d]})}}});return g},buildQuery:function(t){var u={},s,o,n,q,l,r,p=t.length;if(!this.encode){for(s=0;s<p;s++){o=t[s];n=[this.paramPrefix,"[",s,"]"].join("");u[n+"[field]"]=o.field;q=n+"[data]";for(l in o.data){u[[q,"[",l,"]"].join("")]=o.data[l]}}}else{r=[];for(s=0;s<p;s++){o=t[s];r.push(Ext.apply({},{field:o.field},o.data))}if(r.length>0){u[this.paramPrefix]=Ext.util.JSON.encode(r)}}return u},cleanParams:function(g){if(this.encode){delete g[this.paramPrefix]}else{var d,e;d=new RegExp("^"+this.paramPrefix+"[[0-9]+]");for(e in g){if(d.test(e)){delete g[e]}}}},getFilterClass:function(b){switch(b){case"auto":b="string";break;case"int":case"float":b="numeric";break;case"bool":b="boolean";break}return Ext.ux.grid.filter[b.substr(0,1).toUpperCase()+b.substr(1)+"Filter"]}});Ext.preg("gridfilters",Ext.ux.grid.GridFilters);Ext.namespace("Ext.ux.grid.filter");Ext.ux.grid.filter.Filter=Ext.extend(Ext.util.Observable,{active:false,dataIndex:null,menu:null,updateBuffer:500,constructor:function(b){Ext.apply(this,b);this.addEvents("activate","deactivate","serialize","update");Ext.ux.grid.filter.Filter.superclass.constructor.call(this);this.menu=new Ext.menu.Menu();this.init(b);if(b&&b.value){this.setValue(b.value);this.setActive(b.active!==false,true);delete b.value}},destroy:function(){if(this.menu){this.menu.destroy()}this.purgeListeners()},init:Ext.emptyFn,getValue:Ext.emptyFn,setValue:Ext.emptyFn,isActivatable:function(){return true},getSerialArgs:Ext.emptyFn,validateRecord:function(){return true},serialize:function(){var b=this.getSerialArgs();this.fireEvent("serialize",b,this);return b},fireUpdate:function(){if(this.active){this.fireEvent("update",this)}this.setActive(this.isActivatable())},setActive:function(c,d){if(this.active!=c){this.active=c;if(d!==true){this.fireEvent(c?"activate":"deactivate",this)}}}});Ext.ux.grid.filter.BooleanFilter=Ext.extend(Ext.ux.grid.filter.Filter,{defaultValue:false,yesText:"Yes",noText:"No",init:function(e){var g=Ext.id();this.options=[new Ext.menu.CheckItem({text:this.yesText,group:g,checked:this.defaultValue===true}),new Ext.menu.CheckItem({text:this.noText,group:g,checked:this.defaultValue===false})];this.menu.add(this.options[0],this.options[1]);for(var d=0;d<this.options.length;d++){this.options[d].on("click",this.fireUpdate,this);this.options[d].on("checkchange",this.fireUpdate,this)}},getValue:function(){return this.options[0].checked},setValue:function(b){this.options[b?0:1].setChecked(true)},getSerialArgs:function(){var b={type:"boolean",value:this.getValue()};return b},validateRecord:function(b){return b.get(this.dataIndex)==this.getValue()}});Ext.ux.grid.filter.DateFilter=Ext.extend(Ext.ux.grid.filter.Filter,{afterText:"After",beforeText:"Before",compareMap:{before:"lt",after:"gt",on:"eq"},dateFormat:"m/d/Y",menuItems:["before","after","-","on"],menuItemCfgs:{selectOnFocus:true,width:125},onText:"On",pickerOpts:{},init:function(q){var l,p,k,o,h,n;l=Ext.apply(this.pickerOpts,{minDate:this.minDate,maxDate:this.maxDate,format:this.dateFormat,listeners:{scope:this,select:this.onMenuSelect}});this.fields={};for(p=0,k=this.menuItems.length;p<k;p++){o=this.menuItems[p];if(o!=="-"){h={itemId:"range-"+o,text:this[o+"Text"],menu:new Ext.menu.DateMenu(Ext.apply(l,{itemId:o})),listeners:{scope:this,checkchange:this.onCheckChange}};n=Ext.menu.CheckItem;o=this.fields[o]=new n(h)}this.menu.add(o)}},onCheckChange:function(){this.setActive(this.isActivatable());this.fireEvent("update",this)},onInputKeyUp:function(g,d){var e=d.getKey();if(e==d.RETURN&&g.isValid()){d.stopEvent();this.menu.hide(true);return}},onMenuSelect:function(n,l,g){var h=this.fields,k=this.fields[n.itemId];k.setChecked(true);if(k==h.on){h.before.setChecked(false,true);h.after.setChecked(false,true)}else{h.on.setChecked(false,true);if(k==h.after&&h.before.menu.picker.value<l){h.before.setChecked(false,true)}else{if(k==h.before&&h.after.menu.picker.value>l){h.after.setChecked(false,true)}}}this.fireEvent("update",this)},getValue:function(){var c,d={};for(c in this.fields){if(this.fields[c].checked){d[c]=this.fields[c].menu.picker.getValue()}}return d},setValue:function(g,d){var e;for(e in this.fields){if(g[e]){this.fields[e].menu.picker.setValue(g[e]);this.fields[e].setChecked(true)}else{if(!d){this.fields[e].setChecked(false)}}}this.fireEvent("update",this)},isActivatable:function(){var b;for(b in this.fields){if(this.fields[b].checked){return true}}return false},getSerialArgs:function(){var d=[];for(var c in this.fields){if(this.fields[c].checked){d.push({type:"date",comparison:this.compareMap[c],value:this.getFieldValue(c).format(this.dateFormat)})}}return d},getFieldValue:function(b){return this.fields[b].menu.picker.getValue()},getPicker:function(b){return this.fields[b].menu.picker},validateRecord:function(g){var e,h,k=g.get(this.dataIndex);if(!Ext.isDate(k)){return false}k=k.clearTime(true).getTime();for(e in this.fields){if(this.fields[e].checked){h=this.getFieldValue(e).clearTime(true).getTime();if(e=="before"&&h<=k){return false}if(e=="after"&&h>=k){return false}if(e=="on"&&h!=k){return false}}}return true}});Ext.ux.grid.filter.ListFilter=Ext.extend(Ext.ux.grid.filter.Filter,{phpMode:false,init:function(b){this.dt=new Ext.util.DelayedTask(this.fireUpdate,this);if(this.menu){this.menu.destroy()}this.menu=new Ext.ux.menu.ListMenu(b);this.menu.on("checkchange",this.onCheckChange,this)},getValue:function(){return this.menu.getSelected()},setValue:function(b){this.menu.setSelected(b);this.fireEvent("update",this)},isActivatable:function(){return this.getValue().length>0},getSerialArgs:function(){var b={type:"list",value:this.phpMode?this.getValue().join(","):this.getValue()};return b},onCheckChange:function(){this.dt.delay(this.updateBuffer)},validateRecord:function(b){return this.getValue().indexOf(b.get(this.dataIndex))>-1}});Ext.ux.grid.filter.NumericFilter=Ext.extend(Ext.ux.grid.filter.Filter,{fieldCls:Ext.form.NumberField,iconCls:{gt:"ux-rangemenu-gt",lt:"ux-rangemenu-lt",eq:"ux-rangemenu-eq"},menuItemCfgs:{emptyText:"Enter Filter Text...",selectOnFocus:true,width:125},menuItems:["lt","gt","-","eq"],init:function(b){if(this.menu){this.menu.destroy()}this.menu=new Ext.ux.menu.RangeMenu(Ext.apply(b,{fieldCfg:this.fieldCfg||{},fieldCls:this.fieldCls,fields:this.fields||{},iconCls:this.iconCls,menuItemCfgs:this.menuItemCfgs,menuItems:this.menuItems,updateBuffer:this.updateBuffer}));this.menu.on("update",this.fireUpdate,this)},getValue:function(){return this.menu.getValue()},setValue:function(b){this.menu.setValue(b)},isActivatable:function(){var b=this.getValue();for(key in b){if(b[key]!==undefined){return true}}return false},getSerialArgs:function(){var g,d=[],e=this.menu.getValue();for(g in e){d.push({type:"numeric",comparison:g,value:e[g]})}return d},validateRecord:function(e){var g=e.get(this.dataIndex),d=this.getValue();if(d.eq!==undefined&&g!=d.eq){return false}if(d.lt!==undefined&&g>=d.lt){return false}if(d.gt!==undefined&&g<=d.gt){return false}return true}});Ext.ux.grid.filter.StringFilter=Ext.extend(Ext.ux.grid.filter.Filter,{iconCls:"ux-gridfilter-text-icon",emptyText:"Enter Filter Text...",selectOnFocus:true,width:125,init:function(b){Ext.applyIf(b,{enableKeyEvents:true,iconCls:this.iconCls,listeners:{scope:this,keyup:this.onInputKeyUp}});this.inputItem=new Ext.form.TextField(b);this.menu.add(this.inputItem);this.updateTask=new Ext.util.DelayedTask(this.fireUpdate,this)},getValue:function(){return this.inputItem.getValue()},setValue:function(b){this.inputItem.setValue(b);this.fireEvent("update",this)},isActivatable:function(){return this.inputItem.getValue().length>0},getSerialArgs:function(){return{type:"string",value:this.getValue()}},validateRecord:function(d){var c=d.get(this.dataIndex);if(typeof c!="string"){return(this.getValue().length===0)}return c.toLowerCase().indexOf(this.getValue().toLowerCase())>-1},onInputKeyUp:function(g,d){var e=d.getKey();if(e==d.RETURN&&g.isValid()){d.stopEvent();this.menu.hide(true);return}this.updateTask.delay(this.updateBuffer)}});Ext.namespace("Ext.ux.menu");Ext.ux.menu.ListMenu=Ext.extend(Ext.menu.Menu,{labelField:"text",loadingText:"Loading...",loadOnShow:true,single:false,constructor:function(g){this.selected=[];this.addEvents("checkchange");Ext.ux.menu.ListMenu.superclass.constructor.call(this,g=g||{});if(!g.store&&g.options){var n=[];for(var l=0,h=g.options.length;l<h;l++){var k=g.options[l];switch(Ext.type(k)){case"array":n.push(k);break;case"object":n.push([k.id,k[this.labelField]]);break;case"string":n.push([k,k]);break}}this.store=new Ext.data.Store({reader:new Ext.data.ArrayReader({id:0},["id",this.labelField]),data:n,listeners:{load:this.onLoad,scope:this}});this.loaded=true}else{this.add({text:this.loadingText,iconCls:"loading-indicator"});this.store.on("load",this.onLoad,this)}},destroy:function(){if(this.store){this.store.destroy()}Ext.ux.menu.ListMenu.superclass.destroy.call(this)},show:function(){var b=null;return function(){if(arguments.length===0){Ext.ux.menu.ListMenu.superclass.show.apply(this,b)}else{b=arguments;if(this.loadOnShow&&!this.loaded){this.store.load()}Ext.ux.menu.ListMenu.superclass.show.apply(this,arguments)}}}(),onLoad:function(q,h){var l=this.isVisible();this.hide(false);this.removeAll(true);var o=this.single?Ext.id():null;for(var p=0,k=h.length;p<k;p++){var n=new Ext.menu.CheckItem({text:h[p].get(this.labelField),group:o,checked:this.selected.indexOf(h[p].id)>-1,hideOnClick:false});n.itemId=h[p].id;n.on("checkchange",this.checkChange,this);this.add(n)}this.loaded=true;if(l){this.show()}this.fireEvent("load",this,h)},getSelected:function(){return this.selected},setSelected:function(b){b=this.selected=[].concat(b);if(this.loaded){this.items.each(function(e){e.setChecked(false,true);for(var g=0,a=b.length;g<a;g++){if(e.itemId==b[g]){e.setChecked(true,true)}}},this)}},checkChange:function(d,e){var g=[];this.items.each(function(a){if(a.checked){g.push(a.itemId)}},this);this.selected=g;this.fireEvent("checkchange",d,e)}});Ext.ns("Ext.ux.menu");Ext.ux.menu.RangeMenu=Ext.extend(Ext.menu.Menu,{constructor:function(o){Ext.ux.menu.RangeMenu.superclass.constructor.call(this,o);this.addEvents("update");this.updateTask=new Ext.util.DelayedTask(this.fireUpdate,this);var n,h,l,g,k;for(n=0,h=this.menuItems.length;n<h;n++){l=this.menuItems[n];if(l!=="-"){g={itemId:"range-"+l,enableKeyEvents:true,iconCls:this.iconCls[l]||"no-icon",listeners:{scope:this,keyup:this.onInputKeyUp}};Ext.apply(g,Ext.applyIf(this.fields[l]||{},this.fieldCfg[l]),this.menuItemCfgs);k=g.fieldCls||this.fieldCls;l=this.fields[l]=new k(g)}this.add(l)}},fireUpdate:function(){this.fireEvent("update",this)},getValue:function(){var e={},d,g;for(d in this.fields){g=this.fields[d];if(g.isValid()&&String(g.getValue()).length>0){e[d]=g.getValue()}}return e},setValue:function(c){var d;for(d in this.fields){this.fields[d].setValue(c[d]!==undefined?c[d]:"")}this.fireEvent("update",this)},onInputKeyUp:function(g,d){var e=d.getKey();if(e==d.RETURN&&g.isValid()){d.stopEvent();this.hide(true);return}if(g==this.fields.eq){if(this.fields.gt){this.fields.gt.setValue(null)}if(this.fields.lt){this.fields.lt.setValue(null)}}else{this.fields.eq.setValue(null)}this.updateTask.delay(this.updateBuffer)}});Ext.ns("Ext.ux.grid");Ext.ux.grid.GroupSummary=Ext.extend(Ext.util.Observable,{constructor:function(b){Ext.apply(this,b);Ext.ux.grid.GroupSummary.superclass.constructor.call(this)},init:function(c){this.grid=c;var d=this.view=c.getView();d.doGroupEnd=this.doGroupEnd.createDelegate(this);d.afterMethod("onColumnWidthUpdated",this.doWidth,this);d.afterMethod("onAllColumnWidthsUpdated",this.doAllWidths,this);d.afterMethod("onColumnHiddenUpdated",this.doHidden,this);d.afterMethod("onUpdate",this.doUpdate,this);d.afterMethod("onRemove",this.doRemove,this);if(!this.rowTpl){this.rowTpl=new Ext.Template('<div class="x-grid3-summary-row" style="{tstyle}">','<table class="x-grid3-summary-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr></tbody>","</table></div>");this.rowTpl.disableFormats=true}this.rowTpl.compile();if(!this.cellTpl){this.cellTpl=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}">','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on">{value}</div>',"</td>");this.cellTpl.disableFormats=true}this.cellTpl.compile()},toggleSummaries:function(c){var d=this.grid.getGridEl();if(d){if(c===undefined){c=d.hasClass("x-grid-hide-summary")}d[c?"removeClass":"addClass"]("x-grid-hide-summary")}},renderSummary:function(t,p){p=p||this.view.getColumnData();var o=this.grid.getColumnModel().config,s=[],n,v={},u,c=p.length-1;for(var r=0,q=p.length;r<q;r++){n=p[r];u=o[r];v.id=n.id;v.style=n.style;v.css=r==0?"x-grid3-cell-first ":(r==c?"x-grid3-cell-last ":"");if(u.summaryType||u.summaryRenderer){v.value=(u.summaryRenderer||n.renderer)(t.data[n.name],v,t)}else{v.value=""}if(v.value==undefined||v.value===""){v.value="&#160;"}s[s.length]=this.cellTpl.apply(v)}return this.rowTpl.apply({tstyle:"width:"+this.view.getTotalWidth()+";",cells:s.join("")})},calculate:function(v,q){var s={},x,o,p=this.grid.getColumnModel().config,w;for(var u=0,c=v.length;u<c;u++){x=v[u];for(var t=0,r=q.length;t<r;t++){o=q[t];w=p[t];if(w.summaryType){s[o.name]=Ext.ux.grid.GroupSummary.Calculations[w.summaryType](s[o.name]||0,x,o.name,s)}}}return s},doGroupEnd:function(h,n,g,k,o){var l=this.calculate(n.rs,g);h.push("</div>",this.renderSummary({data:l},g),"</div>")},doWidth:function(o,h,p){if(!this.isGrouped()){return}var q=this.view.getGroups(),k=q.length,n=0,l;for(;n<k;++n){l=q[n].childNodes[2];l.style.width=p;l.firstChild.style.width=p;l.firstChild.rows[0].childNodes[o].style.width=h}},doAllWidths:function(o,r){if(!this.isGrouped()){return}var u=this.view.getGroups(),p=u.length,s=0,t,l,n,q=o.length;for(;s<p;s++){l=u[s].childNodes[2];l.style.width=r;l.firstChild.style.width=r;n=l.firstChild.rows[0].childNodes;for(t=0;t<q;t++){n[t].style.width=o[t]}}},doHidden:function(r,o,s){if(!this.isGrouped()){return}var k=this.view.getGroups(),l=k.length,q=0,p,n=o?"none":"";for(;q<l;q++){p=k[q].childNodes[2];p.style.width=s;p.firstChild.style.width=s;p.firstChild.rows[0].childNodes[r].style.display=n}},isGrouped:function(){return !Ext.isEmpty(this.grid.getStore().groupField)},refreshSummary:function(b){return this.refreshSummaryById(this.view.getGroupId(b))},getSummaryNode:function(d){var c=Ext.fly(d,"_gsummary");if(c){return c.down(".x-grid3-summary-row",true)}return null},refreshSummaryById:function(p){var n=Ext.getDom(p);if(!n){return false}var g=[];this.grid.getStore().each(function(a){if(a._groupId==p){g[g.length]=a}});var q=this.view.getColumnData(),l=this.calculate(g,q),k=this.renderSummary({data:l},q),o=this.getSummaryNode(p);if(o){n.removeChild(o)}Ext.DomHelper.append(n,k);return true},doUpdate:function(c,d){this.refreshSummaryById(d._groupId)},doRemove:function(h,g,e,k){if(!k){this.refreshSummaryById(g._groupId)}},showSummaryMsg:function(g,h){var e=this.view.getGroupId(g),k=this.getSummaryNode(e);if(k){k.innerHTML='<div class="x-grid3-summary-msg">'+h+"</div>"}}});Ext.grid.GroupSummary=Ext.ux.grid.GroupSummary;Ext.ux.grid.GroupSummary.Calculations={sum:function(d,e,g){return d+(e.data[g]||0)},count:function(e,g,h,k){return k[h+"count"]?++k[h+"count"]:(k[h+"count"]=1)},max:function(n,g,k,l){var n=g.data[k];var h=l[k+"max"]===undefined?(l[k+"max"]=n):l[k+"max"];return n>h?(l[k+"max"]=n):h},min:function(g,h,k,l){var g=h.data[k];var n=l[k+"min"]===undefined?(l[k+"min"]=g):l[k+"min"];return g<n?(l[k+"min"]=g):n},average:function(c,h,l,n){var k=n[l+"count"]?++n[l+"count"]:(n[l+"count"]=1);var o=(n[l+"total"]=((n[l+"total"]||0)+(h.data[l]||0)));return o===0?0:o/k}};Ext.grid.GroupSummary.Calculations=Ext.ux.grid.GroupSummary.Calculations;Ext.ux.grid.HybridSummary=Ext.extend(Ext.ux.grid.GroupSummary,{calculate:function(g,l){var h=this.view.getGroupField(),n=g[0].data[h],k=this.getSummaryData(n);return k||Ext.ux.grid.HybridSummary.superclass.calculate.call(this,g,l)},updateSummaryData:function(g,h,k){var e=this.grid.getStore().reader.jsonData;if(!e.summaryData){e.summaryData={}}e.summaryData[g]=h;if(!k){this.refreshSummary(g)}},getSummaryData:function(n){var g=this.grid.getStore().reader,k=g.jsonData,h=g.recordType.prototype.fields,l;if(k&&k.summaryData){l=k.summaryData[n];if(l){return g.extractValues(l,h.items,h.length)}}return null}});Ext.grid.HybridSummary=Ext.ux.grid.HybridSummary;Ext.ux.GroupTab=Ext.extend(Ext.Container,{mainItem:0,expanded:true,deferredRender:true,activeTab:null,idDelimiter:"__",headerAsText:false,frame:false,hideBorders:true,initComponent:function(d){Ext.apply(this,d);this.frame=false;Ext.ux.GroupTab.superclass.initComponent.call(this);this.addEvents("activate","deactivate","changemainitem","beforetabchange","tabchange");this.setLayout(new Ext.layout.CardLayout({deferredRender:this.deferredRender}));if(!this.stack){this.stack=Ext.TabPanel.AccessStack()}this.initItems();this.on("beforerender",function(){this.groupEl=this.ownerCt.getGroupEl(this)},this);this.on("add",this.onAdd,this,{target:this});this.on("remove",this.onRemove,this,{target:this});if(this.mainItem!==undefined){var c=(typeof this.mainItem=="object")?this.mainItem:this.items.get(this.mainItem);delete this.mainItem;this.setMainItem(c)}},setActiveTab:function(g){g=this.getComponent(g);if(!g){return false}if(!this.rendered){this.activeTab=g;return true}if(this.activeTab!=g&&this.fireEvent("beforetabchange",this,g,this.activeTab)!==false){if(this.activeTab&&this.activeTab!=this.mainItem){var e=this.getTabEl(this.activeTab);if(e){Ext.fly(e).removeClass("x-grouptabs-strip-active")}}var d=this.getTabEl(g);Ext.fly(d).addClass("x-grouptabs-strip-active");this.activeTab=g;this.stack.add(g);this.layout.setActiveItem(g);if(this.layoutOnTabChange&&g.doLayout){g.doLayout()}if(this.scrolling){this.scrollToTab(g,this.animScroll)}this.fireEvent("tabchange",this,g);return true}return false},getTabEl:function(b){if(b==this.mainItem){return this.groupEl}return Ext.TabPanel.prototype.getTabEl.call(this,b)},onRender:function(d,e){Ext.ux.GroupTab.superclass.onRender.call(this,d,e);this.strip=Ext.fly(this.groupEl).createChild({tag:"ul",cls:"x-grouptabs-sub"});this.tooltip=new Ext.ToolTip({target:this.groupEl,delegate:"a.x-grouptabs-text",trackMouse:true,renderTo:document.body,listeners:{beforeshow:function(a){var b=(a.triggerElement.parentNode===this.mainItem.tabEl)?this.mainItem:this.findById(a.triggerElement.parentNode.id.split(this.idDelimiter)[1]);if(!b.tabTip){return false}a.body.dom.innerHTML=b.tabTip},scope:this}});if(!this.itemTpl){var g=new Ext.Template('<li class="{cls}" id="{id}">','<a onclick="return false;" class="x-grouptabs-text {iconCls}">{text}</a>',"</li>");g.disableFormats=true;g.compile();Ext.ux.GroupTab.prototype.itemTpl=g}this.items.each(this.initTab,this)},afterRender:function(){Ext.ux.GroupTab.superclass.afterRender.call(this);if(this.activeTab!==undefined){var b=(typeof this.activeTab=="object")?this.activeTab:this.items.get(this.activeTab);delete this.activeTab;this.setActiveTab(b)}},initTab:function(n,h){var l=this.strip.dom.childNodes[h];var k=Ext.TabPanel.prototype.getTemplateArgs.call(this,n);if(n===this.mainItem){n.tabEl=this.groupEl;k.cls+=" x-grouptabs-main-item"}var g=l?this.itemTpl.insertBefore(l,k):this.itemTpl.append(this.strip,k);n.tabEl=n.tabEl||g;n.on("disable",this.onItemDisabled,this);n.on("enable",this.onItemEnabled,this);n.on("titlechange",this.onItemTitleChanged,this);n.on("iconchange",this.onItemIconChanged,this);n.on("beforeshow",this.onBeforeShowItem,this)},setMainItem:function(b){b=this.getComponent(b);if(!b||this.fireEvent("changemainitem",this,b,this.mainItem)===false){return}this.mainItem=b},getMainItem:function(){return this.mainItem||null},onBeforeShowItem:function(b){if(b!=this.activeTab){this.setActiveTab(b);return false}},onAdd:function(e,g,d){if(this.rendered){this.initTab.call(this,g,d)}},onRemove:function(g,d){Ext.destroy(Ext.get(this.getTabEl(d)));this.stack.remove(d);d.un("disable",this.onItemDisabled,this);d.un("enable",this.onItemEnabled,this);d.un("titlechange",this.onItemTitleChanged,this);d.un("iconchange",this.onItemIconChanged,this);d.un("beforeshow",this.onBeforeShowItem,this);if(d==this.activeTab){var e=this.stack.next();if(e){this.setActiveTab(e)}else{if(this.items.getCount()>0){this.setActiveTab(0)}else{this.activeTab=null}}}},onBeforeAdd:function(d){var e=d.events?(this.items.containsKey(d.getItemId())?d:null):this.items.get(d);if(e){this.setActiveTab(d);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var g=d.elements;d.elements=g?g.replace(",header",""):g;d.border=(d.border===true)},onItemDisabled:Ext.TabPanel.prototype.onItemDisabled,onItemEnabled:Ext.TabPanel.prototype.onItemEnabled,onItemTitleChanged:function(c){var d=this.getTabEl(c);if(d){Ext.fly(d).child("a.x-grouptabs-text",true).innerHTML=c.title}},onItemIconChanged:function(h,g,k){var e=this.getTabEl(h);if(e){Ext.fly(e).child("a.x-grouptabs-text").replaceClass(k,g)}},beforeDestroy:function(){Ext.TabPanel.prototype.beforeDestroy.call(this);this.tooltip.destroy()}});Ext.reg("grouptab",Ext.ux.GroupTab);Ext.ns("Ext.ux");Ext.ux.GroupTabPanel=Ext.extend(Ext.TabPanel,{tabPosition:"left",alternateColor:false,alternateCls:"x-grouptabs-panel-alt",defaultType:"grouptab",deferredRender:false,activeGroup:null,initComponent:function(){Ext.ux.GroupTabPanel.superclass.initComponent.call(this);this.addEvents("beforegroupchange","groupchange");this.elements="body,header";this.stripTarget="header";this.tabPosition=this.tabPosition=="right"?"right":"left";this.addClass("x-grouptabs-panel");if(this.tabStyle&&this.tabStyle!=""){this.addClass("x-grouptabs-panel-"+this.tabStyle)}if(this.alternateColor){this.addClass(this.alternateCls)}this.on("beforeadd",function(d,g,e){this.initGroup(g,e)});this.items.each(function(b){b.on("tabchange",function(a){this.fireEvent("tabchange",this,a.activeTab)},this)},this)},initEvents:function(){this.mon(this.strip,"mousedown",this.onStripMouseDown,this)},onRender:function(o,h){Ext.TabPanel.superclass.onRender.call(this,o,h);if(this.plain){var k=this.tabPosition=="top"?"header":"footer";this[k].addClass("x-tab-panel-"+k+"-plain")}var g=this[this.stripTarget];this.stripWrap=g.createChild({cls:"x-tab-strip-wrap ",cn:{tag:"ul",cls:"x-grouptabs-strip x-grouptabs-tab-strip-"+this.tabPosition}});var l=(this.tabPosition=="bottom"?this.stripWrap:null);this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.header.addClass("x-grouptabs-panel-header");this.bwrap.addClass("x-grouptabs-bwrap");this.body.addClass("x-tab-panel-body-"+this.tabPosition+" x-grouptabs-panel-body");if(!this.groupTpl){var n=new Ext.Template('<li class="{cls}" id="{id}">','<a class="x-grouptabs-expand" onclick="return false;"></a>','<a class="x-grouptabs-text {iconCls}" href="#" onclick="return false;">',"<span>{text}</span></a>","</li>");n.disableFormats=true;n.compile();Ext.ux.GroupTabPanel.prototype.groupTpl=n}this.items.each(this.initGroup,this)},afterRender:function(){Ext.ux.GroupTabPanel.superclass.afterRender.call(this);this.tabJoint=Ext.fly(this.body.dom.parentNode).createChild({cls:"x-tab-joint"});this.addClass("x-tab-panel-"+this.tabPosition);this.header.setWidth(this.tabWidth);if(this.activeGroup!==undefined){var b=(typeof this.activeGroup=="object")?this.activeGroup:this.items.get(this.activeGroup);delete this.activeGroup;this.setActiveGroup(b);b.setActiveTab(b.getMainItem())}},getGroupEl:Ext.TabPanel.prototype.getTabEl,findTargets:function(g){var d=null,e=g.getTarget("li",this.strip);if(e){d=this.findById(e.id.split(this.idDelimiter)[1]);if(d.disabled){return{expand:null,item:null,el:null}}}return{expand:g.getTarget(".x-grouptabs-expand",this.strip),isGroup:!g.getTarget("ul.x-grouptabs-sub",this.strip),item:d,el:e}},onStripMouseDown:function(c){if(c.button!=0){return}c.preventDefault();var d=this.findTargets(c);if(d.expand){this.toggleGroup(d.el)}else{if(d.item){if(d.isGroup){d.item.setActiveTab(d.item.getMainItem())}else{d.item.ownerCt.setActiveTab(d.item)}}}},expandGroup:function(b){if(b.isXType){b=this.getGroupEl(b)}Ext.fly(b).addClass("x-grouptabs-expanded");this.syncTabJoint()},toggleGroup:function(b){if(b.isXType){b=this.getGroupEl(b)}Ext.fly(b).toggleClass("x-grouptabs-expanded");this.syncTabJoint()},collapseGroup:function(b){if(b.isXType){b=this.getGroupEl(b)}Ext.fly(b).removeClass("x-grouptabs-expanded");this.syncTabJoint()},syncTabJoint:function(c){if(!this.tabJoint){return}c=c||this.getGroupEl(this.activeGroup);if(c){this.tabJoint.setHeight(Ext.fly(c).getHeight()-2);var d=Ext.isGecko2?0:1;if(this.tabPosition=="left"){this.tabJoint.alignTo(c,"tl-tr",[-2,d])}else{this.tabJoint.alignTo(c,"tr-tl",[1,d])}}else{this.tabJoint.hide()}},getActiveTab:function(){if(!this.activeGroup){return null}return this.activeGroup.getTabEl(this.activeGroup.activeTab)||null},onResize:function(){Ext.ux.GroupTabPanel.superclass.onResize.apply(this,arguments);this.syncTabJoint()},createCorner:function(d,c){return Ext.fly(d).createChild({cls:"x-grouptabs-corner x-grouptabs-corner-"+c})},initGroup:function(n,h){var p=this.strip.dom.childNodes[h],o=this.getTemplateArgs(n);if(h===0){o.cls+=" x-tab-first"}o.cls+=" x-grouptabs-main";o.text=n.getMainItem().title;var q=p?this.groupTpl.insertBefore(p,o):this.groupTpl.append(this.strip,o),k=this.createCorner(q,"top-"+this.tabPosition),l=this.createCorner(q,"bottom-"+this.tabPosition);n.tabEl=q;if(n.expanded){this.expandGroup(q)}if(Ext.isIE6||(Ext.isIE&&!Ext.isStrict)){l.setLeft("-10px");l.setBottom("-5px");k.setLeft("-10px");k.setTop("-5px")}this.mon(n,{scope:this,changemainitem:this.onGroupChangeMainItem,beforetabchange:this.onGroupBeforeTabChange})},setActiveGroup:function(d){d=this.getComponent(d);if(!d){return false}if(!this.rendered){this.activeGroup=d;return true}if(this.activeGroup!=d&&this.fireEvent("beforegroupchange",this,d,this.activeGroup)!==false){if(this.activeGroup){this.activeGroup.activeTab=null;var e=this.getGroupEl(this.activeGroup);if(e){Ext.fly(e).removeClass("x-grouptabs-strip-active")}}var g=this.getGroupEl(d);Ext.fly(g).addClass("x-grouptabs-strip-active");this.activeGroup=d;this.stack.add(d);this.layout.setActiveItem(d);this.syncTabJoint(g);this.fireEvent("groupchange",this,d);return true}return false},onGroupBeforeTabChange:function(e,g,d){if(e!==this.activeGroup||g!==d){this.strip.select(".x-grouptabs-sub > li.x-grouptabs-strip-active",true).removeClass("x-grouptabs-strip-active")}this.expandGroup(this.getGroupEl(e));if(e!==this.activeGroup){return this.setActiveGroup(e)}},getFrameHeight:function(){var b=this.el.getFrameWidth("tb");b+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);return b},adjustBodyWidth:function(b){return b-this.tabWidth}});Ext.reg("grouptabpanel",Ext.ux.GroupTabPanel);Ext.ux.form.ItemSelector=Ext.extend(Ext.form.Field,{hideNavIcons:false,imagePath:"",iconUp:"up2.gif",iconDown:"down2.gif",iconLeft:"left2.gif",iconRight:"right2.gif",iconTop:"top2.gif",iconBottom:"bottom2.gif",drawUpIcon:true,drawDownIcon:true,drawLeftIcon:true,drawRightIcon:true,drawTopIcon:true,drawBotIcon:true,delimiter:",",bodyStyle:null,border:false,defaultAutoCreate:{tag:"div"},multiselects:null,initComponent:function(){Ext.ux.form.ItemSelector.superclass.initComponent.call(this);this.addEvents({rowdblclick:true,change:true})},onRender:function(r,l){Ext.ux.form.ItemSelector.superclass.onRender.call(this,r,l);var n=[{legend:"Available",draggable:true,droppable:true,width:100,height:100},{legend:"Selected",droppable:true,draggable:true,width:100,height:100}];this.fromMultiselect=new Ext.ux.form.MultiSelect(Ext.applyIf(this.multiselects[0],n[0]));this.fromMultiselect.on("dblclick",this.onRowDblClick,this);this.toMultiselect=new Ext.ux.form.MultiSelect(Ext.applyIf(this.multiselects[1],n[1]));this.toMultiselect.on("dblclick",this.onRowDblClick,this);var o=new Ext.Panel({bodyStyle:this.bodyStyle,border:this.border,layout:"table",layoutConfig:{columns:3}});o.add(this.fromMultiselect);var s=new Ext.Panel({header:false});o.add(s);o.add(this.toMultiselect);o.render(this.el);s.el.down("."+s.bwrapCls).remove();if(this.imagePath!=""&&this.imagePath.charAt(this.imagePath.length-1)!="/"){this.imagePath+="/"}this.iconUp=this.imagePath+(this.iconUp||"up2.gif");this.iconDown=this.imagePath+(this.iconDown||"down2.gif");this.iconLeft=this.imagePath+(this.iconLeft||"left2.gif");this.iconRight=this.imagePath+(this.iconRight||"right2.gif");this.iconTop=this.imagePath+(this.iconTop||"top2.gif");this.iconBottom=this.imagePath+(this.iconBottom||"bottom2.gif");var p=s.getEl();this.toTopIcon=p.createChild({tag:"img",src:this.iconTop,style:{cursor:"pointer",margin:"2px"}});p.createChild({tag:"br"});this.upIcon=p.createChild({tag:"img",src:this.iconUp,style:{cursor:"pointer",margin:"2px"}});p.createChild({tag:"br"});this.addIcon=p.createChild({tag:"img",src:this.iconRight,style:{cursor:"pointer",margin:"2px"}});p.createChild({tag:"br"});this.removeIcon=p.createChild({tag:"img",src:this.iconLeft,style:{cursor:"pointer",margin:"2px"}});p.createChild({tag:"br"});this.downIcon=p.createChild({tag:"img",src:this.iconDown,style:{cursor:"pointer",margin:"2px"}});p.createChild({tag:"br"});this.toBottomIcon=p.createChild({tag:"img",src:this.iconBottom,style:{cursor:"pointer",margin:"2px"}});this.toTopIcon.on("click",this.toTop,this);this.upIcon.on("click",this.up,this);this.downIcon.on("click",this.down,this);this.toBottomIcon.on("click",this.toBottom,this);this.addIcon.on("click",this.fromTo,this);this.removeIcon.on("click",this.toFrom,this);if(!this.drawUpIcon||this.hideNavIcons){this.upIcon.dom.style.display="none"}if(!this.drawDownIcon||this.hideNavIcons){this.downIcon.dom.style.display="none"}if(!this.drawLeftIcon||this.hideNavIcons){this.addIcon.dom.style.display="none"}if(!this.drawRightIcon||this.hideNavIcons){this.removeIcon.dom.style.display="none"}if(!this.drawTopIcon||this.hideNavIcons){this.toTopIcon.dom.style.display="none"}if(!this.drawBotIcon||this.hideNavIcons){this.toBottomIcon.dom.style.display="none"}var k=o.body.first();this.el.setWidth(o.body.first().getWidth());o.body.removeClass();this.hiddenName=this.name;var q={tag:"input",type:"hidden",value:"",name:this.name};this.hiddenField=this.el.createChild(q)},doLayout:function(){if(this.rendered){this.fromMultiselect.fs.doLayout();this.toMultiselect.fs.doLayout()}},afterRender:function(){Ext.ux.form.ItemSelector.superclass.afterRender.call(this);this.toStore=this.toMultiselect.store;this.toStore.on("add",this.valueChanged,this);this.toStore.on("remove",this.valueChanged,this);this.toStore.on("load",this.valueChanged,this);this.valueChanged(this.toStore)},toTop:function(){var g=this.toMultiselect.view.getSelectedIndexes();var e=[];if(g.length>0){g.sort();for(var d=0;d<g.length;d++){record=this.toMultiselect.view.store.getAt(g[d]);e.push(record)}g=[];for(var d=e.length-1;d>-1;d--){record=e[d];this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.insert(0,record);g.push(((e.length-1)-d))}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(g)},toBottom:function(){var g=this.toMultiselect.view.getSelectedIndexes();var e=[];if(g.length>0){g.sort();for(var d=0;d<g.length;d++){record=this.toMultiselect.view.store.getAt(g[d]);e.push(record)}g=[];for(var d=0;d<e.length;d++){record=e[d];this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.add(record);g.push((this.toMultiselect.view.store.getCount())-(e.length-d))}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(g)},up:function(){var g=null;var k=this.toMultiselect.view.getSelectedIndexes();k.sort();var h=[];if(k.length>0){for(var e=0;e<k.length;e++){g=this.toMultiselect.view.store.getAt(k[e]);if((k[e]-1)>=0){this.toMultiselect.view.store.remove(g);this.toMultiselect.view.store.insert(k[e]-1,g);h.push(k[e]-1)}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(h)}},down:function(){var g=null;var k=this.toMultiselect.view.getSelectedIndexes();k.sort();k.reverse();var h=[];if(k.length>0){for(var e=0;e<k.length;e++){g=this.toMultiselect.view.store.getAt(k[e]);if((k[e]+1)<this.toMultiselect.view.store.getCount()){this.toMultiselect.view.store.remove(g);this.toMultiselect.view.store.insert(k[e]+1,g);h.push(k[e]+1)}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(h)}},fromTo:function(){var k=this.fromMultiselect.view.getSelectedIndexes();var g=[];if(k.length>0){for(var l=0;l<k.length;l++){record=this.fromMultiselect.view.store.getAt(k[l]);g.push(record)}if(!this.allowDup){k=[]}for(var l=0;l<g.length;l++){record=g[l];if(this.allowDup){var h=new Ext.data.Record();record.id=h.id;delete h;this.toMultiselect.view.store.add(record)}else{this.fromMultiselect.view.store.remove(record);this.toMultiselect.view.store.add(record);k.push((this.toMultiselect.view.store.getCount()-1))}}}this.toMultiselect.view.refresh();this.fromMultiselect.view.refresh();var n=this.toMultiselect.store.sortInfo;if(n){this.toMultiselect.store.sort(n.field,n.direction)}this.toMultiselect.view.select(k)},toFrom:function(){var h=this.toMultiselect.view.getSelectedIndexes();var g=[];if(h.length>0){for(var k=0;k<h.length;k++){record=this.toMultiselect.view.store.getAt(h[k]);g.push(record)}h=[];for(var k=0;k<g.length;k++){record=g[k];this.toMultiselect.view.store.remove(record);if(!this.allowDup){this.fromMultiselect.view.store.add(record);h.push((this.fromMultiselect.view.store.getCount()-1))}}}this.fromMultiselect.view.refresh();this.toMultiselect.view.refresh();var e=this.fromMultiselect.store.sortInfo;if(e){this.fromMultiselect.store.sort(e.field,e.direction)}this.fromMultiselect.view.select(h)},valueChanged:function(k){var g=null;var e=[];for(var h=0;h<k.getCount();h++){g=k.getAt(h);e.push(g.get(this.toMultiselect.valueField))}this.hiddenField.dom.value=e.join(this.delimiter);this.fireEvent("change",this,this.getValue(),this.hiddenField.dom.value)},getValue:function(){return this.hiddenField.dom.value},onRowDblClick:function(k,g,e,h){if(k==this.toMultiselect.view){this.toFrom()}else{if(k==this.fromMultiselect.view){this.fromTo()}}return this.fireEvent("rowdblclick",k,g,e,h)},reset:function(){range=this.toMultiselect.store.getRange();this.toMultiselect.store.removeAll();this.fromMultiselect.store.add(range);var b=this.fromMultiselect.store.sortInfo;if(b){this.fromMultiselect.store.sort(b.field,b.direction)}this.valueChanged(this.toMultiselect.store)}});Ext.reg("itemselector",Ext.ux.form.ItemSelector);Ext.ux.ItemSelector=Ext.ux.form.ItemSelector;Ext.ns("Ext.ux.grid");Ext.ux.grid.LockingGridView=Ext.extend(Ext.grid.GridView,{lockText:"Lock",unlockText:"Unlock",rowBorderWidth:1,lockedBorderWidth:1,syncHeights:false,initTemplates:function(){var b=this.templates||{};if(!b.masterTpl){b.masterTpl=new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-locked">','<div class="x-grid3-header"><div class="x-grid3-header-inner"><div class="x-grid3-header-offset" style="{lstyle}">{lockedHeader}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body" style="{lstyle}">{lockedBody}</div><div class="x-grid3-scroll-spacer"></div></div>',"</div>",'<div class="x-grid3-viewport x-grid3-unlocked">','<div class="x-grid3-header"><div class="x-grid3-header-inner"><div class="x-grid3-header-offset" style="{ostyle}">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body" style="{bstyle}">{body}</div><a href="#" class="x-grid3-focus" tabIndex="-1"></a></div>',"</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>")}this.templates=b;Ext.ux.grid.LockingGridView.superclass.initTemplates.call(this)},getEditorParent:function(b){return this.el.dom},initElements:function(){var o=Ext.get(this.grid.getGridEl().dom.firstChild),l=o.child("div.x-grid3-locked"),q=l.child("div.x-grid3-header"),h=l.child("div.x-grid3-scroller"),n=o.child("div.x-grid3-viewport"),p=n.child("div.x-grid3-header"),k=n.child("div.x-grid3-scroller");if(this.grid.hideHeaders){q.setDisplayed(false);p.setDisplayed(false)}if(this.forceFit){k.setStyle("overflow-x","hidden")}Ext.apply(this,{el:o,mainWrap:n,mainHd:p,innerHd:p.dom.firstChild,scroller:k,mainBody:k.child("div.x-grid3-body"),focusEl:k.child("a"),resizeMarker:o.child("div.x-grid3-resize-marker"),resizeProxy:o.child("div.x-grid3-resize-proxy"),lockedWrap:l,lockedHd:q,lockedScroller:h,lockedBody:h.child("div.x-grid3-body"),lockedInnerHd:q.child("div.x-grid3-header-inner",true)});this.focusEl.swallowEvent("click",true)},getLockedRows:function(){return this.hasRows()?this.lockedBody.dom.childNodes:[]},getLockedRow:function(b){return this.getLockedRows()[b]},getCell:function(g,e){var d=this.cm.getLockedCount();if(e<d){return this.getLockedRow(g).getElementsByTagName("td")[e]}return Ext.ux.grid.LockingGridView.superclass.getCell.call(this,g,e-d)},getHeaderCell:function(d){var c=this.cm.getLockedCount();if(d<c){return this.lockedHd.dom.getElementsByTagName("td")[d]}return Ext.ux.grid.LockingGridView.superclass.getHeaderCell.call(this,d-c)},addRowClass:function(g,e){var d=this.getLockedRow(g);if(d){this.fly(d).addClass(e)}Ext.ux.grid.LockingGridView.superclass.addRowClass.call(this,g,e)},removeRowClass:function(g,e){var d=this.getLockedRow(g);if(d){this.fly(d).removeClass(e)}Ext.ux.grid.LockingGridView.superclass.removeRowClass.call(this,g,e)},removeRow:function(b){Ext.removeNode(this.getLockedRow(b));Ext.ux.grid.LockingGridView.superclass.removeRow.call(this,b)},removeRows:function(k,e){var g=this.lockedBody.dom,h=k;for(;h<=e;h++){Ext.removeNode(g.childNodes[k])}Ext.ux.grid.LockingGridView.superclass.removeRows.call(this,k,e)},syncScroll:function(b){this.lockedScroller.dom.scrollTop=this.scroller.dom.scrollTop;Ext.ux.grid.LockingGridView.superclass.syncScroll.call(this,b)},updateSortIcon:function(p,q){var k=this.sortClasses,o=this.lockedHd.select("td").removeClass(k),l=this.mainHd.select("td").removeClass(k),n=this.cm.getLockedCount(),h=k[q=="DESC"?1:0];if(p<n){o.item(p).addClass(h)}else{l.item(p-n).addClass(h)}},updateAllColumnWidths:function(){var v=this.getTotalWidth(),q=this.cm.getColumnCount(),A=this.getLockedWidth(),y=this.cm.getLockedCount(),t=[],u,x;this.updateLockedWidth();for(x=0;x<q;x++){t[x]=this.getColumnWidth(x);var w=this.getHeaderCell(x);w.style.width=t[x]}var B=this.getLockedRows(),r=this.getRows(),p,s,z;for(x=0,u=r.length;x<u;x++){p=B[x];p.style.width=A;if(p.firstChild){p.firstChild.style.width=A;s=p.firstChild.rows[0];for(z=0;z<y;z++){s.childNodes[z].style.width=t[z]}}p=r[x];p.style.width=v;if(p.firstChild){p.firstChild.style.width=v;s=p.firstChild.rows[0];for(z=y;z<q;z++){s.childNodes[z-y].style.width=t[z]}}}this.onAllColumnWidthsUpdated(t,v);this.syncHeaderHeight()},updateColumnWidth:function(u,w){var n=this.getColumnWidth(u),t=this.cm.getLockedCount(),o,v,p,c;this.updateLockedWidth();if(u<t){o=this.getLockedRows();v=this.getLockedWidth();p=u}else{o=this.getRows();v=this.getTotalWidth();p=u-t}var r=this.getHeaderCell(u);r.style.width=n;for(var s=0,q=o.length;s<q;s++){c=o[s];c.style.width=v;if(c.firstChild){c.firstChild.style.width=v;c.firstChild.rows[0].childNodes[p].style.width=n}}this.onColumnWidthUpdated(u,n,this.getTotalWidth());this.syncHeaderHeight()},updateColumnHidden:function(v,r){var u=this.cm.getLockedCount(),n,w,o,c,p=r?"none":"";this.updateLockedWidth();if(v<u){n=this.getLockedRows();w=this.getLockedWidth();o=v}else{n=this.getRows();w=this.getTotalWidth();o=v-u}var s=this.getHeaderCell(v);s.style.display=p;for(var t=0,q=n.length;t<q;t++){c=n[t];c.style.width=w;if(c.firstChild){c.firstChild.style.width=w;c.firstChild.rows[0].childNodes[o].style.display=p}}this.onColumnHiddenUpdated(v,r,this.getTotalWidth());delete this.lastViewWidth;this.layout()},doRender:function(U,R,H,Z,I,r){var X=this.templates,V=X.cell,T=X.row,P=I-1,W="width:"+this.getTotalWidth()+";",Y="width:"+this.getLockedWidth()+";",N=[],J=[],F,S,M,G={},Q={},L;for(var E=0,c=R.length;E<c;E++){L=R[E];F=[];S=[];var O=(E+Z);for(var p=0;p<I;p++){M=U[p];G.id=M.id;G.css=(p===0?"x-grid3-cell-first ":(p==P?"x-grid3-cell-last ":""))+(this.cm.config[p].cellCls?" "+this.cm.config[p].cellCls:"");G.attr=G.cellAttr="";G.value=M.renderer(L.data[M.name],G,L,O,p,H);G.style=M.style;if(Ext.isEmpty(G.value)){G.value="&#160;"}if(this.markDirty&&L.dirty&&Ext.isDefined(L.modified[M.name])){G.css+=" x-grid3-dirty-cell"}if(M.locked){S[S.length]=V.apply(G)}else{F[F.length]=V.apply(G)}}var K=[];if(r&&((O+1)%2===0)){K[0]="x-grid3-row-alt"}if(L.dirty){K[1]=" x-grid3-dirty-row"}Q.cols=I;if(this.getRowClass){K[2]=this.getRowClass(L,O,Q,H)}Q.alt=K.join(" ");Q.cells=F.join("");Q.tstyle=W;N[N.length]=T.apply(Q);Q.cells=S.join("");Q.tstyle=Y;J[J.length]=T.apply(Q)}return[N.join(""),J.join("")]},processRows:function(k,n){if(!this.ds||this.ds.getCount()<1){return}var p=this.getRows(),q=this.getLockedRows(),o,r;n=n||!this.grid.stripeRows;k=k||0;for(var s=0,l=p.length;s<l;++s){o=p[s];r=q[s];o.rowIndex=s;r.rowIndex=s;if(!n){o.className=o.className.replace(this.rowClsRe," ");r.className=r.className.replace(this.rowClsRe," ");if((s+1)%2===0){o.className+=" x-grid3-row-alt";r.className+=" x-grid3-row-alt"}}this.syncRowHeights(o,r)}if(k===0){Ext.fly(p[0]).addClass(this.firstRowCls);Ext.fly(q[0]).addClass(this.firstRowCls)}Ext.fly(p[p.length-1]).addClass(this.lastRowCls);Ext.fly(q[q.length-1]).addClass(this.lastRowCls)},syncRowHeights:function(k,l){if(this.syncHeights){var n=Ext.get(k),g=Ext.get(l),o=n.getHeight(),h=g.getHeight();if(o>h){g.setHeight(o)}else{if(h>o){n.setHeight(h)}}}},afterRender:function(){if(!this.ds||!this.cm){return}var b=this.renderRows()||["&#160;","&#160;"];this.mainBody.dom.innerHTML=b[0];this.lockedBody.dom.innerHTML=b[1];this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}this.grid.fireEvent("viewready",this.grid)},renderUI:function(){var d=this.templates,g=this.renderHeaders(),e=d.body.apply({rows:"&#160;"});return d.masterTpl.apply({body:e,header:g[0],ostyle:"width:"+this.getOffsetWidth()+";",bstyle:"width:"+this.getTotalWidth()+";",lockedBody:e,lockedHeader:g[1],lstyle:"width:"+this.getLockedWidth()+";"})},afterRenderUI:function(){var b=this.grid;this.initElements();Ext.fly(this.innerHd).on("click",this.handleHdDown,this);Ext.fly(this.lockedInnerHd).on("click",this.handleHdDown,this);this.mainHd.on({scope:this,mouseover:this.handleHdOver,mouseout:this.handleHdOut,mousemove:this.handleHdMove});this.lockedHd.on({scope:this,mouseover:this.handleHdOver,mouseout:this.handleHdOut,mousemove:this.handleHdMove});this.scroller.on("scroll",this.syncScroll,this);if(b.enableColumnResize!==false){this.splitZone=new Ext.grid.GridView.SplitDragZone(b,this.mainHd.dom);this.splitZone.setOuterHandleElId(Ext.id(this.lockedHd.dom));this.splitZone.setOuterHandleElId(Ext.id(this.mainHd.dom))}if(b.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(b,this.innerHd);this.columnDrag.setOuterHandleElId(Ext.id(this.lockedInnerHd));this.columnDrag.setOuterHandleElId(Ext.id(this.innerHd));this.columnDrop=new Ext.grid.HeaderDropZone(b,this.mainHd.dom)}if(b.enableHdMenu!==false){this.hmenu=new Ext.menu.Menu({id:b.id+"-hctx"});this.hmenu.add({itemId:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{itemId:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"});if(this.grid.enableColLock!==false){this.hmenu.add("-",{itemId:"lock",text:this.lockText,cls:"xg-hmenu-lock"},{itemId:"unlock",text:this.unlockText,cls:"xg-hmenu-unlock"})}if(b.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:b.id+"-hcols-menu"});this.colMenu.on({scope:this,beforeshow:this.beforeColMenuShow,itemclick:this.handleHdMenuClick});this.hmenu.add("-",{itemId:"columns",hideOnClick:false,text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})}this.hmenu.on("itemclick",this.handleHdMenuClick,this)}if(b.trackMouseOver){this.mainBody.on({scope:this,mouseover:this.onRowOver,mouseout:this.onRowOut});this.lockedBody.on({scope:this,mouseover:this.onRowOver,mouseout:this.onRowOut})}if(b.enableDragDrop||b.enableDrag){this.dragZone=new Ext.grid.GridDragZone(b,{ddGroup:b.ddGroup||"GridDD"})}this.updateHeaderSortState()},layout:function(){if(!this.mainBody){return}var o=this.grid;var k=o.getGridEl();var g=k.getSize(true);var c=g.width;if(!o.hideHeaders&&(c<20||g.height<20)){return}this.syncHeaderHeight();if(o.autoHeight){this.scroller.dom.style.overflow="visible";this.lockedScroller.dom.style.overflow="visible";if(Ext.isWebKit){this.scroller.dom.style.position="static";this.lockedScroller.dom.style.position="static"}}else{this.el.setSize(g.width,g.height);var l=this.mainHd.getHeight();var n=g.height-(l)}this.updateLockedWidth();if(this.forceFit){if(this.lastViewWidth!=c){this.fitColumns(false,false);this.lastViewWidth=c}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(c,n)},getOffsetWidth:function(){return(this.cm.getTotalWidth()-this.cm.getTotalLockedWidth()+this.getScrollOffset())+"px"},renderHeaders:function(){var l=this.cm,o=this.templates,q=o.hcell,s=[],n=[],t={},p=l.getColumnCount(),k=p-1;for(var r=0;r<p;r++){t.id=l.getColumnId(r);t.value=l.getColumnHeader(r)||"";t.style=this.getColumnStyle(r,true);t.tooltip=this.getColumnTooltip(r);t.css=(r===0?"x-grid3-cell-first ":(r==k?"x-grid3-cell-last ":""))+(l.config[r].headerCls?" "+l.config[r].headerCls:"");if(l.config[r].align=="right"){t.istyle="padding-right:16px"}else{delete t.istyle}if(l.isLocked(r)){n[n.length]=q.apply(t)}else{s[s.length]=q.apply(t)}}return[o.header.apply({cells:s.join(""),tstyle:"width:"+this.getTotalWidth()+";"}),o.header.apply({cells:n.join(""),tstyle:"width:"+this.getLockedWidth()+";"})]},updateHeaders:function(){var c=this.renderHeaders();this.innerHd.firstChild.innerHTML=c[0];this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=this.getTotalWidth();this.lockedInnerHd.firstChild.innerHTML=c[1];var d=this.getLockedWidth();this.lockedInnerHd.firstChild.style.width=d;this.lockedInnerHd.firstChild.firstChild.style.width=d},getResolvedXY:function(e){if(!e){return null}var g=e.cell,c=e.row;return g?Ext.fly(g).getXY():[this.scroller.getX(),Ext.fly(c).getY()]},syncFocusEl:function(g,e,d){Ext.ux.grid.LockingGridView.superclass.syncFocusEl.call(this,g,e,e<this.cm.getLockedCount()?false:d)},ensureVisible:function(g,e,d){return Ext.ux.grid.LockingGridView.superclass.ensureVisible.call(this,g,e,e<this.cm.getLockedCount()?false:d)},insertRows:function(k,l,p,n){var q=k.getCount()-1;if(!n&&l===0&&p>=q){this.refresh()}else{if(!n){this.fireEvent("beforerowsinserted",this,l,p)}var h=this.renderRows(l,p),o=this.getRow(l);if(o){if(l===0){this.removeRowClass(0,this.firstRowCls)}Ext.DomHelper.insertHtml("beforeBegin",o,h[0]);o=this.getLockedRow(l);Ext.DomHelper.insertHtml("beforeBegin",o,h[1])}else{this.removeRowClass(q-1,this.lastRowCls);Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,h[0]);Ext.DomHelper.insertHtml("beforeEnd",this.lockedBody.dom,h[1])}if(!n){this.fireEvent("rowsinserted",this,l,p);this.processRows(l)}else{if(l===0||l>=q){this.addRowClass(l,l===0?this.firstRowCls:this.lastRowCls)}}}this.syncFocusEl(l)},getColumnStyle:function(g,k){var e=!k?this.cm.config[g].cellStyle||this.cm.config[g].css||"":this.cm.config[g].headerStyle||"";e+="width:"+this.getColumnWidth(g)+";";if(this.cm.isHidden(g)){e+="display:none;"}var h=this.cm.config[g].align;if(h){e+="text-align:"+h+";"}return e},getLockedWidth:function(){return this.cm.getTotalLockedWidth()+"px"},getTotalWidth:function(){return(this.cm.getTotalWidth()-this.cm.getTotalLockedWidth())+"px"},getColumnData:function(){var l=[],h=this.cm,k=h.getColumnCount();for(var n=0;n<k;n++){var g=h.getDataIndex(n);l[n]={name:(!Ext.isDefined(g)?this.ds.fields.get(n).name:g),renderer:h.getRenderer(n),id:h.getColumnId(n),style:this.getColumnStyle(n),locked:h.isLocked(n)}}return l},renderBody:function(){var b=this.renderRows()||["&#160;","&#160;"];return[this.templates.body.apply({rows:b[0]}),this.templates.body.apply({rows:b[1]})]},refreshRow:function(I){var E=this.ds,u=this.cm.getColumnCount(),J=this.getColumnData(),A=u-1,K=["x-grid3-row"],B={tstyle:String.format("width: {0};",this.getTotalWidth())},C={tstyle:String.format("width: {0};",this.getLockedWidth())},F=[],G=[],x=this.templates.cell,y,D,z,H,v,w,t;if(Ext.isNumber(I)){y=I;I=E.getAt(y)}else{y=E.indexOf(I)}if(!I||y<0){return}for(t=0;t<u;t++){H=J[t];if(t==0){w="x-grid3-cell-first"}else{w=(t==A)?"x-grid3-cell-last ":""}v={id:H.id,style:H.style,css:w,attr:"",cellAttr:""};v.value=H.renderer.call(H.scope,I.data[H.name],v,I,y,t,E);if(Ext.isEmpty(v.value)){v.value=" "}if(this.markDirty&&I.dirty&&typeof I.modified[H.name]!="undefined"){v.css+=" x-grid3-dirty-cell"}if(H.locked){G[t]=x.apply(v)}else{F[t]=x.apply(v)}}D=this.getRow(y);D.className="";z=this.getLockedRow(y);z.className="";if(this.grid.stripeRows&&((y+1)%2===0)){K.push("x-grid3-row-alt")}if(this.getRowClass){B.cols=u;K.push(this.getRowClass(I,y,B,E))}this.fly(D).addClass(K).setStyle(B.tstyle);B.cells=F.join("");D.innerHTML=this.templates.rowInner.apply(B);this.fly(z).addClass(K).setStyle(C.tstyle);C.cells=G.join("");z.innerHTML=this.templates.rowInner.apply(C);z.rowIndex=y;this.syncRowHeights(D,z);this.fireEvent("rowupdated",this,y,I)},refresh:function(c){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var d=this.renderBody();this.mainBody.update(d[0]).setWidth(this.getTotalWidth());this.lockedBody.update(d[1]).setWidth(this.getLockedWidth());if(c===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},onDenyColumnLock:function(){},initData:function(c,d){if(this.cm){this.cm.un("columnlockchange",this.onColumnLock,this)}Ext.ux.grid.LockingGridView.superclass.initData.call(this,c,d);if(this.cm){this.cm.on("columnlockchange",this.onColumnLock,this)}},onColumnLock:function(){this.refresh(true)},handleHdMenuClick:function(l){var g=this.hdCtxIndex,h=this.cm,k=l.getItemId(),n=h.getLockedCount();switch(k){case"lock":if(h.getColumnCount(true)<=n+1){this.onDenyColumnLock();return undefined}h.setLocked(g,true);if(n!=g){h.moveColumn(g,n);this.grid.fireEvent("columnmove",g,n)}break;case"unlock":if(n-1!=g){h.setLocked(g,false,true);h.moveColumn(g,n-1);this.grid.fireEvent("columnmove",g,n-1)}else{h.setLocked(g,false)}break;default:return Ext.ux.grid.LockingGridView.superclass.handleHdMenuClick.call(this,l)}return true},handleHdDown:function(k,n){Ext.ux.grid.LockingGridView.superclass.handleHdDown.call(this,k,n);if(this.grid.enableColLock!==false){if(Ext.fly(n).hasClass("x-grid3-hd-btn")){var l=this.findHeaderCell(n),o=this.getCellIndex(l),e=this.hmenu.items,h=this.cm;e.get("lock").setDisabled(h.isLocked(o));e.get("unlock").setDisabled(!h.isLocked(o))}}},syncHeaderHeight:function(){var l=Ext.fly(this.innerHd).child("tr",true),g=Ext.fly(this.lockedInnerHd).child("tr",true);l.style.height="auto";g.style.height="auto";var k=l.offsetHeight,n=g.offsetHeight,h=Math.max(n,k)+"px";l.style.height=h;g.style.height=h},updateLockedWidth:function(){var o=this.cm.getTotalLockedWidth(),l=this.cm.getTotalWidth()-o,s=this.grid.getGridEl().getSize(true),k=Ext.isBorderBox?0:this.lockedBorderWidth,r=Ext.isBorderBox?0:this.rowBorderWidth,q=(s.width-o-k-r)+"px",p=this.getScrollOffset();if(!this.grid.autoHeight){var n=(s.height-this.mainHd.getHeight())+"px";this.lockedScroller.dom.style.height=n;this.scroller.dom.style.height=n}this.lockedWrap.dom.style.width=(o+r)+"px";this.scroller.dom.style.width=q;this.mainWrap.dom.style.left=(o+k+r)+"px";if(this.innerHd){this.lockedInnerHd.firstChild.style.width=o+"px";this.lockedInnerHd.firstChild.firstChild.style.width=o+"px";this.innerHd.style.width=q;this.innerHd.firstChild.style.width=(l+r+p)+"px";this.innerHd.firstChild.firstChild.style.width=l+"px"}if(this.mainBody){this.lockedBody.dom.style.width=(o+r)+"px";this.mainBody.dom.style.width=(l+r)+"px"}}});Ext.ux.grid.LockingColumnModel=Ext.extend(Ext.grid.ColumnModel,{isLocked:function(b){return this.config[b].locked===true},setLocked:function(d,g,e){if(this.isLocked(d)==g){return}this.config[d].locked=g;if(!e){this.fireEvent("columnlockchange",this,d,g)}},getTotalLockedWidth:function(){var d=0;for(var g=0,e=this.config.length;g<e;g++){if(this.isLocked(g)&&!this.isHidden(g)){d+=this.getColumnWidth(g)}}return d},getLockedCount:function(){var d=this.config.length;for(var c=0;c<d;c++){if(!this.isLocked(c)){return c}}return d},moveColumn:function(h,k){var g=this.isLocked(h),e=this.isLocked(k);if(h<k&&g&&!e){this.setLocked(h,false,true)}else{if(h>k&&!g&&e){this.setLocked(h,true,true)}}Ext.ux.grid.LockingColumnModel.superclass.moveColumn.apply(this,arguments)}});Ext.ns("Ext.ux.form");Ext.ux.form.MultiSelect=Ext.extend(Ext.form.Field,{ddReorder:false,appendOnly:false,width:100,height:100,displayField:0,valueField:1,allowBlank:true,minSelections:0,maxSelections:Number.MAX_VALUE,blankText:Ext.form.TextField.prototype.blankText,minSelectionsText:"Minimum {0} item(s) required",maxSelectionsText:"Maximum {0} item(s) allowed",delimiter:",",defaultAutoCreate:{tag:"div"},initComponent:function(){Ext.ux.form.MultiSelect.superclass.initComponent.call(this);if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.ArrayStore({fields:["value","text"],data:this.store});this.valueField="value"}else{this.store=new Ext.data.ArrayStore({fields:["text"],data:this.store,expandData:true});this.valueField="text"}this.displayField="text"}else{this.store=Ext.StoreMgr.lookup(this.store)}this.addEvents({dblclick:true,click:true,change:true,drop:true})},onRender:function(k,e){Ext.ux.form.MultiSelect.superclass.onRender.call(this,k,e);var g=this.fs=new Ext.form.FieldSet({renderTo:this.el,title:this.legend,height:this.height,width:this.width,style:"padding:0;",tbar:this.tbar});g.body.addClass("ux-mselect");this.view=new Ext.ListView({multiSelect:true,store:this.store,columns:[{header:"Value",width:1,dataIndex:this.displayField}],hideHeaders:true});g.add(this.view);this.view.on("click",this.onViewClick,this);this.view.on("beforeclick",this.onViewBeforeClick,this);this.view.on("dblclick",this.onViewDblClick,this);this.hiddenName=this.name||Ext.id();var h={tag:"input",type:"hidden",value:"",name:this.hiddenName};this.hiddenField=this.el.createChild(h);this.hiddenField.dom.disabled=this.hiddenName!=this.name;g.doLayout()},afterRender:function(){Ext.ux.form.MultiSelect.superclass.afterRender.call(this);if(this.ddReorder&&!this.dragGroup&&!this.dropGroup){this.dragGroup=this.dropGroup="MultiselectDD-"+Ext.id()}if(this.draggable||this.dragGroup){this.dragZone=new Ext.ux.form.MultiSelect.DragZone(this,{ddGroup:this.dragGroup})}if(this.droppable||this.dropGroup){this.dropZone=new Ext.ux.form.MultiSelect.DropZone(this,{ddGroup:this.dropGroup})}},onViewClick:function(k,g,e,h){this.fireEvent("change",this,this.getValue(),this.hiddenField.dom.value);this.hiddenField.dom.value=this.getValue();this.fireEvent("click",this,h);this.validate()},onViewBeforeClick:function(k,g,e,h){if(this.disabled||this.readOnly){return false}},onViewDblClick:function(k,g,e,h){return this.fireEvent("dblclick",k,g,e,h)},getValue:function(g){var h=[];var k=this.view.getSelectedIndexes();if(k.length==0){return""}for(var e=0;e<k.length;e++){h.push(this.store.getAt(k[e]).get((g!=null)?g:this.valueField))}return h.join(this.delimiter)},setValue:function(g){var e;var h=[];this.view.clearSelections();this.hiddenField.dom.value="";if(!g||(g=="")){return}if(!Ext.isArray(g)){g=g.split(this.delimiter)}for(var k=0;k<g.length;k++){e=this.view.store.indexOf(this.view.store.query(this.valueField,new RegExp("^"+g[k]+"$","i")).itemAt(0));h.push(e)}this.view.select(h);this.hiddenField.dom.value=this.getValue();this.validate()},reset:function(){this.setValue("")},getRawValue:function(d){var c=this.getValue(d);if(c.length){c=c.split(this.delimiter)}else{c=[]}return c},setRawValue:function(b){setValue(b)},validateValue:function(b){if(b.length<1){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(b.length<this.minSelections){this.markInvalid(String.format(this.minSelectionsText,this.minSelections));return false}if(b.length>this.maxSelections){this.markInvalid(String.format(this.maxSelectionsText,this.maxSelections));return false}return true},disable:function(){this.disabled=true;this.hiddenField.dom.disabled=true;this.fs.disable()},enable:function(){this.disabled=false;this.hiddenField.dom.disabled=false;this.fs.enable()},destroy:function(){Ext.destroy(this.fs,this.dragZone,this.dropZone);Ext.ux.form.MultiSelect.superclass.destroy.call(this)}});Ext.reg("multiselect",Ext.ux.form.MultiSelect);Ext.ux.Multiselect=Ext.ux.form.MultiSelect;Ext.ux.form.MultiSelect.DragZone=function(h,k){this.ms=h;this.view=h.view;var e=k.ddGroup||"MultiselectDD";var g;if(Ext.isArray(e)){g=e.shift()}else{g=e;e=null}Ext.ux.form.MultiSelect.DragZone.superclass.constructor.call(this,this.ms.fs.body,{containerScroll:true,ddGroup:g});this.setDraggable(e)};Ext.extend(Ext.ux.form.MultiSelect.DragZone,Ext.dd.DragZone,{onInitDrag:function(e,g){var d=Ext.get(this.dragData.ddel.cloneNode(true));this.proxy.update(d.dom);d.setWidth(d.child("em").getWidth());this.onStartDrag(e,g);return true},collectSelection:function(c){c.repairXY=Ext.fly(this.view.getSelectedNodes()[0]).getXY();var d=0;this.view.store.each(function(b){if(this.view.isSelected(d)){var a=this.view.getNode(d);var g=a.cloneNode(true);g.id=Ext.id();c.ddel.appendChild(g);c.records.push(this.view.store.getAt(d));c.viewNodes.push(a)}d++},this)},onEndDrag:function(e,d){var g=Ext.get(this.dragData.ddel);if(g&&g.hasClass("multi-proxy")){g.remove()}},getDragData:function(k){var l=this.view.findItemFromChild(k.getTarget());if(l){if(!this.view.isSelected(l)&&!k.ctrlKey&&!k.shiftKey){this.view.select(l);this.ms.setValue(this.ms.getValue())}if(this.view.getSelectionCount()==0||k.ctrlKey||k.shiftKey){return false}var e={sourceView:this.view,viewNodes:[],records:[]};if(this.view.getSelectionCount()==1){var g=this.view.getSelectedIndexes()[0];var h=this.view.getNode(g);e.viewNodes.push(e.ddel=h);e.records.push(this.view.store.getAt(g));e.repairXY=Ext.fly(h).getXY()}else{e.ddel=document.createElement("div");e.ddel.className="multi-proxy";this.collectSelection(e)}return e}return false},getRepairXY:function(b){return this.dragData.repairXY},setDraggable:function(b){if(!b){return}if(Ext.isArray(b)){Ext.each(b,this.setDraggable,this);return}this.addToGroup(b)}});Ext.ux.form.MultiSelect.DropZone=function(h,k){this.ms=h;this.view=h.view;var e=k.ddGroup||"MultiselectDD";var g;if(Ext.isArray(e)){g=e.shift()}else{g=e;e=null}Ext.ux.form.MultiSelect.DropZone.superclass.constructor.call(this,this.ms.fs.body,{containerScroll:true,ddGroup:g});this.setDroppable(e)};Ext.extend(Ext.ux.form.MultiSelect.DropZone,Ext.dd.DropZone,{getTargetFromEvent:function(c){var d=c.getTarget();return d},getDropPoint:function(n,c,p){if(c==this.ms.fs.body.dom){return"below"}var o=Ext.lib.Dom.getY(c),b=o+c.offsetHeight;var e=o+(b-o)/2;var l=Ext.lib.Event.getPageY(n);if(l<=e){return"above"}else{return"below"}},isValidDropPoint:function(d,h,g){if(!g.viewNodes||(g.viewNodes.length!=1)){return true}var k=g.viewNodes[0];if(k==h){return false}if((d=="below")&&(h.nextSibling==k)){return false}if((d=="above")&&(h.previousSibling==k)){return false}return true},onNodeEnter:function(h,g,k,e){return false},onNodeOver:function(l,k,n,p){var e=this.dropNotAllowed;var o=this.getDropPoint(n,l,k);if(this.isValidDropPoint(o,l,p)){if(this.ms.appendOnly){return"x-tree-drop-ok-below"}if(o){var q;if(o=="above"){e=l.previousSibling?"x-tree-drop-ok-between":"x-tree-drop-ok-above";q="x-view-drag-insert-above"}else{e=l.nextSibling?"x-tree-drop-ok-between":"x-tree-drop-ok-below";q="x-view-drag-insert-below"}if(this.lastInsertClass!=q){Ext.fly(l).replaceClass(this.lastInsertClass,q);this.lastInsertClass=q}}}return e},onNodeOut:function(h,g,k,e){this.removeDropIndicators(h)},onNodeDrop:function(s,l,n,p){if(this.ms.fireEvent("drop",this,s,l,n,p)===false){return false}var e=this.getDropPoint(n,s,l);if(s!=this.ms.fs.body.dom){s=this.view.findItemFromChild(s)}if(this.ms.appendOnly){insertAt=this.view.store.getCount()}else{insertAt=s==this.ms.fs.body.dom?this.view.store.getCount()-1:this.view.indexOf(s);if(e=="below"){insertAt++}}var r=false;if(p.sourceView==this.view){if(e=="below"){if(p.viewNodes[0]==s){p.viewNodes.shift()}}else{if(p.viewNodes[p.viewNodes.length-1]==s){p.viewNodes.pop()}}if(!p.viewNodes.length){return false}if(insertAt>this.view.store.indexOf(p.records[0])){r="down";insertAt--}}for(var o=0;o<p.records.length;o++){var t=p.records[o];if(p.sourceView){p.sourceView.store.remove(t)}this.view.store.insert(r=="down"?insertAt:insertAt++,t);var q=this.view.store.sortInfo;if(q){this.view.store.sort(q.field,q.direction)}}return true},removeDropIndicators:function(b){if(b){Ext.fly(b).removeClass(["x-view-drag-insert-above","x-view-drag-insert-left","x-view-drag-insert-right","x-view-drag-insert-below"]);this.lastInsertClass="_noclass"}},setDroppable:function(b){if(!b){return}if(Ext.isArray(b)){Ext.each(b,this.setDroppable,this);return}this.addToGroup(b)}});if(!Array.prototype.map){Array.prototype.map=function(g){var h=this.length;if(typeof g!="function"){throw new TypeError()}var k=new Array(h);var l=arguments[1];for(var n=0;n<h;n++){if(n in this){k[n]=g.call(l,this[n],n,this)}}return k}}Ext.ns("Ext.ux.data");Ext.ux.data.PagingMemoryProxy=Ext.extend(Ext.data.MemoryProxy,{constructor:function(b){Ext.ux.data.PagingMemoryProxy.superclass.constructor.call(this);this.data=b},doRequest:function(u,t,v,s,p,o,n){v=v||{};var e;try{e=s.readRecords(this.data)}catch(r){this.fireEvent("loadexception",this,n,null,r);p.call(o,null,n,false);return}if(v.filter!==undefined){e.records=e.records.filter(function(b){if(typeof(b)=="object"){var a=v.filterCol||0;return String(b.data[a]).match(v.filter)?true:false}else{return String(b).match(v.filter)?true:false}});e.totalRecords=e.records.length}if(v.sort!==undefined){var w=String(v.dir).toUpperCase()=="DESC"?-1:1;var q=function(b,a){return b>a?1:(b<a?-1:0)};e.records.sort(function(c,a){var b=0;if(typeof(c)=="object"){b=q(c.data[v.sort],a.data[v.sort])*w}else{b=q(c,a)*w}if(b==0){b=(c.index<a.index?-1:1)}return b})}if(v.start!==undefined&&v.limit!==undefined){e.records=e.records.slice(v.start,v.start+v.limit)}p.call(o,e,n,true)}});Ext.data.PagingMemoryProxy=Ext.ux.data.PagingMemoryProxy;Ext.ux.PanelResizer=Ext.extend(Ext.util.Observable,{minHeight:0,maxHeight:10000000,constructor:function(b){Ext.apply(this,b);this.events={};Ext.ux.PanelResizer.superclass.constructor.call(this,b)},init:function(b){this.panel=b;if(this.panel.elements.indexOf("footer")==-1){b.elements+=",footer"}b.on("render",this.onRender,this)},onRender:function(b){this.handle=b.footer.createChild({cls:"x-panel-resize"});this.tracker=new Ext.dd.DragTracker({onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(this.handle);b.on("beforedestroy",this.tracker.destroy,this.tracker)},onDragStart:function(b){this.dragging=true;this.startHeight=this.panel.el.getHeight();this.fireEvent("dragstart",this,b)},onDrag:function(b){this.panel.setHeight((this.startHeight-this.tracker.getOffset()[1]).constrain(this.minHeight,this.maxHeight));this.fireEvent("drag",this,b)},onDragEnd:function(b){this.dragging=false;this.fireEvent("dragend",this,b)}});Ext.preg("panelresizer",Ext.ux.PanelResizer);Ext.ux.Portal=Ext.extend(Ext.Panel,{layout:"column",autoScroll:true,cls:"x-portal",defaultType:"portalcolumn",initComponent:function(){Ext.ux.Portal.superclass.initComponent.call(this);this.addEvents({validatedrop:true,beforedragover:true,dragover:true,beforedrop:true,drop:true})},initEvents:function(){Ext.ux.Portal.superclass.initEvents.call(this);this.dd=new Ext.ux.Portal.DropZone(this,this.dropConfig)},beforeDestroy:function(){if(this.dd){this.dd.unreg()}Ext.ux.Portal.superclass.beforeDestroy.call(this)}});Ext.reg("portal",Ext.ux.Portal);Ext.ux.Portal.DropZone=Ext.extend(Ext.dd.DropTarget,{constructor:function(d,c){this.portal=d;Ext.dd.ScrollManager.register(d.body);Ext.ux.Portal.DropZone.superclass.constructor.call(this,d.bwrap.dom,c);d.body.ddScrollConfig=this.ddScrollConfig},ddScrollConfig:{vthresh:50,hthresh:-1,animate:true,increment:200},createEvent:function(e,n,o,c,k,l){return{portal:this.portal,panel:o.panel,columnIndex:c,column:k,position:l,data:o,source:e,rawEvent:n,status:this.dropAllowed}},notifyOver:function(e,p,c){var J=p.getXY(),M=this.portal,C=e.proxy;if(!this.grid){this.grid=this.getGrid()}var L=M.body.dom.clientWidth;if(!this.lastCW){this.lastCW=L}else{if(this.lastCW!=L){this.lastCW=L;M.doLayout();this.grid=this.getGrid()}}var K=0,E=this.grid.columnX,D=false;for(var y=E.length;K<y;K++){if(J[0]<(E[K].x+E[K].w)){D=true;break}}if(!D){K--}var A,F=false,H=0,h=M.items.itemAt(K),B=h.items.items,G=false;for(var y=B.length;H<y;H++){A=B[H];var z=A.el.getHeight();if(z===0){G=true}else{if((A.el.getY()+(z/2))>J[1]){F=true;break}}}H=(F&&A?H:h.items.getCount())+(G?-1:0);var I=this.createEvent(e,p,c,K,h,H);if(M.fireEvent("validatedrop",I)!==false&&M.fireEvent("beforedragover",I)!==false){C.getProxy().setWidth("auto");if(A){C.moveProxy(A.el.dom.parentNode,F?A.el.dom:null)}else{C.moveProxy(h.el.dom,null)}this.lastPos={c:h,col:K,p:G||(F&&A)?H:false};this.scrollPos=M.body.getScroll();M.fireEvent("dragover",I);return I.status}else{return I.status}},notifyOut:function(){delete this.grid},notifyDrop:function(d,q,r){delete this.grid;if(!this.lastPos){return}var o=this.lastPos.c,s=this.lastPos.col,e=this.lastPos.p,u=d.panel,t=this.createEvent(d,q,r,s,o,e!==false?e:o.items.getCount());if(this.portal.fireEvent("validatedrop",t)!==false&&this.portal.fireEvent("beforedrop",t)!==false){d.proxy.getProxy().remove();u.el.dom.parentNode.removeChild(d.panel.el.dom);if(e!==false){o.insert(e,u)}else{o.add(u)}o.doLayout();this.portal.fireEvent("drop",t);var c=this.scrollPos.top;if(c){var p=this.portal.body.dom;setTimeout(function(){p.scrollTop=c},10)}}delete this.lastPos},getGrid:function(){var b=this.portal.bwrap.getBox();b.columnX=[];this.portal.items.each(function(a){b.columnX.push({x:a.el.getX(),w:a.el.getWidth()})});return b},unreg:function(){Ext.dd.ScrollManager.unregister(this.portal.body);Ext.ux.Portal.DropZone.superclass.unreg.call(this)}});Ext.ux.PortalColumn=Ext.extend(Ext.Container,{layout:"anchor",defaultType:"portlet",cls:"x-portal-column"});Ext.reg("portalcolumn",Ext.ux.PortalColumn);Ext.ux.Portlet=Ext.extend(Ext.Panel,{anchor:"100%",frame:true,collapsible:true,draggable:true,cls:"x-portlet"});Ext.reg("portlet",Ext.ux.Portlet);Ext.ux.ProgressBarPager=Ext.extend(Object,{progBarWidth:225,defaultText:"Loading...",defaultAnimCfg:{duration:1,easing:"bounceOut"},constructor:function(b){if(b){Ext.apply(this,b)}},init:function(d){if(d.displayInfo){this.parent=d;var c=d.items.indexOf(d.displayItem);d.remove(d.displayItem,true);this.progressBar=new Ext.ProgressBar({text:this.defaultText,width:this.progBarWidth,animate:this.defaultAnimCfg});d.displayItem=this.progressBar;d.add(d.displayItem);d.doLayout();Ext.apply(d,this.parentOverrides);this.progressBar.on("render",function(a){a.mon(a.getEl().applyStyles("cursor:pointer"),"click",this.handleProgressBarClick,this)},this,{single:true})}},handleProgressBarClick:function(l){var q=this.parent,r=q.displayItem,p=this.progressBar.getBox(),n=l.getXY(),e=n[0]-p.x,k=Math.ceil(q.store.getTotalCount()/q.pageSize),o=Math.ceil(e/(r.width/k));q.changePage(o)},parentOverrides:{updateInfo:function(){if(this.displayItem){var g=this.store.getCount(),h=this.getPageData(),l=this.readPage(h),k=g==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+g,this.store.getTotalCount());l=h.activePage;var n=l/h.pages;this.displayItem.updateProgress(n,k,this.animate||this.defaultAnimConfig)}}}});Ext.preg("progressbarpager",Ext.ux.ProgressBarPager);Ext.ns("Ext.ux.grid");Ext.ux.grid.RowEditor=Ext.extend(Ext.Panel,{floating:true,shadow:false,layout:"hbox",cls:"x-small-editor",buttonAlign:"center",baseCls:"x-row-editor",elements:"header,footer,body",frameWidth:5,buttonPad:3,clicksToEdit:"auto",monitorValid:true,focusDelay:250,errorSummary:true,saveText:"Save",cancelText:"Cancel",commitChangesText:"You need to commit or cancel your changes",errorText:"Errors",defaults:{normalWidth:true},initComponent:function(){Ext.ux.grid.RowEditor.superclass.initComponent.call(this);this.addEvents("beforeedit","canceledit","validateedit","afteredit")},init:function(b){this.grid=b;this.ownerCt=b;if(this.clicksToEdit===2){b.on("rowdblclick",this.onRowDblClick,this)}else{b.on("rowclick",this.onRowClick,this);if(Ext.isIE){b.on("rowdblclick",this.onRowDblClick,this)}}b.getStore().on("remove",function(){this.stopEditing(false)},this);b.on({scope:this,keydown:this.onGridKey,columnresize:this.verifyLayout,columnmove:this.refreshFields,reconfigure:this.refreshFields,beforedestroy:this.beforedestroy,destroy:this.destroy,bodyscroll:{buffer:250,fn:this.positionButtons}});b.getColumnModel().on("hiddenchange",this.verifyLayout,this,{delay:1});b.getView().on("refresh",this.stopEditing.createDelegate(this,[]))},beforedestroy:function(){this.stopMonitoring();this.grid.getStore().un("remove",this.onStoreRemove,this);this.stopEditing(false);Ext.destroy(this.btns,this.tooltip)},refreshFields:function(){this.initFields();this.verifyLayout()},isDirty:function(){var b;this.items.each(function(a){if(String(this.values[a.id])!==String(a.getValue())){b=true;return false}},this);return b},startEditing:function(u,g){if(this.editing&&this.isDirty()){this.showTooltip(this.commitChangesText);return}if(Ext.isObject(u)){u=this.grid.getStore().indexOf(u)}if(this.fireEvent("beforeedit",this,u)!==false){this.editing=true;var x=this.grid,t=x.getView(),q=t.getRow(u),z=x.store.getAt(u);this.record=z;this.rowIndex=u;this.values={};if(!this.rendered){this.render(t.getEditorParent())}var s=Ext.fly(q).getWidth();this.setSize(s);if(!this.initialized){this.initFields()}var r=x.getColumnModel(),y=this.items.items,v,B;for(var A=0,w=r.getColumnCount();A<w;A++){B=this.preEditValue(z,r.getDataIndex(A));v=y[A];v.setValue(B);this.values[v.id]=Ext.isEmpty(B)?"":B}this.verifyLayout(true);if(!this.isVisible()){this.setPagePosition(Ext.fly(q).getXY())}else{this.el.setXY(Ext.fly(q).getXY(),{duration:0.15})}if(!this.isVisible()){this.show().doLayout()}if(g!==false){this.doFocus.defer(this.focusDelay,this)}}},stopEditing:function(n){this.editing=false;if(!this.isVisible()){return}if(n===false||!this.isValid()){this.hide();this.fireEvent("canceledit",this,n===false);return}var r={},w=this.record,q=false,o=this.grid.colModel,t=this.items.items;for(var u=0,s=o.getColumnCount();u<s;u++){if(!o.isHidden(u)){var v=o.getDataIndex(u);if(!Ext.isEmpty(v)){var x=w.data[v],p=this.postEditValue(t[u].getValue(),x,w,v);if(String(x)!==String(p)){r[v]=p;q=true}}}}if(q&&this.fireEvent("validateedit",this,r,w,this.rowIndex)!==false){w.beginEdit();Ext.iterate(r,function(a,b){w.set(a,b)});w.endEdit();this.fireEvent("afteredit",this,r,w,this.rowIndex)}this.hide()},verifyLayout:function(o){if(this.el&&(this.isVisible()||o===true)){var l=this.grid.getView().getRow(this.rowIndex);this.setSize(Ext.fly(l).getWidth(),Ext.isIE?Ext.fly(l).getHeight()+9:undefined);var q=this.grid.colModel,h=this.items.items;for(var p=0,k=q.getColumnCount();p<k;p++){if(!q.isHidden(p)){var n=0;if(p===(k-1)){n+=3}else{n+=1}h[p].show();h[p].setWidth(q.getColumnWidth(p)-n)}else{h[p].hide()}}this.doLayout();this.positionButtons()}},slideHide:function(){this.hide()},initFields:function(){var c=this.grid.getColumnModel(),l=Ext.layout.ContainerLayout.prototype.parseMargins;this.removeAll(false);for(var n=0,h=c.getColumnCount();n<h;n++){var k=c.getColumnAt(n),o=k.getEditor();if(!o){o=k.displayEditor||new Ext.form.DisplayField()}if(n==0){o.margins=l("0 1 2 1")}else{if(n==h-1){o.margins=l("0 0 2 1")}else{if(Ext.isIE){o.margins=l("0 0 2 0")}else{o.margins=l("0 1 2 0")}}}o.setWidth(c.getColumnWidth(n));o.column=k;if(o.ownerCt!==this){o.on("focus",this.ensureVisible,this);o.on("specialkey",this.onKey,this)}this.insert(n,o)}this.initialized=true},onKey:function(d,c){if(c.getKey()===c.ENTER){this.stopEditing(true);c.stopPropagation()}},onGridKey:function(g){if(g.getKey()===g.ENTER&&!this.isVisible()){var d=this.grid.getSelectionModel().getSelected();if(d){var e=this.grid.store.indexOf(d);this.startEditing(e);g.stopPropagation()}}},ensureVisible:function(b){if(this.isVisible()){this.grid.getView().ensureVisible(this.rowIndex,this.grid.colModel.getIndexById(b.column.id),true)}},onRowClick:function(e,h,k){if(this.clicksToEdit=="auto"){var g=this.lastClickIndex;this.lastClickIndex=h;if(g!=h&&!this.isVisible()){return}}this.startEditing(h,false);this.doFocus.defer(this.focusDelay,this,[k.getPoint()])},onRowDblClick:function(e,g,d){this.startEditing(g,false);this.doFocus.defer(this.focusDelay,this,[d.getPoint()])},onRender:function(){Ext.ux.grid.RowEditor.superclass.onRender.apply(this,arguments);this.el.swallowEvent(["keydown","keyup","keypress"]);this.btns=new Ext.Panel({baseCls:"x-plain",cls:"x-btns",elements:"body",layout:"table",width:(this.minButtonWidth*2)+(this.frameWidth*2)+(this.buttonPad*4),items:[{ref:"saveBtn",itemId:"saveBtn",xtype:"button",text:this.saveText,width:this.minButtonWidth,handler:this.stopEditing.createDelegate(this,[true])},{xtype:"button",text:this.cancelText,width:this.minButtonWidth,handler:this.stopEditing.createDelegate(this,[false])}]});this.btns.render(this.bwrap)},afterRender:function(){Ext.ux.grid.RowEditor.superclass.afterRender.apply(this,arguments);this.positionButtons();if(this.monitorValid){this.startMonitoring()}},onShow:function(){if(this.monitorValid){this.startMonitoring()}Ext.ux.grid.RowEditor.superclass.onShow.apply(this,arguments)},onHide:function(){Ext.ux.grid.RowEditor.superclass.onHide.apply(this,arguments);this.stopMonitoring();this.grid.getView().focusRow(this.rowIndex)},positionButtons:function(){if(this.btns){var l=this.grid,n=this.el.dom.clientHeight,g=l.getView(),h=g.scroller.dom.scrollLeft,k=this.btns.getWidth(),o=Math.min(l.getWidth(),l.getColumnModel().getTotalWidth());this.btns.el.shift({left:(o/2)-(k/2)+h,top:n-2,stopFx:true,duration:0.2})}},preEditValue:function(e,g){var d=e.data[g];return this.autoEncode&&typeof d==="string"?Ext.util.Format.htmlDecode(d):d},postEditValue:function(k,g,e,h){return this.autoEncode&&typeof k=="string"?Ext.util.Format.htmlEncode(k):k},doFocus:function(l){if(this.isVisible()){var o=0,c=this.grid.getColumnModel(),k;if(l){o=this.getTargetColumnIndex(l)}for(var n=o||0,h=c.getColumnCount();n<h;n++){k=c.getColumnAt(n);if(!k.hidden&&k.getEditor()){k.getEditor().focus();break}}}},getTargetColumnIndex:function(c){var t=this.grid,l=t.view,n=c.left,p=t.colModel.config,s=0,r=false;for(var q=p.length,o;o=p[s];s++){if(!o.hidden){if(Ext.fly(l.getHeaderCell(s)).getRegion().right>=n){r=s;break}}}return r},startMonitoring:function(){if(!this.bound&&this.monitorValid){this.bound=true;Ext.TaskMgr.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){this.bound=false;if(this.tooltip){this.tooltip.hide()}},isValid:function(){var b=true;this.items.each(function(a){if(!a.isValid(true)){b=false;return false}});return b},bindHandler:function(){if(!this.bound){return false}var b=this.isValid();if(!b&&this.errorSummary){this.showTooltip(this.getErrorText().join(""))}this.btns.saveBtn.setDisabled(!b);this.fireEvent("validation",this,b)},lastVisibleColumn:function(){var d=this.items.getCount()-1,c;for(;d>=0;d--){c=this.items.items[d];if(!c.hidden){return c}}},showTooltip:function(k){var o=this.tooltip;if(!o){o=this.tooltip=new Ext.ToolTip({maxWidth:600,cls:"errorTip",width:300,title:this.errorText,autoHide:false,anchor:"left",anchorToTarget:true,mouseOffset:[40,0]})}var g=this.grid.getView(),l=parseInt(this.el.dom.style.top,10),h=g.scroller.dom.scrollTop,n=this.el.getHeight();if(l+n>=h){o.initTarget(this.lastVisibleColumn().getEl());if(!o.rendered){o.show();o.hide()}o.body.update(k);o.doAutoWidth(20);o.show()}else{if(o.rendered){o.hide()}}},getErrorText:function(){var b=["<ul>"];this.items.each(function(a){if(!a.isValid(true)){b.push("<li>",a.getActiveError(),"</li>")}});b.push("</ul>");return b}});Ext.preg("roweditor",Ext.ux.grid.RowEditor);Ext.ns("Ext.ux.grid");Ext.ux.grid.RowExpander=Ext.extend(Ext.util.Observable,{expandOnEnter:true,expandOnDblClick:true,header:"",width:20,sortable:false,fixed:true,hideable:false,menuDisabled:true,dataIndex:"",id:"expander",lazyRender:true,enableCaching:true,constructor:function(b){Ext.apply(this,b);this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true});Ext.ux.grid.RowExpander.superclass.constructor.call(this);if(this.tpl){if(typeof this.tpl=="string"){this.tpl=new Ext.Template(this.tpl)}this.tpl.compile()}this.state={};this.bodyContent={}},getRowClass:function(h,k,l,n){l.cols=l.cols-1;var g=this.bodyContent[h.id];if(!g&&!this.lazyRender){g=this.getBodyContent(h,k)}if(g){l.body=g}return this.state[h.id]?"x-grid3-row-expanded":"x-grid3-row-collapsed"},init:function(c){this.grid=c;var d=c.getView();d.getRowClass=this.getRowClass.createDelegate(this);d.enableRowBody=true;c.on("render",this.onRender,this);c.on("destroy",this.onDestroy,this)},onRender:function(){var d=this.grid;var c=d.getView().mainBody;c.on("mousedown",this.onMouseDown,this,{delegate:".x-grid3-row-expander"});if(this.expandOnEnter){this.keyNav=new Ext.KeyNav(this.grid.getGridEl(),{enter:this.onEnter,scope:this})}if(this.expandOnDblClick){d.on("rowdblclick",this.onRowDblClick,this)}},onDestroy:function(){if(this.keyNav){this.keyNav.disable();delete this.keyNav}var b=this.grid.getView().mainBody;if(b){b.un("mousedown",this.onMouseDown,this)}},onRowDblClick:function(e,d,g){this.toggleRow(d)},onEnter:function(l){var n=this.grid;var k=n.getSelectionModel();var e=k.getSelections();for(var p=0,g=e.length;p<g;p++){var o=n.getStore().indexOf(e[p]);this.toggleRow(o)}},getBodyContent:function(e,d){if(!this.enableCaching){return this.tpl.apply(e.data)}var g=this.bodyContent[e.id];if(!g){g=this.tpl.apply(e.data);this.bodyContent[e.id]=g}return g},onMouseDown:function(d,e){d.stopEvent();var g=d.getTarget(".x-grid3-row");this.toggleRow(g)},renderer:function(d,g,e){g.cellAttr='rowspan="2"';return'<div class="x-grid3-row-expander">&#160;</div>'},beforeExpand:function(d,e,g){if(this.fireEvent("beforeexpand",this,d,e,g)!==false){if(this.tpl&&this.lazyRender){e.innerHTML=this.getBodyContent(d,g)}return true}else{return false}},toggleRow:function(b){if(typeof b=="number"){b=this.grid.view.getRow(b)}this[Ext.fly(b).hasClass("x-grid3-row-collapsed")?"expandRow":"collapseRow"](b)},expandRow:function(g){if(typeof g=="number"){g=this.grid.view.getRow(g)}var d=this.grid.store.getAt(g.rowIndex);var e=Ext.DomQuery.selectNode("tr:nth(2) div.x-grid3-row-body",g);if(this.beforeExpand(d,e,g.rowIndex)){this.state[d.id]=true;Ext.fly(g).replaceClass("x-grid3-row-collapsed","x-grid3-row-expanded");this.fireEvent("expand",this,d,e,g.rowIndex)}},collapseRow:function(g){if(typeof g=="number"){g=this.grid.view.getRow(g)}var d=this.grid.store.getAt(g.rowIndex);var e=Ext.fly(g).child("tr:nth(1) div.x-grid3-row-body",true);if(this.fireEvent("beforecollapse",this,d,e,g.rowIndex)!==false){this.state[d.id]=false;Ext.fly(g).replaceClass("x-grid3-row-expanded","x-grid3-row-collapsed");this.fireEvent("collapse",this,d,e,g.rowIndex)}}});Ext.preg("rowexpander",Ext.ux.grid.RowExpander);Ext.grid.RowExpander=Ext.ux.grid.RowExpander;Ext.ns("Ext.ux.layout");Ext.ux.layout.RowLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"row",allowContainerRemove:false,isValidParent:function(c,d){return this.innerCt&&c.getPositionEl().dom.parentNode==this.innerCt.dom},getLayoutTargetSize:function(){var c=this.container.getLayoutTarget(),d;if(c){d=c.getViewSize();if(Ext.isIE&&Ext.isStrict&&d.height==0){d=c.getStyleSize()}d.width-=c.getPadding("lr");d.height-=c.getPadding("tb")}return d},renderAll:function(d,c){if(!this.innerCt){this.innerCt=c.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}Ext.layout.ColumnLayout.superclass.renderAll.call(this,d,this.innerCt)},onLayout:function(t,r){var x=t.items.items,s=x.length,z,y,w,p=[];this.renderAll(t,r);var h=this.getLayoutTargetSize();if(h.width<1&&h.height<1){return}var v=h.height,u=v;this.innerCt.setSize({height:v});for(w=0;w<s;w++){z=x[w];y=z.getPositionEl().getMargins("tb");p[w]=y;if(!z.rowHeight){u-=(z.getHeight()+y)}}u=u<0?0:u;for(w=0;w<s;w++){z=x[w];y=p[w];if(z.rowHeight){z.setSize({height:Math.floor(z.rowHeight*u)-y})}}if(Ext.isIE){if(w=r.getStyle("overflow")&&w!="hidden"&&!this.adjustmentPass){var q=this.getLayoutTargetSize();if(q.width!=h.width){this.adjustmentPass=true;this.onLayout(t,r)}}}delete this.adjustmentPass}});Ext.Container.LAYOUTS["ux.row"]=Ext.ux.layout.RowLayout;Ext.ns("Ext.ux.form");Ext.ux.form.SearchField=Ext.extend(Ext.form.TwinTriggerField,{initComponent:function(){Ext.ux.form.SearchField.superclass.initComponent.call(this);this.on("specialkey",function(d,c){if(c.getKey()==c.ENTER){this.onTrigger2Click()}},this)},validationEvent:false,validateOnBlur:false,trigger1Class:"x-form-clear-trigger",trigger2Class:"x-form-search-trigger",hideTrigger1:true,width:180,hasSearch:false,paramName:"query",onTrigger1Click:function(){if(this.hasSearch){this.el.dom.value="";var b={start:0};this.store.baseParams=this.store.baseParams||{};this.store.baseParams[this.paramName]="";this.store.reload({params:b});this.triggers[0].hide();this.hasSearch=false}},onTrigger2Click:function(){var d=this.getRawValue();if(d.length<1){this.onTrigger1Click();return}var c={start:0};this.store.baseParams=this.store.baseParams||{};this.store.baseParams[this.paramName]=d;this.store.reload({params:c});this.hasSearch=true;this.triggers[0].show()}});Ext.ns("Ext.ux.form");Ext.ux.form.SelectBox=Ext.extend(Ext.form.ComboBox,{constructor:function(b){this.searchResetDelay=1000;b=b||{};b=Ext.apply(b||{},{editable:false,forceSelection:true,rowHeight:false,lastSearchTerm:false,triggerAction:"all",mode:"local"});Ext.ux.form.SelectBox.superclass.constructor.apply(this,arguments);this.lastSelectedIndex=this.selectedIndex||0},initEvents:function(){Ext.ux.form.SelectBox.superclass.initEvents.apply(this,arguments);this.el.on("keydown",this.keySearch,this,true);this.cshTask=new Ext.util.DelayedTask(this.clearSearchHistory,this)},keySearch:function(l,n,e){var h=l.getKey();var o=String.fromCharCode(h);var k=0;if(!this.store.getCount()){return}switch(h){case Ext.EventObject.HOME:l.stopEvent();this.selectFirst();return;case Ext.EventObject.END:l.stopEvent();this.selectLast();return;case Ext.EventObject.PAGEDOWN:this.selectNextPage();l.stopEvent();return;case Ext.EventObject.PAGEUP:this.selectPrevPage();l.stopEvent();return}if((l.hasModifier()&&!l.shiftKey)||l.isNavKeyPress()||l.isSpecialKey()){return}if(this.lastSearchTerm==o){k=this.lastSelectedIndex}this.search(this.displayField,o,k);this.cshTask.delay(this.searchResetDelay)},onRender:function(c,d){this.store.on("load",this.calcRowsPerPage,this);Ext.ux.form.SelectBox.superclass.onRender.apply(this,arguments);if(this.mode=="local"){this.initList();this.calcRowsPerPage()}},onSelect:function(e,g,d){if(this.fireEvent("beforeselect",this,e,g)!==false){this.setValue(e.data[this.valueField||this.displayField]);if(!d){this.collapse()}this.lastSelectedIndex=g+1;this.fireEvent("select",this,e,g)}},afterRender:function(){Ext.ux.form.SelectBox.superclass.afterRender.apply(this,arguments);if(Ext.isWebKit){this.el.swallowEvent("mousedown",true)}this.el.unselectable();this.innerList.unselectable();this.trigger.unselectable();this.innerList.on("mouseup",function(g,d,e){if(d.id&&d.id==this.innerList.id){return}this.onViewClick()},this);this.innerList.on("mouseover",function(g,d,e){if(d.id&&d.id==this.innerList.id){return}this.lastSelectedIndex=this.view.getSelectedIndexes()[0]+1;this.cshTask.delay(this.searchResetDelay)},this);this.trigger.un("click",this.onTriggerClick,this);this.trigger.on("mousedown",function(g,d,e){g.preventDefault();this.onTriggerClick()},this);this.on("collapse",function(g,d,e){Ext.getDoc().un("mouseup",this.collapseIf,this)},this,true);this.on("expand",function(g,d,e){Ext.getDoc().on("mouseup",this.collapseIf,this)},this,true)},clearSearchHistory:function(){this.lastSelectedIndex=0;this.lastSearchTerm=false},selectFirst:function(){this.focusAndSelect(this.store.data.first())},selectLast:function(){this.focusAndSelect(this.store.data.last())},selectPrevPage:function(){if(!this.rowHeight){return}var b=Math.max(this.selectedIndex-this.rowsPerPage,0);this.focusAndSelect(this.store.getAt(b))},selectNextPage:function(){if(!this.rowHeight){return}var b=Math.min(this.selectedIndex+this.rowsPerPage,this.store.getCount()-1);this.focusAndSelect(this.store.getAt(b))},search:function(k,e,h){k=k||this.displayField;this.lastSearchTerm=e;var g=this.store.find.apply(this.store,arguments);if(g!==-1){this.focusAndSelect(g)}},focusAndSelect:function(d){var c=Ext.isNumber(d)?d:this.store.indexOf(d);this.select(c,this.isExpanded());this.onSelect(this.store.getAt(c),c,this.isExpanded())},calcRowsPerPage:function(){if(this.store.getCount()){this.rowHeight=Ext.fly(this.view.getNode(0)).getHeight();this.rowsPerPage=this.maxHeight/this.rowHeight}else{this.rowHeight=false}}});Ext.reg("selectbox",Ext.ux.form.SelectBox);Ext.ux.SelectBox=Ext.ux.form.SelectBox;Ext.ux.SlidingPager=Ext.extend(Object,{init:function(d){var e=d.items.indexOf(d.inputItem);Ext.each(d.items.getRange(e-2,e+2),function(a){a.hide()});var g=new Ext.Slider({width:114,minValue:1,maxValue:1,plugins:new Ext.slider.Tip({getText:function(a){return String.format("Page <b>{0}</b> of <b>{1}</b>",a.value,a.slider.maxValue)}}),listeners:{changecomplete:function(a,b){d.changePage(b)}}});d.insert(e+1,g);d.on({change:function(b,a){g.setMaxValue(a.pages);g.setValue(a.activePage)}})}});Ext.ns("Ext.ux.form");Ext.ux.form.SpinnerField=Ext.extend(Ext.form.NumberField,{actionMode:"wrap",deferHeight:true,autoSize:Ext.emptyFn,onBlur:Ext.emptyFn,adjustSize:Ext.BoxComponent.prototype.adjustSize,constructor:function(k){var e=Ext.copyTo({},k,"incrementValue,alternateIncrementValue,accelerate,defaultValue,triggerClass,splitterClass");var h=this.spinner=new Ext.ux.Spinner(e);var g=k.plugins?(Ext.isArray(k.plugins)?k.plugins.push(h):[k.plugins,h]):h;Ext.ux.form.SpinnerField.superclass.constructor.call(this,Ext.apply(k,{plugins:g}))},getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}},validateBlur:function(){return true}});Ext.reg("spinnerfield",Ext.ux.form.SpinnerField);Ext.form.SpinnerField=Ext.ux.form.SpinnerField;Ext.ux.Spinner=Ext.extend(Ext.util.Observable,{incrementValue:1,alternateIncrementValue:5,triggerClass:"x-form-spinner-trigger",splitterClass:"x-form-spinner-splitter",alternateKey:Ext.EventObject.shiftKey,defaultValue:0,accelerate:false,constructor:function(b){Ext.ux.Spinner.superclass.constructor.call(this,b);Ext.apply(this,b);this.mimicing=false},init:function(b){this.field=b;b.afterMethod("onRender",this.doRender,this);b.afterMethod("onEnable",this.doEnable,this);b.afterMethod("onDisable",this.doDisable,this);b.afterMethod("afterRender",this.doAfterRender,this);b.afterMethod("onResize",this.doResize,this);b.afterMethod("onFocus",this.doFocus,this);b.beforeMethod("onDestroy",this.doDestroy,this)},doRender:function(e,g){var k=this.el=this.field.getEl();var h=this.field;if(!h.wrap){h.wrap=this.wrap=k.wrap({cls:"x-form-field-wrap"})}else{this.wrap=h.wrap.addClass("x-form-field-wrap")}this.trigger=this.wrap.createChild({tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.triggerClass});if(!h.width){this.wrap.setWidth(k.getWidth()+this.trigger.getWidth())}this.splitter=this.wrap.createChild({tag:"div",cls:this.splitterClass,style:"width:13px; height:2px;"});this.splitter.setRight((Ext.isIE)?1:2).setTop(10).show();this.proxy=this.trigger.createProxy("",this.splitter,true);this.proxy.addClass("x-form-spinner-proxy");this.proxy.setStyle("left","0px");this.proxy.setSize(14,1);this.proxy.hide();this.dd=new Ext.dd.DDProxy(this.splitter.dom.id,"SpinnerDrag",{dragElId:this.proxy.id});this.initTrigger();this.initSpinner()},doAfterRender:function(){var b;if(Ext.isIE&&this.el.getY()!=(b=this.trigger.getY())){this.el.position();this.el.setY(b)}},doEnable:function(){if(this.wrap){this.wrap.removeClass(this.field.disabledClass)}},doDisable:function(){if(this.wrap){this.wrap.addClass(this.field.disabledClass);this.el.removeClass(this.field.disabledClass)}},doResize:function(d,c){if(typeof d=="number"){this.el.setWidth(d-this.trigger.getWidth())}this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())},doFocus:function(){if(!this.mimicing){this.wrap.addClass("x-trigger-wrap-focus");this.mimicing=true;Ext.get(Ext.isIE?document.body:document).on("mousedown",this.mimicBlur,this,{delay:10});this.el.on("keydown",this.checkTab,this)}},checkTab:function(b){if(b.getKey()==b.TAB){this.triggerBlur()}},mimicBlur:function(b){if(!this.wrap.contains(b.target)&&this.field.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this);this.el.un("keydown",this.checkTab,this);this.field.beforeBlur();this.wrap.removeClass("x-trigger-wrap-focus");this.field.onBlur.call(this.field)},initTrigger:function(){this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},initSpinner:function(){this.field.addEvents({spin:true,spinup:true,spindown:true});this.keyNav=new Ext.KeyNav(this.el,{up:function(b){b.preventDefault();this.onSpinUp()},down:function(b){b.preventDefault();this.onSpinDown()},pageUp:function(b){b.preventDefault();this.onSpinUpAlternate()},pageDown:function(b){b.preventDefault();this.onSpinDownAlternate()},scope:this});this.repeater=new Ext.util.ClickRepeater(this.trigger,{accelerate:this.accelerate});this.field.mon(this.repeater,"click",this.onTriggerClick,this,{preventDefault:true});this.field.mon(this.trigger,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,mousemove:this.onMouseMove,mousedown:this.onMouseDown,mouseup:this.onMouseUp,scope:this,preventDefault:true});this.field.mon(this.wrap,"mousewheel",this.handleMouseWheel,this);this.dd.setXConstraint(0,0,10);this.dd.setYConstraint(1500,1500,10);this.dd.endDrag=this.endDrag.createDelegate(this);this.dd.startDrag=this.startDrag.createDelegate(this);this.dd.onDrag=this.onDrag.createDelegate(this)},onMouseOver:function(){if(this.disabled){return}var b=this.getMiddle();this.tmpHoverClass=(Ext.EventObject.getPageY()<b)?"x-form-spinner-overup":"x-form-spinner-overdown";this.trigger.addClass(this.tmpHoverClass)},onMouseOut:function(){this.trigger.removeClass(this.tmpHoverClass)},onMouseMove:function(){if(this.disabled){return}var b=this.getMiddle();if(((Ext.EventObject.getPageY()>b)&&this.tmpHoverClass=="x-form-spinner-overup")||((Ext.EventObject.getPageY()<b)&&this.tmpHoverClass=="x-form-spinner-overdown")){}},onMouseDown:function(){if(this.disabled){return}var b=this.getMiddle();this.tmpClickClass=(Ext.EventObject.getPageY()<b)?"x-form-spinner-clickup":"x-form-spinner-clickdown";this.trigger.addClass(this.tmpClickClass)},onMouseUp:function(){this.trigger.removeClass(this.tmpClickClass)},onTriggerClick:function(){if(this.disabled||this.el.dom.readOnly){return}var c=this.getMiddle();var d=(Ext.EventObject.getPageY()<c)?"Up":"Down";this["onSpin"+d]()},getMiddle:function(){var d=this.trigger.getTop();var g=this.trigger.getHeight();var e=d+(g/2);return e},isSpinnable:function(){if(this.disabled||this.el.dom.readOnly){Ext.EventObject.preventDefault();return false}return true},handleMouseWheel:function(d){if(this.wrap.hasClass("x-trigger-wrap-focus")==false){return}var c=d.getWheelDelta();if(c>0){this.onSpinUp();d.stopEvent()}else{if(c<0){this.onSpinDown();d.stopEvent()}}},startDrag:function(){this.proxy.show();this._previousY=Ext.fly(this.dd.getDragEl()).getTop()},endDrag:function(){this.proxy.hide()},onDrag:function(){if(this.disabled){return}var c=Ext.fly(this.dd.getDragEl()).getTop();var d="";if(this._previousY>c){d="Up"}if(this._previousY<c){d="Down"}if(d!=""){this["onSpin"+d]()}this._previousY=c},onSpinUp:function(){if(this.isSpinnable()==false){return}if(Ext.EventObject.shiftKey==true){this.onSpinUpAlternate();return}else{this.spin(false,false)}this.field.fireEvent("spin",this);this.field.fireEvent("spinup",this)},onSpinDown:function(){if(this.isSpinnable()==false){return}if(Ext.EventObject.shiftKey==true){this.onSpinDownAlternate();return}else{this.spin(true,false)}this.field.fireEvent("spin",this);this.field.fireEvent("spindown",this)},onSpinUpAlternate:function(){if(this.isSpinnable()==false){return}this.spin(false,true);this.field.fireEvent("spin",this);this.field.fireEvent("spinup",this)},onSpinDownAlternate:function(){if(this.isSpinnable()==false){return}this.spin(true,true);this.field.fireEvent("spin",this);this.field.fireEvent("spindown",this)},spin:function(h,e){var g=parseFloat(this.field.getValue());var k=(e==true)?this.alternateIncrementValue:this.incrementValue;(h==true)?g-=k:g+=k;g=(isNaN(g))?this.defaultValue:g;g=this.fixBoundries(g);this.field.setRawValue(g)},fixBoundries:function(c){var d=c;if(this.field.minValue!=undefined&&d<this.field.minValue){d=this.field.minValue}if(this.field.maxValue!=undefined&&d>this.field.maxValue){d=this.field.maxValue}return this.fixPrecision(d)},fixPrecision:function(c){var d=isNaN(c);if(!this.field.allowDecimals||this.field.decimalPrecision==-1||d||!c){return d?"":c}return parseFloat(parseFloat(c).toFixed(this.field.decimalPrecision))},doDestroy:function(){if(this.trigger){this.trigger.remove()}if(this.wrap){this.wrap.remove();delete this.field.wrap}if(this.splitter){this.splitter.remove()}if(this.dd){this.dd.unreg();this.dd=null}if(this.proxy){this.proxy.remove()}if(this.repeater){this.repeater.purgeListeners()}if(this.mimicing){Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this)}}});Ext.form.Spinner=Ext.ux.Spinner;Ext.ux.Spotlight=function(b){Ext.apply(this,b)};Ext.ux.Spotlight.prototype={active:false,animate:true,duration:0.25,easing:"easeNone",animated:false,createElements:function(){var b=Ext.getBody();this.right=b.createChild({cls:"x-spotlight"});this.left=b.createChild({cls:"x-spotlight"});this.top=b.createChild({cls:"x-spotlight"});this.bottom=b.createChild({cls:"x-spotlight"});this.all=new Ext.CompositeElement([this.right,this.left,this.top,this.bottom])},show:function(d,g,e){if(this.animated){this.show.defer(50,this,[d,g,e]);return}this.el=Ext.get(d);if(!this.right){this.createElements()}if(!this.active){this.all.setDisplayed("");this.applyBounds(true,false);this.active=true;Ext.EventManager.onWindowResize(this.syncSize,this);this.applyBounds(false,this.animate,false,g,e)}else{this.applyBounds(false,false,false,g,e)}},hide:function(c,d){if(this.animated){this.hide.defer(50,this,[c,d]);return}Ext.EventManager.removeResizeListener(this.syncSize,this);this.applyBounds(true,this.animate,true,c,d)},doHide:function(){this.active=false;this.all.setDisplayed(false)},syncSize:function(){this.applyBounds(false,false)},applyBounds:function(s,t,n,o,c){var p=this.el.getRegion();var v=Ext.lib.Dom.getViewWidth(true);var q=Ext.lib.Dom.getViewHeight(true);var r=0,u=false;if(t){u={callback:function(){r++;if(r==4){this.animated=false;if(n){this.doHide()}Ext.callback(o,c,[this])}},scope:this,duration:this.duration,easing:this.easing};this.animated=true}this.right.setBounds(p.right,s?q:p.top,v-p.right,s?0:(q-p.top),u);this.left.setBounds(0,0,p.left,s?0:p.bottom,u);this.top.setBounds(s?v:p.left,0,s?0:v-p.left,p.top,u);this.bottom.setBounds(0,p.bottom,s?0:p.right,q-p.bottom,u);if(!t){if(n){this.doHide()}if(o){Ext.callback(o,c,[this])}}},destroy:function(){this.doHide();Ext.destroy(this.right,this.left,this.top,this.bottom);delete this.el;delete this.all}};Ext.Spotlight=Ext.ux.Spotlight;Ext.ux.StatusBar=Ext.extend(Ext.Toolbar,{cls:"x-statusbar",busyIconCls:"x-status-busy",busyText:"Loading...",autoClear:5000,emptyText:"&nbsp;",activeThreadId:0,initComponent:function(){if(this.statusAlign=="right"){this.cls+=" x-status-right"}Ext.ux.StatusBar.superclass.initComponent.call(this)},afterRender:function(){Ext.ux.StatusBar.superclass.afterRender.call(this);var b=this.statusAlign=="right";this.currIconCls=this.iconCls||this.defaultIconCls;this.statusEl=new Ext.Toolbar.TextItem({cls:"x-status-text "+(this.currIconCls||""),text:this.text||this.defaultText||""});if(b){this.add("->");this.add(this.statusEl)}else{this.insert(0,this.statusEl);this.insert(1,"->")}this.doLayout()},setStatus:function(k){k=k||{};if(typeof k=="string"){k={text:k}}if(k.text!==undefined){this.setText(k.text)}if(k.iconCls!==undefined){this.setIcon(k.iconCls)}if(k.clear){var h=k.clear,c=this.autoClear,g={useDefaults:true,anim:true};if(typeof h=="object"){h=Ext.applyIf(h,g);if(h.wait){c=h.wait}}else{if(typeof h=="number"){c=h;h=g}else{if(typeof h=="boolean"){h=g}}}h.threadId=this.activeThreadId;this.clearStatus.defer(c,this,[h])}return this},clearStatus:function(g){g=g||{};if(g.threadId&&g.threadId!==this.activeThreadId){return this}var d=g.useDefaults?this.defaultText:this.emptyText,e=g.useDefaults?(this.defaultIconCls?this.defaultIconCls:""):"";if(g.anim){this.statusEl.el.fadeOut({remove:false,useDisplay:true,scope:this,callback:function(){this.setStatus({text:d,iconCls:e});this.statusEl.el.show()}})}else{this.statusEl.hide();this.setStatus({text:d,iconCls:e});this.statusEl.show()}return this},setText:function(b){this.activeThreadId++;this.text=b||"";if(this.rendered){this.statusEl.setText(this.text)}return this},getText:function(){return this.text},setIcon:function(b){this.activeThreadId++;b=b||"";if(this.rendered){if(this.currIconCls){this.statusEl.removeClass(this.currIconCls);this.currIconCls=null}if(b.length>0){this.statusEl.addClass(b);this.currIconCls=b}}else{this.currIconCls=b}return this},showBusy:function(b){if(typeof b=="string"){b={text:b}}b=Ext.applyIf(b||{},{text:this.busyText,iconCls:this.busyIconCls});return this.setStatus(b)}});Ext.reg("statusbar",Ext.ux.StatusBar);Ext.ux.TabCloseMenu=Ext.extend(Object,{closeTabText:"Close Tab",closeOtherTabsText:"Close Other Tabs",showCloseAll:true,closeAllTabsText:"Close All Tabs",constructor:function(b){Ext.apply(this,b||{})},init:function(b){this.tabs=b;b.on({scope:this,contextmenu:this.onContextMenu,destroy:this.destroy})},destroy:function(){Ext.destroy(this.menu);delete this.menu;delete this.tabs;delete this.active},onContextMenu:function(e,q,n){this.active=q;var k=this.createMenu(),p=true,l=true,o=k.getComponent("closeall");k.getComponent("close").setDisabled(!q.closable);e.items.each(function(){if(this.closable){p=false;if(this!=q){l=false;return false}}});k.getComponent("closeothers").setDisabled(l);if(o){o.setDisabled(p)}n.stopEvent();k.showAt(n.getPoint())},createMenu:function(){if(!this.menu){var b=[{itemId:"close",text:this.closeTabText,scope:this,handler:this.onClose}];if(this.showCloseAll){b.push("-")}b.push({itemId:"closeothers",text:this.closeOtherTabsText,scope:this,handler:this.onCloseOthers});if(this.showCloseAll){b.push({itemId:"closeall",text:this.closeAllTabsText,scope:this,handler:this.onCloseAll})}this.menu=new Ext.menu.Menu({items:b})}return this.menu},onClose:function(){this.tabs.remove(this.active)},onCloseOthers:function(){this.doClose(true)},onCloseAll:function(){this.doClose(false)},doClose:function(c){var d=[];this.tabs.items.each(function(a){if(a.closable){if(!c||a!=this.active){d.push(a)}}},this);Ext.each(d,function(a){this.tabs.remove(a)},this)}});Ext.preg("tabclosemenu",Ext.ux.TabCloseMenu);Ext.ns("Ext.ux.grid");Ext.ux.grid.TableGrid=function(h,x){x=x||{};Ext.apply(this,x);var A=x.fields||[],C=x.columns||[];h=Ext.get(h);var u=h.insertSibling();var t=[],s=[];var y=h.query("thead th");for(var w=0,v;v=y[w];w++){var q=v.innerHTML;var B="tcol-"+w;t.push(Ext.applyIf(A[w]||{},{name:B,mapping:"td:nth("+(w+1)+")/@innerHTML"}));s.push(Ext.applyIf(C[w]||{},{header:q,dataIndex:B,width:v.offsetWidth,tooltip:v.title,sortable:true}))}var z=new Ext.data.Store({reader:new Ext.data.XmlReader({record:"tbody tr"},t)});z.loadData(h.dom);var r=new Ext.grid.ColumnModel(s);if(x.width||x.height){u.setSize(x.width||"auto",x.height||"auto")}else{u.setWidth(h.getWidth())}if(x.remove!==false){h.remove()}Ext.applyIf(this,{ds:z,cm:r,sm:new Ext.grid.RowSelectionModel(),autoHeight:true,autoWidth:false});Ext.ux.grid.TableGrid.superclass.constructor.call(this,u,{})};Ext.extend(Ext.ux.grid.TableGrid,Ext.grid.GridPanel);Ext.grid.TableGrid=Ext.ux.grid.TableGrid;Ext.ns("Ext.ux");Ext.ux.TabScrollerMenu=Ext.extend(Object,{pageSize:10,maxText:15,menuPrefixText:"Items",constructor:function(b){b=b||{};Ext.apply(this,b)},init:function(c){Ext.apply(c,this.parentOverrides);c.tabScrollerMenu=this;var d=this;c.on({render:{scope:c,single:true,fn:function(){var a=c.createScrollers.createSequence(d.createPanelsMenu,this);c.createScrollers=a}}})},createPanelsMenu:function(){var k=this.stripWrap.dom.offsetHeight;var e=this.header.dom.firstChild;Ext.fly(e).applyStyles({right:"18px"});var g=Ext.get(this.strip.dom.parentNode);g.applyStyles({"margin-right":"36px"});var h=this.header.insertFirst({cls:"x-tab-tabmenu-right"});h.setHeight(k);h.addClassOnOver("x-tab-tabmenu-over");h.on("click",this.showTabsMenu,this);this.scrollLeft.show=this.scrollLeft.show.createSequence(function(){h.show()});this.scrollLeft.hide=this.scrollLeft.hide.createSequence(function(){h.hide()})},getPageSize:function(){return this.pageSize},setPageSize:function(b){this.pageSize=b},getMaxText:function(){return this.maxText},setMaxText:function(b){this.maxText=b},getMenuPrefixText:function(){return this.menuPrefixText},setMenuPrefixText:function(b){this.menuPrefixText=b},parentOverrides:{showTabsMenu:function(g){if(this.tabsMenu){this.tabsMenu.destroy();this.un("destroy",this.tabsMenu.destroy,this.tabsMenu);this.tabsMenu=null}this.tabsMenu=new Ext.menu.Menu();this.on("destroy",this.tabsMenu.destroy,this.tabsMenu);this.generateTabMenuItems();var d=Ext.get(g.getTarget());var e=d.getXY();e[1]+=24;this.tabsMenu.showAt(e)},generateTabMenuItems:function(){var x=this.getActiveTab();var n=this.items.getCount();var r=this.tabScrollerMenu.getPageSize();if(n>r){var u=Math.floor(n/r);var p=n%r;for(var t=0;t<u;t++){var s=(t+1)*r;var w=[];for(var q=0;q<r;q++){index=q+s-r;var o=this.items.get(index);w.push(this.autoGenMenuItem(o))}this.tabsMenu.add({text:this.tabScrollerMenu.getMenuPrefixText()+" "+(s-r+1)+" - "+s,menu:w})}if(p>0){var v=u*r;w=[];for(var t=v;t<n;t++){var o=this.items.get(t);w.push(this.autoGenMenuItem(o))}this.tabsMenu.add({text:this.tabScrollerMenu.menuPrefixText+" "+(v+1)+" - "+(v+w.length),menu:w})}}else{this.items.each(function(a){if(a.id!=x.id&&!a.hidden){this.tabsMenu.add(this.autoGenMenuItem(a))}},this)}},autoGenMenuItem:function(d){var e=this.tabScrollerMenu.getMaxText();var g=Ext.util.Format.ellipsis(d.title,e);return{text:g,handler:this.showTabFromMenu,scope:this,disabled:d.disabled,tabToShow:d,iconCls:d.iconCls}},showTabFromMenu:function(b){this.setActiveTab(b.tabToShow)}}});Ext.reg("tabscrollermenu",Ext.ux.TabScrollerMenu);Ext.ns("Ext.ux.tree");Ext.ux.tree.XmlTreeLoader=Ext.extend(Ext.tree.TreeLoader,{XML_NODE_ELEMENT:1,XML_NODE_TEXT:3,processResponse:function(e,n,k){var o=e.responseXML,h=o.documentElement||o;try{n.beginUpdate();n.appendChild(this.parseXml(h));n.endUpdate();this.runCallback(k,scope||n,[n])}catch(l){this.handleFailure(e)}},parseXml:function(c){var d=[];Ext.each(c.childNodes,function(a){if(a.nodeType==this.XML_NODE_ELEMENT){var h=this.createNode(a);if(a.childNodes.length>0){var b=this.parseXml(a);if(typeof b=="string"){h.attributes.innerText=b}else{h.appendChild(b)}}d.push(h)}else{if(a.nodeType==this.XML_NODE_TEXT){var g=a.nodeValue.trim();if(g.length>0){return d=g}}}},this);return d},createNode:function(c){var d={tagName:c.tagName};Ext.each(c.attributes,function(a){d[a.nodeName]=a.nodeValue});this.processAttributes(d);return Ext.ux.tree.XmlTreeLoader.superclass.createNode.call(this,d)},processAttributes:Ext.emptyFn});Ext.ux.XmlTreeLoader=Ext.ux.tree.XmlTreeLoader;Ext.ux.ValidationStatus=Ext.extend(Ext.Component,{errorIconCls:"x-status-error",errorListCls:"x-status-error-list",validIconCls:"x-status-valid",showText:"The form has errors (click for details...)",hideText:"Click again to hide the error list",submitText:"Saving...",init:function(b){b.on("render",function(){this.statusBar=b;this.monitor=true;this.errors=new Ext.util.MixedCollection();this.listAlign=(b.statusAlign=="right"?"br-tr?":"bl-tl?");if(this.form){this.form=Ext.getCmp(this.form).getForm();this.startMonitoring();this.form.on("beforeaction",function(e,g){if(g.type=="submit"){this.monitor=false}},this);var a=function(){this.monitor=true};this.form.on("actioncomplete",a,this);this.form.on("actionfailed",a,this)}},this,{single:true});b.on({scope:this,afterlayout:{single:true,fn:function(){b.statusEl.getEl().on("click",this.onStatusClick,this,{buffer:200})}},beforedestroy:{single:true,fn:this.onDestroy}})},startMonitoring:function(){this.form.items.each(function(b){b.on("invalid",this.onFieldValidation,this);b.on("valid",this.onFieldValidation,this)},this)},stopMonitoring:function(){this.form.items.each(function(b){b.un("invalid",this.onFieldValidation,this);b.un("valid",this.onFieldValidation,this)},this)},onDestroy:function(){this.stopMonitoring();this.statusBar.statusEl.un("click",this.onStatusClick,this);Ext.ux.ValidationStatus.superclass.onDestroy.call(this)},onFieldValidation:function(d,c){if(!this.monitor){return false}if(c){this.errors.add(d.id,{field:d,msg:c})}else{this.errors.removeKey(d.id)}this.updateErrorList();if(this.errors.getCount()>0){if(this.statusBar.getText()!=this.showText){this.statusBar.setStatus({text:this.showText,iconCls:this.errorIconCls})}}else{this.statusBar.clearStatus().setIcon(this.validIconCls)}},updateErrorList:function(){if(this.errors.getCount()>0){var b="<ul>";this.errors.each(function(a){b+=('<li id="x-err-'+a.field.id+'"><a href="#">'+a.msg+"</a></li>")},this);this.getMsgEl().update(b+"</ul>")}else{this.getMsgEl().update("")}},getMsgEl:function(){if(!this.msgEl){this.msgEl=Ext.DomHelper.append(Ext.getBody(),{cls:this.errorListCls+" x-hide-offsets"},true);this.msgEl.on("click",function(c){var d=c.getTarget("li",10,true);if(d){Ext.getCmp(d.id.split("x-err-")[1]).focus();this.hideErrors()}},this,{stopEvent:true})}return this.msgEl},showErrors:function(){this.updateErrorList();this.getMsgEl().alignTo(this.statusBar.getEl(),this.listAlign).slideIn("b",{duration:0.3,easing:"easeOut"});this.statusBar.setText(this.hideText);this.form.getEl().on("click",this.hideErrors,this,{single:true})},hideErrors:function(){var b=this.getMsgEl();if(b.isVisible()){b.slideOut("b",{duration:0.2,easing:"easeIn"});this.statusBar.setText(this.showText)}this.form.getEl().un("click",this.hideErrors,this)},onStatusClick:function(){if(this.getMsgEl().isVisible()){this.hideErrors()}else{if(this.errors.getCount()>0){this.showErrors()}}}});(function(){Ext.override(Ext.list.Column,{init:function(){var c=Ext.data.Types,d=this.sortType;if(this.type){if(Ext.isString(this.type)){this.type=Ext.data.Types[this.type.toUpperCase()]||c.AUTO}}else{this.type=c.AUTO}if(Ext.isString(d)){this.sortType=Ext.data.SortTypes[d]}else{if(Ext.isEmpty(d)){this.sortType=this.type.sortType}}}});Ext.tree.Column=Ext.extend(Ext.list.Column,{});Ext.tree.NumberColumn=Ext.extend(Ext.list.NumberColumn,{});Ext.tree.DateColumn=Ext.extend(Ext.list.DateColumn,{});Ext.tree.BooleanColumn=Ext.extend(Ext.list.BooleanColumn,{});Ext.reg("tgcolumn",Ext.tree.Column);Ext.reg("tgnumbercolumn",Ext.tree.NumberColumn);Ext.reg("tgdatecolumn",Ext.tree.DateColumn);Ext.reg("tgbooleancolumn",Ext.tree.BooleanColumn)})();Ext.ux.tree.TreeGridNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{isTreeGridNodeUI:true,renderElements:function(v,n,r,c){var a=v.getOwnerTree(),p=a.columns,q=p[0],u,w,s;this.indentMarkup=v.parentNode?v.parentNode.ui.getChildIndent():"";w=['<tbody class="x-tree-node">','<tr ext:tree-node-id="',v.id,'" class="x-tree-node-el x-tree-node-leaf ',n.cls,'">','<td class="x-treegrid-col">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img src="',n.icon||this.emptyIcon,'" class="x-tree-node-icon',(n.icon?" x-tree-node-inline-icon":""),(n.iconCls?" "+n.iconCls:""),'" unselectable="on" />','<a hidefocus="on" class="x-tree-node-anchor" href="',n.href?n.href:"#",'" tabIndex="1" ',n.hrefTarget?' target="'+n.hrefTarget+'"':"",">",'<span unselectable="on">',(q.tpl?q.tpl.apply(n):n[q.dataIndex]||q.text),"</span></a>","</td>"];for(u=1,s=p.length;u<s;u++){q=p[u];w.push('<td class="x-treegrid-col ',(q.cls?q.cls:""),'">','<div unselectable="on" class="x-treegrid-text"',(q.align?' style="text-align: '+q.align+';"':""),">",(q.tpl?q.tpl.apply(n):n[q.dataIndex]),"</div>","</td>")}w.push('</tr><tr class="x-tree-node-ct"><td colspan="',p.length,'">','<table class="x-treegrid-node-ct-table" cellpadding="0" cellspacing="0" style="table-layout: fixed; display: none; width: ',a.innerCt.getWidth(),'px;"><colgroup>');for(u=0,s=p.length;u<s;u++){w.push('<col style="width: ',(p[u].hidden?0:p[u].width),'px;" />')}w.push("</colgroup></table></td></tr></tbody>");if(c!==true&&v.nextSibling&&v.nextSibling.ui.getEl()){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",v.nextSibling.ui.getEl(),w.join(""))}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",r,w.join(""))}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1].firstChild.firstChild;var t=this.elNode.firstChild.childNodes;this.indentNode=t[0];this.ecNode=t[1];this.iconNode=t[2];this.anchor=t[3];this.textNode=t[3].firstChild},animExpand:function(b){this.ctNode.style.display="";Ext.ux.tree.TreeGridNodeUI.superclass.animExpand.call(this,b)}});Ext.ux.tree.TreeGridRootNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{isTreeGridNodeUI:true,render:function(){if(!this.rendered){this.wrap=this.ctNode=this.node.ownerTree.innerCt.dom;this.node.expanded=true}if(Ext.isWebKit){var b=this.ctNode;b.style.tableLayout=null;(function(){b.style.tableLayout="fixed"}).defer(1)}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}delete this.node},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.ColumnResizer=Ext.extend(Ext.util.Observable,{minWidth:14,constructor:function(b){Ext.apply(this,b);Ext.tree.ColumnResizer.superclass.constructor.call(this)},init:function(b){this.tree=b;b.on("render",this.initEvents,this)},initEvents:function(b){b.mon(b.innerHd,"mousemove",this.handleHdMove,this);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeStart.createDelegate(this),onStart:this.onStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(b.innerHd);b.on("beforedestroy",this.tracker.destroy,this.tracker)},handleHdMove:function(r,n){var q=5,o=r.getPageX(),s=r.getTarget(".x-treegrid-hd",3,true);if(s){var u=s.getRegion(),e=s.dom.style,t=s.dom.parentNode;if(o-u.left<=q&&s.dom!==t.firstChild){var v=s.dom.previousSibling;while(v&&Ext.fly(v).hasClass("x-treegrid-hd-hidden")){v=v.previousSibling}if(v){this.activeHd=Ext.get(v);e.cursor=Ext.isWebKit?"e-resize":"col-resize"}}else{if(u.right-o<=q){var p=s.dom;while(p&&Ext.fly(p).hasClass("x-treegrid-hd-hidden")){p=p.previousSibling}if(p){this.activeHd=Ext.get(p);e.cursor=Ext.isWebKit?"w-resize":"col-resize"}}else{delete this.activeHd;e.cursor=""}}}},onBeforeStart:function(b){this.dragHd=this.activeHd;return !!this.dragHd},onStart:function(c){this.dragHeadersDisabled=this.tree.headersDisabled;this.tree.headersDisabled=true;this.proxy=this.tree.body.createChild({cls:"x-treegrid-resizer"});this.proxy.setHeight(this.tree.body.getHeight());var d=this.tracker.getXY()[0];this.hdX=this.dragHd.getX();this.hdIndex=this.tree.findHeaderIndex(this.dragHd);this.proxy.setX(this.hdX);this.proxy.setWidth(d-this.hdX);this.maxWidth=this.tree.outerCt.getWidth()-this.tree.innerBody.translatePoints(this.hdX).left},onDrag:function(c){var d=this.tracker.getXY()[0];this.proxy.setWidth((d-this.hdX).constrain(this.minWidth,this.maxWidth))},onEnd:function(h){var e=this.proxy.getWidth(),g=this.tree,k=this.dragHeadersDisabled;this.proxy.remove();delete this.dragHd;g.columns[this.hdIndex].width=e;g.updateColumnWidths();setTimeout(function(){g.headersDisabled=k},100)}});Ext.ns("Ext.ux.tree");Ext.ux.tree.TreeGridSorter=Ext.extend(Ext.tree.TreeSorter,{sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",constructor:function(e,d){if(!Ext.isObject(d)){d={property:e.columns[0].dataIndex||"text",folderSort:true}}Ext.ux.tree.TreeGridSorter.superclass.constructor.apply(this,arguments);this.tree=e;e.on("headerclick",this.onHeaderClick,this);e.ddAppendOnly=true;var g=this;this.defaultSortFn=function(r,s){var t=g.dir&&g.dir.toLowerCase()=="desc",y=g.property||"text",w=g.sortType,c=g.caseSensitive===true,x=g.leafAttr||"leaf",b=r.attributes,q=s.attributes;if(g.folderSort){if(b[x]&&!q[x]){return 1}if(!b[x]&&q[x]){return -1}}var u=b[y],v=q[y],a=w?w(u):(c?u:u.toUpperCase());v2=w?w(v):(c?v:v.toUpperCase());if(a<v2){return t?+1:-1}else{if(a>v2){return t?-1:+1}else{return 0}}};e.on("afterrender",this.onAfterTreeRender,this,{single:true});e.on("headermenuclick",this.onHeaderMenuClick,this)},onAfterTreeRender:function(){if(this.tree.hmenu){this.tree.hmenu.insert(0,{itemId:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{itemId:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"})}this.updateSortIcon(0,"asc")},onHeaderMenuClick:function(g,c,e){if(c==="asc"||c==="desc"){this.onHeaderClick(g,null,e);return false}},onHeaderClick:function(h,c,g){if(h&&!this.tree.headersDisabled){var k=this;k.property=h.dataIndex;k.dir=h.dir=(h.dir==="desc"?"asc":"desc");k.sortType=h.sortType;k.caseSensitive===Ext.isBoolean(h.caseSensitive)?h.caseSensitive:this.caseSensitive;k.sortFn=h.sortFn||this.defaultSortFn;this.tree.root.cascade(function(a){if(!a.isLeaf()){k.updateSort(k.tree,a)}});this.updateSortIcon(g,h.dir)}},updateSortIcon:function(e,g){var h=this.sortClasses,k=this.tree.innerHd.select("td").removeClass(h);k.item(e).addClass(h[g=="desc"?1:0])}});Ext.ux.tree.TreeGridLoader=Ext.extend(Ext.tree.TreeLoader,{createNode:function(b){if(!b.uiProvider){b.uiProvider=Ext.ux.tree.TreeGridNodeUI}return Ext.tree.TreeLoader.prototype.createNode.call(this,b)}});Ext.ux.tree.TreeGrid=Ext.extend(Ext.tree.TreePanel,{rootVisible:false,useArrows:true,lines:false,borderWidth:Ext.isBorderBox?0:2,cls:"x-treegrid",columnResize:true,enableSort:true,reserveScrollOffset:true,enableHdMenu:true,columnsText:"Columns",initComponent:function(){if(!this.root){this.root=new Ext.tree.AsyncTreeNode({text:"Root"})}var d=this.loader;if(!d){d=new Ext.ux.tree.TreeGridLoader({dataUrl:this.dataUrl,requestMethod:this.requestMethod,store:this.store})}else{if(Ext.isObject(d)&&!d.load){d=new Ext.ux.tree.TreeGridLoader(d)}}this.loader=d;Ext.ux.tree.TreeGrid.superclass.initComponent.call(this);this.initColumns();if(this.enableSort){this.treeGridSorter=new Ext.ux.tree.TreeGridSorter(this,this.enableSort)}if(this.columnResize){this.colResizer=new Ext.tree.ColumnResizer(this.columnResize);this.colResizer.init(this)}var c=this.columns;if(!this.internalTpl){this.internalTpl=new Ext.XTemplate('<div class="x-grid3-header">','<div class="x-treegrid-header-inner">','<div class="x-grid3-header-offset">','<table style="table-layout: fixed;" cellspacing="0" cellpadding="0" border="0"><colgroup><tpl for="columns"><col /></tpl></colgroup>','<thead><tr class="x-grid3-hd-row">','<tpl for="columns">','<td class="x-grid3-hd x-grid3-cell x-treegrid-hd" style="text-align: {align};" id="',this.id,'-xlhd-{#}">','<div class="x-grid3-hd-inner x-treegrid-hd-inner" unselectable="on">',this.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"",'{header}<img class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div>","</td></tpl>","</tr></thead>","</table>","</div></div>","</div>",'<div class="x-treegrid-root-node">','<table class="x-treegrid-root-table" cellpadding="0" cellspacing="0" style="table-layout: fixed;"></table>',"</div>")}if(!this.colgroupTpl){this.colgroupTpl=new Ext.XTemplate('<colgroup><tpl for="columns"><col style="width: {width}px"/></tpl></colgroup>')}},initColumns:function(){var k=this.columns,g=k.length,l=[],c,h;for(c=0;c<g;c++){h=k[c];if(!h.isColumn){h.xtype=h.xtype?(/^tg/.test(h.xtype)?h.xtype:"tg"+h.xtype):"tgcolumn";h=Ext.create(h)}h.init(this);l.push(h);if(this.enableSort!==false&&h.sortable!==false){h.sortable=true;this.enableSort=true}}this.columns=l},onRender:function(){Ext.tree.TreePanel.superclass.onRender.apply(this,arguments);this.el.addClass("x-treegrid");this.outerCt=this.body.createChild({cls:"x-tree-root-ct x-treegrid-ct "+(this.useArrows?"x-tree-arrows":this.lines?"x-tree-lines":"x-tree-no-lines")});this.internalTpl.overwrite(this.outerCt,{columns:this.columns});this.mainHd=Ext.get(this.outerCt.dom.firstChild);this.innerHd=Ext.get(this.mainHd.dom.firstChild);this.innerBody=Ext.get(this.outerCt.dom.lastChild);this.innerCt=Ext.get(this.innerBody.dom.firstChild);this.colgroupTpl.insertFirst(this.innerCt,{columns:this.columns});if(this.hideHeaders){this.el.child(".x-grid3-header").setDisplayed("none")}else{if(this.enableHdMenu!==false){this.hmenu=new Ext.menu.Menu({id:this.id+"-hctx"});if(this.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:this.id+"-hcols-menu"});this.colMenu.on({scope:this,beforeshow:this.beforeColMenuShow,itemclick:this.handleHdMenuClick});this.hmenu.add({itemId:"columns",hideOnClick:false,text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})}this.hmenu.on("itemclick",this.handleHdMenuClick,this)}}},setRootNode:function(b){b.attributes.uiProvider=Ext.ux.tree.TreeGridRootNodeUI;b=Ext.ux.tree.TreeGrid.superclass.setRootNode.call(this,b);if(this.innerCt){this.colgroupTpl.insertFirst(this.innerCt,{columns:this.columns})}return b},clearInnerCt:function(){if(Ext.isIE){var b=this.innerCt.dom;while(b.firstChild){b.removeChild(b.firstChild)}}else{Ext.ux.tree.TreeGrid.superclass.clearInnerCt.call(this)}},initEvents:function(){Ext.ux.tree.TreeGrid.superclass.initEvents.apply(this,arguments);this.mon(this.innerBody,"scroll",this.syncScroll,this);this.mon(this.innerHd,"click",this.handleHdDown,this);this.mon(this.mainHd,{scope:this,mouseover:this.handleHdOver,mouseout:this.handleHdOut})},onResize:function(g,o){Ext.ux.tree.TreeGrid.superclass.onResize.apply(this,arguments);var l=this.innerBody.dom;var k=this.innerHd.dom;if(!l){return}if(Ext.isNumber(o)){l.style.height=this.body.getHeight(true)-k.offsetHeight+"px"}if(Ext.isNumber(g)){var h=Ext.num(this.scrollOffset,Ext.getScrollBarWidth());if(this.reserveScrollOffset||((l.offsetWidth-l.clientWidth)>10)){this.setScrollOffset(h)}else{var n=this;setTimeout(function(){n.setScrollOffset(l.offsetWidth-l.clientWidth>10?h:0)},10)}}},updateColumnWidths:function(){var n=this.columns,c=n.length,t=this.outerCt.query("colgroup"),g=t.length,o,q,r,s;for(r=0;r<c;r++){o=n[r];for(s=0;s<g;s++){q=t[s];q.childNodes[r].style.width=(o.hidden?0:o.width)+"px"}}for(r=0,t=this.innerHd.query("td"),len=t.length;r<len;r++){o=Ext.fly(t[r]);if(n[r]&&n[r].hidden){o.addClass("x-treegrid-hd-hidden")}else{o.removeClass("x-treegrid-hd-hidden")}}var p=this.getTotalColumnWidth();Ext.fly(this.innerHd.dom.firstChild).setWidth(p+(this.scrollOffset||0));this.outerCt.select("table").setWidth(p);this.syncHeaderScroll()},getVisibleColumns:function(){var k=[],h=this.columns,g=h.length,e;for(e=0;e<g;e++){if(!h[e].hidden){k.push(h[e])}}return k},getTotalColumnWidth:function(){var h=0;for(var e=0,k=this.getVisibleColumns(),g=k.length;e<g;e++){h+=k[e].width}return h},setScrollOffset:function(b){this.scrollOffset=b;this.updateColumnWidths()},handleHdDown:function(n,q){var o=n.getTarget(".x-treegrid-hd");if(o&&Ext.fly(q).hasClass("x-grid3-hd-btn")){var c=this.hmenu.items,p=this.columns,e=this.findHeaderIndex(o),l=p[e],r=l.sortable;n.stopEvent();Ext.fly(o).addClass("x-grid3-hd-menu-open");this.hdCtxIndex=e;this.fireEvent("headerbuttonclick",c,l,o,e);this.hmenu.on("hide",function(){Ext.fly(o).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(q,"tl-bl?")}else{if(o){var e=this.findHeaderIndex(o);this.fireEvent("headerclick",this.columns[e],o,e)}}},handleHdOver:function(h,g){var k=h.getTarget(".x-treegrid-hd");if(k&&!this.headersDisabled){index=this.findHeaderIndex(k);this.activeHdRef=g;this.activeHdIndex=index;var e=Ext.get(k);this.activeHdRegion=e.getRegion();e.addClass("x-grid3-hd-over");this.activeHdBtn=e.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(k.firstChild.offsetHeight-1)+"px"}}},handleHdOut:function(g,e){var d=g.getTarget(".x-treegrid-hd");if(d&&(!Ext.isIE||!g.within(d,true))){this.activeHdRef=null;Ext.fly(d).removeClass("x-grid3-hd-over");d.style.cursor=""}},findHeaderIndex:function(k){k=k.dom||k;var c=k.parentNode.childNodes;for(var g=0,h;h=c[g];g++){if(h==k){return g}}return -1},beforeColMenuShow:function(){var k=this.columns,c=k.length,g,h;this.colMenu.removeAll();for(g=1;g<c;g++){h=k[g];if(h.hideable!==false){this.colMenu.add(new Ext.menu.CheckItem({itemId:"col-"+g,text:h.header,checked:!h.hidden,hideOnClick:false,disabled:h.hideable===false}))}}},handleHdMenuClick:function(d){var e=this.hdCtxIndex,g=d.getItemId();if(this.fireEvent("headermenuclick",this.columns[e],g,e)!==false){e=g.substr(4);if(e>0&&this.columns[e]){this.setColumnVisible(e,!d.checked)}}return true},setColumnVisible:function(d,c){this.columns[d].hidden=!c;this.updateColumnWidths()},scrollToTop:function(){this.innerBody.dom.scrollTop=0;this.innerBody.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var b=this.innerBody.dom;this.fireEvent("bodyscroll",b.scrollLeft,b.scrollTop)},syncHeaderScroll:function(){var b=this.innerBody.dom;this.innerHd.dom.scrollLeft=b.scrollLeft;this.innerHd.dom.scrollLeft=b.scrollLeft},registerNode:function(b){Ext.ux.tree.TreeGrid.superclass.registerNode.call(this,b);if(!b.uiProvider&&!b.isRoot&&!b.ui.isTreeGridNodeUI){b.ui=new Ext.ux.tree.TreeGridNodeUI(b)}}});Ext.reg("treegrid",Ext.ux.tree.TreeGrid);Ext.onReady(function(){Ext.state.Manager.setProvider(new Ext.state.CookieProvider({expires:new Date(new Date().getTime()+(1000*60*60*24*7))}));Ext.QuickTips.init();Ext.data.DataProxy.on("exception",function(d,e,g,a,c,b){if(XfApp.isUnloading){return}var h="An error occured";if(c.raw!==undefined&&c.raw.msg!==undefined){h=c.raw.msg}else{if(c.msg!==undefined){h=c.msg}}Ext.Msg.show({title:"Error",msg:h,icon:Ext.MessageBox.ERROR,buttons:Ext.MessageBox.OK})})});Ext.ux.XfComboBox=Ext.extend(Ext.form.ComboBox,{editable:true,labelStyle:"text-align: right;",forceSelection:true,triggerAction:"all",width:300,mode:"local"});Ext.reg("xfcombobox",Ext.ux.XfComboBox);Ext.ux.XfDashboardPanel=Ext.extend(Ext.Panel,{applyTo:"portal_data",id:"dashboardPanel",border:false,frame:false,monitorResize:true,bodyStyle:"margin: 0px 15px 0px 15px; background-color: transparent",defaults:{frame:true,draggable:false,animCollapse:false}});Ext.reg("xfdashboardpanel",Ext.ux.XfDashboardPanel);
/*
 * Ext JS Library 3.3.0
 * Copyright(c) 2006-2010 Ext JS, Inc.
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
Ext.ux.XfDateField=Ext.extend(Ext.form.TriggerField,{format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,startDay:0,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initTime:"12",initTimeFormat:"H",safeParse:function(b,c){if(/[gGhH]/.test(c.replace(/(\\.)/g,""))){return Date.parseDate(b,c)}else{var a=Date.parseDate(b+" "+this.initTime,c+" "+this.initTimeFormat);if(a){return a.clearTime()}}},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(Ext.isString(this.minValue)){this.minValue=this.parseDate(this.minValue)}if(Ext.isString(this.maxValue)){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initEvents:function(){Ext.form.DateField.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{down:function(a){this.onTriggerClick()},scope:this,forceKeyDown:true})},initDisabledDays:function(){if(this.disabledDates){var b=this.disabledDates,a=b.length-1,c="(?:";Ext.each(b,function(g,e){c+=Ext.isDate(g)?"^"+Ext.escapeRe(g.dateFormat(this.format))+"$":b[e];if(e!=a){c+="|"}},this);this.disabledDatesRE=new RegExp(c+")")}},setDisabledDates:function(a){this.disabledDates=a;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(a){this.disabledDays=a;if(this.menu){this.menu.picker.setDisabledDays(a)}},setMinValue:function(a){this.minValue=(Ext.isString(a)?this.parseDate(a):a);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(a){this.maxValue=(Ext.isString(a)?this.parseDate(a):a);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},getErrors:function(a){var b=Ext.form.DateField.superclass.getErrors.apply(this,arguments);return b},validateBlur:function(){return !this.menu||!this.menu.isVisible()},getValue:function(){return Ext.form.DateField.superclass.getValue.call(this)},setValue:function(a){return Ext.form.DateField.superclass.setValue.call(this,a)},parseDate:function(g){if(!g||Ext.isDate(g)){return g}var b=this.safeParse(g,this.format),c=this.altFormats,e=this.altFormatsArray;if(!b&&c){e=e||c.split("|");for(var d=0,a=e.length;d<a&&!b;d++){b=this.safeParse(g,e[d])}}return b},onDestroy:function(){Ext.destroy(this.menu,this.keyNav);Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(a){return Ext.isDate(a)?a.dateFormat(this.format):a},onTriggerClick:function(){if(this.disabled){return}if(this.menu===undefined){this.menu=new Ext.menu.DateMenu({hideOnClick:false,focusOnSelect:false})}this.onFocus();Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,startDay:this.startDay,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.show(this.el,"tl-bl?");this.menuEvents("on")},menuEvents:function(a){this.menu[a]("select",this.onSelect,this);this.menu[a]("hide",this.onMenuHide,this);this.menu[a]("show",this.onFocus,this)},onSelect:function(a,b){this.setValue(b);this.fireEvent("select",this,b);this.menu.hide()},onMenuHide:function(){this.focus(false,60);this.menuEvents("un")}});Ext.reg("xfdatefield",Ext.ux.XfDateField);Array.prototype.exists=function(b){for(var a=0;a<this.length;a++){if(this[a]==b){return true}}return false};if(!Array.prototype.filter){Array.prototype.filter=function(b){var g=Object(this);var a=g.length>>>0;if(typeof b!=="function"){throw new TypeError()}var e=[];var d=arguments[1];for(var c=0;c<a;c++){if(c in g){var h=g[c];if(b.call(d,h,c,g)){e.push(h)}}}return e}}function getWeekFirstDay(a){return new Date(a-(a.getDay()-1)*(60000*60*24))}function getWeekLastDay(b){var a=getWeekFirstDay(b);return new Date(a.getTime()+(6*60000*60*24))}function getQuarterDataFromRequestValue(d){var a=parseInt(d.substring(6),10);var b=parseInt(d.substring(0,4),10);var c=[];switch(a){case 1:c.startDate=new Date.parseDate(b+"-01-01","Y-m-d");c.endDate=new Date.parseDate(b+"-03-31","Y-m-d");break;case 2:c.startDate=new Date.parseDate(b+"-04-01","Y-m-d");c.endDate=new Date.parseDate(b+"-06-30","Y-m-d");break;case 3:c.startDate=new Date.parseDate(b+"-07-01","Y-m-d");c.endDate=new Date.parseDate(b+"-09-30","Y-m-d");break;case 4:c.startDate=new Date.parseDate(b+"-10-01","Y-m-d");c.endDate=new Date.parseDate(b+"-12-31","Y-m-d");break}c.number=(b-1969)*4+a;c.numberInYear=a;return c}function dateInsideTimeInterval(k,c,b){var g;if(b!==undefined){g=b}else{if(k.length==4){g="year"}else{if(k.search(/^\d{4}-\d{2}-\d{2}$/)!==-1){g="day"}else{if(k.length==7&&k.charAt(5)=="Q"){g="quarter"}else{if(k.length==7&&k.charAt(4)=="-"){g="month"}else{if(k.search(/^\d{6}$/)!==-1){g="week"}}}}}}var h,e;if(c.timeintervals.day!==undefined){h=c.timeintervals.day.timeinterval_values;e="Y-m-d"}else{h=c.timeintervals.month.timeinterval_values;e="Y-m"}var a,d;switch(g){case"day":case"week":return Date.parseDate(k,"Y-m-d");case"quarter":k=getQuarterDataFromRequestValue(k).startDate.format("Y");return Date.parseDate(h.filter(function(n,l,o){return n.search(k)===0})[0],e);case"month":case"year":return Date.parseDate(h.filter(function(n,l,o){return n.search(k)===0})[0],e);default:return new Date()}}function getQuarterDataFromDate(b){var a=new Date(b);var d=a.getMonth();var c=[];if(d<3){c.startDate=new Date(a.format("Y"),0,1);c.endDate=new Date(a.format("Y"),2,31);c.value=a.format("Y-")+"Q1";return c}if(d<6){c.startDate=new Date(a.format("Y"),3,1);c.endDate=new Date(a.format("Y"),5,30);c.value=a.format("Y-")+"Q2";return c}if(d<9){c.startDate=new Date(a.format("Y"),6,1);c.endDate=new Date(a.format("Y"),8,30);c.value=a.format("Y-")+"Q3";return c}c.startDate=new Date(a.format("Y"),9,1);c.endDate=new Date(a.format("Y"),11,31);c.value=a.format("Y-")+"Q4";return c}function dateRange(b,a){var e=new Date(b);switch(a){case"day":return e.format("Y-m-d");case"week":return getWeekFirstDay(b).format("Y-m-d")+" to "+getWeekLastDay(b).format("Y-m-d");case"month":return e.format("Y-m-01")+" to "+e.format("Y-m-")+e.getLastDateOfMonth().format("d");case"quarter":var c=getQuarterDataFromDate(e);return c.startDate.format("Y-m-01")+" to "+c.endDate.format("Y-m-d");case"year":return e.format("Y-01-01")+" to "+e.format("Y-12-31")}}function generateUrlDateValue(b,a){switch(a){case"day":case"week":return b.format("Y-m-d");case"month":return b.format("Y-m");case"quarter":return getQuarterDataFromDate(b).value;case"year":return b.format("Y")}}function minDate(a){var b=a.timeinterval_values;switch(a.timeinterval_id){case"day":return Date.parseDate(b[0],"Y-m-d");case"week":return getWeekFirstDay(Date.parseDate(b[0],"Y-m-d"));case"month":return Date.parseDate(b[0]+"-01","Y-m-d");case"quarter":return getQuarterDataFromRequestValue(b[0]).startDate;case"year":return Date.parseDate(b[0]+"-01-01","Y-m-d")}}function maxDate(a){var b=a.timeinterval_values;switch(a.timeinterval_id){case"day":return Date.parseDate(b[b.length-1],"Y-m-d");case"week":return getWeekLastDay(Date.parseDate(b[b.length-1],"Y-m-d"));case"month":return Date.parseDate(b[b.length-1],"Y-m").getLastDateOfMonth();case"quarter":return new Date(getQuarterDataFromRequestValue(b[b.length-1]).endDate);case"year":return Date.parseDate(b[b.length-1]+"-12-31","Y-m-d")}}function disableDates(p){var e=p.timeinterval_values;var h=[];var c,d,r,g;switch(p.timeinterval_id){case"day":c=Date.parseDate(e[0],"Y-m-d");d=Date.parseDate(e[e.length-1],"Y-m-d");r=(d-c)/(1000*60*60*24);for(g=1;g<r-1;++g){c=c.add(Date.DAY,1);if(!e.exists(c.format("Y-m-d"))){h.push(c.format("m/d/Y"))}}break;case"week":c=Date.parseDate(e[0],"Y-m-d");d=Date.parseDate(e[e.length-1],"Y-m-d");r=(d-c)/(1000*60*60*24);for(g=1;g<r-1;g+=7){if(!e.exists(c.format("Y-m-d"))){var l=new Date(c);for(var n=0;n<7;++n){h.push(l.format("m/d/Y"));l=l.add(Date.DAY,1)}}c=c.add(Date.DAY,7)}break;case"month":c=Date.parseDate(e[0],"Y-m");d=Date.parseDate(e[e.length-1],"Y-m");var b=(d.getFullYear()-c.getFullYear())*12+d.getMonth()-c.getMonth()+1;for(g=1;g<b-1;++g){c=c.add(Date.MONTH,1);if(!e.exists(c.format("Y-m"))){h.push(c.format("m/../Y"))}}break;case"quarter":var o=getQuarterDataFromRequestValue(e[0]);c=new Date(o.startDate);var a=getQuarterDataFromRequestValue(e[e.length-1]).number-o.number+1;var q;for(g=0;g<a-2;++g){c=c.add(Date.MONTH,3);q=((g+o.numberInYear)%4+1);if(!e.exists(c.format("Y-Q")+q.toString())){m=q*3-2;for(j=0;j<3;++j){if(m<10){monthString="0"+m.toString()}else{monthString=m.toString()}h.push(monthString+c.format("/../Y"));m++}}}break;case"year":c=Date.parseDate(e[0],"Y");d=Date.parseDate(e[e.length-1],"Y");var k=d.getFullYear()-c.getFullYear()+1;for(g=1;g<k-1;++g){c=c.add(Date.YEAR,1);if(!e.exists(c.format("Y"))){h.push(c.format("../../Y"))}}break}if(h.length===0){h.push("01/01/1970")}return h}function ltrim(a,b){b=b||"\\s";return a.replace(new RegExp("^["+b+"]+","g"),"")}function urlHourValueFormatter(a){a=a.substr(0,2);return(a=="00")?"0":ltrim(a,"0")}function getTimePeriodBeginByTimeIntervalData(b,a){var c=b===getEnum("QUARTER")?a[getEnum("MONTH")][getEnum("TIMEINTERVAL_VALUES")][0]:a[b][getEnum("TIMEINTERVAL_VALUES")][0];switch(b){case"day":return c;case"week":return getWeekFirstDay(Date.parseDate(c,"Y-m-d")).format("Y-m-d");case"month":return Date.parseDate(c+"-01","Y-m-d").format("Y-m");case"quarter":return getQuarterDataFromDate(Date.parseDate(c+"-01","Y-m-d")).value;default:return Date.parseDate(c+"-01-01","Y-m-d").format("Y")}}function generateDateValueFromRange(a,b){var c=a.split(" ",1)[0];if(Ext.isEmpty(c)){c=new Date()}else{c=Date.parseDate(c,"Y-m-d")}return generateUrlDateValue(c,b)}Ext.ux.XfFieldSet=Ext.extend(Ext.form.FieldSet,{border:false,autoHeight:true});Ext.reg("xffieldset",Ext.ux.XfFieldSet);Ext.ux.FlashPlugin=function(){this.init=function(a){a.flashTemplate=new Ext.XTemplate("<div>",'<object id="flash-{id}" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="{swfWidth}" height="{swfHeight}">','<param name="movie" value="{swf}" />','<param name="quality" value="high" />','<param name="wmode" value="transparent" />','<param name="flashvars" value="{computedflashvars}" />','<param name="allowScriptAccess" value="domain" />','<param name="align" value="t" />','<param name="salign" value="TL" />','<param name="swliveconnect" value="true" />','<param name="scale" value="showall" />','<embed name="flash-{id}" src="{swf}" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="{computedflashvars}" type="application/x-shockwave-flash" width="{swfWidth}" height="{swfHeight}" wmode="transparent" allowScriptAccess="always" swliveconnect="true" align="t" salign="TL" scale="showall"></embed>',"</object>","</div>");a.flashTemplate.compile();a.renderFlash=function(){if(this.flashvars&&(typeof this.flashvars=="object")){var b=Ext.apply({},this.flashvars);for(var c in b){if(typeof b[c]=="function"){b[c]=b[c].call(this,true)}}this.computedflashvars=Ext.urlEncode(b)}this.swfHeight=this.body.getSize().height-2;this.swfWidth=this.body.getSize().width-2;if(this.body.first()){this.flashTemplate.overwrite(this.body.first(),this)}else{this.flashTemplate.insertFirst(this.body,this)}};a.loadFlash=function(b){Ext.apply(this,b);this.renderFlash()};a.on("afterlayout",a.renderFlash,a)}};Ext.ux.XfGridPanel=Ext.extend(Ext.grid.GridPanel,{initComponent:function(){Ext.apply(this,{collapsible:true,stateful:true,stateEvents:["collapse","expand"].concat(Ext.ux.XfGridPanel.superclass.stateEvents)});this.addListener("expand",function(){this.setHeight(this.height)});Ext.ux.XfGridPanel.superclass.initComponent.apply(this,arguments)},applyState:function(a){Ext.ux.XfGridPanel.superclass.applyState.call(this,a)},getState:function(){var a=Ext.ux.XfGridPanel.superclass.getState.call(this);a.collapsed=this.collapsed;return a}});Ext.reg("xfgrid",Ext.ux.XfGridPanel);var replace=[];function refreshGrid(b){var d=replace.refreshInterval;var c=function(){a(b)};setTimeout(c,d);function a(e){e.getStore().reload();setTimeout(c,d)}}Ext.ux.XfMainPanel=Ext.extend(Ext.Panel,{applyTo:"portal_data",id:"mainPanel",border:false,frame:false,bodyStyle:"margin: 0px 15px 0px 15px; background-color: transparent",defaults:{frame:true,draggable:false,layout:"fit",animCollapse:false}});Ext.reg("xfmainpanel",Ext.ux.XfMainPanel);function getColorForPercent(a){if(a>=90){color="red"}else{if(a>=70){color="orange"}else{color="green"}}return color}function getColorForExpirationDate(b){var a=new Date();a=Date.parseDate(a.format("Y-m-d"),"Y-m-d");b=Date.parseDate(b.substring(0,10),"Y-m-d");if(b&&b<=a.add(Date.DAY,7)){return"red"}if(b&&b.between(a,a.add(Date.DAY,30))){return"orange"}return"green"}function licenseUsagePercentageRenderer(d,e,a){if(disableTotalUsage){return Math.round(d)}var c=d/a.get(getEnum("LICENSE_TOTAL_COUNT"))*100;c=Math.round(c);var b=getColorForPercent(c);return'<span style="color:'+b+'">'+Math.round(d)+" ("+c+"%)</span>"}function expirationDateRenderer(b){var a="green";if(Date.parseDate(b,"Y-m-d")!==null){a=getColorForExpirationDate(b)}return'<span style="color:'+a+'; font-weight:bold">'+b+"</span>"}function expirationShortDateRenderer(b){var a=Date.parseDate(b,"Y-m-d H:i:s");if(a===undefined){a=Date.parseDate(b,"Y-m-d")}return expirationDateRenderer(a.format("Y-m-d"))}function dateWithoutSecondsRenderer(a){return Date.parseDate(a,"Y-m-d H:i:s").format("Y-m-d H:i")}function generateBar(b,a){b=Math.round(b);return'<div style="float:left; font-weight:bold; color:'+a+';">'+b+'%</div><div style="margin-left:35px; height:8px; padding-top:2px; padding-bottom:2px; border:1px dotted #cccccc;"><div style="background:'+a+"; width:"+b+'%; height:8px; float:left;"></div></div>'}function utililizationBarRenderer(a){return generateBar(a,getColorForPercent(a))}function serverStatusRenderer(c){var a="";var b="";switch(c){case"Up":a="color: green;";b="img/extjs/xf/up.png";break;case"Down":a="color: red;";b="img/extjs/xf/down.png";break;default:a="color: gray;";b="img/extjs/xf/unknown.png";break}return'<div style="text-align: left; padding-left: 10px; '+a+'"><img style="vertical-align: middle;" src="'+b+'"> '+c+"</div>"}function eventPriorityRenderer(c){var a="";var b="";var d="";switch(c){case"NOTICE":a="color: gray;";b="img/extjs/xf/notice.png";d="Notice";break;case"WARNING":a="color: orange;";b="img/extjs/xf/warning.png";d="Warning";break;case"ERROR":a="color: red;";b="img/extjs/xf/error.png";d="Error";break;default:a="color: gray;";b="img/extjs/xf/notice.png";break}return'<div style="text-align: left; padding-left:20px; '+a+'"><img style="vertical-align: middle; width:12px; padding-right:10px" src="'+b+'"> '+d+"</div>"}function wrapTextRenderer(a){return'<span style="white-space:normal !important;">'+a+"</span>"}function longFieldRenderer(a,c){if(typeof c==="undefined"){c=40}var b=a;if(a.length>c){b=a.substr(0,c)+"..."}return'<div ext:qtip="'+a+'">'+b+"</div>"}function roundedNumberRenderer(a){return Number(a).toFixed(2)}function percentageRenderer(a){return Math.round(a)+"%"}function megabyteRenderer(a){return a+" MB"}function unlimitedValueRenderer(a){if(parseInt(a,10)===2147483647){return translate("grid_value-unlimited")}return a}function lastUpdateRenderer(a,d,b){b=Ext.value(b,true);a=Date.parseDate(a,"Y-m-d H:i:s");var c=new Date();var e=a.getElapsed(c);if(a<c){e=-e}return function(l){var h=Date.parseDate(l,"Y-m-d H:i:s");var g=new Date().add(Date.MILLI,e);var k=h.format("Y-m-d H:i");if(b){if(h.getElapsed(g)/1000>d){return'<span class="expired_date">'+k+"</span>"}return'<span class="unexpired_date">'+k+"</span>"}return k}}Ext.ux.XfWindow=Ext.extend(Ext.Window,{layout:"fit",modal:true,initHidden:false});Ext.reg("xfwindow",Ext.ux.XfWindow);Ext.ns("Ext.ux.button");Ext.ux.button.Converter=Ext.extend(Ext.Button,{converterUrl:null,setConverterUrl:function(a){this.converterUrl=a},constructor:function(a){this.setConverterUrl(a.converterUrl);var c=function(d){return function(e){location.href=d.converterUrl[e.text.toLowerCase()]}};var b=[{text:"converter-csv",id:"converter-csv-item"},{text:"converter-excel",id:"converter-excel-item",disabledInfo:"converter-disabled_info"},{text:"converter-pdf",id:"converter-pdf-item",disabledInfo:"converter-disabled_info"},{text:"converter-sql",id:"converter-sql-item"}];Ext.ux.button.Converter.superclass.constructor.call(this,Ext.apply(a,{text:translate("button_save_as"),iconCls:"xf-save-menu-button",menu:new Ext.menu.Menu({items:Xf_Button_Menu_ItemsCollectionFactory.get(Ext.value(a.menuItems,b),c(this))})}))}});Ext.reg("xfbutton-converter",Ext.ux.button.Converter);Ext.ux.grid.Paging=Ext.extend(Ext.ux.XfGridPanel,{converterButton:null,getConverterButton:function(){return this.converterButton},getPagingToolbar:function(){return this.pagingToolbar},constructor:function(a){this.pagingToolbar=new Ext.PagingToolbar({displayInfo:true,displayMsg:translate("grid_bbar-default_rows_range"),emptyMsg:translate("no_data_to_display"),pageSize:Ext.value(a.pageSize,50),plugins:[new Ext.ux.plugin.PagingToolbarResizer({options:[20,50,100,500,1000],displayText:""})],store:a.store});var b=[this.pagingToolbar,{xtype:"tbseparator"}];if(!Ext.isEmpty(a.converterUrl)){this.converterButton=new Ext.ux.button.Converter({converterUrl:a.converterUrl});b.push(this.converterButton)}Ext.ux.grid.Paging.superclass.constructor.call(this,Ext.applyIf(a,{anchor:"100%",animCollapse:false,bbar:[b],disableSelection:false,draggable:false,frame:true,height:600,loadMask:true,plugins:[new Ext.ux.grid.GridFilters({encode:false,local:false})],stripeRows:true,titleCollapse:true,trackMouseOver:true,viewConfig:{forceFit:true}}))}});Ext.reg("xfgrid-paging",Ext.ux.grid.Paging);Ext.ux.grid.Stateful=Ext.extend(Ext.grid.GridPanel,{constructor:function(a){if(!Ext.isDefined(a.translator)){a.translator=XfApp.getTranslator()}if(!Ext.isDefined(a.user)){a.user=XfApp.getUser()}var c=new Ext.ux.plugin.PagingToolbarResizer({options:[20,50,100,500,1000],displayText:""});this.pagingToolbar=new Ext.PagingToolbar({pageSize:20,store:a.store,displayInfo:true,displayMsg:"Rows {0} - {1} of {2}",emptyMsg:"No data to display",plugins:[c],stateId:a.stateId+"pt",stateful:true,stateEvents:["change"],getState:function(){return{pageSize:this.pageSize}},applyState:function(d){if(d.pageSize){this.pageSize=d.pageSize;c.combobox.setValue(this.pageSize)}}});var b=[this.pagingToolbar,{xtype:"tbseparator"},{text:a.translator._("button-save_as"),iconCls:"xf-save-menu-button",menu:[{text:a.translator._("converter-csv"),handler:function(){location.href=a.converterUrl.csv}},{text:a.translator._("converter-excel"),handler:function(){location.href=a.converterUrl.excel}},{text:a.translator._("converter-pdf"),handler:function(){location.href=a.converterUrl.pdf}},{text:a.translator._("converter-sql"),handler:function(){location.href=a.converterUrl.sql}}]}];a.bbar=(a.bbar!==undefined)?a.bbar.concat(b):b;a=Ext.apply({collapsible:true,animCollapse:false,titleCollapse:true,stateful:true,stateEvents:["collapse","expand"].concat(Ext.ux.XfGridPanel.superclass.stateEvents),height:515,loadMask:true,trackMouseOver:true,disableSelection:false,stripeRows:true,viewConfig:{forceFit:true}},a);Ext.ux.XfGridPanel.superclass.constructor.call(this,a);this.addListener("expand",function(){this.setHeight(this.height)});this.addListener("viewready",function(d){d.store.load.defer(10,d.store,[{params:{start:0,limit:d.pagingToolbar.pageSize}}])})},applyState:function(a){Ext.ux.XfGridPanel.superclass.applyState.call(this,a)},getState:function(){var a=Ext.ux.XfGridPanel.superclass.getState.call(this);a.collapsed=this.collapsed;return a}});Ext.reg("xfgrid-stateful",Ext.ux.grid.Stateful);Xf_Form_TextField_Abstract=Ext.extend(Ext.form.TextField,{constructor:function(a){Xf_Form_TextField_Abstract.superclass.constructor.call(this,Ext.apply(a,{disabledClass:"xf_item_disabled"}))},isValid:function(a){if(this.activeError){return false}return Xf_Form_TextField_Abstract.superclass.isValid.call(this,a)}});Ext.reg("xfformtextfieldabstract",Xf_Form_TextField_Abstract);Xf_Grid_ActionColumn=Ext.extend(Ext.grid.ActionColumn,{constructor:function(a){a=a||{};Xf_Grid_ActionColumn.superclass.constructor.call(this,Ext.applyIf(a,{header:translate("column_header-action"),width:80,sortable:false,hideable:false,align:"center"}))}});Xf_Toolbar_Bottom=Ext.extend(Ext.Toolbar,{constructor:function(a){a=a||{};Xf_Toolbar_Bottom.superclass.constructor.call(this,Ext.applyIf(a,{items:[new Xf_Toolbar_Paging({store:a.store}),{xtype:"tbseparator"},{text:"Save As",iconCls:"xf-save-menu-button",menu:a.exporter}]}))}});Xf_Form_Checkbox=Ext.extend(Ext.form.Checkbox,{constructor:function(a){a=a||{};Xf_Form_ComboBox.superclass.constructor.call(this,Ext.apply(a,{disabledClass:"xf_item_disabled"}))},isValid:function(a){if(this.activeError){return false}return Xf_Form_Checkbox.superclass.isValid.call(this,a)}});Ext.reg("xfformcheckbox",Xf_Form_Checkbox);Xf_Plugin_Button_Close=function(a){return{init:function(b){b.on({click:function(c,d){c.findParentByType(a).close()}})}}};Xf_Grid_ColumnModel=Ext.extend(Ext.grid.ColumnModel,{constructor:function(a){a=a||{};Xf_Grid_ColumnModel.superclass.constructor.call(this,Ext.applyIf(a,{defaults:{sortable:true}}))}});Xf_Form_ComboBox=Ext.extend(Ext.form.ComboBox,{constructor:function(a){a=a||{};Xf_Form_ComboBox.superclass.constructor.call(this,Ext.applyIf(a,{triggerAction:"all",editable:false,forceSelection:true,disabledClass:"xf_item_disabled"}))}});Xf_DateColumn=Ext.extend(Ext.grid.Column,{constructor:function(a){a=a||{};Xf_DateColumn.superclass.constructor.call(this,Ext.applyIf(a,{renderer:function(b){return b?dateWithoutSecondsRenderer(b):""},filter:{type:"string"},align:"center"}))}});DateFormatTextField=Ext.extend(Ext.form.TextField,{dateFormat:function(){if(Ext.isDate(Date.parseDate(this.value,"Y-m-d H:i:s"))){this.setValue(dateWithoutSecondsRenderer(this.value))}}});Xf_Plugin_ComboBox_DefaultValueHelper=function(d){var a={};var c=function(){return a};var b=function(){return d.value};var e=function(g){return function(h){h.insert(0,new h.recordType(c()));g.setValue(b())}};if(Ext.isEmpty(d.recordDefinition)){if(Ext.isEmpty(d.recordId)){a[getEnum(d.recordIdKey)]=""}else{a[getEnum(d.recordIdKey)]=d.recordId}a[getEnum(d.recordValueKey)]=translate(d.recordValue)}else{a=d.recordDefinition}if(Ext.isEmpty(d.value)){d.value=0}return{init:function(g){g.getStore().on({beforeload:e(g),load:e(g)})}}};Xf_Grid_ActionColumn_Item_Delete=function(a){a=a||{};Xf_Grid_ActionColumn_Item_Delete.prototype=new Xf_Grid_ActionColumn_Item();return Xf_Grid_ActionColumn_Item_Delete.prototype.constructor.call(this,Ext.applyIf(a,{icon:"/img/extjs/xf/delete.png",tooltip:translate("button_delete")}))};Xf_Plugin_Grid_ActionColumn_Delete=function(k,l,e,h){var a=getEnum(k);var c=getEnum(l);var g=translate(e);var n=h;var p=null;function b(r,s){p=r.getStore().getAt(s)}function q(){return p}function d(){n.params=n.params||{};n.params[a]=q().get(a);return n}function o(){return g.replace("%value%",q().get(c))}return{init:function(r,s){b(r,s);Ext.MessageBox.confirm("Confirm",o(),function(t){if(t==="yes"){Xf_Ajax_Request(d())}})}}};Xf_Plugin_Form_Field_DisableFields=function(c){var d=c;var b=function(e){if(e.getValue()===d.triggerValue){a(d.disabled)}else{a(!d.disabled)}};var a=function(g){for(var e in d.items){if(typeof(d.items[e])==="object"){d.items[e].setDisabled(g)}}};return{init:function(e){e.addListener(d.eventName,b)}}};Xf_Grid_ActionColumn_Item_Edit=function(a){a=a||{};Xf_Grid_ActionColumn_Item_Edit.prototype=new Xf_Grid_ActionColumn_Item();return Xf_Grid_ActionColumn_Item_Edit.prototype.constructor.call(this,Ext.applyIf(a,{icon:"/img/extjs/xf/edit.png",tooltip:translate("button_edit")}))};function Xf_View_Helper_EnumTranslate(b,a,c){return translate(b+"_enum-"+a+"_"+c)}Xf_Form_ExceptionHandler=function(b){b=b||{};var a=function(c){Ext.Msg.show({msg:c,title:translate("dialog_title-warning"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK})};return function(c,d){if(d.response.isTimeout===true){Ext.Msg.show(b.timeout)}else{a(d.response.statusText)}}};Xf_Plugin_Store_ExceptionHandler=function(c){var b=function(k,l,n,h,e,d){var g=a(l,e);if(!Ext.isEmpty(g)){Ext.Msg.show(a(l,e))}};var a=function(e,d){if(e==="response"){if(Ext.isEmpty(d)||d.isTimeout===true){return c.timeout}if(d.status===200){return c.sessionExpired}}if(e==="remote"){c.failure.msg=d.raw.msg;return c.failure}return c.timeout};return{exception:b}};Xf_Plugin_Button_ExportMenuRefresher=function(a){var b=function(c){return function(d){var e=d.getTotalCount()>a.maxRowsToExport;for(var g in a.controlledItems){if(Ext.isString(a.controlledItems[g])){var h=c.menu.findById(a.controlledItems[g]);if(!Ext.isEmpty(h)){h.setDisabled(e)}}}}};return{init:function(c){a.store.on({load:b(c)})}}};Xf_Form_Field_Factory=function(){return{create:function(b,a){switch(b){case"textfield":return new Xf_Form_TextField(a);case"textarea":return new Xf_Form_TextArea(a);default:return}}}}();function Xf_Grid_Column_Factory(){}Xf_Grid_Column_Factory.get=function(c,b,a){if(Ext.isEmpty(a)){a={filter:{type:"string"}}}a.header=translate(c);a.dataIndex=getEnum(b);return new Ext.grid.Column(a)};Xf_Controller_Helper_FailureHandler=function(){var d=false;var b=false;function c(){b=false;d=false}function h(k){d=k?k:false}function a(k){if(k){b=k.msg?k.msg:translate("message-unknown_failure")}else{b=translate("message-unknown_failure")}}function g(){if(b){Ext.Msg.show({title:translate("message-failure"),msg:b,buttons:Ext.Msg.OK,icon:Ext.MessageBox.ERROR});if(d&&d.close){d.close()}}}function e(k){return k.logout!==undefined&&k.logout===true}return{init:function(){},execute:function(k,l){c();h(l);if(k){if(e(k)===true){Xf_Message_Box_SessionExpired.show()}else{if((k.success===false&&k.msg)||k.success===undefined){a(k)}}}else{a()}g()},isLoginPage:e}}();Ext.onReady(Xf_Controller_Helper_FailureHandler.init,Xf_Controller_Helper_FailureHandler);Xf_FieldSet=Ext.extend(Ext.form.FieldSet,{constructor:function(a){a=a||{};Xf_FieldSet.superclass.constructor.call(this,Ext.applyIf(a,{autoHeight:true,labelAlign:"right",labelPad:10,labelWidth:140,defaults:{anchor:"100%",msgTarget:"under"}}))}});Xf_Form_FileUploadField=Ext.extend(Ext.ux.form.FileUploadField,{constructor:function(a){a=a||{};Xf_Form_FileUploadField.superclass.constructor.call(this,Ext.applyIf(a,{disabledClass:"xf_item_disabled"}))}});Xf_Plugin_Grid_Filters=Ext.extend(Ext.ux.grid.GridFilters,{constructor:function(a){a=a||{};Xf_Plugin_Grid_Filters.superclass.constructor.call(this,Ext.applyIf(a,{encode:false,local:false}))}});Xf_Plugin_ComboBox_FirstValueHelper=function(a){return{init:function(b){b.getStore().on({load:function(d,c){if(c.length>0){b.setValue(d.getAt(0).get(getEnum(a.recordIdKey)))}}})}}};Xf_Panel_Form=Ext.extend(Ext.form.FormPanel,{constructor:function(a){a=a||{};Xf_Panel_Form.superclass.constructor.call(this,Ext.applyIf(a,{animCollapse:false,autoHeight:true,border:false,layout:"form",buttonAlign:"center",monitorValid:true,bodyCssClass:"xf-mainPanel",labelAlign:"right",labelPad:10,defaults:{msgTarget:"under",anchor:"100%"}}))}});Ext.reg("xfpanelform",Xf_Panel_Form);Xf_GridPanel=Ext.extend(Ext.grid.GridPanel,{constructor:function(a){a=a||{};Xf_GridPanel.superclass.constructor.call(this,Ext.applyIf(a,{height:525,loadMask:true,trackMouseOver:true,region:"center",disableSelection:false,stateful:true,stripeRows:true,plugins:[new Ext.ux.grid.GridFilters({encode:false,local:false})],viewConfig:{forceFit:true}}))}});Xf_Grid_ActionColumn_Item_Hide=function(a){a=a||{};Xf_Grid_ActionColumn_Item_Hide.prototype=new Xf_Grid_ActionColumn_Item();return Xf_Grid_ActionColumn_Item_Hide.prototype.constructor.call(this,Ext.applyIf(a,{icon:"/img/extjs/xf/hide.png",tooltip:translate("button_hide")}))};Xf_Validate_Integer=function(b){b=b||{};var d={NOT_INT:'"%value%" does not appear to be an integer',NEGATIVE_NUMBER:'"%value%" must be greater or equal to zero',ZERO:'"%value%" must be greater than zero'};var c=b.zeroAllowed||false;var o=b.negativeNumbersAllowed||false;var l;var g;var k=function(q){g=parseInt(q,10)};var e=function(){return g};var h=function(q){if(isNaN(e())||(q.toString()!==e().toString())){l=d.NOT_INT;return false}return true};var p=function(){if(c===false&&e()<=0){l=d.ZERO;return false}if(o===false&&e()<0){l=d.NEGATIVE_NUMBER;return false}return true};var n=function(q){return l.replace("%value%",q)};var a=function(q){k(q);if(h(q)&&p(q)){return true}return n(q)};return a};Xf_Grid_ActionColumn_Item=function(a){a=a||{};this.constructor=function(d){var b=Ext.isEmpty(d.plugins)?d.handler:d.plugins.init;var c=Ext.isEmpty(d.getClass)?Ext.emptyFn:d.getClass;return{icon:d.icon,tooltip:d.tooltip,handler:b,getClass:c}}};function Xf_Button_Menu_ItemsCollectionFactory(){}Xf_Button_Menu_ItemsCollectionFactory.get=function(c,d){var a=[];for(var b in c){if(Ext.isObject(c[b])){a.push(new Ext.menu.Item({id:c[b].id,text:translate(c[b].text),plugins:Ext.isEmpty(c[b].disabledInfo)?[]:[new Xf_Plugin_Button_Menu_Item_ToolTipSetter({disabledInfo:translate(c[b].disabledInfo)})],handler:d}))}}return a};Xf_Grid_Store_Json=Ext.extend(Ext.data.JsonStore,{constructor:function(a){a=a||{};Xf_Grid_Store_Json.superclass.constructor.call(this,Ext.applyIf(a,{totalProperty:"totalCount",idProperty:"id",remoteSort:true,autoLoad:{params:{start:0,limit:20}},proxy:new Ext.data.ScriptTagProxy({url:a.gridStoreUrl})}))}});Xf_Action_LoadWithSessionCheck=function(b,a){a=a||{};a.waitMsg=translate("message-please_wait");Xf_Action_LoadWithSessionCheck.superclass.constructor.call(this,b,a)};Ext.extend(Xf_Action_LoadWithSessionCheck,Ext.form.Action.Load,{handleResponse:function(a){if(Xf_Controller_Helper_FailureHandler.isLoginPage(a.responseText)){Xf_Controller_Helper_FailureHandler.execute(a.responseText)}return Xf_Action_LoadWithSessionCheck.superclass.handleResponse.call(this,a)}});Xf_Button_Menu=Ext.extend(Ext.Button,{constructor:function(a){a=a||{};Xf_Button_Menu.superclass.constructor.call(this,Ext.applyIf(a,{width:150,cls:"xf-menuButton"}))}});Xf_Panel_Menu=Ext.extend(Ext.Panel,{constructor:function(a){a=a||{};Xf_Panel_Menu.superclass.constructor.call(this,Ext.applyIf(a,{title:translate("panel_title-menu"),width:200,region:"west",collapsible:true,collapsed:false,titleCollapse:true,buttonAlign:"center"}))}});function createObjectFromArray(c){var a={};for(var b=0;b<c.length;b++){a[c[b]]=""}return a}Xf_Toolbar_Paging=Ext.extend(Ext.PagingToolbar,{constructor:function(a){a=a||{};Xf_Toolbar_Paging.superclass.constructor.call(this,Ext.applyIf(a,{pageSize:20,displayInfo:true,displayMsg:translate("grid_bbar-default_rows_range"),emptyMsg:translate("message-no_data_to_display"),plugins:[new Ext.ux.plugin.PagingToolbarResizer({options:[20,50,100,500,1000],displayText:""})]}))}});Xf_Panel=Ext.extend(Ext.Panel,{constructor:function(a){a=a||{};Xf_Panel.superclass.constructor.call(this,Ext.applyIf(a,{title:"",monitorResize:true,height:600,layout:"border",cls:"",border:false,bodyCssClass:"xf-mainPanel"}))}});Xf_Params=function(){var a={};var b=function(d,c){return typeof d==="undefined"?c:d};return{setParam:function(d,e,c){if(a[d]==="undefined"||b(c,true)){a[d]=e}return this},setParams:function(c){var e=c||{};for(var d in e){if(Ext.isString(d)){this.setParam(d,e[d])}}return this},getParam:function(d,c){return b(a[d],b(c,null))},getParams:function(){return a}}};Xf_Form_PasswordField=Ext.extend(Xf_Form_TextField_Abstract,{constructor:function(a){Xf_Form_PasswordField.superclass.constructor.call(this,Ext.apply(a,{inputType:"password",allowBlank:false,name:getEnum(a.name),fieldLabel:translate(a.fieldLabel)}))}});Ext.reg("xfformpasswordfield",Xf_Form_PasswordField);Xf_Plugin_Grid_Refresher=function(b){var a=function(d){return function(){d.getStore().reload();setTimeout(a(d),b.timeout)}};var c=function(d){setTimeout(a(d),b.timeout)};return{init:function(d){d.on({render:c})}}};Xf_Ajax_Request=function(a){a=a||{};a.success=function(b,c){var d=Ext.decode(b.responseText);if(d.success===true){a.successHandler(d,b,c)}else{Xf_Controller_Helper_FailureHandler.execute(d)}};return Ext.Ajax.request(Ext.applyIf(a,{method:"post",waitMsg:translate("message-please_wait"),failure:Xf_Controller_Helper_FailureHandler.execute}))};Xf_Message_Box_SessionExpired=function(){var c=translate("message-failure");var b=translate("message-session_expired");function a(){window.location.href="login"}return{init:function(){},show:function(){Ext.Msg.show({title:c,msg:b,width:300,buttons:Ext.Msg.OK,fn:a,icon:Ext.MessageBox.INFO})}}}();Ext.onReady(Xf_Message_Box_SessionExpired.init,Xf_Message_Box_SessionExpired);Xf_Message_Slider=function(){var b;function a(c,d){return['<div class="msg">','<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>','<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>',c,"</h3>",d,"</div></div></div>",'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',"</div>"].join("")}return{msg:function(g,e){if(!b){b=Ext.DomHelper.insertFirst(document.body,{id:"msg-div"},true)}b.alignTo(document,"t-t");var d=String.format.apply(String,Array.prototype.slice.call(arguments,1));var c=Ext.DomHelper.append(b,{html:a(g,d)},true);c.slideIn("t").pause(3).ghost("t",{remove:true})},init:function(){var c=Ext.get("lib-bar");if(c){c.show()}}}}();Ext.onReady(Xf_Message_Slider.init,Xf_Message_Slider);Xf_Spacer=Ext.extend(Ext.Spacer,{constructor:function(a){a=a||{};Xf_Spacer.superclass.constructor.call(this,Ext.applyIf(a,{height:20}))}});Xf_Action_SubmitWithSessionCheck=function(b,a){a=a||{};a.waitMsg=translate("message-please_wait");Xf_Action_SubmitWithSessionCheck.superclass.constructor.call(this,b,a)};Ext.extend(Xf_Action_SubmitWithSessionCheck,Ext.form.Action.Submit,{handleResponse:function(a){if(Xf_Controller_Helper_FailureHandler.isLoginPage(a.responseText)){Xf_Controller_Helper_FailureHandler.execute(a.responseText)}return Xf_Action_SubmitWithSessionCheck.superclass.handleResponse.call(this,a)}});Xf_Panel_Tab=Ext.extend(Ext.Panel,{constructor:function(a){a=a||{};Xf_Panel_Tab.superclass.constructor.call(this,Ext.applyIf(a,{height:190,layout:"border",cls:"",border:false,bodyCssClass:"xf-mainPanel"}))}});Xf_TabPanel=Ext.extend(Ext.TabPanel,{constructor:function(a){a=a||{};Xf_TabPanel.superclass.constructor.call(this,Ext.applyIf(a,{activeTab:0}))}});Xf_Form_TextArea=Ext.extend(Ext.form.TextArea,{constructor:function(a){Xf_Form_TextArea.superclass.constructor.call(this,Ext.apply(a,{name:getEnum(a.name),fieldLabel:translate(a.fieldLabel)}))}});Ext.reg("xfformtextarea",Xf_Form_TextArea);Xf_Form_TextField=Ext.extend(Xf_Form_TextField_Abstract,{constructor:function(a){Xf_Form_TextField.superclass.constructor.call(this,Ext.apply(a,{name:getEnum(a.name),fieldLabel:translate(a.fieldLabel)}))}});Ext.reg("xfformtextfield",Xf_Form_TextField);Xf_Form_TimeField=Ext.extend(Ext.form.TimeField,{constructor:function(a){Xf_Form_TimeField.superclass.constructor.call(this,Ext.apply(a,{format:"H:i",increment:1,editable:false}))}});Xf_View_Helper_Toggle=function(a,c){var b=Ext.getDom(a);var d=Ext.getDom(c);b.style.display="block";d.style.display="none";return{toggle:function(){if(b.style.display==="block"){b.style.display="none";d.style.display="block"}else{b.style.display="block";d.style.display="none"}}}};Xf_Plugin_Button_Menu_Item_ToolTipSetter=function(a){var b=function(c){if(c.disabled===true){var d=new Ext.ToolTip({target:c.id,html:a.disabledInfo})}};return{init:function(c){c.on({afterrender:b})}}};Xf_Message_Box_Wait={show:function(){Ext.MessageBox.wait(translate("message-please_wait"),translate("window_title-wait"))},hide:function(){Ext.MessageBox.hide()}};Xf_Window=Ext.extend(Ext.ux.XfWindow,{constructor:function(a){a=a||{};Xf_Window.superclass.constructor.call(this,Ext.applyIf(a,{layout:"border",defaults:{region:"center"}}))}});Xf_Button_WithController=Ext.extend(Ext.Button,{constructor:function(a){Xf_Button_WithController.superclass.constructor.call(this,a)}});MultipleElementsPanel=Ext.extend(Ext.form.FormPanel,{frame:false,autoHeight:true,layout:"column",defaults:{layout:"form",columnWidth:0.5},collapsible:true,titleCollapse:true,collapseFirst:false,buttonAlign:"center",getColumn2ValuesAsString:function(){var c=this.items.last().items;var a="";for(var b=0;b<c.length;++b){a+=c.get(b).getValue()+","}return a.substring(0,a.length-1)},addRow:function(c){var b=this.items.getCount();if(c.length<b){b=c.length}for(var a=0;a<b;++a){this.items.itemAt(a).items.addAll([c[a]])}},removeRow:function(){for(var a=this.items.getCount()-1;a>=0;--a){this.items.itemAt(a).remove(this.items.itemAt(a).items.last(),true)}},getRowCount:function(){return this.items.first().items.length},getColumn1:function(){return this.items.first().items},getColumn2:function(){return this.items.itemAt(1).items},getColumn:function(a){if(a>=this.items.getCount()){return this.items.last().items}if(a<0){return this.items.first().items}return this.items.itemAt(a).items},getElements:function(){var d=[];var c=this.items.getCount();for(var b=0;b<c;++b){for(var a=0;a<this.getColumn(b).getCount();++a){d.push(this.getColumn(b).itemAt(a))}}return d},constructor:function(a){MultipleElementsPanel.superclass.constructor.apply(this,arguments)}});Ext.reg("multiple-elements-panel",MultipleElementsPanel);var replace=[];ServersCombobox=Ext.extend(Ext.ux.XfComboBox,{constructor:function(a){ServersCombobox.superclass.constructor.call(this,Ext.apply(a,{fieldLabel:translate("license_server"),displayField:getEnum("SERVER_NAME"),valueField:getEnum("LICENSE_SERVER_ID"),autoSelect:false,allowBlank:false,disabled:true,tpl:'<tpl for="."><div class="x-combo-list-item">{'+getEnum("SERVER_NAME")+"}</div></tpl>",store:new Ext.data.JsonStore({autoLoad:{callback:function(b){return function(){if(!Ext.isEmpty(a.licenseServerId)){b.setValue(a.licenseServerId)}else{b.setValue(this.getAt(0).get(getEnum("LICENSE_SERVER_ID")))}if(!Ext.isDefined(a.redirectUrl)){b.fireEvent("select",b)}b.enable()}}(this)},totalProperty:"totalCount",root:"licenseServers",sortInfo:{field:getEnum("SERVER_NAME"),direction:"ASC"},fields:[getEnum("LICENSE_SERVER_ID"),getEnum("SERVER_NAME")],url:a.criteriaUrl})}));if(Ext.isDefined(a.redirectUrl)){this.addListener({select:function(b){window.location.href=a.redirectUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),b.getValue())}})}}});Ls_Window=Ext.extend(Xf_Window,{constructor:function(a){Ls_Window.superclass.constructor.call(this,Ext.applyIf(a,{width:570,height:370,autoHeight:false}))}});Ext.reg("lswindow",Ls_Window);Ls_Window_Form=Ext.extend(Ls_Window,{constructor:function(a){Ls_Window_Form.superclass.constructor.call(this,Ext.apply(a,{listeners:{show:function(){Xf_Message_Box_Wait.show()}}}))}});Ls_Panel_Main=Ext.extend(Xf_Panel,{constructor:function(a){a=a||{};Ls_Panel_Main.superclass.constructor.call(this,Ext.apply(a,{autoHeight:true,applyTo:"portal_data",layout:"fit",defaults:{frame:true,animCollapse:false}}))}});Ls_Panel_Form_Helper=function(){return{generateMessageBoxConfig:function(b,a,d,k,c,g,h,e){return{msg:translate(b).replace("%"+getEnum(d),c),actionUrl:g.replace("#"+getEnum(a),k),redirectUrl:h,refreshComponent:e}}}};Ls_Panel_Information=Ext.extend(Ext.Panel,{constructor:function(a){Ls_Panel_Information.superclass.constructor.call(this,Ext.apply(a,{collapsible:true,animCollapse:false,collapseFirst:false,title:translate("panel_information_licenses_title"),titleCollapse:true}))}});Ls_MessageBox_Confirm=function(){return{getStrategy:function(a){if(!Ext.isEmpty(a.redirectUrl)){return new Ls_Window_Form_Strategy_Redirect(a.redirectUrl)}return new Ls_Window_Form_Strategy_Refresh(a.refreshComponent)},show:function(a){Ext.Msg.show(Ext.applyIf(a,{title:translate("confirm"),icon:Ext.Msg.QUESTION,buttons:Ext.Msg.YESNO,fn:function(b){return function(c){if(c==="yes"){Xf_Message_Box_Wait.show();Ext.Ajax.request({method:"GET",url:a.actionUrl,success:b.getStrategy(a),timeout:600000})}}}(this)}))}}}();EmailSubscription_Store_FeatureEvent=Ext.extend(Xf_Grid_Store_Json,{constructor:function(a){EmailSubscription_Store_FeatureEvent.superclass.constructor.call(this,Ext.applyIf(a,{autoLoad:true,baseParams:{start:0,limit:50},sortInfo:{field:getEnum("FEATURE_NAME"),direction:"ASC"},fields:[getEnum("FEATUREEVENTSUBSCRIPTION_ID"),getEnum("LICENSE_SERVER_NAME"),getEnum("FEATURE_ID"),getEnum("FEATURE_NAME"),getEnum("VENDOR_NAME"),getEnum("FEATUREEVENT_BOUNARY_VALUE")],listeners:new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}})}));this.setBaseParam(getEnum("BASIC_SEARCH_PARAM")+getEnum("FEATUREEVENT_ID"),a.featureEventId)}});Grid_Report_UsagePerUser_ColumnModel_Abstract=Ext.extend(Ext.grid.ColumnModel,{constructor:function(a){Grid_Report_UsagePerUser_ColumnModel_Abstract.superclass.constructor.call(this,Ext.apply(a,{defaults:{sortable:true}}))}});Ls_Window_Form_Abstract=Ext.extend(Xf_Panel_Form,{getStrategy:function(a){if(!Ext.isEmpty(a.redirectUrl)&&Ext.isEmpty(a.refreshComponent)){return new Ls_Window_Form_Strategy_Redirect(a.redirectUrl)}return new Ls_Window_Form_Strategy_Refresh(a.refreshComponent)},constructor:function(a){Ls_Window_Form_Abstract.superclass.constructor.call(this,Ext.applyIf(a,{baseCls:"xf_dialog_form",bodyCssClass:"",labelWidth:150,border:false}))}});Ext.reg("lswindowformabstract",Ls_Window_Form_Abstract);LicenseServers_Grid_Activity=Ext.extend(Ext.ux.grid.Paging,function(){var a=function(g,c,e){var b={};for(var d in g){if(Ext.isString(g[d])){b[d]=g[d].replace("#"+getEnum("STORE_ID"),c);b[d]=b[d].replace("#"+getEnum("BASIC_SEARCH_PARAM")+getEnum("LICENSE_SERVER_ID"),e)}}return b};return{constructor:function(c){var d=LicenseServers_Grid_ColumnModel_Factory.get(c.licenseServerIsImported,c.licenseServerHasCurrentUsage,c.licenseServerHasTotalLicenses,c.storeId,c.phpNow,c.allowedInterval);var b=new Xf_Params();b.setParam(getEnum("STORE_ID"),c.storeId);b.setParam(getEnum("BASIC_SEARCH_PARAM")+getEnum("LICENSE_SERVER_ID"),c.licenseServerId);b.setParam("start",0);b.setParam("limit",50);LicenseServers_Grid_Activity.superclass.constructor.call(this,Ext.apply(c,{title:translate("grid_caption-license_server_features"),refreshInterval:c.refreshInterval,plugins:[new Xf_Plugin_Grid_Filters(),new Xf_Plugin_Grid_Refresher({timeout:c.refreshInterval})],colModel:new LicenseServers_Grid_ColumnModel({userIsAdmin:c.userIsAdmin,columns:d.columns}),converterUrl:a(c.converterUrl,c.storeId,c.licenseServerId),stateId:d.stateId,store:new LicenseServers_Store_Activity({gridStoreUrl:c.gridStoreUrl,baseParams:b.getParams()})}))}}}());LicenseServers_Store_Activity=Ext.extend(Xf_Grid_Store_Json,{constructor:function(a){LicenseServers_Store_Activity.superclass.constructor.call(this,Ext.apply(a,{autoLoad:true,fields:[getEnum("FEATURE_ID"),getEnum("FEATURE_NAME"),getEnum("FEATURE_DESCRIPTION"),{name:getEnum("LICENSE_USED"),type:"int"},{name:getEnum("LICENSE_BORROWED_COUNT"),type:"int"},{name:getEnum("LICENSE_TOTAL_COUNT"),type:"int"},getEnum("LICENSE_EXPIRATION_DATE"),{name:getEnum("LICENSE_DENIAL_TOTAL_COUNT"),type:"int"},getEnum("LICENSE_UTILIZATION"),getEnum("FEATURE_LAST_UPDATE")],listeners:Ext.apply(new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}}),new Plugin_Store_PopupCreator()),root:"usage",sortInfo:{field:getEnum("FEATURE_NAME"),direction:"ASC"}}))}});Plugin_Button_Alias_AddNew=function(a){return function(d){var c=a.grid.getStore();var b=new Xf_Params();b.setParam(getEnum("SERVERALIAS_ALIAS"),"");b.setParam(getEnum("SERVER_ID"),c.getAt(0).get(getEnum("SERVER_ID")));b.setParam(getEnum("SERVER_GATHERING_TYPE_ID"),c.getAt(0).get(getEnum("SERVER_GATHERING_TYPE_ID")));a.editor.stopEditing();c.insert(0,new c.recordType(b.getParams()));a.grid.getView().refresh();a.grid.getSelectionModel().selectRow(0);a.editor.startEditing(0)}};Features_Panel_AdvancedFiltering=Ext.extend(Xf_Panel_Form,{constructor:function(a){var c=new Ls_Form_DateField({fieldLabel:translate("date"),name:getEnum("COMPLEX_SEARCH_PARAM")+getEnum("SESSION_START_TIME"),plugins:[new Plugin_Form_DateField_GridRefresher({grid:a.grid,dateKey:getEnum("COMPLEX_SEARCH_PARAM")+getEnum("SESSION_START_TIME")}),new Plugin_Form_DateField_GridConfigurator({grid:a.grid,converterUrl:a.converterUrl})]});c.setAvailableDates(a.usageDates);var b=new Ls_Form_TimeField({name:getEnum("COMPLEX_SEARCH_PARAM")+getEnum("SESSION_HOUR"),disabled:true,value:"00:00"});var d=new Ext.form.Checkbox({fieldLabel:translate("select_label-at_time"),submitValue:false,plugins:[new Xf_Plugin_Form_Field_DisableFields({items:[b],triggerValue:false,disabled:true,eventName:"check"})]});Features_Panel_AdvancedFiltering.superclass.constructor.call(this,Ext.apply(a,{title:translate("panel_advanced_filtering_title"),collapsed:true,collapsible:true,titleCollapse:true,defaults:{msgTarget:"under"},items:[c,d,b],buttons:[new Ext.Button({text:translate("button_apply"),formBind:true,plugins:[new Plugin_Button_GridRefresher({form:this,grid:a.grid,resetParam:getEnum("COMPLEX_SEARCH_PARAM")+getEnum("SESSION_HOUR")}),new Plugin_Button_GridConfigurator({converterUrl:a.converterUrl,grid:a.grid,form:this,forceAppend:true})]})]}))}});Form_Report_AggregateByCombobox=Ext.extend(Ext.ux.XfComboBox,{constructor:function(a){Form_Report_AggregateByCombobox.superclass.constructor.call(this,Ext.apply(a,{id:"aggregateBy",name:"group",allowBlank:false,autoSelect:true,fieldLabel:translate("report-aggregate_label"),forceSelection:true,triggerAction:"all",editable:false,displayField:"name",valueField:"value",hiddenValue:"value",value:getEnum("AGGREGATE_BY_USERNAME"),store:new Ext.data.JsonStore({id:"aggregateByStore",fields:["name","value"],data:[{name:translate("report-aggregate_by-username"),value:getEnum("AGGREGATE_BY_USERNAME")},{name:translate("report-aggregate_by-hostname"),value:getEnum("AGGREGATE_BY_HOSTNAME")},{name:translate("report-aggregate_by-username_and_hostname"),value:getEnum("AGGREGATE_BY_USERNAME_AND_HOSTNAME")},{name:translate("report-aggregate_by-usergroup"),value:getEnum("AGGREGATE_BY_USERGROUP")},{name:translate("report-aggregate_by-hostgroup"),value:getEnum("AGGREGATE_BY_HOSTGROUP")}]})}))}});Grid_Report_UsagePerUser_ColumnModel_AggregateByHostgroup=Ext.extend(Grid_Report_UsagePerUser_ColumnModel_Abstract,{constructor:function(a){Grid_Report_UsagePerUser_ColumnModel_AggregateByHostgroup.superclass.constructor.call(this,Ext.apply(a,{columns:[new Ext.grid.RowNumberer(),{header:translate("grid_column_title-hostgroup_name"),dataIndex:getEnum("HOSTGROUP_NAME")},{header:translate("grid_column_title-feature"),dataIndex:getEnum("FEATURE_NAME_DISPLAYNAME")},{header:translate("grid_column_title-date"),dataIndex:getEnum("LICENSE_USAGE_DATE")},{header:translate("grid_column_title-utilization"),dataIndex:getEnum("LICENSE_HOURS_USED_PERCENT"),renderer:percentageRenderer},{header:translate("grid_column_title-used_hours"),dataIndex:getEnum("LICENSE_HOURS_USED"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-borrowed_hours"),dataIndex:getEnum("LICENSE_BORROWED_HOURS"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-max_used_licenses"),dataIndex:getEnum("LICENSE_USED_MAX")},{header:translate("grid_column_title-max_borrowed_licenses"),dataIndex:getEnum("LICENSE_BORROWED_MAX")},{header:translate("grid_column_title-denials"),dataIndex:getEnum("LICENSE_DENIAL_TOTAL_COUNT")}]}))}});Grid_Report_UsagePerUser_ColumnModel_AggregateByHostname=Ext.extend(Grid_Report_UsagePerUser_ColumnModel_Abstract,{constructor:function(a){Grid_Report_UsagePerUser_ColumnModel_AggregateByHostname.superclass.constructor.call(this,Ext.apply(a,{columns:[new Ext.grid.RowNumberer(),{header:translate("grid_column_title-hostname"),dataIndex:getEnum("HOST_NAME")},{header:translate("grid_column_title-feature"),dataIndex:getEnum("FEATURE_NAME_DISPLAYNAME")},{header:translate("grid_column_title-date"),dataIndex:getEnum("LICENSE_USAGE_DATE")},{header:translate("grid_column_title-utilization"),dataIndex:getEnum("LICENSE_HOURS_USED_PERCENT"),renderer:percentageRenderer},{header:translate("grid_column_title-used_hours"),dataIndex:getEnum("LICENSE_HOURS_USED"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-borrowed_hours"),dataIndex:getEnum("LICENSE_BORROWED_HOURS"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-max_used_licenses"),dataIndex:getEnum("LICENSE_USED_MAX")},{header:translate("grid_column_title-max_borrowed_licenses"),dataIndex:getEnum("LICENSE_BORROWED_MAX")},{header:translate("grid_column_title-denials"),dataIndex:getEnum("LICENSE_DENIAL_TOTAL_COUNT")}]}))}});Grid_Report_UsagePerUser_ColumnModel_AggregateByUsergroup=Ext.extend(Grid_Report_UsagePerUser_ColumnModel_Abstract,{constructor:function(a){Grid_Report_UsagePerUser_ColumnModel_AggregateByUsergroup.superclass.constructor.call(this,Ext.apply(a,{columns:[new Ext.grid.RowNumberer(),{header:translate("grid_column_title-usergroup_name"),dataIndex:getEnum("USERGROUP_NAME")},{header:translate("grid_column_title-feature"),dataIndex:getEnum("FEATURE_NAME_DISPLAYNAME")},{header:translate("grid_column_title-date"),dataIndex:getEnum("LICENSE_USAGE_DATE")},{header:translate("grid_column_title-utilization"),dataIndex:getEnum("LICENSE_HOURS_USED_PERCENT"),renderer:percentageRenderer},{header:translate("grid_column_title-used_hours"),dataIndex:getEnum("LICENSE_HOURS_USED"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-borrowed_hours"),dataIndex:getEnum("LICENSE_BORROWED_HOURS"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-max_used_licenses"),dataIndex:getEnum("LICENSE_USED_MAX")},{header:translate("grid_column_title-max_borrowed_licenses"),dataIndex:getEnum("LICENSE_BORROWED_MAX")},{header:translate("grid_column_title-denials"),dataIndex:getEnum("LICENSE_DENIAL_TOTAL_COUNT")}]}))}});Grid_Report_UsagePerUser_ColumnModel_AggregateByUsername=Ext.extend(Grid_Report_UsagePerUser_ColumnModel_Abstract,{constructor:function(a){Grid_Report_UsagePerUser_ColumnModel_AggregateByUsername.superclass.constructor.call(this,Ext.apply(a,{columns:[new Ext.grid.RowNumberer(),{header:translate("grid_column_title-username"),dataIndex:getEnum("USER_NAME")},{header:translate("grid_column_title-feature"),dataIndex:getEnum("FEATURE_NAME_DISPLAYNAME")},{header:translate("grid_column_title-date"),dataIndex:getEnum("LICENSE_USAGE_DATE")},{header:translate("grid_column_title-utilization"),dataIndex:getEnum("LICENSE_HOURS_USED_PERCENT"),renderer:percentageRenderer},{header:translate("grid_column_title-used_hours"),dataIndex:getEnum("LICENSE_HOURS_USED"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-borrowed_hours"),dataIndex:getEnum("LICENSE_BORROWED_HOURS"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-max_used_licenses"),dataIndex:getEnum("LICENSE_USED_MAX")},{header:translate("grid_column_title-max_borrowed_licenses"),dataIndex:getEnum("LICENSE_BORROWED_MAX")},{header:translate("grid_column_title-denials"),dataIndex:getEnum("LICENSE_DENIAL_TOTAL_COUNT")}]}))}});Grid_Report_UsagePerUser_ColumnModel_AggregateByUsernameAndHostname=Ext.extend(Grid_Report_UsagePerUser_ColumnModel_Abstract,{constructor:function(a){Grid_Report_UsagePerUser_ColumnModel_AggregateByUsernameAndHostname.superclass.constructor.call(this,Ext.apply(a,{columns:[new Ext.grid.RowNumberer(),{header:translate("grid_column_title-username"),dataIndex:getEnum("USER_NAME")},{header:translate("grid_column_title-hostname"),dataIndex:getEnum("HOST_NAME")},{header:translate("grid_column_title-feature"),dataIndex:getEnum("FEATURE_NAME_DISPLAYNAME")},{header:translate("grid_column_title-date"),dataIndex:getEnum("LICENSE_USAGE_DATE")},{header:translate("grid_column_title-utilization"),dataIndex:getEnum("LICENSE_HOURS_USED_PERCENT"),renderer:percentageRenderer},{header:translate("grid_column_title-used_hours"),dataIndex:getEnum("LICENSE_HOURS_USED"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-borrowed_hours"),dataIndex:getEnum("LICENSE_BORROWED_HOURS"),renderer:roundedNumberRenderer},{header:translate("grid_column_title-max_used_licenses"),dataIndex:getEnum("LICENSE_USED_MAX")},{header:translate("grid_column_title-max_borrowed_licenses"),dataIndex:getEnum("LICENSE_BORROWED_MAX")},{header:translate("grid_column_title-denials"),dataIndex:getEnum("LICENSE_DENIAL_TOTAL_COUNT")}]}))}});Ls_MessageBox_AlertError=function(){return{show:function(a){Ext.Msg.show(Ext.applyIf(a,{title:translate("dialog_title-error"),icon:Ext.Msg.ERROR,buttons:Ext.Msg.OK}))}}}();LicenseServers_Store_Alias=Ext.extend(Ext.data.Store,{constructor:function(a){LicenseServers_Store_Alias.superclass.constructor.call(this,Ext.apply(a,{reader:new LicenseServers_Store_Reader_Alias(),writer:new Ext.data.JsonWriter({encode:true,writeAllFields:true}),autoLoad:{params:{start:0,limit:20}},listeners:new Xf_Plugin_Store_ExceptionHandler({failure:{title:translate("dialog_title-info"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}}),proxy:new Ext.data.HttpProxy({api:{read:a.aliasDataUrl,create:{url:a.aliasAddUrl,method:"POST"},update:{url:a.aliasEditUrl,method:"POST"},destroy:{url:a.aliasDeleteUrl,method:"POST"}},listeners:{write:new Plugin_Proxy_WriteAction(this),beforewrite:new Plugin_Proxy_BeforeWriteAction(),exception:new Plugin_Proxy_ExceptionAction(this)}})}))}});LicenseServers_Store_Reader_Alias=Ext.extend(Ext.data.JsonReader,{constructor:function(a){a=Ext.isEmpty(a)?{}:a;LicenseServers_Store_Reader_Alias.superclass.constructor.call(this,Ext.apply(a,{fields:[{name:"id"},{name:getEnum("SERVERALIAS_ID")},{name:getEnum("SERVERALIAS_ALIAS"),allowBlank:false},{name:getEnum("SERVER_ID")},{name:getEnum("SERVER_GATHERING_TYPE_ID")}],root:getEnum("SERVERALIAS"),idProperty:"id",totalProperty:getEnum("KEY_TOTAL")}))}});LicenseServers_Window_TabPanel_Tabs_Alias=Ext.extend(Xf_GridPanel,{constructor:function(a){var b=new Ext.ux.grid.RowEditor({saveText:translate("button_save"),onRowClick:Ext.emptyFn,errorSummary:false,listeners:{canceledit:function(d,c){var e=d.grid.getSelectionModel().getSelected();if(!Ext.isEmpty(e)&&e.phantom){d.grid.getStore().remove(e)}}}});LicenseServers_Window_TabPanel_Tabs_Alias.superclass.constructor.call(this,Ext.apply(a,{title:translate("dialog-aliases_tab"),border:true,plugins:[b],colModel:new Xf_Grid_ColumnModel({columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-license_server_alias_name","SERVERALIAS_ALIAS",{editor:new Ext.form.TextField({allowBlank:false,maxLength:255})}),new Xf_Grid_ActionColumn({header:translate("grid_column_title-action"),items:[new Xf_Grid_ActionColumn_Item_Edit({handler:new Plugin_Action_Window_TabPanel_Tabs_Alias_Edit(b)}),new Xf_Grid_ActionColumn_Item_Delete({handler:new Plugin_Action_Window_TabPanel_Tabs_Alias_Delete()})]})]}),bbar:[new Ext.Button({text:translate("button_add"),iconCls:"silk-add",handler:new Plugin_Button_Alias_AddNew({grid:this,editor:b})}),new Ext.PagingToolbar({pageSize:20,store:a.store,displayInfo:true,displayMsg:translate("grid_bbar-default_rows_range"),emptyMsg:translate("no_data_to_display"),plugins:[new Ext.ux.plugin.PagingToolbarResizer({options:[20,50,100,500,1000],displayText:""})]})]}))}});Plugin_ApplyButtonAction=function(b){var c=b.actionUrl;var a=b.grid;var d=function(e){var g=e.findParentByType("emailsubscriptionspanelformfeaturesubscription");g.getForm().submit({method:"post",url:c,waitTitle:translate("window_title-wait"),waitMsg:translate("message-please_wait"),success:function(h,k){a.getStore().reload()},failure:function(h,k){if(Ext.isEmpty(k.response)||Ext.isEmpty(Ext.decode(k.response.responseText).msg)){return}Ext.MessageBox.show({title:translate("dialog_title-error"),icon:Ext.MessageBox.WARNING,msg:Ext.decode(k.response.responseText).msg,buttons:Ext.MessageBox.OK})}})};return{init:function(e){e.on({click:d})}}};Plugin_Report_UsagePerUser_ApplyButtonAction=function(g){var b=function(q){var r={};for(var p in q){if(typeof q[p]==="object"){r[p]=b(q[p])}else{r[p]=q[p]}}return r};var d=g.actionUrl;var e=g.converters;var n=g.datePicker;var l=new Grid_Report_UsagePerUser_Factory({});var h=function(q){var r=Xf_Params();for(var p=0;p<q.length;++p){if(q[p].disabled){q[p].markInvalid();return false}if(q[p] instanceof Ext.Spacer||typeof q[p]!=="object"){continue}r.setParam(q[p].getName(),q[p].getValue())}return r.getParams()};var a=function(s){var p=b(e);for(var r=0;r<s.length;++r){if(typeof s[r]!=="object"||s[r] instanceof Ext.Spacer){continue}for(var q in p){p[q]=p[q].replace("#"+s[r].getName(),s[r].getValue())}}return p};var k=function(p){if(p.items.getCount()>1){p.remove(p.items.last(),true)}};var o=function(q){for(var p in q){if(q[p]["id"]===getEnum("URL_PARAM_NAME_INTERVAL")){return q[p]["value"]}}return null};var c=function(r){var p=r.findParentByType("form");if(!p.getForm().isValid()){return}n.setTimeInterval(o(p.getElements()));n.setButtonIsClicked(true);var s=r.findParentByType("xfmainpanel");var u=h(p.getElements());k(s);if(u===false){n.setButtonIsClicked(false);return}var t=a(p.getElements());l.setGridStoreUrl(d);l.setConverters(t);var q=l.create(u);s.items.addAll([q]);s.doLayout();n.setButtonIsClicked(false)};return{init:function(p){p.on({click:c})}}};Plugin_Administration_Email_AuthenticationRefresher=function(b){var a=function(c){if(c.getValue()){b.refresh()}};return{init:function(c){c.on({check:a})}}};Features_Panel_BasicFiltering=Ext.extend(MultipleElementsPanel,{constructor:function(a){var c=new FeaturesCombobox({allowBlank:false,plugins:[new Plugin_Form_ComboBox_RawValueSetter({value:a.featureId,recordIdKey:"FEATURE_ID"}),new Plugin_Form_ComboBox_Redirector({paramId:"FEATURE_ID",url:a.featureUrl})],store:new Store_Combobox_Features({dataUrl:a.featureCriteriaUrl})});var b=new ServersCombobox({licenseServerId:a.licenseServerId,criteriaUrl:a.serverCriteriaUrl,plugins:[new ServerFeatureComboboxSync(c)]});Features_Panel_BasicFiltering.superclass.constructor.call(this,Ext.apply(a,{title:translate("panel_select_feature_title"),autoWidth:true,items:[{items:b},{items:c}]}))}});LicenseServers_Panel_Form_BasicFiltering=Ext.extend(Xf_Panel_Form,{constructor:function(a){LicenseServers_Panel_Form_BasicFiltering.superclass.constructor.call(this,Ext.apply(a,{autoWidth:true,collapsible:true,titleCollapse:true,title:translate("panel_select_license_server_title"),defaults:{width:300},items:[a.serversComboBox]}))}});Plugin_Proxy_BeforeWriteAction=function(){return function(){Xf_Message_Box_Wait.show()}};BindedCombobox=Ext.extend(Ext.ux.XfComboBox,{bindedObj:null,setBinding:function(a){this.bindedObj=a},constructor:function(a){this.bindedObj=a.bindedObj;BindedCombobox.superclass.constructor.apply(this,arguments)}});var replace=[];BindedFeaturesCombobox=Ext.extend(BindedCombobox,{fieldLabel:replace.t_feature,emptyText:replace.t_empty_select_feature,valueField:replace.fieldIdEnum_FEATURE_ID,displayField:replace.fieldIdEnum_FEATURE_NAME,allowBlank:false,listeners:{select:function(){if(this.redirect){var a=replace.featureUrl;window.location.href=a.replace("#"+getEnum("FEATURE_ID"),this.getValue())}}},setLicenseServerId:function(a){this.licenseServerId=a;return this},init:function(){var b={};var a=replace.extjsCriteria_BASIC_SEARCH_PARAM;a+=replace.fieldIdEnum_LICENSE_SERVER_ID;b[a]=this.licenseServerId;var c=this;this.getStore().load({params:b,callback:function(){c.enable();c.setValue(c.featureId)}})},constructor:function(a){this.licenseServerId="abc";this.featureId=a.featureId;this.redirect=false;if(a.redirect){this.redirect=a.redirect}this.store=new Ext.data.JsonStore({autoLoad:false,totalProperty:"totalCount",root:"features",sortInfo:{field:replace.fieldIdEnum_FEATURE_NAME,direction:"ASC"},fields:[replace.fieldIdEnum_FEATURE_ID,replace.fieldIdEnum_FEATURE_NAME],url:a.criteriaUrl,helper:function(b){if(Ext.isEmpty(b,false)){return false}b=this.data.createValueMatcher(b,true,false);return function(d){var c=replace.fieldIdEnum_FEATURE_NAME;return b.test(d.data[c])}},filter:function(e,d,g,b){var c=this.helper(d);return c?this.filterBy(c):this.clearFilter()}});BindedFeaturesCombobox.superclass.constructor.apply(this,arguments)}});var replace=[];BindedServersCombobox=Ext.extend(BindedCombobox,{fieldLabel:replace.t_license_server,autoSelect:false,emptyText:replace.t_empty_select_server,displayField:replace.fieldIdEnum_SERVER_NAME,valueField:replace.fieldIdEnum_LICENSE_SERVER_ID,allowBlank:false,listeners:{select:function(e){var a=replace.extjsCriteria_BASIC_SEARCH_PARAM;a+=replace.fieldIdEnum_LICENSE_SERVER_ID;var c={};c[a]=e.getValue();feature=this.bindedObj;feature.disable();feature.clearValue();feature.store.load({params:c});feature.enable();feature.validate();var b=replace.fieldIdEnum_LICENSE_SERVER_ID;var d=this.getStore().find(b,this.getValue());this.setValue(this.getStore().data.items[d].data[getEnum("SERVER_NAME")]);this.validate()}},constructor:function(a){var b=replace.fieldIdEnum_SERVER_NAME;this.tpl='<tpl for="."><div class="x-combo-list-item">{'+b+"}</div></tpl>";var c=this;this.store=new Ext.data.JsonStore({autoLoad:{callback:function(){c.setValue(a.licenseServerId);c.bindedObj.setLicenseServerId(c.getValue());c.bindedObj.init()}},totalProperty:"totalCount",root:"licenseServers",sortInfo:{field:replace.fieldIdEnum_SERVER_NAME,direction:"ASC"},fields:[replace.fieldIdEnum_LICENSE_SERVER_ID,replace.fieldIdEnum_SERVER_NAME,],url:a.criteriaUrl,helper:function(d){if(Ext.isEmpty(d,false)){return false}d=this.data.createValueMatcher(d,true,false);return function(e){return d.test(e.data[b])}},filter:function(h,g,k,d){var e=this.helper(g);return e?this.filterBy(e):this.clearFilter()}});BindedServersCombobox.superclass.constructor.apply(this,arguments)}});Plugin_Form_Button_ClickActionHandler=function(a){var b=function(c){Admin_DatabaseManagement_MessageBox_ConfirmDelete.show({url:a.url,form:a.form,databaseSizeStore:a.databaseSizeStore})};return{init:function(c){c.on({click:b})}}};Features_Panel_ToolButton_Collection=function(){return{get:function(a){return[{id:"edit",qtip:translate("button_edit"),handler:function(){Features_Form_Helper.editFeatureWithRedirect(a.featureId)}},{id:"hide",qtip:translate("button_hide"),handler:function(){Features_Form_Helper.hideFeatureWithRedirect(a.featureId,a.featureName)}},{id:"remove",qtip:translate("button_delete"),handler:function(){Features_Form_Helper.deleteFeatureWithRedirect(a.featureId,a.featureName)}}]}}}();LicenseServers_Panel_ToolButton_Collection=function(){};LicenseServers_Panel_ToolButton_Collection.get=function(a){return[{id:"edit",qtip:translate("button_edit"),handler:function(){LicenseServers_Form_Helper.editLicenseServerWithRedirect(a.licenseServerId,a.licenseServerServerId,a.licenseServerServerGatheringTypeId)}},{id:"hide",qtip:translate("button_hide"),handler:function(){LicenseServers_Form_Helper.hideLicenseServerWithRedirect(a.licenseServerId,a.licenseServerName)}},{id:"remove",qtip:translate("button_delete"),handler:function(){LicenseServers_Form_Helper.deleteLicenseServerWithRedirect(a.licenseServerId,a.licenseServerName)}}]};LicenseServers_Grid_ColumnModel=Ext.extend(Xf_Grid_ColumnModel,{constructor:function(a){if(a.userIsAdmin){a.columns.push(new Xf_Grid_ActionColumn({header:translate("grid_column_title-action"),items:[new Xf_Grid_ActionColumn_Item_Edit({handler:Features_Form_Helper.editFeature}),new Xf_Grid_ActionColumn_Item_Hide({handler:Features_Form_Helper.hideFeature}),new Xf_Grid_ActionColumn_Item_Delete({handler:Features_Form_Helper.deleteFeature})]}))}LicenseServers_Grid_ColumnModel.superclass.constructor.call(this,a)}});LicenseSevers_Form_ComboBox=Ext.extend(ServersCombobox,{constructor:function(a){LicenseSevers_Form_ComboBox.superclass.constructor.call(this,Ext.apply(a,{id:getEnum("BASIC_SEARCH_PARAM")+getEnum("LICENSE_SERVER_ID")}))},setLicenseServerData:function(a){this._licenseServerData=a;return this},getLicenseServerData:function(){return this._licenseServerData}});Ls_Form_ComboBox=Ext.extend(Xf_Form_ComboBox,{constructor:function(a){Ls_Form_ComboBox.superclass.constructor.call(this,Ext.applyIf(a,{width:300}))}});Plugin_ComponentSetValueOnAction=function(c,a,g){var e=function(h){c.setValue(g)};var b={};for(var d in a){if(typeof(a[d])=="string"){b[a[d]]=e}}return b};LicenseServers_MessageBox_Confirm=function(){var a=Ls_MessageBox_Confirm;return{getStrategy:function(b){if(!Ext.isEmpty(b.redirectUrl)&&Ext.isEmpty(b.refreshComponent)){return new Ls_Window_Form_Strategy_Redirect(b.redirectUrl)}return new LicenseServers_Window_Form_Strategy_Refresh(b.refreshComponent,b.redirectUrl)},show:function(b){return a.show.call(this,b)}}}();Ls_MessageBox_Confirm=function(){return{getStrategy:function(a){if(!Ext.isEmpty(a.redirectUrl)){return new Ls_Window_Form_Strategy_Redirect(a.redirectUrl)}return new Ls_Window_Form_Strategy_Refresh(a.refreshComponent)},show:function(a){Ext.Msg.show(Ext.applyIf(a,{title:translate("confirm"),icon:Ext.Msg.QUESTION,buttons:Ext.Msg.YESNO,fn:function(b){return function(c){if(c==="yes"){Xf_Message_Box_Wait.show();Ext.Ajax.request({method:"GET",url:a.actionUrl,success:b.getStrategy(a),timeout:600000})}}}(this)}))}}}();Admin_DatabaseManagement_MessageBox_ConfirmDelete=function(){return{submitForm:function(a){a.form.getForm().submit({waitMsg:translate("message-please_wait"),url:a.url,failure:function(b,c){if(Ext.form.Action.CONNECT_FAILURE===c.failureType){Ls_MessageBox_AlertError.show({msg:translate("dialog-delete_data_connection_error")})}if(Ext.form.Action.SERVER_INVALID===c.failureType&&!Ext.isEmpty(c.result.msg)){Ls_MessageBox_AlertError.show({msg:translate("dialog-delete_data_server_error")+"<br /><br />"+c.result.msg})}},success:function(b){a.form.getForm().findField(getEnum("DATE_TO")).setMinValue(a.form.getForm().findField(getEnum("DATE_TO")).getValue());a.databaseSizeStore.reload()}})},show:function(a){var b=new Date(a.form.getDatePicker().getValue()).format("Y-m-d");Ext.Msg.show(Ext.applyIf(a,{msg:translate("dialog-delete_data").replace("%"+getEnum("DATE_TO"),b),title:translate("confirm"),icon:Ext.Msg.QUESTION,buttons:Ext.Msg.YESNO,fn:function(c){return function(d){if(d==="yes"){c.submitForm({form:a.form,url:a.url,databaseSizeStore:a.databaseSizeStore})}}}(this)}))}}}();Ls_Helper_ConverterUrlGenerator=function(){var a=function(c,b,e){e=Ext.value(e,false);for(var d in b){if(Ext.isString(b[d])){if(e&&c.match(new RegExp(d))===null){c+="&"+d+"="+b[d]}c=c.replace("#"+d,b[d])}}return c};return{generate:function(g,c,e){var b={};for(var d in g){if(Ext.isString(g[d])){b[d]=a(g[d],c,e)}}return b}}}();Grid_Admin_DatabaseSize=Ext.extend(Ext.ux.grid.Paging,{constructor:function(a){Grid_Admin_DatabaseSize.superclass.constructor.call(this,Ext.apply(a,{colModel:new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-table_name","DATABASESIZE_TABLE_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-data_size","DATABASESIZE_DATA_SIZE",{renderer:megabyteRenderer,filter:{type:"numeric"}}),Xf_Grid_Column_Factory.get("grid_column_title-index_size","DATABASESIZE_INDEX_SIZE",{renderer:megabyteRenderer,filter:{type:"numeric"}}),Xf_Grid_Column_Factory.get("grid_column_title-total_size","DATABASESIZE_TOTAL_SIZE",{renderer:megabyteRenderer,filter:{type:"numeric"}}),Xf_Grid_Column_Factory.get("grid_column_title-rows_count","DATABASESIZE_ROWS_COUNT",{filter:{type:"numeric"}})]}),plugins:[new Ext.ux.grid.GridFilters({encode:false,local:false})]}))}});Store_Grid_Admin_DatabaseSize=Ext.extend(Ext.data.JsonStore,{constructor:function(a){Store_Grid_Admin_DatabaseSize.superclass.constructor.call(this,Ext.applyIf(a,{autoLoad:false,root:"database_size",totalProperty:"totalCount",idProperty:"id",remoteSort:true,baseParams:{storeId:"Admin_DatabaseSize",start:0,limit:50},sortInfo:{field:getEnum("DATABASESIZE_DATA_SIZE"),direction:"DESC"},fields:[getEnum("DATABASESIZE_TABLE_NAME"),getEnum("DATABASESIZE_DATA_SIZE"),getEnum("DATABASESIZE_INDEX_SIZE"),getEnum("DATABASESIZE_TOTAL_SIZE"),getEnum("DATABASESIZE_ROWS_COUNT")],listeners:new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}}),proxy:new Ext.data.ScriptTagProxy({url:a.dataUrl})}))}});Ls_Form_DateField=Ext.extend(Ext.form.DateField,{constructor:function(a){Ls_Form_DateField.superclass.constructor.call(this,Ext.apply(a,{editable:false,width:300,format:"Y-m-d",startDay:1}))},setAvailableDates:function(d){var a=[];var c=Date.parseDate(d[0],"Y-m-d");var e=Date.parseDate(d[d.length-1],"Y-m-d");var b;this.setMinValue(c);this.setMaxValue(e);this.setValue(e);if(d.length===1){return}for(c=c.add(Date.DAY,1);c.getElapsed(e)!=0;c=c.add(Date.DAY,1)){b=c.format("Y-m-d");if(!d.exists(b)){a.push(b)}}if(a.length>0){this.setDisabledDates(a)}}});Admin_DatabaseManagement_Form_Field_DatePicker=Ext.extend(Ls_Form_DateField,{constructor:function(a){Admin_DatabaseManagement_Form_Field_DatePicker.superclass.constructor.call(this,{allowBlank:false,editable:false,fieldLabel:translate("date_delete-older-than"),id:getEnum("DATE_TO"),labelWidth:400,maxValue:new Date(a.recordsDateRange.newest),minValue:new Date(a.recordsDateRange.oldest),startDay:1})}});Form_Fields_DatePicker_DateRangePicker=Ext.extend(Ext.ux.XfDateField,{constructor:function(a){Form_Fields_DatePicker_DateRangePicker.superclass.constructor.call(this,Ext.apply(a,{width:300,disabled:true,id:getEnum("URL_PARAM_NAME_VALUE"),name:getEnum("URL_PARAM_NAME_VALUE")}))},_jsonData:"",_timeInterval:"",_buttonIsClicked:false,setJsonData:function(a){this._jsonData=a},getJsonData:function(){return this._jsonData},setDateOptions:function(a){this.disable();this.setValue(dateRange(new Date(dateInsideTimeInterval(getTimePeriodBeginByTimeIntervalData(a,this.getJsonData()[getEnum("TIMEINTERVAL")]),this.getJsonData(),a)),a));this.setDisabledDates(disableDates(this.getJsonData()[getEnum("TIMEINTERVAL")][a]));this.setMinValue(minDate(this.getJsonData()[getEnum("TIMEINTERVAL")][a]));this.setMaxValue(maxDate(this.getJsonData()[getEnum("TIMEINTERVAL")][a]));this.enable()},getTimeInterval:function(){if(Ext.isEmpty(this.timeInterval)){return getEnum("MONTH")}return this.timeInterval},setTimeInterval:function(a){this.timeInterval=a},getButtonIsClicked:function(){return this._buttonIsClicked},setButtonIsClicked:function(a){this._buttonIsClicked=Boolean(a)},getValue:function(){var a=Form_Fields_DatePicker_DateRangePicker.superclass.getValue.call(this);if(this.getButtonIsClicked()===true){return generateDateValueFromRange(a,this.getTimeInterval())}return a}});Ext.reg("daterangepicker",Form_Fields_DatePicker_DateRangePicker);Plugin_DatePicker_DateRangePickerRefresher=function(a){var b=a;return{select:function(c){c.disable();c.setValue(dateRange(new Date(c.getValue()),b.getValue()));c.enable()}}};Plugin_Combobox_DefaultValueHelper=function(a){if(a===null||a===undefined){a=0}return{init:function(b){b.getStore().on({load:function(){b.setValue(a)}})}}};Plugin_Store_Combobox_DefaultValueHelper=function(a){var b=function(c){c.insert(0,new c.recordType(a))};return{load:b}};Action_Grid_Preferences_EmailSubscriptions_Delete=function(a){var b=function(c){return function(d){if(d!=="yes"){return}Ext.MessageBox.wait(translate("message-please_wait"),translate("window_title-wait"));Ext.Ajax.request({url:c.actionUrl,success:function(g,h){Ext.MessageBox.hide();var e=Ext.decode(g.responseText);if(e.success===true){c.grid.getStore().reload()}},failure:function(e,g){Ext.MessageBox.hide()}})}};return{init:function(d,e,c){Ext.MessageBox.confirm(translate("confirm"),translate("form_email_subscriptions-confirm_delete_subscription").replace("%"+getEnum("FEATURE_NAME"),d.getStore().getAt(e).get(getEnum("FEATURE_NAME"))),new b({grid:d,actionUrl:a.actionUrl.replace("#"+getEnum("FEATUREEVENTSUBSCRIPTION_ID"),d.getStore().getAt(e).get(getEnum("FEATUREEVENTSUBSCRIPTION_ID")))}))}}};Admin_DatabaseManagement_Panel_Form_Delete=Ext.extend(Xf_Panel_Form,{getDatePicker:function(){return this.datePicker},constructor:function(b){this.datePicker=new Admin_DatabaseManagement_Form_Field_DatePicker({recordsDateRange:b.recordsDateRange});var a=new Ext.Button({formBind:true,id:"applyButton",text:translate("button_save"),plugins:[new Plugin_Form_Button_ClickActionHandler({form:this,url:b.url,databaseSizeStore:b.databaseSizeStore})]});Admin_DatabaseManagement_Panel_Form_Delete.superclass.constructor.call(this,{collapsed:true,collapsible:true,collapseFirst:false,labelWidth:200,monitorValid:true,timeout:18000,title:translate("report-data_deleting"),titleCollapse:true,defaults:{msgTarget:"under",width:300},items:[this.datePicker],buttons:[a]})}});Plugin_Action_Window_TabPanel_Tabs_Alias_Delete=function(){return function(a,c){var b=a.getStore().getAt(c);if(Ext.isEmpty(b)){return false}Ext.MessageBox.show({title:translate("confirm"),icon:Ext.Msg.QUESTION,msg:translate("server_alias_delete_confirm").replace("%"+getEnum("SERVERALIAS_ALIAS"),b.get(getEnum("SERVERALIAS_ALIAS"))),buttons:Ext.MessageBox.YESNO,fn:function(d){if(d==="yes"){a.store.remove(b)}}});return true}};Features_Window_Edit=Ext.extend(Ls_Window_Form,{constructor:function(a){Features_Window_Edit.superclass.constructor.call(this,Ext.apply(a,{layout:"anchor",height:300,title:translate("dialog_title-edit_feature"),items:[new Features_Window_Form_Edit(Ext.copyTo({redirectUrl:a.generalRedirectUrl},a,"generalDataUrl, generalActionUrl, refreshComponent"))]}))}});Ext.reg("featureswindowedit",Features_Window_Edit);Features_Window_Form_Edit=Ext.extend(Ls_Window_Form_Abstract,{constructor:function(a){Features_Window_Form_Edit.superclass.constructor.call(this,Ext.apply(a,{labelWidth:90,items:[Xf_Form_Field_Factory.create("textfield",{name:"FEATURE_NAME",fieldLabel:"dialog-feature_name",allowBlank:false}),Xf_Form_Field_Factory.create("textfield",{name:"FEATURE_DB_NAME",fieldLabel:"dialog-original_name",disabled:true}),Xf_Form_Field_Factory.create("textarea",{name:"FEATURE_DESCRIPTION",fieldLabel:"description"})],buttons:[new Ext.Button({text:translate("button_save"),formBind:true,handler:new Plugin_Button_FormSaver({formPanel:this,url:a.generalActionUrl,success:this.getStrategy(a)})}),new Ext.Button({text:translate("button_close"),plugins:[new Xf_Plugin_Button_Close(Features_Window_Edit)]})],plugins:[new Plugin_Panel_Form_Loader({dataUrl:a.generalDataUrl})]}))}});Plugin_Action_Window_TabPanel_Tabs_Alias_Edit=function(a){return function(b,c){a.startEditing(c)}};LicenseServers_Window_Edit=Ext.extend(Ls_Window_Form,{constructor:function(a){LicenseServers_Window_Edit.superclass.constructor.call(this,Ext.apply(a,{title:translate("dialog_title-edit_license_server"),id:"windowForm",items:[new LicenseServers_Window_TabPanel(a)]}))}});Ext.reg("licenseserverswindowedit",LicenseServers_Window_Edit);Form_Administration_Email=Ext.extend(Xf_Panel_Form,{verifyButton:null,constructor:function(b){var h=new Ext.form.TextField({maxLength:128,allowBlank:true,fieldLabel:translate("form_mail_server-username"),name:getEnum("MAILSERVER_USERNAME"),disabled:true});var d=new Ext.form.TextField({inputType:"password",allowBlank:true,fieldLabel:translate("form_mail_server-password"),name:getEnum("MAILSERVER_PASSWORD"),disabled:true});var a=new Ext.form.TextField({maxLength:128,allowBlank:false,fieldLabel:translate("form_mail_server-name"),name:getEnum("MAILSERVER_NAME"),disabled:true});var g=new Form_Fields_ComboBox_MailAuthenticationType({disabled:true,plugins:new Xf_Plugin_Form_Field_DisableFields({eventName:"select",triggerValue:getEnum("AUTH_NONE"),disabled:true,items:[h,d]})});var c=new Ext.form.TextField({maxLength:5,value:25,allowBlank:false,fieldLabel:translate("form_mail_server-port"),name:getEnum("MAILSERVER_PORT"),disabled:true});var k=new Ext.form.TextField({maxLength:128,allowBlank:false,fieldLabel:translate("form_mail_server-from"),name:getEnum("MAILSERVER_FROM"),disabled:true});var e=new Ext.form.TextField({maxLength:128,allowBlank:false,fieldLabel:translate("form_mail_server-send_as"),name:getEnum("MAILSERVER_SEND_AS"),disabled:true});this.verifyButton=new Ext.Button({text:translate("button_verify"),disabled:true,plugins:new Plugin_Administration_Email_VerifyAction(b.testUrl)});Form_Administration_Email.superclass.constructor.call(this,Ext.applyIf(b,{title:translate("form_mail_server-title"),labelWidth:150,items:{xtype:"xffieldset",defaults:{msgTarget:"under",width:300},items:[{xtype:"checkbox",name:getEnum("MAILSERVER_ENABLE"),fieldLabel:translate("form_mail_server-enable"),plugins:[new Xf_Plugin_Form_Field_DisableFields({eventName:"check",triggerValue:true,disabled:false,items:[a,c,g,h,d,k,e]}),new Plugin_Administration_Email_AuthenticationRefresher(g)]},{xtype:"spacer",height:20},a,c,{xtype:"spacer",height:20},g,h,d,{xtype:"spacer",height:20},k,e]},buttons:[new Ext.Button({text:translate("button_save"),formBind:true,plugins:new Plugin_Button_SaveAction({url:b.url,formPanel:this,paramsFactory:Admin_Email_ParamsFactory})}),this.verifyButton]}))},getVerifyButton:function(){return this.verifyButton},enableVerifyButton:function(){if(this.getForm().findField(getEnum("MAILSERVER_NAME")).getValue().length>0&&this.getForm().isValid()){this.getVerifyButton().setDisabled(false)}else{this.getVerifyButton().setDisabled(true)}}});Ext.reg("formadministrationemail",Form_Administration_Email);Plugin_Store_EmptyStoreHandler=function(a){return{load:function(c,b){if(b.length===0){if(!Ext.isEmpty(a.comboBox)){a.comboBox.setValue(a.comboBoxValue)}if(!Ext.isEmpty(a.button)){a.button.disable()}}}}};Plugin_Proxy_ExceptionAction=function(a){return function(){a.reload()}};EmailSubscription_Store_FeatureEvent_Expiring=Ext.extend(EmailSubscription_Store_FeatureEvent,{constructor:function(a){EmailSubscription_Store_FeatureEvent_Expiring.superclass.constructor.call(this,Ext.applyIf(a,{root:getEnum("EMAILSUBSCRIPTION_FEATURE_EXPIRING"),fields:[getEnum("FEATUREEVENTSUBSCRIPTION_ID"),getEnum("LICENSE_SERVER_NAME"),getEnum("FEATURE_ID"),getEnum("FEATURE_NAME"),getEnum("VENDOR_NAME"),getEnum("LICENSE_EXPIRATION_DATE"),getEnum("FEATUREEVENT_BOUNARY_VALUE")]}));this.setBaseParam("storeId","Feature_EmailSubscription_Expiring")}});EmailSubscription_Grid_ExpiringFeatures=Ext.extend(Ext.ux.grid.Paging,{constructor:function(a){EmailSubscription_Grid_ExpiringFeatures.superclass.constructor.call(this,Ext.apply(a,{colModel:new Xf_Grid_ColumnModel({columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-feature","FEATURE_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-server","LICENSE_SERVER_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-vendor","VENDOR_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-days_to_expiration","FEATUREEVENT_BOUNARY_VALUE"),Xf_Grid_Column_Factory.get("grid_column_title-expiration_date","LICENSE_EXPIRATION_DATE"),new Xf_Grid_ActionColumn({header:translate("grid_column_title-action"),items:[new Xf_Grid_ActionColumn_Item_Delete({plugins:new Action_Grid_Preferences_EmailSubscriptions_Delete({actionUrl:a.deleteActionUrl})})]})]})}))}});Grid_Report_ExpiringFeatures=Ext.extend(Ext.ux.grid.Paging,{constructor:function(a){Grid_Report_ExpiringFeatures.superclass.constructor.call(this,Ext.applyIf(a,{colModel:new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-feature","FEATURE_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-vendor","VENDOR_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-expiration_date","LICENSE_EXPIRATION_DATE"),]}),converterUrl:{},plugins:[new Ext.ux.grid.GridFilters({encode:false,local:false})]}))}});Store_Grid_ExpiringFeatures=Ext.extend(Ext.data.JsonStore,{constructor:function(a){Store_Grid_ExpiringFeatures.superclass.constructor.call(this,Ext.applyIf(a,{autoLoad:false,root:"expiring_features",totalProperty:"totalCount",idProperty:"id",remoteSort:true,baseParams:{storeId:"Feature_Expiring",start:0,limit:50},sortInfo:{field:getEnum("LICENSE_EXPIRATION_DATE"),direction:"ASC"},fields:[getEnum("FEATURE_ID"),getEnum("FEATURE_NAME"),getEnum("VENDOR_NAME"),getEnum("LICENSE_EXPIRATION_DATE")],listeners:new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}}),proxy:new Ext.data.ScriptTagProxy({url:a.dataUrl})}));this.setBaseParam(getEnum("COMPLEX_SEARCH_PARAM")+getEnum("LICENSE_EXPIRATION_DAYS_INTERVAL"),0)}});Form_Fields_Button_ExtendedApplyButton=Ext.extend(Ext.Button,{constructor:function(a){Form_Fields_Button_ExtendedApplyButton.superclass.constructor.call(this,Ext.applyIf(a,{text:translate("button_apply"),disabled:true,plugins:[new Plugin_Report_UsagePerUser_ApplyButtonAction({actionUrl:a.actionUrl,datePicker:a.datePicker,converters:a.converters})]}))}});Grid_Report_UsagePerUser_Factory=function(b){var a=b.gridStoreUrl;var c=b.converters;return{setGridStoreUrl:function(d){a=d;return this},setConverters:function(d){c=d;return this},getGridStoreUrl:function(){return a},getConverters:function(){return c},create:function(d){switch(d.group){case getEnum("AGGREGATE_BY_USERNAME"):return new Grid_Report_UsagePerUser({converterUrl:c,colModel:new Grid_Report_UsagePerUser_ColumnModel_AggregateByUsername({}),store:new Store_Grid_UsagePerUser({dataUrl:a,baseParams:d})});case getEnum("AGGREGATE_BY_HOSTNAME"):return new Grid_Report_UsagePerUser({converterUrl:c,colModel:new Grid_Report_UsagePerUser_ColumnModel_AggregateByHostname({}),store:new Store_Grid_UsagePerUser({dataUrl:a,baseParams:d})});case getEnum("AGGREGATE_BY_USERNAME_AND_HOSTNAME"):return new Grid_Report_UsagePerUser({converterUrl:c,colModel:new Grid_Report_UsagePerUser_ColumnModel_AggregateByUsernameAndHostname({}),store:new Store_Grid_UsagePerUser({dataUrl:a,baseParams:d})});case getEnum("AGGREGATE_BY_USERGROUP"):return new Grid_Report_UsagePerUser({converterUrl:c,colModel:new Grid_Report_UsagePerUser_ColumnModel_AggregateByUsergroup({}),store:new Store_Grid_UsagePerUser({dataUrl:a,baseParams:d})});case getEnum("AGGREGATE_BY_HOSTGROUP"):return new Grid_Report_UsagePerUser({converterUrl:c,colModel:new Grid_Report_UsagePerUser_ColumnModel_AggregateByHostgroup({}),store:new Store_Grid_UsagePerUser({dataUrl:a,baseParams:d})});default:return null}}}};LicenseServers_Grid_ColumnModel_Factory=function(){var a=function(c,e,d){return{FEATURE_NAME:{visibility:true,header:"grid_column_title-feature",renderer:featureLinkRenderer,filter:{type:"string"},width:150},LICENSE_USED:{visibility:true,header:"grid_column_title-used_licenses",align:"center",filter:{type:"numeric"},width:100},LICENSE_BORROWED_COUNT:{visibility:true,header:"grid_column_title-borrowed_licenses",align:"center",filter:{type:"numeric"},width:100},LICENSE_TOTAL_COUNT:{visibility:true,header:"grid_column_title-total_licenses",renderer:unlimitedValueRenderer,align:"center",filter:{type:"numeric"},width:100},LICENSE_DENIAL_TOTAL_COUNT:{visibility:true,header:"grid_column_title-denials",align:"center",filter:{type:"numeric"},width:100},LICENSE_UTILIZATION:{visibility:true,header:"grid_column_title-utilization",renderer:utililizationBarRenderer,filter:{type:"numeric"}},LICENSE_EXPIRATION_DATE:{visibility:true,header:"grid_column_title-expiration_date",renderer:expirationDateRenderer,filter:{type:"string"},align:"center",width:100},FEATURE_LAST_UPDATE:{visibility:true,header:"update_time",renderer:lastUpdateRenderer(c,e,!d),filter:{type:"string"},align:"center",width:100}}};var b=function(d,l,h,e,k,c){var n;var g=a(d,l,h);if(h){if(e){n=k?"imported_feature_usage_grid_for_server":"imported_feature_usage_grid_for_server";g.LICENSE_UTILIZATION.visibility=false}else{c="LicenseServer_Activity_FeaturesAndDenials";n="feature_and_denials_grid_for_server";g.FEATURE_LAST_UPDATE.visibility=false;g.LICENSE_USED.visibility=false;g.LICENSE_BORROWED_COUNT.visibility=false;g.LICENSE_TOTAL_COUNT.visibility=false;g.LICENSE_EXPIRATION_DATE.visibility=false;g.LICENSE_UTILIZATION.visibility=false}}else{n="realtime_feature_usage_grid_for_server"}return{columnsConfig:g,stateId:n,storeId:c}};return{get:function(e,h,l,n,c,o){var d=[];d.push(new Ext.grid.RowNumberer());var g=b(c,o,e,h,l,n);for(var k in g.columnsConfig){if(Ext.isObject(g.columnsConfig[k])&&g.columnsConfig[k].visibility){d.push(Xf_Grid_Column_Factory.get(g.columnsConfig[k].header,k,g.columnsConfig[k]))}}return{columns:d,stateId:g.stateId,storeId:g.storeId}}}}();Plugin_Report_DatePicker_Refresher_Feature=function(b){var g=b.datePickers;var c=b.datesUrl;var e=b.serversCombo;var d=function(l){for(var k=0;k<g.length;++k){g[k].disable()}var h=c.replace("#"+getEnum("LICENSE_SERVER_ID"),e.getValue()).replace("#"+getEnum("FEATURE_ID"),l.getValue());Ext.Ajax.request({url:h,success:a})};var a=function(k){var h=Ext.decode(k.responseText).data;var n=Date.parseDate(h.minDate,"Y-m-d");var o=Date.parseDate(h.maxDate,"Y-m-d");var p=[];while(n<o){if(!h.dates.exists(n.format("Y-m-d"))){p.push(n.format("Y-m-d"))}n=n.add(Date.DAY,1)}for(var l=0;l<g.length;++l){g[l].setMinValue(h.minDate);g[l].setMaxValue(h.maxDate);if(p.length>0){g[l].setDisabledDates(p)}g[l].setValue(h.maxDate);g[l].enable();g[l].validate()}};return{select:d}};EmailSubscription_Store_FeatureEvent=Ext.extend(Xf_Grid_Store_Json,{constructor:function(a){EmailSubscription_Store_FeatureEvent.superclass.constructor.call(this,Ext.applyIf(a,{autoLoad:true,baseParams:{start:0,limit:50},sortInfo:{field:getEnum("FEATURE_NAME"),direction:"ASC"},fields:[getEnum("FEATUREEVENTSUBSCRIPTION_ID"),getEnum("LICENSE_SERVER_NAME"),getEnum("FEATURE_ID"),getEnum("FEATURE_NAME"),getEnum("VENDOR_NAME"),getEnum("FEATUREEVENT_BOUNARY_VALUE")],listeners:new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}})}));this.setBaseParam(getEnum("BASIC_SEARCH_PARAM")+getEnum("FEATUREEVENT_ID"),a.featureEventId)}});EmailSubscription_Panel_Form_FeatureSubscription=Ext.extend(Xf_Panel_Form,{constructor:function(a){var c=new FeaturesCombobox({name:getEnum("FEATURE_ID"),hiddenName:getEnum("FEATURE_ID"),allowBlank:false,store:new Store_Combobox_Features({dataUrl:a.featureCriteriaUrl})});var b=new ServersCombobox({criteriaUrl:a.serverCriteriaUrl,plugins:[new ServerFeatureComboboxSync(c)]});EmailSubscription_Panel_Form_FeatureSubscription.superclass.constructor.call(this,Ext.apply(a,{labelAlign:"right",labelWidth:120,defaults:{layout:"form",msgTarget:"under",columnWidth:0.3},items:[b,c,new Ext.form.TextField({name:getEnum("FEATUREEVENT_BOUNARY_VALUE"),allowBlank:false,fieldLabel:a.boundaryValueFieldLabel,maxLength:2,width:300}),new Ext.form.Hidden({name:getEnum("FEATUREEVENT_ID"),value:a.featureEventId})],buttons:[new Ext.Button({text:translate("button_save"),plugins:[Plugin_ApplyButtonAction({actionUrl:a.actionUrl,grid:a.subscriptionGrid})]})]}))}});Ext.reg("emailsubscriptionspanelformfeaturesubscription",EmailSubscription_Panel_Form_FeatureSubscription);EmailSubscription_Grid_FeatureUsageExceeded=Ext.extend(Ext.ux.grid.Paging,{constructor:function(a){EmailSubscription_Grid_FeatureUsageExceeded.superclass.constructor.call(this,Ext.apply(a,{colModel:new Xf_Grid_ColumnModel({columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-feature","FEATURE_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-server","LICENSE_SERVER_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-vendor","VENDOR_NAME"),Xf_Grid_Column_Factory.get("utilization","FEATUREEVENT_BOUNARY_VALUE",{filter:{type:"string"},renderer:percentageRenderer}),new Xf_Grid_ActionColumn({header:translate("grid_column_title-action"),items:[new Xf_Grid_ActionColumn_Item_Delete({plugins:new Action_Grid_Preferences_EmailSubscriptions_Delete({actionUrl:a.deleteActionUrl})})]})]})}))}});Store_Combobox_Features=Ext.extend(Ext.data.JsonStore,{constructor:function(a){Store_Combobox_Features.superclass.constructor.call(this,Ext.apply(a,{autoLoad:false,totalProperty:"totalCount",root:"features",sortInfo:{field:getEnum("FEATURE_NAME"),direction:"ASC"},fields:[getEnum("FEATURE_ID"),getEnum("FEATURE_NAME")],url:a.dataUrl}))}});LicenseServer_Grid_Activity_Strategy_FeaturesAndDenials=function(a){return{createGrid:function(b){return new LicenseServers_Grid_Activity(Ext.apply(b,{storeId:"LicenseServer_Activity_FeaturesAndDenials",licenseServerIsImported:a.isImported}))}}};FeaturesCombobox=Ext.extend(Ext.ux.XfComboBox,{constructor:function(a){FeaturesCombobox.superclass.constructor.call(this,Ext.applyIf(a,{fieldLabel:translate("feature"),valueField:getEnum("FEATURE_ID"),hiddenValue:getEnum("FEATURE_ID"),displayField:getEnum("FEATURE_NAME"),allowBlank:true,disabled:true}))}});var replace=[];function refreshFlashChart(b){var d=replace.refreshInterval;var c=function(){a(b)};setTimeout(c,d);function a(g){var e=replace.dataFile;var h=createFlashChart(e);g.items.first().destroy();g.items.add(0,h);g.doLayout();setTimeout(c,d)}}Ls_Window_Form=Ext.extend(Ls_Window,{constructor:function(a){Ls_Window_Form.superclass.constructor.call(this,Ext.apply(a,{listeners:{show:function(){Xf_Message_Box_Wait.show()}}}))}});Plugin_Administration_Email_FormLoader=function(c){var a=function(d){d.getForm().load({url:c,waitMsg:translate("message-please_wait"),method:"get",success:new b(d)})};var b=function(d){return function(e,g){if(e.findField(getEnum("MAILSERVER_NAME")).getValue().length>0){e.findField(getEnum("MAILSERVER_ENABLE")).setValue(true)}d.enableVerifyButton()}};return{init:function(d){d.on({afterrender:a})}}};Plugin_Button_FormSaver=function(a){return function(b){Xf_Message_Box_Wait.show();a.formPanel.getForm().submit(Ext.applyIf(a,{method:"POST",success:function(){Ext.Msg.hide()},failure:function(c,d){if(Ext.isEmpty(d.response)){Ext.Msg.hide();return}var e=Ext.decode(d.response.responseText).errors;if(Ext.isArray(e)&&e.length>0&&Ext.isObject(e[0])){Ext.Msg.hide();return}Ext.Msg.show({title:translate("dialog_title-error"),msg:e,icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK})}}))}};LicenseServers_Window_TabPanel_Tabs_General=Ext.extend(Ls_Window_Form_Abstract,{constructor:function(a){LicenseServers_Window_TabPanel_Tabs_General.superclass.constructor.call(this,Ext.apply(a,{title:translate("dialog-general_tab"),items:[Xf_Form_Field_Factory.create("textfield",{name:"SERVER_NAME",fieldLabel:"dialog-server_name",allowBlank:false}),Xf_Form_Field_Factory.create("textfield",{name:"SERVER_DB_NAME",fieldLabel:"dialog-original_server_name",disabled:true}),Xf_Form_Field_Factory.create("textfield",{name:"VENDOR_NAME",fieldLabel:"dialog-vendor_name",allowBlank:false}),Xf_Form_Field_Factory.create("textfield",{name:"VENDOR_DB_NAME",fieldLabel:"dialog-original_vendor_name",disabled:true}),Xf_Form_Field_Factory.create("textarea",{name:"SERVER_DESCRIPTION",fieldLabel:"description"})],buttons:[new Ext.Button({text:translate("button_save"),formBind:true,handler:new Plugin_Button_FormSaver({formPanel:this,url:a.actionUrl,success:this.getStrategy(a)})}),new Ext.Button({text:translate("button_close"),plugins:[new Xf_Plugin_Button_Close(LicenseServers_Window_Edit)]})],plugins:[new Plugin_Panel_Form_Loader({dataUrl:a.dataUrl})]}))}});Ext.reg("licenseserverwindowtabpaneltabsgeneral",LicenseServers_Window_TabPanel_Tabs_General);Plugin_Button_GridConfigurator=function(a){var b=function(c){a.grid.getConverterButton().setConverterUrl(Ls_Helper_ConverterUrlGenerator.generate(a.converterUrl,a.form.getForm().getValues(),a.forceAppend))};return{init:function(c){c.on({click:b})}}};Plugin_Form_DateField_GridConfigurator=function(a){var b=function(c){var d=new Xf_Params();d.setParam(c.getName(),c.getValue().format("Y-m-d"));a.grid.getConverterButton().setConverterUrl(Ls_Helper_ConverterUrlGenerator.generate(a.converterUrl,d.getParams()))};return{init:function(c){c.on({afterrender:b})}}};Plugin_ComboBox_GridConfigurator=function(a){var b=function(k,g,h){var d={};for(var e in k){if(typeof(k[e])!=="Object"){d[e]=k[e].replace("#"+g,h)}}return d};var c=function(d){a.grid.getStore().setBaseParam(d.getName(),d.getValue());a.grid.getConverterButton().setConverterUrl(b(a.converterUrl,d.getName(),d.getValue()));if(!Ext.isEmpty(a.start)&&!Ext.isEmpty(a.limit)){a.grid.getStore().setBaseParam("start",a.start);a.grid.getStore().setBaseParam("limit",a.limit)}a.grid.getPagingToolbar().changePage(Ext.value(a.startPage,1));a.grid.getStore().reload()};return{init:function(d){d.on({select:c})}}};Plugin_Button_GridRefresher=function(a){var b=function(e){var g=a.form.getForm().getValues();var c=a.grid.getStore();if(!Ext.isEmpty(a.resetParam)&&!Ext.isEmpty(c.baseParams[a.resetParam])){g[a.resetParam]=Ext.value(g[a.resetParam],"")}for(var d in g){if(Ext.isString(g[d])){c.setBaseParam(d,g[d])}}c.reload()};return{init:function(c){c.on({click:b})}}};Plugin_Form_DateField_GridRefresher=function(a){var b=function(d){var c=a.grid.getStore();c.setBaseParam(a.dateKey,d.getValue().format("Y-m-d"));c.reload()};return{init:function(c){c.on({afterrender:b})}}};Form_Fields_ComboBox_GroupByTimeIntervalComboBox=Ext.extend(Ls_Form_ComboBox,{_jsonData:"",constructor:function(a){Form_Fields_ComboBox_GroupByTimeIntervalComboBox.superclass.constructor.call(this,Ext.apply(a,{id:getEnum("URL_PARAM_NAME_GRANULARITY"),name:getEnum("URL_PARAM_NAME_GRANULARITY"),valueField:getEnum("GRANULARITIES_ID"),displayField:getEnum("GRANULARITIES_NAME"),fieldLabel:translate("time_interval-group_by"),allowBlank:false,mode:"local",disabled:true}))},setJsonData:function(a){this._jsonData=a},getJsonData:function(){return this._jsonData}});Features_Form_Helper=function(){var d;var e;var c=function(g){return{generalDataUrl:d.generalDataUrl.replace("#"+getEnum("FEATURE_ID"),g),generalActionUrl:d.generalActionUrl.replace("#"+getEnum("FEATURE_ID"),g),generalRedirectUrl:d.generalRedirectUrl,hideFeatureUrl:d.hideFeatureUrl.replace("#"+getEnum("FEATURE_ID"),g),hideFeatureRedirectUrl:d.hideFeatureRedirectUrl,deleteFeatureUrl:d.deleteFeatureUrl.replace("#"+getEnum("FEATURE_ID"),g),deleteFeatureRedirectUrl:d.deleteFeatureRedirectUrl}};var b=new Ls_Panel_Form_Helper();var a=function(){return b};return{setUrlContainer:function(g){d=g;return this},setLicenseServersUrlContainer:function(g){e=g},editFeatureWithRedirect:function(h){var g=new Features_Window_Edit(c(h))},editFeature:function(h,k){var g=new Features_Window_Edit(Ext.apply({refreshComponent:h.getStore()},c(h.getStore().getAt(k).get(getEnum("FEATURE_ID")))))},hideFeatureWithRedirect:function(h,g){Ls_MessageBox_Confirm.show(a().generateMessageBoxConfig("dialog-hide_feature","FEATURE_ID","FEATURE_NAME",h,g,d.hideFeatureUrl,d.hideFeatureRedirectUrl))},hideFeature:function(h,k){var g=h.getStore().getAt(k);Ls_MessageBox_Confirm.show(a().generateMessageBoxConfig("dialog-hide_feature","FEATURE_ID","FEATURE_NAME",g.get(getEnum("FEATURE_ID")),g.get(getEnum("FEATURE_NAME")),d.hideFeatureUrl,null,h.getStore()))},deleteFeatureWithRedirect:function(h,g){Ls_MessageBox_Confirm.show(a().generateMessageBoxConfig("dialog-delete_feature","FEATURE_ID","FEATURE_NAME",h,g,d.deleteFeatureUrl,d.deleteFeatureRedirectUrl))},deleteFeature:function(h,k){var g=h.getStore().getAt(k);LicenseServers_MessageBox_Confirm.show(a().generateMessageBoxConfig("dialog-delete_feature","FEATURE_ID","FEATURE_NAME",g.get(getEnum("FEATURE_ID")),g.get(getEnum("FEATURE_NAME")),d.deleteFeatureUrl,e.deleteServerRedirectUrl,h.getStore()))}}}();LicenseServers_Form_Helper=function(){var d;var c=function(g,e,h){return{aliasDataUrl:d.aliasDataUrl.replace("#"+getEnum("SERVER_ID"),e).replace("#"+getEnum("SERVER_GATHERING_TYPE_ID"),h),aliasAddUrl:d.aliasAddUrl.replace("#"+getEnum("SERVER_ID"),e).replace("#"+getEnum("SERVER_GATHERING_TYPE_ID"),h),aliasEditUrl:d.aliasEditUrl.replace("#"+getEnum("SERVER_ID"),e).replace("#"+getEnum("SERVER_GATHERING_TYPE_ID"),h),aliasDeleteUrl:d.aliasDeleteUrl,generalDataUrl:d.generalDataUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),g),generalActionUrl:d.generalActionUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),g),generalRedirectUrl:Ext.isEmpty(d.generalRedirectUrl)?"":d.generalRedirectUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),g),mergeDataUrl:d.mergeDataUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),g),mergeActionUrl:d.mergeActionUrl,mergeRedirectUrl:Ext.isEmpty(d.mergeRedirectUrl)?"":d.mergeRedirectUrl,licenseServerId:g}};var b=new Ls_Panel_Form_Helper();var a=function(){return b};return{setUrlContainer:function(e){d=e;return this},editLicenseServerWithRedirect:function(h,g,k){var e=new LicenseServers_Window_Edit(c(h,g,k))},editLicenseServer:function(h,k){var g=h.getStore().getAt(k);var e=new LicenseServers_Window_Edit(Ext.apply({generalRefreshComponent:h.getStore(),mergeRefreshComponent:h.getStore()},c(g.get(getEnum("LICENSE_SERVER_ID")),g.get(getEnum("SERVER_ID")),g.get(getEnum("SERVER_GATHERING_TYPE_ID")))))},hideLicenseServerWithRedirect:function(e,g){Ls_MessageBox_Confirm.show({msg:translate("dialog-hide_license_server").replace("%"+getEnum("SERVER_NAME"),g),actionUrl:d.hideServerUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),e),redirectUrl:d.hideServerRedirectUrl})},hideLicenseServer:function(g,h){var e=g.getStore().getAt(h);Ls_MessageBox_Confirm.show(a().generateMessageBoxConfig("dialog-hide_license_server","LICENSE_SERVER_ID","SERVER_NAME",e.get(getEnum("LICENSE_SERVER_ID")),e.get(getEnum("LICENSE_SERVER_NAME")),d.hideServerUrl,null,g.getStore()))},deleteLicenseServerWithRedirect:function(e,g){Ls_MessageBox_Confirm.show(a().generateMessageBoxConfig("dialog-delete_license_server","LICENSE_SERVER_ID","SERVER_NAME",e,g,d.deleteServerUrl,d.deleteServerRedirectUrl))},deleteLicenseServer:function(g,h){var e=g.getStore().getAt(h);Ls_MessageBox_Confirm.show(a().generateMessageBoxConfig("dialog-delete_license_server","LICENSE_SERVER_ID","SERVER_NAME",e.get(getEnum("LICENSE_SERVER_ID")),e.get(getEnum("LICENSE_SERVER_NAME")),d.deleteServerUrl,null,g.getStore()))}}}();Ls_Panel_Form_Helper=function(){return{generateMessageBoxConfig:function(b,a,d,k,c,g,h,e){return{msg:translate(b).replace("%"+getEnum(d),c),actionUrl:g.replace("#"+getEnum(a),k),redirectUrl:h,refreshComponent:e}}}};Features_Grid_History=Ext.extend(Ext.ux.grid.Paging,{constructor:function(a){Features_Grid_History.superclass.constructor.call(this,Ext.apply(a,{frame:false,border:false,title:translate("grid_caption-user_history"),pageSize:20,colModel:new Xf_Grid_ColumnModel({columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-username","USER_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-hostname","HOST_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-start_time","SESSION_START_TIME"),Xf_Grid_Column_Factory.get("grid_column_title-end_time","SESSION_END_TIME")]}),plugins:[new Ext.ux.grid.GridFilters({encode:false,local:false})],converterUrl:{}}))}});Features_Store_History=Ext.extend(Xf_Grid_Store_Json,{constructor:function(a){Features_Store_History.superclass.constructor.call(this,Ext.apply(a,{root:getEnum("FEATURE_HISTORY"),autoLoad:false,baseParams:{storeId:"Feature_History",start:0,limit:20},sortInfo:{field:getEnum("SESSION_START_TIME"),direction:"ASC"},fields:[getEnum("USER_NAME"),getEnum("HOST_NAME"),getEnum("SESSION_START_TIME"),getEnum("SESSION_END_TIME")],listeners:new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}}),proxy:new Ext.data.ScriptTagProxy({url:a.gridStoreUrl,timeout:300000})}))}});Store_Combobox_HostGroup=Ext.extend(Ext.data.JsonStore,{constructor:function(a){Store_Combobox_HostGroup.superclass.constructor.call(this,Ext.apply(a,{id:"hostGroupStore",root:"items",autoLoad:true,totalProperty:"totalCount",baseParams:{storeId:"HostGroup"},fields:[getEnum("HOSTGROUP_ID"),getEnum("HOSTGROUP_NAME")],proxy:new Ext.data.ScriptTagProxy({url:a.dataUrl})}))}});HostGroupCombobox=Ext.extend(Xf_Form_ComboBox,{constructor:function(a){HostGroupCombobox.superclass.constructor.call(this,Ext.applyIf(a,{id:"hostGroupCombo",mode:"local",width:300,name:getEnum("BASIC_SEARCH_PARAM")+getEnum("HOSTGROUP_ID"),displayField:getEnum("HOSTGROUP_NAME"),valueField:getEnum("HOSTGROUP_ID"),hiddenValue:getEnum("HOSTGROUP_ID"),fieldLabel:translate("report-filter_description")+" "+translate("report-filter_host_group_label")}))}});Features_Panel_Information=Ext.extend(Ls_Panel_Information,{constructor:function(a){var b=a.userIsAdmin?Features_Panel_ToolButton_Collection.get({featureId:a.featureId,featureName:a.featureName}):[];Features_Panel_Information.superclass.constructor.call(this,Ext.apply(a,{tools:b}))}});LicenseServers_Panel_Information=Ext.extend(Ext.Panel,{constructor:function(a){a.tools=a.userIsAdmin?LicenseServers_Panel_ToolButton_Collection.get(a.toolButtonsConfig):[];LicenseServers_Panel_Information.superclass.constructor.call(this,Ext.apply(a,{id:"infoPanel",collapsible:true,animCollapse:false,collapseFirst:false,title:translate("panel_information_licenses_title"),titleCollapse:true,tools:a.tools}))}});Ls_Panel_Information=Ext.extend(Ext.Panel,{constructor:function(a){Ls_Panel_Information.superclass.constructor.call(this,Ext.apply(a,{collapsible:true,animCollapse:false,collapseFirst:false,title:translate("panel_information_licenses_title"),titleCollapse:true}))}});Plugin_Report_DatePicker_Refresher_LicenseServer=function(b){var c=b.datesUrl;var e=b.datePickers;var a=function(h){var g=Ext.decode(h.responseText).data;var l=Date.parseDate(g.minDate,"Y-m-d");var n=Date.parseDate(g.maxDate,"Y-m-d");var o=[];while(l<n){if(!g.dates.exists(l.format("Y-m-d"))){o.push(l.format("Y-m-d"))}l=l.add(Date.DAY,1)}for(var k=0;k<e.length;++k){e[k].setMinValue(g.minDate);e[k].setMaxValue(g.maxDate);if(o.length>0){e[k].setDisabledDates(o)}e[k].setValue(g.maxDate);e[k].enable();e[k].validate()}};var d=function(k){for(var h=0;h<e.length;++h){e[h].disable()}var g=c.replace("#"+getEnum("LICENSE_SERVER_ID"),k.getValue()).replace("#"+getEnum("FEATURE_ID"),"");Ext.Ajax.request({url:g,success:a})};return{init:function(g){g.on({select:d})}}};Plugin_Panel_Form_Loader=function(a){var b=function(c){if(Ext.isEmpty(a.successStrategy)){a.successStrategy=function(){return function(){Ext.Msg.hide()}}}c.getForm().load({method:"GET",url:a.dataUrl,success:a.successStrategy(c)})};return{init:function(c){c.on({afterrender:b})}}};Form_Fields_ComboBox_MailAuthenticationType=Ext.extend(Xf_Form_ComboBox,{constructor:function(a){Form_Fields_ComboBox_MailAuthenticationType.superclass.constructor.call(this,Ext.apply(a,{mode:"local",displayField:"name",valueField:"value",fieldLabel:translate("form_mail_server-auth_type"),hiddenName:getEnum("MAILSERVER_AUTH_TYPE"),hiddenValue:"value",value:getEnum("AUTH_LOGIN"),store:new Ext.data.JsonStore({fields:["name","value"],data:[{name:translate("form_mail_server-auth_type_none"),value:getEnum("AUTH_NONE")},{name:translate("form_mail_server-auth_type_plain"),value:getEnum("AUTH_PLAIN")},{name:translate("form_mail_server-auth_type_login"),value:getEnum("AUTH_LOGIN")},{name:translate("form_mail_server-auth_type_crammd5"),value:getEnum("AUTH_CRAMMD5")}]})}))},refresh:function(){this.fireEvent("select",this)}});Admin_DatabaseManagement_Panel_Main=Ext.extend(Ls_Panel_Main,{constructor:function(a){var b=new Store_Grid_Admin_DatabaseSize({autoLoad:true,dataUrl:a.extjsGetStoreDataUrl});Admin_DatabaseManagement_Panel_Main.superclass.constructor.call(this,Ext.apply(a,{items:[new Admin_DatabaseManagement_Panel_Form_Delete({url:a.extjsDeleteDataUrl,recordsDateRange:a.recordsDateRange,databaseSizeStore:b}),new Grid_Admin_DatabaseSize({title:translate("report-database_size"),converterUrl:a.converterUrl,store:b})]}))}});Admin_Ldap_Form_Main=Ext.extend(Xf_Panel_Form,{constructor:function(b){var a=[Xf_Form_Field_Factory.create("textfield",{fieldLabel:"form_ldap-host",name:"LDAP_HOST_URL",disabled:true}),Xf_Form_Field_Factory.create("textfield",{fieldLabel:"form_ldap-port",name:"LDAP_PORT",value:389,disabled:true}),Xf_Form_Field_Factory.create("textfield",{fieldLabel:"form_ldap-base_dn",name:"LDAP_BASE_DN",disabled:true}),Xf_Form_Field_Factory.create("textfield",{fieldLabel:"form_ldap-manager_dn",name:"LDAP_MANAGER_DN",disabled:true}),Xf_Form_Field_Factory.create("textfield",{fieldLabel:"form_ldap-manager_password",name:"LDAP_MANAGER_PASSWORD",inputType:"password",disabled:true}),Xf_Form_Field_Factory.create("textfield",{fieldLabel:"form_ldap-account_domain_name",name:"LDAP_ACCOUNT_DOMAIN_NAME",disabled:true}),Xf_Form_Field_Factory.create("textfield",{fieldLabel:"form_ldap-user_filter",name:"LDAP_USER_FILTER",value:"(sAMAccountName=%s)",disabled:true})];this.verifyButton=new Ext.Button({text:translate("button_verify"),formBind:true,disabled:true,plugins:[new Plugin_Button_VerifyAction({url:b.testUrl,method:"POST",message:"ldap_test-confirmation",form:this})]});Admin_Ldap_Form_Main.superclass.constructor.call(this,Ext.applyIf(b,{title:translate("form_ldap_server-title"),labelWidth:150,items:{xtype:"xffieldset",defaults:{msgTarget:"under",width:300,maxLength:255,allowBlank:false},items:[new Xf_Form_Checkbox({name:getEnum("LDAP_ENABLED"),fieldLabel:translate("form_ldap-enable"),disabled:false,submitValue:true,inputValue:1,plugins:[new Xf_Plugin_Form_Field_DisableFields({eventName:"check",triggerValue:true,disabled:false,items:a})]})].concat(a)},buttons:[new Ext.Button({text:translate("button_save"),formBind:true,plugins:new Plugin_Button_SaveAction({url:b.url,formPanel:this})}),this.getVerifyButton()]}))},getVerifyButton:function(){return this.verifyButton},setVerifyButtonState:function(){this.getVerifyButton().setDisabled(!this.getForm().isValid())}});Ext.reg("adminldapformmain",Admin_Ldap_Form_Main);LicenseServers_Panel_Main=Ext.extend(Ls_Panel_Main,{constructor:function(a){var e=new Ext.Panel({border:false,items:[]});var d=new Ext.Panel({html:{id:"server-submenu"},unstyled:true,height:35});var c=new Ext.Panel({autoscroll:true,border:false,items:[]});var b=new LicenseSevers_Form_ComboBox({converterUrl:a.converterUrl,criteriaUrl:a.serverCriteriaUrl,serverDataUrl:a.serverDataUrl,licenseServerId:a.licenseServerId,plugins:[new Plugin_Form_ComboBox_SelectAction({informationElementId:"server-info",serverDataUrl:a.serverDataUrl}),new Plugin_Panel_SubmenuTabs_ServersDataLoadedAction({submenuTabsElementId:"server-submenu",html:a.mainPanelSubmenuTabs}),new Plugin_Panel_Information_ServersDataLoadedAction({panel:e,userIsAdmin:a.userIsAdmin}),new Plugin_Grid_Activity_ServersDataLoadedAction({converterUrl:a.converterUrl,grid:c,gridStoreUrl:a.gridStoreUrl,identityId:a.identityId,userIsAdmin:a.userIsAdmin,refreshInterval:a.refreshInterval,phpNow:a.phpNow,allowedInterval:a.allowedInterval})]});LicenseServers_Panel_Main.superclass.constructor.call(this,Ext.apply(a,{items:[new LicenseServers_Panel_Form_BasicFiltering({serversComboBox:b}),d,e,c]}))}});Ls_Panel_Main=Ext.extend(Xf_Panel,{constructor:function(a){a=a||{};Ls_Panel_Main.superclass.constructor.call(this,Ext.apply(a,{autoHeight:true,applyTo:"portal_data",layout:"fit",defaults:{frame:true,animCollapse:false}}))}});LicenseServers_Form_ComboBox_Merge=Ext.extend(Xf_Form_ComboBox,{constructor:function(a){LicenseServers_Form_ComboBox_Merge.superclass.constructor.call(this,Ext.apply(a,{allowBlank:false,fieldLabel:translate("dialog-servers_to_merge_with"),valueField:getEnum("LICENSE_SERVER_ID"),displayField:getEnum("LICENSE_SERVER_NAME"),hiddenName:getEnum("LICENSE_SERVER_ID"),hiddenValue:getEnum("LICENSE_SERVER_NAME"),mode:"local"}))}});LicenseServers_Store_Merge=Ext.extend(Xf_Grid_Store_Json,{constructor:function(a){LicenseServers_Store_Merge.superclass.constructor.call(this,Ext.apply(a,{root:getEnum("LICENSESERVERS"),remoteSort:false,autoLoad:{params:{start:0}},sortInfo:{field:getEnum("LICENSE_SERVER_NAME"),direction:"ASC"},fields:[getEnum("LICENSE_SERVER_ID"),getEnum("LICENSE_SERVER_NAME")]}))}});LicenseServers_Window_TabPanel_Tabs_Merge=Ext.extend(Ls_Window_Form_Abstract,{constructor:function(b){var a=new Xf_Params();a.setParam(getEnum("LICENSE_SERVER_ID")+"_2",b.licenseServerId);var d=new Ext.Button({text:translate("button_save"),handler:new Plugin_Button_FormSaver({formPanel:this,url:b.actionUrl,success:this.getStrategy(b),params:a.getParams()})});var c=new LicenseServers_Store_Merge({gridStoreUrl:b.dataUrl});var e=new LicenseServers_Form_ComboBox_Merge({store:c,plugins:[new Xf_Plugin_ComboBox_FirstValueHelper({recordIdKey:"LICENSE_SERVER_ID"})]});c.on(new Plugin_Store_EmptyStoreHandler({comboBox:e,comboBoxValue:translate("dialog-no_servers_to_merge"),button:d}));LicenseServers_Window_TabPanel_Tabs_Merge.superclass.constructor.call(this,Ext.apply(b,{title:translate("dialog-merging_tab"),width:550,height:140,items:[e],buttons:[d,new Ext.Button({text:translate("button_close"),plugins:[new Xf_Plugin_Button_Close(LicenseServers_Window_Edit)]})]}))}});Index_Grid_MostUtilizedFeatures=Ext.extend(Ext.ux.grid.Paging,{constructor:function(a){Index_Grid_MostUtilizedFeatures.superclass.constructor.call(this,Ext.apply(a,{title:translate("grid_caption-most_utilized_features"),stateId:"dashboard_most_utilized_features",height:400,pageSize:20,colModel:new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-feature","FEATURE_NAME",{renderer:a.renderer.feature,filter:{type:"string"}}),Xf_Grid_Column_Factory.get("grid_column_title-vendor","VENDOR_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-server","LICENSE_SERVER_NAME",{renderer:a.renderer.server,filter:{type:"string"}}),Xf_Grid_Column_Factory.get("grid_column_title-used_licenses","LICENSE_USED",{align:"center",filter:{type:"numeric"}}),Xf_Grid_Column_Factory.get("grid_column_title-total_licenses","LICENSE_TOTAL_COUNT",{renderer:a.renderer.unlimited,align:"center",filter:{type:"numeric"}}),Xf_Grid_Column_Factory.get("grid_column_title-utilization","LICENSE_UTILIZATION",{renderer:a.renderer.utilization})]}),tbar:new Ext.Toolbar({layout:"form",items:[new ServersCombobox({name:getEnum("BASIC_SEARCH_PARAM")+getEnum("LICENSE_SERVER_ID"),criteriaUrl:a.serverCriteriaUrl,plugins:[new Xf_Plugin_ComboBox_DefaultValueHelper({recordIdKey:"LICENSE_SERVER_ID",recordValueKey:"SERVER_NAME",recordValue:"report-combobox_value_all",recordId:0}),new Plugin_ComboBox_GridConfigurator({converterUrl:a.converterUrl,start:0,limit:20,grid:this})]})]})}))}});Index_Store_MostUtilizedFeatures=Ext.extend(Ext.data.JsonStore,{constructor:function(a){var b=new Xf_Params();b.setParam(getEnum("BASIC_SEARCH_PARAM")+getEnum("LICENSE_SERVER_ID"),0);b.setParam("start",0);b.setParam("limit",20);Index_Store_MostUtilizedFeatures.superclass.constructor.call(this,Ext.apply(a,{root:"most_utilized_features",totalProperty:"totalCount",idProperty:"id",remoteSort:true,baseParams:Ext.applyIf(a.baseParams,b.getParams()),sortInfo:{field:getEnum("LICENSE_UTILIZATION"),direction:"DESC"},fields:[getEnum("FEATURE_ID"),getEnum("FEATURE_NAME"),getEnum("FEATURE_DESCRIPTION"),getEnum("LICENSE_SERVER_ID"),getEnum("LICENSE_SERVER_NAME"),getEnum("SERVER_DESCRIPTION"),getEnum("VENDOR_NAME"),getEnum("LICENSE_USED"),getEnum("LICENSE_TOTAL_COUNT"),getEnum("LICENSE_UTILIZATION")],proxy:new Ext.data.ScriptTagProxy({url:a.proxyUrl})}))}});MultipleElementsPanel=Ext.extend(Ext.form.FormPanel,{frame:false,autoHeight:true,layout:"column",defaults:{layout:"form",columnWidth:0.5},collapsible:true,titleCollapse:true,collapseFirst:false,buttonAlign:"center",getColumn2ValuesAsString:function(){var c=this.items.last().items;var a="";for(var b=0;b<c.length;++b){a+=c.get(b).getValue()+","}return a.substring(0,a.length-1)},addRow:function(c){var b=this.items.getCount();if(c.length<b){b=c.length}for(var a=0;a<b;++a){this.items.itemAt(a).items.addAll([c[a]])}},removeRow:function(){for(var a=this.items.getCount()-1;a>=0;--a){this.items.itemAt(a).remove(this.items.itemAt(a).items.last(),true)}},getRowCount:function(){return this.items.first().items.length},getColumn1:function(){return this.items.first().items},getColumn2:function(){return this.items.itemAt(1).items},getColumn:function(a){if(a>=this.items.getCount()){return this.items.last().items}if(a<0){return this.items.first().items}return this.items.itemAt(a).items},getElements:function(){var d=[];var c=this.items.getCount();for(var b=0;b<c;++b){for(var a=0;a<this.getColumn(b).getCount();++a){d.push(this.getColumn(b).itemAt(a))}}return d},constructor:function(a){MultipleElementsPanel.superclass.constructor.apply(this,arguments)}});Ext.reg("multiple-elements-panel",MultipleElementsPanel);ChartPanel=Ext.extend(Ext.Panel,{constructor:function(a){ChartPanel.superclass.constructor.call(this,Ext.apply(a,{header:false,id:"chartPanel",frame:false,height:350,border:false}))}});Admin_Email_ParamsFactory=function(a){var b=new Xf_Params();b.setParam(getEnum("MAILSERVER_ENABLE_HIDDEN"),a.getForm().findField(getEnum("MAILSERVER_ENABLE")).getValue());return b.getParams()};Plugin_Button_PopupCreator=function(d){var a;var b=function(e){if(Ext.isEmpty(a)){a=new Ext.ToolTip({html:d.label,target:e.getId()})}};var c=function(e){a.targetXY=e.getPosition();a.show()};return{init:function(e){e.on({afterrender:b,mouseover:c})}}};Plugin_Store_PopupCreator=function(){var b=function(d,c,g,e,h){if(!Ext.isEmpty(c.get(getEnum(e)))&&!Ext.isEmpty(c.get(getEnum(g)))){return new Ext.ToolTip({html:translate("description")+": "+c.get(getEnum(g)),target:d.root+h+c.id})}};var a=function(d,c){for(var e=0;e<c.length;++e){b(d,c[e],"SERVER_DESCRIPTION","LICENSE_SERVER_NAME","server");b(d,c[e],"FEATURE_DESCRIPTION","FEATURE_NAME","feature")}};return{load:a}};Plugin_Form_ComboBox_RawValueSetter=function(a){var b=true;return{init:function(c){c.getStore().on({load:function(e,d){if(b){c.setValue(a.value);b=false;return}}})}}};Grid_Report_RealtimeBorrowedLicenses=Ext.extend(Ext.ux.grid.Paging,{constructor:function(a){Grid_Report_RealtimeBorrowedLicenses.superclass.constructor.call(this,Ext.applyIf(a,{title:translate("grid_caption-realtime_borrowed_licenses"),colModel:new Xf_Grid_ColumnModel({columns:[new Ext.grid.RowNumberer(),Xf_Grid_Column_Factory.get("grid_column_title-server","LICENSE_SERVER_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-feature","FEATURE_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-used_licenses","LICENSE_USED"),Xf_Grid_Column_Factory.get("grid_column_title-checkout-time","LICENSE_CHECKED_OUT"),Xf_Grid_Column_Factory.get("grid_column_title-borrow_expiration_date","LICENSE_BORROW_EXPIRE"),Xf_Grid_Column_Factory.get("grid_column_title-username","USER_NAME"),Xf_Grid_Column_Factory.get("grid_column_title-hostname","HOST_NAME")]}),converterUrl:{}}))}});Store_Grid_RealtimeBorrowedLicenses=Ext.extend(Xf_Grid_Store_Json,{constructor:function(a){Store_Grid_RealtimeBorrowedLicenses.superclass.constructor.call(this,Ext.applyIf(a,{autoLoad:false,root:getEnum("BORROWED_LICENSES"),baseParams:{storeId:"Feature_Borrowed",start:0,limit:50},sortInfo:{field:getEnum("LICENSE_BORROW_EXPIRE"),direction:"ASC"},fields:[getEnum("LICENSE_SERVER_NAME"),getEnum("FEATURE_NAME"),getEnum("LICENSE_USED"),getEnum("LICENSE_CHECKED_OUT"),getEnum("LICENSE_BORROW_EXPIRE"),getEnum("USER_NAME"),getEnum("HOST_NAME")],listeners:new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}})}))}});LicenseServer_Grid_Activity_Strategy_RealtimeUsage=function(a){return{createGrid:function(b){return new LicenseServers_Grid_Activity(Ext.apply(b,{storeId:"LicenseServer_Activity_RealtimeUsage",licenseServerIsImported:a.isImported}))}}};Ls_Window_Form_Strategy_Redirect=function(a){var b=function(d,c){for(var e in c){if(Ext.isString(c[e])||Ext.isNumber(c[e])){d=d.replace("#"+e,c[e])}}return d};return function(c,d){if(!Ext.isEmpty(d.response)){a=b(a,Ext.decode(d.response.responseText).data)}window.location.href=a}};Plugin_Form_ComboBox_Redirector=function(a){return{init:function(b){b.on({select:function(c){window.location.href=a.url.replace("#"+getEnum(a.paramId),c.getValue())}})}}};LicenseServers_Window_Form_Strategy_Refresh=function(a,b){var c=function(e,d,g){e.removeListener("load",c);if(d.length===0){window.location.href=b}};return function(d,e){Ext.Msg.hide();a.addListener("load",c);a.reload()}};Ls_Window_Form_Strategy_Refresh=function(a){return function(b,c){Ext.Msg.hide();a.reload()}};Plugin_Button_SaveAction=function(b){var a=function(d,e){b.formPanel.fireEvent("afterrender",b.formPanel)};var c=function(d){var e={waitMsg:translate("message-please_wait"),url:b.url,success:a};if(!Ext.isEmpty(b.paramsFactory)){e.params=b.paramsFactory(b.formPanel)}b.formPanel.getForm().submit(e)};return{init:function(d){d.on({click:c})}}};Plugin_Administration_Email_SaveAction=function(b){var a=function(d,e){b.formPanel.fireEvent("afterrender",b.formPanel)};var c=function(d){b.formPanel.getForm().submit({waitMsg:translate("message-please_wait"),url:b.url,params:params.getParams(),success:a})};return{init:function(d){d.on({click:c})}}};Plugin_Form_ComboBox_SelectAction=function(b){var a=true;var c=function(e){if(!a){var d=new Ext.LoadMask("infoPanel");d.show()}Ext.Ajax.request({url:b.serverDataUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),e.getValue()),success:function(g){if(!a){d.hide()}else{a=false}e.setLicenseServerData(Ext.decode(g.responseText).data).fireEvent("serversdataloaded",e)}})};return{init:function(d){d.on({select:c})}}};ServerFeatureComboboxSync=function(a){var b=function(c){var d=new Xf_Params();d.setParam(getEnum("BASIC_SEARCH_PARAM")+getEnum("LICENSE_SERVER_ID"),c.getValue());a.disable();a.clearValue();a.getStore().load({params:d.getParams,callback:function(){a.enable();a.validate()}})};return{init:function(c){c.on({select:b})},select:b}};var replace=[];ServersCombobox=Ext.extend(Ext.ux.XfComboBox,{constructor:function(a){ServersCombobox.superclass.constructor.call(this,Ext.apply(a,{fieldLabel:translate("license_server"),displayField:getEnum("SERVER_NAME"),valueField:getEnum("LICENSE_SERVER_ID"),autoSelect:false,allowBlank:false,disabled:true,tpl:'<tpl for="."><div class="x-combo-list-item">{'+getEnum("SERVER_NAME")+"}</div></tpl>",store:new Ext.data.JsonStore({autoLoad:{callback:function(b){return function(){if(!Ext.isEmpty(a.licenseServerId)){b.setValue(a.licenseServerId)}else{b.setValue(this.getAt(0).get(getEnum("LICENSE_SERVER_ID")))}if(!Ext.isDefined(a.redirectUrl)){b.fireEvent("select",b)}b.enable()}}(this)},totalProperty:"totalCount",root:"licenseServers",sortInfo:{field:getEnum("SERVER_NAME"),direction:"ASC"},fields:[getEnum("LICENSE_SERVER_ID"),getEnum("SERVER_NAME")],url:a.criteriaUrl})}));if(Ext.isDefined(a.redirectUrl)){this.addListener({select:function(b){window.location.href=a.redirectUrl.replace("#"+getEnum("LICENSE_SERVER_ID"),b.getValue())}})}}});Plugin_Grid_Activity_ServersDataLoadedAction=function(b){var a=function(d,e){if(d&&!e){return new LicenseServer_Grid_Activity_Strategy_FeaturesAndDenials({isImported:d})}return new LicenseServer_Grid_Activity_Strategy_RealtimeUsage({isImported:d})};var c=function(g){var e=g.getLicenseServerData();var d=a(e.isImported,e.hasCurrentUsage).createGrid({converterUrl:b.converterUrl,gridStoreUrl:b.gridStoreUrl,identityId:b.identityId,licenseServerId:e.id,licenseServerHasCurrentUsage:e.hasCurrentUsage,licenseServerHasTotalLicenses:e.hasTotalLicenses,refreshInterval:b.refreshInterval,userIsAdmin:b.userIsAdmin,phpNow:b.phpNow,allowedInterval:b.allowedInterval});b.grid.removeAll();b.grid.items.addAll([d]);b.grid.doLayout()};return{init:function(d){d.on({serversdataloaded:c})}}};Plugin_Panel_Information_ServersDataLoadedAction=function(a){var b=function(d){var c=d.getLicenseServerData();a.panel.removeAll();a.panel.items.addAll([new LicenseServers_Panel_Information({userIsAdmin:a.userIsAdmin,html:c.html,toolButtonsConfig:{licenseServerId:c.id,licenseServerName:c.serverName,licenseServerServerId:c.serverId,licenseServerServerGatheringTypeId:c.serverGatheringTypeId}})]);a.panel.doLayout()};return{init:function(c){c.on({serversdataloaded:b})}}};Plugin_Panel_SubmenuTabs_ServersDataLoadedAction=function(a){var b=function(c){Ext.DomHelper.overwrite(a.submenuTabsElementId,a.html.replace(new RegExp("#"+getEnum("LICENSE_SERVER_ID"),"g"),c.getLicenseServerData().id))};return{init:function(c){c.on({serversdataloaded:b})}}};Admin_Email_Strategy_Success=function(a){return function(b,c){if(b.findField(getEnum("MAILSERVER_NAME")).getValue().length>0){b.findField(getEnum("MAILSERVER_ENABLE")).setValue(true)}a.enableVerifyButton()}};Admin_Ldap_Form_Main_Strategy_Success=function(a){return function(b,c){a.setVerifyButtonState()}};Plugin_Report_DatePicker_SynchroniseMaxValue=function(a){var b=a;return{select:function(d,c){b.setMaxValue(c);if(b.getValue()>c){b.setValue(c)}}}};Plugin_Report_DatePicker_SynchroniseMinValue=function(a){var b=a;return{select:function(d,c){b.setMinValue(c);if(b.getValue()<c){b.setValue(c)}}}};LicenseServers_Window_TabPanel=Ext.extend(Xf_TabPanel,{constructor:function(a){LicenseServers_Window_TabPanel.superclass.constructor.call(this,Ext.apply(a,{border:false,items:[new LicenseServers_Window_TabPanel_Tabs_General({dataUrl:a.generalDataUrl,actionUrl:a.generalActionUrl,redirectUrl:a.generalRedirectUrl,refreshComponent:a.generalRefreshComponent}),new LicenseServers_Window_TabPanel_Tabs_Alias({store:new LicenseServers_Store_Alias(Ext.copyTo({},a,"aliasDataUrl, aliasAddUrl, aliasEditUrl, aliasDeleteUrl"))}),new LicenseServers_Window_TabPanel_Tabs_Merge({dataUrl:a.mergeDataUrl,actionUrl:a.mergeActionUrl,redirectUrl:a.mergeRedirectUrl,refreshComponent:a.mergeRefreshComponent,licenseServerId:a.licenseServerId})]}))}});Ls_Form_TimeField=Ext.extend(Xf_Form_TimeField,{constructor:function(a){Ls_Form_TimeField.superclass.constructor.call(this,Ext.apply(a,{width:300,allowBlank:false}))}});Form_Fields_ComboBox_TimeIntervalComboBox=Ext.extend(Ls_Form_ComboBox,{constructor:function(a){Form_Fields_ComboBox_TimeIntervalComboBox.superclass.constructor.call(this,Ext.applyIf(a,{id:getEnum("URL_PARAM_NAME_INTERVAL"),name:getEnum("URL_PARAM_NAME_INTERVAL"),valueField:getEnum("TIMEINTERVAL_ID"),displayField:getEnum("TIMEINTERVAL_NAME"),fieldLabel:translate("time_interval-group_in"),allowBlank:false,mode:"local",disabled:true}))},refreshStore:function(a){this.getStore().loadData(a);this.setValue(this.getStore().getAt(2).get(getEnum("TIMEINTERVAL_ID")))}});Plugin_Combobox_TimeIntervalComboBoxRefresher=function(d){var b=d.groupByTimeIntervalCombo;var g=d.dateRangePicker;var e=d.applyButton;var a=function(h){b.disable();b.store.loadData(b.getJsonData()[getEnum("TIMEINTERVAL")][h.getValue()]);b.setValue(b.getStore().getAt(0).get(getEnum("GRANULARITIES_ID")));b.enable();g.setDateOptions(h.getValue());e.enable()};var c=function(){b.disable();g.disable();e.disable()};return{init:function(h){h.on({select:a,enable:a,disable:c})}}};Plugin_Combobox_TimeIntervalFieldsetRefresher=function(d){var g=d.licenseServerCombo;var k=d.groupByTimeIntervalCombo;var l=d.dateRangePicker;var h=d.timeIntervalCombo;var c=d.ajaxDataUrl;var b=function(){h.disable();l.disable();k.disable()};var a=function(o){var q={};q[getEnum("TIMEINTERVAL")]=[];for(var p in o[getEnum("TIMEINTERVAL")]){var n=new Xf_Params();n.setParam(getEnum("TIMEINTERVAL_ID"),o[getEnum("TIMEINTERVAL")][p][getEnum("TIMEINTERVAL_ID")]);n.setParam(getEnum("TIMEINTERVAL_NAME"),o[getEnum("TIMEINTERVAL")][p][getEnum("TIMEINTERVAL_NAME")]);q[getEnum("TIMEINTERVAL")].push(n.getParams())}return q};var e=function(o){var n=new Xf_Params();n.setParam(getEnum("BASIC_SEARCH_PARAM")+getEnum("LICENSE_SERVER_ID"),g.getValue());n.setParam(getEnum("BASIC_SEARCH_PARAM")+getEnum("FEATURE_ID"),o.getValue());b();Ext.Ajax.request({url:c,params:n.getParams(),method:"GET",success:function(p){var q=Ext.decode(p.responseText);k.setJsonData(q);l.setJsonData(q);h.refreshStore(a(q));h.enable();l.enable();k.enable()}})};return{init:function(n){n.on({select:e,enable:e,disable:b})}}};EmailSubscription_Store_FeatureEvent_UsageExceeded=Ext.extend(EmailSubscription_Store_FeatureEvent,{constructor:function(a){EmailSubscription_Store_FeatureEvent_UsageExceeded.superclass.constructor.call(this,Ext.applyIf(a,{root:getEnum("EMAILSUBSCRIPTION_FEATURE_USAGE_EXCEEDED")}));this.setBaseParam("storeId","Feature_EmailSubscription_UsageExceeded")}});Grid_Report_UsagePerUser=Ext.extend(Ext.ux.XfGridPanel,{constructor:function(a){Grid_Report_UsagePerUser.superclass.constructor.call(this,Ext.apply(a,{animCollapse:false,titleCollapse:true,anchor:"100%",loadMask:true,frame:true,draggable:false,height:600,title:translate("report_name-usage_per_user"),trackMouseOver:true,disableSelection:false,stripeRows:true,plugins:[new Ext.ux.grid.GridFilters({encode:false,local:false})],viewConfig:{forceFit:true},bbar:[new Ext.PagingToolbar({pageSize:50,store:a.store,displayInfo:true,displayMsg:"Rows {0} - {1} of {2}",emptyMsg:"No data to display",plugins:[new Ext.ux.plugin.PagingToolbarResizer({options:[50,100,500,1000],displayText:""})]}),{xtype:"tbseparator"},new Ext.ux.button.Converter({converterUrl:a.converterUrl,plugins:[new Xf_Plugin_Button_ExportMenuRefresher({store:a.store,controlledItems:["converter-excel-item","converter-pdf-item"],maxRowsToExport:1000})]})]}))}});Store_Grid_UsagePerUser=Ext.extend(Ext.data.JsonStore,{constructor:function(a){Store_Grid_UsagePerUser.superclass.constructor.call(this,Ext.apply(a,{root:"usage_per_user",totalProperty:"totalCount",idProperty:"id",remoteSort:true,autoLoad:{params:{start:0,limit:50}},baseParams:Ext.apply({storeId:"Feature_UsagePerUser",start:0,limit:50},a.baseParams),sortInfo:{field:getEnum("FEATURE_NAME_DISPLAYNAME"),direction:"DESC"},fields:[getEnum("USERGROUP_NAME"),getEnum("HOSTGROUP_NAME"),getEnum("USER_NAME"),getEnum("HOST_NAME"),getEnum("FEATURE_NAME_DISPLAYNAME"),getEnum("LICENSE_USAGE_DATE"),getEnum("LICENSE_HOURS_USED_PERCENT"),getEnum("LICENSE_HOURS_USED"),getEnum("LICENSE_BORROWED_HOURS"),getEnum("LICENSE_USED_MAX"),getEnum("LICENSE_BORROWED_MAX"),getEnum("LICENSE_DENIAL_TOTAL_COUNT")],listeners:new Xf_Plugin_Store_ExceptionHandler({timeout:{title:translate("dialog_title-warning"),msg:translate("grid_warning-request_timeout"),icon:Ext.Msg.WARNING,buttons:Ext.Msg.OK},sessionExpired:{title:translate("dialog_title-info"),msg:translate("grid_info-session_expired"),icon:Ext.Msg.INFO,buttons:Ext.Msg.OK}}),proxy:new Ext.data.ScriptTagProxy({url:a.dataUrl,timeout:90000})}))}});Store_Combobox_UserGroup=Ext.extend(Ext.data.JsonStore,{constructor:function(a){Store_Combobox_UserGroup.superclass.constructor.call(this,Ext.apply(a,{id:"userGroupStore",root:"items",autoLoad:true,totalProperty:"totalCount",baseParams:{storeId:"UserGroup"},fields:[getEnum("USERGROUP_ID"),getEnum("USERGROUP_NAME")],proxy:new Ext.data.ScriptTagProxy({url:a.dataUrl})}))}});UserGroupCombobox=Ext.extend(Xf_Form_ComboBox,{constructor:function(a){UserGroupCombobox.superclass.constructor.call(this,Ext.applyIf(a,{id:"userGroupCombo",mode:"local",width:300,name:getEnum("BASIC_SEARCH_PARAM")+getEnum("USERGROUP_ID"),autoSelect:true,displayField:getEnum("USERGROUP_NAME"),valueField:getEnum("USERGROUP_ID"),hiddenValue:getEnum("USERGROUP_ID"),fieldLabel:translate("report-filter_description")+" "+translate("report-filter_user_group_label")}))}});Plugin_Button_VerifyAction=function(a){var c=function(e){Ext.Msg.wait(translate("message-please_wait"),translate("window_title-wait"));Ext.Ajax.request({url:a.url,method:a.method,params:a.form.getForm().getFieldValues(),success:b,failure:function(){Ext.Msg.hide()}})};var d=function(e){if(e.success===false){if(!Ext.isEmpty(a.failureMessageConfig)){return a.failureMessageConfig}return{title:translate("dialog_title-error"),msg:e.errors,icon:Ext.MessageBox.ERROR}}return{title:translate("confirm"),msg:translate(a.message),icon:Ext.MessageBox.INFO}};var b=function(e,g){Ext.Msg.hide();var h=d(Ext.decode(e.responseText));Ext.Msg.show(Ext.apply(h,{buttons:Ext.MessageBox.OK}))};return{init:function(e){e.on({click:c})}}};Plugin_Administration_Email_VerifyAction=function(a){var c=function(d){Ext.Msg.wait(translate("message-please_wait"),translate("window_title-wait"));Ext.Ajax.request({url:a,success:b,failure:function(){Ext.Msg.hide()}})};var b=function(e,h){var d=Ext.decode(e.responseText);var l;var k;var g;if(d.success===false){l=translate("dialog_title-error");k=d.errors;g=Ext.MessageBox.WARNING}else{l=translate("confirm");k=translate("mail_test-confirmation");g=Ext.MessageBox.INFO}Ext.Msg.hide();Ext.Msg.show({title:l,msg:k,icon:g,buttons:Ext.MessageBox.OK})};return{init:function(d){d.on({click:c})}}};Ls_Window=Ext.extend(Xf_Window,{constructor:function(a){Ls_Window.superclass.constructor.call(this,Ext.applyIf(a,{width:570,height:370,autoHeight:false}))}});Ext.reg("lswindow",Ls_Window);Plugin_Proxy_WriteAction=function(a){return function(){Ext.MessageBox.hide();a.reload()}};$(window).load(function(){if(jQuery.browser.msie){if(parseInt(jQuery.browser.version)==6){var a="<html>";a+="<head>";a+="<title>Browser not supported</title>";a+="</head>";a+="<body>";a+="<p>Your browser is not supported. Please update it.</p>";a+="</body>";a+="</html>";document.write(a)}}});var mouseX=0;var mouseY=0;var iPopupShowTimerId=null;var iPopupShowTimerDelay=1.5;var iPopupCloseTimerId=null;var iPopupCloseTimerDelay=5;var content="";$(document).ready(function(){$(document).mousemove(function(a){mouseX=a.pageX;mouseY=a.pageY});setFocusOnLoginFieldOnLoginPage();$(".ui-jqgrid.ui-widget.ui-widget-content.ui-corner-all").css("margin: 0px auto;")});function hidePopup(){clearTimeout(iPopupShowTimerId);$("#popup").hide()}function displayPopup(a,b){clearTimeout(iPopupShowTimerId);$("#popup").html(content?content:"");$("#popup").css("left",a+20+"px");$("#popup").css("top",b+"px");$("#popup").show();$("#popup").unbind();if(iPopupCloseTimerId!=null){clearTimeout(iPopupCloseTimerId)}iPopupCloseTimerId=setTimeout("hidePopup()",iPopupCloseTimerDelay*1000);$("#popup").mouseleave(function(){hidePopup()});$("div.ui-jqgrid").mouseleave(function(){hidePopup()});$("#popup").mouseenter(function(){clearTimeout(iPopupCloseTimerId)})}function showPopup(b,a){hidePopup();if(iPopupShowTimerId!=null){clearTimeout(iPopupShowTimerId)}content=a;sFunctionName="displayPopup("+mouseX+", "+mouseY+")";iPopupShowTimerId=setTimeout(sFunctionName,iPopupShowTimerDelay*1000)}(function(a){a.xf={};a.xfAlert=function(b){a.xf.alert=b;a("#ui_alert_dialog .message").html(b.message);a("#ui_alert_dialog").dialog("open")};a.xfConfirm=function(b){a.xf.confirm=b;a("#ui_confirm_dialog .message").html(b.message);a("#ui_confirm_dialog").dialog("open");return false};a.xfDialog=function(c){a.xf.dialog=c;var d=(typeof c.width!="undefined"?c.width:400);var b=(typeof c.height!="undefined"?c.height:200);a("#ui_dialog").dialog("option","width",d);a("#ui_dialog").dialog("option","height",b);a("#ui_dialog").dialog("option","title",c.title);if(c.resizable!="undefined"){a("#ui_dialog").dialog("option","resizable",false)}a.xfDialog.loader();a.ajax({url:c.url,success:function(e){a("#ui_dialog .content").html(e);a(".element.text").keypress(function(h){if(h.keyCode=="13"){h.preventDefault();var g=a.xf.dialog.submit;if(typeof g!="undefined"){g()}}})}});a("#ui_dialog").dialog("open")};a.xfDialog.loader=function(){a("#ui_dialog .content").html('<div style="text-align:center"><img src="img/loading.gif" alt="" /></div>')};a.xfDialog.processHtml=function(b){if(b=="--close"){a("#ui_dialog").dialog("close")}a("#ui_dialog .content").html(b);a(".element.text").keypress(function(d){if(d.keyCode=="13"){d.preventDefault();var c=a.xf.dialog.submit;if(typeof c!="undefined"){c()}}});return b}})(jQuery);$(document).ready(function(){$("#ui_alert_dialog").dialog({autoOpen:false,modal:true,buttons:{Ok:function(){$(this).dialog("close");var a=$.xf.alert.action;if(typeof a!="undefined"){a()}}}});$("#ui_confirm_dialog").dialog({autoOpen:false,modal:true,buttons:{Yes:function(){$(this).dialog("close");var a=$.xf.confirm.url;if(typeof a!="undefined"){window.location=a}var b=$.xf.confirm.action;if(typeof b!="undefined"){b()}},No:function(){$(this).dialog("close")}}});$("#ui_dialog").dialog({autoOpen:false,modal:true,buttons:{Close:function(){$(this).dialog("close")},Submit:function(){var a=$.xf.dialog.submit;if(typeof a!="undefined"){a()}}},close:function(){var a=$.xf.dialog.close;if(typeof a!="undefined"){a()}}})});setFocusOnLoginFieldOnLoginPage=function(){if($("input#login").length>0){$("input#login").focus()}};
