Ext.DomHelper=function(){var S=null;var Y=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var P=/^table|tbody|tr|td$/i;var Q=function(B){if(typeof B=="string"){return B}var G="";if(Ext.isArray(B)){for(var D=0,F=B.length;D<F;D++){G+=Q(B[D])}return G}if(!B.tag){B.tag="div"}G+="<"+B.tag;for(var H in B){if(H=="tag"||H=="children"||H=="cn"||H=="html"||typeof B[H]=="function"){continue}if(H=="style"){var C=B.style;if(typeof C=="function"){C=C.call()}if(typeof C=="string"){G+=' style="'+C+'"'}else{if(typeof C=="object"){G+=' style="';for(var E in C){if(typeof C[E]!="function"){G+=E+":"+C[E]+";"}}G+='"'}}}else{if(H=="cls"){G+=' class="'+B.cls+'"'}else{if(H=="htmlFor"){G+=' for="'+B.htmlFor+'"'}else{G+=" "+H+'="'+B[H]+'"'}}}}if(Y.test(B.tag)){G+="/>"}else{G+=">";var A=B.children||B.cn;if(A){G+=Q(A)}else{if(B.html){G+=B.html}}G+="</"+B.tag+">"}return G};var R=function(B,G){var C;if(Ext.isArray(B)){C=document.createDocumentFragment();for(var D=0,F=B.length;D<F;D++){R(B[D],C)}}else{if(typeof B=="string"){C=document.createTextNode(B)}else{C=document.createElement(B.tag||"div");var E=!!C.setAttribute;for(var H in B){if(H=="tag"||H=="children"||H=="cn"||H=="html"||H=="style"||typeof B[H]=="function"){continue}if(H=="cls"){C.className=B.cls}else{if(E){C.setAttribute(H,B[H])}else{C[H]=B[H]}}}Ext.DomHelper.applyStyles(C,B.style);var A=B.children||B.cn;if(A){R(A,C)}else{if(B.html){C.innerHTML=B.html}}}}if(G){G.appendChild(C)}return C};var V=function(A,C,D,B){S.innerHTML=[C,D,B].join("");var F=-1,E=S;while(++F<A){E=E.firstChild}return E};var U="<table>",Z="</table>",O=U+"<tbody>",T="</tbody>"+Z,W=O+"<tr>",N="</tr>"+T;var X=function(F,E,C,D){if(!S){S=document.createElement("div")}var B;var A=null;if(F=="td"){if(E=="afterbegin"||E=="beforeend"){return }if(E=="beforebegin"){A=C;C=C.parentNode}else{A=C.nextSibling;C=C.parentNode}B=V(4,W,D,N)}else{if(F=="tr"){if(E=="beforebegin"){A=C;C=C.parentNode;B=V(3,O,D,T)}else{if(E=="afterend"){A=C.nextSibling;C=C.parentNode;B=V(3,O,D,T)}else{if(E=="afterbegin"){A=C.firstChild}B=V(4,W,D,N)}}}else{if(F=="tbody"){if(E=="beforebegin"){A=C;C=C.parentNode;B=V(2,U,D,Z)}else{if(E=="afterend"){A=C.nextSibling;C=C.parentNode;B=V(2,U,D,Z)}else{if(E=="afterbegin"){A=C.firstChild}B=V(3,O,D,T)}}}else{if(E=="beforebegin"||E=="afterend"){return }if(E=="afterbegin"){A=C.firstChild}B=V(2,U,D,Z)}}}C.insertBefore(B,A);return B};return{useDom:false,markup:function(A){return Q(A)},applyStyles:function(C,B){if(B){C=Ext.fly(C);if(typeof B=="string"){var D=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var A;while((A=D.exec(B))!=null){C.setStyle(A[1],A[2])}}else{if(typeof B=="object"){for(var E in B){C.setStyle(E,B[E])}}else{if(typeof B=="function"){Ext.DomHelper.applyStyles(C,B.call())}}}}},insertHtml:function(D,B,C){D=D.toLowerCase();if(B.insertAdjacentHTML){if(P.test(B.tagName)){var E;if(E=X(B.tagName.toLowerCase(),D,B,C)){return E}}switch(D){case"beforebegin":B.insertAdjacentHTML("BeforeBegin",C);return B.previousSibling;case"afterbegin":B.insertAdjacentHTML("AfterBegin",C);return B.firstChild;case"beforeend":B.insertAdjacentHTML("BeforeEnd",C);return B.lastChild;case"afterend":B.insertAdjacentHTML("AfterEnd",C);return B.nextSibling}throw'Illegal insertion point -> "'+D+'"'}var F=B.ownerDocument.createRange();var A;switch(D){case"beforebegin":F.setStartBefore(B);A=F.createContextualFragment(C);B.parentNode.insertBefore(A,B);return B.previousSibling;case"afterbegin":if(B.firstChild){F.setStartBefore(B.firstChild);A=F.createContextualFragment(C);B.insertBefore(A,B.firstChild);return B.firstChild}else{B.innerHTML=C;return B.firstChild}case"beforeend":if(B.lastChild){F.setStartAfter(B.lastChild);A=F.createContextualFragment(C);B.appendChild(A);return B.lastChild}else{B.innerHTML=C;return B.lastChild}case"afterend":F.setStartAfter(B);A=F.createContextualFragment(C);B.parentNode.insertBefore(A,B.nextSibling);return B.nextSibling}throw'Illegal insertion point -> "'+D+'"'},insertBefore:function(C,A,B){return this.doInsert(C,A,B,"beforeBegin")},insertAfter:function(C,A,B){return this.doInsert(C,A,B,"afterEnd","nextSibling")},insertFirst:function(C,A,B){return this.doInsert(C,A,B,"afterBegin","firstChild")},doInsert:function(D,B,C,A,E){D=Ext.getDom(D);var F;if(this.useDom){F=R(B,null);(E==="firstChild"?D:D.parentNode).insertBefore(F,E?D[E]:D)}else{var G=Q(B);F=this.insertHtml(A,D,G)}return C?Ext.get(F,true):F},append:function(C,A,B){C=Ext.getDom(C);var D;if(this.useDom){D=R(A,null);C.appendChild(D)}else{var E=Q(A);D=this.insertHtml("beforeEnd",C,E)}return B?Ext.get(D,true):D},overwrite:function(C,A,B){C=Ext.getDom(C);C.innerHTML=Q(A);return B?Ext.get(C.firstChild,true):C.firstChild},createTemplate:function(A){var B=Q(A);return new Ext.Template(B)}}}();Ext.Template=function(G){var J=arguments;if(Ext.isArray(G)){G=G.join("")}else{if(J.length>1){var I=[];for(var H=0,F=J.length;H<F;H++){if(typeof J[H]=="object"){Ext.apply(this,J[H])}else{I[I.length]=J[H]}}G=I.join("")}}this.html=G;if(this.compiled){this.compile()}};Ext.Template.prototype={applyTemplate:function(J){if(this.compiled){return this.compiled(J)}var F=this.disableFormats!==true;var G=Ext.util.Format,I=this;var H=function(M,D,A,E){if(A&&F){if(A.substr(0,5)=="this."){return I.call(A.substr(5),J[D],J)}else{if(E){var B=/^\s*['"](.*)["']\s*$/;E=E.split(",");for(var C=0,N=E.length;C<N;C++){E[C]=E[C].replace(B,"$1")}E=[J[D]].concat(E)}else{E=[J[D]]}return G[A].apply(G,E)}}else{return J[D]!==undefined?J[D]:""}};return this.html.replace(this.re,H)},set:function(C,D){this.html=C;this.compiled=null;if(D){this.compile()}return this},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(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+"'"};var body;if(Ext.isGecko){body="this.compiled = function(values){ return '"+this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+"';};"}else{body=["this.compiled = function(values){ return ['"];body.push(this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return this},call:function(E,F,D){return this[E](F,D)},insertFirst:function(F,D,E){return this.doInsert("afterBegin",F,D,E)},insertBefore:function(F,D,E){return this.doInsert("beforeBegin",F,D,E)},insertAfter:function(F,D,E){return this.doInsert("afterEnd",F,D,E)},append:function(F,D,E){return this.doInsert("beforeEnd",F,D,E)},doInsert:function(I,G,J,F){G=Ext.getDom(G);var H=Ext.DomHelper.insertHtml(I,G,this.applyTemplate(J));return F?Ext.get(H,true):H},overwrite:function(F,D,E){F=Ext.getDom(F);F.innerHTML=this.applyTemplate(D);return E?Ext.get(F.firstChild,true):F.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomHelper.Template=Ext.Template;Ext.Template.from=function(D,C){D=Ext.getDom(D);return new Ext.Template(D.value||D.innerHTML,C||"")};Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={};var nonSpace=/\S/;var trimRe=/^\s+|\s+$/g;var tplRe=/\{(\d+)\}/g;var modeRe=/^(\s?[\/>+~]\s?|\s|$)/;var tagTokenRe=/^(#)?([\w-\*]+)/;var nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/;function child(p,index){var i=0;var n=p.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(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci}}return r}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.children||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=="~"){for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&(n.nodeType!=1||(tagName=="*"||n.tagName.toLowerCase()!=tagName))){}if(n){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 r=[],ri=-1;tagName=tagName.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){r[++ri]=ci}}return r}function byId(cs,attr,id){if(cs.tagName||cs==document){cs=[cs]}if(!id){return cs}var r=[],ri=-1;for(var i=0,ci;ci=cs[i];i++){if(ci&&ci.id==id){r[++ri]=ci;return r}}return r}function byAttribute(cs,attr,value,op,custom){var r=[],ri=-1,st=custom=="{";var f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){var a;if(st){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)}}}}if((f&&f(a,value))||(!f&&a)){r[++ri]=ci}}return r}function byPseudo(cs,name,value){return Ext.DomQuery.pseudos[name](cs,value)}var isIE=window.ActiveXObject?true:false;eval("var batch = 30803;");var key=30803;function nodupIEXml(cs){var d=++key;cs[0].setAttribute("_nodup",d);var 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;for(var i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}var r=[];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;if(!len1){return c2}if(isIE&&c1[0].selectSingleNode){return quickDiffIEXml(c1,c2)}var d=++key;for(var i=0;i<len1;i++){c1[i]._qdiff=d}var r=[];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,null,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"];var q=path,mode,lq;var tk=Ext.DomQuery.matchers;var tklen=tk.length;var mm;var lmode=q.match(modeRe);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';q=q.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(q&&lq!=q){lq=q;var tm=q.match(tagTokenRe);if(type=="select"){if(tm){if(tm[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tm[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tm[2]+'");'}q=q.replace(tm[0],"")}else{if(q.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tm){if(tm[1]=="#"){fn[fn.length]='n = byId(n, null, "'+tm[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tm[2]+'");'}q=q.replace(tm[0],"")}}while(!(mm=q.match(modeRe))){var matched=false;for(var j=0;j<tklen;j++){var t=tk[j];var m=q.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});q=q.replace(m[0],"");matched=true;break}}if(!matched){throw'Error parsing selector, parsing failed at "'+q+'"'}}if(mm[1]){fn[fn.length]='mode="'+mm[1].replace(trimRe,"")+'";';q=q.replace(mm[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},select:function(path,root,type){if(!root||root==document){root=document}if(typeof root=="string"){root=document.getElementById(root)}var paths=path.split(",");var results=[];for(var i=0,len=paths.length;i<len;i++){var p=paths[i].replace(trimRe,"");if(!cache[p]){cache[p]=Ext.DomQuery.compile(p);if(!cache[p]){throw p+" is not a valid selector"}}var result=cache[p](root);if(result&&result!=document){results=results.concat(result)}}if(paths.length>1){return nodup(results)}return results},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);n=n[0]?n[0]:n;var 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);var 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, null, " {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, null, "{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;var m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a);var 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("|");var 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;var 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;var 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;var 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.Observable=function(){if(this.listeners){this.on(this.listeners);delete this.listeners}};Ext.util.Observable.prototype={fireEvent:function(){if(this.eventsSuspended!==true){var B=this.events[arguments[0].toLowerCase()];if(typeof B=="object"){return B.fire.apply(B,Array.prototype.slice.call(arguments,1))}}return true},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(G,K,L,H){if(typeof G=="object"){H=G;for(var I in H){if(this.filterOptRe.test(I)){continue}if(typeof H[I]=="function"){this.addListener(I,H[I],H.scope,H)}else{this.addListener(I,H[I].fn,H[I].scope,H[I])}}return }H=(!H||typeof H=="boolean")?{}:H;G=G.toLowerCase();var J=this.events[G]||true;if(typeof J=="boolean"){J=new Ext.util.Event(this,G);this.events[G]=J}J.addListener(K,L,H)},removeListener:function(E,G,H){var F=this.events[E.toLowerCase()];if(typeof F=="object"){F.removeListener(G,H)}},purgeListeners:function(){for(var B in this.events){if(typeof this.events[B]=="object"){this.events[B].clearListeners()}}},relayEvents:function(H,J){var I=function(A){return function(){return this.fireEvent.apply(this,Ext.combine(A,Array.prototype.slice.call(arguments,0)))}};for(var K=0,G=J.length;K<G;K++){var L=J[K];if(!this.events[L]){this.events[L]=true}H.on(L,I(L),this)}},addEvents:function(F){if(!this.events){this.events={}}if(typeof F=="string"){for(var G=0,E=arguments,H;H=E[G];G++){if(!this.events[E[G]]){this.events[E[G]]=true}}}else{Ext.applyIf(this.events,F)}},hasListener:function(C){var D=this.events[C];return typeof D=="object"&&D.listeners.length>0},suspendEvents:function(){this.eventsSuspended=true},resumeEvents:function(){this.eventsSuspended=false},getMethodEvent:function(I){if(!this.methodEvents){this.methodEvents={}}var J=this.methodEvents[I];if(!J){J={};this.methodEvents[I]=J;J.originalFn=this[I];J.methodName=I;J.before=[];J.after=[];var M,N,L;var K=this;var H=function(A,B,C){if((N=A.apply(B||K,C))!==undefined){if(typeof N==="object"){if(N.returnValue!==undefined){M=N.returnValue}else{M=N}if(N.cancel===true){L=true}}else{if(N===false){L=true}else{M=N}}}};this[I]=function(){M=N=undefined;L=false;var B=Array.prototype.slice.call(arguments,0);for(var A=0,C=J.before.length;A<C;A++){H(J.before[A].fn,J.before[A].scope,B);if(L){return M}}if((N=J.originalFn.apply(K,B))!==undefined){M=N}for(var A=0,C=J.after.length;A<C;A++){H(J.after[A].fn,J.after[A].scope,B);if(L){return M}}return M}}return J},beforeMethod:function(F,H,E){var G=this.getMethodEvent(F);G.before.push({fn:H,scope:E})},afterMethod:function(F,H,E){var G=this.getMethodEvent(F);G.after.push({fn:H,scope:E})},removeMethodListener:function(H,J,K){var I=this.getMethodEvent(H);for(var L=0,G=I.before.length;L<G;L++){if(I.before[L].fn==J&&I.before[L].scope==K){I.before.splice(L,1);return }}for(var L=0,G=I.after.length;L<G;L++){if(I.after[L].fn==J&&I.after[L].scope==K){I.after.splice(L,1);return }}}};Ext.util.Observable.prototype.on=Ext.util.Observable.prototype.addListener;Ext.util.Observable.prototype.un=Ext.util.Observable.prototype.removeListener;Ext.util.Observable.capture=function(E,F,D){E.fireEvent=E.fireEvent.createInterceptor(F,D)};Ext.util.Observable.releaseCapture=function(B){B.fireEvent=Ext.util.Observable.prototype.fireEvent};(function(){var F=function(B,A,C){var H=new Ext.util.DelayedTask();return function(){H.delay(A.buffer,B,C,Array.prototype.slice.call(arguments,0))}};var E=function(B,A,C,H){return function(){A.removeListener(C,H);return B.apply(H,arguments)}};var D=function(B,A,C){return function(){var H=Array.prototype.slice.call(arguments,0);setTimeout(function(){B.apply(C,H)},A.delay||10)}};Ext.util.Event=function(A,B){this.name=B;this.obj=A;this.listeners=[]};Ext.util.Event.prototype={addListener:function(A,B,C){B=B||this.obj;if(!this.isListening(A,B)){var H=this.createListener(A,B,C);if(!this.firing){this.listeners.push(H)}else{this.listeners=this.listeners.slice(0);this.listeners.push(H)}}},createListener:function(B,C,A){A=A||{};C=C||this.obj;var J={fn:B,scope:C,options:A};var I=B;if(A.delay){I=D(I,A,C)}if(A.single){I=E(I,this,B,C)}if(A.buffer){I=F(I,A,C)}J.fireFn=I;return J},findListener:function(A,B){B=B||this.obj;var J=this.listeners;for(var C=0,L=J.length;C<L;C++){var K=J[C];if(K.fn==A&&K.scope==B){return C}}return -1},isListening:function(A,B){return this.findListener(A,B)!=-1},removeListener:function(A,B){var C;if((C=this.findListener(A,B))!=-1){if(!this.firing){this.listeners.splice(C,1)}else{this.listeners=this.listeners.slice(0);this.listeners.splice(C,1)}return true}return false},clearListeners:function(){this.listeners=[]},fire:function(){var J=this.listeners,A,L=J.length;if(L>0){this.firing=true;var C=Array.prototype.slice.call(arguments,0);for(var B=0;B<L;B++){var K=J[B];if(K.fireFn.apply(K.scope||this.obj||window,arguments)===false){this.firing=false;return false}}this.firing=false}return true}}})();Ext.EventManager=function(){var D,Z,d=false;var b,E,i,X;var a=Ext.lib.Event;var Y=Ext.lib.Dom;var k=function(){if(!d){d=true;Ext.isReady=true;if(Z){clearInterval(Z)}if(Ext.isGecko||Ext.isOpera){document.removeEventListener("DOMContentLoaded",k,false)}if(Ext.isIE){var A=document.getElementById("ie-deferred-loader");if(A){A.onreadystatechange=null;A.parentNode.removeChild(A)}}if(D){D.fire();D.clearListeners()}}};var l=function(){D=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){document.addEventListener("DOMContentLoaded",k,false)}else{if(Ext.isIE){document.write('<script id="ie-deferred-loader" defer="defer" src="//:"><\/script>');var A=document.getElementById("ie-deferred-loader");A.onreadystatechange=function(){if(this.readyState=="complete"){k()}}}else{if(Ext.isSafari){Z=setInterval(function(){var B=document.readyState;if(B=="complete"){k()}},10)}}}a.on(window,"load",k)};var U=function(B,A){var C=new Ext.util.DelayedTask(B);return function(F){F=new Ext.EventObjectImpl(F);C.delay(A.buffer,B,null,[F])}};var W=function(A,B,F,C){return function(G){Ext.EventManager.removeListener(B,F,C);A(G)}};var h=function(B,A){return function(C){C=new Ext.EventObjectImpl(C);setTimeout(function(){B(C)},A.delay||10)}};var c=function(C,F,H,I,J){var G=(!H||typeof H=="boolean")?{}:H;I=I||G.fn;J=J||G.scope;var A=Ext.getDom(C);if(!A){throw'Error listening for "'+F+'". Element "'+C+"\" doesn't exist."}var B=function(K){K=Ext.EventObject.setEvent(K);var L;if(G.delegate){L=K.getTarget(G.delegate,A);if(!L){return }}else{L=K.target}if(G.stopEvent===true){K.stopEvent()}if(G.preventDefault===true){K.preventDefault()}if(G.stopPropagation===true){K.stopPropagation()}if(G.normalized===false){K=K.browserEvent}I.call(J||A,K,L,G)};if(G.delay){B=h(B,G)}if(G.single){B=W(B,A,F,I)}if(G.buffer){B=U(B,G)}I._handlers=I._handlers||[];I._handlers.push([Ext.id(A),F,B]);a.on(A,F,B);if(F=="mousewheel"&&A.addEventListener){A.addEventListener("DOMMouseScroll",B,false);a.on(window,"unload",function(){A.removeEventListener("DOMMouseScroll",B,false)})}if(F=="mousedown"&&A==document){Ext.EventManager.stoppedMouseDownEvent.addListener(B)}return B};var g=function(K,I,B){var A=Ext.id(K),J=B._handlers,F=B;if(J){for(var H=0,C=J.length;H<C;H++){var G=J[H];if(G[0]==A&&G[1]==I){F=G[2];J.splice(H,1);break}}}a.un(K,I,F);K=Ext.getDom(K);if(I=="mousewheel"&&K.addEventListener){K.removeEventListener("DOMMouseScroll",F,false)}if(I=="mousedown"&&K==document){Ext.EventManager.stoppedMouseDownEvent.removeListener(F)}};var e=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;var V={addListener:function(C,G,A,B,F){if(typeof G=="object"){var H=G;for(var I in H){if(e.test(I)){continue}if(typeof H[I]=="function"){c(C,I,H,H[I],H.scope)}else{c(C,I,H[I])}}return }return c(C,G,F,A,B)},removeListener:function(B,C,A){return g(B,C,A)},onDocumentReady:function(A,B,C){if(d){D.addListener(A,B,C);D.fire();D.clearListeners();return }if(!D){l()}D.addListener(A,B,C)},onWindowResize:function(A,B,C){if(!b){b=new Ext.util.Event();E=new Ext.util.DelayedTask(function(){b.fire(Y.getViewWidth(),Y.getViewHeight())});a.on(window,"resize",this.fireWindowResize,this)}b.addListener(A,B,C)},fireWindowResize:function(){if(b){if((Ext.isIE||Ext.isAir)&&E){E.delay(50)}else{b.fire(Y.getViewWidth(),Y.getViewHeight())}}},onTextResize:function(A,B,F){if(!i){i=new Ext.util.Event();var C=new Ext.Element(document.createElement("div"));C.dom.className="x-text-resize";C.dom.innerHTML="X";C.appendTo(document.body);X=C.dom.offsetHeight;setInterval(function(){if(C.dom.offsetHeight!=X){i.fire(X,X=C.dom.offsetHeight)}},this.textResizeInterval)}i.addListener(A,B,F)},removeResizeListener:function(A,B){if(b){b.removeListener(A,B)}},fireResize:function(){if(b){b.fire(Y.getViewWidth(),Y.getViewHeight())}},ieDeferSrc:false,textResizeInterval:50};V.on=V.addListener;V.un=V.removeListener;V.stoppedMouseDownEvent=new Ext.util.Event();return V}();Ext.onReady=Ext.EventManager.onDocumentReady;Ext.onReady(function(){var F=Ext.getBody();if(!F){return }var D=[Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":"ext-ie7"):Ext.isGecko?"ext-gecko":Ext.isOpera?"ext-opera":Ext.isSafari?"ext-safari":""];if(Ext.isMac){D.push("ext-mac")}if(Ext.isLinux){D.push("ext-linux")}if(Ext.isBorderBox){D.push("ext-border-box")}if(Ext.isStrict){var E=F.dom.parentNode;if(E){E.className+=" ext-strict"}}F.addClass(D.join(" "))});Ext.EventObject=function(){var F=Ext.lib.Event;var D={63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35};var E=Ext.isIE?{1:0,4:1,2:2}:(Ext.isSafari?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(A){if(A){this.setEvent(A.browserEvent||A)}};Ext.EventObjectImpl.prototype={browserEvent:null,button:-1,shiftKey:false,ctrlKey:false,altKey:false,BACKSPACE:8,TAB:9,RETURN:13,ENTER:13,SHIFT:16,CONTROL:17,ESC:27,SPACE:32,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,F5:116,setEvent:function(A){if(A==this||(A&&A.browserEvent)){return A}this.browserEvent=A;if(A){this.button=A.button?E[A.button]:(A.which?A.which-1:-1);if(A.type=="click"&&this.button==-1){this.button=0}this.type=A.type;this.shiftKey=A.shiftKey;this.ctrlKey=A.ctrlKey||A.metaKey;this.altKey=A.altKey;this.keyCode=A.keyCode;this.charCode=A.charCode;this.target=F.getTarget(A);this.xy=F.getXY(A)}else{this.button=-1;this.shiftKey=false;this.ctrlKey=false;this.altKey=false;this.keyCode=0;this.charCode=0;this.target=null;this.xy=[0,0]}return this},stopEvent:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}F.stopEvent(this.browserEvent)}},preventDefault:function(){if(this.browserEvent){F.preventDefault(this.browserEvent)}},isNavKeyPress:function(){var A=this.keyCode;A=Ext.isSafari?(D[A]||A):A;return(A>=33&&A<=40)||A==this.RETURN||A==this.TAB||A==this.ESC},isSpecialKey:function(){var A=this.keyCode;return(this.type=="keypress"&&this.ctrlKey)||A==9||A==13||A==40||A==27||(A==16)||(A==17)||(A>=18&&A<=20)||(A>=33&&A<=35)||(A>=36&&A<=39)||(A>=44&&A<=45)},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}F.stopPropagation(this.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){var A=this.keyCode||this.charCode;return Ext.isSafari?(D[A]||A):A},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getTime:function(){if(this.browserEvent){return F.getTime(this.browserEvent)}return null},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(){if(this.browserEvent){return F.getRelatedTarget(this.browserEvent)}return 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},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false},within:function(B,A){var C=this[A?"getRelatedTarget":"getTarget"]();return C&&Ext.fly(B).contains(C)},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])}};return new Ext.EventObjectImpl()}();(function(){var D=Ext.lib.Dom;var E=Ext.lib.Event;var A=Ext.lib.Anim;var propCache={};var camelRe=/(-[a-z])/gi;var camelFn=function(m,a){return a.charAt(1).toUpperCase()};var view=document.defaultView;Ext.Element=function(element,forceNew){var dom=typeof element=="string"?document.getElementById(element):element;if(!dom){return null}var id=dom.id;if(forceNew!==true&&id&&Ext.Element.cache[id]){return Ext.Element.cache[id]}this.dom=dom;this.id=id||Ext.id(dom)};var El=Ext.Element;El.prototype={originalDisplay:"",visibilityMode:1,defaultUnit:"px",setVisibilityMode:function(visMode){this.visibilityMode=visMode;return this},enableDisplayMode:function(display){this.setVisibilityMode(El.DISPLAY);if(typeof display!="undefined"){this.originalDisplay=display}return this},findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,dq=Ext.DomQuery,stopEl;maxDepth=maxDepth||50;if(typeof maxDepth!="number"){stopEl=Ext.getDom(maxDepth);maxDepth=10}while(p&&p.nodeType==1&&depth<maxDepth&&p!=b&&p!=stopEl){if(dq.is(p,simpleSelector)){return returnEl?Ext.get(p):p}depth++;p=p.parentNode}return null},findParentNode:function(simpleSelector,maxDepth,returnEl){var p=Ext.fly(this.dom.parentNode,"_internal");return p?p.findParent(simpleSelector,maxDepth,returnEl):null},up:function(simpleSelector,maxDepth){return this.findParentNode(simpleSelector,maxDepth,true)},is:function(simpleSelector){return Ext.DomQuery.is(this.dom,simpleSelector)},animate:function(args,duration,onComplete,easing,animType){this.anim(args,{duration:duration,callback:onComplete,easing:easing},animType);return this},anim:function(args,opt,animType,defaultDur,defaultEase,cb){animType=animType||"run";opt=opt||{};var anim=Ext.lib.Anim[animType](this.dom,args,(opt.duration||defaultDur)||0.35,(opt.easing||defaultEase)||"easeOut",function(){Ext.callback(cb,this);Ext.callback(opt.callback,opt.scope||this,[this,opt])},this);opt.anim=anim;return anim},preanim:function(a,i){return !a[i]?false:(typeof a[i]=="object"?a[i]:{duration:a[i+1],callback:a[i+2],easing:a[i+3]})},clean:function(forceReclean){if(this.isCleaned&&forceReclean!==true){return this}var ns=/\S/;var d=this.dom,n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!ns.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}this.isCleaned=true;return this},scrollIntoView:function(container,hscroll){var c=Ext.getDom(container)||Ext.getBody().dom;var el=this.dom;var o=this.getOffsetsTo(c),l=o[0]+c.scrollLeft,t=o[1]+c.scrollTop,b=t+el.offsetHeight,r=l+el.offsetWidth;var ch=c.clientHeight;var ct=parseInt(c.scrollTop,10);var cl=parseInt(c.scrollLeft,10);var cb=ct+ch;var cr=cl+c.clientWidth;if(el.offsetHeight>ch||t<ct){c.scrollTop=t}else{if(b>cb){c.scrollTop=b-ch}}c.scrollTop=c.scrollTop;if(hscroll!==false){if(el.offsetWidth>c.clientWidth||l<cl){c.scrollLeft=l}else{if(r>cr){c.scrollLeft=r-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},autoHeight:function(animate,duration,onComplete,easing){var oldHeight=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var height=parseInt(this.dom.scrollHeight,10);if(!animate){this.setHeight(height);this.unclip();if(typeof onComplete=="function"){onComplete()}}else{this.setHeight(oldHeight);this.setHeight(height,animate,duration,function(){this.unclip();if(typeof onComplete=="function"){onComplete()}}.createDelegate(this),easing)}}.createDelegate(this),0);return this},contains:function(el){if(!el){return false}return D.isAncestor(this.dom,el.dom?el.dom:el)},isVisible:function(deep){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none");if(deep!==true||!vis){return vis}var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!="body"){if(!Ext.fly(p,"_isVisible").isVisible()){return false}p=p.parentNode}return true},select:function(selector,unique){return El.select(selector,unique,this.dom)},query:function(selector,unique){return Ext.DomQuery.select(selector,this.dom)},child:function(selector,returnDom){var n=Ext.DomQuery.selectNode(selector,this.dom);return returnDom?n:Ext.get(n)},down:function(selector,returnDom){var n=Ext.DomQuery.selectNode(" > "+selector,this.dom);return returnDom?n:Ext.get(n)},initDD:function(group,config,overrides){var dd=new Ext.dd.DD(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDProxy:function(group,config,overrides){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDTarget:function(group,config,overrides){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},setVisible:function(visible,animate){if(!animate||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(visible)}else{this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden"}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(0.01);this.setVisible(true)}this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,0.35,"easeIn",function(){if(!visible){if(visMode==El.DISPLAY){dom.style.display="none"}else{dom.style.visibility="hidden"}Ext.get(dom).setOpacity(1)}})}return this},isDisplayed:function(){return this.getStyle("display")!="none"},toggle:function(animate){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this},setDisplayed:function(value){if(typeof value=="boolean"){value=value?this.originalDisplay:"none"}this.setStyle("display",value);return this},focus:function(){try{this.dom.focus()}catch(e){}return this},blur:function(){try{this.dom.blur()}catch(e){}return this},addClass:function(className){if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.addClass(className[i])}}else{if(className&&!this.hasClass(className)){this.dom.className=this.dom.className+" "+className}}return this},radioClass:function(className){var siblings=this.dom.parentNode.childNodes;for(var i=0;i<siblings.length;i++){var s=siblings[i];if(s.nodeType==1){Ext.get(s).removeClass(className)}}this.addClass(className);return this},removeClass:function(className){if(!className||!this.dom.className){return this}if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.removeClass(className[i])}}else{if(this.hasClass(className)){var re=this.classReCache[className];if(!re){re=new RegExp("(?:^|\\s+)"+className+"(?:\\s+|$)","g");this.classReCache[className]=re}this.dom.className=this.dom.className.replace(re," ")}}return this},classReCache:{},toggleClass:function(className){if(this.hasClass(className)){this.removeClass(className)}else{this.addClass(className)}return this},hasClass:function(className){return className&&(" "+this.dom.className+" ").indexOf(" "+className+" ")!=-1},replaceClass:function(oldClassName,newClassName){this.removeClass(oldClassName);this.addClass(newClassName);return this},getStyles:function(){var a=arguments,len=a.length,r={};for(var i=0;i<len;i++){r[a[i]]=this.getStyle(a[i])}return r},getStyle:function(){return view&&view.getComputedStyle?function(prop){var el=this.dom,v,cs,camel;if(prop=="float"){prop="cssFloat"}if(v=el.style[prop]){return v}if(cs=view.getComputedStyle(el,"")){if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}return cs[camel]}return null}:function(prop){var el=this.dom,v,cs,camel;if(prop=="opacity"){if(typeof el.style.filter=="string"){var m=el.style.filter.match(/alpha\(opacity=(.*)\)/i);if(m){var fv=parseFloat(m[1]);if(!isNaN(fv)){return fv?fv/100:0}}}return 1}else{if(prop=="float"){prop="styleFloat"}}if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(v=el.style[camel]){return v}if(cs=el.currentStyle){return cs[camel]}return null}}(),setStyle:function(prop,value){if(typeof prop=="string"){var camel;if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(camel=="opacity"){this.setOpacity(value)}else{this.dom.style[camel]=value}}else{for(var style in prop){if(typeof prop[style]!="function"){this.setStyle(style,prop[style])}}}return this},applyStyles:function(style){Ext.DomHelper.applyStyles(this.dom,style);return this},getX:function(){return D.getX(this.dom)},getY:function(){return D.getY(this.dom)},getXY:function(){return D.getXY(this.dom)},getOffsetsTo:function(el){var o=this.getXY();var e=Ext.fly(el,"_internal").getXY();return[o[0]-e[0],o[1]-e[1]]},setX:function(x,animate){if(!animate||!A){D.setX(this.dom,x)}else{this.setXY([x,this.getY()],this.preanim(arguments,1))}return this},setY:function(y,animate){if(!animate||!A){D.setY(this.dom,y)}else{this.setXY([this.getX(),y],this.preanim(arguments,1))}return this},setLeft:function(left){this.setStyle("left",this.addUnits(left));return this},setTop:function(top){this.setStyle("top",this.addUnits(top));return this},setRight:function(right){this.setStyle("right",this.addUnits(right));return this},setBottom:function(bottom){this.setStyle("bottom",this.addUnits(bottom));return this},setXY:function(pos,animate){if(!animate||!A){D.setXY(this.dom,pos)}else{this.anim({points:{to:pos}},this.preanim(arguments,1),"motion")}return this},setLocation:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},moveTo:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},getRegion:function(){return D.getRegion(this.dom)},getHeight:function(contentHeight){var h=this.dom.offsetHeight||0;h=contentHeight!==true?h:h-this.getBorderWidth("tb")-this.getPadding("tb");return h<0?0:h},getWidth:function(contentWidth){var w=this.dom.offsetWidth||0;w=contentWidth!==true?w:w-this.getBorderWidth("lr")-this.getPadding("lr");return w<0?0:w},getComputedHeight:function(){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight);if(!h){h=parseInt(this.getStyle("height"),10)||0;if(!this.isBorderBox()){h+=this.getFrameWidth("tb")}}return h},getComputedWidth:function(){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!w){w=parseInt(this.getStyle("width"),10)||0;if(!this.isBorderBox()){w+=this.getFrameWidth("lr")}}return w},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}},getStyleSize:function(){var w,h,d=this.dom,s=d.style;if(s.width&&s.width!="auto"){w=parseInt(s.width,10);if(Ext.isBorderBox){w-=this.getFrameWidth("lr")}}if(s.height&&s.height!="auto"){h=parseInt(s.height,10);if(Ext.isBorderBox){h-=this.getFrameWidth("tb")}}return{width:w||this.getWidth(true),height:h||this.getHeight(true)}},getViewSize:function(){var d=this.dom,doc=document,aw=0,ah=0;if(d==doc||d==doc.body){return{width:D.getViewWidth(),height:D.getViewHeight()}}else{return{width:d.clientWidth,height:d.clientHeight}}},getValue:function(asNumber){return asNumber?parseInt(this.dom.value,10):this.dom.value},adjustWidth:function(width){if(typeof width=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){width-=(this.getBorderWidth("lr")+this.getPadding("lr"))}if(width<0){width=0}}return width},adjustHeight:function(height){if(typeof height=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){height-=(this.getBorderWidth("tb")+this.getPadding("tb"))}if(height<0){height=0}}return height},setWidth:function(width,animate){width=this.adjustWidth(width);if(!animate||!A){this.dom.style.width=this.addUnits(width)}else{this.anim({width:{to:width}},this.preanim(arguments,1))}return this},setHeight:function(height,animate){height=this.adjustHeight(height);if(!animate||!A){this.dom.style.height=this.addUnits(height)}else{this.anim({height:{to:height}},this.preanim(arguments,1))}return this},setSize:function(width,height,animate){if(typeof width=="object"){height=width.height;width=width.width}width=this.adjustWidth(width);height=this.adjustHeight(height);if(!animate||!A){this.dom.style.width=this.addUnits(width);this.dom.style.height=this.addUnits(height)}else{this.anim({width:{to:width},height:{to:height}},this.preanim(arguments,2))}return this},setBounds:function(x,y,width,height,animate){if(!animate||!A){this.setSize(width,height);this.setLocation(x,y)}else{width=this.adjustWidth(width);height=this.adjustHeight(height);this.anim({points:{to:[x,y]},width:{to:width},height:{to:height}},this.preanim(arguments,4),"motion")}return this},setRegion:function(region,animate){this.setBounds(region.left,region.top,region.right-region.left,region.bottom-region.top,this.preanim(arguments,1));return this},addListener:function(eventName,fn,scope,options){Ext.EventManager.on(this.dom,eventName,fn,scope||this,options)},removeListener:function(eventName,fn){Ext.EventManager.removeListener(this.dom,eventName,fn);return this},removeAllListeners:function(){E.purgeElement(this.dom);return this},relayEvent:function(eventName,observable){this.on(eventName,function(e){observable.fireEvent(eventName,e)})},setOpacity:function(opacity,animate){if(!animate||!A){var s=this.dom.style;if(Ext.isIE){s.zoom=1;s.filter=(s.filter||"").replace(/alpha\([^\)]*\)/gi,"")+(opacity==1?"":" alpha(opacity="+opacity*100+")")}else{s.opacity=opacity}}else{this.anim({opacity:{to:opacity}},this.preanim(arguments,1),null,0.35,"easeIn")}return this},getLeft:function(local){if(!local){return this.getX()}else{return parseInt(this.getStyle("left"),10)||0}},getRight:function(local){if(!local){return this.getX()+this.getWidth()}else{return(this.getLeft(true)+this.getWidth())||0}},getTop:function(local){if(!local){return this.getY()}else{return parseInt(this.getStyle("top"),10)||0}},getBottom:function(local){if(!local){return this.getY()+this.getHeight()}else{return(this.getTop(true)+this.getHeight())||0}},position:function(pos,zIndex,x,y){if(!pos){if(this.getStyle("position")=="static"){this.setStyle("position","relative")}}else{this.setStyle("position",pos)}if(zIndex){this.setStyle("z-index",zIndex)}if(x!==undefined&&y!==undefined){this.setXY([x,y])}else{if(x!==undefined){this.setX(x)}else{if(y!==undefined){this.setY(y)}}}},clearPositioning:function(value){value=value||"";this.setStyle({left:value,right:value,top:value,bottom:value,"z-index":"",position:"static"});return this},getPositioning:function(){var l=this.getStyle("left");var t=this.getStyle("top");return{position:this.getStyle("position"),left:l,right:l?"":this.getStyle("right"),top:t,bottom:t?"":this.getStyle("bottom"),"z-index":this.getStyle("z-index")}},getBorderWidth:function(side){return this.addStyles(side,El.borders)},getPadding:function(side){return this.addStyles(side,El.paddings)},setPositioning:function(pc){this.applyStyles(pc);if(pc.right=="auto"){this.dom.style.right=""}if(pc.bottom=="auto"){this.dom.style.bottom=""}return this},fixDisplay:function(){if(this.getStyle("display")=="none"){this.setStyle("visibility","hidden");this.setStyle("display",this.originalDisplay);if(this.getStyle("display")=="none"){this.setStyle("display","block")}}},setOverflow:function(v){if(v=="auto"&&Ext.isMac&&Ext.isGecko){this.dom.style.overflow="hidden";(function(){this.dom.style.overflow="auto"}).defer(1,this)}else{this.dom.style.overflow=v}},setLeftTop:function(left,top){this.dom.style.left=this.addUnits(left);this.dom.style.top=this.addUnits(top);return this},move:function(direction,distance,animate){var xy=this.getXY();direction=direction.toLowerCase();switch(direction){case"l":case"left":this.moveTo(xy[0]-distance,xy[1],this.preanim(arguments,2));break;case"r":case"right":this.moveTo(xy[0]+distance,xy[1],this.preanim(arguments,2));break;case"t":case"top":case"up":this.moveTo(xy[0],xy[1]-distance,this.preanim(arguments,2));break;case"b":case"bottom":case"down":this.moveTo(xy[0],xy[1]+distance,this.preanim(arguments,2));break}return this},clip:function(){if(!this.isClipped){this.isClipped=true;this.originalClip={o:this.getStyle("overflow"),x:this.getStyle("overflow-x"),y:this.getStyle("overflow-y")};this.setStyle("overflow","hidden");this.setStyle("overflow-x","hidden");this.setStyle("overflow-y","hidden")}return this},unclip:function(){if(this.isClipped){this.isClipped=false;var o=this.originalClip;if(o.o){this.setStyle("overflow",o.o)}if(o.x){this.setStyle("overflow-x",o.x)}if(o.y){this.setStyle("overflow-y",o.y)}}return this},getAnchorXY:function(anchor,local,s){var w,h,vp=false;if(!s){var d=this.dom;if(d==document.body||d==document){vp=true;w=D.getViewWidth();h=D.getViewHeight()}else{w=this.getWidth();h=this.getHeight()}}else{w=s.width;h=s.height}var x=0,y=0,r=Math.round;switch((anchor||"tl").toLowerCase()){case"c":x=r(w*0.5);y=r(h*0.5);break;case"t":x=r(w*0.5);y=0;break;case"l":x=0;y=r(h*0.5);break;case"r":x=w;y=r(h*0.5);break;case"b":x=r(w*0.5);y=h;break;case"tl":x=0;y=0;break;case"bl":x=0;y=h;break;case"br":x=w;y=h;break;case"tr":x=w;y=0;break}if(local===true){return[x,y]}if(vp){var sc=this.getScroll();return[x+sc.left,y+sc.top]}var o=this.getXY();return[x+o[0],y+o[1]]},getAlignToXY:function(el,p,o){el=Ext.get(el);if(!el||!el.dom){throw"Element.alignToXY with an element that doesn't exist"}var d=this.dom;var c=false;var p1="",p2="";o=o||[0,0];if(!p){p="tl-bl"}else{if(p=="?"){p="tl-bl?"}else{if(p.indexOf("-")==-1){p="tl-"+p}}}p=p.toLowerCase();var m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){throw"Element.alignTo with an invalid alignment "+p}p1=m[1];p2=m[2];c=!!m[3];var a1=this.getAnchorXY(p1,true);var a2=el.getAnchorXY(p2,false);var x=a2[0]-a1[0]+o[0];var y=a2[1]-a1[1]+o[1];if(c){var w=this.getWidth(),h=this.getHeight(),r=el.getRegion();var dw=D.getViewWidth()-5,dh=D.getViewHeight()-5;var p1y=p1.charAt(0),p1x=p1.charAt(p1.length-1);var p2y=p2.charAt(0),p2x=p2.charAt(p2.length-1);var swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));var swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));var doc=document;var scrollX=(doc.documentElement.scrollLeft||doc.body.scrollLeft||0)+5;var scrollY=(doc.documentElement.scrollTop||doc.body.scrollTop||0)+5;if((x+w)>dw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(x<scrollX){x=swapX?r.right:scrollX}if((y+h)>dh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(y<scrollY){y=swapY?r.bottom:scrollY}}return[x,y]},getConstrainToXY:function(){var os={top:0,left:0,bottom:0,right:0};return function(el,local,offsets,proposedXY){el=Ext.get(el);offsets=offsets?Ext.applyIf(offsets,os):os;var vw,vh,vx=0,vy=0;if(el.dom==document.body||el.dom==document){vw=Ext.lib.Dom.getViewWidth();vh=Ext.lib.Dom.getViewHeight()}else{vw=el.dom.clientWidth;vh=el.dom.clientHeight;if(!local){var vxy=el.getXY();vx=vxy[0];vy=vxy[1]}}var s=el.getScroll();vx+=offsets.left+s.left;vy+=offsets.top+s.top;vw-=offsets.right;vh-=offsets.bottom;var vr=vx+vw;var vb=vy+vh;var xy=proposedXY||(!local?this.getXY():[this.getLeft(true),this.getTop(true)]);var x=xy[0],y=xy[1];var w=this.dom.offsetWidth,h=this.dom.offsetHeight;var moved=false;if((x+w)>vr){x=vr-w;moved=true}if((y+h)>vb){y=vb-h;moved=true}if(x<vx){x=vx;moved=true}if(y<vy){y=vy;moved=true}return moved?[x,y]:false}}(),adjustForConstraints:function(xy,parent,offsets){return this.getConstrainToXY(parent||document,false,offsets,xy)||xy},alignTo:function(element,position,offsets,animate){var xy=this.getAlignToXY(element,position,offsets);this.setXY(xy,this.preanim(arguments,3));return this},anchorTo:function(el,alignment,offsets,animate,monitorScroll,callback){var action=function(){this.alignTo(el,alignment,offsets,animate);Ext.callback(callback,this)};Ext.EventManager.onWindowResize(action,this);var tm=typeof monitorScroll;if(tm!="undefined"){Ext.EventManager.on(window,"scroll",action,this,{buffer:tm=="number"?monitorScroll:50})}action.call(this);return this},clearOpacity:function(){if(window.ActiveXObject){if(typeof this.dom.style.filter=="string"&&(/alpha/i).test(this.dom.style.filter)){this.dom.style.filter=""}}else{this.dom.style.opacity="";this.dom.style["-moz-opacity"]="";this.dom.style["-khtml-opacity"]=""}return this},hide:function(animate){this.setVisible(false,this.preanim(arguments,0));return this},show:function(animate){this.setVisible(true,this.preanim(arguments,0));return this},addUnits:function(size){return Ext.Element.addUnits(size,this.defaultUnit)},update:function(html,loadScripts,callback){if(typeof html=="undefined"){html=""}if(loadScripts!==true){this.dom.innerHTML=html;if(typeof callback=="function"){callback()}return this}var id=Ext.id();var dom=this.dom;html+='<span id="'+id+'"></span>';E.onAvailable(id,function(){var hd=document.getElementsByTagName("head")[0];var re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;var srcRe=/\ssrc=([\'\"])(.*?)\1/i;var typeRe=/\stype=([\'\"])(.*?)\1/i;var match;while(match=re.exec(html)){var attrs=match[1];var srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){var s=document.createElement("script");s.src=srcMatch[2];var 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])}}}}var el=document.getElementById(id);if(el){Ext.removeNode(el)}if(typeof callback=="function"){callback()}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},load:function(){var um=this.getUpdater();um.update.apply(um,arguments);return this},getUpdater:function(){if(!this.updateManager){this.updateManager=new Ext.Updater(this)}return this.updateManager},unselectable:function(){this.dom.unselectable="on";this.swallowEvent("selectstart",true);this.applyStyles("-moz-user-select:none;-khtml-user-select:none;");this.addClass("x-unselectable");return this},getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(centerIn){this.alignTo(centerIn||document,"c-c");return this},isBorderBox:function(){return noBoxAdjust[this.dom.tagName.toLowerCase()]||Ext.isBorderBox},getBox:function(contentBox,local){var xy;if(!local){xy=this.getXY()}else{var left=parseInt(this.getStyle("left"),10)||0;var top=parseInt(this.getStyle("top"),10)||0;xy=[left,top]}var el=this.dom,w=el.offsetWidth,h=el.offsetHeight,bx;if(!contentBox){bx={x:xy[0],y:xy[1],0:xy[0],1:xy[1],width:w,height:h}}else{var l=this.getBorderWidth("l")+this.getPadding("l");var r=this.getBorderWidth("r")+this.getPadding("r");var t=this.getBorderWidth("t")+this.getPadding("t");var b=this.getBorderWidth("b")+this.getPadding("b");bx={x:xy[0]+l,y:xy[1]+t,0:xy[0]+l,1:xy[1]+t,width:w-(l+r),height:h-(t+b)}}bx.right=bx.x+bx.width;bx.bottom=bx.y+bx.height;return bx},getFrameWidth:function(sides,onlyContentBox){return onlyContentBox&&Ext.isBorderBox?0:(this.getPadding(sides)+this.getBorderWidth(sides))},setBox:function(box,adjust,animate){var w=box.width,h=box.height;if((adjust&&!this.autoBoxAdjust)&&!this.isBorderBox()){w-=(this.getBorderWidth("lr")+this.getPadding("lr"));h-=(this.getBorderWidth("tb")+this.getPadding("tb"))}this.setBounds(box.x,box.y,w,h,this.preanim(arguments,2));return this},repaint:function(){var dom=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.get(dom).removeClass("x-repaint")},1);return this},getMargins:function(side){if(!side){return{top:parseInt(this.getStyle("margin-top"),10)||0,left:parseInt(this.getStyle("margin-left"),10)||0,bottom:parseInt(this.getStyle("margin-bottom"),10)||0,right:parseInt(this.getStyle("margin-right"),10)||0}}else{return this.addStyles(side,El.margins)}},addStyles:function(sides,styles){var val=0,v,w;for(var i=0,len=sides.length;i<len;i++){v=this.getStyle(styles[sides.charAt(i)]);if(v){w=parseInt(v,10);if(w){val+=(w>=0?w:-1*w)}}}return val},createProxy:function(config,renderTo,matchBox){config=typeof config=="object"?config:{tag:"div",cls:config};var proxy;if(renderTo){proxy=Ext.DomHelper.append(renderTo,config,true)}else{proxy=Ext.DomHelper.insertBefore(this.dom,config,true)}if(matchBox){proxy.setBox(this.getBox())}return proxy},mask:function(msg,msgCls){if(this.getStyle("position")=="static"){this.setStyle("position","relative")}if(this._maskMsg){this._maskMsg.remove()}if(this._mask){this._mask.remove()}this._mask=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask"},true);this.addClass("x-masked");this._mask.setDisplayed(true);if(typeof msg=="string"){this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg",cn:{tag:"div"}},true);var mm=this._maskMsg;mm.dom.className=msgCls?"ext-el-mask-msg "+msgCls:"ext-el-mask-msg";mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle("height")=="auto"){this._mask.setSize(this.dom.clientWidth,this.getHeight())}return this._mask},unmask:function(){if(this._mask){if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg}this._mask.remove();delete this._mask}this.removeClass("x-masked")},isMasked:function(){return this._mask&&this._mask.isVisible()},createShim:function(){var el=document.createElement("iframe");el.frameBorder="no";el.className="ext-shim";if(Ext.isIE&&Ext.isSecure){el.src=Ext.SSL_SECURE_URL}var shim=Ext.get(this.dom.parentNode.insertBefore(el,this.dom));shim.autoBoxAdjust=false;return shim},remove:function(){Ext.removeNode(this.dom);delete El.cache[this.dom.id]},hover:function(overFn,outFn,scope){var preOverFn=function(e){if(!e.within(this,true)){overFn.apply(scope||this,arguments)}};var preOutFn=function(e){if(!e.within(this,true)){outFn.apply(scope||this,arguments)}};this.on("mouseover",preOverFn,this.dom);this.on("mouseout",preOutFn,this.dom);return this},addClassOnOver:function(className){this.hover(function(){Ext.fly(this,"_internal").addClass(className)},function(){Ext.fly(this,"_internal").removeClass(className)});return this},addClassOnFocus:function(className){this.on("focus",function(){Ext.fly(this,"_internal").addClass(className)},this.dom);this.on("blur",function(){Ext.fly(this,"_internal").removeClass(className)},this.dom);return this},addClassOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,"_internal").addClass(className);var d=Ext.getDoc();var fn=function(){Ext.fly(dom,"_internal").removeClass(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},swallowEvent:function(eventName,preventDefault){var fn=function(e){e.stopPropagation();if(preventDefault){e.preventDefault()}};if(Ext.isArray(eventName)){for(var i=0,len=eventName.length;i<len;i++){this.on(eventName[i],fn)}return this}this.on(eventName,fn);return this},parent:function(selector,returnDom){return this.matchNode("parentNode","parentNode",selector,returnDom)},next:function(selector,returnDom){return this.matchNode("nextSibling","nextSibling",selector,returnDom)},prev:function(selector,returnDom){return this.matchNode("previousSibling","previousSibling",selector,returnDom)},first:function(selector,returnDom){return this.matchNode("nextSibling","firstChild",selector,returnDom)},last:function(selector,returnDom){return this.matchNode("previousSibling","lastChild",selector,returnDom)},matchNode:function(dir,start,selector,returnDom){var n=this.dom[start];while(n){if(n.nodeType==1&&(!selector||Ext.DomQuery.is(n,selector))){return !returnDom?Ext.get(n):n}n=n[dir]}return null},appendChild:function(el){el=Ext.get(el);el.appendTo(this);return this},createChild:function(config,insertBefore,returnDom){config=config||{tag:"div"};if(insertBefore){return Ext.DomHelper.insertBefore(insertBefore,config,returnDom!==true)}return Ext.DomHelper[!this.dom.firstChild?"overwrite":"append"](this.dom,config,returnDom!==true)},appendTo:function(el){el=Ext.getDom(el);el.appendChild(this.dom);return this},insertBefore:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el);return this},insertAfter:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el.nextSibling);return this},insertFirst:function(el,returnDom){el=el||{};if(typeof el=="object"&&!el.nodeType&&!el.dom){return this.createChild(el,this.dom.firstChild,returnDom)}else{el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !returnDom?Ext.get(el):el}},insertSibling:function(el,where,returnDom){var rt;if(Ext.isArray(el)){for(var i=0,len=el.length;i<len;i++){rt=this.insertSibling(el[i],where,returnDom)}return rt}where=where?where.toLowerCase():"before";el=el||{};var refNode=where=="before"?this.dom:this.dom.nextSibling;if(typeof el=="object"&&!el.nodeType&&!el.dom){if(where=="after"&&!this.dom.nextSibling){rt=Ext.DomHelper.append(this.dom.parentNode,el,!returnDom)}else{rt=Ext.DomHelper[where=="after"?"insertAfter":"insertBefore"](this.dom,el,!returnDom)}}else{rt=this.dom.parentNode.insertBefore(Ext.getDom(el),refNode);if(!returnDom){rt=Ext.get(rt)}}return rt},wrap:function(config,returnDom){if(!config){config={tag:"div"}}var newEl=Ext.DomHelper.insertBefore(this.dom,config,!returnDom);newEl.dom?newEl.dom.appendChild(this.dom):newEl.appendChild(this.dom);return newEl},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this},replaceWith:function(el){if(typeof el=="object"&&!el.nodeType&&!el.dom){el=this.insertSibling(el,"before")}else{el=Ext.getDom(el);this.dom.parentNode.insertBefore(el,this.dom)}El.uncache(this.id);this.dom.parentNode.removeChild(this.dom);this.dom=el;this.id=Ext.id(el);El.cache[this.id]=this;return this},insertHtml:function(where,html,returnEl){var el=Ext.DomHelper.insertHtml(where,this.dom,html);return returnEl?Ext.get(el):el},set:function(o,useSet){var el=this.dom;useSet=typeof useSet=="undefined"?(el.setAttribute?true:false):useSet;for(var attr in o){if(attr=="style"||typeof o[attr]=="function"){continue}if(attr=="cls"){el.className=o.cls}else{if(o.hasOwnProperty(attr)){if(useSet){el.setAttribute(attr,o[attr])}else{el[attr]=o[attr]}}}}if(o.style){Ext.DomHelper.applyStyles(el,o.style)}return this},addKeyListener:function(key,fn,scope){var config;if(typeof key!="object"||Ext.isArray(key)){config={key:key,fn:fn,scope:scope}}else{config={key:key.key,shift:key.shift,ctrl:key.ctrl,alt:key.alt,fn:fn,scope:scope}}return new Ext.KeyMap(this,config)},addKeyMap:function(config){return new Ext.KeyMap(this,config)},isScrollable:function(){var dom=this.dom;return dom.scrollHeight>dom.clientHeight||dom.scrollWidth>dom.clientWidth},scrollTo:function(side,value,animate){var prop=side.toLowerCase()=="left"?"scrollLeft":"scrollTop";if(!animate||!A){this.dom[prop]=value}else{var to=prop=="scrollLeft"?[value,this.dom.scrollTop]:[this.dom.scrollLeft,value];this.anim({scroll:{to:to}},this.preanim(arguments,2),"scroll")}return this},scroll:function(direction,distance,animate){if(!this.isScrollable()){return }var el=this.dom;var l=el.scrollLeft,t=el.scrollTop;var w=el.scrollWidth,h=el.scrollHeight;var cw=el.clientWidth,ch=el.clientHeight;direction=direction.toLowerCase();var scrolled=false;var a=this.preanim(arguments,2);switch(direction){case"l":case"left":if(w-l>cw){var v=Math.min(l+distance,w-cw);this.scrollTo("left",v,a);scrolled=true}break;case"r":case"right":if(l>0){var v=Math.max(l-distance,0);this.scrollTo("left",v,a);scrolled=true}break;case"t":case"top":case"up":if(t>0){var v=Math.max(t-distance,0);this.scrollTo("top",v,a);scrolled=true}break;case"b":case"bottom":case"down":if(h-t>ch){var v=Math.min(t+distance,h-ch);this.scrollTo("top",v,a);scrolled=true}break}return scrolled},translatePoints:function(x,y){if(typeof x=="object"||Ext.isArray(x)){y=x[1];x=x[0]}var p=this.getStyle("position");var o=this.getXY();var l=parseInt(this.getStyle("left"),10);var t=parseInt(this.getStyle("top"),10);if(isNaN(l)){l=(p=="relative")?0:this.dom.offsetLeft}if(isNaN(t)){t=(p=="relative")?0:this.dom.offsetTop}return{left:(x-o[0]+l),top:(y-o[1]+t)}},getScroll:function(){var d=this.dom,doc=document;if(d==doc||d==doc.body){var l,t;if(Ext.isIE&&Ext.isStrict){l=doc.documentElement.scrollLeft||(doc.body.scrollLeft||0);t=doc.documentElement.scrollTop||(doc.body.scrollTop||0)}else{l=window.pageXOffset||(doc.body.scrollLeft||0);t=window.pageYOffset||(doc.body.scrollTop||0)}return{left:l,top:t}}else{return{left:d.scrollLeft,top:d.scrollTop}}},getColor:function(attr,defaultValue,prefix){var v=this.getStyle(attr);if(!v||v=="transparent"||v=="inherit"){return defaultValue}var color=typeof prefix=="undefined"?"#":prefix;if(v.substr(0,4)=="rgb("){var rvs=v.slice(4,v.length-1).split(",");for(var i=0;i<3;i++){var h=parseInt(rvs[i]);var s=h.toString(16);if(h<16){s="0"+s}color+=s}}else{if(v.substr(0,1)=="#"){if(v.length==4){for(var i=1;i<4;i++){var c=v.charAt(i);color+=c+c}}else{if(v.length==7){color+=v.substr(1)}}}}return(color.length>5?color.toLowerCase():defaultValue)},boxWrap:function(cls){cls=cls||"x-box";var el=Ext.get(this.insertHtml("beforeBegin",String.format('<div class="{0}">'+El.boxMarkup+"</div>",cls)));el.child("."+cls+"-mc").dom.appendChild(this.dom);return el},getAttributeNS:Ext.isIE?function(ns,name){var d=this.dom;var type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]}return d[name]}:function(ns,name){var d=this.dom;return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)||d.getAttribute(name)||d[name]},getTextWidth:function(text,min,max){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(text,this.dom.innerHTML,true)).width).constrain(min||0,max||1000000)}};var ep=El.prototype;ep.on=ep.addListener;ep.mon=ep.addListener;ep.getUpdateManager=ep.getUpdater;ep.un=ep.removeListener;ep.autoBoxAdjust=true;El.unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;El.addUnits=function(v,defaultUnit){if(v===""||v=="auto"){return v}if(v===undefined){return""}if(typeof v=="number"||!El.unitPattern.test(v)){return v+(defaultUnit||"px")}return v};El.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>';El.VISIBILITY=1;El.DISPLAY=2;El.borders={l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"};El.paddings={l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"};El.margins={l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"};El.cache={};var docEl;El.get=function(el){var ex,elm,id;if(!el){return null}if(typeof el=="string"){if(!(elm=document.getElementById(el))){return null}if(ex=El.cache[el]){ex.dom=elm}else{ex=El.cache[el]=new El(elm)}return ex}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el)}if(ex=El.cache[id]){ex.dom=el}else{ex=El.cache[id]=new El(el)}return ex}else{if(el instanceof El){if(el!=docEl){el.dom=document.getElementById(el.id)||el.dom;El.cache[el.id]=el}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==document){if(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=document}return docEl}}}}}}return null};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;i<len;i++){if(a[i]){delete El.cache[a[i].id||a[i]]}}};El.garbageCollect=function(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThread);return }for(var eid in El.cache){var el=El.cache[eid],d=el.dom;if(!d||!d.parentNode||(!d.offsetParent&&!document.getElementById(eid))){delete El.cache[eid];if(d&&Ext.enableListenerCollection){E.purgeElement(d)}}}};El.collectorThreadId=setInterval(El.garbageCollect,30000);var flyFn=function(){};flyFn.prototype=El.prototype;var _cls=new flyFn();El.Flyweight=function(dom){this.dom=dom};El.Flyweight.prototype=_cls;El.Flyweight.prototype.isFlyweight=true;El._flyweights={};El.fly=function(el,named){named=named||"_global";el=Ext.getDom(el);if(!el){return null}if(!El._flyweights[named]){El._flyweights[named]=new El.Flyweight()}El._flyweights[named].dom=el;return El._flyweights[named]};Ext.get=El.get;Ext.fly=El.fly;var noBoxAdjust=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){noBoxAdjust.button=1}Ext.EventManager.on(window,"unload",function(){delete El.cache;delete El._flyweights})})();Ext.enableFx=true;Ext.Fx={slideIn:function(D,E){var F=this.getFxEl();E=E||{};F.queueFx(E,function(){D=D||"t";this.fixDisplay();var A=this.getFxRestore();var N=this.getBox();this.setSize(N);var Q=this.fxWrap(A.pos,E,"hidden");var C=this.dom.style;C.visibility="visible";C.position="absolute";var R=function(){F.fxUnwrap(Q,A.pos,E);C.width=A.width;C.height=A.height;F.afterFx(E)};var M,B={to:[N.x,N.y]},O={to:N.width},P={to:N.height};switch(D.toLowerCase()){case"t":Q.setSize(N.width,0);C.left=C.bottom="0";M={height:P};break;case"l":Q.setSize(0,N.height);C.right=C.top="0";M={width:O};break;case"r":Q.setSize(0,N.height);Q.setX(N.right);C.left=C.top="0";M={width:O,points:B};break;case"b":Q.setSize(N.width,0);Q.setY(N.bottom);C.left=C.top="0";M={height:P,points:B};break;case"tl":Q.setSize(0,0);C.right=C.bottom="0";M={width:O,height:P};break;case"bl":Q.setSize(0,0);Q.setY(N.y+N.height);C.right=C.top="0";M={width:O,height:P,points:B};break;case"br":Q.setSize(0,0);Q.setXY([N.right,N.bottom]);C.left=C.top="0";M={width:O,height:P,points:B};break;case"tr":Q.setSize(0,0);Q.setX(N.x+N.width);C.left=C.bottom="0";M={width:O,height:P,points:B};break}this.dom.style.visibility="visible";Q.show();arguments.callee.anim=Q.fxanim(M,E,"motion",0.5,"easeOut",R)});return this},slideOut:function(D,E){var F=this.getFxEl();E=E||{};F.queueFx(E,function(){D=D||"t";var B=this.getFxRestore();var N=this.getBox();this.setSize(N);var K=this.fxWrap(B.pos,E,"visible");var L=this.dom.style;L.visibility="visible";L.position="absolute";K.setSize(N);var A=function(){if(E.useDisplay){F.setDisplayed(false)}else{F.hide()}F.fxUnwrap(K,B.pos,E);L.width=B.width;L.height=B.height;F.afterFx(E)};var M,C={to:0};switch(D.toLowerCase()){case"t":L.left=L.bottom="0";M={height:C};break;case"l":L.right=L.top="0";M={width:C};break;case"r":L.left=L.top="0";M={width:C,points:{to:[N.right,N.y]}};break;case"b":L.left=L.top="0";M={height:C,points:{to:[N.x,N.bottom]}};break;case"tl":L.right=L.bottom="0";M={width:C,height:C};break;case"bl":L.right=L.top="0";M={width:C,height:C,points:{to:[N.x,N.bottom]}};break;case"br":L.left=L.top="0";M={width:C,height:C,points:{to:[N.x+N.width,N.bottom]}};break;case"tr":L.left=L.bottom="0";M={width:C,height:C,points:{to:[N.right,N.y]}};break}arguments.callee.anim=K.fxanim(M,E,"motion",0.5,"easeOut",A)});return this},puff:function(D){var C=this.getFxEl();D=D||{};C.queueFx(D,function(){this.clearOpacity();this.show();var B=this.getFxRestore();var I=this.dom.style;var A=function(){if(D.useDisplay){C.setDisplayed(false)}else{C.hide()}C.clearOpacity();C.setPositioning(B.pos);I.width=B.width;I.height=B.height;I.fontSize="";C.afterFx(D)};var H=this.getWidth();var J=this.getHeight();arguments.callee.anim=this.fxanim({width:{to:this.adjustWidth(H*2)},height:{to:this.adjustHeight(J*2)},points:{by:[-(H*0.5),-(J*0.5)]},opacity:{to:0},fontSize:{to:200,unit:"%"}},D,"motion",0.5,"easeOut",A)});return this},switchOff:function(D){var C=this.getFxEl();D=D||{};C.queueFx(D,function(){this.clearOpacity();this.clip();var B=this.getFxRestore();var F=this.dom.style;var A=function(){if(D.useDisplay){C.setDisplayed(false)}else{C.hide()}C.clearOpacity();C.setPositioning(B.pos);F.width=B.width;F.height=B.height;C.afterFx(D)};this.fxanim({opacity:{to:0.3}},null,null,0.1,null,function(){this.clearOpacity();(function(){this.fxanim({height:{to:1},points:{by:[0,this.getHeight()*0.5]}},D,"motion",0.3,"easeIn",A)}).defer(100,this)})});return this},highlight:function(D,E){var F=this.getFxEl();E=E||{};F.queueFx(E,function(){D=D||"ffff9c";var L=E.attr||"backgroundColor";this.clearOpacity();this.show();var C=this.getColor(L);var B=this.dom.style[L];var J=(E.endColor||C)||"ffffff";var A=function(){F.dom.style[L]=B;F.afterFx(E)};var K={};K[L]={from:D,to:J};arguments.callee.anim=this.fxanim(K,E,"color",1,"easeIn",A)});return this},frame:function(E,G,F){var H=this.getFxEl();F=F||{};H.queueFx(F,function(){E=E||"#C3DAF9";if(E.length==6){E="#"+E}G=G||1;var A=F.duration||1;this.show();var C=this.getBox();var B=function(){var J=Ext.getBody().createChild({style:{visbility:"hidden",position:"absolute","z-index":"35000",border:"0px solid "+E}});var D=Ext.isBorderBox?2:1;J.animate({top:{from:C.y,to:C.y-20},left:{from:C.x,to:C.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:C.height,to:(C.height+(20*D))},width:{from:C.width,to:(C.width+(20*D))}},A,function(){J.remove();if(--G>0){B()}else{H.afterFx(F)}})};B.call(this)});return this},pause:function(E){var D=this.getFxEl();var F={};D.queueFx(F,function(){setTimeout(function(){D.afterFx(F)},E*1000)});return this},fadeIn:function(D){var C=this.getFxEl();D=D||{};C.queueFx(D,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility="visible";var A=D.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:A}},D,null,0.5,"easeOut",function(){if(A==1){this.clearOpacity()}C.afterFx(D)})});return this},fadeOut:function(D){var C=this.getFxEl();D=D||{};C.queueFx(D,function(){arguments.callee.anim=this.fxanim({opacity:{to:D.endOpacity||0}},D,null,0.5,"easeOut",function(){if(this.visibilityMode==Ext.Element.DISPLAY||D.useDisplay){this.dom.style.display="none"}else{this.dom.style.visibility="hidden"}this.clearOpacity();C.afterFx(D)})});return this},scale:function(D,F,E){this.shift(Ext.apply({},E,{width:D,height:F}));return this},shift:function(D){var C=this.getFxEl();D=D||{};C.queueFx(D,function(){var J={},K=D.width,I=D.height,L=D.x,A=D.y,B=D.opacity;if(K!==undefined){J.width={to:this.adjustWidth(K)}}if(I!==undefined){J.height={to:this.adjustHeight(I)}}if(D.left!==undefined){J.left={to:D.left}}if(D.top!==undefined){J.top={to:D.top}}if(D.right!==undefined){J.right={to:D.right}}if(D.bottom!==undefined){J.bottom={to:D.bottom}}if(L!==undefined||A!==undefined){J.points={to:[L!==undefined?L:this.getX(),A!==undefined?A:this.getY()]}}if(B!==undefined){J.opacity={to:B}}if(D.xy!==undefined){J.points={to:D.xy}}arguments.callee.anim=this.fxanim(J,D,"motion",0.35,"easeOut",function(){C.afterFx(D)})});return this},ghost:function(D,E){var F=this.getFxEl();E=E||{};F.queueFx(E,function(){D=D||"b";var C=this.getFxRestore();var M=this.getWidth(),K=this.getHeight();var L=this.dom.style;var A=function(){if(E.useDisplay){F.setDisplayed(false)}else{F.hide()}F.clearOpacity();F.setPositioning(C.pos);L.width=C.width;L.height=C.height;F.afterFx(E)};var N={opacity:{to:0},points:{}},B=N.points;switch(D.toLowerCase()){case"t":B.by=[0,-K];break;case"l":B.by=[-M,0];break;case"r":B.by=[M,0];break;case"b":B.by=[0,K];break;case"tl":B.by=[-M,-K];break;case"bl":B.by=[-M,K];break;case"br":B.by=[M,K];break;case"tr":B.by=[M,-K];break}arguments.callee.anim=this.fxanim(N,E,"motion",0.5,"easeOut",A)});return this},syncFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:true,stopFx:false});return this},sequenceFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:false,stopFx:false});return this},nextFx:function(){var B=this.fxQueue[0];if(B){B.call(this)}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0]},stopFx:function(){if(this.hasActiveFx()){var B=this.fxQueue[0];if(B&&B.anim&&B.anim.isAnimated()){this.fxQueue=[B];B.anim.stop(true)}}return this},beforeFx:function(B){if(this.hasActiveFx()&&!B.concurrent){if(B.stopFx){this.stopFx();return true}return false}return true},hasFxBlock:function(){var B=this.fxQueue;return B&&B[0]&&B[0].block},queueFx:function(E,D){if(!this.fxQueue){this.fxQueue=[]}if(!this.hasFxBlock()){Ext.applyIf(E,this.fxDefaults);if(!E.concurrent){var F=this.beforeFx(E);D.block=E.block;this.fxQueue.push(D);if(F){this.nextFx()}}else{D.call(this)}}return this},fxWrap:function(H,J,K){var L;if(!J.wrap||!(L=Ext.get(J.wrap))){var G;if(J.fixPosition){G=this.getXY()}var I=document.createElement("div");I.style.visibility=K;L=Ext.get(this.dom.parentNode.insertBefore(I,this.dom));L.setPositioning(H);if(L.getStyle("position")=="static"){L.position("relative")}this.clearPositioning("auto");L.clip();L.dom.appendChild(this.dom);if(G){L.setXY(G)}}return L},fxUnwrap:function(D,E,F){this.clearPositioning();this.setPositioning(E);if(!F.wrap){D.dom.parentNode.insertBefore(this.dom,D.dom);D.remove()}},getFxRestore:function(){var B=this.dom.style;return{pos:this.getPositioning(),width:B.width,height:B.height}},afterFx:function(B){if(B.afterStyle){this.applyStyles(B.afterStyle)}if(B.afterCls){this.addClass(B.afterCls)}if(B.remove===true){this.remove()}Ext.callback(B.callback,B.scope,[this]);if(!B.concurrent){this.fxQueue.shift();this.nextFx()}},getFxEl:function(){return Ext.get(this.dom)},fxanim:function(L,K,N,J,M,H){N=N||"run";K=K||{};var I=Ext.lib.Anim[N](this.dom,L,(K.duration||J)||0.35,(K.easing||M)||"easeOut",function(){Ext.callback(H,this)},this);K.anim=I;return I}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx);Ext.CompositeElement=function(B){this.elements=[];this.addElements(B)};Ext.CompositeElement.prototype={isComposite:true,addElements:function(G){if(!G){return this}if(typeof G=="string"){G=Ext.Element.selectorFunction(G)}var H=this.elements;var J=H.length-1;for(var I=0,F=G.length;I<F;I++){H[++J]=Ext.get(G[I])}return this},fill:function(B){this.elements=[];this.add(B);return this},filter:function(C){var D=[];this.each(function(A){if(A.is(C)){D[D.length]=A.dom}});this.fill(D);return this},invoke:function(G,J){var H=this.elements;for(var I=0,F=H.length;I<F;I++){Ext.Element.prototype[G].apply(H[I],J)}return this},add:function(B){if(typeof B=="string"){this.addElements(Ext.Element.selectorFunction(B))}else{if(B.length!==undefined){this.addElements(B)}else{this.addElements([B])}}return this},each:function(G,H){var I=this.elements;for(var J=0,F=I.length;J<F;J++){if(G.call(H||I[J],I[J],this,J)===false){break}}return this},item:function(B){return this.elements[B]||null},first:function(){return this.item(0)},last:function(){return this.item(this.elements.length-1)},getCount:function(){return this.elements.length},contains:function(B){return this.indexOf(B)!==-1},indexOf:function(B){return this.elements.indexOf(Ext.get(B))},removeElement:function(J,H){if(Ext.isArray(J)){for(var K=0,G=J.length;K<G;K++){this.removeElement(J[K])}return this}var L=typeof J=="number"?J:this.indexOf(J);if(L!==-1&&this.elements[L]){if(H){var I=this.elements[L];if(I.dom){I.remove()}else{Ext.removeNode(I)}}this.elements.splice(L,1)}return this},replaceElement:function(F,G,E){var H=typeof F=="number"?F:this.indexOf(F);if(H!==-1){if(E){this.elements[H].replaceWith(G)}else{this.elements.splice(H,1,Ext.get(G))}}return this},clear:function(){this.elements=[]}};(function(){Ext.CompositeElement.createCall=function(D,A){if(!D[A]){D[A]=function(){return this.invoke(A,arguments)}}};for(var B in Ext.Element.prototype){if(typeof Ext.Element.prototype[B]=="function"){Ext.CompositeElement.createCall(Ext.CompositeElement.prototype,B)}}})();Ext.CompositeElementLite=function(B){Ext.CompositeElementLite.superclass.constructor.call(this,B);this.el=new Ext.Element.Flyweight()};Ext.extend(Ext.CompositeElementLite,Ext.CompositeElement,{addElements:function(G){if(G){if(Ext.isArray(G)){this.elements=this.elements.concat(G)}else{var H=this.elements;var J=H.length-1;for(var I=0,F=G.length;I<F;I++){H[++J]=G[I]}}}return this},invoke:function(H,L){var J=this.elements;var I=this.el;for(var K=0,G=J.length;K<G;K++){I.dom=J[K];Ext.Element.prototype[H].apply(I,L)}return this},item:function(B){if(!this.elements[B]){return null}this.el.dom=this.elements[B];return this.el},addListener:function(N,I,J,K){var L=this.elements;for(var M=0,H=L.length;M<H;M++){Ext.EventManager.on(L[M],N,I,J||L[M],K)}return this},each:function(H,I){var K=this.elements;var J=this.el;for(var L=0,G=K.length;L<G;L++){J.dom=K[L];if(H.call(I||J,J,this,L)===false){break}}return this},indexOf:function(B){return this.elements.indexOf(Ext.getDom(B))},replaceElement:function(H,I,F){var J=typeof H=="number"?H:this.indexOf(H);if(J!==-1){I=Ext.getDom(I);if(F){var G=this.elements[J];G.parentNode.insertBefore(I,G);Ext.removeNode(G)}this.elements.splice(J,1,I)}return this}});Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(E,F,H){var G;if(typeof E=="string"){G=Ext.Element.selectorFunction(E,H)}else{if(E.length!==undefined){G=E}else{throw"Invalid selector"}}if(F===true){return new Ext.CompositeElement(G)}else{return new Ext.CompositeElementLite(G)}};Ext.select=Ext.Element.select;Ext.data.Connection=function(B){Ext.apply(this,B);this.addEvents("beforerequest","requestcomplete","requestexception");Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,request:function(T){if(this.fireEvent("beforerequest",this,T)!==false){var L=T.params;if(typeof L=="function"){L=L.call(T.scope||window,T)}if(typeof L=="object"){L=Ext.urlEncode(L)}if(this.extraParams){var R=Ext.urlEncode(this.extraParams);L=L?(L+"&"+R):R}var M=T.url||this.url;if(typeof M=="function"){M=M.call(T.scope||window,T)}if(T.form){var K=Ext.getDom(T.form);M=M||K.action;var P=K.getAttribute("enctype");if(T.isUpload||(P&&P.toLowerCase()=="multipart/form-data")){return this.doFormUpload(T,L,M)}var Q=Ext.lib.Ajax.serializeForm(K);L=L?(L+"&"+Q):Q}var O=T.headers;if(this.defaultHeaders){O=Ext.apply(O||{},this.defaultHeaders);if(!T.headers){T.headers=O}}var S={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:T},timeout:T.timeout||this.timeout};var N=T.method||this.method||(L?"POST":"GET");if(N=="GET"&&(this.disableCaching&&T.disableCaching!==false)||T.disableCaching===true){M+=(M.indexOf("?")!=-1?"&":"?")+"_dc="+(new Date().getTime())}if(typeof T.autoAbort=="boolean"){if(T.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((N=="GET"||T.xmlData||T.jsonData)&&L){M+=(M.indexOf("?")!=-1?"&":"?")+L;L=""}this.transId=Ext.lib.Ajax.request(N,M,S,L,T);return this.transId}else{Ext.callback(T.callback,T.scope,[T,null,null]);return null}},isLoading:function(B){if(B){return Ext.lib.Ajax.isCallInProgress(B)}else{return this.transId?true:false}},abort:function(B){if(B||this.isLoading()){Ext.lib.Ajax.abort(B||this.transId)}},handleResponse:function(C){this.transId=false;var D=C.argument.options;C.argument=D?D.argument:null;this.fireEvent("requestcomplete",this,C,D);Ext.callback(D.success,D.scope,[C,D]);Ext.callback(D.callback,D.scope,[D,true,C])},handleFailure:function(D,E){this.transId=false;var F=D.argument.options;D.argument=F?F.argument:null;this.fireEvent("requestexception",this,D,F,E);Ext.callback(F.failure,F.scope,[D,F]);Ext.callback(F.callback,F.scope,[F,false,D])},doFormUpload:function(X,P,O){var N=Ext.id();var W=document.createElement("iframe");W.id=N;W.name=N;W.className="x-hidden";if(Ext.isIE){W.src=Ext.SSL_SECURE_URL}document.body.appendChild(W);if(Ext.isIE){document.frames[N].name=N}var M=Ext.getDom(X.form);M.target=N;M.method="POST";M.enctype=M.encoding="multipart/form-data";if(O){M.action=O}var Q,S;if(P){Q=[];P=Ext.urlDecode(P,false);for(var U in P){if(P.hasOwnProperty(U)){S=document.createElement("input");S.type="hidden";S.name=U;S.value=P[U];M.appendChild(S);Q.push(S)}}}function V(){var C={responseText:"",responseXML:null};C.argument=X?X.argument:null;try{var A;if(Ext.isIE){A=W.contentWindow.document}else{A=(W.contentDocument||window.frames[N].document)}if(A&&A.body){C.responseText=A.body.innerHTML}if(A&&A.XMLDocument){C.responseXML=A.XMLDocument}else{C.responseXML=A}}catch(B){}Ext.EventManager.removeListener(W,"load",V,this);this.fireEvent("requestcomplete",this,C,X);Ext.callback(X.success,X.scope,[C,X]);Ext.callback(X.callback,X.scope,[X,true,C]);setTimeout(function(){Ext.removeNode(W)},100)}Ext.EventManager.on(W,"load",V,this);M.submit();if(Q){for(var T=0,R=Q.length;T<R;T++){Ext.removeNode(Q[T])}}}});Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(B){return Ext.lib.Ajax.serializeForm(B)}});Ext.Updater=function(F,D){F=Ext.get(F);if(!D&&F.updateManager){return F.updateManager}this.el=F;this.defaultUrl=null;this.addEvents("beforeupdate","update","failure");var E=Ext.Updater.defaults;this.sslBlankUrl=E.sslBlankUrl;this.disableCaching=E.disableCaching;this.indicatorText=E.indicatorText;this.showLoadIndicator=E.showLoadIndicator;this.timeout=E.timeout;this.loadScripts=E.loadScripts;this.transaction=null;this.refreshDelegate=this.refresh.createDelegate(this);this.updateDelegate=this.update.createDelegate(this);this.formUpdateDelegate=this.formUpdate.createDelegate(this);if(!this.renderer){this.renderer=new Ext.Updater.BasicRenderer()}Ext.Updater.superclass.constructor.call(this)};Ext.extend(Ext.Updater,Ext.util.Observable,{getEl:function(){return this.el},update:function(N,J,I,L){if(this.fireEvent("beforeupdate",this.el,N,J)!==false){var H,M;if(typeof N=="object"){H=N;N=H.url;J=J||H.params;I=I||H.callback;L=L||H.discardUrl;M=H.scope;if(typeof H.nocache!="undefined"){this.disableCaching=H.nocache}if(typeof H.text!="undefined"){this.indicatorText='<div class="loading-indicator">'+H.text+"</div>"}if(typeof H.scripts!="undefined"){this.loadScripts=H.scripts}if(typeof H.timeout!="undefined"){this.timeout=H.timeout}}this.showLoading();if(!L){this.defaultUrl=N}if(typeof N=="function"){N=N.call(this)}var K=Ext.apply(H||{},{url:N,params:(typeof J=="function"&&M)?J.createDelegate(M):J,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{options:H,url:N,form:null,callback:I,scope:M||window,params:J}});this.transaction=Ext.Ajax.request(K)}},formUpdate:function(G,E,H,F){if(this.fireEvent("beforeupdate",this.el,G,E)!==false){if(typeof E=="function"){E=E.call(this)}G=Ext.getDom(G);this.transaction=Ext.Ajax.request({form:G,url:E,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{url:E,form:G,callback:F,reset:H}});this.showLoading.defer(1,this)}},refresh:function(B){if(this.defaultUrl==null){return }this.update(this.defaultUrl,null,B,true)},startAutoRefresh:function(J,I,H,G,F){if(F){this.update(I||this.defaultUrl,H,G,true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[I||this.defaultUrl,H,G,true]),J*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return this.autoRefreshProcId?true:false},showLoading:function(){if(this.showLoadIndicator){this.el.update(this.indicatorText)}},processSuccess:function(C){this.transaction=null;if(C.argument.form&&C.argument.reset){try{C.argument.form.reset()}catch(D){}}if(this.loadScripts){this.renderer.render(this.el,C,this,this.updateComplete.createDelegate(this,[C]))}else{this.renderer.render(this.el,C,this);this.updateComplete(C)}},updateComplete:function(B){this.fireEvent("update",this.el,B);if(typeof B.argument.callback=="function"){B.argument.callback.call(B.argument.scope,this.el,true,B,B.argument.options)}},processFailure:function(B){this.transaction=null;this.fireEvent("failure",this.el,B);if(typeof B.argument.callback=="function"){B.argument.callback.call(B.argument.scope,this.el,false,B,B.argument.options)}},setRenderer:function(B){this.renderer=B},getRenderer:function(){return this.renderer},setDefaultUrl:function(B){this.defaultUrl=B},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){if(this.transaction){return Ext.Ajax.isLoading(this.transaction)}return false}});Ext.Updater.defaults={timeout:30,loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>'};Ext.Updater.updateElement=function(H,I,G,J){var F=Ext.get(H).getUpdater();Ext.apply(F,J);F.update(I,G,J?J.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(G,E,H,F){G.update(E.responseText,H.loadScripts,F)}};Ext.UpdateManager=Ext.Updater;Date.parseFunctions={count:0};Date.parseRegexes=[];Date.formatFunctions={count:0};Date.prototype.dateFormat=function(D){if(Date.formatFunctions[D]==null){Date.createNewFormat(D)}var C=Date.formatFunctions[D];return this[C]()};Date.prototype.format=Date.prototype.dateFormat;Date.createNewFormat=function(format){var funcName="format"+Date.formatFunctions.count++;Date.formatFunctions[format]=funcName;var code="Date.prototype."+funcName+" = function(){return ";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true}else{if(special){special=false;code+="'"+String.escape(ch)+"' + "}else{code+=Date.getFormatCode(ch)+" + "}}}eval(code.substring(0,code.length-3)+";}")};Date.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:"this.getFullYear()",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 G="Y-m-dTH:i:sP",I=[],J=0,F=G.length;J<F;++J){var H=G.charAt(J);I.push(H=="T"?"'T'":Date.getFormatCode(H))}return I.join(" + ")},U:"Math.round(this.getTime() / 1000)"};Date.getFormatCode=function(D){var C=Date.formatCodes[D];if(C){C=Ext.type(C)=="function"?C():C;Date.formatCodes[D]=C}return C||("'"+String.escape(D)+"'")};Date.parseDate=function(D,E){if(Date.parseFunctions[E]==null){Date.createParser(E)}var F=Date.parseFunctions[E];return Date[F](D)};Date.createParser=function(format){var funcName="parse"+Date.parseFunctions.count++;var regexNum=Date.parseRegexes.length;var currentGroup=1;Date.parseFunctions[format]=funcName;var code="Date."+funcName+" = function(input){\nvar y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, ms = -1, o, z, u, v;\ninput = String(input);var d = new Date();\ny = d.getFullYear();\nm = d.getMonth();\nd = d.getDate();\nvar results = input.match(Date.parseRegexes["+regexNum+"]);\nif (results && results.length > 0) {";var regex="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true}else{if(special){special=false;regex+=String.escape(ch)}else{var obj=Date.formatCodeToRegex(ch,currentGroup);currentGroup+=obj.g;regex+=obj.s;if(obj.g&&obj.c){code+=obj.c}}}}code+="if (u){\nv = new Date(u * 1000);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0 && ms >= 0){\nv = new Date(y, m, d, h, i, s, ms);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0){\nv = new Date(y, m, d, h, i, s);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0){\nv = new Date(y, m, d, h, i);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0){\nv = new Date(y, m, d, h);\n}else if (y >= 0 && m >= 0 && d > 0){\nv = new Date(y, m, d);\n}else if (y >= 0 && m >= 0){\nv = new Date(y, m);\n}else if (y >= 0){\nv = new Date(y);\n}\n}\nreturn (v && Ext.type(z || o) == 'number')? (Ext.type(z) == 'number' ? v.add(Date.SECOND, (v.getTimezoneOffset() * 60) + z) : v.add(Date.HOUR, (v.getGMTOffset() / 100) + (o / -100))) : v;\n}";Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$","i");eval(code)};Date.parseCodes={d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:function(){return Ext.applyIf({s:"(\\d{1,2})"},Date.parseCodes.d)},D:function(){for(var C=[],D=0;D<7;C.push(Date.getShortDayName(D)),++D){}return{g:0,c:null,s:"(?:"+C.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:0,c:null,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 C=[],D=0;D<12;C.push(Date.getShortMonthName(D)),++D){}return Ext.applyIf({s:"("+C.join("|")+")"},Date.parseCodes.F)},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{2})"},n:function(){return Ext.applyIf({s:"(\\d{1,2})"},Date.parseCodes.m)},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:function(){return Date.parseCodes.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:{g:1,c:"if (results[{0}] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"},A:{g:1,c:"if (results[{0}] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"},g:function(){return Date.parseCodes.G},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return Date.parseCodes.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 = parseInt(results[{0}], 10);\n",s:"(\\d{3})"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1);","var hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60);","var 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:function(){return Ext.applyIf({s:"([+-]\\d{2}:\\d{2})"},Date.parseCodes.O)},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"z = results[{0}] * 1;\nz = (-43200 <= z && z <= 50400)? z : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var G=Date.formatCodeToRegex,I=[];var F=[G("Y",1),G("m",2),G("d",3),G("h",4),G("i",5),G("s",6),{c:"if(results[7] == 'Z'){\no = 0;\n}else{\n"+G("P",7).c+"\n}"}];for(var H=0,J=F.length;H<J;++H){I.push(F[H].c)}return{g:1,c:I.join(""),s:F[0].s+"-"+F[1].s+"-"+F[2].s+"T"+F[3].s+":"+F[4].s+":"+F[5].s+"("+G("P",7).s+"|Z)"}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}};Date.formatCodeToRegex=function(F,D){var E=Date.parseCodes[F];if(E){E=Ext.type(E)=="function"?E():E;Date.parseCodes[F]=E;if(E.c){E.c=String.format(E.c,D)}}return E||{g:0,c:null,s:Ext.escapeRe(F)}};Date.prototype.getTimezone=function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")};Date.prototype.getGMTOffset=function(B){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.abs(Math.floor(this.getTimezoneOffset()/60)),2,"0")+(B?":":"")+String.leftPad(this.getTimezoneOffset()%60,2,"0")};Date.prototype.getDayOfYear=function(){var C=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var D=0;D<this.getMonth();++D){C+=Date.daysInMonth[D]}return C+this.getDate()-1};Date.prototype.getWeekOfYear=function(){var J=86400000;var I=7*J;var H=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/J;var F=Math.floor(H/7);var G=new Date(F*I).getUTCFullYear();return F-Math.floor(Date.UTC(G,0,7)/I)+1};Date.prototype.isLeapYear=function(){var B=this.getFullYear();return !!((B&3)==0&&(B%100||(B%400==0&&B)))};Date.prototype.getFirstDayOfMonth=function(){var B=(this.getDay()-(this.getDate()-1))%7;return(B<0)?(B+7):B};Date.prototype.getLastDayOfMonth=function(){var B=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(B<0)?(B+7):B};Date.prototype.getFirstDateOfMonth=function(){return new Date(this.getFullYear(),this.getMonth(),1)};Date.prototype.getLastDateOfMonth=function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())};Date.prototype.getDaysInMonth=function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;return Date.daysInMonth[this.getMonth()]};Date.prototype.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"}};Date.daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31];Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.getShortMonthName=function(B){return Date.monthNames[B].substring(0,3)};Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.getShortDayName=function(B){return Date.dayNames[B].substring(0,3)};Date.y2kYear=50;Date.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};Date.getMonthNumber=function(B){return Date.monthNumbers[B.substring(0,1).toUpperCase()+B.substring(1,3).toLowerCase()]};Date.prototype.clone=function(){return new Date(this.getTime())};Date.prototype.clearTime=function(B){if(B){return this.clone().clearTime()}this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);return this};if(Ext.isSafari){Date.brokenSetMonth=Date.prototype.setMonth;Date.prototype.setMonth=function(E){if(E<=-1){var F=Math.ceil(-E);var G=Math.ceil(F/12);var H=(F%12)?12-F%12:0;this.setFullYear(this.getFullYear()-G);return Date.brokenSetMonth.call(this,H)}else{return Date.brokenSetMonth.apply(this,arguments)}}}Date.MILLI="ms";Date.SECOND="s";Date.MINUTE="mi";Date.HOUR="h";Date.DAY="d";Date.MONTH="mo";Date.YEAR="y";Date.prototype.add=function(H,G){var F=this.clone();if(!H||G===0){return F}switch(H.toLowerCase()){case Date.MILLI:F.setMilliseconds(this.getMilliseconds()+G);break;case Date.SECOND:F.setSeconds(this.getSeconds()+G);break;case Date.MINUTE:F.setMinutes(this.getMinutes()+G);break;case Date.HOUR:F.setHours(this.getHours()+G);break;case Date.DAY:F.setDate(this.getDate()+G);break;case Date.MONTH:var E=this.getDate();if(E>28){E=Math.min(E,this.getFirstDateOfMonth().add("mo",G).getLastDateOfMonth().getDate())}F.setDate(E);F.setMonth(this.getMonth()+G);break;case Date.YEAR:F.setFullYear(this.getFullYear()+G);break}return F};Date.prototype.between=function(E,D){var F=this.getTime();return E.getTime()<=F&&F<=D.getTime()};Ext.util.DelayedTask=function(K,L,H){var I=null,J,N;var M=function(){var A=new Date().getTime();if(A-N>=J){clearInterval(I);I=null;K.apply(L,H||[])}};this.delay=function(C,A,B,D){if(I&&C!=J){this.cancel()}J=C;N=new Date().getTime();K=A||K;L=B||L;H=D||H;if(!I){I=setInterval(M,J)}};this.cancel=function(){if(I){clearInterval(I);I=null}}};Ext.util.TaskRunner=function(R){R=R||10;var Q=[],M=[];var L=0;var P=false;var J=function(){P=false;clearInterval(L);L=0};var O=function(){if(!P){P=true;L=setInterval(N,R)}};var K=function(A){M.push(A);if(A.onStop){A.onStop.apply(A.scope||A)}};var N=function(){if(M.length>0){for(var D=0,B=M.length;D<B;D++){Q.remove(M[D])}M=[];if(Q.length<1){J();return }}var F=new Date().getTime();for(var D=0,B=Q.length;D<B;++D){var E=Q[D];var C=F-E.taskRunTime;if(E.interval<=C){var A=E.run.apply(E.scope||E,E.args||[++E.taskRunCount]);E.taskRunTime=F;if(A===false||E.taskRunCount===E.repeat){K(E);return }}if(E.duration&&E.duration<=(F-E.taskStartTime)){K(E)}}};this.start=function(A){Q.push(A);A.taskStartTime=new Date().getTime();A.taskRunTime=0;A.taskRunCount=0;O();return A};this.stop=function(A){K(A);return A};this.stopAll=function(){J();for(var A=0,B=Q.length;A<B;A++){if(Q[A].onStop){Q[A].onStop()}}Q=[];M=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();Ext.util.MixedCollection=function(D,C){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents("clear","add","replace","remove","sort");this.allowFunctions=D===true;if(C){this.getKey=C}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(F,E){if(arguments.length==1){E=arguments[0];F=this.getKey(E)}if(typeof F=="undefined"||F===null){this.length++;this.items.push(E);this.keys.push(null)}else{var D=this.map[F];if(D){return this.replace(F,E)}this.length++;this.items.push(E);this.map[F]=E;this.keys.push(F)}this.fireEvent("add",this.length-1,E,F);return E},getKey:function(B){return B.id},replace:function(G,F){if(arguments.length==1){F=arguments[0];G=this.getKey(F)}var E=this.item(G);if(typeof G=="undefined"||G===null||typeof E=="undefined"){return this.add(G,F)}var H=this.indexOfKey(G);this.items[H]=F;this.map[G]=F;this.fireEvent("replace",G,E,F);return F},addAll:function(G){if(arguments.length>1||Ext.isArray(G)){var J=arguments.length>1?arguments:G;for(var H=0,F=J.length;H<F;H++){this.add(J[H])}}else{for(var I in G){if(this.allowFunctions||typeof G[I]!="function"){this.add(I,G[I])}}}},each:function(G,H){var J=[].concat(this.items);for(var I=0,F=J.length;I<F;I++){if(G.call(H||J[I],J[I],I,F)===false){break}}},eachKey:function(F,G){for(var H=0,E=this.keys.length;H<E;H++){F.call(G||window,this.keys[H],this.items[H],H,E)}},find:function(F,G){for(var H=0,E=this.items.length;H<E;H++){if(F.call(G||window,this.items[H],this.keys[H])){return this.items[H]}}return null},insert:function(D,F,E){if(arguments.length==2){E=arguments[1];F=this.getKey(E)}if(D>=this.length){return this.add(F,E)}this.length++;this.items.splice(D,0,E);if(typeof F!="undefined"&&F!=null){this.map[F]=E}this.keys.splice(D,0,F);this.fireEvent("add",D,E,F);return E},remove:function(B){return this.removeAt(this.indexOf(B))},removeAt:function(D){if(D<this.length&&D>=0){this.length--;var E=this.items[D];this.items.splice(D,1);var F=this.keys[D];if(typeof F!="undefined"){delete this.map[F]}this.keys.splice(D,1);this.fireEvent("remove",E,F);return E}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(C){var D=typeof this.map[C]!="undefined"?this.map[C]:this.items[C];return typeof D!="function"||this.allowFunctions?D: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,M,O){var K=String(M).toUpperCase()=="DESC"?-1:1;O=O||function(A,B){return A-B};var P=[],L=this.keys,Q=this.items;for(var J=0,R=Q.length;J<R;J++){P[P.length]={key:L[J],value:Q[J],index:J}}P.sort(function(B,C){var A=O(B[N],C[N])*K;if(A==0){A=(B.index<C.index?-1:1)}return A});for(var J=0,R=P.length;J<R;J++){Q[J]=P[J].value;L[J]=P[J].key}this.fireEvent("sort",this)},sort:function(C,D){this._sort("value",C,D)},keySort:function(C,D){this._sort("key",C,D||function(A,B){return String(A).toUpperCase()-String(B).toUpperCase()})},getRange:function(G,F){var J=this.items;if(J.length<1){return[]}G=G||0;F=Math.min(typeof F=="undefined"?this.length-1:F,this.length-1);var H=[];if(G<=F){for(var I=G;I<=F;I++){H[H.length]=J[I]}}else{for(var I=G;I>=F;I--){H[H.length]=J[I]}}return H},filter:function(G,H,F,E){if(Ext.isEmpty(H,false)){return this.clone()}H=this.createValueMatcher(H,F,E);return this.filterBy(function(A){return A&&H.test(A[G])})},filterBy:function(J,K){var I=new Ext.util.MixedCollection();I.getKey=this.getKey;var N=this.keys,L=this.items;for(var M=0,H=L.length;M<H;M++){if(J.call(K||this,L[M],N[M])){I.add(N[M],L[M])}}return I},findIndex:function(I,J,G,H,F){if(Ext.isEmpty(J,false)){return -1}J=this.createValueMatcher(J,H,F);return this.findIndexBy(function(A){return A&&J.test(A[I])},null,G)},findIndexBy:function(J,K,I){var N=this.keys,L=this.items;for(var M=(I||0),H=L.length;M<H;M++){if(J.call(K||this,L[M],N[M])){return M}}if(typeof I=="number"&&I>0){for(var M=0;M<I;M++){if(J.call(K||this,L[M],N[M])){return M}}}return -1},createValueMatcher:function(F,E,D){if(!F.exec){F=String(F);F=new RegExp((E===true?"":"^")+Ext.escapeRe(F),D?"":"i")}return F},clone:function(){var G=new Ext.util.MixedCollection();var J=this.keys,H=this.items;for(var I=0,F=H.length;I<F;I++){G.add(J[I],H[I])}G.getKey=this.getKey;return G}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty;var pad=function(n){return n<10?"0"+n:n};var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};var 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+'"'};var 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(o){if(typeof o=="undefined"||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(typeof o=="string"){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(typeof o=="boolean"){return String(o)}else{var a=["{"],b,i,v;for(i in o){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(this.encode(i),":",v===null?"null":this.encode(v));b=true}}}a.push("}");return a.join("")}}}}}}};this.decode=function(json){return eval("("+json+")")}})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g;return{ellipsis:function(value,len){if(value&&value.length>len){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(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/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(".");var whole=ps[0];var sub=ps[1]?"."+ps[1]:".00";var 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)}},stripTagsRE:/<\/?[^>]+>/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,"")},stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,stripScripts:function(v){return !v?v:String(v).replace(this.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)}}()}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var U=this.html;U=["<tpl>",U,"</tpl>"].join("");var V=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/;var W=/^<tpl\b[^>]*?for="(.*?)"/;var Y=/^<tpl\b[^>]*?if="(.*?)"/;var a=/^<tpl\b[^>]*?exec="(.*?)"/;var R,S=0;var d=[];while(R=U.match(V)){var X=R[0].match(W);var Z=R[0].match(Y);var b=R[0].match(a);var g=null,c=null,Q=null;var T=X&&X[1]?X[1]:"";if(Z){g=Z&&Z[1]?Z[1]:null;if(g){c=new Function("values","parent","xindex","xcount","with(values){ return "+(Ext.util.Format.htmlDecode(g))+"; }")}}if(b){g=b&&b[1]?b[1]:null;if(g){Q=new Function("values","parent","xindex","xcount","with(values){ "+(Ext.util.Format.htmlDecode(g))+"; }")}}if(T){switch(T){case".":T=new Function("values","parent","with(values){ return values; }");break;case"..":T=new Function("values","parent","with(values){ return parent; }");break;default:T=new Function("values","parent","with(values){ return "+T+"; }")}}d.push({id:S,target:T,exec:Q,test:c,body:R[1]||""});U=U.replace(R[0],"{xtpl"+S+"}");++S}for(var e=d.length-1;e>=0;--e){this.compileTpl(d[e])}this.master=d[d.length-1];this.tpls=d};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(N,Q,R,K,L){var O=this.tpls[N];if(O.test&&!O.test.call(this,Q,R,K,L)){return""}if(O.exec&&O.exec.call(this,Q,R,K,L)){return""}var P=O.target?O.target.call(this,Q,R):Q;R=O.target?Q:R;if(O.target&&Ext.isArray(P)){var M=[];for(var T=0,S=P.length;T<S;T++){M[M.length]=O.compiled.call(this,P[T],R,T+1,S)}return M.join("")}return O.compiled.call(this,P,R,K,L)},compileTpl:function(tpl){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(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+"'"};var codeFn=function(m,code){return"'"+sep+"("+code+")"+sep+"'"};var body;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 F=null;var G=document;var H=/(-[a-z])/gi;var E=function(B,A){return A.charAt(1).toUpperCase()};return{createStyleSheet:function(D,A){var K;var L=G.getElementsByTagName("head")[0];var B=G.createElement("style");B.setAttribute("type","text/css");if(A){B.setAttribute("id",A)}if(Ext.isIE){L.appendChild(B);K=B.styleSheet;K.cssText=D}else{try{B.appendChild(G.createTextNode(D))}catch(C){B.cssText=D}L.appendChild(B);K=B.styleSheet?B.styleSheet:(B.sheet||G.styleSheets[G.styleSheets.length-1])}this.cacheStyleSheet(K);return K},removeStyleSheet:function(A){var B=G.getElementById(A);if(B){B.parentNode.removeChild(B)}},swapStyleSheet:function(A,C){this.removeStyleSheet(A);var B=G.createElement("link");B.setAttribute("rel","stylesheet");B.setAttribute("type","text/css");B.setAttribute("id",A);B.setAttribute("href",C);G.getElementsByTagName("head")[0].appendChild(B)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(C){if(!F){F={}}try{var A=C.cssRules||C.rules;for(var D=A.length-1;D>=0;--D){F[A[D].selectorText]=A[D]}}catch(B){}},getRules:function(D){if(F==null||D){F={};var B=G.styleSheets;for(var C=0,J=B.length;C<J;C++){try{this.cacheStyleSheet(B[C])}catch(A){}}}return F},getRule:function(D,B){var C=this.getRules(B);if(!Ext.isArray(D)){return C[D]}for(var A=0;A<D.length;A++){if(C[D[A]]){return C[D[A]]}}return null},updateRule:function(J,B,C){if(!Ext.isArray(J)){var A=this.getRule(J);if(A){A.style[B.replace(H,E)]=C;return true}}else{for(var D=0;D<J.length;D++){if(this.updateRule(J[D],B,C)){return true}}}return false}}}();Ext.util.ClickRepeater=function(D,C){this.el=Ext.get(D);this.el.unselectable();Ext.apply(this,C);this.addEvents("mousedown","click","mouseup");this.el.on("mousedown",this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on("click",function(A){if(this.preventDefault){A.preventDefault()}if(this.stopDefault){A.stopEvent()}},this)}if(this.handler){this.on("click",this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,handleMouseDown:function(){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);this.fireEvent("click",this);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this)},click:function(){this.fireEvent("click",this);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this)},easeOutExpo:function(H,E,F,G){return(H==G)?E+F:F*(-Math.pow(2,-10*H/G)+1)+E},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);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn);this.el.un("mouseout",this.handleMouseOut);Ext.getDoc().un("mouseup",this.handleMouseUp);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",this)}});Ext.KeyNav=function(D,C){this.el=Ext.get(D);Ext.apply(this,C);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,prepareEvent:function(E){var D=E.getKey();var F=this.keyToHandler[D];if(Ext.isSafari2&&F&&D>=37&&D<=40){E.stopEvent()}},relay:function(E){var D=E.getKey();var F=this.keyToHandler[D];if(F&&this[F]){if(this.doRelay(E,this[F],F)!==true){E[this.defaultEventAction]()}}},doRelay:function(E,F,D){return F.call(this.scope||this,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"},enable:function(){if(this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.on("keydown",this.relay,this)}else{this.el.on("keydown",this.prepareEvent,this);this.el.on("keypress",this.relay,this)}this.disabled=false}},disable:function(){if(!this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.un("keydown",this.relay)}else{this.el.un("keydown",this.prepareEvent);this.el.un("keypress",this.relay)}this.disabled=true}}};Ext.KeyMap=function(E,F,D){this.el=Ext.get(E);this.eventName=D||"keydown";this.bindings=[];if(F){this.addBinding(F)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(O){if(Ext.isArray(O)){for(var a=0,Y=O.length;a<Y;a++){this.addBinding(O[a])}return }var S=O.key,P=O.shift,R=O.ctrl,Z=O.alt,W=O.fn||O.handler,T=O.scope;if(typeof S=="string"){var V=[];var X=S.toUpperCase();for(var b=0,Y=X.length;b<Y;b++){V.push(X.charCodeAt(b))}S=V}var Q=Ext.isArray(S);var U=function(A){if((!P||A.shiftKey)&&(!R||A.ctrlKey)&&(!Z||A.altKey)){var C=A.getKey();if(Q){for(var B=0,D=S.length;B<D;B++){if(S[B]==C){if(this.stopEvent){A.stopEvent()}W.call(T||window,C,A);return }}}else{if(C==S){if(this.stopEvent){A.stopEvent()}W.call(T||window,C,A)}}}};this.bindings.push(U)},on:function(N,L,M){var I,H,K,J;if(typeof N=="object"&&!Ext.isArray(N)){I=N.key;H=N.shift;K=N.ctrl;J=N.alt}else{I=N}this.addBinding({key:I,shift:H,ctrl:K,alt:J,fn:L,scope:M})},handleKeyDown:function(F){if(this.enabled){var H=this.bindings;for(var G=0,E=H.length;G<E;G++){H[G].call(this,F)}}},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}}};Ext.util.TextMetrics=function(){var B;return{measure:function(F,E,A){if(!B){B=Ext.util.TextMetrics.Instance(F,A)}B.bind(F);B.setFixedWidth(A||"auto");return B.getSize(E)},createInstance:function(D,A){return Ext.util.TextMetrics.Instance(D,A)}}}();Ext.util.TextMetrics.Instance=function(H,F){var G=new Ext.Element(document.createElement("div"));document.body.appendChild(G.dom);G.position("absolute");G.setLeftTop(-1000,-1000);G.hide();if(F){G.setWidth(F)}var E={getSize:function(A){G.update(A);var B=G.getSize();G.update("");return B},bind:function(A){G.setStyle(Ext.fly(A).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(A){G.setWidth(A)},getWidth:function(A){G.dom.style.width="auto";return this.getSize(A).width},getHeight:function(A){return this.getSize(A).height}};E.bind(H);return E};Ext.Element.measureText=Ext.util.TextMetrics.measure;(function(){var C=Ext.EventManager;var D=Ext.lib.Dom;Ext.dd.DragDrop=function(A,F,B){if(A){this.init(A,F,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},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(S,U,N){if(typeof U=="number"){U={left:U,right:U,top:U,bottom:U}}U=U||this.defaultPadding;var Q=Ext.get(this.getEl()).getBox();var B=Ext.get(S);var O=B.getScroll();var R,A=B.dom;if(A==document.body){R={x:O.left,y:O.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var P=B.getXY();R={x:P[0]+O.left,y:P[1]+O.top,width:A.clientWidth,height:A.clientHeight}}var T=Q.y-R.y;var V=Q.x-R.x;this.resetConstraints();this.setXConstraint(V-(U.left||0),R.width-V-Q.width-(U.right||0),this.xTickSize);this.setYConstraint(T-(U.top||0),R.height-T-Q.height-(U.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,F,B){this.initTarget(A,F,B);C.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(A,F,B){this.config=B||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof A!=="string"){A=Ext.id(A)}this.id=A;this.addToGroup((F)?F:"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,H,A,G){if(!H&&0!==H){this.padding=[B,B,B,B]}else{if(!A&&0!==A){this.padding=[B,H,B,H]}else{this.padding=[B,H,A,G]}}},setInitPosition:function(I,J){var B=this.getEl();if(!this.DDM.verifyEl(B)){return }var K=I||0;var L=J||0;var A=D.getXY(B);this.initPageX=A[0]-K;this.initPageY=A[1]-L;this.lastPageX=A[0];this.lastPageY=A[1];this.setStartPosition(A)},setStartPosition:function(A){var B=A||D.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)}C.on(A,"mousedown",this.handleMouseDown,this);this.setHandleElId(A);this.hasOuterHandles=true},unreg:function(){C.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 F=new Ext.lib.Point(Ext.lib.Event.getPageX(A),Ext.lib.Event.getPageY(A));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(F,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,F=this.invalidHandleClasses.length;A<F;++A){if(this.invalidHandleClasses[A]==B){delete this.invalidHandleClasses[A]}}},isValidHandleChild:function(I){var J=true;var A;try{A=I.nodeName.toUpperCase()}catch(B){A=I.nodeName}J=J&&!this.invalidHandleTypes[A];J=J&&!this.invalidHandleIds[I.id];for(var K=0,L=this.invalidHandleClasses.length;J&&K<L;++K){J=!D.hasClass(I,this.invalidHandleClasses[K])}return J},setXTicks:function(A,H){this.xTicks=[];this.xTickSize=H;var B={};for(var G=this.initPageX;G>=this.minX;G=G-H){if(!B[G]){this.xTicks[this.xTicks.length]=G;B[G]=true}}for(G=this.initPageX;G<=this.maxX;G=G+H){if(!B[G]){this.xTicks[this.xTicks.length]=G;B[G]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(A,H){this.yTicks=[];this.yTickSize=H;var B={};for(var G=this.initPageY;G>=this.minY;G=G-H){if(!B[G]){this.yTicks[this.yTicks.length]=G;B[G]=true}}for(G=this.initPageY;G<=this.maxY;G=G+H){if(!B[G]){this.yTicks[this.yTicks.length]=G;B[G]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(A,B,F){this.leftConstraint=A;this.rightConstraint=B;this.minX=this.initPageX-A;this.maxX=this.initPageX+B;if(F){this.setXTicks(this.initPageX,F)}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(F,A,B){this.topConstraint=F;this.bottomConstraint=A;this.minY=this.initPageY-F;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,K){if(!K){return A}else{if(K[0]>=A){return K[0]}else{for(var M=0,N=K.length;M<N;++M){var L=M+1;if(K[L]&&K[L]>=A){var B=A-K[M];var J=K[L]-A;return(J>B)?K[M]:K[L]}}return K[K.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(H,I){for(var G in this.ids){for(var J in this.ids[G]){var A=this.ids[G][J];if(!this.isTypeOfDD(A)){continue}A[H].apply(A,I)}}},_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(A,D){if(!this.initialized){this.init()}if(!this.ids[D]){this.ids[D]={}}this.ids[D][A.id]=A},removeDDFromGroup:function(A,F){if(!this.ids[F]){this.ids[F]={}}var E=this.ids[F];if(E&&E[A.id]){delete E[A.id]}},_remove:function(A){for(var D in A.groups){if(D&&this.ids[D][A.id]){delete this.ids[D][A.id]}}delete this.handleIds[A.id]},regHandle:function(A,D){if(!this.handleIds[A]){this.handleIds[A]={}}this.handleIds[A][D]=D},isDragDrop:function(A){return(this.getDDById(A))?true:false},getRelated:function(A,I){var G=[];for(var H in A.groups){for(j in this.ids[H]){var J=this.ids[H][j];if(!this.isTypeOfDD(J)){continue}if(!I||J.isTarget){G[G.length]=J}}}return G},isLegalTarget:function(A,G){var I=this.getRelated(A,true);for(var H=0,J=I.length;H<J;++H){if(I[H].id==G.id){return true}}return false},isTypeOfDD:function(A){return(A&&A.__ygDragDrop)},isHandle:function(A,D){return(this.handleIds[A]&&this.handleIds[A][D])},getDDById:function(A){for(var D in this.ids){if(this.ids[D][A]){return this.ids[D][A]}}return null},handleMouseDown:function(A,E){if(Ext.QuickTips){Ext.QuickTips.disable()}this.currentTarget=A.getTarget();this.dragCurrent=E;var F=E.getEl();this.startX=A.getPageX();this.startY=A.getPageY();this.deltaX=this.startX-F.offsetLeft;this.deltaY=this.startY-F.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var C=Ext.dd.DDM;C.startDrag(C.startX,C.startY)},this.clickTimeThresh)},startDrag:function(D,A){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(D,A);this.dragCurrent.startDrag(D,A)}this.dragThreshMet=true},handleMouseUp:function(A){if(Ext.QuickTips){Ext.QuickTips.enable()}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(A){if(!this.dragCurrent){return true}if(Ext.isIE&&(A.button!==0&&A.button!==1&&A.button!==2)){this.stopEvent(A);return this.handleMouseUp(A)}if(!this.dragThreshMet){var E=Math.abs(this.startX-A.getPageX());var F=Math.abs(this.startY-A.getPageY());if(E>this.clickPixelThresh||F>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(A);this.dragCurrent.onDrag(A);if(!this.dragCurrent.moveOnly){this.fireEvents(A,false)}}this.stopEvent(A);return true},fireEvents:function(V,U){var S=this.dragCurrent;if(!S||S.isLocked()){return }var R=V.getPoint();var Q=[];var b=[];var X=[];var Z=[];var A=[];for(var a in this.dragOvers){var P=this.dragOvers[a];if(!this.isTypeOfDD(P)){continue}if(!this.isOverTarget(R,P,this.mode)){b.push(P)}Q[a]=true;delete this.dragOvers[a]}for(var T in S.groups){if("string"!=typeof T){continue}for(a in this.ids[T]){var Y=this.ids[T][a];if(!this.isTypeOfDD(Y)){continue}if(Y.isTarget&&!Y.isLocked()&&Y!=S){if(this.isOverTarget(R,Y,this.mode)){if(U){Z.push(Y)}else{if(!Q[Y.id]){A.push(Y)}else{X.push(Y)}this.dragOvers[Y.id]=Y}}}}}if(this.mode){if(b.length){S.b4DragOut(V,b);S.onDragOut(V,b)}if(A.length){S.onDragEnter(V,A)}if(X.length){S.b4DragOver(V,X);S.onDragOver(V,X)}if(Z.length){S.b4DragDrop(V,Z);S.onDragDrop(V,Z)}}else{var W=0;for(a=0,W=b.length;a<W;++a){S.b4DragOut(V,b[a].id);S.onDragOut(V,b[a].id)}for(a=0,W=A.length;a<W;++a){S.onDragEnter(V,A[a].id)}for(a=0,W=X.length;a<W;++a){S.b4DragOver(V,X[a].id);S.onDragOver(V,X[a].id)}for(a=0,W=Z.length;a<W;++a){S.b4DragDrop(V,Z[a].id);S.onDragDrop(V,Z[a].id)}}if(U&&!Z.length){S.onInvalidDrop(V)}},getBestMatch:function(H){var A=null;var I=H.length;if(I==1){A=H[0]}else{for(var G=0;G<I;++G){var J=H[G];if(J.cursorIsOver){A=J;break}else{if(!A||A.overlap.getArea()<J.overlap.getArea()){A=J}}}}return A},refreshCache:function(I){for(var J in I){if("string"!=typeof J){continue}for(var H in this.ids[J]){var G=this.ids[J][H];if(this.isTypeOfDD(G)){var A=this.getLocation(G);if(A){this.locationCache[G.id]=A}else{delete this.locationCache[G.id]}}}}},verifyEl:function(E){if(E){var F;if(Ext.isIE){try{F=E.offsetParent}catch(A){}}else{F=E.offsetParent}if(F){return true}}return false},getLocation:function(V){if(!this.isTypeOfDD(V)){return null}var X=V.getEl(),S,A,N,Q,R,P,O,T,W;try{S=Ext.lib.Dom.getXY(X)}catch(U){}if(!S){return null}A=S[0];N=A+X.offsetWidth;Q=S[1];R=Q+X.offsetHeight;P=Q-V.padding[0];O=N+V.padding[1];T=R+V.padding[2];W=A-V.padding[3];return new Ext.lib.Region(P,O,T,W)},isOverTarget:function(M,L,A){var Q=this.locationCache[L.id];if(!Q||!this.useCache){Q=this.getLocation(L);this.locationCache[L.id]=Q}if(!Q){return false}L.cursorIsOver=Q.contains(M);var N=this.dragCurrent;if(!N||!N.getTargetCoord||(!A&&!N.constrainX&&!N.constrainY)){return L.cursorIsOver}L.overlap=null;var P=N.getTargetCoord(M.x,M.y);var K=N.getDragEl();var R=new Ext.lib.Region(P.y,P.x+K.offsetWidth,P.y+K.offsetHeight,P.x);var O=R.intersect(Q);if(O){L.overlap=O;return(A)?true:L.cursorIsOver}else{return false}},_onUnload:function(A,D){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(A){var D=this.elementCache[A];if(!D||!D.el){D=this.elementCache[A]=new this.ElementWrapper(Ext.getDom(A))}return D},getElement:function(A){return Ext.getDom(A)},getCss:function(A){var D=Ext.getDom(A);return(D)?D.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(F,H){if(F.swapNode){F.swapNode(H)}else{var A=H.parentNode;var G=H.nextSibling;if(G==F){A.insertBefore(F,H)}else{if(H==F.nextSibling){A.insertBefore(H,F)}else{F.parentNode.replaceChild(H,F);A.insertBefore(F,G)}}}},getScroll:function(){var F,H,A=document.documentElement,G=document.body;if(A&&(A.scrollTop||A.scrollLeft)){F=A.scrollTop;H=A.scrollLeft}else{if(G){F=G.scrollTop;H=G.scrollLeft}else{}}return{top:F,left:H}},getStyle:function(A,D){return Ext.fly(A).getStyle(D)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(F,A){var E=Ext.lib.Dom.getXY(A);Ext.lib.Dom.setXY(F,E)},numericSort:function(A,D){return(A-D)},_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(F,A){if(this.isHandle(A,F.id)){return true}else{var E=F.parentNode;while(E){if(this.isHandle(A,E.id)){return true}else{E=E.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(E,D,F){if(E){this.init(E,D,F)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(G,H){var E=G-this.startPageX;var F=H-this.startPageY;this.setDelta(E,F)},setDelta:function(D,C){this.deltaX=D;this.deltaY=C},setDragElPos:function(E,F){var D=this.getDragEl();this.alignElWithMouse(D,E,F)},alignElWithMouse:function(O,K,L){var M=this.getTargetCoord(K,L);var P=O.dom?O:Ext.fly(O,"_dd");if(!this.deltaSetXY){var J=[M.x,M.y];P.setXY(J);var N=P.getLeft(true);var I=P.getTop(true);this.deltaSetXY=[N-M.x,I-M.y]}else{P.setLeftTop(M.x+this.deltaSetXY[0],M.y+this.deltaSetXY[1])}this.cachePosition(M.x,M.y);this.autoScroll(M.x,M.y,O.offsetHeight,O.offsetWidth);return M},cachePosition:function(F,D){if(F){this.lastPageX=F;this.lastPageY=D}else{var E=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=E[0];this.lastPageY=E[1]}},autoScroll:function(W,X,b,V){if(this.scroll){var U=Ext.lib.Dom.getViewHeight();var Q=Ext.lib.Dom.getViewWidth();var S=this.DDM.getScrollTop();var O=this.DDM.getScrollLeft();var Y=b+X;var T=V+W;var Z=(U+S-X-this.deltaY);var a=(Q+O-W-this.deltaX);var P=40;var R=(document.all)?80:30;if(Y>U&&Z<P){window.scrollTo(O,S+R)}if(X<S&&S>0&&X-S<P){window.scrollTo(O,S-R)}if(T>Q&&a<P){window.scrollTo(O+R,S)}if(W<O&&O>0&&W-O<P){window.scrollTo(O-R,S)}}},getTargetCoord:function(G,H){var E=G-this.deltaX;var F=H-this.deltaY;if(this.constrainX){if(E<this.minX){E=this.minX}if(E>this.maxX){E=this.maxX}}if(this.constrainY){if(F<this.minY){F=this.minY}if(F>this.maxY){F=this.maxY}}E=this.getTick(E,this.xTicks);F=this.getTick(F,this.yTicks);return{x:E,y:F}},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(E,D,F){if(E){this.init(E,D,F);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var H=this;var E=document.body;if(!E||!E.firstChild){setTimeout(function(){H.createFrame()},50);return }var F=this.getDragEl();if(!F){F=document.createElement("div");F.id=this.dragElId;var G=F.style;G.position="absolute";G.visibility="hidden";G.cursor="move";G.border="2px solid #aaa";G.zIndex=999;E.insertBefore(F,E.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(G,H){var I=this.getEl();var F=this.getDragEl();var J=F.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(J.width,10)/2),Math.round(parseInt(J.height,10)/2))}this.setDragElPos(G,H);Ext.fly(F).show()},_resizeProxy:function(){if(this.resizeFrame){var B=this.getEl();Ext.fly(this.getDragEl()).setSize(B.offsetWidth,B.offsetHeight)}},b4MouseDown:function(F){var D=F.getPageX();var E=F.getPageY();this.autoOffset(D,E);this.setDragElPos(D,E)},b4StartDrag:function(C,D){this.showFrame(C,D)},b4EndDrag:function(B){Ext.fly(this.getDragEl()).hide()},endDrag:function(E){var F=this.getEl();var D=this.getDragEl();D.style.visibility="";this.beforeMove();F.style.visibility="hidden";Ext.dd.DDM.moveToEl(F,D);D.style.visibility="hidden";F.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.dd.DDTarget=function(E,D,F){if(E){this.initTarget(E,D,F)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{toString:function(){return("DDTarget "+this.id)}});Ext.dd.DragTracker=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.extend(Ext.dd.DragTracker,Ext.util.Observable,{active:false,tolerance:5,autoStart:false,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)},onMouseDown:function(E,F){if(this.fireEvent("mousedown",this,E)!==false&&this.onBeforeStart(E)!==false){this.startXY=this.lastXY=E.getXY();this.dragTarget=this.delegate?F:this.el.dom;E.preventDefault();var D=Ext.getDoc();D.on("mouseup",this.onMouseUp,this);D.on("mousemove",this.onMouseMove,this);D.on("selectstart",this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(F,G){F.preventDefault();var H=F.getXY(),E=this.startXY;this.lastXY=H;if(!this.active){if(Math.abs(E[0]-H[0])>this.tolerance||Math.abs(E[1]-H[1])>this.tolerance){this.triggerStart()}else{return }}this.fireEvent("mousemove",this,F);this.onDrag(F);this.fireEvent("drag",this,F)},onMouseUp:function(D){var C=Ext.getDoc();C.un("mousemove",this.onMouseMove,this);C.un("mouseup",this.onMouseUp,this);C.un("selectstart",this.stopSelect,this);D.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,D);this.onEnd(D);this.fireEvent("dragend",this,D)},triggerStart:function(B){this.clearStart();this.active=true;this.onStart(this.startXY);this.fireEvent("dragstart",this,this.startXY)},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(E){var F=this.getXY(E);var D=this.startXY;return[D[0]-F[0],D[1]-F[1]]},constrainModes:{point:function(D){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var C=this.dragRegion;C.left=D[0];C.top=D[1];C.right=D[0];C.bottom=D[1];C.constrainTo(this.elRegion);return[C.left,C.top]}}});Ext.dd.ScrollManager=function(){var L=Ext.dd.DragDropMgr;var T={};var M=null;var Q={};var R=function(A){M=null;N()};var P=function(){if(L.dragCurrent){L.refreshCache(L.dragCurrent.groups)}};var K=function(){if(L.dragCurrent){var B=Ext.dd.ScrollManager;var A=Q.el.ddScrollConfig?Q.el.ddScrollConfig.increment:B.increment;if(!B.animate){if(Q.el.scroll(Q.dir,A)){P()}}else{Q.el.scroll(Q.dir,A,true,B.animDuration,P)}}};var N=function(){if(Q.id){clearInterval(Q.id)}Q.id=0;Q.el=null;Q.dir=""};var S=function(A,B){N();Q.el=A;Q.dir=B;Q.id=setInterval(K,Ext.dd.ScrollManager.frequency)};var O=function(F,D){if(D||!L.dragCurrent){return }var C=Ext.dd.ScrollManager;if(!M||M!=L.dragCurrent){M=L.dragCurrent;C.refreshCache()}var B=Ext.lib.Event.getXY(F);var A=new Ext.lib.Point(B[0],B[1]);for(var H in T){var G=T[H],I=G._region;var E=G.ddScrollConfig?G.ddScrollConfig:C;if(I&&I.contains(A)&&G.isScrollable()){if(I.bottom-A.y<=E.vthresh){if(Q.el!=G){S(G,"down")}return }else{if(I.right-A.x<=E.hthresh){if(Q.el!=G){S(G,"left")}return }else{if(A.y-I.top<=E.vthresh){if(Q.el!=G){S(G,"up")}return }else{if(A.x-I.left<=E.hthresh){if(Q.el!=G){S(G,"right")}return }}}}}}N()};L.fireEvents=L.fireEvents.createSequence(O,L);L.stopDrag=L.stopDrag.createSequence(R,L);return{register:function(C){if(Ext.isArray(C)){for(var A=0,B=C.length;A<B;A++){this.register(C[A])}}else{C=Ext.get(C);T[C.id]=C}},unregister:function(C){if(Ext.isArray(C)){for(var A=0,B=C.length;A<B;A++){this.unregister(C[A])}}else{C=Ext.get(C);delete T[C.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var A in T){if(typeof T[A]=="object"){T[A]._region=T[A].getRegion()}}}}}();Ext.dd.Registry=function(){var F={};var H={};var E=0;var G=function(B,C){if(typeof B=="string"){return B}var A=B.id;if(!A&&C!==false){A="extdd-"+(++E);B.id=A}return A};return{register:function(B,A){A=A||{};if(typeof B=="string"){B=document.getElementById(B)}A.ddel=B;F[G(B)]=A;if(A.isHandle!==false){H[A.ddel.id]=A}if(A.handles){var C=A.handles;for(var D=0,J=C.length;D<J;D++){H[G(C[D])]=A}}},unregister:function(C){var A=G(C,false);var B=F[A];if(B){delete F[A];if(B.handles){var D=B.handles;for(var K=0,L=D.length;K<L;K++){delete H[G(D[K],false)]}}}},getHandle:function(A){if(typeof A!="string"){A=A.id}return H[A]},getHandleFromEvent:function(A){var B=Ext.lib.Event.getTarget(A);return B?H[B.id]:null},getTarget:function(A){if(typeof A!="string"){A=A.id}return F[A]},getTargetFromEvent:function(A){var B=Ext.lib.Event.getTarget(A);return B?F[B.id]||H[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(B){if(typeof B=="string"){this.ghost.update(B)}else{this.ghost.update("");B.style.margin="0";this.ghost.dom.appendChild(B)}},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(F,E,D){this.callback=E;this.scope=D;if(F&&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:F,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}};Ext.dd.DragSource=function(D,C){this.el=Ext.get(D);if(!this.dragData){this.dragData={}}Ext.apply(this,C);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(G,F){var H=Ext.dd.DragDropMgr.getDDById(F);this.cachedTarget=H;if(this.beforeDragEnter(H,G,F)!==false){if(H.isNotifyTarget){var E=H.notifyEnter(this,G,this.dragData);this.proxy.setStatus(E)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(H,G,F)}}},beforeDragEnter:function(F,D,E){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(G,F){var H=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(F);if(this.beforeDragOver(H,G,F)!==false){if(H.isNotifyTarget){var E=H.notifyOver(this,G,this.dragData);this.proxy.setStatus(E)}if(this.afterDragOver){this.afterDragOver(H,G,F)}}},beforeDragOver:function(F,D,E){return true},onDragOut:function(F,E){var D=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(E);if(this.beforeDragOut(D,F,E)!==false){if(D.isNotifyTarget){D.notifyOut(this,F,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(D,F,E)}}this.cachedTarget=null},beforeDragOut:function(F,D,E){return true},onDragDrop:function(F,E){var D=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(E);if(this.beforeDragDrop(D,F,E)!==false){if(D.isNotifyTarget){if(D.notifyDrop(this,F,this.dragData)){this.onValidDrop(D,F,E)}else{this.onInvalidDrop(D,F,E)}}else{this.onValidDrop(D,F,E)}if(this.afterDragDrop){this.afterDragDrop(D,F,E)}}delete this.cachedTarget},beforeDragDrop:function(F,D,E){return true},onValidDrop:function(F,D,E){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(F,D,E)}},getRepairXY:function(D,C){return this.el.getXY()},onInvalidDrop:function(F,D,E){this.beforeInvalidDrop(F,D,E);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,D,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(D,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(D,E)}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||"c3daf9")}this.dragging=false},beforeInvalidDrop:function(F,D,E){return true},handleMouseDown:function(D){if(this.dragging){return }var C=this.getDragData(D);if(C&&this.onBeforeDrag(C,D)!==false){this.dragData=C;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)}},onBeforeDrag:function(C,D){return true},onStartDrag:Ext.emptyFn,startDrag:function(C,D){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(C,D);this.proxy.show()},onInitDrag:function(D,E){var F=this.el.dom.cloneNode(true);F.id=Ext.id();this.proxy.update(F);this.onStartDrag(D,E);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(C,D){},autoOffset:function(C,D){this.setDelta(-12,-20)}});Ext.dd.DropTarget=function(D,C){this.el=Ext.get(D);Ext.apply(this,C);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})};Ext.extend(Ext.dd.DropTarget,Ext.dd.DDTarget,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(D,E,F){if(this.overClass){this.el.addClass(this.overClass)}return this.dropAllowed},notifyOver:function(D,E,F){return this.dropAllowed},notifyOut:function(D,E,F){if(this.overClass){this.el.removeClass(this.overClass)}},notifyDrop:function(D,E,F){return false}});Ext.dd.DragZone=function(D,C){Ext.dd.DragZone.superclass.constructor.call(this,D,C);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}};Ext.extend(Ext.dd.DragZone,Ext.dd.DragSource,{getDragData:function(B){return Ext.dd.Registry.getHandleFromEvent(B)},onInitDrag:function(C,D){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(C,D);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()}});Ext.dd.DropZone=function(D,C){Ext.dd.DropZone.superclass.constructor.call(this,D,C)};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(B){return Ext.dd.Registry.getTargetFromEvent(B)},onNodeEnter:function(F,E,G,H){},onNodeOver:function(F,E,G,H){return this.dropAllowed},onNodeOut:function(F,E,G,H){},onNodeDrop:function(F,E,G,H){return false},onContainerOver:function(D,E,F){return this.dropNotAllowed},onContainerDrop:function(D,E,F){return false},notifyEnter:function(D,E,F){return this.dropNotAllowed},notifyOver:function(E,G,H){var F=this.getTargetFromEvent(G);if(!F){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,E,G,H);this.lastOverNode=null}return this.onContainerOver(E,G,H)}if(this.lastOverNode!=F){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,E,G,H)}this.onNodeEnter(F,E,G,H);this.lastOverNode=F}return this.onNodeOver(F,E,G,H)},notifyOut:function(D,E,F){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,D,E,F);this.lastOverNode=null}},notifyDrop:function(E,G,H){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,E,G,H);this.lastOverNode=null}var F=this.getTargetFromEvent(G);return F?this.onNodeDrop(F,E,G,H):this.onContainerDrop(E,G,H)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});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(C){var D=parseFloat(String(C).replace(/,/g,""));if(isNaN(D)){D=0}return D},asInt:function(C){var D=parseInt(String(C).replace(/,/g,""));if(isNaN(D)){D=0}return D}};Ext.data.Record=function(C,D){this.id=(D||D===0)?D:++Ext.data.Record.AUTO_ID;this.data=C};Ext.data.Record.create=function(G){var I=Ext.extend(Ext.data.Record,{});var H=I.prototype;H.fields=new Ext.util.MixedCollection(false,function(A){return A.name});for(var J=0,F=G.length;J<F;J++){H.fields.add(new Ext.data.Field(G[J]))}I.getField=function(A){return H.fields.get(A)};return I};Ext.data.Record.AUTO_ID=1000;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,join:function(B){this.store=B},set:function(C,D){if(String(this.data[C])==String(D)){return }this.dirty=true;if(!this.modified){this.modified={}}if(typeof this.modified[C]=="undefined"){this.modified[C]=this.data[C]}this.data[C]=D;if(!this.editing&&this.store){this.store.afterEdit(this)}},get:function(B){return this.data[B]},beginEdit:function(){this.editing=true;this.modified={}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty&&this.store){this.store.afterEdit(this)}},reject:function(F){var D=this.modified;for(var E in D){if(typeof D[E]!="function"){this.data[E]=D[E]}}this.dirty=false;delete this.modified;this.editing=false;if(this.store&&F!==true){this.store.afterReject(this)}},commit:function(B){this.dirty=false;delete this.modified;this.editing=false;if(this.store&&B!==true){this.store.afterCommit(this)}},getChanges:function(){var D=this.modified,F={};for(var E in D){if(D.hasOwnProperty(E)){F[E]=this.data[E]}}return F},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)}};Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var C=0,D;D=arguments[C];C++){this.add(D)}},unregister:function(){for(var C=0,D;D=arguments[C];C++){this.remove(this.lookup(D))}},lookup:function(B){return typeof B=="object"?B:this.get(B)},getKey:function(B){return B.storeId||B.id}});Ext.data.Store=function(B){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(A){return A.id};this.baseParams={};this.paramNames={start:"start",limit:"limit",sort:"sort",dir:"dir"};if(B&&B.data){this.inlineData=B.data;delete B.data}Ext.apply(this,B);if(this.url&&!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url})}if(this.reader){if(!this.recordType){this.recordType=this.reader.recordType}if(this.reader.onMetaChange){this.reader.onMetaChange=this.onMetaChange.createDelegate(this)}}if(this.recordType){this.fields=this.recordType.prototype.fields}this.modified=[];this.addEvents("datachanged","metachange","add","remove","update","clear","beforeload","load","loadexception");if(this.proxy){this.relayEvents(this.proxy,["loadexception"])}this.sortToggle={};if(this.sortInfo){this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction)}Ext.data.Store.superclass.constructor.call(this);if(this.storeId||this.id){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])}}};Ext.extend(Ext.data.Store,Ext.util.Observable,{remoteSort:false,pruneModifiedRecords:false,lastOptions:null,destroy:function(){if(this.id){Ext.StoreMgr.unregister(this)}this.data=null;this.purgeListeners()},add:function(H){H=[].concat(H);if(H.length<1){return }for(var F=0,E=H.length;F<E;F++){H[F].join(this)}var G=this.data.length;this.data.addAll(H);if(this.snapshot){this.snapshot.addAll(H)}this.fireEvent("add",this,H,G)},addSorted:function(C){var D=this.findInsertIndex(C);this.insert(D,C)},remove:function(C){var D=this.data.indexOf(C);this.data.removeAt(D);if(this.pruneModifiedRecords){this.modified.remove(C)}if(this.snapshot){this.snapshot.remove(C)}this.fireEvent("remove",this,C,D)},removeAll:function(){this.data.clear();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}this.fireEvent("clear",this)},insert:function(G,H){H=[].concat(H);for(var F=0,E=H.length;F<E;F++){this.data.insert(G,H[F]);H[F].join(this)}this.fireEvent("add",this,H,G)},indexOf:function(B){return this.data.indexOf(B)},indexOfId:function(B){return this.data.indexOfKey(B)},getById:function(B){return this.data.key(B)},getAt:function(B){return this.data.itemAt(B)},getRange:function(D,C){return this.data.getRange(D,C)},storeOptions:function(B){B=Ext.apply({},B);delete B.callback;delete B.scope;this.lastOptions=B},load:function(F){F=F||{};if(this.fireEvent("beforeload",this,F)!==false){this.storeOptions(F);var E=Ext.apply(F.params||{},this.baseParams);if(this.sortInfo&&this.remoteSort){var D=this.paramNames;E[D.sort]=this.sortInfo.field;E[D.dir]=this.sortInfo.direction}this.proxy.load(E,this.reader,this.loadRecords,this,F);return true}else{return false}},reload:function(B){this.load(Ext.applyIf(B||{},this.lastOptions))},loadRecords:function(I,N,J){if(!I||J===false){if(J!==false){this.fireEvent("load",this,[],N)}if(N.callback){N.callback.call(N.scope||this,[],N,false)}return }var K=I.records,L=I.totalRecords||K.length;if(!N||N.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var M=0,H=K.length;M<H;M++){K[M].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(K);this.totalLength=L;this.applySort();this.fireEvent("datachanged",this)}else{this.totalLength=Math.max(L,this.data.length+K.length);this.add(K)}this.fireEvent("load",this,K,N);if(N.callback){N.callback.call(N.scope||this,K,N,true)}},loadData:function(E,D){var F=this.reader.readRecords(E);this.loadRecords(F,{add:D},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.remoteSort){var C=this.sortInfo,D=C.field;this.sortData(D,C.direction)}},sortData:function(G,F){F=F||"ASC";var E=this.fields.get(G).sortType;var H=function(C,D){var A=E(C.data[G]),B=E(D.data[G]);return A>B?1:(A<B?-1:0)};this.data.sort(F,H);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(F,H)}},setDefaultSort:function(D,C){C=C?C.toUpperCase():"ASC";this.sortInfo={field:D,direction:C};this.sortToggle[D]=C},sort:function(G,I){var H=this.fields.get(G);if(!H){return false}if(!I){if(this.sortInfo&&this.sortInfo.field==H.name){I=(this.sortToggle[H.name]||"ASC").toggle("ASC","DESC")}else{I=H.sortDir}}var J=(this.sortToggle)?this.sortToggle[H.name]:null;var F=(this.sortInfo)?this.sortInfo:null;this.sortToggle[H.name]=I;this.sortInfo={field:H.name,direction:I};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this)}else{if(!this.load(this.lastOptions)){if(J){this.sortToggle[H.name]=J}if(F){this.sortInfo=F}}}},each:function(D,C){this.data.each(D,C)},getModifiedRecords:function(){return this.modified},createFilterFn:function(G,H,F,E){if(Ext.isEmpty(H,false)){return false}H=this.data.createValueMatcher(H,F,E);return function(A){return H.test(A.data[G])}},sum:function(I,H,G){var K=this.data.items,L=0;H=H||0;G=(G||G===0)?G:K.length-1;for(var J=H;J<=G;J++){L+=(K[J].data[I]||0)}return L},filter:function(H,I,G,F){var J=this.createFilterFn(H,I,G,F);return J?this.filterBy(J):this.clearFilter()},filterBy:function(D,C){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(D,C||this);this.fireEvent("datachanged",this)},query:function(H,I,G,F){var J=this.createFilterFn(H,I,G,F);return J?this.queryBy(J):this.data.clone()},queryBy:function(F,D){var E=this.snapshot||this.data;return E.filterBy(F,D||this)},find:function(J,K,H,I,G){var L=this.createFilterFn(J,K,I,G);return L?this.data.findIndexBy(L,null,H):-1},findBy:function(F,D,E){return this.data.findIndexBy(F,D,E)},collect:function(R,Q,M){var S=(M===true&&this.snapshot)?this.snapshot.items:this.data.items;var P,O,N=[],L={};for(var K=0,T=S.length;K<T;K++){P=S[K].data[R];O=String(P);if((Q||!Ext.isEmpty(P))&&!L[O]){L[O]=true;N[N.length]=P}}return N},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},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 F=this.modified.slice(0);this.modified=[];for(var E=0,D=F.length;E<D;E++){F[E].commit()}},rejectChanges:function(){var F=this.modified.slice(0);this.modified=[];for(var E=0,D=F.length;E<D;E++){F[E].reject()}},onMetaChange:function(F,D,E){this.recordType=D;this.fields=D.prototype.fields;delete this.snapshot;this.sortInfo=F.sortInfo;this.modified=[];this.fireEvent("metachange",this,this.reader.meta)},findInsertIndex:function(D){this.suspendEvents();var E=this.data.clone();this.data.add(D);this.applySort();var F=this.data.indexOf(D);this.data=E;this.resumeEvents();return F}});Ext.data.SimpleStore=function(B){Ext.data.SimpleStore.superclass.constructor.call(this,Ext.apply(B,{reader:new Ext.data.ArrayReader({id:B.id},Ext.data.Record.create(B.fields))}))};Ext.extend(Ext.data.SimpleStore,Ext.data.Store,{loadData:function(G,J){if(this.expandData===true){var H=[];for(var I=0,F=G.length;I<F;I++){H[H.length]=[G[I]]}G=H}Ext.data.SimpleStore.superclass.loadData.call(this,G,J)}});Ext.data.JsonStore=function(B){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(B,{proxy:!B.data?new Ext.data.HttpProxy({url:B.url}):undefined,reader:new Ext.data.JsonReader(B,B.fields)}))};Ext.extend(Ext.data.JsonStore,Ext.data.Store);Ext.data.Field=function(H){if(typeof H=="string"){H={name:H}}Ext.apply(this,H);if(!this.type){this.type="auto"}var I=Ext.data.SortTypes;if(typeof this.sortType=="string"){this.sortType=I[this.sortType]}if(!this.sortType){switch(this.type){case"string":this.sortType=I.asUCString;break;case"date":this.sortType=I.asDate;break;default:this.sortType=I.none}}var G=/[\$,%]/g;if(!this.convert){var J,F=this.dateFormat;switch(this.type){case"":case"auto":case undefined:J=function(A){return A};break;case"string":J=function(A){return(A===undefined||A===null)?"":String(A)};break;case"int":J=function(A){return A!==undefined&&A!==null&&A!==""?parseInt(String(A).replace(G,""),10):""};break;case"float":J=function(A){return A!==undefined&&A!==null&&A!==""?parseFloat(String(A).replace(G,""),10):""};break;case"bool":case"boolean":J=function(A){return A===true||A==="true"||A==1};break;case"date":J=function(A){if(!A){return""}if(Ext.isDate(A)){return A}if(F){if(F=="timestamp"){return new Date(A*1000)}if(F=="time"){return new Date(parseInt(A,10))}return Date.parseDate(A,F)}var B=Date.parse(A);return B?new Date(B):null};break}this.convert=J}};Ext.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"};Ext.data.DataReader=function(C,D){this.meta=C;this.recordType=Ext.isArray(D)?Ext.data.Record.create(D):D};Ext.data.DataReader.prototype={};Ext.data.DataProxy=function(){this.addEvents("beforeload","load");Ext.data.DataProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.DataProxy,Ext.util.Observable);Ext.data.MemoryProxy=function(B){Ext.data.MemoryProxy.superclass.constructor.call(this);this.data=B};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{load:function(J,M,I,L,N){J=J||{};var H;try{H=M.readRecords(this.data)}catch(K){this.fireEvent("loadexception",this,N,null,K);I.call(L,null,N,false);return }I.call(L,H,N,true)},update:function(D,C){}});Ext.data.HttpProxy=function(B){Ext.data.HttpProxy.superclass.constructor.call(this);this.conn=B;this.useAjax=!B||!B.events};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},load:function(I,L,H,K,G){if(this.fireEvent("beforeload",this,I)!==false){var J={params:I||{},request:{callback:H,scope:K,arg:G},reader:L,callback:this.loadResponse,scope:this};if(this.useAjax){Ext.applyIf(J,this.conn);if(this.activeRequest){Ext.Ajax.abort(this.activeRequest)}this.activeRequest=Ext.Ajax.request(J)}else{this.conn.request(J)}}else{H.call(K||this,null,G,false)}},loadResponse:function(G,H,J){delete this.activeRequest;if(!H){this.fireEvent("loadexception",this,G,J);G.request.callback.call(G.request.scope,null,G.request.arg,false);return }var F;try{F=G.reader.read(J)}catch(I){this.fireEvent("loadexception",this,G,J,I);G.request.callback.call(G.request.scope,null,G.request.arg,false);return }this.fireEvent("load",this,G,G.request.arg);G.request.callback.call(G.request.scope,F,G.request.arg,true)},update:function(B){},updateResponse:function(B){}});Ext.data.ScriptTagProxy=function(B){Ext.data.ScriptTagProxy.superclass.constructor.call(this);Ext.apply(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,load:function(V,U,S,R,Q){if(this.fireEvent("beforeload",this,V)!==false){var M=Ext.urlEncode(Ext.apply(V,this.extraParams));var N=this.url;N+=(N.indexOf("?")!=-1?"&":"?")+M;if(this.nocache){N+="&_dc="+(new Date().getTime())}var O=++Ext.data.ScriptTagProxy.TRANS_ID;var P={id:O,cb:"stcCallback"+O,scriptId:"stcScript"+O,params:V,arg:Q,url:N,callback:S,scope:R,reader:U};var L=this;window[P.cb]=function(A){L.handleResponse(A,P)};N+=String.format("&{0}={1}",this.callbackParam,P.cb);if(this.autoAbort!==false){this.abort()}P.timeoutId=this.handleFailure.defer(this.timeout,this,[P]);var T=document.createElement("script");T.setAttribute("src",N);T.setAttribute("type","text/javascript");T.setAttribute("id",P.scriptId);this.head.appendChild(T);this.trans=P}else{S.call(R||this,null,Q,false)}},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(F,D){this.head.removeChild(document.getElementById(F.scriptId));clearTimeout(F.timeoutId);if(D){window[F.cb]=undefined;try{delete window[F.cb]}catch(E){}}else{window[F.cb]=function(){window[F.cb]=undefined;try{delete window[F.cb]}catch(A){}}}},handleResponse:function(F,H){this.trans=false;this.destroyTrans(H,true);var E;try{E=H.reader.readRecords(F)}catch(G){this.fireEvent("loadexception",this,F,H.arg,G);H.callback.call(H.scope||window,null,H.arg,false);return }this.fireEvent("load",this,F,H.arg);H.callback.call(H.scope||window,E,H.arg,true)},handleFailure:function(B){this.trans=false;this.destroyTrans(B,false);this.fireEvent("loadexception",this,null,B.arg);B.callback.call(B.scope||window,null,B.arg,false)}});Ext.data.JsonReader=function(C,D){C=C||{};Ext.data.JsonReader.superclass.constructor.call(this,C,D||C.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(response){var json=response.responseText;var o=eval("("+json+")");if(!o){throw {message:"JsonReader.read: Json object not found"}}return this.readRecords(o)},onMetaChange:function(D,E,F){},simpleAccess:function(D,C){return D[C]},getJsonAccessor:function(){var B=/[\[\.]/;return function(A){try{return(B.test(A))?new Function("obj","return obj."+A):function(C){return C[A]}}catch(D){}return Ext.emptyFn}}(),readRecords:function(d){this.jsonData=d;if(d.metaData){delete this.ef;this.meta=d.metaData;this.recordType=Ext.data.Record.create(d.metaData.fields);this.onMetaChange(this.meta,this.recordType,d)}var h=this.meta,p=this.recordType,W=p.prototype.fields,k=W.items,l=W.length;if(!this.ef){if(h.totalProperty){this.getTotal=this.getJsonAccessor(h.totalProperty)}if(h.successProperty){this.getSuccess=this.getJsonAccessor(h.successProperty)}this.getRoot=h.root?this.getJsonAccessor(h.root):function(A){return A};if(h.id){var X=this.getJsonAccessor(h.id);this.getId=function(A){var B=X(A);return(B===undefined||B==="")?null:B}}else{this.getId=function(){return null}}this.ef=[];for(var Z=0;Z<l;Z++){W=k[Z];var U=(W.mapping!==undefined&&W.mapping!==null)?W.mapping:W.name;this.ef[Z]=this.getJsonAccessor(U)}}var b=this.getRoot(d),V=b.length,g=V,m=true;if(h.totalProperty){var i=parseInt(this.getTotal(d),10);if(!isNaN(i)){g=i}}if(h.successProperty){var i=this.getSuccess(d);if(i===false||i==="false"){m=false}}var Y=[];for(var Z=0;Z<V;Z++){var c=b[Z];var o={};var e=this.getId(c);for(var a=0;a<l;a++){W=k[a];var i=this.ef[a](c);o[W.name]=W.convert((i!==undefined)?i:W.defaultValue,c)}var n=new p(o,e);n.json=c;Y[Z]=n}return{success:m,records:Y,totalRecords:g}}});Ext.data.XmlReader=function(C,D){C=C||{};Ext.data.XmlReader.superclass.constructor.call(this,C,D||C.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(C){var D=C.responseXML;if(!D){throw {message:"XmlReader.read: XML Document not available"}}return this.readRecords(D)},readRecords:function(W){this.xmlData=W;var c=W.documentElement||W;var i=Ext.DomQuery;var q=this.recordType,e=q.prototype.fields;var o=this.meta.id;var l=0,n=true;if(this.meta.totalRecords){l=i.selectNumber(this.meta.totalRecords,c,0)}if(this.meta.success){var g=i.selectValue(this.meta.success,c,true);n=g!==false&&g!=="false"}var Z=[];var V=i.select(this.meta.record,c);for(var a=0,Y=V.length;a<Y;a++){var d=V[a];var r={};var h=o?i.selectValue(o,d):undefined;for(var b=0,k=e.length;b<k;b++){var X=e.items[b];var m=i.selectValue(X.mapping||X.name,d,X.defaultValue);m=X.convert(m,d);r[X.name]=m}var p=new q(r,h);p.node=d;Z[Z.length]=p}return{success:n,records:Z,totalRecords:l||Z.length}}});Ext.data.ArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(R){var S=this.meta?this.meta.id:null;var d=this.recordType,Z=d.prototype.fields;var g=[];var X=R;for(var b=0;b<X.length;b++){var Q=X[b];var V={};var T=((S||S===0)&&Q[S]!==undefined&&Q[S]!==""?Q[S]:null);for(var c=0,U=Z.length;c<U;c++){var Y=Z.items[c];var e=Y.mapping!==undefined&&Y.mapping!==null?Y.mapping:c;var W=Q[e]!==undefined?Q[e]:Y.defaultValue;W=Y.convert(W,Q);V[Y.name]=W}var a=new d(V,T);a.json=Q;g[g.length]=a}return{records:g,totalRecords:g.length}}});Ext.data.Tree=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)};Ext.extend(Ext.data.Tree,Ext.util.Observable,{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=function(B){this.attributes=B||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,"ynode-");this.attributes.id=this.id}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(A){for(var E=0,F=this.length;E<F;E++){if(this[E]==A){return E}}return -1}}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)};Ext.extend(Ext.data.Node,Ext.util.Observable,{fireEvent:function(D){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false}var C=this.getOwnerTree();if(C){if(C.proxyNodeEvent.apply(C,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},appendChild:function(K){var J=false;if(Ext.isArray(K)){J=K}else{if(arguments.length>1){J=arguments}}if(J){for(var L=0,H=J.length;L<H;L++){this.appendChild(J[L])}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,K)===false){return false}var N=this.childNodes.length;var M=K.parentNode;if(M){if(K.fireEvent("beforemove",K.getOwnerTree(),K,M,this,N)===false){return false}M.removeChild(K)}N=this.childNodes.length;if(N==0){this.setFirstChild(K)}this.childNodes.push(K);K.parentNode=this;var I=this.childNodes[N-1];if(I){K.previousSibling=I;I.nextSibling=K}else{K.previousSibling=null}K.nextSibling=null;this.setLastChild(K);K.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,K,N);if(M){K.fireEvent("move",this.ownerTree,K,M,this,N)}return K}},removeChild:function(D){var C=this.childNodes.indexOf(D);if(C==-1){return false}if(this.fireEvent("beforeremove",this.ownerTree,this,D)===false){return false}this.childNodes.splice(C,1);if(D.previousSibling){D.previousSibling.nextSibling=D.nextSibling}if(D.nextSibling){D.nextSibling.previousSibling=D.previousSibling}if(this.firstChild==D){this.setFirstChild(D.nextSibling)}if(this.lastChild==D){this.setLastChild(D.previousSibling)}D.setOwnerTree(null);D.parentNode=null;D.previousSibling=null;D.nextSibling=null;this.fireEvent("remove",this.ownerTree,this,D);return D},insertBefore:function(J,G){if(!G){return this.appendChild(J)}if(J==G){return false}if(this.fireEvent("beforeinsert",this.ownerTree,this,J,G)===false){return false}var L=this.childNodes.indexOf(G);var K=J.parentNode;var I=L;if(K==this&&this.childNodes.indexOf(J)<L){I--}if(K){if(J.fireEvent("beforemove",J.getOwnerTree(),J,K,this,L,G)===false){return false}K.removeChild(J)}if(I==0){this.setFirstChild(J)}this.childNodes.splice(I,0,J);J.parentNode=this;var H=this.childNodes[I-1];if(H){J.previousSibling=H;H.nextSibling=J}else{J.previousSibling=null}J.nextSibling=G;G.previousSibling=J;J.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,J,G);if(K){J.fireEvent("move",this.ownerTree,J,K,this,I,G)}return J},remove:function(){this.parentNode.removeChild(this);return this},item:function(B){return this.childNodes[B]},replaceChild:function(C,D){this.insertBefore(C,D);this.removeChild(D);return D},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 D=0;var C=this;while(C.parentNode){++D;C=C.parentNode}return D},setOwnerTree:function(H){if(H!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)}this.ownerTree=H;var F=this.childNodes;for(var G=0,E=F.length;G<E;G++){F[G].setOwnerTree(H)}if(H){H.registerNode(this)}}},getPath:function(H){H=H||"id";var F=this.parentNode;var E=[this.attributes[H]];while(F){E.unshift(F.attributes[H]);F=F.parentNode}var G=this.getOwnerTree().pathSeparator;return G+E.join(G)},bubble:function(G,H,E){var F=this;while(F){if(G.apply(H||F,E||[F])===false){break}F=F.parentNode}},cascade:function(H,I,L){if(H.apply(I||this,L||[this])!==false){var J=this.childNodes;for(var K=0,G=J.length;K<G;K++){J[K].cascade(H,I,L)}}},eachChild:function(H,I,L){var J=this.childNodes;for(var K=0,G=J.length;K<G;K++){if(H.apply(I||this,L||[J[K]])===false){break}}},findChild:function(H,G){var I=this.childNodes;for(var J=0,F=I.length;J<F;J++){if(I[J].attributes[H]==G){return I[J]}}return null},findChildBy:function(G,H){var I=this.childNodes;for(var J=0,F=I.length;J<F;J++){if(G.call(H||I[J],I[J])===true){return I[J]}}return null},sort:function(K,L){var M=this.childNodes;var H=M.length;if(H>0){var J=L?function(){K.apply(L,arguments)}:K;M.sort(J);for(var N=0;N<H;N++){var I=M[N];I.previousSibling=M[N-1];I.nextSibling=M[N+1];if(N==0){this.setFirstChild(I)}if(N==H-1){this.setLastChild(I)}}}},contains:function(B){return B.isAncestor(this)},isAncestor:function(C){var D=this.parentNode;while(D){if(D==C){return true}D=D.parentNode}return false},toString:function(){return"[Node"+(this.id?" "+this.id:"")+"]"}});Ext.data.GroupingStore=Ext.extend(Ext.data.Store,{remoteGroup:false,groupOnSort:false,clearGrouping:function(){this.groupField=false;if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy}this.reload()}else{this.applySort();this.fireEvent("datachanged",this)}},groupBy:function(E,F){if(this.groupField==E&&!F){return }this.groupField=E;if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}this.baseParams.groupBy=E}if(this.groupOnSort){this.sort(E);return }if(this.remoteGroup){this.reload()}else{var D=this.sortInfo||{};if(D.field!=E){this.applySort()}else{this.sortData(E)}this.fireEvent("datachanged",this)}},applySort:function(){Ext.data.GroupingStore.superclass.applySort.call(this);if(!this.groupOnSort&&!this.remoteGroup){var B=this.getGroupState();if(B&&B!=this.sortInfo.field){this.sortData(this.groupField)}}},applyGrouping:function(B){if(this.groupField!==false){this.groupBy(this.groupField,true);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.ComponentMgr=function(){var D=new Ext.util.MixedCollection();var C={};return{register:function(A){D.add(A)},unregister:function(A){D.remove(A)},get:function(A){return D.get(A)},onAvailable:function(A,B,F){D.on("add",function(H,E){if(E.id==A){B.call(F||E,E);D.un("add",B,F)}})},all:D,registerType:function(A,B){C[A]=B;B.xtype=A},create:function(B,A){return new C[B.xtype||A](B)}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.Component=function(F){F=F||{};if(F.initialConfig){if(F.isAction){this.baseAction=F}F=F.initialConfig}else{if(F.tagName||F.dom||typeof F=="string"){F={applyTo:F,id:F.id||F}}}this.initialConfig=F;Ext.apply(this,F);this.addEvents("disable","enable","beforeshow","show","beforehide","hide","beforerender","render","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 E=0,D=this.plugins.length;E<D;E++){this.plugins[E].init(this)}}else{this.plugins.init(this)}}if(this.stateful!==false){this.initState(F)}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,{disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,hidden:false,disabled:false,rendered:false,ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initComponent:Ext.emptyFn,render:function(D,C){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!D&&this.el){this.el=Ext.get(this.el);D=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(D);if(this.ctCls){this.container.addClass(this.ctCls)}this.rendered=true;if(C!==undefined){if(typeof C=="number"){C=this.container.dom.childNodes[C]}else{C=Ext.getDom(C)}}this.onRender(this.container,C||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}this.fireEvent("render",this);this.afterRender(this.container);if(this.hidden){this.hide()}if(this.disabled){this.disable()}this.initStateEvents()}return this},initState:function(C){if(Ext.state.Manager){var D=Ext.state.Manager.get(this.stateId||this.id);if(D){if(this.fireEvent("beforestaterestore",this,D)!==false){this.applyState(D);this.fireEvent("staterestore",this,D)}}}},initStateEvents:function(){if(this.stateEvents){for(var C=0,D;D=this.stateEvents[C];C++){this.on(D,this.saveState,this,{delay:100})}}},applyState:function(D,C){if(D){Ext.apply(this,D)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager){var B=this.getState();if(this.fireEvent("beforestatesave",this,B)!==false){Ext.state.Manager.set(this.stateId||this.id,B);this.fireEvent("statesave",this,B)}}},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}},removeClass:function(B){if(this.el){this.el.removeClass(B)}else{if(this.cls){this.cls=this.cls.split(" ").remove(B).join(" ")}}},onRender:function(F,D){if(this.autoEl){if(typeof this.autoEl=="string"){this.el=document.createElement(this.autoEl)}else{var E=document.createElement("div");Ext.DomHelper.overwrite(E,this.autoEl);this.el=E.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){F.dom.insertBefore(this.el.dom,D)}if(this.overCls){this.el.addClassOnOver(this.overCls)}}},getAutoCreate:function(){var B=typeof this.autoCreate=="object"?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!B.id){B.id=this.id}return B},afterRender:Ext.emptyFn,destroy:function(){if(this.fireEvent("beforedestroy",this)!==false){this.beforeDestroy();if(this.rendered){this.el.removeAllListeners();this.el.remove();if(this.actionMode=="container"){this.container.remove()}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners()}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl: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(D,C){if(C){this.focus.defer(typeof C=="number"?C:10,this,[D,false]);return }if(this.rendered){this.el.focus();if(D===true){this.el.dom.select()}}return this},blur:function(){if(this.rendered){this.el.blur()}return this},disable:function(){if(this.rendered){this.onDisable()}this.disabled=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){this[B?"disable":"enable"]()},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.autoRender){this.render(typeof this.autoRender=="boolean"?Ext.getBody():this.autoRender)}if(this.rendered){this.onShow()}this.fireEvent("show",this)}return this},onShow:function(){if(this.hideParent){this.container.removeClass("x-hide-"+this.hideMode)}else{this.getActionEl().removeClass("x-hide-"+this.hideMode)}},hide:function(){if(this.fireEvent("beforehide",this)!==false){this.hidden=true;if(this.rendered){this.onHide()}this.fireEvent("hide",this)}return this},onHide:function(){if(this.hideParent){this.container.addClass("x-hide-"+this.hideMode)}else{this.getActionEl().addClass("x-hide-"+this.hideMode)}},setVisible:function(B){if(B){this.show()}else{this.hide()}return this},isVisible:function(){return this.rendered&&this.getActionEl().isVisible()},cloneConfig:function(F){F=F||{};var E=F.id||Ext.id();var D=Ext.applyIf(F,this.initialConfig);D.id=E;return new this.constructor(D)},getXType:function(){return this.constructor.xtype},isXType:function(D,C){return !C?("/"+this.getXTypes()+"/").indexOf("/"+D+"/")!=-1:this.constructor.xtype==D},getXTypes:function(){var D=this.constructor;if(!D.xtypes){var E=[],F=this;while(F&&F.constructor.xtype){E.unshift(F.constructor.xtype);F=F.constructor.superclass}D.xtypeChain=E;D.xtypes=E.join("/")}return D.xtypes},findParentBy:function(C){for(var D=this.ownerCt;(D!=null)&&!C(D,this);D=D.ownerCt){}return D||null},findParentByType:function(B){return typeof B=="function"?this.findParentBy(function(A){return A.constructor===B}):this.findParentBy(function(A){return A.constructor.xtype===B})},mon:function(G,J,H,I,F){if(!this.mons){this.mons=[];this.on("beforedestroy",function(){for(var A=0,B=this.mons.length;A<B;A++){var C=this.mons[A];C.item.un(C.ename,C.fn,C.scope)}},this)}this.mons.push({item:G,ename:J,fn:H,scope:I});G.on(J,H,I,F)}});Ext.reg("component",Ext.Component);Ext.Action=function(B){this.initialConfig=B;this.items=[]};Ext.Action.prototype={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(D,C){this.initialConfig.handler=D;this.initialConfig.scope=C;this.callEach("setHandler",[D,C])},each:function(D,C){Ext.each(this.items,D,C)},callEach:function(G,J){var H=this.items;for(var I=0,F=H.length;I<F;I++){H[I][G].apply(H[I],J)}},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(K,L){K=K||{};var J=Ext.DomHelper;var B=K.parentEl,I=B?Ext.getDom(B):document.body;if(L){this.dom=Ext.getDom(L)}if(!this.dom){var A=K.dh||{tag:"div",cls:"x-layer"};this.dom=J.append(I,A)}if(K.cls){this.addClass(K.cls)}this.constrain=K.constrain!==false;this.visibilityMode=Ext.Element.VISIBILITY;if(K.id){this.id=this.dom.id=K.id}else{this.id=Ext.id(this.dom)}this.zindex=K.zindex||this.getZIndex();this.position("absolute",this.zindex);if(K.shadow){this.shadowOffset=K.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:K.shadow})}else{this.shadowOffset=0}this.useShim=K.shim!==false&&Ext.useShims;this.useDisplay=K.useDisplay;this.hide()};var C=Ext.Element.prototype;var D=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt(this.getStyle("z-index"),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var A=D.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);D.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(B){var N=this.shadow;if(!this.updating&&this.isVisible()&&(N||this.useShim)){var Q=this.getShim();var O=this.getWidth(),R=this.getHeight();var A=this.getLeft(true),M=this.getTop(true);if(N&&!this.shadowDisabled){if(B&&!N.isVisible()){N.show(this)}else{N.realign(A,M,O,R)}if(Q){if(B){Q.show()}var P=N.adjusts,L=Q.dom.style;L.left=(Math.min(A,A+P.l))+"px";L.top=(Math.min(M,M+P.t))+"px";L.width=(O+P.w)+"px";L.height=(R+P.h)+"px"}}else{if(Q){if(B){Q.show()}Q.setSize(O,R);Q.setLeftTop(A,M)}}}},destroy:function(){this.hideShim();if(this.shadow){this.shadow.hide()}this.removeAllListeners();Ext.removeNode(this.dom);Ext.Element.uncache(this.id)},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 R=Ext.lib.Dom.getViewWidth(),B=Ext.lib.Dom.getViewHeight();var M=Ext.getDoc().getScroll();var N=this.getXY();var Q=N[0],S=N[1];var P=this.dom.offsetWidth+this.shadowOffset,A=this.dom.offsetHeight+this.shadowOffset;var T=false;if((Q+P)>R+M.left){Q=R-P-this.shadowOffset;T=true}if((S+A)>B+M.top){S=B-A-this.shadowOffset;T=true}if(Q<M.left){Q=M.left;T=true}if(S<M.top){S=M.top;T=true}if(T){if(this.avoidY){var O=this.avoidY;if(S<=O&&(S+A)>=O){S=O-A-5}}N=[Q,S];this.storeXY(N);C.setXY.call(this,N);this.sync()}}},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){C.setXY.call(this,this.lastXY)}else{if(this.lastLT){C.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(J,K,B,A,I){if(J){this.showAction()}if(K&&J){var L=function(){this.sync(true);if(A){A()}}.createDelegate(this);C.setVisible.call(this,true,true,B,L,I)}else{if(!J){this.hideUnders(true)}var L=A;if(K){L=function(){this.hideAction();if(A){A()}}.createDelegate(this)}C.setVisible.call(this,J,K,B,L,I);if(J){this.sync(true)}else{if(!K){this.hideAction()}}}},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));C.setLeft.apply(this,arguments);this.sync()},setTop:function(A){this.storeLeftTop(this.getLeft(true),A);C.setTop.apply(this,arguments);this.sync()},setLeftTop:function(A,B){this.storeLeftTop(A,B);C.setLeftTop.apply(this,arguments);this.sync()},setXY:function(I,K,B,A,J){this.fixDisplay();this.beforeAction();this.storeXY(I);var L=this.createCB(A);C.setXY.call(this,I,K,B,L,J);if(!K){L()}},createCB:function(A){var B=this;return function(){B.constrainXY();B.sync(true);if(A){A()}}},setX:function(J,I,B,A,H){this.setXY([J,this.getY()],I,B,A,H)},setY:function(A,J,H,B,I){this.setXY([this.getX(),A],J,H,B,I)},setSize:function(L,K,M,B,A,J){this.beforeAction();var N=this.createCB(A);C.setSize.call(this,L,K,M,B,N,J);if(!M){N()}},setWidth:function(J,K,B,A,I){this.beforeAction();var L=this.createCB(A);C.setWidth.call(this,J,K,B,L,I);if(!K){L()}},setHeight:function(J,K,B,A,I){this.beforeAction();var L=this.createCB(A);C.setHeight.call(this,J,K,B,L,I);if(!K){L()}},setBounds:function(M,O,L,A,N,Q,P,R){this.beforeAction();var B=this.createCB(P);if(!N){this.storeXY([M,O]);C.setXY.call(this,[M,O]);C.setSize.call(this,L,A,N,Q,B,R);B()}else{C.setBounds.call(this,M,O,L,A,N,Q,B,R)}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)}}})})();Ext.Shadow=function(G){Ext.apply(this,G);if(typeof this.mode!="string"){this.mode=this.defaultMode}var F=this.offset,H={h:0};var E=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":H.w=0;H.l=H.t=F;H.t-=1;if(Ext.isIE){H.l-=this.offset+E;H.t-=this.offset+E;H.w-=E;H.h-=E;H.t+=1}break;case"sides":H.w=(F*2);H.l=-F;H.t=F-1;if(Ext.isIE){H.l-=(this.offset-E);H.t-=this.offset+E;H.l+=1;H.w-=(this.offset-E)*2;H.w-=E+1;H.h-=1}break;case"frame":H.w=H.h=(F*2);H.l=H.t=-F;H.t+=1;H.h-=2;if(Ext.isIE){H.l-=(this.offset-E);H.t-=(this.offset-E);H.l+=1;H.w-=(this.offset+E+1);H.h-=(this.offset+E);H.h+=1}break}this.adjusts=H};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(R,T,U,O){if(!this.el){return }var X=this.adjusts,Z=this.el.dom,S=Z.style;var b=0;S.left=(R+X.l)+"px";S.top=(T+X.t)+"px";var V=(U+X.w),P=(O+X.h),a=V+"px",W=P+"px";if(S.width!=a||S.height!=W){S.width=a;S.height=W;if(!Ext.isIE){var Y=Z.childNodes;var Q=Math.max(0,(V-12))+"px";Y[0].childNodes[1].style.width=Q;Y[1].childNodes[1].style.width=Q;Y[2].childNodes[1].style.width=Q;Y[1].style.height=Math.max(0,(P-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 D=[];var C=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=D.shift();if(!A){A=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,C));A.autoBoxAdjust=false}return A},push:function(A){D.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(L,J){if(typeof L=="object"){J=L.height;L=L.width}if(!this.boxReady){this.width=L;this.height=J;return this}if(this.lastSize&&this.lastSize.width==L&&this.lastSize.height==J){return this}this.lastSize={width:L,height:J};var K=this.adjustSize(L,J);var H=K.width,G=K.height;if(H!==undefined||G!==undefined){var I=this.getResizeEl();if(!this.deferHeight&&H!==undefined&&G!==undefined){I.setSize(H,G)}else{if(!this.deferHeight&&G!==undefined){I.setHeight(G)}else{if(H!==undefined){I.setWidth(H)}}}this.onResize(H,G,L,J);this.fireEvent("resize",this,H,G,L,J)}return this},setWidth:function(B){return this.setSize(B)},setHeight:function(B){return this.setSize(undefined,B)},getSize:function(){return this.el.getSize()},getPosition:function(B){if(B===true){return[this.el.getLeft(true),this.el.getTop(true)]}return this.xy||this.el.getXY()},getBox:function(D){var F=this.el.getSize();if(D===true){F.x=this.el.getLeft(true);F.y=this.el.getTop(true)}else{var E=this.xy||this.el.getXY();F.x=E[0];F.y=E[1]}return F},updateBox:function(B){this.setSize(B.width,B.height);this.setPagePosition(B.x,B.y);return this},getResizeEl:function(){return this.resizeEl||this.el},getPositionEl:function(){return this.positionEl||this.el},setPosition:function(G,H){if(G&&typeof G[1]=="number"){H=G[1];G=G[0]}this.x=G;this.y=H;if(!this.boxReady){return this}var L=this.adjustPosition(G,H);var I=L.x,J=L.y;var K=this.getPositionEl();if(I!==undefined||J!==undefined){if(I!==undefined&&J!==undefined){K.setLeftTop(I,J)}else{if(I!==undefined){K.setLeft(I)}else{if(J!==undefined){K.setTop(J)}}}this.onPosition(I,J);this.fireEvent("move",this,I,J)}return this},setPagePosition:function(D,E){if(D&&typeof D[1]=="number"){E=D[1];D=D[0]}this.pageX=D;this.pageY=E;if(!this.boxReady){return }if(D===undefined||E===undefined){return }var F=this.el.translatePoints(D,E);this.setPosition(F.left,F.top);return this},onRender:function(D,C){Ext.BoxComponent.superclass.onRender.call(this,D,C);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);this.boxReady=true;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.el.getWidth(),this.autoHeight?undefined:this.el.getHeight());return this},onResize:function(F,H,E,G){},onPosition:function(C,D){},adjustSize:function(C,D){if(this.autoWidth){C="auto"}if(this.autoHeight){D="auto"}return{width:C,height:D}},adjustPosition:function(C,D){return{x:C,y:D}}});Ext.reg("box",Ext.BoxComponent);Ext.SplitBar=function(I,G,J,H,F){this.el=Ext.get(I,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(G,true);this.orientation=J||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!F){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(F).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=H||(this.el.getX()>this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass("x-splitbar-h")}else{this.placement=H||(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(F,G){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 I=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var H=I-this.activeMinSize;var J=Math.max(this.activeMaxSize-I,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?H:J,this.placement==Ext.SplitBar.LEFT?J:H);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?H:J,this.placement==Ext.SplitBar.TOP?J:H)}this.dragSpecs.startSize=I;this.dragSpecs.startPoint=[F,G];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,F,G)},onEndProxyDrag:function(E){Ext.get(this.proxy).setDisplayed(false);var F=Ext.lib.Event.getXY(E);if(this.overlay){this.overlay.remove();delete this.overlay}var D;if(this.orientation==Ext.SplitBar.HORIZONTAL){D=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?F[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-F[0])}else{D=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?F[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-F[1])}D=Math.min(Math.max(D,this.activeMinSize),this.activeMaxSize);if(D!=this.dragSpecs.startSize){if(this.fireEvent("beforeapply",this,D)!==false){this.adapter.setElementSize(this,D);this.fireEvent("moved",this,D);this.fireEvent("resize",this,D)}}},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(D){var C=this.animate;this.animate=false;this.adapter.setElementSize(this,D);this.animate=C},destroy:function(B){if(this.shim){this.shim.remove()}this.dd.unreg();Ext.removeNode(this.proxy);if(B){this.el.remove()}}});Ext.SplitBar.createProxy=function(F){var E=new Ext.Element(document.createElement("div"));E.unselectable();var D="x-splitbar-proxy";E.addClass(D+" "+(F==Ext.SplitBar.HORIZONTAL?D+"-h":D+"-v"));document.body.appendChild(E.dom);return E.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(F,D,E){if(F.orientation==Ext.SplitBar.HORIZONTAL){if(!F.animate){F.resizingEl.setWidth(D);if(E){E(F,D)}}else{F.resizingEl.setWidth(D,true,0.1,E,"easeOut")}}else{if(!F.animate){F.resizingEl.setHeight(D);if(E){E(F,D)}}else{F.resizingEl.setHeight(D,true,0.1,E,"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(F,D,E){this.basic.setElementSize(F,D,this.moveSplitter.createDelegate(this,[F]))},moveSplitter:function(C){var D=Ext.SplitBar;switch(C.placement){case D.LEFT:C.el.setX(C.resizingEl.getRight());break;case D.RIGHT:C.el.setStyle("right",(this.container.getWidth()-C.resizingEl.getLeft())+"px");break;case D.TOP:C.el.setY(C.resizingEl.getBottom());break;case D.BOTTOM:C.el.setY(C.resizingEl.getTop()-C.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,{autoDestroy:true,defaultType:"panel",initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");var B=this.items;if(B){delete this.items;if(Ext.isArray(B)){this.add.apply(this,B)}else{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.initItems();this.layout=B;B.setContainer(this)},render:function(){Ext.Container.superclass.render.apply(this,arguments);if(this.layout){if(typeof this.layout=="string"){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);if(this.activeItem!==undefined){var B=this.activeItem;delete this.activeItem;this.layout.setActiveItem(B);return }}if(!this.ownerCt){this.doLayout()}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(B){return B.itemId||B.id},add:function(K){if(!this.items){this.initItems()}var L=arguments,G=L.length;if(G>1){for(var J=0;J<G;J++){this.add(L[J])}return }var H=this.lookupComponent(this.applyDefaults(K));var I=this.items.length;if(this.fireEvent("beforeadd",this,H,I)!==false&&this.onBeforeAdd(H)!==false){this.items.add(H);H.ownerCt=this;this.fireEvent("add",this,H,I)}return H},insert:function(J,K){if(!this.items){this.initItems()}var L=arguments,G=L.length;if(G>2){for(var I=G-1;I>=1;--I){this.insert(J,L[I])}return }var H=this.lookupComponent(this.applyDefaults(K));if(H.ownerCt==this&&this.items.indexOf(H)<J){--J}if(this.fireEvent("beforeadd",this,H,J)!==false&&this.onBeforeAdd(H)!==false){this.items.insert(J,H);H.ownerCt=this;this.fireEvent("add",this,H,J)}return H},applyDefaults:function(B){if(this.defaults){if(typeof B=="string"){B=Ext.ComponentMgr.get(B);Ext.apply(B,this.defaults)}else{if(!B.events){Ext.applyIf(B,this.defaults)}else{Ext.apply(B,this.defaults)}}}return B},onBeforeAdd:function(B){if(B.ownerCt){B.ownerCt.remove(B,false)}if(this.hideBorders===true){B.border=(B.border===true)}},remove:function(D,F){var E=this.getComponent(D);if(E&&this.fireEvent("beforeremove",this,E)!==false){this.items.remove(E);delete E.ownerCt;if(F===true||(F!==false&&this.autoDestroy)){E.destroy()}if(this.layout&&this.layout.activeItem==E){delete this.layout.activeItem}this.fireEvent("remove",this,E)}return E},getComponent:function(B){if(typeof B=="object"){return B}return this.items.get(B)},lookupComponent:function(B){if(typeof B=="string"){return Ext.ComponentMgr.get(B)}else{if(!B.events){return this.createComponent(B)}}return B},createComponent:function(B){return Ext.ComponentMgr.create(B,this.defaultType)},doLayout:function(H){if(this.rendered&&this.layout){this.layout.layout()}if(H!==false&&this.items){var I=this.items.items;for(var J=0,F=I.length;J<F;J++){var G=I[J];if(G.doLayout){G.doLayout()}}}},getLayout:function(){if(!this.layout){var B=new Ext.layout.ContainerLayout(this.layoutConfig);this.setLayout(B)}return this.layout},onDestroy:function(){if(this.items){var E=this.items.items;for(var F=0,D=E.length;F<D;F++){Ext.destroy(E[F])}}if(this.monitorResize){Ext.EventManager.removeResizeListener(this.doLayout,this)}Ext.Container.superclass.onDestroy.call(this)},bubble:function(G,H,E){var F=this;while(F){if(G.apply(H||F,E||[F])===false){break}F=F.ownerCt}},cascade:function(H,I,L){if(H.apply(I||this,L||[this])!==false){if(this.items){var J=this.items.items;for(var K=0,G=J.length;K<G;K++){if(J[K].cascade){J[K].cascade(H,I,L)}else{H.apply(I||this,L||[J[K]])}}}}},findById:function(E){var D,F=this;this.cascade(function(A){if(F!=A&&A.id===E){D=A;return false}});return D||null},findByType:function(B){return typeof B=="function"?this.findBy(function(A){return A.constructor===B}):this.findBy(function(A){return A.constructor.xtype===B})},find:function(D,C){return this.findBy(function(A){return A[D]===C})},findBy:function(F,G){var E=[],H=this;this.cascade(function(A){if(H!=A&&F.call(G||A,A,H)===true){E.push(A)}});return E}});Ext.Container.LAYOUTS={};Ext.reg("container",Ext.Container);Ext.layout.ContainerLayout=function(B){Ext.apply(this,B)};Ext.layout.ContainerLayout.prototype={monitorResize:false,activeItem:null,layout:function(){var B=this.container.getLayoutTarget();this.onLayout(this.container,B);this.container.fireEvent("afterlayout",this.container,this)},onLayout:function(C,D){this.renderAll(C,D)},isValidParent:function(E,F){var D=E.getPositionEl?E.getPositionEl():E.getEl();return D.dom.parentNode==F.dom},renderAll:function(J,I){var L=J.items.items;for(var K=0,G=L.length;K<G;K++){var H=L[K];if(H&&(!H.rendered||!this.isValidParent(H,I))){this.renderItem(H,K,I)}}},renderItem:function(F,E,G){if(F&&!F.rendered){F.render(G,E);if(this.extraCls){var H=F.getPositionEl?F.getPositionEl():F;H.addClass(this.extraCls)}if(this.renderHidden&&F!=this.activeItem){F.hide()}}else{if(F&&!this.isValidParent(F,G)){if(this.extraCls){F.addClass(this.extraCls)}if(typeof E=="number"){E=G.dom.childNodes[E]}G.dom.insertBefore(F.getEl().dom,E||null);if(this.renderHidden&&F!=this.activeItem){F.hide()}}}},onResize:function(){if(this.container.collapsed){return }var B=this.container.bufferResize;if(B){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.layout,this);this.resizeBuffer=typeof B=="number"?B:100}this.resizeTask.delay(this.resizeBuffer)}else{this.layout()}},setContainer:function(B){if(this.monitorResize&&B!=this.container){if(this.container){this.container.un("resize",this.onResize,this)}if(B){B.on("resize",this.onResize,this)}}this.container=B},parseMargins:function(F){var E=F.split(" ");var D=E.length;if(D==1){E[1]=E[0];E[2]=E[0];E[3]=E[0]}if(D==2){E[2]=E[0];E[3]=E[1]}return{top:parseInt(E[0],10)||0,right:parseInt(E[1],10)||0,bottom:parseInt(E[2],10)||0,left:parseInt(E[3],10)||0}}};Ext.Container.LAYOUTS.auto=Ext.layout.ContainerLayout;Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,onLayout:function(C,D){Ext.layout.FitLayout.superclass.onLayout.call(this,C,D);if(!this.container.collapsed){this.setItemSize(this.activeItem||C.items.itemAt(0),D.getStyleSize())}},setItemSize:function(D,C){if(D&&C.height>0){D.setSize(C)}}});Ext.Container.LAYOUTS.fit=Ext.layout.FitLayout;Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,renderHidden:true,setActiveItem:function(B){B=this.container.getComponent(B);if(this.activeItem!=B){if(this.activeItem){this.activeItem.hide()}this.activeItem=B;B.show();this.layout()}},renderAll:function(C,D){if(this.deferredRender){this.renderItem(this.activeItem,undefined,D)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,C,D)}}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(C,D){return D.dom==document.body?D.getViewSize():D.getStyleSize()},onLayout:function(c,Z){Ext.layout.AnchorLayout.superclass.onLayout.call(this,c,Z);var T=this.getAnchorViewSize(c,Z);var V=T.width,d=T.height;if(V<20||d<20){return }var R,X;if(c.anchorSize){if(typeof c.anchorSize=="number"){R=c.anchorSize}else{R=c.anchorSize.width;X=c.anchorSize.height}}else{R=c.initialConfig.width;X=c.initialConfig.height}var a=c.items.items,b=a.length,P,Y,W,Q,S;for(P=0;P<b;P++){Y=a[P];if(Y.anchor){W=Y.anchorSpec;if(!W){var U=Y.anchor.split(" ");Y.anchorSpec=W={right:this.parseAnchor(U[0],Y.initialConfig.width,R),bottom:this.parseAnchor(U[1],Y.initialConfig.height,X)}}Q=W.right?this.adjustWidthAnchor(W.right(V),Y):undefined;S=W.bottom?this.adjustHeightAnchor(W.bottom(d),Y):undefined;if(Q||S){Y.setSize(Q||undefined,S||undefined)}}}},parseAnchor:function(L,H,G){if(L&&L!="none"){var J;if(/^(r|right|b|bottom)$/i.test(L)){var I=G-H;return function(A){if(A!==J){J=A;return A-I}}}else{if(L.indexOf("%")!=-1){var K=parseFloat(L.replace("%",""))*0.01;return function(A){if(A!==J){J=A;return Math.floor(A*K)}}}else{L=parseInt(L,10);if(!isNaN(L)){return function(A){if(A!==J){J=A;return A+L}}}}}}return false},adjustWidthAnchor:function(D,C){return D},adjustHeightAnchor:function(D,C){return D}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,extraCls:"x-column",scrollOffset:0,isValidParent:function(D,C){return D.getEl().dom.parentNode==this.innerCt.dom},onLayout:function(L,S){var K=L.items.items,T=K.length,R,N;if(!this.innerCt){S.addClass("x-column-layout-ct");this.innerCt=S.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}this.renderAll(L,this.innerCt);var O=S.getViewSize();if(O.width<1&&O.height<1){return }var Q=O.width-S.getPadding("lr")-this.scrollOffset,M=O.height-S.getPadding("tb"),P=Q;this.innerCt.setWidth(Q);for(N=0;N<T;N++){R=K[N];if(!R.columnWidth){P-=(R.getSize().width+R.getEl().getMargins("lr"))}}P=P<0?0:P;for(N=0;N<T;N++){R=K[N];if(R.columnWidth){R.setSize(Math.floor(R.columnWidth*P)-R.getEl().getMargins("lr"))}}}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,onLayout:function(w,Y){var v;if(!this.rendered){Y.position();Y.addClass("x-border-layout-ct");var l=w.items.items;v=[];for(var g=0,e=l.length;g<e;g++){var b=l[g];var s=b.region;if(b.collapsed){v.push(b)}b.collapsed=false;if(!b.rendered){b.cls=b.cls?b.cls+" x-border-panel":"x-border-panel";b.render(Y,g)}this[s]=s!="center"&&b.split?new Ext.layout.BorderLayout.SplitRegion(this,b.initialConfig,s):new Ext.layout.BorderLayout.Region(this,b.initialConfig,s);this[s].render(Y,b)}this.rendered=true}var m=Y.getViewSize();if(m.width<20||m.height<20){if(v){this.restoreCollapsed=v}return }else{if(this.restoreCollapsed){v=this.restoreCollapsed;delete this.restoreCollapsed}}var o=m.width,d=m.height;var p=o,h=d,r=0,q=0;var k=this.north,n=this.south,t=this.west,c=this.east,b=this.center;if(!b){throw"No center region defined in BorderLayout "+w.id}if(k&&k.isVisible()){var Z=k.getSize();var i=k.getMargins();Z.width=o-(i.left+i.right);Z.x=i.left;Z.y=i.top;r=Z.height+Z.y+i.bottom;h-=r;k.applyLayout(Z)}if(n&&n.isVisible()){var Z=n.getSize();var i=n.getMargins();Z.width=o-(i.left+i.right);Z.x=i.left;var a=(Z.height+i.top+i.bottom);Z.y=d-a+i.top;h-=a;n.applyLayout(Z)}if(t&&t.isVisible()){var Z=t.getSize();var i=t.getMargins();Z.height=h-(i.top+i.bottom);Z.x=i.left;Z.y=r+i.top;var x=(Z.width+i.left+i.right);q+=x;p-=x;t.applyLayout(Z)}if(c&&c.isVisible()){var Z=c.getSize();var i=c.getMargins();Z.height=h-(i.top+i.bottom);var x=(Z.width+i.left+i.right);Z.x=o-x+i.left;Z.y=r+i.top;p-=x;c.applyLayout(Z)}var i=b.getMargins();var u={x:q+i.left,y:r+i.top,width:p-(i.left+i.right),height:h-(i.top+i.bottom)};b.applyLayout(u);if(v){for(var g=0,e=v.length;g<e;g++){v[g].collapse(false)}}if(Ext.isIE&&Ext.isStrict){Y.repaint()}}});Ext.layout.BorderLayout.Region=function(F,D,E){Ext.apply(this,D);this.layout=F;this.position=E;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||{},E=="north"||E=="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},isCollapsed:false,render:function(H,G){this.panel=G;G.el.enableDisplayMode();this.targetEl=H;this.el=G.el;var E=G.getState,F=this.position;G.getState=function(){return Ext.apply(E.call(G)||{},this.state)}.createDelegate(this);if(F!="center"){G.allowQueuedExpand=false;G.on({beforecollapse:this.beforeCollapse,collapse:this.onCollapse,beforeexpand:this.beforeExpand,expand:this.onExpand,hide:this.onHide,show:this.onShow,scope:this});if(this.collapsible){G.collapseEl="el";G.slideAnchor=this.getSlideAnchor()}if(G.tools&&G.tools.toggle){G.tools.toggle.addClass("x-tool-collapse-"+F);G.tools.toggle.addClassOnOver("x-tool-collapse-"+F+"-over")}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var D=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');D.disableFormats=true;D.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=D}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{var C=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);C.addClassOnOver("x-tool-expand-"+this.position+"-over");C.on("click",this.onExpandClick,this,{stopEvent:true});if(this.floatable!==false){this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.collapseClick,this)}}}return this.collapsedEl},onExpandClick:function(B){if(this.isSlid){this.afterSlideIn();this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(B){this.panel.collapse()},beforeCollapse:function(D,C){this.lastAnim=C;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();this.panel.el.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(C){var D=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,D.getHeight())}else{this.panel.setSize(D.getWidth(),undefined)}D.hide();D.dom.style.visibility="hidden";this.panel.el.setStyle("z-index",100)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle("z-index",1);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(C){var D=this.getCollapsedEl();D.setLeftTop(C.x,C.y);D.setSize(C.width,C.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){var B=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(A){if(!A.within(this.el,true)){B.delay(500)}},mouseover:function(A){B.cancel()},scope:this}}this.el.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.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 B=this.panel.tools;if(B&&B.toggle){B.toggle.hide()}this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,this.collapsedEl.getHeight())}else{this.panel.setSize(this.collapsedEl.getWidth(),undefined)}this.restoreLT=[this.el.dom.style.left,this.el.dom.style.top];this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());this.el.setStyle("z-index",102);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.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 D=this.collapsedEl,C=this.cmargins;switch(this.position){case"west":return[-(C.right+D.getWidth()+C.left),0];break;case"east":return[C.right+D.getWidth()+C.left,0];break;case"north":return[0,-(C.top+C.bottom+D.getHeight())];break;case"south":return[0,C.top+C.bottom+D.getHeight()];break}}};Ext.layout.BorderLayout.SplitRegion=function(F,D,E){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,F,D,E);this.applyLayout=this.applyFns[E]};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(G){if(this.isCollapsed){return this.applyLayoutCollapsed(G)}var F=this.splitEl.dom,H=F.style;this.panel.setPosition(G.x,G.y);var E=F.offsetWidth;H.left=(G.x+G.width-E)+"px";H.top=(G.y)+"px";H.height=Math.max(0,G.height)+"px";this.panel.setSize(G.width-E,G.height)},east:function(G){if(this.isCollapsed){return this.applyLayoutCollapsed(G)}var F=this.splitEl.dom,H=F.style;var E=F.offsetWidth;this.panel.setPosition(G.x+E,G.y);H.left=(G.x)+"px";H.top=(G.y)+"px";H.height=Math.max(0,G.height)+"px";this.panel.setSize(G.width-E,G.height)},north:function(G){if(this.isCollapsed){return this.applyLayoutCollapsed(G)}var F=this.splitEl.dom,H=F.style;var E=F.offsetHeight;this.panel.setPosition(G.x,G.y);H.left=(G.x)+"px";H.top=(G.y+G.height-E)+"px";H.width=Math.max(0,G.width)+"px";this.panel.setSize(G.width,G.height-E)},south:function(G){if(this.isCollapsed){return this.applyLayoutCollapsed(G)}var F=this.splitEl.dom,H=F.style;var E=F.offsetHeight;this.panel.setPosition(G.x,G.y+E);H.left=(G.x)+"px";H.top=(G.y)+"px";H.width=Math.max(0,G.width)+"px";this.panel.setSize(G.width,G.height-E)}},render:function(E,G){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,E,G);var F=this.position;this.splitEl=E.createChild({cls:"x-layout-split x-layout-split-"+F,html:"&#160;",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+F,html:"&#160;"});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var H=this.splitSettings[F];this.split=new Ext.SplitBar(this.splitEl.dom,G.el,H.orientation);this.split.placement=H.placement;this.split.getMaximumSize=this[H.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[H.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[H.maxProp];if(G.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 D=this.maxSize||10000;var C=this.layout.center;return Math.min(D,(this.el.getWidth()+C.el.getWidth())-C.getMinWidth())},getVMaxSize:function(){var D=this.maxSize||10000;var C=this.layout.center;return Math.min(D,(this.el.getHeight()+C.el.getHeight())-C.getMinHeight())},onSplitMove:function(F,D){var E=this.panel.getSize();this.lastSplitSize=D;if(this.position=="north"||this.position=="south"){this.panel.setSize(E.width,D);this.state.height=D}else{this.panel.setSize(D,E.height);this.state.width=D}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split}});Ext.Container.LAYOUTS.border=Ext.layout.BorderLayout;Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:":",getAnchorViewSize:function(C,D){return C.body.getStyleSize()},setContainer:function(F){Ext.layout.FormLayout.superclass.setContainer.call(this,F);if(F.labelAlign){F.addClass("x-form-label-"+F.labelAlign)}if(F.hideLabels){this.labelStyle="display:none";this.elementStyle="padding-left:0;";this.labelAdjust=0}else{this.labelSeparator=F.labelSeparator||this.labelSeparator;F.labelWidth=F.labelWidth||100;if(typeof F.labelWidth=="number"){var E=(typeof F.labelPad=="number"?F.labelPad:5);this.labelAdjust=F.labelWidth+E;this.labelStyle="width:"+F.labelWidth+"px;";this.elementStyle="padding-left:"+(F.labelWidth+E)+"px"}if(F.labelAlign=="top"){this.labelStyle="width:auto;";this.labelAdjust=0;this.elementStyle="padding-left:0;"}}if(!this.fieldTpl){var D=new Ext.Template('<div class="x-form-item {5}" tabIndex="-1">','<label for="{0}" style="{2}" class="x-form-item-label">{1}{4}</label>','<div class="x-form-element" id="x-form-el-{0}" style="{3}">','</div><div class="{6}"></div>',"</div>");D.disableFormats=true;D.compile();Ext.layout.FormLayout.prototype.fieldTpl=D}},renderItem:function(F,E,G){if(F&&!F.rendered&&F.isFormField&&F.inputType!="hidden"){var H=[F.id,F.fieldLabel,F.labelStyle||this.labelStyle||"",this.elementStyle||"",typeof F.labelSeparator=="undefined"?this.labelSeparator:F.labelSeparator,(F.itemCls||this.container.itemCls||"")+(F.hideLabel?" x-hide-label":""),F.clearCls||"x-form-clear-left"];if(typeof E=="number"){E=G.dom.childNodes[E]||null}if(E){this.fieldTpl.insertBefore(E,H)}else{this.fieldTpl.append(G,H)}F.render("x-form-el-"+F.id)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},adjustWidthAnchor:function(D,C){return D-(C.isFormField?(C.hideLabel?0:this.labelAdjust):0)},isValidParent:function(D,C){return true}});Ext.Container.LAYOUTS.form=Ext.layout.FormLayout;Ext.layout.Accordion=Ext.extend(Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,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.activeItem=B}else{if(this.activeItem){B.collapsed=true}}Ext.layout.Accordion.superclass.renderItem.apply(this,arguments);B.header.addClass("x-accordion-hd");B.on("beforeexpand",this.beforeExpand,this)},beforeExpand:function(E,F){var D=this.activeItem;if(D){if(this.sequence){delete this.activeItem;if(!D.collapsed){D.collapse({callback:function(){E.expand(F||true)},scope:this});return false}}else{D.collapse(this.animate)}}this.activeItem=E;if(this.activeOnTop){E.el.dom.parentNode.insertBefore(E.el.dom,E.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(J,K){if(this.fill&&J){var N=this.container.items.items;var L=0;for(var M=0,H=N.length;M<H;M++){var I=N[M];if(I!=J){L+=(I.getSize().height-I.bwrap.getHeight())}}K.height-=L;J.setSize(K)}}});Ext.Container.LAYOUTS.accordion=Ext.layout.Accordion;Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,setContainer:function(B){Ext.layout.TableLayout.superclass.setContainer.call(this,B);this.currentRow=0;this.currentColumn=0;this.cells=[]},onLayout:function(K,I){var J=K.items.items,G=J.length,H,L;if(!this.table){I.addClass("x-table-layout-ct");this.table=I.createChild({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},null,true);this.renderAll(K,I)}},getRow:function(C){var D=this.table.tBodies[0].childNodes[C];if(!D){D=document.createElement("tr");this.table.tBodies[0].appendChild(D)}return D},getNextCell:function(J){var I=this.getNextNonSpan(this.currentColumn,this.currentRow);var M=this.currentColumn=I[0],N=this.currentRow=I[1];for(var K=N;K<N+(J.rowspan||1);K++){if(!this.cells[K]){this.cells[K]=[]}for(var O=M;O<M+(J.colspan||1);O++){this.cells[K][O]=true}}var L=document.createElement("td");if(J.cellId){L.id=J.cellId}var P="x-table-layout-cell";if(J.cellCls){P+=" "+J.cellCls}L.className=P;if(J.colspan){L.colSpan=J.colspan}if(J.rowspan){L.rowSpan=J.rowspan}this.getRow(N).appendChild(L);return L},getNextNonSpan:function(D,E){var F=this.columns;while((F&&D>=F)||(this.cells[E]&&this.cells[E][D])){if(F&&D>=F){E++;D=0}else{D++}}return[D,E]},renderItem:function(E,D,F){if(E&&!E.rendered){E.render(this.getNextCell(E))}},isValidParent:function(D,C){return true}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",isForm:false,setContainer:function(B){Ext.layout.AbsoluteLayout.superclass.setContainer.call(this,B);if(B.isXType("form")){this.isForm=true}},onLayout:function(C,D){if(this.isForm){C.body.position()}else{D.position()}Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,C,D)},getAnchorViewSize:function(C,D){return this.isForm?C.body.getStyleSize():Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this,C,D)},isValidParent:function(D,C){return this.isForm?true:Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this,D,C)},adjustWidthAnchor:function(D,C){return D?D-C.getPosition(true)[0]:D},adjustHeightAnchor:function(D,C){return D?D-C.getPosition(true)[1]:D}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;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(C,D){this.fireEvent("resize",this,C,D,C,D)}});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",toolTarget:"header",collapseEl:"bwrap",slideAnchor:"t",deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.tbar){this.elements+=",tbar";if(typeof this.tbar=="object"){this.topToolbar=this.tbar}delete this.tbar}if(this.bbar){this.elements+=",bbar";if(typeof this.bbar=="object"){this.bottomToolbar=this.bbar}delete this.bbar}if(this.header===true){this.elements+=",header";delete this.header}else{if(this.title&&this.header!==false){this.elements+=",header"}}if(this.footer===true){this.elements+=",footer";delete this.footer}if(this.buttons){var E=this.buttons;this.buttons=[];for(var F=0,D=E.length;F<D;F++){if(E[F].render){this.buttons.push(E[F])}else{this.addButton(E[F])}}}if(this.autoLoad){this.on("render",this.doAutoLoad,this,{delay:10})}},createElement:function(D,E){if(this[D]){E.appendChild(this[D].dom);return }if(D==="bwrap"||this.elements.indexOf(D)!=-1){if(this[D+"Cfg"]){this[D]=Ext.fly(E).createChild(this[D+"Cfg"])}else{var F=document.createElement("div");F.className=this[D+"Cls"];this[D]=Ext.get(E.appendChild(F))}}},onRender:function(c,d){Ext.Panel.superclass.onRender.call(this,c,d);this.createClasses();if(this.el){this.el.addClass(this.baseCls);this.header=this.el.down("."+this.headerCls);this.bwrap=this.el.down("."+this.bwrapCls);var X=this.bwrap?this.bwrap:this.el;this.tbar=X.down("."+this.tbarCls);this.body=X.down("."+this.bodyCls);this.bbar=X.down("."+this.bbarCls);this.footer=X.down("."+this.footerCls);this.fromMarkup=true}else{this.el=c.createChild({id:this.id,cls:this.baseCls},d)}var T=this.el,Z=T.dom;if(this.cls){this.el.addClass(this.cls)}if(this.buttons){this.elements+=",footer"}if(this.frame){T.insertHtml("afterBegin",String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement("header",Z.firstChild.firstChild.firstChild);this.createElement("bwrap",Z);var V=this.bwrap.dom;var g=Z.childNodes[1],S=Z.childNodes[2];V.appendChild(g);V.appendChild(S);var U=V.firstChild.firstChild.firstChild;this.createElement("tbar",U);this.createElement("body",U);this.createElement("bbar",U);this.createElement("footer",V.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=" x-panel-nofooter"}}else{this.createElement("header",Z);this.createElement("bwrap",Z);var V=this.bwrap.dom;this.createElement("tbar",V);this.createElement("body",V);this.createElement("bbar",V);this.createElement("footer",V);if(!this.header){this.body.addClass(this.bodyCls+"-noheader");if(this.tbar){this.tbar.addClass(this.tbarCls+"-noheader")}}}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")}if(this.bodyStyle){this.body.applyStyles(this.bodyStyle)}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.tools=this.tools?this.tools.slice(0):[];if(!this.hideCollapseTool){this.tools[this.collapseFirst?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})}if(this.titleCollapse&&this.header){this.header.on("click",this.toggleCollapse,this);this.header.setStyle("cursor","pointer")}}if(this.tools){var a=this.tools;this.tools={};this.addTool.apply(this,a)}else{this.tools={}}if(this.buttons&&this.buttons.length>0){var Q=this.footer.createChild({cls:"x-panel-btns-ct",cn:{cls:"x-panel-btns x-panel-btns-"+this.buttonAlign,html:'<table cellspacing="0"><tbody><tr></tr></tbody></table><div class="x-clear"></div>'}},null,true);var Y=Q.getElementsByTagName("tr")[0];for(var e=0,b=this.buttons.length;e<b;e++){var W=this.buttons[e];var R=document.createElement("td");R.className="x-panel-btn-td";W.render(Y.appendChild(R))}}if(this.tbar&&this.topToolbar){if(Ext.isArray(this.topToolbar)){this.topToolbar=new Ext.Toolbar(this.topToolbar)}this.topToolbar.render(this.tbar);this.topToolbar.ownerCt=this}if(this.bbar&&this.bottomToolbar){if(Ext.isArray(this.bottomToolbar)){this.bottomToolbar=new Ext.Toolbar(this.bottomToolbar)}this.bottomToolbar.render(this.bbar);this.bottomToolbar.ownerCt=this}},setIconClass:function(H){var E=this.iconCls;this.iconCls=H;if(this.rendered&&this.header){if(this.frame){this.header.addClass("x-panel-icon");this.header.replaceClass(E,this.iconCls)}else{var F=this.header.dom;var G=F.firstChild&&String(F.firstChild.tagName).toLowerCase()=="img"?F.firstChild:null;if(G){Ext.fly(G).replaceClass(E,this.iconCls)}else{Ext.DomHelper.insertBefore(F.firstChild,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})}}}},makeFloating:function(B){this.floating=true;this.el=new Ext.Layer(typeof B=="object"?B:{shadow:this.shadow!==undefined?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},addButton:function(F,H,I){var G={handler:H,scope:I,minWidth:this.minButtonWidth,hideParent:true};if(typeof F=="string"){G.text=F}else{Ext.apply(G,F)}var J=new Ext.Button(G);J.ownerCt=this;if(!this.buttons){this.buttons=[]}this.buttons.push(J);return J},addTool:function(){if(!this[this.toolTarget]){return }if(!this.toolTemplate){var J=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');J.disableFormats=true;J.compile();Ext.Panel.prototype.toolTemplate=J}for(var K=0,M=arguments,N=M.length;K<N;K++){var H=M[K],I="x-tool-"+H.id+"-over";var L=this.toolTemplate.insertFirst((H.align!=="left")?this[this.toolTarget]:this[this.toolTarget].child("span"),H,true);this.tools[H.id]=L;L.enableDisplayMode("block");L.on("click",this.createToolHandler(L,H,I,this));if(H.on){L.on(H.on)}if(H.hidden){L.hide()}if(H.qtip){if(typeof H.qtip=="object"){Ext.QuickTips.register(Ext.apply({target:L.id},H.qtip))}else{L.dom.qtip=H.qtip}}L.addClassOnOver(I)}},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(G,E,F,H){return function(A){G.removeClass(F);A.stopEvent();if(E.handler){E.handler.call(E.scope||G,A,G,H)}}},afterRender:function(){if(this.fromMarkup&&this.height===undefined&&!this.autoHeight){this.height=this.el.getHeight()}if(this.floating&&!this.hidden&&!this.initHidden){this.el.show()}if(this.title){this.setTitle(this.title)}this.setAutoScroll();if(this.html){this.body.update(typeof this.html=="object"?Ext.DomHelper.markup(this.html):this.html);delete this.html}if(this.contentEl){var B=Ext.getDom(this.contentEl);Ext.fly(B).removeClass(["x-hidden","x-hide-display"]);this.body.dom.appendChild(B)}if(this.collapsed){this.collapsed=false;this.collapse(false)}Ext.Panel.superclass.afterRender.call(this);this.initEvents()},setAutoScroll:function(){if(this.rendered&&this.autoScroll){this.body.setOverflow("auto")}},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()}},initDraggable:function(){this.dd=new Ext.Panel.DD(this,typeof this.draggable=="boolean"?null:this.draggable)},beforeEffect:function(){if(this.floating){this.el.beforeAction()}this.el.addClass("x-panel-animated")},afterEffect:function(){this.syncShadow();this.el.removeClass("x-panel-animated")},createEffect:function(H,E,G){var F={scope:G,block:true};if(H===true){F.callback=E;return F}else{if(!H.callback){F.callback=E}else{F.callback=function(){E.call(G);Ext.callback(H.callback,H.scope)}}}return Ext.applyIf(F,H)},collapse:function(D){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,D)===false){return }var C=D===true||(D!==false&&this.animCollapse);this.beforeEffect();this.onCollapse(C,D);return this},onCollapse:function(C,D){if(C){this[this.collapseEl].slideOut(this.slideAnchor,Ext.apply(this.createEffect(D||true,this.afterCollapse,this),this.collapseDefaults))}else{this[this.collapseEl].hide();this.afterCollapse()}},afterCollapse:function(){this.collapsed=true;this.el.addClass(this.collapsedCls);this.afterEffect();this.fireEvent("collapse",this)},expand:function(D){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,D)===false){return }var C=D===true||(D!==false&&this.animCollapse);this.el.removeClass(this.collapsedCls);this.beforeEffect();this.onExpand(C,D);return this},onExpand:function(C,D){if(C){this[this.collapseEl].slideIn(this.slideAnchor,Ext.apply(this.createEffect(D||true,this.afterExpand,this),this.expandDefaults))}else{this[this.collapseEl].show();this.afterExpand()}},afterExpand:function(){this.collapsed=false;this.afterEffect();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(C,D){if(C!==undefined||D!==undefined){if(!this.collapsed){if(typeof C=="number"){this.body.setWidth(this.adjustBodyWidth(C-this.getFrameWidth()))}else{if(C=="auto"){this.body.setWidth(C)}}if(typeof D=="number"){this.body.setHeight(this.adjustBodyHeight(D-this.getFrameHeight()))}else{if(D=="auto"){this.body.setHeight(D)}}}else{this.queuedBodySize={width:C,height:D};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.doLayout()},this,{single:true})}}this.fireEvent("bodyresize",this,C,D)}this.syncShadow()},adjustBodyHeight:function(B){return B},adjustBodyWidth:function(B){return B},onPosition:function(){this.syncShadow()},onDestroy:function(){if(this.tools){for(var D in this.tools){Ext.destroy(this.tools[D])}}if(this.buttons){for(var C in this.buttons){Ext.destroy(this.buttons[C])}}Ext.destroy(this.topToolbar,this.bottomToolbar);Ext.Panel.superclass.onDestroy.call(this)},getFrameWidth:function(){var F=this.el.getFrameWidth("lr");if(this.frame){var D=this.bwrap.dom.firstChild;F+=(Ext.fly(D).getFrameWidth("l")+Ext.fly(D.firstChild).getFrameWidth("r"));var E=this.bwrap.dom.firstChild.firstChild.firstChild;F+=Ext.fly(E).getFrameWidth("lr")}return F},getFrameHeight:function(){var E=this.el.getFrameWidth("tb");E+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);if(this.frame){var G=this.el.dom.firstChild;var F=this.bwrap.dom.lastChild;E+=(G.offsetHeight+F.offsetHeight);var H=this.bwrap.dom.firstChild.firstChild.firstChild;E+=Ext.fly(H).getFrameWidth("tb")}else{E+=(this.header?this.header.getHeight():0)+(this.footer?this.footer.getHeight():0)}return E},getInnerWidth:function(){return this.getSize().width-this.getFrameWidth()},getInnerHeight:function(){return this.getSize().height-this.getFrameHeight()},syncShadow:function(){if(this.floating){this.el.sync(true)}},getLayoutTarget:function(){return this.body},setTitle:function(D,C){this.title=D;if(this.header&&this.headerAsText){this.header.child("span").update(D)}if(C){this.setIconClass(C)}this.fireEvent("titlechange",this,D);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.Element.uncache(this.header,this.tbar,this.bbar,this.footer,this.body)},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(F,G,J){var H=document.createElement("div");H.className="x-panel-ghost "+(F?F:"");if(this.header){H.appendChild(this.el.dom.firstChild.cloneNode(true))}Ext.fly(H.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());H.style.width=this.el.dom.offsetWidth+"px";if(!J){this.container.dom.appendChild(H)}else{Ext.getDom(J).appendChild(H)}if(G!==false&&this.el.useShim!==false){var I=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},H);I.show();return I}else{return new Ext.Element(H)}},doAutoLoad:function(){this.body.load(typeof this.autoLoad=="object"?this.autoLoad:{url:this.autoLoad})}});Ext.reg("panel",Ext.Panel);Ext.Window=Ext.extend(Ext.Panel,{baseCls:"x-window",resizable:true,draggable:true,closable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,closeAction:"close",elements:"header,body",collapsible:false,initHidden:true,monitorResize:true,frame:true,floating:true,initComponent:function(){Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore")},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox())},onRender:function(D,C){Ext.Window.superclass.onRender.call(this,D,C);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()}},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});this.resizer.window=this;this.resizer.on("beforeresize",this.beforeResize,this)}if(this.draggable){this.header.addClass("x-window-draggable")}this.initTools();this.el.on("mousedown",this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);this.hidden=true;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(){this[this.closeAction]()},beforeDestroy:function(){Ext.destroy(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});this.header.on("dblclick",this.toggleMaximize,this)}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(D){var C=this.resizeBox;if(C.x!=D.x||C.y!=D.y){this.updateBox(D)}else{this.setSize(D)}this.focus();this.updateHandles();this.saveState();this.fireEvent("resize",this,D.width,D.height)},focus:function(){var E=this.focusEl,D=this.defaultButton,F=typeof D;if(F!="undefined"){if(F=="number"){E=this.buttons[D]}else{if(F=="string"){E=Ext.getCmp(D)}else{E=D}}}E.focus.defer(10,E)},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 C=this.el.getAlignToXY(this.container,"c-c");var D=this.el.translatePoints(C[0],C[1]);this.x=this.x===undefined?D.left:this.x;this.y=this.y===undefined?D.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(E,D,F){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return }if(this.fireEvent("beforeshow",this)===false){return }if(D){this.on("show",D,F,{single:true})}this.hidden=false;if(E!==undefined){this.setAnimateTarget(E)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}},afterShow:function(){this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&&Ext.isGecko){this.cascade(this.setAutoScroll)}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.onWindowResize(this.onWindowResize,this)}this.doConstrain();if(this.layout){this.doLayout()}if(this.keyMap){this.keyMap.enable()}this.toFront();this.updateHandles();this.fireEvent("show",this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var B=this.getBox(false);B.callback=this.afterShow;B.scope=this;B.duration=0.25;B.easing="easeNone";B.opacity=0.5;B.block=true;this.el.setStyle("display","none");this.proxy.shift(B)},hide:function(E,D,F){if(this.hidden||this.fireEvent("beforehide",this)===false){return }if(D){this.on("hide",D,F,{single:true})}this.hidden=true;if(E!==undefined){this.setAnimateTarget(E)}if(this.animateTarget){this.animHide()}else{this.el.hide();this.afterHide()}},afterHide:function(){this.proxy.hide();if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.removeResizeListener(this.onWindowResize,this)}if(this.modal){this.mask.hide();Ext.getBody().removeClass("x-body-masked")}if(this.keyMap){this.keyMap.disable()}this.fireEvent("hide",this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var D=this.getBox(false);this.proxy.setBox(D);this.el.hide();var C=this.animateTarget.getBox();C.callback=this.afterHide;C.scope=this;C.duration=0.25;C.easing="easeNone";C.block=true;C.opacity=0;this.proxy.shift(C)},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 F;if(this.constrain){F={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var D=this.getSize();F={right:-(D.width-100),bottom:-(D.height-25)}}var E=this.el.getConstrainToXY(this.container,true,F);if(E){this.setPosition(E[0],E[1])}}},ghost:function(D){var E=this.createGhost(D);var F=this.getBox(true);E.setLeftTop(F.x,F.y);E.setWidth(F.width);this.el.hide();this.activeGhost=E;return E},unghost:function(D,C){if(D!==false){this.el.show();this.focus();if(Ext.isMac&&Ext.isGecko){this.cascade(this.setAutoScroll)}}if(C!==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)},close:function(){if(this.fireEvent("beforeclose",this)!==false){this.hide(null,function(){this.fireEvent("close",this);this.destroy()},this)}},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)}},restore:function(){if(this.maximized){this.el.removeClass("x-window-maximized");this.tools.restore.hide();this.tools.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){this.tools.toggle.show()}this.container.removeClass("x-window-maximized-ct");this.doConstrain();this.fireEvent("restore",this)}},toggleMaximize:function(){this[this.maximized?"restore":"maximize"]()},fitContainer:function(){var B=this.container.getViewSize();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(H,E,G){var F=this.el.getAlignToXY(H,E,G);this.setPagePosition(F[0],F[1]);return this},anchorTo:function(M,I,L,N,J){var K=function(){this.alignTo(M,I,L)};Ext.EventManager.onWindowResize(K,this);var H=typeof N;if(H!="undefined"){Ext.EventManager.on(window,"scroll",K,this,{buffer:H=="number"?N:50})}K.call(this);this[J]=K;return this},toFront:function(){if(this.manager.bringToFront(this)){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=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};Ext.extend(Ext.Window.DD,Ext.dd.DD,{moveOnly:true,headerOffsets:[100,25],startDrag:function(){var D=this.win;this.proxy=D.ghost();if(D.constrain!==false){var E=D.el.shadowOffset;this.constrainTo(D.container,{right:E,left:E,bottom:E})}else{if(D.constrainHeader!==false){var F=this.proxy.getSize();this.constrainTo(D.container,{right:-(F.width-this.headerOffsets[0]),bottom:-(F.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 J={};var L=[];var K=null;var M=function(A,B){return(!A._lastAccess||A._lastAccess<B._lastAccess)?-1:1};var I=function(){var C=L,E=C.length;if(E>0){C.sort(M);var D=C[0].manager.zseed;for(var B=0;B<E;B++){var A=C[B];if(A&&!A.hidden){A.setZIndex(D+(B*10))}}}H()};var N=function(A){if(A!=K){if(K){K.setActive(false)}K=A;if(A){A.setActive(true)}}};var H=function(){for(var A=L.length-1;A>=0;--A){if(!L[A].hidden){N(L[A]);return }}N(null)};return{zseed:9000,register:function(A){J[A.id]=A;L.push(A);A.on("hide",H)},unregister:function(A){delete J[A.id];A.un("hide",H);L.remove(A)},get:function(A){return typeof A=="object"?A:J[A]},bringToFront:function(A){A=this.get(A);if(A!=K){A._lastAccess=new Date().getTime();I();return true}return false},sendToBack:function(A){A=this.get(A);A._lastAccess=-(new Date().getTime());I();return A},hideAll:function(){for(var A in J){if(J[A]&&typeof J[A]!="function"&&J[A].isVisible()){J[A].hide()}}},getActive:function(){return K},getBy:function(C,D){var B=[];for(var E=L.length-1;E>=0;--E){var A=L[E];if(C.call(D||A,A)!==false){B.push(A)}}return B},each:function(B,C){for(var A in J){if(J[A]&&typeof J[A]!="function"){if(B.call(C||J[A],J[A])===false){return }}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.dd.PanelProxy=function(C,D){this.panel=C;this.id=this.panel.id+"-ddproxy";Ext.apply(this,D)};Ext.dd.PanelProxy.prototype={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(undefined,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(F,E,D){this.hide();if(typeof E=="function"){E.call(D||this)}},moveProxy:function(C,D){if(this.proxy){C.insertBefore(this.proxy.dom,D)}}};Ext.Panel.DD=function(F,D){this.panel=F;this.dragData={panel:F};this.proxy=new Ext.dd.PanelProxy(F,D);Ext.Panel.DD.superclass.constructor.call(this,F.el,D);var E=F.header;if(E){this.setHandleElId(E.id)}(E?E:this.panel.body).setStyle("cursor","move");this.scroll=false};Ext.extend(Ext.Panel.DD,Ext.dd.DragSource,{showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(C,D){this.proxy.show()},b4MouseDown:function(F){var D=F.getPageX();var E=F.getPageY();this.autoOffset(D,E)},onInitDrag:function(C,D){this.onStartDrag(C,D);return true},createFrame:Ext.emptyFn,getDragEl:function(B){return this.proxy.ghost.dom},endDrag:function(B){this.proxy.hide();this.panel.saveState()},autoOffset:function(C,D){C-=this.startPageX;D-=this.startPageY;this.setDelta(C,D)}});Ext.state.Provider=function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)};Ext.extend(Ext.state.Provider,Ext.util.Observable,{get:function(D,C){return typeof this.state[D]=="undefined"?C:this.state[D]},clear:function(B){delete this.state[B];this.fireEvent("statechange",this,B,null)},set:function(C,D){this.state[C]=D;this.fireEvent("statechange",this,C,D)},decodeValue:function(N){var O=/^(a|n|d|b|s|o)\:(.*)$/;var L=O.exec(unescape(N));if(!L||!L[1]){return }var S=L[1];var Q=L[2];switch(S){case"n":return parseFloat(Q);case"d":return new Date(Date.parse(Q));case"b":return(Q=="1");case"a":var R=[];var P=Q.split("^");for(var M=0,K=P.length;M<K;M++){R.push(this.decodeValue(P[M]))}return R;case"o":var R={};var P=Q.split("^");for(var M=0,K=P.length;M<K;M++){var T=P[M].split("=");R[T[0]]=this.decodeValue(T[1])}return R;default:return Q}},encodeValue:function(K){var L;if(typeof K=="number"){L="n:"+K}else{if(typeof K=="boolean"){L="b:"+(K?"1":"0")}else{if(Ext.isDate(K)){L="d:"+K.toGMTString()}else{if(Ext.isArray(K)){var H="";for(var I=0,G=K.length;I<G;I++){H+=this.encodeValue(K[I]);if(I!=G-1){H+="^"}}L="a:"+H}else{if(typeof K=="object"){var H="";for(var J in K){if(typeof K[J]!="function"&&K[J]!==undefined){H+=J+"="+this.encodeValue(K[J])+"^"}}L="o:"+H.substring(0,H.length-1)}else{L="s:"+K}}}}}return escape(L)}});Ext.state.Manager=function(){var B=new Ext.state.Provider();return{setProvider:function(A){B=A},get:function(A,D){return B.get(A,D)},set:function(D,A){B.set(D,A)},clear:function(A){B.clear(A)},getProvider:function(){return B}}}();Ext.state.CookieProvider=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()};Ext.extend(Ext.state.CookieProvider,Ext.state.Provider,{set:function(C,D){if(typeof D=="undefined"||D===null){this.clear(C);return }this.setCookie(C,D);Ext.state.CookieProvider.superclass.set.call(this,C,D)},clear:function(B){this.clearCookie(B);Ext.state.CookieProvider.superclass.clear.call(this,B)},readCookies:function(){var K={};var H=document.cookie+";";var L=/\s?(.*?)=(.*?);/g;var I;while((I=L.exec(H))!=null){var G=I[1];var J=I[2];if(G&&G.substring(0,3)=="ys-"){K[G.substr(3)]=this.decodeValue(J)}}return K},setCookie:function(C,D){document.cookie="ys-"+C+"="+this.encodeValue(D)+((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,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(typeof this.tpl=="string"){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents("beforeclick","click","containerclick","dblclick","contextmenu","selectionchange","beforeselect");this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},onRender:function(){if(!this.el){this.el=document.createElement("div");this.el.id=this.id}Ext.DataView.superclass.onRender.apply(this,arguments)},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.el.on({click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass){this.el.on({mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this})}if(this.store){this.setStore(this.store,true)}},refresh:function(){this.clearSelections(false,true);this.el.update("");var D=[];var C=this.store.getRange();if(C.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){this.el.update(this.emptyText)}this.hasSkippedEmptyText=true;this.all.clear();return }this.tpl.overwrite(this.el,this.collectData(C,0));this.all.fill(Ext.query(this.itemSelector,this.el.dom));this.updateIndexes(0)},prepareData:function(B){return B},collectData:function(J,G){var H=[];for(var I=0,F=J.length;I<F;I++){H[H.length]=this.prepareData(J[I].data,G+I,J[I])}return H},bufferRender:function(C){var D=document.createElement("div");this.tpl.overwrite(D,this.collectData(C));return Ext.query(this.itemSelector,D)},onUpdate:function(H,G){var L=this.store.indexOf(G);var I=this.isSelected(L);var K=this.all.elements[L];var J=this.bufferRender([G],L)[0];this.all.replaceElement(L,J,true);if(I){this.selected.replaceElement(K,J);this.all.item(L).addClass(this.selectedClass)}this.updateIndexes(L,L)},onAdd:function(I,K,J){if(this.all.getCount()==0){this.refresh();return }var L=this.bufferRender(K,J),H,G=this.all.elements;if(J<this.all.getCount()){H=this.all.item(J).insertSibling(L,"before",true);G.splice.apply(G,[J,0].concat(L))}else{H=this.all.last().insertSibling(L,"after",true);G.push.apply(G,L)}this.updateIndexes(J)},onRemove:function(E,D,F){this.deselect(F);this.all.removeElement(F,true);this.updateIndexes(F)},refreshNode:function(B){this.onUpdate(this.store,this.store.getAt(B))},updateIndexes:function(F,G){var H=this.all.elements;F=F||0;G=G||((G===0)?0:(H.length-1));for(var E=F;E<=G;E++){H[E].viewIndex=E}},setStore:function(C,D){if(!D&&this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("datachanged",this.refresh,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(C){C=Ext.StoreMgr.lookup(C);C.on("beforeload",this.onBeforeLoad,this);C.on("datachanged",this.refresh,this);C.on("add",this.onAdd,this);C.on("remove",this.onRemove,this);C.on("update",this.onUpdate,this);C.on("clear",this.refresh,this)}this.store=C;if(C){this.refresh()}},findItemFromChild:function(B){return Ext.fly(B).findParent(this.itemSelector,this.el)},onClick:function(E){var F=E.getTarget(this.itemSelector,this.el);if(F){var D=this.indexOf(F);if(this.onItemClick(F,D,E)!==false){this.fireEvent("click",this,D,F,E)}}else{if(this.fireEvent("containerclick",this,E)!==false){this.clearSelections()}}},onContextMenu:function(D){var C=D.getTarget(this.itemSelector,this.el);if(C){this.fireEvent("contextmenu",this,this.indexOf(C),C,D)}},onDblClick:function(D){var C=D.getTarget(this.itemSelector,this.el);if(C){this.fireEvent("dblclick",this,this.indexOf(C),C,D)}},onMouseOver:function(D){var C=D.getTarget(this.itemSelector,this.el);if(C&&C!==this.lastItem){this.lastItem=C;Ext.fly(C).addClass(this.overClass)}},onMouseOut:function(B){if(this.lastItem){if(!B.within(this.lastItem,true)){Ext.fly(this.lastItem).removeClass(this.overClass);delete this.lastItem}}},onItemClick:function(F,D,E){if(this.fireEvent("beforeclick",this,D,F,E)===false){return false}if(this.multiSelect){this.doMultiSelection(F,D,E);E.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(F,D,E);E.preventDefault()}}return true},doSingleSelection:function(F,D,E){if(E.ctrlKey&&this.isSelected(D)){this.deselect(D)}else{this.select(D,false)}},doMultiSelection:function(G,E,F){if(F.shiftKey&&this.last!==false){var H=this.last;this.selectRange(H,E,F.ctrlKey);this.last=H}else{if((F.ctrlKey||this.simpleSelect)&&this.isSelected(E)){this.deselect(E)}else{this.select(E,F.ctrlKey||F.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var H=[],F=this.selected.elements;for(var G=0,E=F.length;G<E;G++){H.push(F[G].viewIndex)}return H},getSelectedRecords:function(){var F=[],G=this.selected.elements;for(var H=0,E=G.length;H<E;H++){F[F.length]=this.store.getAt(G[H].viewIndex)}return F},getRecords:function(J){var G=[],H=J;for(var I=0,F=H.length;I<F;I++){G[G.length]=this.store.getAt(H[I].viewIndex)}return G},getRecord:function(B){return this.store.getAt(B.viewIndex)},clearSelections:function(C,D){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!D){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!C){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(B){return this.selected.contains(this.getNode(B))},deselect:function(B){if(this.isSelected(B)){var 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(J,H,L){if(Ext.isArray(J)){if(!H){this.clearSelections(true)}for(var K=0,G=J.length;K<G;K++){this.select(J[K],true,true)}if(!L){this.fireEvent("selectionchange",this,this.selected.elements)}}else{var I=this.getNode(J);if(!H){this.clearSelections(true)}if(I&&!this.isSelected(I)){if(this.fireEvent("beforeselect",this,I,this.selected.elements)!==false){Ext.fly(I).addClass(this.selectedClass);this.selected.add(I);this.last=I.viewIndex;if(!L){this.fireEvent("selectionchange",this,this.selected.elements)}}}}},selectRange:function(E,D,F){if(!F){this.clearSelections(true)}this.select(this.getNodes(E,D),true)},getNode:function(B){if(typeof B=="string"){return document.getElementById(B)}else{if(typeof B=="number"){return this.all.elements[B]}}return B},getNodes:function(G,F){var H=this.all.elements;G=G||0;F=typeof F=="undefined"?H.length-1:F;var J=[],I;if(G<=F){for(I=G;I<=F;I++){J.push(H[I])}}else{for(I=G;I>=F;I--){J.push(H[I])}}return J},indexOf:function(B){B=this.getNode(B);if(typeof B.viewIndex=="number"){return B.viewIndex}return this.all.indexOf(B)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.el.update('<div class="loading-indicator">'+this.loadingText+"</div>");this.all.clear()}},onDestroy:function(){Ext.DataView.superclass.onDestroy.call(this);this.setStore(null)}});Ext.reg("dataview",Ext.DataView);Ext.ColorPalette=function(B){Ext.ColorPalette.superclass.constructor.call(this,B);this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope,true)}};Ext.extend(Ext.ColorPalette,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"],onRender:function(H,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>');var F=document.createElement("div");F.className=this.itemCls;G.overwrite(F,this.colors);H.dom.insertBefore(F,E);this.el=Ext.get(F);this.el.on(this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.el.on("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)}},handleClick:function(F,D){F.preventDefault();if(!this.disabled){var E=D.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(E.toUpperCase())}},select:function(C){C=C.replace("#","");if(C!=this.value||this.allowReselect){var D=this.el;if(this.value){D.child("a.color-"+this.value).removeClass("x-color-palette-sel")}D.child("a.color-"+C).addClass("x-color-palette-sel");this.value=C;this.fireEvent("select",this,C)}}});Ext.reg("colorpalette",Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.Component,{todayText:"Today",okText:"&#160;OK&#160;",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minDate:null,maxDate:null,minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDays:null,disabledDaysText:"",disabledDatesRE:null,disabledDatesText:"",constrainToViewport:true,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,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime():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;var E="(?:";for(var F=0;F<D.length;F++){E+=D[F];if(F!=D.length-1){E+="|"}}this.disabledDatesRE=new RegExp(E+")")}},setValue:function(D){var C=this.value;this.value=D.clearTime(true);if(this.el){this.update(this.value)}},getValue:function(){return this.value},focus:function(){if(this.el){this.update(this.activeDate)}},onRender:function(M,Q){var K=['<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>'];var R=this.dayNames;for(var J=0;J<7;J++){var P=this.startDay+J;if(P>6){P=P-7}K.push("<th><span>",R[P].substr(0,1),"</span></th>")}K[K.length]="</tr></thead><tbody><tr>";for(var J=0;J<42;J++){if(J%7==0&&J!=0){K[K.length]="</tr><tr>"}K[K.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'}K[K.length]='</tr></tbody></table></td></tr><tr><td colspan="3" class="x-date-bottom" align="center"></td></tr></table><div class="x-date-mp"></div>';var L=document.createElement("div");L.className="x-date-picker";L.innerHTML=K.join("");M.dom.insertBefore(L,Q);this.el=Ext.get(L);this.eventEl=Ext.get(L.firstChild);new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.eventEl.on("mousewheel",this.handleMouseWheel,this);this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");var N=new Ext.KeyNav(this.eventEl,{left:function(A){A.ctrlKey?this.showPrevMonth():this.update(this.activeDate.add("d",-1))},right:function(A){A.ctrlKey?this.showNextMonth():this.update(this.activeDate.add("d",1))},up:function(A){A.ctrlKey?this.showNextYear():this.update(this.activeDate.add("d",-7))},down:function(A){A.ctrlKey?this.showPrevYear():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.eventEl.on("click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,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.on("click",this.showMonthPicker,this);this.mbtn.el.child(this.mbtn.menuClassTarget).addClass("x-btn-with-menu");var O=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,O),tooltip:String.format(this.todayTip,O),handler:this.selectToday,scope:this});if(Ext.isIE){this.el.repaint()}this.update(this.value)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var C=['<table border="0" cellspacing="0">'];for(var D=0;D<6;D++){C.push('<tr><td class="x-date-mp-month"><a href="#">',this.monthNames[D].substr(0,3),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',this.monthNames[D+6].substr(0,3),"</a></td>",D==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>')}C.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(C.join(""));this.monthPicker.on("click",this.onMonthClick,this);this.monthPicker.on("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(F,B,A){A+=1;if((A%2)==0){F.dom.xmonth=5+Math.round(A*0.5)}else{F.dom.xmonth=Math.round((A-1)*0.5)}})}},showMonthPicker:function(){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(G){this.mpyear=G;var I=this.mpYears.elements;for(var J=1;J<=10;J++){var H=I[J-1],F;if((J%2)==0){F=G+Math.round(J*0.5);H.firstChild.innerHTML=F;H.xyear=F}else{F=G-(5-Math.round(J*0.5));H.firstChild.innerHTML=F;H.xyear=F}this.mpYears.item(J-1)[F==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(B){this.mpMonths.each(function(F,E,A){F[F.dom.xmonth==B?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(B){},onMonthClick:function(H,J){H.stopEvent();var I=new Ext.Element(J),F;if(I.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(I.is("button.x-date-mp-ok")){var G=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(G.getMonth()!=this.mpSelMonth){G=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(G);this.hideMonthPicker()}else{if(F=I.up("td.x-date-mp-month",2)){this.mpMonths.removeClass("x-date-mp-sel");F.addClass("x-date-mp-sel");this.mpSelMonth=F.dom.xmonth}else{if(F=I.up("td.x-date-mp-year",2)){this.mpYears.removeClass("x-date-mp-sel");F.addClass("x-date-mp-sel");this.mpSelYear=F.dom.xyear}else{if(I.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(I.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(F,H){F.stopEvent();var G=new Ext.Element(H),E;if(E=G.up("td.x-date-mp-month",2)){this.update(new Date(this.mpSelYear,E.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if(E=G.up("td.x-date-mp-year",2)){this.update(new Date(E.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(C){var D=C.getWheelDelta();if(D>0){this.showPrevMonth();C.stopEvent()}else{if(D<0){this.showNextMonth();C.stopEvent()}}},handleDateClick:function(D,C){D.stopEvent();if(C.dateValue&&!Ext.fly(C.parentNode).hasClass("x-date-disabled")){this.setValue(new Date(C.dateValue));this.fireEvent("select",this,this.value)}},selectToday:function(){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)},update:function(d){var AB=this.activeDate;this.activeDate=d;if(AB&&this.el){var t=d.getTime();if(AB.getMonth()==d.getMonth()&&AB.getFullYear()==d.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(A){if(A.dom.firstChild.dateValue==t){A.addClass("x-date-selected");setTimeout(function(){try{A.dom.firstChild.focus()}catch(B){}},50);return false}});return }}var w=d.getDaysInMonth();var s=d.getFirstDateOfMonth();var z=s.getDay()-this.startDay;if(z<=this.startDay){z+=7}var i=d.add("mo",-1);var y=i.getDaysInMonth()-z;var AA=this.cells.elements;var r=this.textNodes;w+=z;var m=86400000;var g=(new Date(i.getFullYear(),i.getMonth(),y)).clearTime();var h=new Date().clearTime().getTime();var o=d.clearTime().getTime();var p=this.minDate?this.minDate.clearTime():Number.NEGATIVE_INFINITY;var l=this.maxDate?this.maxDate.clearTime():Number.POSITIVE_INFINITY;var c=this.disabledDatesRE;var q=this.disabledDatesText;var a=this.disabledDays?this.disabledDays.join(""):false;var e=this.disabledDaysText;var k=this.format;var v=function(C,B){B.title="";var A=g.getTime();B.firstChild.dateValue=A;if(A==h){B.className+=" x-date-today";B.title=C.todayText}if(A==o){B.className+=" x-date-selected";setTimeout(function(){try{B.firstChild.focus()}catch(E){}},50)}if(A<p){B.className=" x-date-disabled";B.title=C.minText;return }if(A>l){B.className=" x-date-disabled";B.title=C.maxText;return }if(a){if(a.indexOf(g.getDay())!=-1){B.title=e;B.className=" x-date-disabled"}}if(c&&k){var D=g.dateFormat(k);if(c.test(D)){B.title=q.replace("%0",D);B.className=" x-date-disabled"}}};var n=0;for(;n<z;n++){r[n].innerHTML=(++y);g.setDate(g.getDate()+1);AA[n].className="x-date-prevday";v(this,AA[n])}for(;n<w;n++){intDay=n-z+1;r[n].innerHTML=(intDay);g.setDate(g.getDate()+1);AA[n].className="x-date-active";v(this,AA[n])}var b=0;for(;n<42;n++){r[n].innerHTML=(++b);g.setDate(g.getDate()+1);AA[n].className="x-date-nextday";v(this,AA[n])}this.mbtn.setText(this.monthNames[d.getMonth()]+" "+d.getFullYear());if(!this.internalRender){var x=this.el.dom.firstChild;var u=x.offsetWidth;this.el.setWidth(u+this.el.getBorderWidth("lr"));Ext.fly(x).setWidth(u);this.internalRender=true;if(Ext.isOpera&&!this.secondPass){x.rows[0].cells[1].style.width=(u-(x.rows[0].cells[0].offsetWidth+x.rows[0].cells[2].offsetWidth))+"px";this.secondPass=true;this.update.defer(10,this,[d])}}},beforeDestroy:function(){if(this.rendered){this.mbtn.destroy();this.todayBtn.destroy()}}});Ext.reg("datepicker",Ext.DatePicker);Ext.TabPanel=Ext.extend(Ext.Panel,{monitorResize:true,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:null,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({deferredRender:this.deferredRender}));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()},render:function(){Ext.TabPanel.superclass.render.apply(this,arguments);if(this.activeTab!==undefined){var B=this.activeTab;delete this.activeTab;this.setActiveTab(B)}},onRender:function(I,F){Ext.TabPanel.superclass.onRender.call(this,I,F);if(this.plain){var G=this.tabPosition=="top"?"header":"footer";this[G].addClass("x-tab-panel-"+G+"-plain")}var J=this[this.stripTarget];this.stripWrap=J.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});this.stripSpacer=J.createChild({cls:"x-tab-strip-spacer"});this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:"li",cls:"x-tab-edge"});this.strip.createChild({cls:"x-clear"});this.body.addClass("x-tab-panel-body-"+this.tabPosition);if(!this.itemTpl){var H=new Ext.Template('<li class="{cls}" id="{id}"><a class="x-tab-strip-close" onclick="return false;"></a>','<a class="x-tab-right" href="#" onclick="return false;"><em class="x-tab-left">','<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',"</em></a></li>");H.disableFormats=true;H.compile();Ext.TabPanel.prototype.itemTpl=H}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.on("add",this.onAdd,this);this.on("remove",this.onRemove,this);this.strip.on("mousedown",this.onStripMouseDown,this);this.strip.on("click",this.onStripClick,this);this.strip.on("contextmenu",this.onStripContextMenu,this);if(this.enableTabScroll){this.strip.on("mousewheel",this.onWheel,this)}},findTargets:function(E){var F=null;var D=E.getTarget("li",this.strip);if(D){F=this.getComponent(D.id.split(this.idDelimiter)[1]);if(F.disabled){return{close:null,item:null,el:null}}}return{close:E.getTarget(".x-tab-strip-close",this.strip),item:F,el:D}},onStripMouseDown:function(D){D.preventDefault();if(D.button!=0){return }var C=this.findTargets(D);if(C.close){this.remove(C.item);return }if(C.item&&C.item!=this.activeTab){this.setActiveTab(C.item)}},onStripClick:function(D){var C=this.findTargets(D);if(!C.close&&C.item&&C.item!=this.activeTab){this.setActiveTab(C.item)}},onStripContextMenu:function(D){D.preventDefault();var C=this.findTargets(D);if(C.item){this.fireEvent("contextmenu",this,C.item,D)}},readTabs:function(J){if(J===true){this.items.each(function(A){this.remove(A)},this)}var K=this.el.query(this.autoTabSelector);for(var L=0,G=K.length;L<G;L++){var I=K[L];var H=I.getAttribute("title");I.removeAttribute("title");this.add({title:H,el:I})}},initTab:function(J,L){var I=this.strip.dom.childNodes[L];var G=J.closable?"x-tab-strip-closable":"";if(J.disabled){G+=" x-item-disabled"}if(J.iconCls){G+=" x-tab-with-icon"}if(J.tabCls){G+=" "+J.tabCls}var H={id:this.id+this.idDelimiter+J.getItemId(),text:J.title,cls:G,iconCls:J.iconCls||""};var K=I?this.itemTpl.insertBefore(I,H):this.itemTpl.append(this.strip,H);Ext.fly(K).addClassOnOver("x-tab-strip-over");if(J.tabTip){Ext.fly(K).child("span.x-tab-strip-text",true).qtip=J.tabTip}J.on("disable",this.onItemDisabled,this);J.on("enable",this.onItemEnabled,this);J.on("titlechange",this.onItemTitleChanged,this);J.on("beforeshow",this.onBeforeShowItem,this)},onAdd:function(E,F,D){this.initTab(F,D);if(this.items.getCount()==1){this.syncSize()}this.delegateUpdates()},onBeforeAdd:function(F){var D=F.events?(this.items.containsKey(F.getItemId())?F:null):this.items.get(F);if(D){this.setActiveTab(F);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var E=F.elements;F.elements=E?E.replace(",header",""):E;F.border=(F.border===true)},onRemove:function(E,F){Ext.removeNode(this.getTabEl(F));this.stack.remove(F);F.un("disable",this.onItemDisabled,this);F.un("enable",this.onItemEnabled,this);F.un("titlechange",this.onItemTitleChanged,this);F.un("beforeshow",this.onBeforeShowItem,this);if(F==this.activeTab){var D=this.stack.next();if(D){this.setActiveTab(D)}else{this.setActiveTab(0)}}this.delegateUpdates()},onBeforeShowItem:function(B){if(B!=this.activeTab){this.setActiveTab(B);return false}},onItemDisabled:function(D){var C=this.getTabEl(D);if(C){Ext.fly(C).addClass("x-item-disabled")}this.stack.remove(D)},onItemEnabled:function(D){var C=this.getTabEl(D);if(C){Ext.fly(C).removeClass("x-item-disabled")}},onItemTitleChanged:function(D){var C=this.getTabEl(D);if(C){Ext.fly(C).child("span.x-tab-strip-text",true).innerHTML=D.title}},getTabEl:function(C){var D=(typeof C==="number")?this.items.items[C].getItemId():C.getItemId();return document.getElementById(this.id+this.idDelimiter+D)},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(D){D=this.getComponent(D);var C=this.getTabEl(D);if(C){C.style.display="none";this.delegateUpdates()}this.stack.remove(D)},unhideTabStripItem:function(D){D=this.getComponent(D);var C=this.getTabEl(D);if(C){C.style.display="";this.delegateUpdates()}},delegateUpdates:function(){if(this.suspendUpdates){return }if(this.resizeTabs&&this.rendered){this.autoSizeTabs()}if(this.enableTabScroll&&this.rendered){this.autoScrollTabs()}},autoSizeTabs:function(){var V=this.items.length;var O=this.tabPosition!="bottom"?"header":"footer";var N=this[O].dom.offsetWidth;var P=this[O].dom.clientWidth;if(!this.resizeTabs||V<1||!P){return }var T=Math.max(Math.min(Math.floor((P-4)/V)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=T;var R=this.stripWrap.dom.getElementsByTagName("li");for(var X=0,U=R.length-1;X<U;X++){var S=R[X];var Q=S.childNodes[1].firstChild.firstChild;var W=S.offsetWidth;var M=Q.offsetWidth;Q.style.width=(T-(W-M))+"px"}},adjustBodyWidth:function(B){if(this.header){this.header.setWidth(B)}if(this.footer){this.footer.setWidth(B)}return B},setActiveTab:function(E){E=this.getComponent(E);if(!E||this.fireEvent("beforetabchange",this,E,this.activeTab)===false){return }if(!this.rendered){this.activeTab=E;return }if(this.activeTab!=E){if(this.activeTab){var D=this.getTabEl(this.activeTab);if(D){Ext.fly(D).removeClass("x-tab-strip-active")}this.activeTab.fireEvent("deactivate",this.activeTab)}var F=this.getTabEl(E);Ext.fly(F).addClass("x-tab-strip-active");this.activeTab=E;this.stack.add(E);this.layout.setActiveItem(E);if(this.layoutOnTabChange&&E.doLayout){E.doLayout()}if(this.scrolling){this.scrollToTab(E,this.animScroll)}E.fireEvent("activate",E);this.fireEvent("tabchange",this,E)}},getActiveTab:function(){return this.activeTab||null},getItem:function(B){return this.getComponent(B)},autoScrollTabs:function(){var K=this.items.length;var N=this.header.dom.offsetWidth;var O=this.header.dom.clientWidth;var L=this.stripWrap;var M=L.dom;var P=M.offsetWidth;var J=this.getScrollPos();var I=this.edge.getOffsetsTo(this.stripWrap)[0]+J;if(!this.enableTabScroll||K<1||P<20){return }if(I<=O){M.scrollLeft=0;L.setWidth(O);if(this.scrolling){this.scrolling=false;this.header.removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir){M.style.marginLeft="";M.style.marginRight=""}}}else{if(!this.scrolling){this.header.addClass("x-tab-scrolling");if(Ext.isAir){M.style.marginLeft="18px";M.style.marginRight="18px"}}O-=L.getMargins("lr");L.setWidth(O>20?O:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(J>(I-O)){M.scrollLeft=I-O}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){var E=this.stripWrap.dom.offsetHeight;var D=this.header.insertFirst({cls:"x-tab-scroller-left"});D.setHeight(E);D.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(D,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=D;var F=this.header.insertFirst({cls:"x-tab-scroller-right"});F.setHeight(E);F.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(F,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=F},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(K,H){if(!K){return }var M=this.getTabEl(K);var I=this.getScrollPos(),L=this.getScrollArea();var J=Ext.fly(M).getOffsetsTo(this.stripWrap)[0]+I;var N=J+M.offsetWidth;if(J<I){this.scrollTo(J,H)}else{if(N>(I+L)){this.scrollTo(N-L,H)}}},scrollTo:function(D,C){this.stripWrap.scrollTo("left",D,C?this.getScrollAnim():false);if(!C){this.updateScrollButtons()}},onWheel:function(J){var I=J.getWheelDelta()*this.wheelIncrement*-1;J.stopEvent();var H=this.getScrollPos();var K=H+I;var G=this.getScrollWidth()-this.getScrollArea();var L=Math.max(0,Math.min(G,K));if(L!=H){this.scrollTo(L,false)}},onScrollRight:function(){var D=this.getScrollWidth()-this.getScrollArea();var E=this.getScrollPos();var F=Math.min(D,E+this.getScrollIncrement());if(F!=E){this.scrollTo(F,this.animScroll)}},onScrollLeft:function(){var D=this.getScrollPos();var C=Math.max(0,D-this.getScrollIncrement());if(C!=D){this.scrollTo(C,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")}});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(A){var F=[];for(var G=0,H=B.length;G<H;G++){if(B[G]!=A){F.push(B[G])}}B=F},next:function(){return B.pop()}}};Ext.Button=Ext.extend(Ext.Component,{hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",type:"button",menuClassTarget:"tr",clickEvent:"click",handleMouseEvents:true,tooltipType:"qtip",buttonSelector:"button:first",initComponent:function(){Ext.Button.superclass.initComponent.call(this);this.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}if(typeof this.toggleGroup==="string"){this.enableToggle=true}},onRender:function(I,F){if(!this.template){if(!Ext.Button.buttonTemplate){Ext.Button.buttonTemplate=new Ext.Template('<table border="0" cellpadding="0" cellspacing="0" class="x-btn-wrap"><tbody><tr>','<td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><em unselectable="on"><button class="x-btn-text" type="{1}">{0}</button></em></td><td class="x-btn-right"><i>&#160;</i></td>',"</tr></tbody></table>")}this.template=Ext.Button.buttonTemplate}var J,G=[this.text||"&#160;",this.type];if(F){J=this.template.insertBefore(F,G,true)}else{J=this.template.append(I,G,true)}var H=J.child(this.buttonSelector);H.on("focus",this.onFocus,this);H.on("blur",this.onBlur,this);this.initButtonEl(J,H);if(this.menu){this.el.child(this.menuClassTarget).addClass("x-btn-with-menu")}Ext.ButtonToggleMgr.register(this)},initButtonEl:function(F,E){this.el=F;F.addClass("x-btn");if(this.icon){E.setStyle("background-image","url("+this.icon+")")}if(this.iconCls){E.addClass(this.iconCls);if(!this.cls){F.addClass(this.text?"x-btn-text-icon":"x-btn-icon")}}if(this.tabIndex!==undefined){E.dom.tabIndex=this.tabIndex}if(this.tooltip){if(typeof this.tooltip=="object"){Ext.QuickTips.register(Ext.apply({target:E.id},this.tooltip))}else{E.dom[this.tooltipType]=this.tooltip}}if(this.pressed){this.el.addClass("x-btn-pressed")}if(this.handleMouseEvents){F.on("mouseover",this.onMouseOver,this);F.on("mousedown",this.onMouseDown,this)}if(this.menu){this.menu.on("show",this.onMenuShow,this);this.menu.on("hide",this.onMenuHide,this)}if(this.id){this.el.dom.id=this.el.id=this.id}if(this.repeat){var D=new Ext.util.ClickRepeater(F,typeof this.repeat=="object"?this.repeat:{});D.on("click",this.onClick,this)}F.on(this.clickEvent,this.onClick,this)},afterRender:function(){Ext.Button.superclass.afterRender.call(this);if(Ext.isIE6){this.autoWidth.defer(1,this)}else{this.autoWidth()}},setIconClass:function(B){if(this.el){this.el.child(this.buttonSelector).replaceClass(this.iconCls,B)}this.iconCls=B},beforeDestroy:function(){if(this.rendered){var B=this.el.child(this.buttonSelector);if(B){B.removeAllListeners()}}if(this.menu){Ext.destroy(this.menu)}},onDestroy:function(){if(this.rendered){Ext.ButtonToggleMgr.unregister(this)}},autoWidth:function(){if(this.el){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var B=this.el.child(this.buttonSelector);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(D,C){this.handler=D;this.scope=C},setText:function(B){this.text=B;if(this.el){this.el.child("td.x-btn-center "+this.buttonSelector).update(B)}this.autoWidth()},getText:function(){return this.text},toggle:function(B){B=B===undefined?!this.pressed:B;if(B!=this.pressed){if(B){this.el.addClass("x-btn-pressed");this.pressed=true;this.fireEvent("toggle",this,true)}else{this.el.removeClass("x-btn-pressed");this.pressed=false;this.fireEvent("toggle",this,false)}if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,B)}}},focus:function(){this.el.child(this.buttonSelector).focus()},onDisable:function(){if(this.el){if(!Ext.isIE6||!this.text){this.el.addClass(this.disabledClass)}this.el.dom.disabled=true}this.disabled=true},onEnable:function(){if(this.el){if(!Ext.isIE6||!this.text){this.el.removeClass(this.disabledClass)}this.el.dom.disabled=false}this.disabled=false},showMenu:function(){if(this.menu){this.menu.show(this.el,this.menuAlign)}return this},hideMenu:function(){if(this.menu){this.menu.hide()}return this},hasVisibleMenu:function(){return this.menu&&this.menu.isVisible()},onClick:function(B){if(B){B.preventDefault()}if(B.button!=0){return }if(!this.disabled){if(this.enableToggle&&(this.allowDepress!==false||!this.pressed)){this.toggle()}if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("click",this,B);if(this.handler){this.handler.call(this.scope||this,this,B)}}},isMenuTriggerOver:function(D,C){return this.menu&&!C},isMenuTriggerOut:function(D,C){return this.menu&&!C},onMouseOver:function(D){if(!this.disabled){var C=D.within(this.el,true);if(!C){this.el.addClass("x-btn-over");Ext.getDoc().on("mouseover",this.monitorMouseOver,this);this.fireEvent("mouseover",this,D)}if(this.isMenuTriggerOver(D,C)){this.fireEvent("menutriggerover",this,this.menu,D)}}},monitorMouseOver:function(B){if(B.target!=this.el.dom&&!B.within(this.el)){Ext.getDoc().un("mouseover",this.monitorMouseOver,this);this.onMouseOut(B)}},onMouseOut:function(D){var C=D.within(this.el)&&D.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent("mouseout",this,D);if(this.isMenuTriggerOut(D,C)){this.fireEvent("menutriggerout",this,this.menu,D)}},onFocus:function(B){if(!this.disabled){this.el.addClass("x-btn-focus")}},onBlur:function(B){this.el.removeClass("x-btn-focus")},getClickEl:function(D,C){return this.el},onMouseDown:function(B){if(!this.disabled&&B.button==0){this.getClickEl(B).addClass("x-btn-click");Ext.getDoc().on("mouseup",this.onMouseUp,this)}},onMouseUp:function(B){if(B.button==0){this.getClickEl(B,true).removeClass("x-btn-click");Ext.getDoc().un("mouseup",this.onMouseUp,this)}},onMenuShow:function(B){this.ignoreNextClick=0;this.el.addClass("x-btn-menu-active");this.fireEvent("menushow",this,this.menu)},onMenuHide:function(B){this.el.removeClass("x-btn-menu-active");this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent("menuhide",this,this.menu)},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg("button",Ext.Button);Ext.ButtonToggleMgr=function(){var C={};function D(H,A){if(A){var B=C[H.toggleGroup];for(var I=0,J=B.length;I<J;I++){if(B[I]!=H){B[I].toggle(false)}}}}return{register:function(B){if(!B.toggleGroup){return }var A=C[B.toggleGroup];if(!A){A=C[B.toggleGroup]=[]}A.push(B);B.on("toggle",D)},unregister:function(B){if(!B.toggleGroup){return }var A=C[B.toggleGroup];if(A){A.remove(B);B.un("toggle",D)}}}}();Ext.SplitButton=Ext.extend(Ext.Button,{arrowSelector:"button:last",initComponent:function(){Ext.SplitButton.superclass.initComponent.call(this);this.addEvents("arrowclick")},onRender:function(J,G){var L=new Ext.Template('<table cellspacing="0" class="x-btn-menu-wrap x-btn"><tr><td>','<table cellspacing="0" class="x-btn-wrap x-btn-menu-text-wrap"><tbody>','<tr><td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><button class="x-btn-text" type="{1}">{0}</button></td></tr>',"</tbody></table></td><td>",'<table cellspacing="0" class="x-btn-wrap x-btn-menu-arrow-wrap"><tbody>','<tr><td class="x-btn-center"><button class="x-btn-menu-arrow-el" type="button">&#160;</button></td><td class="x-btn-right"><i>&#160;</i></td></tr>',"</tbody></table></td></tr></table>");var K,H=[this.text||"&#160;",this.type];if(G){K=L.insertBefore(G,H,true)}else{K=L.append(J,H,true)}var I=K.child(this.buttonSelector);this.initButtonEl(K,I);this.arrowBtnTable=K.child("table:last");if(this.arrowTooltip){K.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip}},autoWidth:function(){if(this.el){var E=this.el.child("table:first");var F=this.el.child("table:last");this.el.setWidth("auto");E.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var D=this.el.child(this.buttonSelector);if(D&&D.getWidth()>20){D.clip();D.setWidth(Ext.util.TextMetrics.measure(D,this.text).width+D.getFrameWidth("lr"))}}if(this.minWidth){if((E.getWidth()+F.getWidth())<this.minWidth){E.setWidth(this.minWidth-F.getWidth())}}this.el.setWidth(E.getWidth()+F.getWidth())}},setArrowHandler:function(D,C){this.arrowHandler=D;this.scope=C},onClick:function(B){B.preventDefault();if(!this.disabled){if(B.getTarget(".x-btn-menu-arrow-wrap")){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("arrowclick",this,B);if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,B)}}else{if(this.enableToggle){this.toggle()}this.fireEvent("click",this,B);if(this.handler){this.handler.call(this.scope||this,this,B)}}}},getClickEl:function(D,C){if(!C){return(this.lastClickEl=D.getTarget("table",10,true))}return this.lastClickEl},onDisable:function(){if(this.el){if(!Ext.isIE6){this.el.addClass("x-item-disabled")}this.el.child(this.buttonSelector).dom.disabled=true;this.el.child(this.arrowSelector).dom.disabled=true}this.disabled=true},onEnable:function(){if(this.el){if(!Ext.isIE6){this.el.removeClass("x-item-disabled")}this.el.child(this.buttonSelector).dom.disabled=false;this.el.child(this.arrowSelector).dom.disabled=false}this.disabled=false},isMenuTriggerOver:function(B){return this.menu&&B.within(this.arrowBtnTable)&&!B.within(this.arrowBtnTable,true)},isMenuTriggerOut:function(D,C){return this.menu&&!D.within(this.arrowBtnTable)},onDestroy:function(){Ext.destroy(this.arrowBtnTable);Ext.SplitButton.superclass.onDestroy.call(this)}});Ext.MenuButton=Ext.SplitButton;Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(C){if(C&&this.showText===true){var D="";if(this.prependText){D+=this.prependText}D+=C.text;return D}return undefined},setActiveItem:function(E,D){if(typeof E!="object"){E=this.menu.items.get(E)}if(E){if(!this.rendered){this.text=this.getItemText(E);this.iconCls=E.iconCls}else{var F=this.getItemText(E);if(F){this.setText(F)}this.setIconClass(E.iconCls)}this.activeItem=E;if(!E.checked){E.setChecked(true,true)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!D){this.fireEvent("change",this,E)}}},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 F;for(var H=0,E=this.itemCount;H<E;H++){var G=this.items[H];G.group=G.group||this.id;G.itemIndex=H;G.checkHandler=this.checkHandler;G.scope=this;G.checked=G.checked||false;this.menu.items.push(G);if(G.checked){F=G}}this.setActiveItem(F,true);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this)},checkHandler:function(C,D){if(D){this.setActiveItem(C)}},toggleSelected:function(){this.menu.render();var E,D;for(var F=1;F<this.itemCount;F++){E=(this.activeItem.itemIndex+F)%this.itemCount;D=this.menu.items.itemAt(E);if(!D.disabled){D.setChecked(true);break}}}});Ext.reg("cycle",Ext.CycleButton);Ext.Toolbar=function(B){if(Ext.isArray(B)){B={buttons:B}}Ext.Toolbar.superclass.constructor.call(this,B)};(function(){var B=Ext.Toolbar;Ext.extend(B,Ext.BoxComponent,{trackMenus:true,initComponent:function(){B.superclass.initComponent.call(this);if(this.items){this.buttons=this.items}this.items=new Ext.util.MixedCollection(false,function(A){return A.itemId||A.id||Ext.id()})},autoCreate:{cls:"x-toolbar x-small-editor",html:'<table cellspacing="0"><tr></tr></table>'},onRender:function(A,D){this.el=A.createChild(Ext.apply({id:this.id},this.autoCreate),D);this.tr=this.el.child("tr",true)},afterRender:function(){B.superclass.afterRender.call(this);if(this.buttons){this.add.apply(this,this.buttons);delete this.buttons}},add:function(){var G=arguments,H=G.length;for(var F=0;F<H;F++){var A=G[F];if(A.isFormField){this.addField(A)}else{if(A.render){this.addItem(A)}else{if(typeof A=="string"){if(A=="separator"||A=="-"){this.addSeparator()}else{if(A==" "){this.addSpacer()}else{if(A=="->"){this.addFill()}else{this.addText(A)}}}}else{if(A.tagName){this.addElement(A)}else{if(typeof A=="object"){if(A.xtype){this.addField(Ext.ComponentMgr.create(A,"button"))}else{this.addButton(A)}}}}}}}},addSeparator:function(){return this.addItem(new B.Separator())},addSpacer:function(){return this.addItem(new B.Spacer())},addFill:function(){return this.addItem(new B.Fill())},addElement:function(A){return this.addItem(new B.Item(A))},addItem:function(D){var A=this.nextBlock();this.initMenuTracking(D);D.render(A);this.items.add(D);return D},addButton:function(J){if(Ext.isArray(J)){var H=[];for(var I=0,K=J.length;I<K;I++){H.push(this.addButton(J[I]))}return H}var L=J;if(!(J instanceof B.Button)){L=J.split?new B.SplitButton(J):new B.Button(J)}var A=this.nextBlock();this.initMenuTracking(L);L.render(A);this.items.add(L);return L},initMenuTracking:function(A){if(this.trackMenus&&A.menu){A.on({menutriggerover:this.onButtonTriggerOver,menushow:this.onButtonMenuShow,menuhide:this.onButtonMenuHide,scope:this})}},addText:function(A){return this.addItem(new B.TextItem(A))},insertButton:function(K,H){if(Ext.isArray(H)){var I=[];for(var J=0,L=H.length;J<L;J++){I.push(this.insertButton(K+J,H[J]))}return I}if(!(H instanceof B.Button)){H=new B.Button(H)}var A=document.createElement("td");this.tr.insertBefore(A,this.tr.childNodes[K]);this.initMenuTracking(H);H.render(A);this.items.insert(K,H);return H},addDom:function(G,H){var A=this.nextBlock();Ext.DomHelper.overwrite(A,G);var F=new B.Item(A.firstChild);F.render(A);this.items.add(F);return F},addField:function(E){var A=this.nextBlock();E.render(A);var F=new B.Item(A.firstChild);F.render(A);this.items.add(F);return F},nextBlock:function(){var A=document.createElement("td");this.tr.appendChild(A);return A},onDestroy:function(){Ext.Toolbar.superclass.onDestroy.call(this);if(this.rendered){if(this.items){Ext.destroy.apply(Ext,this.items.items)}Ext.Element.uncache(this.tr)}},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=function(A){this.el=Ext.getDom(A);this.id=Ext.id(this.el);this.hidden=false};B.Item.prototype={getEl:function(){return this.el},render:function(A){this.td=A;A.appendChild(this.el)},destroy:function(){if(this.td&&this.td.parentNode){this.td.parentNode.removeChild(this.td)}},show:function(){this.hidden=false;this.td.style.display=""},hide:function(){this.hidden=true;this.td.style.display="none"},setVisible:function(A){if(A){this.show()}else{this.hide()}},focus:function(){Ext.fly(this.el).focus()},disable:function(){Ext.fly(this.td).addClass("x-item-disabled");this.disabled=true;this.el.disabled=true},enable:function(){Ext.fly(this.td).removeClass("x-item-disabled");this.disabled=false;this.el.disabled=false}};Ext.reg("tbitem",B.Item);B.Separator=function(){var A=document.createElement("span");A.className="ytb-sep";B.Separator.superclass.constructor.call(this,A)};Ext.extend(B.Separator,B.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbseparator",B.Separator);B.Spacer=function(){var A=document.createElement("div");A.className="ytb-spacer";B.Spacer.superclass.constructor.call(this,A)};Ext.extend(B.Spacer,B.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbspacer",B.Spacer);B.Fill=Ext.extend(B.Spacer,{render:function(A){A.style.width="100%";B.Fill.superclass.render.call(this,A)}});Ext.reg("tbfill",B.Fill);B.TextItem=function(D){var A=document.createElement("span");A.className="ytb-text";A.innerHTML=D.text?D.text:D;B.TextItem.superclass.constructor.call(this,A)};Ext.extend(B.TextItem,B.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbtext",B.TextItem);B.Button=Ext.extend(Ext.Button,{hideParent:true,onDestroy:function(){B.Button.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg("tbbutton",B.Button);B.SplitButton=Ext.extend(Ext.SplitButton,{hideParent:true,onDestroy:function(){B.SplitButton.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg("tbsplit",B.SplitButton);B.MenuButton=B.SplitButton})();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",paramNames:{start:"start",limit:"limit"},initComponent:function(){Ext.PagingToolbar.superclass.initComponent.call(this);this.cursor=0;this.bind(this.store)},onRender:function(D,C){Ext.PagingToolbar.superclass.onRender.call(this,D,C);this.first=this.addButton({tooltip:this.firstText,iconCls:"x-tbar-page-first",disabled:true,handler:this.onClick.createDelegate(this,["first"])});this.prev=this.addButton({tooltip:this.prevText,iconCls:"x-tbar-page-prev",disabled:true,handler:this.onClick.createDelegate(this,["prev"])});this.addSeparator();this.add(this.beforePageText);this.field=Ext.get(this.addDom({tag:"input",type:"text",size:"3",value:"1",cls:"x-tbar-page-number"}).el);this.field.on("keydown",this.onPagingKeydown,this);this.field.on("focus",function(){this.dom.select()});this.afterTextEl=this.addText(String.format(this.afterPageText,1));this.field.setHeight(18);this.addSeparator();this.next=this.addButton({tooltip:this.nextText,iconCls:"x-tbar-page-next",disabled:true,handler:this.onClick.createDelegate(this,["next"])});this.last=this.addButton({tooltip:this.lastText,iconCls:"x-tbar-page-last",disabled:true,handler:this.onClick.createDelegate(this,["last"])});this.addSeparator();this.loading=this.addButton({tooltip:this.refreshText,iconCls:"x-tbar-loading",handler:this.onClick.createDelegate(this,["refresh"])});if(this.displayInfo){this.displayEl=Ext.fly(this.el.dom).createChild({cls:"x-paging-info"})}if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayEl){var C=this.store.getCount();var D=C==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+C,this.store.getTotalCount());this.displayEl.update(D)}},onLoad:function(G,K,H){if(!this.rendered){this.dsLoaded=[G,K,H];return }this.cursor=H.params?H.params[this.paramNames.start]:0;var I=this.getPageData(),L=I.activePage,J=I.pages;this.afterTextEl.el.innerHTML=String.format(this.afterPageText,I.pages);this.field.dom.value=L;this.first.setDisabled(L==1);this.prev.setDisabled(L==1);this.next.setDisabled(L==J);this.last.setDisabled(L==J);this.loading.enable();this.updateInfo()},getPageData:function(){var B=this.store.getTotalCount();return{total:B,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:B<this.pageSize?1:Math.ceil(B/this.pageSize)}},onLoadError:function(){if(!this.rendered){return }this.loading.enable()},readPage:function(E){var D=this.field.dom.value,F;if(!D||isNaN(F=parseInt(D,10))){this.field.dom.value=E.activePage;return false}return F},onPagingKeydown:function(H){var J=H.getKey(),G=this.getPageData(),I;if(J==H.RETURN){H.stopEvent();if(I=this.readPage(G)){I=Math.min(Math.max(1,I),G.pages)-1;this.doLoad(I*this.pageSize)}}else{if(J==H.HOME||J==H.END){H.stopEvent();I=J==H.HOME?1:G.pages;this.field.dom.value=I}else{if(J==H.UP||J==H.PAGEUP||J==H.DOWN||J==H.PAGEDOWN){H.stopEvent();if(I=this.readPage(G)){var F=H.shiftKey?10:1;if(J==H.DOWN||J==H.PAGEDOWN){F*=-1}I+=F;if(I>=1&I<=G.pages){this.field.dom.value=I}}}}}},beforeLoad:function(){if(this.rendered&&this.loading){this.loading.disable()}},doLoad:function(E){var F={},D=this.paramNames;F[D.start]=E;F[D.limit]=this.pageSize;this.store.load({params:F})},onClick:function(G){var J=this.store;switch(G){case"first":this.doLoad(0);break;case"prev":this.doLoad(Math.max(0,this.cursor-this.pageSize));break;case"next":this.doLoad(this.cursor+this.pageSize);break;case"last":var H=J.getTotalCount();var F=H%this.pageSize;var I=F?(H-F):H-this.pageSize;this.doLoad(I);break;case"refresh":this.doLoad(this.cursor);break}},unbind:function(B){B=Ext.StoreMgr.lookup(B);B.un("beforeload",this.beforeLoad,this);B.un("load",this.onLoad,this);B.un("loadexception",this.onLoadError,this);this.store=undefined},bind:function(B){B=Ext.StoreMgr.lookup(B);B.on("beforeload",this.beforeLoad,this);B.on("load",this.onLoad,this);B.on("loadexception",this.onLoadError,this);this.store=B}});Ext.reg("paging",Ext.PagingToolbar);Ext.Resizable=function(N,Z){this.el=Ext.get(N);if(Z&&Z.wrap){Z.resizeChild=this.el;this.el=this.el.wrap(typeof Z.wrap=="object"?Z.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=Z.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(Z.resizeChild.getPositioning());Z.resizeChild.clearPositioning();if(!Z.width||!Z.height){var Y=Z.resizeChild.getSize();this.el.setSize(Y.width,Y.height)}if(Z.pinned&&!Z.adjustments){Z.adjustments="auto"}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"});this.proxy.unselectable();this.proxy.enableDisplayMode("block");Ext.apply(this,Z);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var V=this.el.getStyle("position");if(V!="absolute"&&V!="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 R=this.handles.split(/\s*?[,;]\s*?| /);var O=Ext.Resizable.positions;for(var W=0,U=R.length;W<U;W++){if(R[W]&&O[R[W]]){var S=O[R[W]];this[S]=new Ext.Resizable.Handle(this,S,this.disableTrackOver,this.transparent)}}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 P=this.resizeChild;var T=this.west,X=this.east,Q=this.north,R=this.south;if(P&&(T||Q)){P.position("relative");P.setLeft(T?T.el.getWidth():0);P.setTop(Q?Q.el.getHeight():0)}this.adjustments=[(X?-X.el.getWidth():0)+(T?-T.el.getWidth():0),(Q?-Q.el.getHeight():0)+(R?-R.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)}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)};Ext.extend(Ext.Resizable,Ext.util.Observable,{resizeChild:false,adjustments:[0,0],minWidth:5,minHeight:5,maxWidth:10000,maxHeight:10000,enabled:true,animate:false,duration:0.35,dynamic:false,handles:false,multiDirectional:false,disableTrackOver:false,easing:"easeOutStrong",widthIncrement:0,heightIncrement:0,pinned:false,width:null,height:null,preserveRatio:false,transparent:false,minX:0,minY:0,draggable:false,resizeTo:function(D,C){this.el.setSize(D,C);this.updateChildSize();this.fireEvent("resize",this,D,C,null)},startSizing:function(E,F){this.fireEvent("beforeresize",this,E);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("mousemove",this.onMouseMove,this);this.overlay.on("mouseup",this.onMouseUp,this)}this.overlay.setStyle("cursor",F.el.getStyle("cursor"));this.resizing=true;this.startBox=this.el.getBox();this.startPoint=E.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 D=Ext.get(this.constrainTo);this.resizeRegion=D.getRegion().adjust(D.getFrameWidth("t"),D.getFrameWidth("l"),-D.getFrameWidth("b"),-D.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(C,D){if(this.enabled){D.stopEvent();this.activeHandle=C;this.startSizing(D,C)}},onMouseUp:function(D){var C=this.resizeElement();this.resizing=false;this.handleOut();this.overlay.hide();this.proxy.hide();this.fireEvent("resize",this,C.width,C.height,D)},updateChildSize:function(){if(this.resizeChild){var G=this.el;var F=this.resizeChild;var H=this.adjustments;if(G.dom.offsetWidth){var E=G.getSize(true);F.setSize(E.width+H[0],E.height+H[1])}if(Ext.isIE){setTimeout(function(){if(G.dom.offsetWidth){var A=G.getSize(true);F.setSize(A.width+H[0],A.height+H[1])}},10)}}},snap:function(I,G,J){if(!G||!I){return I}var H=I;var F=I%G;if(F>0){if(F>(G/2)){H=I+(G-F)}else{H=I-F}}return Math.max(J,H)},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()}return B},constrain:function(H,G,E,F){if(H-G<E){G=H-E}else{if(H-G>F){G=F-H}}return G},onMouseMove:function(d){if(this.enabled){try{if(this.resizeRegion&&!this.resizeRegion.contains(d.getPoint())){return }var g=this.curSize||this.startBox;var p=this.startBox.x,q=this.startBox.y;var v=p,w=q;var o=g.width,e=g.height;var u=o,m=e;var n=this.minWidth,c=this.minHeight;var h=this.maxWidth,Z=this.maxHeight;var s=this.widthIncrement;var x=this.heightIncrement;var b=d.getXY();var i=-(this.startPoint[0]-Math.max(this.minX,b[0]));var l=-(this.startPoint[1]-Math.max(this.minY,b[1]));var r=this.activeHandle.position;switch(r){case"east":o+=i;o=Math.min(Math.max(n,o),h);break;case"south":e+=l;e=Math.min(Math.max(c,e),Z);break;case"southeast":o+=i;e+=l;o=Math.min(Math.max(n,o),h);e=Math.min(Math.max(c,e),Z);break;case"north":l=this.constrain(e,l,c,Z);q+=l;e-=l;break;case"west":i=this.constrain(o,i,n,h);p+=i;o-=i;break;case"northeast":o+=i;o=Math.min(Math.max(n,o),h);l=this.constrain(e,l,c,Z);q+=l;e-=l;break;case"northwest":i=this.constrain(o,i,n,h);l=this.constrain(e,l,c,Z);q+=l;e-=l;p+=i;o-=i;break;case"southwest":i=this.constrain(o,i,n,h);e+=l;e=Math.min(Math.max(c,e),Z);p+=i;o-=i;break}var k=this.snap(o,s,n);var a=this.snap(e,x,c);if(k!=o||a!=e){switch(r){case"northeast":q-=a-e;break;case"north":q-=a-e;break;case"southwest":p-=k-o;break;case"west":p-=k-o;break;case"northwest":p-=k-o;q-=a-e;break}o=k;e=a}if(this.preserveRatio){switch(r){case"southeast":case"east":e=m*(o/u);e=Math.min(Math.max(c,e),Z);o=u*(e/m);break;case"south":o=u*(e/m);o=Math.min(Math.max(n,o),h);e=m*(o/u);break;case"northeast":o=u*(e/m);o=Math.min(Math.max(n,o),h);e=m*(o/u);break;case"north":var Y=o;o=u*(e/m);o=Math.min(Math.max(n,o),h);e=m*(o/u);p+=(Y-o)/2;break;case"southwest":e=m*(o/u);e=Math.min(Math.max(c,e),Z);var Y=o;o=u*(e/m);p+=Y-o;break;case"west":var t=e;e=m*(o/u);e=Math.min(Math.max(c,e),Z);q+=(t-e)/2;var Y=o;o=u*(e/m);p+=Y-o;break;case"northwest":var Y=o;var t=e;e=m*(o/u);e=Math.min(Math.max(c,e),Z);o=u*(e/m);q+=t-e;p+=Y-o;break}}this.proxy.setBounds(p,q,o,e);if(this.dynamic){this.resizeElement()}}catch(d){}}},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(G){this.proxy.remove();if(this.overlay){this.overlay.removeAllListeners();this.overlay.remove()}var F=Ext.Resizable.positions;for(var E in F){if(typeof F[E]!="function"&&this[F[E]]){var H=this[F[E]];H.el.removeAllListeners();H.el.remove()}}if(G){this.el.update("");this.el.remove()}},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=function(I,G,J,H){if(!this.tpl){var F=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});F.compile();Ext.Resizable.Handle.prototype.tpl=F}this.position=G;this.rz=I;this.el=this.tpl.append(I.el.dom,[this.position],true);this.el.unselectable();if(H){this.el.setOpacity(0)}this.el.on("mousedown",this.onMouseDown,this);if(!J){this.el.on("mouseover",this.onMouseOver,this);this.el.on("mouseout",this.onMouseOut,this)}};Ext.Resizable.Handle.prototype={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)}};Ext.Editor=function(D,C){this.field=D;Ext.Editor.superclass.constructor.call(this,C)};Ext.extend(Ext.Editor,Ext.Component,{value:"",alignment:"c-c?",shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:false,cancelOnEsc:false,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","specialkey")},onRender:function(D,C){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:D,shim:this.shim,shadowOffset:4,id:this.id,constrain:this.constrain});this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute("autocomplete","off")}this.field.on("specialkey",this.onSpecialKey,this);if(this.swallowKeys){this.field.el.swallowEvent(["keydown","keypress"])}this.field.show();this.field.on("blur",this.onBlur,this);if(this.field.grow){this.field.on("autosize",this.el.sync,this.el,{delay:1})}},onSpecialKey:function(D,C){if(this.completeOnEnter&&C.getKey()==C.ENTER){C.stopEvent();this.completeEdit()}else{if(this.cancelOnEsc&&C.getKey()==C.ESC){this.cancelEdit()}else{this.fireEvent("specialkey",D,C)}}},startEdit:function(F,E){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(F);var D=E!==undefined?E:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,D)===false){return }this.startValue=D;this.field.setValue(D);this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show()},doAutoSize:function(){if(this.autoSize){var B=this.boundEl.getSize();switch(this.autoSize){case"width":this.setSize(B.width,"");break;case"height":this.setSize("",B.height);break;default:this.setSize(B.width,B.height)}}},setSize:function(C,D){delete this.field.lastSize;this.field.setSize(C,D);if(this.el){this.el.sync()}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)},completeEdit:function(C){if(!this.editing){return }var D=this.getValue();if(this.revertInvalid!==false&&!this.field.isValid()){D=this.startValue;this.cancelEdit(true)}if(String(D)===String(this.startValue)&&this.ignoreNoChange){this.editing=false;this.hide();return }if(this.fireEvent("beforecomplete",this,D,this.startValue)!==false){this.editing=false;if(this.updateEl&&this.boundEl){this.boundEl.update(D)}if(C!==true){this.hide()}this.fireEvent("complete",this,D,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show();if(Ext.isIE&&!this.fixIEFocus){this.fixIEFocus=true;this.deferredFocus.defer(50,this)}else{this.field.focus()}this.fireEvent("startedit",this.boundEl,this.startValue)},deferredFocus:function(){if(this.editing){this.field.focus()}},cancelEdit:function(B){if(this.editing){this.setValue(this.startValue);if(B!==true){this.hide()}}},onBlur:function(){if(this.allowBlur!==true&&this.editing){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(){this.field.destroy();this.field=null}});Ext.reg("editor",Ext.Editor);Ext.MessageBox=function(){var W,o,a,X;var i,e,Y,p,d,b,h,k;var Z,V,c,n="";var m=function(A){if(W.isVisible()){W.hide();Ext.callback(o.fn,o.scope||window,[A,V.dom.value],1)}};var U=function(){if(o&&o.cls){W.el.removeClass(o.cls)}d.reset()};var l=function(A,C,B){if(o&&o.closable!==false){W.hide()}if(B){B.stopEvent()}};var g=function(C){var A=0;if(!C){Z.ok.hide();Z.cancel.hide();Z.yes.hide();Z.no.hide();return A}W.footer.dom.style.display="";for(var B in Z){if(typeof Z[B]!="function"){if(C[B]){Z[B].show();Z[B].setText(typeof C[B]=="string"?C[B]:Ext.MessageBox.buttonText[B]);A+=Z[B].el.getWidth()+15}else{Z[B].hide()}}}return A};return{getDialog:function(C){if(!W){W=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(o&&o.buttons&&o.buttons.no&&!o.buttons.cancel){m("no")}else{m("cancel")}}});Z={};var B=this.buttonText;Z.ok=W.addButton(B.ok,m.createCallback("ok"));Z.yes=W.addButton(B.yes,m.createCallback("yes"));Z.no=W.addButton(B.no,m.createCallback("no"));Z.cancel=W.addButton(B.cancel,m.createCallback("cancel"));Z.ok.hideMode=Z.yes.hideMode=Z.no.hideMode=Z.cancel.hideMode="offsets";W.render(document.body);W.getEl().addClass("x-window-dlg");a=W.mask;i=W.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>'});h=Ext.get(i.dom.firstChild);var A=i.dom.childNodes[1];e=Ext.get(A.firstChild);Y=Ext.get(A.childNodes[2].firstChild);Y.enableDisplayMode();Y.addKeyListener([10,13],function(){if(W.isVisible()&&o&&o.buttons){if(o.buttons.ok){m("ok")}else{if(o.buttons.yes){m("yes")}}}});p=Ext.get(A.childNodes[2].childNodes[1]);p.enableDisplayMode();d=new Ext.ProgressBar({renderTo:i});i.createChild({cls:"x-clear"})}return W},updateText:function(F){if(!W.isVisible()&&!o.width){W.setSize(this.maxWidth,100)}e.update(F||"&#160;");var B=n!=""?(h.getWidth()+h.getMargins("lr")):0;var D=e.getWidth()+e.getMargins("lr");var A=W.getFrameWidth("lr");var E=W.body.getFrameWidth("lr");if(Ext.isIE&&B>0){B+=3}var C=Math.max(Math.min(o.width||B+D+A+E,this.maxWidth),Math.max(o.minWidth||this.minWidth,c||0));if(o.prompt===true){V.setWidth(C-B-A-E)}if(o.progress===true||o.wait===true){d.setSize(C-B-A-E)}W.setSize(C,"auto").center();return this},updateProgress:function(B,C,A){d.updateProgress(B,C);if(A){this.updateText(A)}return this},isVisible:function(){return W&&W.isVisible()},hide:function(){if(this.isVisible()){W.hide();U()}return this},show:function(E){if(this.isVisible()){this.hide()}o=E;var D=this.getDialog(o.title||"&#160;");D.setTitle(o.title||"&#160;");var C=(o.closable!==false&&o.progress!==true&&o.wait!==true);D.tools.close.setDisplayed(C);V=Y;o.prompt=o.prompt||(o.multiline?true:false);if(o.prompt){if(o.multiline){Y.hide();p.show();p.setHeight(typeof o.multiline=="number"?o.multiline:this.defaultTextHeight);V=p}else{Y.show();p.hide()}}else{Y.hide();p.hide()}V.dom.value=o.value||"";if(o.prompt){D.focusEl=V}else{var A=o.buttons;var B=null;if(A&&A.ok){B=Z.ok}else{if(A&&A.yes){B=Z.yes}}if(B){D.focusEl=B}}if(o.iconCls){D.setIconClass(o.iconCls)}this.setIcon(o.icon);c=g(o.buttons);d.setVisible(o.progress===true||o.wait===true);this.updateProgress(0,o.progressText);this.updateText(o.msg);if(o.cls){D.el.addClass(o.cls)}D.proxyDrag=o.proxyDrag===true;D.modal=o.modal!==false;D.mask=o.modal!==false?a:false;if(!D.isVisible()){document.body.appendChild(W.el.dom);D.setAnimateTarget(o.animEl);D.show(o.animEl)}D.on("show",function(){if(C===true){D.keyMap.enable()}else{D.keyMap.disable()}},this,{single:true});if(o.wait===true){d.wait(o.waitConfig)}return this},setIcon:function(A){if(A&&A!=""){h.removeClass("x-hidden");h.replaceClass(n,A);n=A}else{h.replaceClass(n,"x-hidden");n=""}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});return this},confirm:function(D,A,B,C){this.show({title:D,msg:A,buttons:this.YESNO,fn:B,scope:C,icon:this.QUESTION});return this},prompt:function(D,E,A,B,C,F){this.show({title:D,msg:E,buttons:this.OKCANCEL,fn:A,minWidth:250,scope:B,prompt:true,multiline:C,value:F});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,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox;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,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.hide,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(){var B=this.body.getTextWidth();if(this.title){B=Math.max(B,this.header.child("span").getTextWidth(this.title))}B+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr");this.setWidth(B.constrain(this.minWidth,this.maxWidth))},showBy:function(C,D){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(C,D||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.Tip.DD=function(D,C){Ext.apply(this,C);this.tip=D;Ext.Tip.DD.superclass.constructor.call(this,D.el.id,"WindowDD-"+D.id);this.setHandleElId(D.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,mouseOffset:[15,18],trackMouse:false,constrainPosition:true,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget()},initTarget:function(){if(this.target){this.target=Ext.get(this.target);this.target.on("mouseover",this.onTargetOver,this);this.target.on("mouseout",this.onTargetOut,this);this.target.on("mousemove",this.onMouseMove,this)}},onMouseMove:function(B){this.targetXY=B.getXY();if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}},getTargetXY:function(){return[this.targetXY[0]+this.mouseOffset[0],this.targetXY[1]+this.mouseOffset[1]]},onTargetOver:function(B){if(this.disabled||B.within(this.target.dom,true)){return }this.clearTimer("hide");this.targetXY=B.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();Ext.ToolTip.superclass.hide.call(this)},show:function(){this.showAt(this.getTargetXY())},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)}},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!==false&&!B.within(this.el.dom)){this.disable();this.enable.defer(100,this)}},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(E,F){var G=this.targetXY[1],H=this.getSize().height;if(this.constrainPosition&&F<=G&&(F+H)>=G){F=G-H-5}return{x:E,y:F}},onDestroy:function(){Ext.ToolTip.superclass.onDestroy.call(this);if(this.target){this.target.un("mouseover",this.onTargetOver,this);this.target.un("mouseout",this.onTargetOut,this);this.target.un("mousemove",this.onMouseMove,this)}}});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"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(N){var L=Ext.isArray(N)?N:arguments;for(var M=0,I=L.length;M<I;M++){var J=L[M];var K=J.target;if(K){if(Ext.isArray(K)){for(var O=0,P=K.length;O<P;O++){this.targets[Ext.id(K[O])]=J}}else{this.targets[Ext.id(K)]=J}}}},unregister:function(B){delete this.targets[Ext.id(B)]},onTargetOver:function(I){if(this.disabled){return }this.targetXY=I.getXY();var M=I.getTarget();if(!M||M.nodeType!==1||M==document||M==document.body){return }if(this.activeTarget&&M==this.activeTarget.el){this.clearTimer("hide");this.show();return }if(M&&this.targets[M.id]){this.activeTarget=this.targets[M.id];this.activeTarget.el=M;this.delayShow();return }var K,J=Ext.fly(M),N=this.tagConfig;var L=N.namespace;if(this.interceptTitles&&M.title){K=M.title;M.qtip=K;M.removeAttribute("title");I.preventDefault()}else{K=M.qtip||J.getAttributeNS(L,N.attribute)}if(K){var H=J.getAttributeNS(L,N.hide);this.activeTarget={el:M,text:K,width:J.getAttributeNS(L,N.width),autoHide:H!="user"&&H!=="false",title:J.getAttributeNS(L,N.title),cls:J.getAttributeNS(L,N.cls),align:J.getAttributeNS(L,N.align)};this.delayShow()}},onTargetOut:function(B){this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},showAt:function(D){var C=this.activeTarget;if(C){if(!this.rendered){this.render(Ext.getBody());this.activeTarget=C}if(C.width){this.setWidth(C.width);this.body.setWidth(this.adjustBodyWidth(C.width-this.getFrameWidth()));this.measureWidth=false}else{this.measureWidth=true}this.setTitle(C.title||"");this.body.update(C.text);this.autoHide=C.autoHide;this.dismissDelay=C.dismissDelay||this.dismissDelay;if(this.lastCls){this.el.removeClass(this.lastCls);delete this.lastCls}if(C.cls){this.el.addClass(C.cls);this.lastCls=C.cls}if(C.align){D=this.el.getAlignToXY(C.el,C.align);this.constrainPosition=false}else{this.constrainPosition=true}}Ext.QuickTip.superclass.showAt.call(this,D)},hide:function(){delete this.activeTarget;Ext.QuickTip.superclass.hide.call(this)}});Ext.QuickTips=function(){var D,C=[];return{init:function(){if(!D){D=new Ext.QuickTip({elements:"header,body"})}},enable:function(){if(D){C.pop();if(C.length<1){D.enable()}}},disable:function(){if(D){D.disable()}C.push(1)},isEnabled:function(){return D!==undefined&&!D.disabled},getQuickTip:function(){return D},register:function(){D.register.apply(D,arguments)},unregister:function(){D.unregister.apply(D,arguments)},tips:function(){D.register.apply(D,arguments)}}}();Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:"/",initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel){this.eventModel=new Ext.tree.TreeEventModel(this)}this.nodeHash={};if(this.root){this.setRootNode(this.root)}this.addEvents("append","remove","movenode","insert","beforeappend","beforeremove","beforemovenode","beforeinsert","beforeload","load","textchange","beforeexpandnode","beforecollapsenode","expandnode","disabledchange","collapsenode","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered","startdrag","enddrag","dragdrop","beforenodedrop","nodedrop","nodedragover");if(this.singleExpand){this.on("beforeexpandnode",this.restrictExpand,this)}},proxyNodeEvent:function(M,N,H,I,J,K,L){if(M=="collapse"||M=="expand"||M=="beforecollapse"||M=="beforeexpand"||M=="move"||M=="beforemove"){M=M+"node"}return this.fireEvent(M,N,H,I,J,K,L)},getRootNode:function(){return this.root},setRootNode:function(D){this.root=D;D.ownerTree=this;D.isRoot=true;this.registerNode(D);if(!this.rootVisible){var C=D.attributes.uiProvider;D.ui=C?new C(D):new Ext.tree.RootTreeNodeUI(D)}return D},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(C){var D=C.parentNode;if(D){if(D.expandedChild&&D.expandedChild.parentNode==D){D.expandedChild.collapse()}D.expandedChild=C}},getChecked:function(E,H){H=H||this.root;var G=[];var F=function(){if(this.attributes.checked){G.push(!E?this:(E=="id"?this.id:this.attributes[E]))}};H.cascade(F);return G},getEl:function(){return this.el},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(J,H,I){H=H||"id";var L=J.split(this.pathSeparator);var M=this.root;if(M.attributes[H]!=L[1]){if(I){I(false,null)}return }var N=1;var K=function(){if(++N==L.length){if(I){I(true,M)}return }var A=M.findChild(H,L[N]);if(!A){if(I){I(false,M)}return }M=A;A.expand(false,false,K)};M.expand(false,false,K)},selectPath:function(I,G,H){G=G||"id";var K=I.split(this.pathSeparator);var L=K.pop();if(K.length>0){var J=function(B,C){if(B&&C){var A=C.findChild(G,L);if(A){A.select();if(H){H(true,A)}}else{if(H){H(false,A)}}}else{if(H){H(false,A)}}};this.expandPath(K.join(this.pathSeparator),G,J)}else{this.root.select();if(H){H(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(D,C){Ext.tree.TreePanel.superclass.onRender.call(this,D,C);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.root.render();if(!this.rootVisible){this.root.renderChildren()}},onDestroy:function(){if(this.rendered){this.body.removeAllListeners();Ext.dd.ScrollManager.unregister(this.body);if(this.dropZone){this.dropZone.unreg()}if(this.dragZone){this.dragZone.unreg()}}this.root.destroy();this.nodeHash=null;Ext.tree.TreePanel.superclass.onDestroy.call(this)}});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.getTreeEl();B.on("click",this.delegateClick,this);if(this.tree.trackMouseOver!==false){B.on("mouseover",this.delegateOver,this);B.on("mouseout",this.delegateOut,this)}B.on("dblclick",this.delegateDblClick,this);B.on("contextmenu",this.delegateContextMenu,this)},getNode:function(F){var D;if(D=F.getTarget(".x-tree-node-el",10)){var E=Ext.fly(D,"_treeEvents").getAttributeNS("ext","tree-node-id");if(E){return this.tree.getNodeById(E)}}return null},getNodeTarget:function(D){var C=D.getTarget(".x-tree-node-icon",1);if(!C){C=D.getTarget(".x-tree-node-el",6)}return C},delegateOut:function(F,D){if(!this.beforeEvent(F)){return }if(F.getTarget(".x-tree-ec-icon",1)){var E=this.getNode(F);this.onIconOut(F,E);if(E==this.lastEcOver){delete this.lastEcOver}}if((D=this.getNodeTarget(F))&&!F.within(D,true)){this.onNodeOut(F,this.getNode(F))}},delegateOver:function(D,C){if(!this.beforeEvent(D)){return }if(this.lastEcOver){this.onIconOut(D,this.lastEcOver);delete this.lastEcOver}if(D.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(D);this.onIconOver(D,this.lastEcOver)}if(C=this.getNodeTarget(D)){this.onNodeOver(D,this.getNode(D))}},delegateClick:function(D,C){if(!this.beforeEvent(D)){return }if(D.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(D,this.getNode(D))}else{if(D.getTarget(".x-tree-ec-icon",1)){this.onIconClick(D,this.getNode(D))}else{if(this.getNodeTarget(D)){this.onNodeClick(D,this.getNode(D))}}}},delegateDblClick:function(D,C){if(this.beforeEvent(D)&&this.getNodeTarget(D)){this.onNodeDblClick(D,this.getNode(D))}},delegateContextMenu:function(D,C){if(this.beforeEvent(D)&&this.getNodeTarget(D)){this.onNodeContextMenu(D,this.getNode(D))}},onNodeClick:function(D,C){C.ui.onClick(D)},onNodeOver:function(D,C){C.ui.onOver(D)},onNodeOut:function(D,C){C.ui.onOut(D)},onIconOver:function(D,C){C.ui.addClass("x-tree-ec-over")},onIconOut:function(D,C){C.ui.removeClass("x-tree-ec-over")},onIconClick:function(D,C){C.ui.ecClick(D)},onCheckboxClick:function(D,C){C.ui.onCheckChange(D)},onNodeDblClick:function(D,C){C.ui.onDblClick(D)},onNodeContextMenu:function(D,C){C.ui.onContextMenu(D)},beforeEvent:function(B){if(this.disabled){B.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=function(B){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,B);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(B){this.tree=B;B.getTreeEl().on("keydown",this.onKeyDown,this);B.on("click",this.onNodeClick,this)},onNodeClick:function(C,D){this.select(C)},select:function(D){var C=this.selNode;if(C!=D&&this.fireEvent("beforeselect",this,D,C)!==false){if(C){C.ui.onSelectedChange(false)}this.selNode=D;D.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,D,C)}return D},unselect:function(B){if(this.selNode==B){this.clearSelections()}},clearSelections:function(){var B=this.selNode;if(B){B.ui.onSelectedChange(false);this.selNode=null;this.fireEvent("selectionchange",this,null)}return B},getSelectedNode:function(){return this.selNode},isSelected:function(B){return this.selNode==B},selectPrevious:function(){var D=this.selNode||this.lastSelNode;if(!D){return null}var E=D.previousSibling;if(E){if(!E.isExpanded()||E.childNodes.length<1){return this.select(E)}else{var F=E.lastChild;while(F&&F.isExpanded()&&F.childNodes.length>0){F=F.lastChild}return this.select(F)}}else{if(D.parentNode&&(this.tree.rootVisible||!D.parentNode.isRoot)){return this.select(D.parentNode)}}return null},selectNext:function(){var D=this.selNode||this.lastSelNode;if(!D){return null}if(D.firstChild&&D.isExpanded()){return this.select(D.firstChild)}else{if(D.nextSibling){return this.select(D.nextSibling)}else{if(D.parentNode){var C=null;D.parentNode.bubble(function(){if(this.nextSibling){C=this.getOwnerTree().selModel.select(this.nextSibling);return false}});return C}}}return null},onKeyDown:function(G){var H=this.selNode||this.lastSelNode;var F=this;if(!H){return }var E=G.getKey();switch(E){case G.DOWN:G.stopEvent();this.selectNext();break;case G.UP:G.stopEvent();this.selectPrevious();break;case G.RIGHT:G.preventDefault();if(H.hasChildNodes()){if(!H.isExpanded()){H.expand()}else{if(H.firstChild){this.select(H.firstChild,G)}}}break;case G.LEFT:G.preventDefault();if(H.hasChildNodes()&&H.isExpanded()){H.collapse()}else{if(H.parentNode&&(this.tree.rootVisible||H.parentNode!=this.tree.getRootNode())){this.select(H.parentNode,G)}}break}}});Ext.tree.MultiSelectionModel=function(B){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,B);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(B){this.tree=B;B.getTreeEl().on("keydown",this.onKeyDown,this);B.on("click",this.onNodeClick,this)},onNodeClick:function(C,D){this.select(C,D,D.ctrlKey)},select:function(D,E,F){if(F!==true){this.clearSelections(true)}if(this.isSelected(D)){this.lastSelNode=D;return D}this.selNodes.push(D);this.selMap[D.id]=D;this.lastSelNode=D;D.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return D},unselect:function(F){if(this.selMap[F.id]){F.ui.onSelectedChange(false);var E=this.selNodes;var D=E.indexOf(F);if(D!=-1){this.selNodes.splice(D,1)}delete this.selMap[F.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(H){var F=this.selNodes;if(F.length>0){for(var G=0,E=F.length;G<E;G++){F[G].ui.onSelectedChange(false)}this.selNodes=[];this.selMap={};if(H!==true){this.fireEvent("selectionchange",this,this.selNodes)}}},isSelected:function(B){return this.selMap[B.id]?true:false},getSelectedNodes:function(){return this.selNodes},onKeyDown:Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:Ext.tree.DefaultSelectionModel.prototype.selectPrevious});Ext.tree.TreeNode=function(C){C=C||{};if(typeof C=="string"){C={text:C}}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,C);this.expanded=C.expanded===true;this.isTarget=C.isTarget!==false;this.draggable=C.draggable!==false&&C.allowDrag!==false;this.allowChildren=C.allowChildren!==false&&C.allowDrop!==false;this.text=C.text;this.disabled=C.disabled===true;this.addEvents("textchange","beforeexpand","beforecollapse","expand","disabledchange","collapse","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered");var D=this.attributes.uiProvider||this.defaultUI||Ext.tree.TreeNodeUI;this.ui=new D(this)};Ext.extend(Ext.tree.TreeNode,Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded},getUI:function(){return this.ui},setFirstChild:function(C){var D=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,C);if(this.childrenRendered&&D&&C!=D){D.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},setLastChild:function(D){var C=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,D);if(this.childrenRendered&&C&&D!=C){C.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},appendChild:function(){var B=Ext.tree.TreeNode.superclass.appendChild.apply(this,arguments);if(B&&this.childrenRendered){B.render()}this.ui.updateExpandIcon();return B},removeChild:function(B){this.ownerTree.getSelectionModel().unselect(B);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(this.childrenRendered){B.ui.remove()}if(this.childNodes.length<1){this.collapse(false,false)}else{this.ui.updateExpandIcon()}if(!this.firstChild&&!this.isHiddenRoot()){this.childrenRendered=false}return B},insertBefore:function(E,D){var F=Ext.tree.TreeNode.superclass.insertBefore.apply(this,arguments);if(F&&D&&this.childrenRendered){E.render()}this.ui.updateExpandIcon();return F},setText:function(D){var C=this.text;this.text=D;this.attributes.text=D;if(this.rendered){this.ui.onTextChange(this,D,C)}this.fireEvent("textchange",this,D,C)},select:function(){this.getOwnerTree().getSelectionModel().select(this)},unselect:function(){this.getOwnerTree().getSelectionModel().unselect(this)},isSelected:function(){return this.getOwnerTree().getSelectionModel().isSelected(this)},expand:function(D,F,E){if(!this.expanded){if(this.fireEvent("beforeexpand",this,D,F)===false){return }if(!this.childrenRendered){this.renderChildren()}this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&F!==false)||F){this.ui.animExpand(function(){this.fireEvent("expand",this);if(typeof E=="function"){E(this)}if(D===true){this.expandChildNodes(true)}}.createDelegate(this));return }else{this.ui.expand();this.fireEvent("expand",this);if(typeof E=="function"){E(this)}}}else{if(typeof E=="function"){E(this)}}if(D===true){this.expandChildNodes(true)}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible},collapse:function(J,G){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,J,G)===false){return }this.expanded=false;if((this.getOwnerTree().animate&&G!==false)||G){this.ui.animCollapse(function(){this.fireEvent("collapse",this);if(J===true){this.collapseChildNodes(true)}}.createDelegate(this));return }else{this.ui.collapse();this.fireEvent("collapse",this)}}if(J===true){var H=this.childNodes;for(var I=0,F=H.length;I<F;I++){H[I].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(D){var C=this.getOwnerTree();C.expandPath(this.parentNode.getPath(),false,function(){var A=C.getNodeById(this.id);C.getTreeEl().scrollChildIntoView(A.ui.anchor);Ext.callback(D)}.createDelegate(this))},expandChildNodes:function(H){var F=this.childNodes;for(var G=0,E=F.length;G<E;G++){F[G].expand(H)}},collapseChildNodes:function(H){var F=this.childNodes;for(var G=0,E=F.length;G<E;G++){F[G].collapse(H)}},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(H){if(H!==false){this.fireEvent("beforechildrenrendered",this)}var F=this.childNodes;for(var G=0,E=F.length;G<E;G++){F[G].render(true)}this.childrenRendered=true},sort:function(G,H){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var I=this.childNodes;for(var J=0,F=I.length;J<F;J++){I[J].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(J,G){if(G){this.ui.childIndent=null}this.ui.renderIndent();if(J===true&&this.childrenRendered){var H=this.childNodes;for(var I=0,F=H.length;I<F;I++){H[I].renderIndent(true,G)}}},beginUpdate:function(){this.childrenRendered=false},endUpdate:function(){if(this.expanded&&this.rendered){this.renderChildren()}},destroy:function(){for(var D=0,C=this.childNodes.length;D<C;D++){this.childNodes[D].destroy()}this.childNodes=null;if(this.ui.destroy){this.ui.destroy()}}});Ext.tree.AsyncTreeNode=function(B){this.loaded=false;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(L,J,H){if(this.loading){var I;var K=function(){if(!this.loading){clearInterval(I);this.expand(L,J,H)}}.createDelegate(this);I=setInterval(K,200);return }if(!this.loaded){if(this.fireEvent("beforeload",this)===false){return }this.loading=true;this.ui.beforeLoad(this);var G=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(G){G.load(this,this.loadComplete.createDelegate(this,[L,J,H]));return }}Ext.tree.AsyncTreeNode.superclass.expand.call(this,L,J,H)},isLoading:function(){return this.loading},loadComplete:function(D,F,E){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(D,F,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(B){this.collapse(false,false);while(this.firstChild){this.removeChild(this.firstChild)}this.childrenRendered=false;this.loaded=false;if(this.isHiddenRoot()){this.expanded=false}this.expand(false,false,B)}});Ext.tree.TreeNodeUI=function(B){this.node=B;this.rendered=false;this.animating=false;this.wasLeaf=true;this.ecc="x-tree-ec-icon x-tree-elbow";this.emptyIcon=Ext.BLANK_IMAGE_URL};Ext.tree.TreeNodeUI.prototype={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(F,E,D){if(this.rendered){this.textNode.innerHTML=E}},onDisableChange:function(C,D){this.disabled=D;if(this.checkbox){this.checkbox.disabled=D}if(D){this.addClass("x-tree-node-disabled")}else{this.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(I,K,M,L,N,P){this.childIndent=null;if(this.rendered){var J=L.ui.getContainer();if(!J){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return }var O=P?P.ui.getEl():null;if(O){J.insertBefore(this.wrap,O)}else{J.appendChild(this.wrap)}this.node.renderIndent(true)}},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.addClass("x-tree-node-disabled");if(this.checkbox){this.checkbox.disabled=true}}if(this.node.hidden){this.hide()}var D=this.node.getOwnerTree();var C=D.enableDD||D.enableDrag||D.enableDrop;if(C&&(!this.node.isRoot||D.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 C=D.getTarget("a");if(!this.disabled&&this.node.attributes.href&&C){this.fireEvent("click",this.node,D);return }else{if(C&&D.ctrlKey){D.stopEvent()}}D.preventDefault();if(this.disabled){return }if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.hasChildNodes()){this.node.toggle()}this.fireEvent("click",this.node,D)}else{D.stopEvent()}},onDblClick:function(B){B.preventDefault();if(this.disabled){return }if(this.checkbox){this.toggleCheck()}if(!this.animating&&this.node.hasChildNodes()){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.hasChildNodes()||this.node.attributes.expandable)){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(E){}}else{if(!Ext.isIE){try{var F=this.node.getOwnerTree().getTreeEl().dom;var D=F.scrollLeft;this.anchor.focus();F.scrollLeft=D}catch(E){}}}},toggleCheck:function(D){var C=this.checkbox;if(C){C.checked=(D===undefined?!C.checked:D);this.onCheckChange()}},blur:function(){try{this.anchor.blur()}catch(B){}},animExpand:function(D){var C=Ext.get(this.ctNode);C.stopFx();if(!this.node.hasChildNodes()){this.updateExpandIcon();this.ctNode.style.display="";Ext.callback(D);return }this.animating=true;this.updateExpandIcon();C.slideIn("t",{callback:function(){this.animating=false;Ext.callback(D)},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(D){var C=Ext.get(this.ctNode);C.enableDisplayMode("block");C.stopFx();this.animating=true;this.updateExpandIcon();C.slideOut("t",{callback:function(){this.animating=false;Ext.callback(D)},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(H){var F=this.node,E=F.attributes;var G=F.parentNode?F.parentNode.ui.getContainer():F.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(F,E,G,H);if(E.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",E.qtip);if(E.qtipTitle){this.textNode.setAttributeNS("ext","qtitle",E.qtipTitle)}}else{this.textNode.setAttribute("ext:qtip",E.qtip);if(E.qtipTitle){this.textNode.setAttribute("ext:qtitle",E.qtipTitle)}}}else{if(E.qtipCfg){E.qtipCfg.target=Ext.id(this.textNode);Ext.QuickTips.register(E.qtipCfg)}}this.initEvents();if(!this.node.expanded){this.updateExpandIcon(true)}}else{if(H===true){G.appendChild(this.wrap)}}},renderElements:function(K,P,Q,O){this.indentMarkup=K.parentNode?K.parentNode.ui.getChildIndent():"";var T=typeof P.checked=="boolean";var M=P.href?P.href:Ext.isGecko?"":"#";var L=['<li class="x-tree-node"><div ext:tree-node-id="',K.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',P.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img src="',P.icon||this.emptyIcon,'" class="x-tree-node-icon',(P.icon?" x-tree-node-inline-icon":""),(P.iconCls?" "+P.iconCls:""),'" unselectable="on" />',T?('<input class="x-tree-node-cb" type="checkbox" '+(P.checked?'checked="checked" />':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',M,'" tabIndex="1" ',P.hrefTarget?' target="'+P.hrefTarget+'"':"",'><span unselectable="on">',K.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");var N;if(O!==true&&K.nextSibling&&(N=K.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",N,L)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",Q,L)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var R=this.elNode.childNodes;this.indentNode=R[0];this.ecNode=R[1];this.iconNode=R[2];var S=3;if(T){this.checkbox=R[3];this.checkbox.defaultChecked=this.checkbox.checked;S++}this.anchor=R[S];this.textNode=R[S].firstChild},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 H=this.node,J,K;var G=H.isLast()?"x-tree-elbow-end":"x-tree-elbow";var I=H.hasChildNodes();if(I||H.attributes.expandable){if(H.expanded){G+="-minus";J="x-tree-node-collapsed";K="x-tree-node-expanded"}else{G+="-plus";J="x-tree-node-expanded";K="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=J||this.c2!=K){Ext.fly(this.elNode).replaceClass(J,K);this.c1=J;this.c2=K}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-leaf");delete this.c1;delete this.c2;this.wasLeaf=true}}var L="x-tree-ec-icon "+G;if(this.ecc!=L){this.ecNode.className=L;this.ecc=L}}},getChildIndent:function(){if(!this.childIndent){var C=[];var D=this.node;while(D){if(!D.isRoot||(D.isRoot&&D.ownerTree.rootVisible)){if(!D.isLast()){C.unshift('<img src="'+this.emptyIcon+'" class="x-tree-elbow-line" />')}else{C.unshift('<img src="'+this.emptyIcon+'" class="x-tree-icon" />')}}D=D.parentNode}this.childIndent=C.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var C="";var D=this.node.parentNode;if(D){C=D.ui.getChildIndent()}if(this.indentMarkup!=C){this.indentNode.innerHTML=C;this.indentMarkup=C}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}delete this.elNode;delete this.ctNode;delete this.indentNode;delete this.ecNode;delete this.iconNode;delete this.checkbox;delete this.anchor;delete this.textNode;Ext.removeNode(this.ctNode)}};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)};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(C,D){if(this.clearOnLoad){while(C.firstChild){C.removeChild(C.firstChild)}}if(this.doPreload(C)){if(typeof D=="function"){D()}}else{if(this.dataUrl||this.url){this.requestData(C,D)}}},doPreload:function(H){if(H.attributes.children){if(H.childNodes.length<1){var I=H.attributes.children;H.beginUpdate();for(var J=0,F=I.length;J<F;J++){var G=H.appendChild(this.createNode(I[J]));if(this.preloadChildren){this.doPreload(G)}}H.endUpdate()}return true}else{return false}},getParams:function(F){var E=[],G=this.baseParams;for(var H in G){if(typeof G[H]!="function"){E.push(encodeURIComponent(H),"=",encodeURIComponent(G[H]),"&")}}E.push("node=",encodeURIComponent(F.id));return E.join("")},requestData:function(C,D){if(this.fireEvent("beforeload",this,C,D)!==false){this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:D,node:C},params:this.getParams(C)})}else{if(typeof D=="function"){D()}}},isLoading:function(){return this.transId?true:false},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=this}if(typeof attr.uiProvider=="string"){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider)}return(attr.leaf?new Ext.tree.TreeNode(attr):new Ext.tree.AsyncTreeNode(attr))},processResponse:function(response,node,callback){var json=response.responseText;try{var o=eval("("+json+")");node.beginUpdate();for(var i=0,len=o.length;i<len;i++){var n=this.createNode(o[i]);if(n){node.appendChild(n)}}node.endUpdate();if(typeof callback=="function"){callback(this,node)}}catch(e){this.handleFailure(response)}},handleResponse:function(D){this.transId=false;var C=D.argument;this.processResponse(D,C.node,C.callback);this.fireEvent("load",this,C.node,D)},handleFailure:function(D){this.transId=false;var C=D.argument;this.fireEvent("loadexception",this,C.node,D);if(typeof C.callback=="function"){C.callback(this,C.node)}}});Ext.tree.TreeFilter=function(C,D){this.tree=C;this.filtered={};Ext.apply(this,D)};Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(H,F,J){F=F||"text";var I;if(typeof H=="string"){var G=H.length;if(G==0&&this.clearBlank){this.clear();return }H=H.toLowerCase();I=function(A){return A.attributes[F].substr(0,G).toLowerCase()==H}}else{if(H.exec){I=function(A){return H.test(A.attributes[F])}}else{throw"Illegal filter type, must be string or regex"}}this.filterBy(I,null,J)},filterBy:function(N,O,P){P=P||this.tree.root;if(this.autoClear){this.clear()}var I=this.filtered,J=this.reverse;var M=function(A){if(A==P){return true}if(I[A.id]){return false}var B=N.call(O||A,A);if(!B||J){I[A.id]=A;A.ui.hide();return false}return true};P.cascade(M);if(this.remove){for(var K in I){if(typeof K!="function"){var L=I[K];if(L&&L.parentNode){L.parentNode.removeChild(L)}}}}},clear:function(){var H=this.tree;var E=this.filtered;for(var F in E){if(typeof F!="function"){var G=E[F];if(G){G.ui.show()}}}this.filtered={}}};Ext.tree.TreeSorter=function(P,O){Ext.apply(this,O);P.on("beforechildrenrendered",this.doSort,this);P.on("append",this.updateSort,this);P.on("insert",this.updateSort,this);P.on("textchange",this.updateSortParent,this);var M=this.dir&&this.dir.toLowerCase()=="desc";var L=this.property||"text";var K=this.sortType;var I=this.folderSort;var N=this.caseSensitive===true;var J=this.leafAttr||"leaf";this.sortFn=function(C,D){if(I){if(C.attributes[J]&&!D.attributes[J]){return 1}if(!C.attributes[J]&&D.attributes[J]){return -1}}var A=K?K(C):(N?C.attributes[L]:C.attributes[L].toUpperCase());var B=K?K(D):(N?D.attributes[L]:D.attributes[L].toUpperCase());if(A<B){return M?+1:-1}else{if(A>B){return M?-1:+1}else{return 0}}}};Ext.tree.TreeSorter.prototype={doSort:function(B){B.sort(this.sortFn)},compareNodes:function(D,C){return(D.text.toUpperCase()>C.text.toUpperCase()?1:-1)},updateSort:function(C,D){if(D.childrenRendered){this.doSort.defer(1,this,[D])}},updateSortParent:function(C){var D=C.parentNode;if(D&&D.childrenRendered){this.doSort.defer(1,this,[D])}}};if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(C,D){this.allowParentInsert=false;this.allowContainerDrop=false;this.appendOnly=false;Ext.tree.TreeDropZone.superclass.constructor.call(this,C.innerCt,D);this.tree=C;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(M,N,P,J,K){if(!M||!K){return false}var R=M.node;var Q=K.node;if(!(R&&R.isTarget&&N)){return false}if(N=="append"&&R.allowChildren===false){return false}if((N=="above"||N=="below")&&(R.parentNode&&R.parentNode.allowChildren===false)){return false}if(Q&&(R==Q||Q.contains(R))){return false}var L=this.dragOverData;L.tree=this.tree;L.target=R;L.data=K;L.point=N;L.source=P;L.rawEvent=J;L.dropNode=Q;L.cancel=false;var O=this.tree.fireEvent("nodedragover",L);return L.cancel===false&&O!==false},getDropPoint:function(V,L,R){var Q=L.node;if(Q.isRoot){return Q.allowChildren!==false?"append":false}var N=L.ddel;var P=Ext.lib.Dom.getY(N),T=P+N.offsetHeight;var U=Ext.lib.Event.getPageY(V);var S=Q.allowChildren===false||Q.isLeaf();if(this.appendOnly||Q.parentNode.allowChildren===false){return S?false:"append"}var M=false;if(!this.allowParentInsert){M=Q.hasChildNodes()&&Q.isExpanded()}var O=(T-P)/(S?2:3);if(U>=P&&U<(P+O)){return"above"}else{if(!M&&(S||U>=T-O&&U<=T)){return"below"}else{return"append"}}},onNodeEnter:function(F,E,G,H){this.cancelExpand()},onNodeOver:function(L,P,Q,R){var N=this.getDropPoint(Q,L,P);var K=L.node;if(!this.expandProcId&&N=="append"&&K.hasChildNodes()&&!L.node.isExpanded()){this.queueExpand(K)}else{if(N!="append"){this.cancelExpand()}}var J=this.dropNotAllowed;if(this.isValidDropPoint(L,N,P,Q,R)){if(N){var M=L.ddel;var O;if(N=="above"){J=L.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";O="x-tree-drag-insert-above"}else{if(N=="below"){J=L.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";O="x-tree-drag-insert-below"}else{J="x-tree-drop-ok-append";O="x-tree-drag-append"}}if(this.lastInsertClass!=O){Ext.fly(M).replaceClass(this.lastInsertClass,O);this.lastInsertClass=O}}}return J},onNodeOut:function(F,E,G,H){this.cancelExpand();this.removeDropIndicators(F)},onNodeDrop:function(K,N,R,J){var O=this.getDropPoint(R,K,N);var Q=K.node;Q.ui.startDrop();if(!this.isValidDropPoint(K,O,N,R,J)){Q.ui.endDrop();return false}var P=J.node||(N.getTreeNode?N.getTreeNode(J,Q,O,R):null);var L={tree:this.tree,target:Q,data:J,point:O,source:N,rawEvent:R,dropNode:P,cancel:!P,dropStatus:false};var M=this.tree.fireEvent("beforenodedrop",L);if(M===false||L.cancel===true||!L.dropNode){Q.ui.endDrop();return L.dropStatus}Q=L.target;if(O=="append"&&!Q.isExpanded()){Q.expand(false,null,function(){this.completeDrop(L)}.createDelegate(this))}else{this.completeDrop(L)}return true},completeDrop:function(I){var L=I.dropNode,K=I.point,M=I.target;if(!Ext.isArray(L)){L=[L]}var J;for(var N=0,H=L.length;N<H;N++){J=L[N];if(K=="above"){M.parentNode.insertBefore(J,M)}else{if(K=="below"){M.parentNode.insertBefore(J,M.nextSibling)}else{M.appendChild(J)}}}J.ui.focus();if(this.tree.hlDrop){J.ui.highlight()}M.ui.endDrop();this.tree.fireEvent("nodedrop",I)},afterNodeMoved:function(F,I,G,H,J){if(this.tree.hlDrop){J.ui.focus();J.ui.highlight()}this.tree.fireEvent("nodedrop",this.tree,H,I,F,G)},getTree:function(){return this.tree},removeDropIndicators:function(D){if(D&&D.ddel){var C=D.ddel;Ext.fly(C).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass"}},beforeDragDrop:function(F,D,E){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(C,D){Ext.tree.TreeDragZone.superclass.constructor.call(this,C.getTreeEl(),D);this.tree=C};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(D,F){var E=D.node;return E&&E.draggable&&!E.disabled},onInitDrag:function(D){var C=this.dragData;this.tree.getSelectionModel().select(C.node);this.tree.eventModel.disable();this.proxy.update("");C.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent("startdrag",this.tree,C.node,D)},getRepairXY:function(D,C){return C.node.ui.getDDRepairXY()},onEndDrag:function(C,D){this.tree.eventModel.enable.defer(100,this.tree.eventModel);this.tree.fireEvent("enddrag",this.tree,C.node,D)},onValidDrop:function(D,F,E){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,D,F);this.hideProxy()},beforeInvalidDrop:function(D,E){var F=this.tree.getSelectionModel();F.clearSelections();F.select(this.dragData.node)}})}Ext.tree.TreeEditor=function(E,G,H){G=G||{};var F=G.events?G:new Ext.form.TextField(G);Ext.tree.TreeEditor.superclass.constructor.call(this,F,H);this.tree=E;if(!E.rendered){E.on("render",this.initEditor,this)}else{this.initEditor(E)}};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("beforeclick",this.beforeNodeClick,this);B.on("dblclick",this.onNodeDblClick,this);this.on("complete",this.updateNode,this);this.on("beforestartedit",this.fitToTree,this);this.on("startedit",this.bindScroll,this,{delay:10});this.on("specialkey",this.onSpecialKey,this)},fitToTree:function(J,I){var G=this.tree.getTreeEl().dom,H=I.dom;if(G.scrollLeft>H.offsetLeft){G.scrollLeft=H.offsetLeft}var F=Math.min(this.maxWidth,(G.clientWidth>20?G.clientWidth:G.offsetWidth)-Math.max(0,H.offsetLeft-G.scrollLeft)-5);this.setSize(F,"")},triggerEdit:function(C,D){this.completeEdit();if(C.attributes.editable!==false){this.editNode=C;this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[C.ui.textNode,C.text]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(C,D){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(C)){D.stopEvent();return this.triggerEdit(C)}},onNodeDblClick:function(C,D){clearTimeout(this.autoEditTimer)},updateNode:function(C,D){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(D)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(E,F){var D=F.getKey();if(D==F.ESC){F.stopEvent();this.cancelEdit()}else{if(D==F.ENTER&&!F.hasModifier()){F.stopEvent();this.completeEdit()}}}});Ext.menu.Menu=function(C){if(Ext.isArray(C)){C={items:C}}Ext.apply(this,C);this.id=this.id||Ext.id();this.addEvents("beforeshow","beforehide","show","hide","click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);Ext.menu.Menu.superclass.constructor.call(this);var D=this.items;this.items=new Ext.util.MixedCollection();if(D){this.add.apply(this,D)}};Ext.extend(Ext.menu.Menu,Ext.util.Observable,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,hidden:true,createEl:function(){return new Ext.Layer({cls:"x-menu",shadow:this.shadow,constrain:false,parentEl:this.parentEl||document.body,zindex:15000})},render:function(){if(this.el){return }var D=this.el=this.createEl();if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}if(this.plain){D.addClass("x-menu-plain")}if(this.cls){D.addClass(this.cls)}this.focusEl=D.createChild({tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"});var C=D.createChild({tag:"ul",cls:"x-menu-list"});C.on("click",this.onClick,this);C.on("mouseover",this.onMouseOver,this);C.on("mouseout",this.onMouseOut,this);this.items.each(function(A){var B=document.createElement("li");B.className="x-menu-list-item";C.dom.appendChild(B);A.render(B,this)},this);this.ul=C;this.autoWidth()},autoWidth:function(){var F=this.el,G=this.ul;if(!F){return }var E=this.width;if(E){F.setWidth(E)}else{if(Ext.isIE){F.setWidth(this.minWidth);var H=F.dom.offsetWidth;F.setWidth(G.getWidth()+F.getFrameWidth("lr"))}}},delayAutoWidth:function(){if(this.el){if(!this.awTask){this.awTask=new Ext.util.DelayedTask(this.autoWidth,this)}this.awTask.delay(20)}},findTargetItem:function(D){var C=D.getTarget(".x-menu-list-item",this.ul,true);if(C&&C.menuItemId){return this.items.get(C.menuItemId)}},onClick:function(D){var C;if(C=this.findTargetItem(D)){C.onClick(D);this.fireEvent("click",this,C,D)}},setActiveItem:function(C,D){if(C!=this.activeItem){if(this.activeItem){this.activeItem.deactivate()}this.activeItem=C;C.activate(D)}else{if(D){C.expandMenu()}}},tryActivate:function(H,I){var L=this.items;for(var K=H,G=L.length;K>=0&&K<G;K+=I){var J=L.get(K);if(!J.disabled&&J.canActivate){this.setActiveItem(J,false);return J}}return false},onMouseOver:function(D){var C;if(C=this.findTargetItem(D)){if(C.canActivate&&!C.disabled){this.setActiveItem(C,true)}}this.fireEvent("mouseover",this,D,C)},onMouseOut:function(D){var C;if(C=this.findTargetItem(D)){if(C==this.activeItem&&C.shouldDeactivate(D)){this.activeItem.deactivate();delete this.activeItem}}this.fireEvent("mouseout",this,D,C)},isVisible:function(){return this.el&&!this.hidden},show:function(F,E,D){this.parentMenu=D;if(!this.el){this.render()}this.fireEvent("beforeshow",this);this.showAt(this.el.getAlignToXY(F,E||this.defaultAlign),D,false)},showAt:function(E,F,D){this.parentMenu=F;if(!this.el){this.render()}if(D!==false){this.fireEvent("beforeshow",this);E=this.el.adjustForConstraints(E)}this.el.setXY(E);this.el.show();this.hidden=false;this.focus();this.fireEvent("show",this)},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(B){if(this.el&&this.isVisible()){this.fireEvent("beforehide",this);if(this.activeItem){this.activeItem.deactivate();this.activeItem=null}this.el.hide();this.hidden=true;this.fireEvent("hide",this)}if(B===true&&this.parentMenu){this.parentMenu.hide(true)}},add:function(){var J=arguments,F=J.length,G;for(var I=0;I<F;I++){var H=J[I];if(H.render){G=this.addItem(H)}else{if(typeof H=="string"){if(H=="separator"||H=="-"){G=this.addSeparator()}else{G=this.addText(H)}}else{if(H.tagName||H.el){G=this.addElement(H)}else{if(typeof H=="object"){Ext.applyIf(H,this.defaults);G=this.addMenuItem(H)}}}}}return G},getEl:function(){if(!this.el){this.render()}return this.el},addSeparator:function(){return this.addItem(new Ext.menu.Separator())},addElement:function(B){return this.addItem(new Ext.menu.BaseItem(B))},addItem:function(D){this.items.add(D);if(this.ul){var C=document.createElement("li");C.className="x-menu-list-item";this.ul.dom.appendChild(C);D.render(C,this);this.delayAutoWidth()}return D},addMenuItem:function(B){if(!(B instanceof Ext.menu.Item)){if(typeof B.checked=="boolean"){B=new Ext.menu.CheckItem(B)}else{B=new Ext.menu.Item(B)}}return this.addItem(B)},addText:function(B){return this.addItem(new Ext.menu.TextItem(B))},insert:function(F,E){this.items.insert(F,E);if(this.ul){var D=document.createElement("li");D.className="x-menu-list-item";this.ul.dom.insertBefore(D,this.ul.dom.childNodes[F]);E.render(D,this);this.delayAutoWidth()}return E},remove:function(B){this.items.removeKey(B.id);B.destroy()},removeAll:function(){if(this.items){var B;while(B=this.items.first()){this.remove(B)}}},destroy:function(){this.beforeDestroy();Ext.menu.MenuMgr.unregister(this);if(this.keyNav){this.keyNav.disable()}this.removeAll();if(this.ul){this.ul.removeAllListeners()}if(this.el){this.el.destroy()}},beforeDestroy:Ext.emptyFn});Ext.menu.MenuNav=function(B){Ext.menu.MenuNav.superclass.constructor.call(this,B.el);this.scope=this.menu=B};Ext.extend(Ext.menu.MenuNav,Ext.KeyNav,{doRelay:function(E,F){var D=E.getKey();if(!this.menu.activeItem&&E.isNavKeyPress()&&D!=E.SPACE&&D!=E.RETURN){this.menu.tryActivate(0,1);return false}return F.call(this.scope||this,E,this.menu)},up:function(D,C){if(!C.tryActivate(C.items.indexOf(C.activeItem)-1,-1)){C.tryActivate(C.items.length-1,-1)}},down:function(D,C){if(!C.tryActivate(C.items.indexOf(C.activeItem)+1,1)){C.tryActivate(0,1)}},right:function(D,C){if(C.activeItem){C.activeItem.expandMenu(true)}},left:function(D,C){C.hide();if(C.parentMenu&&C.parentMenu.activeItem){C.parentMenu.activeItem.activate()}},enter:function(D,C){if(C.activeItem){D.stopPropagation();C.activeItem.onClick(D);C.fireEvent("click",this,C.activeItem);return true}}});Ext.menu.MenuMgr=function(){var Y,N,O={},Q=false,T=new Date();function R(){Y={};N=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(N.length>0){W()}})}function W(){if(N&&N.length>0){var A=N.clone();A.each(function(B){B.hide()})}}function Z(A){N.remove(A);if(N.length<1){Ext.getDoc().un("mousedown",S);Q=false}}function U(B){var A=N.last();T=new Date();N.add(B);if(!Q){Ext.getDoc().on("mousedown",S);Q=true}if(B.parentMenu){B.getEl().setZIndex(parseInt(B.parentMenu.getEl().getStyle("z-index"),10)+3);B.parentMenu.activeChild=B}else{if(A&&A.isVisible()){B.getEl().setZIndex(parseInt(A.getEl().getStyle("z-index"),10)+3)}}}function P(A){if(A.activeChild){A.activeChild.hide()}if(A.autoHideTimer){clearTimeout(A.autoHideTimer);delete A.autoHideTimer}}function X(B){var A=B.parentMenu;if(!A&&!B.allowOtherMenus){W()}else{if(A&&A.activeChild){A.activeChild.hide()}}}function S(A){if(T.getElapsed()>50&&N.length>0&&!A.getTarget(".x-menu")){W()}}function V(D,A){if(A){var B=O[D.group];for(var C=0,E=B.length;C<E;C++){if(B[C]!=D){B[C].setChecked(false)}}}}return{hideAll:function(){W()},register:function(A){if(!Y){R()}Y[A.id]=A;A.on("beforehide",P);A.on("hide",Z);A.on("beforeshow",X);A.on("show",U);var B=A.group;if(B&&A.events.checkchange){if(!O[B]){O[B]=[]}O[B].push(A);A.on("checkchange",onCheck)}},get:function(A){if(typeof A=="string"){if(!Y){return null}return Y[A]}else{if(A.events){return A}else{if(typeof A.length=="number"){return new Ext.menu.Menu({items:A})}else{return new Ext.menu.Menu(A)}}}},unregister:function(A){delete Y[A.id];A.un("beforehide",P);A.un("hide",Z);A.un("beforeshow",X);A.un("show",U);var B=A.group;if(B&&A.events.checkchange){O[B].remove(A);A.un("checkchange",onCheck)}},registerCheckable:function(B){var A=B.group;if(A){if(!O[A]){O[A]=[]}O[A].push(B);B.on("beforecheckchange",V)}},unregisterCheckable:function(B){var A=B.group;if(A){O[A].remove(B);B.un("beforecheckchange",V)}},getCheckedItem:function(B){var A=O[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=O[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=function(B){Ext.menu.BaseItem.superclass.constructor.call(this,B);this.addEvents("click","activate","deactivate");if(this.handler){this.on("click",this.handler,this.scope)}};Ext.extend(Ext.menu.BaseItem,Ext.Component,{canActivate:false,activeClass:"x-menu-item-active",hideOnClick:true,hideDelay:100,ctype:"Ext.menu.BaseItem",actionMode:"container",render:function(C,D){this.parentMenu=D;Ext.menu.BaseItem.superclass.render.call(this,C);this.container.menuItemId=this.id},onRender:function(D,C){this.el=Ext.get(this.el);D.dom.appendChild(this.el.dom)},setHandler:function(D,C){if(this.handler){this.un("click",this.handler,this.scope)}this.on("click",this.handler=D,this.scope=C)},onClick:function(B){if(!this.disabled&&this.fireEvent("click",this,B)!==false&&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(B){if(this.hideOnClick){this.parentMenu.hide.defer(this.hideDelay,this.parentMenu,[true])}},expandMenu:function(B){},hideMenu:function(){}});Ext.menu.TextItem=function(B){this.text=B;Ext.menu.TextItem.superclass.constructor.call(this)};Ext.extend(Ext.menu.TextItem,Ext.menu.BaseItem,{hideOnClick:false,itemCls:"x-menu-text",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.menu.Separator=function(B){Ext.menu.Separator.superclass.constructor.call(this,B)};Ext.extend(Ext.menu.Separator,Ext.menu.BaseItem,{itemCls:"x-menu-sep",hideOnClick:false,onRender:function(C){var D=document.createElement("span");D.className=this.itemCls;D.innerHTML="&#160;";this.el=D;C.addClass("x-menu-sep-li");Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.menu.Item=function(B){Ext.menu.Item.superclass.constructor.call(this,B);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}};Ext.extend(Ext.menu.Item,Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,hideDelay:200,ctype:"Ext.menu.Item",onRender:function(F,D){var E=document.createElement("a");E.hideFocus=true;E.unselectable="on";E.href=this.href||"#";if(this.hrefTarget){E.target=this.hrefTarget}E.className=this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:"");E.innerHTML=String.format('<img src="{0}" class="x-menu-item-icon {2}" />{1}',this.icon||Ext.BLANK_IMAGE_URL,this.itemText||this.text,this.iconCls||"");this.el=E;Ext.menu.Item.superclass.onRender.call(this,F,D)},setText:function(B){this.text=B;if(this.rendered){this.el.update(String.format('<img src="{0}" class="x-menu-item-icon {2}">{1}',this.icon||Ext.BLANK_IMAGE_URL,this.text,this.iconCls||""));this.parentMenu.autoWidth()}},setIconClass:function(C){var D=this.iconCls;this.iconCls=C;if(this.rendered){this.el.child("img.x-menu-item-icon").replaceClass(D,this.iconCls)}},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;this.menu.hide()}});Ext.menu.CheckItem=function(B){Ext.menu.CheckItem.superclass.constructor.call(this,B);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)};Ext.extend(Ext.menu.CheckItem,Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",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,C){if(this.checked!=D&&this.fireEvent("beforecheckchange",this,D)!==false){if(this.container){this.container[D?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=D;if(C!==true){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.menu.Adapter=function(D,C){Ext.menu.Adapter.superclass.constructor.call(this,C);this.component=D};Ext.extend(Ext.menu.Adapter,Ext.menu.BaseItem,{canActivate:true,onRender:function(D,C){this.component.render(D);this.el=this.component.getEl()},activate:function(){if(this.disabled){return false}this.component.focus();this.fireEvent("activate",this);return true},deactivate:function(){this.fireEvent("deactivate",this)},disable:function(){this.component.disable();Ext.menu.Adapter.superclass.disable.call(this)},enable:function(){this.component.enable();Ext.menu.Adapter.superclass.enable.call(this)}});Ext.menu.DateItem=function(B){Ext.menu.DateItem.superclass.constructor.call(this,new Ext.DatePicker(B),B);this.picker=this.component;this.addEvents("select");this.picker.on("render",function(A){A.getEl().swallowEvent("click");A.container.addClass("x-menu-date-item")});this.picker.on("select",this.onSelect,this)};Ext.extend(Ext.menu.DateItem,Ext.menu.Adapter,{onSelect:function(D,C){this.fireEvent("select",this,C,D);Ext.menu.DateItem.superclass.handleClick.call(this)}});Ext.menu.ColorItem=function(B){Ext.menu.ColorItem.superclass.constructor.call(this,new Ext.ColorPalette(B),B);this.palette=this.component;this.relayEvents(this.palette,["select"]);if(this.selectHandler){this.on("select",this.selectHandler,this.scope)}};Ext.extend(Ext.menu.ColorItem,Ext.menu.Adapter);Ext.menu.DateMenu=function(C){Ext.menu.DateMenu.superclass.constructor.call(this,C);this.plain=true;var D=new Ext.menu.DateItem(C);this.add(D);this.picker=D.picker;this.relayEvents(D,["select"]);this.on("beforeshow",function(){if(this.picker){this.picker.hideMonthPicker(true)}},this)};Ext.extend(Ext.menu.DateMenu,Ext.menu.Menu,{cls:"x-date-menu",beforeDestroy:function(){this.picker.destroy()}});Ext.menu.ColorMenu=function(C){Ext.menu.ColorMenu.superclass.constructor.call(this,C);this.plain=true;var D=new Ext.menu.ColorItem(C);this.add(D);this.palette=D.palette;this.relayEvents(D,["select"])};Ext.extend(Ext.menu.ColorMenu,Ext.menu.Menu);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,isFormField:true,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.hiddenName||"")},onRender:function(G,E){Ext.form.Field.superclass.onRender.call(this,G,E);if(!this.el){var H=this.getAutoCreate();if(!H.name){H.name=this.name||this.id}if(this.inputType){H.type=this.inputType}this.el=G.createChild(H,E)}var F=this.el.dom.type;if(F){if(F=="password"){F="text"}this.el.addClass("x-form-"+F)}if(this.readOnly){this.el.dom.readOnly=true}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)}this.el.addClass([this.fieldClass,this.cls]);this.initValue()},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(this.el.dom.value.length>0){this.setValue(this.el.dom.value)}}},isDirty:function(){if(this.disabled){return false}return String(this.getValue())!==String(this.originalValue)},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents()},fireKey:function(B){if(B.isSpecialKey()){this.fireEvent("specialkey",this,B)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.el.on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.fireKey,this);this.el.on("focus",this.onFocus,this);this.el.on("blur",this.onBlur,this);this.originalValue=this.getValue()},onFocus:function(){if(!Ext.isOpera&&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(!Ext.isOpera&&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)},isValid:function(D){if(this.disabled){return true}var E=this.preventMark;this.preventMark=D===true;var F=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=E;return F},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(B){return B},validateValue:function(B){return true},markInvalid:function(E){if(!this.rendered||this.preventMark){return }this.el.addClass(this.invalidClass);E=E||this.invalidText;switch(this.msgTarget){case"qtip":this.el.dom.qtip=E;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}break;case"title":this.el.dom.title=E;break;case"under":if(!this.errorEl){var F=this.getErrorCt();this.errorEl=F.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(F.getWidth(true)-20)}this.errorEl.update(E);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case"side":if(!this.errorIcon){var F=this.getErrorCt();this.errorIcon=F.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=E;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this);break;default:var D=Ext.getDom(this.msgTarget);D.innerHTML=E;D.style.display=this.msgDisplay;break}this.fireEvent("invalid",this,E)},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},clearInvalid:function(){if(!this.rendered||this.preventMark){return }this.el.removeClass(this.invalidClass);switch(this.msgTarget){case"qtip":this.el.dom.qtip="";break;case"title":this.el.dom.title="";break;case"under":if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}break;case"side":if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}break;default:var B=Ext.getDom(this.msgTarget);B.innerHTML="";B.style.display="none";break}this.fireEvent("valid",this)},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.el.dom.value=(B===null||B===undefined?"":B)},setValue:function(B){this.value=B;if(this.rendered){this.el.dom.value=(B===null||B===undefined?"":B);this.validate()}},adjustSize:function(D,E){var F=Ext.form.Field.superclass.adjustSize.call(this,D,E);F.width=this.adjustWidth(this.el.dom.tagName,F.width);return F},adjustWidth:function(C,D){C=C.toLowerCase();if(typeof D=="number"&&!Ext.isSafari){if(Ext.isIE&&(C=="input"||C=="textarea")){if(C=="input"&&!Ext.isStrict){return this.inEditor?D:D-3}if(C=="input"&&Ext.isStrict){return D-(Ext.isIE6?4:1)}if(C=="textarea"&&Ext.isStrict){return D-2}}else{if(Ext.isOpera&&Ext.isStrict){if(C=="input"){return D+2}if(C=="textarea"){return D-2}}}}return D}});Ext.form.Field.msgFx={normal:{show:function(C,D){C.setDisplayed("block")},hide:function(C,D){C.setDisplayed(false).update("")}},slide:{show:function(C,D){C.slideIn("t",{stopFx:true})},hide:function(C,D){C.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(C,D){C.fixDisplay();C.alignTo(D.el,"tl-tr");C.slideIn("l",{stopFx:true})},hide:function(C,D){C.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.el.on("keyup",this.filterValidation,this)}else{if(this.validationEvent!==false){this.el.on(this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.on("focus",this.preFocus,this);if(this.emptyText){this.on("blur",this.postBlur,this);this.applyEmptyText()}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.el.on("keypress",this.filterKeys,this)}if(this.grow){this.el.on("keyup",this.onKeyUpBuffered,this,{buffer:50});this.el.on("click",this.autoSize,this)}if(this.enableKeyEvents){this.el.on("keyup",this.onKeyUp,this);this.el.on("keydown",this.onKeyDown,this);this.el.on("keypress",this.onKeyPress,this)}},processValue:function(C){if(this.stripCharsRe){var D=C.replace(this.stripCharsRe,"");if(D!==C){this.setRawValue(D);return D}}return C},filterValidation:function(B){if(!B.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onKeyUpBuffered:function(B){if(!B.isNavKeyPress()){this.autoSize()}},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.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){if(this.emptyText){if(this.el.dom.value==this.emptyText){this.setRawValue("")}this.el.removeClass(this.emptyClass)}if(this.selectOnFocus){this.el.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(H){var E=H.getKey();if(!Ext.isIE&&(H.isNavKeyPress()||E==H.BACKSPACE||(E==H.DELETE&&H.button==-1))){return }var F=H.getCharCode(),G=String.fromCharCode(F);if(Ext.isIE&&(H.isSpecialKey()||!G)){return }if(!this.maskRe.test(G)){H.stopEvent()}},setValue:function(B){if(this.emptyText&&this.el&&B!==undefined&&B!==null&&B!==""){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize()},validateValue:function(D){if(D.length<1||D===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(D.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(D.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var E=Ext.form.VTypes;if(!E[this.vtype](D,this)){this.markInvalid(this.vtypeText||E[this.vtype+"Text"]);return false}}if(typeof this.validator=="function"){var F=this.validator(D);if(F!==true){this.markInvalid(F);return false}}if(this.regex&&!this.regex.test(D)){this.markInvalid(this.regexText);return false}return true},selectText:function(G,F){var I=this.getRawValue();if(I.length>0){G=G===undefined?0:G;F=F===undefined?I.length:F;var H=this.el.dom;if(H.setSelectionRange){H.setSelectionRange(G,F)}else{if(H.createTextRange){var J=H.createTextRange();J.moveStart("character",G);J.moveEnd("character",F-I.length);J.select()}}}},autoSize:function(){if(!this.grow||!this.rendered){return }if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var G=this.el;var H=G.dom.value;var F=document.createElement("div");F.appendChild(document.createTextNode(H));H=F.innerHTML;F=null;H+="&#160;";var E=Math.min(this.growMax,Math.max(this.metrics.getWidth(H)+10,this.growMin));this.el.setWidth(E);this.fireEvent("autosize",this,E)}});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,autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,onResize:function(C,D){Ext.form.TriggerField.superclass.onResize.call(this,C,D);if(typeof C=="number"){this.el.setWidth(this.adjustWidth("input",C-this.trigger.getWidth()))}this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])},onRender:function(D,C){Ext.form.TriggerField.superclass.onRender.call(this,D,C);this.wrap=this.el.wrap({cls:"x-form-field-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.triggerClass});if(this.hideTrigger){this.trigger.setDisplayed(false)}this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}},initTrigger:function(){this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){if(this.trigger){this.trigger.removeAllListeners();this.trigger.remove()}if(this.wrap){this.wrap.remove()}Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);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});if(this.monitorTab){this.el.on("keydown",this.checkTab,this)}}},checkTab:function(B){if(B.getKey()==B.TAB){this.triggerBlur()}},onBlur:function(){},mimicBlur:function(B){if(!this.wrap.contains(B.target)&&this.validateBlur(B)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur);if(this.monitorTab){this.el.un("keydown",this.checkTab,this)}this.beforeBlur();this.wrap.removeClass("x-trigger-wrap-focus");Ext.form.TriggerField.superclass.onBlur.call(this)},beforeBlur:Ext.emptyFn,validateBlur:function(B){return true},onDisable:function(){Ext.form.TriggerField.superclass.onDisable.call(this);if(this.wrap){this.wrap.addClass("x-item-disabled")}},onEnable:function(){Ext.form.TriggerField.superclass.onEnable.call(this);if(this.wrap){this.wrap.removeClass("x-item-disabled")}},onShow:function(){if(this.wrap){this.wrap.dom.style.display="";this.wrap.dom.style.visibility="visible"}},onHide:function(){this.wrap.dom.style.display="none"},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,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(B){return this.triggers[B]},initTrigger:function(){var C=this.trigger.select(".x-form-trigger",true);this.wrap.setStyle("overflow","hidden");var D=this;C.each(function(G,A,H){G.hide=function(){var E=D.wrap.getWidth();this.dom.style.display="none";D.el.setWidth(E-D.trigger.getWidth())};G.show=function(){var E=D.wrap.getWidth();this.dom.style.display="";D.el.setWidth(E-D.trigger.getWidth())};var B="Trigger"+(H+1);if(this["hide"+B]){G.dom.style.display="none"}G.on("click",this["on"+B+"Click"],this,{preventDefault:true});G.addClassOnOver("x-form-trigger-over");G.addClassOnClick("x-form-trigger-click")},this);this.triggers=C.elements},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;",growPad:0,enterIsSpecial:false,preventScrollbars:false,onRender:function(D,C){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}}Ext.form.TextArea.superclass.onRender.call(this,D,C);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(){if(this.textSizeEl){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)}},onKeyUp:function(B){if(!B.isNavKeyPress()||B.getKey()==B.ENTER){this.autoSize()}},autoSize:function(){if(!this.grow||!this.textSizeEl){return }var G=this.el;var E=G.dom.value;var F=this.textSizeEl;F.innerHTML="";F.appendChild(document.createTextNode(E));E=F.innerHTML;Ext.fly(F).setWidth(this.el.getWidth());if(E.length<1){E="&#160;&#160;"}else{if(Ext.isIE){E=E.replace(/\n/g,"<p>&#160;</p>")}E+=this.growAppend}F.innerHTML=E;var H=Math.min(this.growMax,Math.max(F.offsetHeight,this.growMin)+this.growPad);if(H!=this.lastHeight){this.lastHeight=H;this.el.setHeight(H);this.fireEvent("autosize",this,H)}}});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",initEvents:function(){Ext.form.NumberField.superclass.initEvents.call(this);var D=this.baseChars+"";if(this.allowDecimals){D+=this.decimalSeparator}if(this.allowNegative){D+="-"}this.stripCharsRe=new RegExp("[^"+D+"]","gi");var C=function(B){var F=B.getKey();if(!Ext.isIE&&(B.isSpecialKey()||F==B.BACKSPACE||F==B.DELETE)){return }var A=B.getCharCode();if(D.indexOf(String.fromCharCode(A))===-1){B.stopEvent()}};this.el.on("keypress",C,this)},validateValue:function(D){if(!Ext.form.NumberField.superclass.validateValue.call(this,D)){return false}if(D.length<1){return true}D=String(D).replace(this.decimalSeparator,".");if(isNaN(D)){this.markInvalid(String.format(this.nanText,D));return false}var C=this.parseValue(D);if(C<this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false}if(C>this.maxValue){this.markInvalid(String.format(this.maxText,this.maxValue));return false}return true},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(B){B=typeof B=="number"?B:parseFloat(String(B).replace(this.decimalSeparator,"."));B=isNaN(B)?"":String(B).replace(".",this.decimalSeparator);Ext.form.NumberField.superclass.setValue.call(this,B)},parseValue:function(B){B=parseFloat(String(B).replace(this.decimalSeparator,"."));return isNaN(B)?"":B},fixPrecision:function(D){var C=isNaN(D);if(!this.allowDecimals||this.decimalPrecision==-1||C||!D){return C?"":D}return parseFloat(parseFloat(D).toFixed(this.decimalPrecision))},beforeBlur:function(){var B=this.parseValue(this.getRawValue());if(B){this.setValue(this.fixPrecision(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",disabledDays:null,disabledDaysText:"Disabled",disabledDates:null,disabledDatesText:"Disabled",minValue:null,maxValue:null,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",defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}this.ddMatch=null;if(this.disabledDates){var D=this.disabledDates;var E="(?:";for(var F=0;F<D.length;F++){E+=D[F];if(F!=D.length-1){E+="|"}}this.ddMatch=new RegExp(E+")")}},validateValue:function(I){I=this.formatDate(I);if(!Ext.form.DateField.superclass.validateValue.call(this,I)){return false}if(I.length<1){return true}var K=I;I=this.parseDate(I);if(!I){this.markInvalid(String.format(this.invalidText,K,this.format));return false}var H=I.getTime();if(this.minValue&&H<this.minValue.getTime()){this.markInvalid(String.format(this.minText,this.formatDate(this.minValue)));return false}if(this.maxValue&&H>this.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));return false}if(this.disabledDays){var G=I.getDay();for(var L=0;L<this.disabledDays.length;L++){if(G===this.disabledDays[L]){this.markInvalid(this.disabledDaysText);return false}}}var J=this.formatDate(I);if(this.ddMatch&&this.ddMatch.test(J)){this.markInvalid(String.format(this.disabledDatesText,J));return false}return true},validateBlur:function(){return !this.menu||!this.menu.isVisible()},getValue:function(){return this.parseDate(Ext.form.DateField.superclass.getValue.call(this))||""},setValue:function(B){Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(B)))},parseDate:function(F){if(!F||Ext.isDate(F)){return F}var H=Date.parseDate(F,this.format);if(!H&&this.altFormats){if(!this.altFormatsArray){this.altFormatsArray=this.altFormats.split("|")}for(var G=0,E=this.altFormatsArray.length;G<E&&!H;G++){H=Date.parseDate(F,this.altFormatsArray[G])}}return H},onDestroy:function(){if(this.menu){this.menu.destroy()}if(this.wrap){this.wrap.remove()}Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(B){return Ext.isDate(B)?B.dateFormat(this.format):B},menuListeners:{select:function(C,D){this.setValue(D)},show:function(){this.onFocus()},hide:function(){this.focus.defer(10,this);var B=this.menuListeners;this.menu.un("select",B.select,this);this.menu.un("show",B.show,this);this.menu.un("hide",B.hide,this)}},onTriggerClick:function(){if(this.disabled){return }if(this.menu==null){this.menu=new Ext.menu.DateMenu()}Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.ddMatch,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.on(Ext.apply({},this.menuListeners,{scope:this}));this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,"tl-bl?")},beforeBlur:function(){var B=this.parseDate(this.getRawValue());if(B){this.setValue(B)}}});Ext.reg("datefield",Ext.form.DateField);Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",selectedClass:"x-combo-selected",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,triggerAction:"query",minChars:4,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:"query",loadingText:"Loading...",resizable:false,handleHeight:8,editable:true,allQuery:"",mode:"remote",minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){this.allowDomMove=false;var M=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=M.name}if(!this.store){this.mode="local";var I=[],L=M.options;for(var N=0,H=L.length;N<H;N++){var J=L[N];var K=(Ext.isIE?J.getAttributeNode("value").specified:J.hasAttribute("value"))?J.value:J.text;if(J.selected){this.value=K}I.push([K,J.text])}this.store=new Ext.data.SimpleStore({id:0,fields:["value","text"],data:I});this.valueField="value";this.displayField="text"}M.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(M,this.autoCreate||this.defaultAutoCreate);Ext.removeNode(M);this.render(this.el.parentNode)}else{Ext.removeNode(M)}}else{if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.SimpleStore({fields:["value","text"],data:this.store});this.valueField="value"}else{this.store=new Ext.data.SimpleStore({fields:["text"],data:this.store,expandData:true});this.valueField="text"}this.displayField="text";this.mode="local"}}this.selectedIndex=-1;if(this.mode=="local"){if(this.initialConfig.queryDelay===undefined){this.queryDelay=10}if(this.initialConfig.minChars===undefined){this.minChars=0}}},onRender:function(D,C){Ext.form.ComboBox.superclass.onRender.call(this,D,C);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},"before",true);this.hiddenField.value=this.hiddenValue!==undefined?this.hiddenValue:this.value!==undefined?this.value:"";this.el.dom.removeAttribute("name")}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}if(!this.lazyInit){this.initList()}else{this.on("focus",this.initList,this,{single:true})}if(!this.editable){this.editable=true;this.setEditable(false)}},initList:function(){if(!this.list){var C="x-combo-list";this.list=new Ext.Layer({shadow:this.shadow,cls:[C,this.listClass].join(" "),constrain:false});var D=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(D);this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:C+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:C+"-inner"});this.innerList.on("mouseover",this.onViewOver,this);this.innerList.on("mousemove",this.onViewMove,this);this.innerList.setWidth(D-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:C+"-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="'+C+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+C+"-item"});this.view.on("click",this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.resizer.on("resize",function(A,F,B){this.maxHeight=B-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=F;this.innerList.setWidth(F-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},bindStore:function(C,D){if(this.store&&!D){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.collapse,this);if(!C){this.store=null;if(this.view){this.view.setStore(null)}}}if(C){this.store=Ext.StoreMgr.lookup(C);this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.collapse,this);if(this.view){this.view.setStore(C)}}},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();this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)},esc:function(B){this.collapse()},tab:function(B){this.onViewClick(false);return true},scope:this,doRelay:function(E,F,D){if(D=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});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.editable!==false){this.el.on("keyup",this.onKeyUp,this)}if(this.forceSelection){this.on("blur",this.doForce,this)}},onDestroy:function(){if(this.view){this.view.el.removeAllListeners();this.view.el.remove();this.view.purgeListeners()}if(this.list){this.list.destroy()}this.bindStore(null);Ext.form.ComboBox.superclass.onDestroy.call(this)},unsetDelayCheck:function(){delete this.delayedCheck},fireKey:function(B){if(B.isNavKeyPress()&&!this.isExpanded()&&!this.delayedCheck){this.fireEvent("specialkey",this,B)}},onResize:function(D,F){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.list&&this.listWidth===undefined){var E=Math.max(D,this.minListWidth);this.list.setWidth(E);this.innerList.setWidth(E-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}},setEditable:function(B){if(B==this.editable){return }this.editable=B;if(!B){this.el.dom.setAttribute("readOnly",true);this.el.on("mousedown",this.onTriggerClick,this);this.el.addClass("x-combo-noedit")}else{this.el.dom.setAttribute("readOnly",false);this.el.un("mousedown",this.onTriggerClick,this);this.el.removeClass("x-combo-noedit")}},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.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(!this.selectByValue(this.value,true)){this.select(0,true)}}else{this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onTypeAhead:function(){if(this.store.getCount()>0){var H=this.store.getAt(0);var G=H.data[this.displayField];var E=G.length;var F=this.getRawValue().length;if(F!=E){this.setRawValue(G);this.selectText(F,G.length)}}},onSelect:function(C,D){if(this.fireEvent("beforeselect",this,C,D)!==false){this.setValue(C.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,C,D)}},getValue:function(){if(this.valueField){return typeof this.value!="undefined"?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(D){var E=D;if(this.valueField){var F=this.findRecord(this.valueField,D);if(F){E=F.data[this.displayField]}else{if(this.valueNotFoundText!==undefined){E=this.valueNotFoundText}}}this.lastSelectionText=E;if(this.hiddenField){this.hiddenField.value=D}Ext.form.ComboBox.superclass.setValue.call(this,E);this.value=D},findRecord:function(E,F){var D;if(this.store.getCount()>0){this.store.each(function(A){if(A.data[E]==F){D=A;return false}})}return D},onViewMove:function(D,C){this.inKeyMode=false},onViewOver:function(F,H){if(this.inKeyMode){return }var G=this.view.findItemFromChild(H);if(G){var E=this.view.indexOf(G);this.select(E,false)}},onViewClick:function(F){var D=this.view.getSelectedIndexes()[0];var E=this.store.getAt(D);if(E){this.onSelect(E,D)}if(F!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var L=this.innerList.dom;var I=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;var K=Math.max(L.clientHeight,L.offsetHeight,L.scrollHeight);var G=this.getPosition()[1]-Ext.getBody().getScroll().top;var H=Ext.lib.Dom.getViewHeight()-G-this.getSize().height;var J=Math.max(G,H,this.minHeight||0)-this.list.shadowOffset-I-5;K=Math.min(K,J,this.maxHeight);this.innerList.setHeight(K);this.list.beginUpdate();this.list.setHeight(K+I);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(D,E){if(D!==undefined&&D!==null){var F=this.findRecord(this.valueField||this.displayField,D);if(F){this.select(this.store.indexOf(F),E);return true}}return false},select:function(D,E){this.selectedIndex=D;this.view.select(D);if(E!==false){var F=this.view.getNode(D);if(F){this.innerList.scrollChildIntoView(F,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(B){if(this.editable!==false&&!B.isSpecialKey()){this.lastKey=B.getKey();this.dqTask.delay(this.queryDelay)}},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},doForce:function(){if(this.el.dom.value.length>0){this.el.dom.value=this.lastSelectionText===undefined?"":this.lastSelectionText;this.applyEmptyText()}},doQuery:function(E,F){if(E===undefined||E===null){E=""}var D={query:E,forceAll:F,combo:this,cancel:false};if(this.fireEvent("beforequery",D)===false||D.cancel){return false}E=D.query;F=D.forceAll;if(F===true||(E.length>=this.minChars)){if(this.lastQuery!==E){this.lastQuery=E;if(this.mode=="local"){this.selectedIndex=-1;if(F){this.store.clearFilter()}else{this.store.filter(this.displayField,E)}this.onLoad()}else{this.store.baseParams[this.queryParam]=E;this.store.load({params:this.getParams(E)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(C){var D={};if(this.pageSize){D.start=0;D.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(!B.within(this.wrap)&&!B.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return }this.list.alignTo(this.wrap,this.listAlign);this.list.show();this.innerList.setOverflow("auto");Ext.getDoc().on("mousewheel",this.collapseIf,this);Ext.getDoc().on("mousedown",this.collapseIf,this);this.fireEvent("expand",this)},onTriggerClick:function(){if(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,defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},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.el.alignTo(this.wrap,"c-c")}},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.el.on("click",this.onClick,this);this.el.on("change",this.onClick,this)},getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,onRender:function(D,C){Ext.form.Checkbox.superclass.onRender.call(this,D,C);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}},onDestroy:function(){if(this.wrap){this.wrap.remove()}Ext.form.Checkbox.superclass.onDestroy.call(this)},initValue:Ext.emptyFn,getValue:function(){if(this.rendered){return this.el.dom.checked}return false},onClick:function(){if(this.el.dom.checked!=this.checked){this.setValue(this.el.dom.checked)}},setValue:function(B){this.checked=(B===true||B==="true"||B=="1"||String(B).toLowerCase()=="on");if(this.el&&this.el.dom){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked}this.fireEvent("check",this,this.checked)}});Ext.reg("checkbox",Ext.form.Checkbox);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,getGroupValue:function(){var C=this.el.up("form")||Ext.getBody();var D=C.child("input[name="+this.el.dom.name+"]:checked",true);return D?D.value:null},onClick:function(){if(this.el.dom.checked!=this.checked){var D=this.el.up("form")||Ext.getBody();var C=D.select("input[name="+this.el.dom.name+"]");C.each(function(A){if(A.dom.id==this.id){this.setValue(true)}else{Ext.getCmp(A.dom.id).setValue(false)}},this)}},setValue:function(C){if(typeof C=="boolean"){Ext.form.Radio.superclass.setValue.call(this,C)}else{var D=this.el.up("form").child("input[name="+this.el.dom.name+"][value="+C+"]",true);if(D){D.checked=true}}}});Ext.reg("radio",Ext.form.Radio);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:"hidden",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=function(D,C){Ext.apply(this,C);this.items=new Ext.util.MixedCollection(false,function(A){return A.id||(A.id=Ext.id())});this.addEvents("beforeaction","actionfailed","actioncomplete");if(D){this.initEl(D)}Ext.form.BasicForm.superclass.constructor.call(this)};Ext.extend(Ext.form.BasicForm,Ext.util.Observable,{timeout:30,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(){this.items.each(function(B){Ext.destroy(B)});if(this.el){this.el.removeAllListeners();this.el.remove()}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(D,C){if(typeof D=="string"){D=new Ext.form.Action.ACTION_TYPES[D](this,C)}if(this.fireEvent("beforeaction",this,D)!==false){this.beforeAction(D);D.run.defer(100,D)}return this},submit:function(D){if(this.standardSubmit){var C=this.isValid();if(C){this.el.dom.submit()}return C}this.doAction("submit",D);return this},load:function(B){this.doAction("load",B);return this},updateRecord:function(D){D.beginEdit();var C=D.fields;C.each(function(B){var A=this.findField(B.name);if(A){D.set(B.name,A.getValue())}},this);D.endEdit();return this},loadRecord:function(B){this.setValues(B.data);return this},beforeAction:function(C){var D=C.options;if(D.waitMsg){if(this.waitMsgTarget===true){this.el.mask(D.waitMsg,"x-mask-loading")}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(D.waitMsg,"x-mask-loading")}else{Ext.MessageBox.wait(D.waitMsg,D.waitTitle||this.waitTitle||"Please Wait...")}}}},afterAction:function(D,E){this.activeAction=null;var F=D.options;if(F.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(E){if(F.reset){this.reset()}Ext.callback(F.success,F.scope,[this,D]);this.fireEvent("actioncomplete",this,D)}else{Ext.callback(F.failure,F.scope,[this,D]);this.fireEvent("actionfailed",this,D)}},findField:function(D){var C=this.items.get(D);if(!C){this.items.each(function(A){if(A.isFormField&&(A.dataIndex==D||A.id==D||A.getName()==D)){C=A;return false}})}return C||null},markInvalid:function(I){if(Ext.isArray(I)){for(var M=0,H=I.length;M<H;M++){var N=I[M];var L=this.findField(N.id);if(L){L.markInvalid(N.msg)}}}else{var K,J;for(J in I){if(typeof I[J]!="function"&&(K=this.findField(J))){K.markInvalid(I[J])}}}return this},setValues:function(M){if(Ext.isArray(M)){for(var L=0,H=M.length;L<H;L++){var N=M[L];var K=this.findField(N.id);if(K){K.setValue(N.value);if(this.trackResetOnLoad){K.originalValue=K.getValue()}}}}else{var J,I;for(I in M){if(typeof M[I]!="function"&&(J=this.findField(I))){J.setValue(M[I]);if(this.trackResetOnLoad){J.originalValue=J.getValue()}}}}return this},getValues:function(D){var C=Ext.lib.Ajax.serializeForm(this.el.dom);if(D===true){return C}return Ext.urlDecode(C)},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},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}});Ext.BasicForm=Ext.form.BasicForm;Ext.FormPanel=Ext.extend(Ext.Panel,{buttonAlign:"center",minButtonWidth:75,labelAlign:"left",monitorValid:false,monitorPoll:200,layout:"form",initComponent:function(){this.form=this.createForm();Ext.FormPanel.superclass.initComponent.call(this);this.addEvents("clientvalidation");this.relayEvents(this.form,["beforeaction","actionfailed","actioncomplete"])},createForm:function(){delete this.initialConfig.listeners;return new Ext.form.BasicForm(null,this.initialConfig)},initFields:function(){var E=this.form;var D=this;var F=function(A){if(A.doLayout&&A!=D){Ext.applyIf(A,{labelAlign:A.ownerCt.labelAlign,labelWidth:A.ownerCt.labelWidth,itemCls:A.ownerCt.itemCls});if(A.items){A.items.each(F)}}else{if(A.isFormField){E.add(A)}}};this.items.each(F)},getLayoutTarget:function(){return this.form.el},getForm:function(){return this.form},onRender:function(F,D){this.initFields();Ext.FormPanel.superclass.onRender.call(this,F,D);var E={tag:"form",method:this.method||"POST",id:this.formId||Ext.id()};if(this.fileUpload){E.enctype="multipart/form-data"}this.form.initEl(this.body.createChild(E))},beforeDestroy:function(){Ext.FormPanel.superclass.beforeDestroy.call(this);Ext.destroy(this.form)},initEvents:function(){Ext.FormPanel.superclass.initEvents.call(this);this.items.on("remove",this.onRemove,this);this.items.on("add",this.onAdd,this);if(this.monitorValid){this.startMonitoring()}},onAdd:function(C,D){if(D.isFormField){this.form.add(D)}},onRemove:function(B){if(B.isFormField){Ext.destroy(B.container.up(".x-form-item"));this.form.remove(B)}},startMonitoring:function(){if(!this.bound){this.bound=true;Ext.TaskMgr.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){this.bound=false},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(){if(!this.bound){return false}var F=true;this.form.items.each(function(A){if(!A.isValid(true)){F=false;return false}});if(this.buttons){for(var G=0,E=this.buttons.length;G<E;G++){var H=this.buttons[G];if(H.formBind===true&&H.disabled===F){H.setDisabled(!F)}}}this.fireEvent("clientvalidation",this,F)}});Ext.reg("form",Ext.FormPanel);Ext.form.FormPanel=Ext.FormPanel;Ext.form.FieldSet=Ext.extend(Ext.Panel,{baseCls:"x-fieldset",layout:"form",onRender:function(F,D){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="x-fieldset-header"}}Ext.form.FieldSet.superclass.onRender.call(this,F,D);if(this.checkboxToggle){var E=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};this.checkbox=this.header.insertFirst(E);this.checkbox.dom.checked=!this.collapsed;this.checkbox.on("click",this.onCheckClick,this)}},onCollapse:function(C,D){if(this.checkbox){this.checkbox.dom.checked=false}this.afterCollapse()},onExpand:function(C,D){if(this.checkbox){this.checkbox.dom.checked=true}this.afterExpand()},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",validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:Ext.emptyFn,iframePad:3,hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:500px;height:100px;",autocomplete:"off"},initComponent:function(){this.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange")},createFontOptions:function(){var J=[],L=this.fontFamilies,K,H;for(var I=0,G=L.length;I<G;I++){K=L[I];H=K.toLowerCase();J.push('<option value="',H,'" style="font-family:',K,';"',(this.defaultFont==H?' selected="true">':">"),K,"</option>")}return J.join("")},createToolbar:function(F){var E=Ext.QuickTips&&Ext.QuickTips.isEnabled();function G(A,C,B){return{itemId:A,cls:"x-btn-icon x-edit-"+A,enableToggle:C!==false,scope:F,handler:B||F.relayBtnCmd,clickEvent:"mousedown",tooltip:E?F.buttonTips[A]||undefined:undefined,tabIndex:-1}}var H=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild});H.el.on("click",function(A){A.preventDefault()});if(this.enableFont&&!Ext.isSafari){this.fontSelect=H.el.createChild({tag:"select",cls:"x-font-select",html:this.createFontOptions()});this.fontSelect.on("change",function(){var A=this.fontSelect.dom.value;this.relayCmd("fontname",A);this.deferFocus()},this);H.add(this.fontSelect.dom,"-")}if(this.enableFormat){H.add(G("bold"),G("italic"),G("underline"))}if(this.enableFontSize){H.add("-",G("increasefontsize",false,this.adjustFont),G("decreasefontsize",false,this.adjustFont))}if(this.enableColors){H.add("-",{itemId:"forecolor",cls:"x-btn-icon x-edit-forecolor",clickEvent:"mousedown",tooltip:E?F.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,selectHandler:function(A,B){this.execCmd("forecolor",Ext.isSafari||Ext.isIE?"#"+B:B);this.deferFocus()},scope:this,clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon x-edit-backcolor",clickEvent:"mousedown",tooltip:E?F.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,selectHandler: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.isSafari||Ext.isIE?"#"+B:B);this.deferFocus()}},scope:this,clickEvent:"mousedown"})})}if(this.enableAlignments){H.add("-",G("justifyleft"),G("justifycenter"),G("justifyright"))}if(!Ext.isSafari){if(this.enableLinks){H.add("-",G("createlink",false,this.createLink))}if(this.enableLists){H.add("-",G("insertorderedlist"),G("insertunorderedlist"))}if(this.enableSourceEdit){H.add("-",G("sourceedit",true,function(A){this.toggleSourceEdit(A.pressed)}))}}this.tb=H},getDocMarkup:function(){return'<html><head><style type="text/css">body{border:0;margin:0;padding:3px;height:98%;cursor:text;}</style></head><body></body></html>'},getEditorBody:function(){return this.doc.body||this.doc.documentElement},onRender:function(G,E){Ext.form.HtmlEditor.superclass.onRender.call(this,G,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.tb.items.each(function(A){if(A.itemId!="sourceedit"){A.disable()}});var F=document.createElement("iframe");F.name=Ext.id();F.frameBorder="no";F.src=(Ext.SSL_SECURE_URL||"javascript:false");this.wrap.dom.appendChild(F);this.iframe=F;if(Ext.isIE){F.contentWindow.document.designMode="on";this.doc=F.contentWindow.document;this.win=F.contentWindow}else{this.doc=(F.contentDocument||window.frames[F.name].document);this.win=window.frames[F.name];this.doc.designMode="on"}this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var H={run:function(){if(this.doc.body||this.doc.readyState=="complete"){Ext.TaskMgr.stop(H);this.doc.designMode="on";this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(H);if(!this.width){this.setSize(this.el.getSize())}},onResize:function(H,G){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(typeof H=="number"){var F=H-this.wrap.getFrameWidth("lr");this.el.setWidth(this.adjustWidth("textarea",F));this.iframe.style.width=F+"px"}if(typeof G=="number"){var E=G-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(this.adjustWidth("textarea",E));this.iframe.style.height=E+"px";if(this.doc){this.getEditorBody().style.height=(E-(this.iframePad*2))+"px"}}}},toggleSourceEdit:function(D){if(D===undefined){D=!this.sourceEditMode}this.sourceEditMode=D===true;var E=this.tb.items.get("sourceedit");if(E.pressed!==this.sourceEditMode){E.toggle(this.sourceEditMode);return }if(this.sourceEditMode){this.tb.items.each(function(A){if(A.itemId!="sourceedit"){A.disable()}});this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus()}else{if(this.initialized){this.tb.items.each(function(A){A.enable()})}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus()}var F=this.lastSize;if(F){delete this.lastSize;this.setSize(F)}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var B=prompt(this.createLinkText,this.defaultLinkValue);if(B&&B!="http://"){this.relayCmd("createlink",B)}},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},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()},cleanHtml:function(B){B=String(B);if(B.length>5){if(Ext.isSafari){B=B.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}}if(B=="&nbsp;"){B=""}return B},syncValue:function(){if(this.initialized){var F=this.getEditorBody();var G=F.innerHTML;if(Ext.isSafari){var H=F.getAttribute("style");var E=H.match(/text-align:(.*?);/i);if(E&&E[1]){G='<div style="'+E[0]+'">'+G+"</div>"}}G=this.cleanHtml(G);if(this.fireEvent("beforesync",this,G)!==false){this.el.dom.value=G;this.fireEvent("sync",this,G)}}},pushValue:function(){if(this.initialized){var B=this.el.dom.value;if(!this.activated&&B.length<1){B="&nbsp;"}if(this.fireEvent("beforepush",this,B)!==false){this.getEditorBody().innerHTML=B;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(){var D=this.getEditorBody();var C=this.el.getStyles("font-size","font-family","background-image","background-repeat");C["background-attachment"]="fixed";D.bgProperties="fixed";Ext.DomHelper.applyStyles(D,C);Ext.EventManager.on(this.doc,{mousedown:this.onEditorEvent,dblclick:this.onEditorEvent,click:this.onEditorEvent,keyup:this.onEditorEvent,buffer:100,scope:this});if(Ext.isGecko){Ext.EventManager.on(this.doc,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isSafari||Ext.isOpera){Ext.EventManager.on(this.doc,"keydown",this.fixKeys,this)}this.initialized=true;this.fireEvent("initialize",this);this.pushValue()},onDestroy:function(){if(this.rendered){this.tb.items.each(function(B){if(B.menu){B.menu.removeAll();if(B.menu.el){B.menu.el.destroy()}}B.destroy()});this.wrap.dom.innerHTML="";this.wrap.remove()}},onFirstFocus:function(){this.activated=true;this.tb.items.each(function(A){A.enable()});if(Ext.isGecko){this.win.focus();var D=this.win.getSelection();if(!D.focusNode||D.focusNode.nodeType!=3){var F=D.getRangeAt(0);F.selectNodeContents(this.getEditorBody());F.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(E){}}this.fireEvent("activate",this)},adjustFont:function(F){var E=F.itemId=="increasefontsize"?1:-1;var D=parseInt(this.doc.queryCommandValue("FontSize")||2,10);if(Ext.isSafari3||Ext.isAir){if(D<=10){D=1+E}else{if(D<=13){D=2+E}else{if(D<=16){D=3+E}else{if(D<=18){D=4+E}else{if(D<=24){D=5+E}else{D=6+E}}}}}D=D.constrain(1,6)}else{if(Ext.isSafari){E*=2}D=Math.max(1,D+E)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",D)},onEditorEvent:function(B){this.updateToolbar()},updateToolbar:function(){if(!this.activated){this.onFirstFocus();return }var F=this.tb.items.map,E=this.doc;if(this.enableFont&&!Ext.isSafari){var D=(this.doc.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(D!=this.fontSelect.dom.value){this.fontSelect.dom.value=D}}if(this.enableFormat){F.bold.toggle(E.queryCommandState("bold"));F.italic.toggle(E.queryCommandState("italic"));F.underline.toggle(E.queryCommandState("underline"))}if(this.enableAlignments){F.justifyleft.toggle(E.queryCommandState("justifyleft"));F.justifycenter.toggle(E.queryCommandState("justifycenter"));F.justifyright.toggle(E.queryCommandState("justifyright"))}if(!Ext.isSafari&&this.enableLists){F.insertorderedlist.toggle(E.queryCommandState("insertorderedlist"));F.insertunorderedlist.toggle(E.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(B){this.relayCmd(B.itemId)},relayCmd:function(D,C){this.win.focus();this.execCmd(D,C);this.updateToolbar();this.deferFocus()},execCmd:function(D,C){this.doc.execCommand(D,false,C===undefined?null:C);this.syncValue()},applyCommand:function(F){if(F.ctrlKey){var E=F.getCharCode(),D;if(E>0){E=String.fromCharCode(E);switch(E){case"b":D="bold";break;case"i":D="italic";break;case"u":D="underline";break}if(D){this.win.focus();this.execCmd(D);this.deferFocus();F.preventDefault()}}}},insertAtCursor:function(D){if(!this.activated){return }if(Ext.isIE){this.win.focus();var C=this.doc.selection.createRange();if(C){C.collapse(true);C.pasteHTML(D);this.syncValue();this.deferFocus()}}else{if(Ext.isGecko||Ext.isOpera){this.win.focus();this.execCmd("InsertHTML",D);this.deferFocus()}else{if(Ext.isSafari){this.execCmd("InsertText",D);this.deferFocus()}}}},fixKeys:function(){if(Ext.isIE){return function(F){var E=F.getKey(),H;if(E==F.TAB){F.stopEvent();H=this.doc.selection.createRange();if(H){H.collapse(true);H.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else{if(E==F.ENTER){H=this.doc.selection.createRange();if(H){var G=H.parentElement();if(!G||G.tagName.toLowerCase()!="li"){F.stopEvent();H.pasteHTML("<br />");H.collapse(false);H.select()}}}}}}else{if(Ext.isOpera){return function(D){var C=D.getKey();if(C==D.TAB){D.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}}else{if(Ext.isSafari){return function(D){var C=D.getKey();if(C==D.TAB){D.stopEvent();this.execCmd("InsertText","\t");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:null,maxValue:null,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",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initComponent:function(){Ext.form.TimeField.superclass.initComponent.call(this);if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}if(!this.store){var F=this.parseDate(this.minValue);if(!F){F=new Date().clearTime()}var D=this.parseDate(this.maxValue);if(!D){D=new Date().clearTime().add("mi",(24*60)-1)}var E=[];while(F<=D){E.push([F.dateFormat(this.format)]);F=F.add("mi",this.increment)}this.store=new Ext.data.SimpleStore({fields:["text"],data:E});this.displayField="text"}},getValue:function(){var B=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(B))||""},setValue:function(B){Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(B)))},validateValue:Ext.form.DateField.prototype.validateValue,parseDate:Ext.form.DateField.prototype.parseDate,formatDate:Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var B=this.parseDate(this.getRawValue());if(B){this.setValue(B.dateFormat(this.format))}}});Ext.reg("timefield",Ext.form.TimeField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(D,C){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("htmlFor",this.forId)}}Ext.form.Label.superclass.onRender.call(this,D,C)}});Ext.reg("label",Ext.form.Label);Ext.form.Action=function(D,C){this.form=D;this.options=C||{}};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){return true}this.result=this.handleResponse(B);return this.result},getUrl:function(E){var D=this.options.url||this.form.url||this.form.el.dom.action;if(E){var F=this.getParams();if(F){D+=(D.indexOf("?")!=-1?"&":"?")+F}}return D},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var C=this.form.baseParams;var D=this.options.params;if(D){if(typeof D=="object"){D=Ext.urlEncode(Ext.applyIf(D,C))}else{if(typeof D=="string"&&C){D+="&"+Ext.urlEncode(C)}}}else{if(C){D=Ext.urlEncode(C)}}return D},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(D,C){Ext.form.Action.Submit.superclass.constructor.call(this,D,C)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:"submit",run:function(){var F=this.options;var E=this.getMethod();var D=E=="GET";if(F.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(F),{form:this.form.el.dom,url:this.getUrl(D),method:E,headers:F.headers,params:!D?this.getParams():null,isUpload:this.form.fileUpload}))}else{if(F.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(D){var C=this.processResponse(D);if(C===true||C.success){this.form.afterAction(this,true);return }if(C.errors){this.form.markInvalid(C.errors);this.failureType=Ext.form.Action.SERVER_INVALID}this.form.afterAction(this,false)},handleResponse:function(K){if(this.form.errorReader){var L=this.form.errorReader.read(K);var H=[];if(L.records){for(var J=0,G=L.records.length;J<G;J++){var I=L.records[J];H[J]=I.data}}if(H.length<1){H=null}return{success:L.success,errors:H}}return Ext.decode(K.responseText)}});Ext.form.Action.Load=function(D,C){Ext.form.Action.Load.superclass.constructor.call(this,D,C);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(D){var C=this.processResponse(D);if(C===true||!C.success||!C.data){this.failureType=Ext.form.Action.LOAD_FAILURE;this.form.afterAction(this,false);return }this.form.clearInvalid();this.form.setValues(C.data);this.form.afterAction(this,true)},handleResponse:function(F){if(this.form.reader){var D=this.form.reader.read(F);var E=D.records&&D.records[0]?D.records[0].data:null;return{success:D.success,data:E}}return Ext.decode(F.responseText)}});Ext.form.Action.ACTION_TYPES={load:Ext.form.Action.Load,submit:Ext.form.Action.Submit};Ext.form.VTypes=function(){var G=/^[a-zA-Z_]+$/;var F=/^[a-zA-Z0-9_]+$/;var H=/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/;var E=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{email:function(A){return H.test(A)},emailText:'This field should be an e-mail address in the format "user@domain.com"',emailMask:/[a-z0-9_\.\-@]/i,url:function(A){return E.test(A)},urlText:'This field should be a URL in the format "http://www.domain.com"',alpha:function(A){return G.test(A)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(A){return F.test(A)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{ddText:"{0} selected row{1}",minColumnWidth:25,trackMouseOver:true,enableDragDrop:false,enableColumnMove:true,enableColumnHide:true,enableHdMenu:true,stripeRows:false,autoExpandColumn:false,autoExpandMin:50,autoExpandMax:1000,view:null,loadMask:false,rendered:false,viewReady:false,stateEvents:["columnmove","columnresize","sortchange"],initComponent:function(){Ext.grid.GridPanel.superclass.initComponent.call(this);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","cellclick","celldblclick","rowclick","rowdblclick","headerclick","headerdblclick","rowcontextmenu","cellcontextmenu","headercontextmenu","bodyscroll","columnresize","columnmove","sortchange")},onRender:function(G,E){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var F=this.body;this.el.addClass("x-grid-panel");var H=this.getView();H.init(this);F.on("mousedown",this.onMouseDown,this);F.on("click",this.onClick,this);F.on("dblclick",this.onDblClick,this);F.on("contextmenu",this.onContextMenu,this);F.on("keydown",this.onKeyDown,this);this.relayEvents(F,["mousedown","mouseup","mouseover","mouseout","keypress"]);this.getSelectionModel().init(this);this.view.render()},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.colModel.on("hiddenchange",this.saveState,this,{delay:100})},applyState:function(L){var P=this.colModel;var M=L.columns;if(M){for(var O=0,I=M.length;O<I;O++){var N=M[O];var J=P.getColumnById(N.id);if(J){J.hidden=N.hidden;J.width=N.width;var K=P.getIndexById(N.id);if(K!=O){P.moveColumn(K,O)}}}}if(L.sort){this.store[this.store.remoteSort?"setDefaultSort":"sort"](L.sort.field,L.sort.direction)}},getState:function(){var G={columns:[]};for(var H=0,F;F=this.colModel.config[H];H++){G.columns[H]={id:F.id,width:F.width};if(F.hidden){G.columns[H].hidden=true}}var E=this.store.getSortState();if(E){G.sort=E}return G},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.call(this);this.view.layout();this.viewReady=true},reconfigure:function(C,D){if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({store:C},this.initialConfig.loadMask))}this.view.bind(C,D);this.store=C;this.colModel=D;if(this.rendered){this.view.refresh(true)}},onKeyDown:function(B){this.fireEvent("keydown",B)},onDestroy:function(){if(this.rendered){if(this.loadMask){this.loadMask.destroy()}var B=this.body;B.removeAllListeners();this.view.destroy();B.update("")}this.colModel.purgeListeners();Ext.grid.GridPanel.superclass.onDestroy.call(this)},processEvent:function(M,K){this.fireEvent(M,K);var L=K.getTarget();var N=this.view;var I=N.findHeaderIndex(L);if(I!==false){this.fireEvent("header"+M,this,I,K)}else{var J=N.findRowIndex(L);var H=N.findCellIndex(L);if(J!==false){this.fireEvent("row"+M,this,J,K);if(H!==false){this.fireEvent("cell"+M,this,J,H,K)}}}},onClick:function(B){this.processEvent("click",B)},onMouseDown:function(B){this.processEvent("mousedown",B)},onContextMenu:function(D,C){this.processEvent("contextmenu",D)},onDblClick:function(B){this.processEvent("dblclick",B)},walkCells:function(O,L,M,T,P){var Q=this.colModel,S=Q.getColumnCount();var N=this.store,R=N.getCount(),K=true;if(M<0){if(L<0){O--;K=false}while(O>=0){if(!K){L=S-1}K=false;while(L>=0){if(T.call(P||this,O,L,Q)===true){return[O,L]}L--}O--}}else{if(L>=S){O++;K=false}while(O<R){if(!K){L=0}K=false;while(L<S){if(T.call(P||this,O,L,Q)===true){return[O,L]}L++}O++}}return null},getSelections:function(){return this.selModel.getSelections()},onResize:function(){Ext.grid.GridPanel.superclass.onResize.apply(this,arguments);if(this.viewReady){this.view.layout()}},getGridEl:function(){return this.body},stopEditing:function(){},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.GridView=function(B){Ext.apply(this,B);this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");Ext.grid.GridView.superclass.constructor.call(this)};Ext.extend(Ext.grid.GridView,Ext.util.Observable,{deferEmptyText:true,scrollOffset:19,autoFill:false,forceFit:false,sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",columnsText:"Columns",borderWidth:2,initTemplates:function(){var E=this.templates||{};if(!E.master){E.master=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">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body">{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>")}if(!E.header){E.header=new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>',"</table>")}if(!E.hcell){E.hcell=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id}" 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 class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div></td>")}if(!E.body){E.body=new Ext.Template("{rows}")}if(!E.row){E.row=new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}"><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></div>")}if(!E.cell){E.cell=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>")}for(var D in E){var F=E[D];if(F&&typeof F.compile=="function"&&!F.compiled){F.disableFormats=true;F.compile()}}this.templates=E;this.tdClass="x-grid3-cell";this.cellSelector="td.x-grid3-cell";this.hdCls="x-grid3-hd";this.rowSelector="div.x-grid3-row";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(B){return this.scroller.dom},initElements:function(){var E=Ext.Element;var F=this.grid.getGridEl().dom.firstChild;var D=F.childNodes;this.el=new E(F);this.mainWrap=new E(D[0]);this.mainHd=new E(this.mainWrap.dom.firstChild);if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)}this.innerHd=this.mainHd.dom.firstChild;this.scroller=new E(this.mainWrap.dom.childNodes[1]);if(this.forceFit){this.scroller.setStyle("overflow-x","hidden")}this.mainBody=new E(this.scroller.dom.firstChild);this.focusEl=new E(this.scroller.dom.childNodes[1]);this.focusEl.swallowEvent("click",true);this.resizeMarker=new E(D[1]);this.resizeProxy=new E(D[2])},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(B){if(!B){return false}return this.fly(B).findParent(this.cellSelector,3)},findCellIndex:function(E,F){var D=this.findCell(E);if(D&&(!F||this.fly(D).hasClass(F))){return this.getCellIndex(D)}return false},getCellIndex:function(D){if(D){var C=D.className.match(this.colRe);if(C&&C[1]){return this.cm.getIndexById(C[1])}}return false},findHeaderCell:function(D){var C=this.findCell(D);return C&&this.fly(C).hasClass(this.hdCls)?C:null},findHeaderIndex:function(B){return this.findCellIndex(B,this.hdCls)},findRow:function(B){if(!B){return false}return this.fly(B).findParent(this.rowSelector,10)},findRowIndex:function(C){var D=this.findRow(C);return D?D.rowIndex:false},getRow:function(B){return this.getRows()[B]},getCell:function(D,C){return this.getRow(D).getElementsByTagName("td")[C]},getHeaderCell:function(B){return this.mainHd.dom.getElementsByTagName("td")[B]},addRowClass:function(E,D){var F=this.getRow(E);if(F){this.fly(F).addClass(D)}},removeRowClass:function(E,D){var F=this.getRow(E);if(F){this.fly(F).removeClass(D)}},removeRow:function(B){Ext.removeNode(this.getRow(B))},removeRows:function(G,E){var H=this.mainBody.dom;for(var F=G;F<=E;F++){Ext.removeNode(H.childNodes[G])}},getScrollState:function(){var B=this.scroller.dom;return{left:B.scrollLeft,top:B.scrollTop}},restoreScroll:function(C){var D=this.scroller.dom;D.scrollLeft=C.left;D.scrollTop=C.top},scrollToTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var B=this.scroller.dom;this.grid.fireEvent("bodyscroll",B.scrollLeft,B.scrollTop)},syncHeaderScroll:function(){var B=this.scroller.dom;this.innerHd.scrollLeft=B.scrollLeft;this.innerHd.scrollLeft=B.scrollLeft},updateSortIcon:function(H,E){var F=this.sortClasses;var G=this.mainHd.select("td").removeClass(F);G.item(H).addClass(F[E=="DESC"?1:0])},updateAllColumnWidths:function(){var J=this.getTotalWidth();var O=this.cm.getColumnCount();var Q=[];for(var L=0;L<O;L++){Q[L]=this.getColumnWidth(L)}this.innerHd.firstChild.firstChild.style.width=J;for(var L=0;L<O;L++){var K=this.getHeaderCell(L);K.style.width=Q[L]}var P=this.getRows();for(var L=0,R=P.length;L<R;L++){P[L].style.width=J;P[L].firstChild.style.width=J;var N=P[L].firstChild.rows[0];for(var M=0;M<O;M++){N.childNodes[M].style.width=Q[M]}}this.onAllColumnWidthsUpdated(Q,J)},updateColumnWidth:function(N,K){var P=this.getColumnWidth(N);var O=this.getTotalWidth();this.innerHd.firstChild.firstChild.style.width=O;var J=this.getHeaderCell(N);J.style.width=P;var L=this.getRows();for(var M=0,I=L.length;M<I;M++){L[M].style.width=O;L[M].firstChild.style.width=O;L[M].firstChild.rows[0].childNodes[N].style.width=P}this.onColumnWidthUpdated(N,P,O)},updateColumnHidden:function(O,L){var P=this.getTotalWidth();this.innerHd.firstChild.firstChild.style.width=P;var J=L?"none":"";var K=this.getHeaderCell(O);K.style.display=J;var M=this.getRows();for(var N=0,I=M.length;N<I;N++){M[N].style.width=P;M[N].firstChild.style.width=P;M[N].firstChild.rows[0].childNodes[O].style.display=J}this.onColumnHiddenUpdated(O,L,P);delete this.lastViewWidth;this.layout()},doRender:function(p,n,g,t,h,b){var s=this.templates,q=s.cell,o=s.row,m=h-1;var r="width:"+this.getTotalWidth()+";";var Y=[],e,X,d={},l={tstyle:r},i;for(var c=0,Z=n.length;c<Z;c++){i=n[c];e=[];var k=(c+t);for(var a=0;a<h;a++){X=p[a];d.id=X.id;d.css=a==0?"x-grid3-cell-first ":(a==m?"x-grid3-cell-last ":"");d.attr=d.cellAttr="";d.value=X.renderer(i.data[X.name],d,i,k,a,g);d.style=X.style;if(d.value==undefined||d.value===""){d.value="&#160;"}if(i.dirty&&typeof i.modified[X.name]!=="undefined"){d.css+=" x-grid3-dirty-cell"}e[e.length]=q.apply(d)}var W=[];if(b&&((k+1)%2==0)){W[0]="x-grid3-row-alt"}if(i.dirty){W[1]=" x-grid3-dirty-row"}l.cols=h;if(this.getRowClass){W[2]=this.getRowClass(i,k,l,g)}l.alt=W.join(" ");l.cells=e.join("");Y[Y.length]=o.apply(l)}return Y.join("")},processRows:function(R,J){if(this.ds.getCount()<1){return }J=J||!this.grid.stripeRows;R=R||0;var N=this.getRows();var Q=" x-grid3-row-alt ";for(var L=R,K=N.length;L<K;L++){var O=N[L];O.rowIndex=L;if(!J){var M=((L+1)%2==0);var P=(" "+O.className+" ").indexOf(Q)!=-1;if(M==P){continue}if(M){O.className+=" x-grid3-row-alt"}else{O.className=O.className.replace("x-grid3-row-alt","")}}}},renderUI:function(){var F=this.renderHeaders();var E=this.templates.body.apply({rows:""});var H=this.templates.master.apply({body:E,header:F});var G=this.grid;G.getGridEl().dom.innerHTML=H;this.initElements();this.mainBody.dom.innerHTML=this.renderRows();this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}Ext.fly(this.innerHd).on("click",this.handleHdDown,this);this.mainHd.on("mouseover",this.handleHdOver,this);this.mainHd.on("mouseout",this.handleHdOut,this);this.mainHd.on("mousemove",this.handleHdMove,this);this.scroller.on("scroll",this.syncScroll,this);if(G.enableColumnResize!==false){this.splitone=new Ext.grid.GridView.SplitDragZone(G,this.mainHd.dom)}if(G.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(G,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(G,this.mainHd.dom)}if(G.enableHdMenu!==false){if(G.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:G.id+"-hcols-menu"});this.colMenu.on("beforeshow",this.beforeColMenuShow,this);this.colMenu.on("itemclick",this.handleHdMenuClick,this)}this.hmenu=new Ext.menu.Menu({id:G.id+"-hctx"});this.hmenu.add({id:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{id:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"});if(G.enableColumnHide!==false){this.hmenu.add("-",{id:"columns",text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})}this.hmenu.on("itemclick",this.handleHdMenuClick,this)}if(G.enableDragDrop||G.enableDrag){this.dragZone=new Ext.grid.GridDragZone(G,{ddGroup:G.ddGroup||"GridDD"})}this.updateHeaderSortState()},layout:function(){if(!this.mainBody){return }var K=this.grid;var H=K.getGridEl();var G=H.getSize(true);var L=G.width;if(L<20||G.height<20){return }if(K.autoHeight){this.scroller.dom.style.overflow="visible"}else{this.el.setSize(G.width,G.height);var I=this.mainHd.getHeight();var J=G.height-(I);this.scroller.setSize(L,J);if(this.innerHd){this.innerHd.style.width=(L)+"px"}}if(this.forceFit){if(this.lastViewWidth!=L){this.fitColumns(false,false);this.lastViewWidth=L}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(L,J)},onLayout:function(C,D){},onColumnWidthUpdated:function(E,D,F){},onAllColumnWidthsUpdated:function(C,D){},onColumnHiddenUpdated:function(F,E,D){},updateColumnText:function(C,D){},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)},renderHeaders:function(){var O=this.cm,L=this.templates;var M=L.hcell;var P=[],J=[],K={};for(var N=0,I=O.getColumnCount();N<I;N++){K.id=O.getColumnId(N);K.value=O.getColumnHeader(N)||"";K.style=this.getColumnStyle(N,true);K.tooltip=this.getColumnTooltip(N);if(O.config[N].align=="right"){K.istyle="padding-right:16px"}else{delete K.istyle}P[P.length]=M.apply(K)}return L.header.apply({cells:P.join(""),tstyle:"width:"+this.getTotalWidth()+";"})},getColumnTooltip:function(C){var D=this.cm.getColumnTooltip(C);if(D){if(Ext.QuickTips.isEnabled()){return'ext:qtip="'+D+'"'}else{return'title="'+D+'"'}}return""},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders()},focusRow:function(B){this.focusCell(B,0,false)},focusCell:function(F,E,G){var H=this.ensureVisible(F,E,G);this.focusEl.setXY(H);if(Ext.isGecko){this.focusEl.focus()}else{this.focusEl.focus.defer(1,this.focusEl)}},ensureVisible:function(U,g,Q){if(typeof U!="number"){U=U.rowIndex}if(!this.ds){return }if(U<0||U>=this.ds.getCount()){return }g=(g!==undefined?g:0);var b=this.getRow(U),e;if(!(Q===false&&g===0)){while(this.cm.isHidden(g)){g++}e=this.getCell(U,g)}if(!b){return }var Y=this.scroller.dom;var V=0;var R=b,X=this.el.dom;while(R&&R!=X){V+=R.offsetTop;R=R.offsetParent}V-=this.mainHd.dom.offsetHeight;var W=V+b.offsetHeight;var T=Y.clientHeight;var X=parseInt(Y.scrollTop,10);var Z=X+T;if(V<X){Y.scrollTop=V}else{if(W>Z){Y.scrollTop=W-T}}if(Q!==false){var a=parseInt(e.offsetLeft,10);var c=a+e.offsetWidth;var d=parseInt(Y.scrollLeft,10);var S=d+Y.clientWidth;if(a<d){Y.scrollLeft=a}else{if(c>S){Y.scrollLeft=c-Y.clientWidth}}}return e?Ext.fly(e).getXY():[Y.scrollLeft,Ext.fly(b).getY()]},insertRows:function(G,H,K,I){if(!I&&H===0&&K==G.getCount()-1){this.refresh()}else{if(!I){this.fireEvent("beforerowsinserted",this,H,K)}var L=this.renderRows(H,K);var J=this.getRow(H);if(J){Ext.DomHelper.insertHtml("beforeBegin",J,L)}else{Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,L)}if(!I){this.fireEvent("rowsinserted",this,H,K);this.processRows(H)}}},deleteRows:function(D,E,F){if(D.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,E,F);this.removeRows(E,F);this.processRows(E);this.fireEvent("rowsdeleted",this,E,F)}},getColumnStyle:function(E,G){var H=!G?(this.cm.config[E].css||""):"";H+="width:"+this.getColumnWidth(E)+";";if(this.cm.isHidden(E)){H+="display:none;"}var F=this.cm.config[E].align;if(F){H+="text-align:"+F+";"}return H},getColumnWidth:function(D){var C=this.cm.getColumnWidth(D);if(typeof C=="number"){return(Ext.isBorderBox?C:(C-this.borderWidth>0?C-this.borderWidth:0))+"px"}return C},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(k,g,i){var h=this.cm,T,a,X;var U=h.getTotalWidth(false);var c=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(c<20){return }var m=c-U;if(m===0){return false}var n=h.getColumnCount(true);var W=n-(typeof i=="number"?1:0);if(W===0){W=1;i=undefined}var b=h.getColumnCount();var d=[];var Y=0;var Z=0;var e;for(X=0;X<b;X++){if(!h.isHidden(X)&&!h.isFixed(X)&&X!==i){e=h.getColumnWidth(X);d.push(X);Y=X;d.push(e);Z+=e}}var l=(c-h.getTotalWidth())/Z;while(d.length){e=d.pop();X=d.pop();h.setColumnWidth(X,Math.max(this.grid.minColumnWidth,Math.floor(e+e*l)),true)}if((U=h.getTotalWidth(false))>c){var V=W!=n?i:Y;h.setColumnWidth(V,Math.max(1,h.getColumnWidth(V)-(U-c)),true)}if(k!==true){this.updateAllColumnWidths()}return true},autoExpand:function(P){var K=this.grid,I=this.cm;if(!this.userResized&&K.autoExpandColumn){var N=I.getTotalWidth(false);var J=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(N!=J){var L=I.getIndexById(K.autoExpandColumn);var M=I.getColumnWidth(L);var O=Math.min(Math.max(((J-N)+M),K.autoExpandMin),K.autoExpandMax);if(O!=M){I.setColumnWidth(L,O,true);if(P!==true){this.updateColumnWidth(L,O)}}}}},getColumnData:function(){var H=[],F=this.cm,G=F.getColumnCount();for(var I=0;I<G;I++){var J=F.getDataIndex(I);H[I]={name:(typeof J=="undefined"?this.ds.fields.get(I).name:J),renderer:F.getRenderer(I),id:F.getColumnId(I),style:this.getColumnStyle(I)}}return H},renderRows:function(O,K){var J=this.grid,Q=J.colModel,M=J.store,N=J.stripeRows;var P=Q.getColumnCount();if(M.getCount()<1){return""}var R=this.getColumnData();O=O||0;K=typeof K=="undefined"?M.getCount()-1:K;var L=M.getRange(O,K);return this.doRender(R,L,M,O,P,N)},renderBody:function(){var B=this.renderRows();return this.templates.body.apply({rows:B})},refreshRow:function(H){var F=this.ds,G;if(typeof H=="number"){G=H;H=F.getAt(G)}else{G=F.indexOf(H)}var E=[];this.insertRows(F,G,G,true);this.getRow(G).rowIndex=G;this.onRemove(F,H,G+1,true);this.fireEvent("rowupdated",this,G,H)},refresh:function(D){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var C=this.renderBody();this.mainBody.update(C);if(D===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 F=this.ds.getSortState();if(!F){return }if(!this.sortState||(this.sortState.field!=F.field||this.sortState.direction!=F.direction)){this.grid.fireEvent("sortchange",this.grid,F)}this.sortState=F;var E=this.cm.findColumnIndex(F.field);if(E!=-1){var D=F.direction;this.updateSortIcon(E,D)}},destroy:function(){if(this.colMenu){this.colMenu.removeAll();Ext.menu.MenuMgr.unregister(this.colMenu);this.colMenu.getEl().remove();delete this.colMenu}if(this.hmenu){this.hmenu.removeAll();Ext.menu.MenuMgr.unregister(this.hmenu);this.hmenu.getEl().remove();delete this.hmenu}if(this.grid.enableColumnMove){var E=Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id];if(E){for(var D in E){if(!E[D].config.isTarget&&E[D].dragElId){var F=E[D].dragElId;E[D].unreg();Ext.get(F).remove()}else{if(E[D].config.isTarget){E[D].proxyTop.remove();E[D].proxyBottom.remove();E[D].unreg()}}if(Ext.dd.DDM.locationCache[D]){delete Ext.dd.DDM.locationCache[D]}}delete Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id]}}Ext.destroy(this.resizeMarker,this.resizeProxy);if(this.dragZone){this.dragZone.unreg()}this.initData(null,null);Ext.EventManager.removeResizeListener(this.onWindowResize,this)},onDenyColumnHide:function(){},render:function(){var C=this.cm;var D=C.getColumnCount();if(this.autoFill){this.fitColumns(true,true)}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.renderUI()},initData:function(D,C){if(this.ds){this.ds.un("load",this.onLoad,this);this.ds.un("datachanged",this.onDataChange,this);this.ds.un("add",this.onAdd,this);this.ds.un("remove",this.onRemove,this);this.ds.un("update",this.onUpdate,this);this.ds.un("clear",this.onClear,this)}if(D){D.on("load",this.onLoad,this);D.on("datachanged",this.onDataChange,this);D.on("add",this.onAdd,this);D.on("remove",this.onRemove,this);D.on("update",this.onUpdate,this);D.on("clear",this.onClear,this)}this.ds=D;if(this.cm){this.cm.un("configchange",this.onColConfigChange,this);this.cm.un("widthchange",this.onColWidthChange,this);this.cm.un("headerchange",this.onHeaderChange,this);this.cm.un("hiddenchange",this.onHiddenChange,this);this.cm.un("columnmoved",this.onColumnMove,this);this.cm.un("columnlockchange",this.onColumnLock,this)}if(C){C.on("configchange",this.onColConfigChange,this);C.on("widthchange",this.onColWidthChange,this);C.on("headerchange",this.onHeaderChange,this);C.on("hiddenchange",this.onHiddenChange,this);C.on("columnmoved",this.onColumnMove,this);C.on("columnlockchange",this.onColumnLock,this)}this.cm=C},onDataChange:function(){this.refresh();this.updateHeaderSortState()},onClear:function(){this.refresh()},onUpdate:function(D,C){this.refreshRow(C)},onAdd:function(E,D,F){this.insertRows(E,F,F+(D.length-1))},onRemove:function(F,E,H,G){if(G!==true){this.fireEvent("beforerowremoved",this,H,E)}this.removeRow(H);if(G!==true){this.processRows(H);this.applyEmptyText();this.fireEvent("rowremoved",this,H,E)}},onLoad:function(){this.scrollToTop()},onColWidthChange:function(D,F,E){this.updateColumnWidth(F,E)},onHeaderChange:function(D,F,E){this.updateHeaders()},onHiddenChange:function(D,F,E){this.updateColumnHidden(F,E)},onColumnMove:function(E,F,H){this.indexMap=null;var G=this.getScrollState();this.refresh(true);this.restoreScroll(G);this.afterMove(H)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(B){B.on("headerclick",this.onHeaderClick,this);if(B.trackMouseOver){B.on("mouseover",this.onRowOver,this);B.on("mouseout",this.onRowOut,this)}},initEvents:function(){},onHeaderClick:function(D,C){if(this.headersDisabled||!this.cm.isSortable(C)){return }D.stopEditing(true);D.store.sort(this.cm.getDataIndex(C))},onRowOver:function(F,D){var E;if((E=this.findRowIndex(D))!==false){this.addRowClass(E,"x-grid3-row-over")}},onRowOut:function(F,D){var E;if((E=this.findRowIndex(D))!==false&&E!==this.findRowIndex(F.getRelatedTarget())){this.removeRowClass(E,"x-grid3-row-over")}},handleWheel:function(B){B.stopPropagation()},onRowSelect:function(B){this.addRowClass(B,"x-grid3-row-selected")},onRowDeselect:function(B){this.removeRowClass(B,"x-grid3-row-selected")},onCellSelect:function(E,F){var D=this.getCell(E,F);if(D){this.fly(D).addClass("x-grid3-cell-selected")}},onCellDeselect:function(E,F){var D=this.getCell(E,F);if(D){this.fly(D).removeClass("x-grid3-cell-selected")}},onColumnSplitterMoved:function(E,F){this.userResized=true;var D=this.grid.colModel;D.setColumnWidth(E,F,true);if(this.forceFit){this.fitColumns(true,false,E);this.updateAllColumnWidths()}else{this.updateColumnWidth(E,F)}this.grid.fireEvent("columnresize",E,F)},handleHdMenuClick:function(G){var H=this.hdCtxIndex;var E=this.cm,F=this.ds;switch(G.id){case"asc":F.sort(E.getDataIndex(H),"ASC");break;case"desc":F.sort(E.getDataIndex(H),"DESC");break;default:H=E.getIndexById(G.id.substr(4));if(H!=-1){if(G.checked&&E.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}E.setHidden(H,G.checked)}}return true},isHideableColumn:function(B){return !B.hidden&&!B.fixed},beforeColMenuShow:function(){var D=this.cm,E=D.getColumnCount();this.colMenu.removeAll();for(var F=0;F<E;F++){if(D.config[F].fixed!==true&&D.config[F].hideable!==false){this.colMenu.add(new Ext.menu.CheckItem({id:"col-"+D.getColumnId(F),text:D.getColumnHeader(F),checked:!D.isHidden(F),hideOnClick:false,disabled:D.config[F].hideable===false}))}}},handleHdDown:function(H,J){if(Ext.fly(J).hasClass("x-grid3-hd-btn")){H.stopEvent();var I=this.findHeaderCell(J);Ext.fly(I).addClass("x-grid3-hd-menu-open");var K=this.getCellIndex(I);this.hdCtxIndex=K;var L=this.hmenu.items,G=this.cm;L.get("asc").setDisabled(!G.isSortable(K));L.get("desc").setDisabled(!G.isSortable(K));this.hmenu.on("hide",function(){Ext.fly(I).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(J,"tl-bl?")}},handleHdOver:function(F,E){var G=this.findHeaderCell(E);if(G&&!this.headersDisabled){this.activeHd=G;this.activeHdIndex=this.getCellIndex(G);var H=this.fly(G);this.activeHdRegion=H.getRegion();if(!this.cm.isMenuDisabled(this.activeHdIndex)){H.addClass("x-grid3-hd-over");this.activeHdBtn=H.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(G.firstChild.offsetHeight-1)+"px"}}}},handleHdMove:function(H,J){if(this.activeHd&&!this.headersDisabled){var L=this.splitHandleWidth||5;var I=this.activeHdRegion;var G=H.getPageX();var K=this.activeHd.style;if(G-I.left<=L&&this.cm.isResizable(this.activeHdIndex-1)){K.cursor=Ext.isAir?"move":Ext.isSafari?"e-resize":"col-resize"}else{if(I.right-G<=(!this.activeHdBtn?L:2)&&this.cm.isResizable(this.activeHdIndex)){K.cursor=Ext.isAir?"move":Ext.isSafari?"w-resize":"col-resize"}else{K.cursor=""}}}},handleHdOut:function(E,D){var F=this.findHeaderCell(D);if(F&&(!Ext.isIE||!E.within(F,true))){this.activeHd=null;this.fly(F).removeClass("x-grid3-hd-over");F.style.cursor=""}},hasRows:function(){var B=this.mainBody.dom.firstChild;return B&&B.className!="x-grid-empty"},bind:function(C,D){this.initData(C,D)}});Ext.grid.GridView.SplitDragZone=function(C,D){this.grid=C;this.view=C.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,D,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.scroll=false;this.hw=this.view.splitHandleWidth||5};Ext.extend(Ext.grid.GridView.SplitDragZone,Ext.dd.DDProxy,{b4StartDrag:function(F,G){this.view.headersDisabled=true;var H=this.view.mainWrap.getHeight();this.marker.setHeight(H);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(H);var J=this.cm.getColumnWidth(this.cellIndex);var I=Math.max(J-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(I,1000);this.setYConstraint(0,0);this.minX=F-I;this.maxX=F+1000;this.startPos=F;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,F,G)},handleMouseDown:function(O){var S=this.view.findHeaderCell(O.getTarget());if(S){var P=this.view.fly(S).getXY(),V=P[0],L=P[1];var R=O.getXY(),M=R[0],N=R[1];var T=S.offsetWidth,U=false;if((M-V)<=this.hw){U=-1}else{if((V+T)-M<=this.hw){U=0}}if(U!==false){this.cm=this.grid.colModel;var Q=this.view.getCellIndex(S);if(U==-1){if(Q+U<0){return }while(this.cm.isHidden(Q+U)){--U;if(Q+U<0){return }}}this.cellIndex=Q+U;this.split=S.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(O)}}}},endDrag:function(F){this.marker.hide();var E=this.view;var H=Math.max(this.minX,F.getPageX());var G=H-this.startPos;E.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+G);setTimeout(function(){E.headersDisabled=false},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GroupingView=Ext.extend(Ext.grid.GridView,{hideGroupedColumn:false,showGroupName:true,startCollapsed:false,enableGrouping:true,enableGroupingMenu:true,enableNoGroups:true,emptyGroupText:"(None)",ignoreAdd:false,groupTextTpl:"{text}",gidSeed:1000,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>',this.groupTextTpl,"</div></div>",'<div id="{groupId}-bd" class="x-grid-group-body">')}this.startGroup.compile();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(){if(this.enableGrouping&&!this.ignoreAdd){var B=this.getScrollState();this.refresh();this.restoreScroll(B)}else{if(!this.enableGrouping){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(G,F,J,H){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var I=document.getElementById(F._groupId);if(I&&I.childNodes[1].childNodes.length<1){Ext.removeNode(I)}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 E=this.getGroupField();var F=this.hmenu.items.get("groupBy");if(F){F.setDisabled(this.cm.config[this.hdCtxIndex].groupable===false)}var D=this.hmenu.items.get("showGroups");if(D){D.setDisabled(!E&&this.cm.config[this.hdCtxIndex].groupable===false);D.setChecked(!!E,true)}},renderUI:function(){Ext.grid.GroupingView.superclass.renderUI.call(this);this.mainBody.on("mousedown",this.interceptMouse,this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{id:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({id:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},onGroupByClick:function(){this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.beforeMenuShow()},onShowGroupsClick:function(C,D){if(D){this.onGroupByClick()}else{this.grid.store.clearGrouping()}},toggleGroup:function(E,F){this.grid.stopEditing(true);E=Ext.getDom(E);var D=Ext.fly(E);F=F!==undefined?F:D.hasClass("x-grid-group-collapsed");this.state[D.dom.id]=F;D[F?"removeClass":"addClass"]("x-grid-group-collapsed")},toggleAllGroups:function(G){var H=this.getGroups();for(var F=0,E=H.length;F<E;F++){this.toggleGroup(H[F],G)}},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},interceptMouse:function(D){var C=D.getTarget(".x-grid-group-hd",this.mainBody);if(C){D.stopEvent();this.toggleGroup(C.parentNode)}},getGroup:function(H,L,J,I,N,K){var M=J?J(H,{},L,I,N,K):String(H);if(M===""){M=this.cm.config[N].emptyGroupText||this.emptyGroupText}return M},getGroupField:function(){return this.grid.store.getGroupState()},renderRows:function(){var E=this.getGroupField();var F=!!E;if(this.hideGroupedColumn){var H=this.cm.findColumnIndex(E);if(!F&&this.lastGroupField!==undefined){this.mainBody.update("");this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);delete this.lastGroupField}else{if(F&&this.lastGroupField===undefined){this.lastGroupField=E;this.cm.setHidden(H,true)}else{if(F&&this.lastGroupField!==undefined&&E!==this.lastGroupField){this.mainBody.update("");var G=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(G,false);this.lastGroupField=E;this.cm.setHidden(H,true)}}}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(w,t,k,z,l,h){if(t.length<1){return""}var Z=this.getGroupField();var m=this.cm.findColumnIndex(Z);this.enableGrouping=!!Z;if(!this.enableGrouping||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)}var s="width:"+this.getTotalWidth()+";";var i=this.grid.getGridEl().id;var u=this.cm.config[m];var y=u.groupRenderer||u.renderer;var g=this.showGroupName?(u.groupName||u.header)+": ":"";var a=[],p,e,d,n;for(e=0,d=t.length;e<d;e++){var q=z+e;var o=t[e],v=o.data[Z],c=this.getGroup(v,o,y,q,m,k);if(!p||p.group!=c){n=i+"-gp-"+Z+"-"+Ext.util.Format.htmlEncode(c);var x=typeof this.state[n]!=="undefined"?!this.state[n]:this.startCollapsed;var r=x?"x-grid-group-collapsed":"";p={group:c,gvalue:v,text:g+c,groupId:n,startRow:q,rs:[o],cls:r,style:s};a.push(p)}else{p.rs.push(o)}o._groupId=n}var b=[];for(e=0,d=a.length;e<d;e++){var c=a[e];this.doGroupStart(b,c,w,k,l);b[b.length]=Ext.grid.GroupingView.superclass.doRender.call(this,w,c.rs,k,c.startRow,l,h);this.doGroupEnd(b,c,w,k,l)}return b.join("")},getGroupId:function(J){var L=this.grid.getGridEl().id;var M=this.getGroupField();var K=this.cm.findColumnIndex(M);var N=this.cm.config[K];var I=N.groupRenderer||N.renderer;var H=this.getGroup(J,{data:{}},I,0,K,this.ds);return L+"-gp-"+M+"-"+Ext.util.Format.htmlEncode(J)},doGroupStart:function(F,H,J,G,I){F[F.length]=this.startGroup.apply(H)},doGroupEnd:function(F,H,J,G,I){F[F.length]=this.endGroup},getRows:function(){if(!this.enableGrouping){return Ext.grid.GroupingView.superclass.getRows.call(this)}var I=[];var J,M=this.getGroups();for(var K=0,H=M.length;K<H;K++){J=M[K].childNodes[1].childNodes;for(var L=0,N=J.length;L<N;L++){I[I.length]=J[L]}}return I},updateGroupWidths:function(){if(!this.enableGrouping||!this.hasRows()){return }var G=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.scrollOffset)+"px";var H=this.getGroups();for(var F=0,E=H.length;F<E;F++){H[F].firstChild.style.width=G}},onColumnWidthUpdated:function(E,D,F){this.updateGroupWidths()},onAllColumnWidthsUpdated:function(C,D){this.updateGroupWidths()},onColumnHiddenUpdated:function(F,E,D){this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(F,G){if(!this.enableGrouping){return }var H=this.getRow(G);if(H&&!H.offsetParent){var E=this.findGroup(H);this.toggleGroup(E,true)}},groupByText:"Group By This Field",showGroupsText:"Show in Groups"});Ext.grid.GroupingView.GROUP_ID=1000;Ext.grid.HeaderDragZone=function(D,E,F){this.grid=D;this.view=D.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,E);if(F){this.setHandleElId(Ext.id(E));this.setOuterHandleElId(Ext.id(F))}this.scroll=false};Ext.extend(Ext.grid.HeaderDragZone,Ext.dd.DragZone,{maxDragWidth:120,getDragData:function(E){var D=Ext.lib.Event.getTarget(E);var F=this.view.findHeaderCell(D);if(F){return{ddel:F.firstChild,header:F}}return false},onInitDrag:function(C){this.view.headersDisabled=true;var D=this.dragData.ddel.cloneNode(true);D.id=Ext.id();D.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(D);return true},afterValidDrop:function(){var B=this.view;setTimeout(function(){B.headersDisabled=false},50)},afterInvalidDrop:function(){var B=this.view;setTimeout(function(){B.headersDisabled=false},50)}});Ext.grid.HeaderDropZone=function(D,E,F){this.grid=D;this.view=D.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,D.getGridEl().dom)};Ext.extend(Ext.grid.HeaderDropZone,Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,getTargetFromEvent:function(E){var D=Ext.lib.Event.getTarget(E);var F=this.view.findCellIndex(D);if(F!==false){return this.view.getHeaderCell(F)}},nextVisible:function(E){var F=this.view,D=this.grid.colModel;E=E.nextSibling;while(E){if(!D.isHidden(F.getCellIndex(E))){return E}E=E.nextSibling}return null},prevVisible:function(E){var F=this.view,D=this.grid.colModel;E=E.prevSibling;while(E){if(!D.isHidden(F.getCellIndex(E))){return E}E=E.prevSibling}return null},positionIndicator:function(L,N,V){var S=Ext.lib.Event.getPageX(V);var O=Ext.lib.Dom.getRegion(N.firstChild);var R,P,T=O.top+this.proxyOffsets[1];if((O.right-S)<=(O.right-O.left)/2){R=O.right+this.view.borderWidth;P="after"}else{R=O.left;P="before"}var U=this.view.getCellIndex(L);var Q=this.view.getCellIndex(N);if(this.grid.colModel.isFixed(Q)){return false}var M=this.grid.colModel.isLocked(Q);if(P=="after"){Q++}if(U<Q){Q--}if(U==Q&&(M==this.grid.colModel.isLocked(U))){return false}R+=this.proxyOffsets[0];this.proxyTop.setLeftTop(R,T);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(R,T+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return P},onNodeEnter:function(F,E,G,H){if(H.header!=F){this.positionIndicator(H.header,F,G)}},onNodeOver:function(G,J,H,I){var F=false;if(I.header!=G){F=this.positionIndicator(I.header,G,H)}if(!F){this.proxyTop.hide();this.proxyBottom.hide()}return F?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(F,E,G,H){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(O,R,W,M){var X=M.header;if(X!=O){var T=this.grid.colModel;var U=Ext.lib.Event.getPageX(W);var P=Ext.lib.Dom.getRegion(O.firstChild);var Q=(P.right-U)<=((P.right-P.left)/2)?"after":"before";var V=this.view.getCellIndex(X);var S=this.view.getCellIndex(O);var N=T.isLocked(S);if(Q=="after"){S++}if(V<S){S--}if(V==S&&(N==T.isLocked(V))){return false}T.setLocked(V,N,true);T.moveColumn(V,S);this.grid.fireEvent("columnmove",V,S);return true}return false}});Ext.grid.GridView.ColumnDragZone=function(C,D){Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,C,D,null);this.proxy.el.addClass("x-grid3-col-dd")};Ext.extend(Ext.grid.GridView.ColumnDragZone,Ext.grid.HeaderDragZone,{handleMouseDown:function(B){},callHandleMouseDown:function(B){Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,B)}});Ext.grid.SplitDragZone=function(D,E,F){this.grid=D;this.view=D.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,E,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(E));this.setOuterHandleElId(Ext.id(F));this.scroll=false};Ext.extend(Ext.grid.SplitDragZone,Ext.dd.DDProxy,{fly:Ext.Element.fly,b4StartDrag:function(E,F){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var H=this.cm.getColumnWidth(this.cellIndex);var G=Math.max(H-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(G,1000);this.setYConstraint(0,0);this.minX=E-G;this.maxX=E+1000;this.startPos=E;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,E,F)},handleMouseDown:function(D){ev=Ext.EventObject.setEvent(D);var C=this.fly(ev.getTarget());if(C.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(C.dom);this.split=C.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(E){this.view.headersDisabled=false;var D=Math.max(this.minX,Ext.lib.Event.getPageX(E));var F=D-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+F)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(D,C){this.view=D.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,C);if(this.view.lockedBody){this.setHandleElId(Ext.id(this.view.mainBody.dom));this.setOuterHandleElId(Ext.id(this.view.lockedBody.dom))}this.scroll=false;this.grid=D;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(H){var E=Ext.lib.Event.getTarget(H);var F=this.view.findRowIndex(E);if(F!==false){var G=this.grid.selModel;if(!G.isSelected(F)||H.hasModifier()){G.handleMouseDown(this.grid,F,H)}return{grid:this.grid,ddel:this.ddel,rowIndex:F,selections:G.getSelections()}}return false},onInitDrag:function(D){var C=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(D,C){return false},onEndDrag:function(C,D){},onValidDrop:function(D,F,E){this.hideProxy()},beforeInvalidDrop:function(C,D){}});Ext.grid.ColumnModel=function(B){this.defaultWidth=100;this.defaultSortable=false;if(B.columns){Ext.apply(this,B);this.setConfig(B.columns,true)}else{this.setConfig(B,true)}this.addEvents("widthchange","headerchange","hiddenchange","columnmoved","columnlockchange","configchange");Ext.grid.ColumnModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.ColumnModel,Ext.util.Observable,{getColumnId:function(B){return this.config[B].id},setConfig:function(I,J){if(!J){delete this.totalWidth;for(var H=0,F=this.config.length;H<F;H++){var G=this.config[H];if(G.editor){G.editor.destroy()}}}this.config=I;this.lookup={};for(var H=0,F=I.length;H<F;H++){var G=I[H];if(typeof G.renderer=="string"){G.renderer=Ext.util.Format[G.renderer]}if(typeof G.id=="undefined"){G.id=H}if(G.editor&&G.editor.isFormField){G.editor=new Ext.grid.GridEditor(G.editor)}this.lookup[G.id]=G}if(!J){this.fireEvent("configchange",this)}},getColumnById:function(B){return this.lookup[B]},getIndexById:function(E){for(var F=0,D=this.config.length;F<D;F++){if(this.config[F].id==E){return F}}return -1},moveColumn:function(E,D){var F=this.config[E];this.config.splice(E,1);this.config.splice(D,0,F);this.dataMap=null;this.fireEvent("columnmoved",this,E,D)},isLocked:function(B){return this.config[B].locked===true},setLocked:function(F,E,D){if(this.isLocked(F)==E){return }this.config[F].locked=E;if(!D){this.fireEvent("columnlockchange",this,F,E)}},getTotalLockedWidth:function(){var C=0;for(var D=0;D<this.config.length;D++){if(this.isLocked(D)&&!this.isHidden(D)){this.totalWidth+=this.getColumnWidth(D)}}return C},getLockedCount:function(){for(var D=0,C=this.config.length;D<C;D++){if(!this.isLocked(D)){return D}}},getColumnCount:function(G){if(G===true){var F=0;for(var H=0,E=this.config.length;H<E;H++){if(!this.isHidden(H)){F++}}return F}return this.config.length},getColumnsBy:function(J,K){var I=[];for(var L=0,G=this.config.length;L<G;L++){var H=this.config[L];if(J.call(K||this,H,L)===true){I[I.length]=H}}return I},isSortable:function(B){if(typeof this.config[B].sortable=="undefined"){return this.defaultSortable}return this.config[B].sortable},isMenuDisabled:function(B){return !!this.config[B].menuDisabled},getRenderer:function(B){if(!this.config[B].renderer){return Ext.grid.ColumnModel.defaultRenderer}return this.config[B].renderer},setRenderer:function(C,D){this.config[C].renderer=D},getColumnWidth:function(B){return this.config[B].width||this.defaultWidth},setColumnWidth:function(F,E,D){this.config[F].width=E;this.totalWidth=null;if(!D){this.fireEvent("widthchange",this,F,E)}},getTotalWidth:function(F){if(!this.totalWidth){this.totalWidth=0;for(var E=0,D=this.config.length;E<D;E++){if(F||!this.isHidden(E)){this.totalWidth+=this.getColumnWidth(E)}}}return this.totalWidth},getColumnHeader:function(B){return this.config[B].header},setColumnHeader:function(C,D){this.config[C].header=D;this.fireEvent("headerchange",this,C,D)},getColumnTooltip:function(B){return this.config[B].tooltip},setColumnTooltip:function(C,D){this.config[C].tooltip=D},getDataIndex:function(B){return this.config[B].dataIndex},setDataIndex:function(C,D){this.config[C].dataIndex=D},findColumnIndex:function(G){var F=this.config;for(var H=0,E=F.length;H<E;H++){if(F[H].dataIndex==G){return H}}return -1},isCellEditable:function(C,D){return(this.config[C].editable||(typeof this.config[C].editable=="undefined"&&this.config[C].editor))?true:false},getCellEditor:function(C,D){return this.config[C].editor},setEditable:function(C,D){this.config[C].editable=D},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(D,F){var E=this.config[D];if(E.hidden!==F){E.hidden=F;this.totalWidth=null;this.fireEvent("hiddenchange",this,D,F)}},setEditor:function(C,D){this.config[C].editor=D}});Ext.grid.ColumnModel.defaultRenderer=function(B){if(typeof B=="string"&&B.length<1){return"&#160;"}return B};Ext.grid.DefaultColumnModel=Ext.grid.ColumnModel;Ext.grid.AbstractSelectionModel=function(){this.locked=false;Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.AbstractSelectionModel,Ext.util.Observable,{init:function(B){this.grid=B;this.initEvents()},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked}});Ext.grid.RowSelectionModel=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)};Ext.extend(Ext.grid.RowSelectionModel,Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)}else{this.grid.on("rowclick",function(F,A,E){if(E.button===0&&!E.shiftKey&&!E.ctrlKey){this.selectRow(A,false);F.view.focusRow(A)}},this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:function(A){if(!A.shiftKey){this.selectPrevious(A.shiftKey)}else{if(this.last!==false&&this.lastActive!==false){var D=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(D!==false){this.last=D}}else{this.selectFirstRow()}}},down:function(A){if(!A.shiftKey){this.selectNext(A.shiftKey)}else{if(this.last!==false&&this.lastActive!==false){var D=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(D!==false){this.last=D}}else{this.selectFirstRow()}}},scope:this});var B=this.grid.view;B.on("refresh",this.onRefresh,this);B.on("rowupdated",this.onRowUpdated,this);B.on("rowremoved",this.onRemove,this)},onRefresh:function(){var H=this.grid.store,L;var J=this.getSelections();this.clearSelections(true);for(var K=0,G=J.length;K<G;K++){var I=J[K];if((L=H.indexOfId(I.id))!=-1){this.selectRow(L,true)}}if(J.length!=this.selections.getCount()){this.fireEvent("selectionchange",this)}},onRemove:function(D,F,E){if(this.selections.remove(E)!==false){this.fireEvent("selectionchange",this)}},onRowUpdated:function(D,F,E){if(this.isSelected(E)){D.onRowSelect(F)}},selectRecords:function(J,G){if(!G){this.clearSelections()}var H=this.grid.store;for(var I=0,F=J.length;I<F;I++){this.selectRow(H.indexOf(J[I]),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(G,H){var I=this.getSelections();for(var J=0,F=I.length;J<F;J++){if(G.call(H||this,I[J],J)===false){return false}}return true},clearSelections:function(D){if(this.locked){return }if(D!==true){var E=this.grid.store;var F=this.selections;F.each(function(A){this.deselectRow(E.indexOfId(A.id))},this);F.clear()}else{this.selections.clear()}this.last=false},selectAll:function(){if(this.locked){return }this.selections.clear();for(var D=0,C=this.grid.store.getCount();D<C;D++){this.selectRow(D,true)}},hasSelection:function(){return this.selections.length>0},isSelected:function(C){var D=typeof C=="number"?this.grid.store.getAt(C):C;return(D&&this.selections.key(D.id)?true:false)},isIdSelected:function(B){return(this.selections.key(B)?true:false)},handleMouseDown:function(J,H,I){if(I.button!==0||this.isLocked()){return }var G=this.grid.getView();if(I.shiftKey&&this.last!==false){var K=this.last;this.selectRange(K,H,I.ctrlKey);this.last=K;G.focusRow(H)}else{var L=this.isSelected(H);if(I.ctrlKey&&L){this.deselectRow(H)}else{if(!L||this.getCount()>1){this.selectRow(H,I.ctrlKey||I.shiftKey);G.focusRow(H)}}}},selectRows:function(G,F){if(!F){this.clearSelections()}for(var H=0,E=G.length;H<E;H++){this.selectRow(G[H],true)}},selectRange:function(H,E,F){if(this.locked){return }if(!F){this.clearSelections()}if(H<=E){for(var G=H;G<=E;G++){this.selectRow(G,true)}}else{for(var G=H;G>=E;G--){this.selectRow(G,true)}}},deselectRange:function(G,H,E){if(this.locked){return }for(var F=G;F<=H;F++){this.deselectRow(F,E)}},selectRow:function(H,F,E){if(this.locked||(H<0||H>=this.grid.store.getCount())){return }var G=this.grid.store.getAt(H);if(G&&this.fireEvent("beforerowselect",this,H,F,G)!==false){if(!F||this.singleSelect){this.clearSelections()}this.selections.add(G);this.last=this.lastActive=H;if(!E){this.grid.getView().onRowSelect(H)}this.fireEvent("rowselect",this,H,G);this.fireEvent("selectionchange",this)}},deselectRow:function(F,D){if(this.locked){return }if(this.last==F){this.last=false}if(this.lastActive==F){this.lastActive=false}var E=this.grid.store.getAt(F);if(E){this.selections.remove(E);if(!D){this.grid.getView().onRowDeselect(F)}this.fireEvent("rowdeselect",this,F,E);this.fireEvent("selectionchange",this)}},restoreLast:function(){if(this._last){this.last=this._last}},acceptsNav:function(E,F,D){return !D.isHidden(F)&&D.isCellEditable(F,E)},onEditorKey:function(J,K){var M=K.getKey(),I,L=this.grid,N=L.activeEditor;var H=K.shiftKey;if(M==K.TAB){K.stopEvent();N.completeEdit();if(H){I=L.walkCells(N.row,N.col-1,-1,this.acceptsNav,this)}else{I=L.walkCells(N.row,N.col+1,1,this.acceptsNav,this)}}else{if(M==K.ENTER){K.stopEvent();N.completeEdit();if(this.moveEditorOnEnter!==false){if(H){I=L.walkCells(N.row-1,N.col,-1,this.acceptsNav,this)}else{I=L.walkCells(N.row+1,N.col,1,this.acceptsNav,this)}}}else{if(M==K.ESC){N.cancelEdit()}}}if(I){L.startEditing(I[0],I[1])}}});Ext.grid.CellSelectionModel=function(B){Ext.apply(this,B);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.CellSelectionModel,Ext.grid.AbstractSelectionModel,{initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.getGridEl().on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.handleKeyDown,this);var B=this.grid.view;B.on("refresh",this.onViewChange,this);B.on("rowupdated",this.onRowUpdated,this);B.on("beforerowremoved",this.clearSelections,this);B.on("beforerowsinserted",this.clearSelections,this);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(D,F,E){if(this.selection&&this.selection.record==E){D.onCellSelect(F,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(D){var C=this.selection;if(C){if(D!==true){this.grid.view.onCellDeselect(C.cell[0],C.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(H,F,E,G){if(G.button!==0||this.isLocked()){return }this.select(F,E)},select:function(H,K,L,I,J){if(this.fireEvent("beforecellselect",this,H,K)!==false){this.clearSelections();J=J||this.grid.store.getAt(H);this.selection={record:J,cell:[H,K]};if(!L){var G=this.grid.getView();G.onCellSelect(H,K);if(I!==true){G.focusCell(H,K)}}this.fireEvent("cellselect",this,H,K);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(E,F,D){return !D.isHidden(F)},handleKeyDown:function(S){if(!S.isNavKeyPress()){return }var T=this.grid,O=this.selection;if(!O){S.stopEvent();var P=T.walkCells(0,0,1,this.isSelectable,this);if(P){this.select(P[0],P[1])}return }var M=this;var Q=function(C,B,A){return T.walkCells(C,B,A,M.isSelectable,M)};var L=S.getKey(),N=O.cell[0],R=O.cell[1];var K;switch(L){case S.TAB:if(S.shiftKey){K=Q(N,R-1,-1)}else{K=Q(N,R+1,1)}break;case S.DOWN:K=Q(N+1,R,1);break;case S.UP:K=Q(N-1,R,-1);break;case S.RIGHT:K=Q(N,R+1,1);break;case S.LEFT:K=Q(N,R-1,-1);break;case S.ENTER:if(T.isEditor&&!T.editing){T.startEditing(N,R);S.stopEvent();return }break}if(K){this.select(K[0],K[1]);S.stopEvent()}},acceptsNav:function(E,F,D){return !D.isHidden(F)&&D.isCellEditable(F,E)},onEditorKey:function(I,J){var L=J.getKey(),H,K=this.grid,G=K.activeEditor;if(L==J.TAB){if(J.shiftKey){H=K.walkCells(G.row,G.col-1,-1,this.acceptsNav,this)}else{H=K.walkCells(G.row,G.col+1,1,this.acceptsNav,this)}J.stopEvent()}else{if(L==J.ENTER){G.completeEdit();J.stopEvent()}else{if(L==J.ESC){J.stopEvent();G.cancelEdit()}}}if(H){K.startEditing(H[0],H[1])}}});Ext.grid.EditorGridPanel=Ext.extend(Ext.grid.GridPanel,{clicksToEdit:2,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.on("bodyscroll",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{if(this.clicksToEdit=="auto"&&this.view.mainBody){this.view.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}this.getGridEl().addClass("xedit-grid")},onCellDblClick:function(F,E,D){this.startEditing(E,D)},onAutoEditClick:function(I,J){if(I.button!==0){return }var G=this.view.findRowIndex(J);var F=this.view.findCellIndex(J);if(G!==false&&F!==false){this.stopEditing();if(this.selModel.getSelectedCell){var H=this.selModel.getSelectedCell();if(H&&H.cell[0]===G&&H.cell[1]===F){this.startEditing(G,F)}}else{if(this.selModel.isSelected(G)){this.startEditing(G,F)}}}},onEditComplete:function(L,J,G){this.editing=false;this.activeEditor=null;L.un("specialkey",this.selModel.onEditorKey,this.selModel);var K=L.record;var H=this.colModel.getDataIndex(L.col);J=this.postEditValue(J,G,K,H);if(String(J)!==String(G)){var I={grid:this,record:K,field:H,originalValue:G,value:J,row:L.row,column:L.col,cancel:false};if(this.fireEvent("validateedit",I)!==false&&!I.cancel){K.set(H,I.value);delete I.cancel;this.fireEvent("afteredit",I)}}this.view.focusCell(L.row,L.col)},startEditing:function(H,L){this.stopEditing();if(this.colModel.isCellEditable(L,H)){this.view.ensureVisible(H,L,true);var K=this.store.getAt(H);var I=this.colModel.getDataIndex(L);var J={grid:this,record:K,field:I,value:K.data[I],row:H,column:L,cancel:false};if(this.fireEvent("beforeedit",J)!==false&&!J.cancel){this.editing=true;var G=this.colModel.getCellEditor(L,H);if(!G.rendered){G.render(this.view.getEditorParent(G))}(function(){G.row=H;G.col=L;G.record=K;G.on("complete",this.onEditComplete,this,{single:true});G.on("specialkey",this.selModel.onEditorKey,this.selModel);this.activeEditor=G;var A=this.preEditValue(K,I);G.startEdit(this.view.getCell(H,L),A)}).defer(50,this)}}},preEditValue:function(C,D){return this.autoEncode&&typeof value=="string"?Ext.util.Format.htmlDecode(C.data[D]):C.data[D]},postEditValue:function(G,E,H,F){return this.autoEncode&&typeof G=="string"?Ext.util.Format.htmlEncode(G):G},stopEditing:function(B){if(this.activeEditor){this.activeEditor[B===true?"cancelEdit":"completeEdit"]()}this.activeEditor=null}});Ext.reg("editorgrid",Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(D,C){Ext.grid.GridEditor.superclass.constructor.call(this,D,C);D.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=function(C,D){this.grid=C;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(D){this.setSource(D)}Ext.grid.PropertyStore.superclass.constructor.call(this)};Ext.extend(Ext.grid.PropertyStore,Ext.util.Observable,{setSource:function(E){this.source=E;this.store.removeAll();var F=[];for(var D in E){if(this.isEditableValue(E[D])){F.push(new Ext.grid.PropertyRecord({name:D,value:E[D]},D))}}this.store.loadRecords({records:F},{},true)},onUpdate:function(G,F,H){if(H==Ext.data.Record.EDIT){var J=F.data.value;var I=F.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,F.id,J,I)!==false){this.source[F.id]=J;F.commit();this.grid.fireEvent("propertychange",this.source,F.id,J,I)}else{F.reject()}}},getProperty:function(B){return this.store.getAt(B)},isEditableValue:function(B){if(Ext.isDate(B)){return true}else{if(typeof B=="object"||typeof B=="function"){return false}}return true},setValue:function(D,C){this.source[D]=C;this.store.getById(D).set("value",C)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=function(I,J){this.grid=I;var H=Ext.grid;H.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=J;this.bselect=Ext.DomHelper.append(document.body,{tag:"select",cls:"x-grid-editor x-hide-display",children:[{tag:"option",value:"true",html:"true"},{tag:"option",value:"false",html:"false"}]});var G=Ext.form;var F=new G.Field({el:this.bselect,bselect:this.bselect,autoShow:true,getValue:function(){return this.bselect.value=="true"}});this.editors={date:new H.GridEditor(new G.DateField({selectOnFocus:true})),string:new H.GridEditor(new G.TextField({selectOnFocus:true})),number:new H.GridEditor(new G.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new H.GridEditor(F)};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)};Ext.extend(Ext.grid.PropertyColumnModel,Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",renderDate:function(B){return B.dateFormat(this.dateFormat)},renderBool:function(B){return B?"true":"false"},isCellEditable:function(C,D){return C==1},getRenderer:function(B){return B==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(B){return this.getPropertyName(B)},renderCell:function(C){var D=C;if(Ext.isDate(C)){D=this.renderDate(C)}else{if(typeof C=="boolean"){D=this.renderBool(C)}}return Ext.util.Format.htmlEncode(D)},getPropertyName:function(D){var C=this.grid.propertyNames;return C&&C[D]?C[D]:D},getCellEditor:function(F,G){var J=this.store.getProperty(G);var H=J.data.name,I=J.data.value;if(this.grid.customEditors[H]){return this.grid.customEditors[H]}if(Ext.isDate(I)){return this.editors.date}else{if(typeof I=="number"){return this.editors.number}else{if(typeof I=="boolean"){return this.editors["boolean"]}else{return this.editors.string}}}}});Ext.grid.PropertyGrid=Ext.extend(Ext.grid.EditorGridPanel,{enableColumnMove:false,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,viewConfig:{forceFit:true},initComponent:function(){this.customEditors=this.customEditors||{};this.lastEditRow=null;var D=new Ext.grid.PropertyStore(this);this.propStore=D;var C=new Ext.grid.PropertyColumnModel(this,D);D.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=C;this.ds=D.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.selModel.on("beforecellselect",function(A,B,F){if(F===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()}});Ext.reg("propertygrid",Ext.grid.PropertyGrid);Ext.grid.RowNumberer=function(B){Ext.apply(this,B);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}};Ext.grid.RowNumberer.prototype={header:"",width:23,sortable:false,fixed:true,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(H,G,E,F){if(this.rowspan){G.cellAttr='rowspan="'+this.rowspan+'"'}return F+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,dataIndex:"",id:"checker",initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){var B=this.grid.getView();B.mainBody.on("mousedown",this.onMouseDown,this);Ext.fly(B.innerHd).on("mousedown",this.onHdMouseDown,this)},this)},onMouseDown:function(G,H){if(G.button===0&&H.className=="x-grid3-row-checker"){G.stopEvent();var F=G.getTarget(".x-grid3-row");if(F){var E=F.rowIndex;if(this.isSelected(E)){this.deselectRow(E)}else{this.selectRow(E,true)}}}},onHdMouseDown:function(G,E){if(E.className=="x-grid3-hd-checker"){G.stopEvent();var H=Ext.fly(E.parentNode);var F=H.hasClass("x-grid3-hd-checker-on");if(F){H.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{H.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(F,E,D){return'<div class="x-grid3-row-checker">&#160;</div>'}});Ext.LoadMask=function(E,F){this.el=Ext.get(E);Ext.apply(this,F);if(this.store){this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,false)}else{var D=this.el.getUpdater();D.showLoadIndicator=false;D.on("beforeupdate",this.onBeforeLoad,this);D.on("update",this.onLoad,this);D.on("failure",this.onLoad,this);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("loadexception",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.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(H,F){Ext.ProgressBar.superclass.onRender.call(this,H,F);var I=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>");if(F){this.el=I.insertBefore(F,{cls:this.baseCls},true)}else{this.el=I.append(H,{cls:this.baseCls},true)}if(this.id){this.el.dom.id=this.id}var J=this.el.dom.firstChild;this.progressBar=Ext.get(J.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var G=Ext.get(J.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,G.dom.firstChild]);this.textEl.setWidth(J.offsetWidth)}this.progressBar.setHeight(J.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(F,E){this.value=F||0;if(E){this.updateText(E)}var D=Math.floor(F*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(D);if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(D)}this.fireEvent("update",this,F,E);return this},wait:function(D){if(!this.waitTimer){var C=this;D=D||{};this.waitTimer=Ext.TaskMgr.start({run:function(B){var A=D.increment||10;this.updateProgress(((((B+A)%A)+1)*(100/A))*0.01)},interval:D.interval||1000,duration:D.duration,onStop:function(){if(D.fn){D.fn.apply(D.scope||this)}this.reset()},scope:C})}return this},isWaiting:function(){return this.waitTimer!=null},updateText:function(B){this.text=B||"&#160;";this.textEl.update(this.text);return this},setSize:function(D,E){Ext.ProgressBar.superclass.setSize.call(this,D,E);if(this.textTopEl){var F=this.el.dom.firstChild;this.textEl.setSize(F.offsetWidth,F.offsetHeight)}return this},reset:function(B){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass("x-hidden")}if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}if(B===true){this.hide()}return this}});Ext.reg("progress",Ext.ProgressBar);Ext.Slider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,initComponent:function(){if(this.value===undefined){this.value=this.minValue}Ext.Slider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","dragstart","drag","dragend");if(this.vertical){Ext.apply(this,Ext.Slider.Vertical)}},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:[{cls:"x-slider-thumb"},{tag:"a",cls:"x-slider-focus",href:"#",tabIndex:"-1",hidefocus:"on"}]}}};Ext.Slider.superclass.onRender.apply(this,arguments);this.endEl=this.el.first();this.innerEl=this.endEl.first();this.thumb=this.innerEl.first();this.halfThumb=(this.vertical?this.thumb.getHeight():this.thumb.getWidth())/2;this.focusEl=this.thumb.next();this.initEvents()},initEvents:function(){this.thumb.addClassOnOver("x-slider-thumb-over");this.mon(this.el,"mousedown",this.onMouseDown,this);this.mon(this.el,"keydown",this.onKeyDown,this);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(this.thumb);this.on("beforedestroy",this.tracker.destroy,this.tracker)},onMouseDown:function(D){if(this.disabled){return }if(this.clickToChange&&D.target!=this.thumb.dom){var C=this.innerEl.translatePoints(D.getXY());this.onClickChange(C)}this.focus()},onClickChange:function(B){if(B.top>this.clickRange[0]&&B.top<this.clickRange[1]){this.setValue(Math.round(B.left/this.getRatio()))}},onKeyDown:function(D){if(this.disabled){D.preventDefault();return }var C=D.getKey();switch(C){case D.UP:case D.RIGHT:D.stopEvent();if(D.ctrlKey){this.setValue(this.maxValue)}else{this.setValue(this.value+this.keyIncrement)}break;case D.DOWN:case D.LEFT:D.stopEvent();if(D.ctrlKey){this.setValue(this.minValue)}else{this.setValue(this.value-this.keyIncrement)}break;default:D.preventDefault()}},doSnap:function(H){if(!this.increment||this.increment==1||!H){return H}var F=H,G=this.increment;var E=H%G;if(E>0){if(E>(G/2)){F=H+(G-E)}else{F=H-E}}return F.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.Slider.superclass.afterRender.apply(this,arguments);if(this.value!==undefined){var B=this.normalizeValue(this.value);if(B!==this.value){delete this.value;this.setValue(B,false)}else{this.moveThumb(this.translateValue(B),false)}}},getRatio:function(){var C=this.innerEl.getWidth();var D=this.maxValue-this.minValue;return C/D},normalizeValue:function(B){if(typeof B!="number"){B=parseInt(B)}B=Math.round(B);B=this.doSnap(B);B=B.constrain(this.minValue,this.maxValue);return B},setValue:function(D,C){D=this.normalizeValue(D);if(D!==this.value&&this.fireEvent("beforechange",this,D,this.value)!==false){this.value=D;this.moveThumb(this.translateValue(D),C!==false);this.fireEvent("change",this,D)}},translateValue:function(B){return(B*this.getRatio())-this.halfThumb},moveThumb:function(D,C){if(!C||this.animate===false){this.thumb.setLeft(D)}else{this.thumb.shift({left:D,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onBeforeDragStart:function(B){return !this.disabled},onDragStart:function(B){this.thumb.addClass("x-slider-thumb-drag");this.fireEvent("dragstart",this,B)},onDrag:function(C){var D=this.innerEl.translatePoints(this.tracker.getXY());this.setValue(Math.round(D.left/this.getRatio()),false);this.fireEvent("drag",this,C)},onDragEnd:function(B){this.thumb.removeClass("x-slider-thumb-drag");this.fireEvent("dragend",this,B)},onResize:function(C,D){this.innerEl.setWidth(C-(this.el.getPadding("l")+this.endEl.getPadding("r")))},getValue:function(){return this.value}});Ext.reg("slider",Ext.Slider);Ext.Slider.Vertical={onResize:function(C,D){this.innerEl.setHeight(D-(this.el.getPadding("t")+this.endEl.getPadding("b")))},getRatio:function(){var D=this.innerEl.getHeight();var C=this.maxValue-this.minValue;return D/C},moveThumb:function(D,C){if(!C||this.animate===false){this.thumb.setBottom(D)}else{this.thumb.shift({bottom:D,stopFx:true,duration:0.35})}},onDrag:function(F){var E=this.innerEl.translatePoints(this.tracker.getXY());var D=this.innerEl.getHeight()-E.top;this.setValue(Math.round(D/this.getRatio()),false);this.fireEvent("drag",this,F)},onClickChange:function(D){if(D.left>this.clickRange[0]&&D.left<this.clickRange[1]){var C=this.innerEl.getHeight()-D.top;this.setValue(Math.round(C/this.getRatio()))}}};Ext.StatusBar=Ext.extend(Ext.Toolbar,{cls:"x-statusbar",busyIconCls:"x-status-busy",busyText:"Loading...",autoClear:5000,activeThreadId:0,initComponent:function(){if(this.statusAlign=="right"){this.cls+=" x-status-right"}Ext.StatusBar.superclass.initComponent.call(this)},afterRender:function(){Ext.StatusBar.superclass.afterRender.call(this);var C=this.statusAlign=="right",D=Ext.get(this.nextBlock());if(C){this.tr.appendChild(D.dom)}else{D.insertBefore(this.tr.firstChild)}this.statusEl=D.createChild({cls:"x-status-text "+(this.iconCls||this.defaultIconCls||""),html:this.text||this.defaultText||""});this.statusEl.unselectable();this.spacerEl=D.insertSibling({tag:"td",style:"width:100%",cn:[{cls:"ytb-spacer"}]},C?"before":"after")},setStatus:function(G){G=G||{};if(typeof G=="string"){G={text:G}}if(G.text!==undefined){this.setText(G.text)}if(G.iconCls!==undefined){this.setIcon(G.iconCls)}if(G.clear){var F=G.clear,H=this.autoClear,E={useDefaults:true,anim:true};if(typeof F=="object"){F=Ext.applyIf(F,E);if(F.wait){H=F.wait}}else{if(typeof F=="number"){H=F;F=E}else{if(typeof F=="boolean"){F=E}}}F.threadId=this.activeThreadId;this.clearStatus.defer(H,this,[F])}return this},clearStatus:function(E){E=E||{};if(E.threadId&&E.threadId!==this.activeThreadId){return this}var F=E.useDefaults?this.defaultText:"",D=E.useDefaults?this.defaultIconCls:"";if(E.anim){this.statusEl.fadeOut({remove:false,useDisplay:true,scope:this,callback:function(){this.setStatus({text:F,iconCls:D});this.statusEl.show()}})}else{this.statusEl.hide();this.setStatus({text:F,iconCls:D});this.statusEl.show()}return this},setText:function(B){this.activeThreadId++;this.text=B||"";if(this.rendered){this.statusEl.update(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.StatusBar);
