Ext.DomHelper=function(){var o=null,q=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,s=/^table|tbody|tr|td$/i,h,t="afterbegin",c="afterend",d="beforebegin",e="beforeend",a="<table>",n="</table>",b=a+"<tbody>",p="</tbody>"+n,r=b+"<tr>",m="</tr>"+p;function l(u,x,w,v,A,y){var z=h.insertHtml(v,Ext.getDom(u),k(x));return w?Ext.get(z,true):z}function k(u){var B="",A,y,w,z,x;if(Ext.isString(u)){B=u}else{if(Ext.isArray(u)){for(var v=0;v<u.length;v++){if(u[v]){B+=k(u[v])}}}else{B+="<"+(u.tag=u.tag||"div");Ext.iterate(u,function(C,D){if(!/tag|children|cn|html$/i.test(C)){if(Ext.isObject(D)){B+=" "+C+'="';Ext.iterate(D,function(E,F){B+=E+":"+F+";"});B+='"'}else{B+=" "+({cls:"class",htmlFor:"for"}[C]||C)+'="'+D+'"'}}});if(q.test(u.tag)){B+="/>"}else{B+=">";if((x=u.children||u.cn)){B+=k(x)}else{if(u.html){B+=u.html}}B+="</"+u.tag+">"}}}return B}function j(w,x,u,y){o.innerHTML=[x,u,y].join("");var z=-1,B=o,A;while(++z<w){B=B.firstChild}if(A=B.nextSibling){var v=document.createDocumentFragment();while(B){A=B.nextSibling;v.appendChild(B);B=A}B=v}return B}function g(y,z,v,u){var w,x;o=o||document.createElement("div");if(y=="td"&&(z==t||z==e)||!/td|tr|tbody/i.test(y)&&(z==d||z==c)){return}x=z==d?v:z==c?v.nextSibling:z==t?v.firstChild:null;if(z==d||z==c){v=v.parentNode}if(y=="td"||(y=="tr"&&(z==e||z==t))){w=j(4,r,u,m)}else{if((y=="tbody"&&(z==e||z==t))||(y=="tr"&&(z==d||z==c))){w=j(3,b,u,p)}else{w=j(2,a,u,n)}}v.insertBefore(w,x);return w}h={markup:function(u){return k(u)},applyStyles:function(v,w){if(w){var y=0,x,u;v=Ext.fly(v);if(Ext.isFunction(w)){w=w.call()}if(Ext.isString(w)){w=w.trim().split(/\s*(?::|;)\s*/);for(x=w.length;y<x;){v.setStyle(w[y++],w[y++])}}else{if(Ext.isObject(w)){v.setStyle(w)}}}},insertHtml:function(z,u,A){var y={},w,C,B,D,x,v;z=z.toLowerCase();y[d]=["BeforeBegin","previousSibling"];y[c]=["AfterEnd","nextSibling"];if(u.insertAdjacentHTML){if(s.test(u.tagName)&&(v=g(u.tagName.toLowerCase(),z,u,A))){return v}y[t]=["AfterBegin","firstChild"];y[e]=["BeforeEnd","lastChild"];if((w=y[z])){u.insertAdjacentHTML(w[0],A);return u[w[1]]}}else{B=u.ownerDocument.createRange();C="setStart"+(/end/i.test(z)?"After":"Before");if(y[z]){B[C](u);D=B.createContextualFragment(A);u.parentNode.insertBefore(D,z==d?u:u.nextSibling);return u[(z==d?"previous":"next")+"Sibling"]}else{x=(z==t?"first":"last")+"Child";if(u.firstChild){B[C](u[x]);D=B.createContextualFragment(A);if(z==t){u.insertBefore(D,u.firstChild)}else{u.appendChild(D)}}else{u.innerHTML=A}return u[x]}}throw'Illegal insertion point -> "'+z+'"'},insertBefore:function(w,v,u){return l(w,v,u,d)},insertAfter:function(w,v,u){return l(w,v,u,c,"nextSibling")},insertFirst:function(w,v,u){return l(w,v,u,t,"firstChild")},append:function(w,v,u){return l(w,v,u,e,"",true)},overwrite:function(w,v,u){w=Ext.getDom(w);w.innerHTML=k(v);return u?Ext.get(w.firstChild):w.firstChild},createHtml:k};return h}();Ext.apply(Ext.DomHelper,function(){var g,c="afterbegin",a="afterend",b="beforebegin",e="beforeend";function h(k,m,l,n,j,o){k=Ext.getDom(k);var p;if(g.useDom){p=d(m,null);if(o){k.appendChild(p)}else{(j=="firstChild"?k:k.parentNode).insertBefore(p,k[j]||k)}}else{p=Ext.DomHelper.insertHtml(n,k,Ext.DomHelper.createHtml(m))}return l?Ext.get(p,true):p}function d(n,q){var k,m=document,j,p,l,o;if(Ext.isArray(n)){k=m.createDocumentFragment();Ext.each(n,function(r){d(r,k)})}else{if(Ext.isString(n)){k=m.createTextNode(n)}else{k=m.createElement(n.tag||"div");j=!!k.setAttribute;Ext.iterate(n,function(s,t){if(!/tag|children|cn|html|style/.test(s)){if(s=="cls"){k.className=t}else{if(j){k.setAttribute(s,t)}else{k[s]=t}}}});Ext.DomHelper.applyStyles(k,n.style);if((o=n.children||n.cn)){d(o,k)}else{if(n.html){k.innerHTML=n.html}}}}if(q){q.appendChild(k)}return k}g={createTemplate:function(k){var j=Ext.DomHelper.createHtml(k);return new Ext.Template(j)},useDom:false,insertBefore:function(l,k,j){return h(l,k,j,b)},insertAfter:function(l,k,j){return h(l,k,j,a,"nextSibling")},insertFirst:function(l,k,j){return h(l,k,j,c,"firstChild")},append:function(l,k,j){return h(l,k,j,e,"",true)},createDom:d};return g}());Ext.Template=function(d){var e=this,b=arguments,c=[];if(Ext.isArray(d)){d=d.join("")}else{if(b.length>1){Ext.each(b,function(a){if(Ext.isObject(a)){Ext.apply(e,a)}else{c.push(a)}});d=c.join("")}}e.html=d;if(e.compiled){e.compile()}};Ext.Template.prototype={re:/\{([\w-]+)\}/g,applyTemplate:function(a){var b=this;return b.compiled?b.compiled(a):b.html.replace(b.re,function(c,d){return a[d]!==undefined?a[d]:""})},set:function(b,a){var c=this;c.html=b;c.compiled=null;return a?c.compile():c},compile:function(){var me=this,sep=Ext.isGecko?"+":",";function fn(m,name){name="values['"+name+"']";return"'"+sep+"("+name+" == undefined ? '' : "+name+")"+sep+"'"}eval("this.compiled = function(values){ return "+(Ext.isGecko?"'":"['")+me.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+(Ext.isGecko?"';};":"'].join('');};"));return me},insertFirst:function(c,b,a){return this.doInsert("afterBegin",c,b,a)},insertBefore:function(c,b,a){return this.doInsert("beforeBegin",c,b,a)},insertAfter:function(c,b,a){return this.doInsert("afterEnd",c,b,a)},append:function(c,b,a){return this.doInsert("beforeEnd",c,b,a)},doInsert:function(a,c,e,d){c=Ext.getDom(c);var b=Ext.DomHelper.insertHtml(a,c,this.applyTemplate(e));return d?Ext.get(b,true):b},overwrite:function(c,b,a){c=Ext.getDom(c);c.innerHTML=this.applyTemplate(b);return a?Ext.get(c.firstChild,true):c.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.Template.from=function(b,a){b=Ext.getDom(b);return new Ext.Template(b.value||b.innerHTML,a||"")};Ext.apply(Ext.Template.prototype,{disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,applyTemplate:function(e){var c=this,d=c.disableFormats!==true,b=Ext.util.Format,g=c;if(c.compiled){return c.compiled(e)}function a(o,j,m,h){if(m&&d){if(m.substr(0,5)=="this."){return g.call(m.substr(5),e[j],e)}else{if(h){var k=/^\s*['"](.*)["']\s*$/;h=h.split(",");for(var l=0,n=h.length;l<n;l++){h[l]=h[l].replace(k,"$1")}h=[e[j]].concat(h)}else{h=[e[j]]}return b[m].apply(b,h)}}else{return e[j]!==undefined?e[j]:""}}return c.html.replace(c.re,a)},compile:function(){var me=this,fm=Ext.util.Format,useF=me.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(m,name,format,args){if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'"}if(Ext.isGecko){body="this.compiled = function(values){ return '"+me.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+"';};"}else{body=["this.compiled = function(values){ return ['"];body.push(me.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return me},call:function(a,c,b){return this[a](c,b)}});Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={},nonSpace=/\S/,trimRe=/^\s+|\s+$/g,tplRe=/\{(\d+)\}/g,modeRe=/^(\s?[\/>+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w-\*]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,isIE=window.ActiveXObject?true:false,key=30803;eval("var batch = 30803;");function child(p,index){var i=0,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,nx;while(n){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.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i<l;i++){a[a.length]=b[i]}return a}function byTag(cs,tagName){if(cs.tagName||cs==document){cs=[cs]}if(!tagName){return cs}var 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=="{",f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType!=1){continue}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)}function nodupIEXml(cs){var d=++key,r;cs[0].setAttribute("_nodup",d);r=[cs[0]];for(var i=1,len=cs.length;i<len;i++){var c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(var i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs)}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(var j=0;j<i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key,r=[];for(var i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}for(var i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length,d=++key,r=[];if(!len1){return c2}if(isIE&&typeof c1[0].selectSingleNode!="undefined"){return quickDiffIEXml(c1,c2)}for(var i=0;i<len1;i++){c1[i]._qdiff=d}for(var i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,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"],q=path,mode,lq,tk=Ext.DomQuery.matchers,tklen=tk.length,mm,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(","),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),v;n=n[0]?n[0]:n;if(typeof n.normalize=="function"){n.normalize()}v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el),result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, 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,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;Ext.util.DelayedTask=function(a,g,d){var b=this,c,e=function(){clearInterval(c);c=null;a.apply(g,d||[])};b.delay=function(l,j,h,k){b.cancel();a=j||a;g=h||g;d=k||d;c=setInterval(e,l)};b.cancel=function(){if(c){clearInterval(c);c=null}}};(function(){var b=Ext.util,e=Ext.toArray,d=Ext.each,g=Ext.isObject,a=true,c=false;b.Observable=function(){var n=this,o=n.events;if(n.listeners){n.on(n.listeners);delete n.listeners}n.events=o||{}};b.Observable.prototype={filterOptRe:/^(?:scope|delay|buffer|single)$/,fireEvent:function(){var p=e(arguments),r=p[0].toLowerCase(),s=this,q=a,n=s.events[r],t,o;if(s.eventsSuspended===a){if(t=s.eventQueue){t.push(p)}}else{if(g(n)&&n.bubble){if(n.fire.apply(n,p.slice(1))===c){return c}o=s.getBubbleTarget&&s.getBubbleTarget();if(o&&o.enableBubble){if(!o.events[r]||!Ext.isObject(o.events[r])||!o.events[r].bubble){o.enableBubble(r)}return o.fireEvent.apply(o,p)}}else{if(g(n)){p.shift();q=n.fire.apply(n,p)}}}return q},addListener:function(u,o,q,t){var n=this,v,r,p,s;if(g(u)){t=u;for(v in t){r=t[v];if(!n.filterOptRe.test(v)){n.addListener(v,r.fn||r,r.scope||t.scope,r.fn?r:t)}}}else{u=u.toLowerCase();s=n.events[u]||a;if(Ext.isBoolean(s)){n.events[u]=s=new b.Event(n,u)}s.addListener(o,q,g(t)?t:{})}},removeListener:function(p,n,q){var o=this.events[p.toLowerCase()];if(g(o)){o.removeListener(n,q)}},purgeListeners:function(){var o=this.events,p,n;for(n in o){p=o[n];if(g(p)){p.clearListeners()}}},addEvents:function(o){var n=this;n.events=n.events||{};if(Ext.isString(o)){var p=arguments,q=p.length;while(q--){n.events[p[q]]=n.events[p[q]]||a}}else{Ext.applyIf(n.events,o)}},hasListener:function(n){var o=this.events[n];return g(o)&&o.listeners.length>0},suspendEvents:function(n){this.eventsSuspended=a;if(n&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var n=this,o=n.eventQueue||[];n.eventsSuspended=c;delete n.eventQueue;d(o,function(p){n.fireEvent.apply(n,p)})}};var l=b.Observable.prototype;l.on=l.addListener;l.un=l.removeListener;b.Observable.releaseCapture=function(n){n.fireEvent=l.fireEvent};function m(n,o,p){return function(){if(o.target==arguments[0]){n.apply(p,e(arguments))}}}function j(n,o,q,p){q.task=new b.DelayedTask();return function(){q.task.delay(o.buffer,n,p,e(arguments))}}function k(n,o,q,p){return function(){o.removeListener(q,p);return n.apply(p,arguments)}}function h(n,o,q,p){return function(){var r=new b.DelayedTask();if(!q.tasks){q.tasks=[]}q.tasks.push(r);r.delay(o.delay||10,n,p,e(arguments))}}b.Event=function(o,n){this.name=n;this.obj=o;this.listeners=[]};b.Event.prototype={addListener:function(n,r,q){var o=this,p;r=r||o.obj;if(!o.isListening(n,r)){p=o.createListener(n,r,q);if(o.firing){o.listeners=o.listeners.slice(0)}o.listeners.push(p)}},createListener:function(n,r,o){o=o||{},r=r||this.obj;var p={fn:n,scope:r,options:o},q=n;if(o.target){q=m(q,o,r)}if(o.delay){q=h(q,o,n,r)}if(o.single){q=k(q,this,n,r)}if(o.buffer){q=j(q,o,n,r)}p.fireFn=q;return p},findListener:function(n,s){var o=this.listeners,q=o.length,p,r;while(q--){p=o[q];if(p){r=p.scope;if(p.fn==n&&(r==s||r==this.obj)){return q}}}return -1},isListening:function(o,n){return this.findListener(o,n)!=-1},removeListener:function(n,t){var s,p,q,o=this,r=c;if((s=o.findListener(n,t))!=-1){if(o.firing){o.listeners=o.listeners.slice(0)}p=o.listeners[s].fn;if(p.task){p.task.cancel();delete p.task}q=p.tasks&&p.tasks.length;if(q){while(q--){p.tasks[q].cancel()}delete p.tasks}o.listeners.splice(s,1);r=a}return r},clearListeners:function(){var o=this,p=o.listeners,n=p.length;while(n--){o.removeListener(p[n].fn,p[n].scope)}},fire:function(){var o=this,r=e(arguments),n=o.listeners,p=n.length,s=0,q;if(p>0){o.firing=a;for(;s<p;s++){q=n[s];if(q&&q.fireFn.apply(q.scope||o.obj||window,r)===c){return(o.firing=c)}}}o.firing=c;return a}}})();Ext.apply(Ext.util.Observable.prototype,function(){function a(h){var d=(this.methodEvents=this.methodEvents||{})[h],j,g,k,b=this;if(!d){this.methodEvents[h]=d={};d.originalFn=this[h];d.methodName=h;d.before=[];d.after=[];var c=function(m,l,e){if(!Ext.isEmpty(g=m.apply(l||b,e))){if(Ext.isObject(g)){j=!Ext.isEmpty(g.returnValue)?g.returnValue:g;k=!!g.cancel}else{if(g===false){k=true}else{j=g}}}};this[h]=function(){var e=Ext.toArray(arguments);j=g=undefined;k=false;Ext.each(d.before,function(l){c(l.fn,l.scope,e);if(k){return j}});if(!Ext.isEmpty(g=d.originalFn.apply(b,e))){j=g}Ext.each(d.after,function(l){c(l.fn,l.scope,e);if(k){return j}});return j}}return d}return{beforeMethod:function(d,c,b){a.call(this,d).before.push({fn:c,scope:b})},afterMethod:function(d,c,b){a.call(this,d).after.push({fn:c,scope:b})},removeMethodListener:function(h,c,b){var g=a.call(this,h),d=false;Ext.each(g.before,function(j,k,e){if(j.fn==c&&j.scope==b){e.splice(k,1);d=true;return false}});if(!d){Ext.each(g.after,function(j,k,e){if(j.fn==c&&j.scope==b){e.splice(k,1);return false}})}},relayEvents:function(e,b){var d=this;function c(g){return function(){return d.fireEvent.apply(d,[g].concat(Ext.toArray(arguments)))}}Ext.each(b,function(g){d.events[g]=d.events[g]||true;e.on(g,c(g),d)})},enableBubble:function(b){var c=this;if(!Ext.isEmpty(b)){b=Ext.isArray(b)?b:Ext.toArray(arguments);Ext.each(b,function(d){d=d.toLowerCase();var e=c.events[d]||true;if(Ext.isBoolean(e)){e=new Ext.util.Event(c,d);c.events[d]=e}e.bubble=true})}}}}());Ext.util.Observable.capture=function(a,c,b){a.fireEvent=a.fireEvent.createInterceptor(c,b)};Ext.util.Observable.observeClass=function(b,a){if(b){if(!b.fireEvent){Ext.apply(b,new Ext.util.Observable());Ext.util.Observable.capture(b.prototype,b.fireEvent,b)}if(Ext.isObject(a)){b.on(a)}return b}};Ext.EventManager=function(){var m,q,j=false,p=Ext.lib.Event,r=Ext.lib.Dom,b=document,o=window,e="ie-deferred-loader",s="DOMContentLoaded",g=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,u=[];function n(B){var C=false,z=0,x=u.length,C=false,y=false,A;if(B){if(B.getElementById||B.navigator){for(;z<x;++z){A=u[z];if(A.el===B){C=A.id;break}}if(!C){C=Ext.id(B);u.push({id:C,el:B});y=true}}else{C=Ext.id(B)}if(!Ext.elCache[C]){Ext.Element.addToCache(new Ext.Element(B),C);if(y){Ext.elCache[C].skipGC=true}}}return C}function l(B,C,F,A,y){B=Ext.getDom(B);var z=n(B),x=Ext.elCache[z].events,D;D=p.on(B,C,A);x[C]=x[C]||[];x[C].push([F,A,y,D]);if(C=="mousewheel"&&B.addEventListener){var E=["DOMMouseScroll",A,false];B.addEventListener.apply(B,E);Ext.EventManager.addListener(o,"unload",function(){B.removeEventListener.apply(B,E)})}if(C=="mousedown"&&B==document){Ext.EventManager.stoppedMouseDownEvent.addListener(A)}}function c(){if(!j){Ext.isReady=j=true;if(q){clearInterval(q)}if(Ext.isGecko||Ext.isOpera){b.removeEventListener(s,c,false)}if(Ext.isIE){var x=b.getElementById(e);if(x){x.onreadystatechange=null;x.parentNode.removeChild(x)}}if(m){m.fire();m.listeners=[]}}}function a(){var x="complete";m=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){b.addEventListener(s,c,false)}else{if(Ext.isIE){b.write("<script id="+e+' defer="defer" src="//:"><\/script>');b.getElementById(e).onreadystatechange=function(){if(this.readyState==x){c()}}}else{if(Ext.isWebKit){q=setInterval(function(){if(b.readyState==x){c()}},10)}}}p.on(o,"load",c)}function w(y,x){return function(){var z=Ext.toArray(arguments);if(x.target==Ext.EventObject.setEvent(z[0]).target){y.apply(this,z)}}}function k(A,x,z){z.task=new Ext.util.DelayedTask(A);var y=function(B){z.task.delay(x.buffer,A,null,[new Ext.EventObjectImpl(B)])};return y}function t(z,x,y,B,A){return function(C){Ext.EventManager.removeListener(x,y,B,A);z(C)}}function d(z,x,y){return function(A){var B=new Ext.util.DelayedTask(z);if(!y.tasks){y.tasks=[]}y.tasks.push(B);B.delay(x.delay||10,z,null,[new Ext.EventObjectImpl(A)])}}function h(B,z,x,D,C){var E=!Ext.isObject(x)?{}:x,A=Ext.getDom(B);D=D||E.fn;C=C||E.scope;if(!A){throw'Error listening for "'+z+'". Element "'+B+"\" doesn't exist."}function y(G){if(!Ext){return}G=Ext.EventObject.setEvent(G);var F;if(E.delegate){if(!(F=G.getTarget(E.delegate,A))){return}}else{F=G.target}if(E.stopEvent){G.stopEvent()}if(E.preventDefault){G.preventDefault()}if(E.stopPropagation){G.stopPropagation()}if(E.normalized){G=G.browserEvent}D.call(C||A,G,F,E)}if(E.target){y=w(y,E)}if(E.delay){y=d(y,E,D)}if(E.single){y=t(y,A,z,D,C)}if(E.buffer){y=k(y,E,D)}l(A,z,D,y,C);return y}var v={addListener:function(B,x,z,y,A){if(Ext.isObject(x)){var E=x,C,D;for(C in E){D=E[C];if(!g.test(C)){if(Ext.isFunction(D)){h(B,C,E,D,E.scope)}else{h(B,C,D)}}}}else{h(B,x,A,z,y)}},removeListener:function(E,x,z,A){E=Ext.getDom(E);var B=n(E),y=E&&(Ext.elCache[B].events)[x]||[],C,H,F,G,D;for(H=0,len=y.length;H<len;H++){if(Ext.isArray(y[H])&&y[H][0]==z&&(!A||y[H][2]==A)){if(z.task){z.task.cancel();delete z.task}G=z.tasks&&z.tasks.length;if(G){while(G--){z.tasks[G].cancel()}delete z.tasks}D=C=y[H][1];if(p.extAdapter){D=y[H][3]}p.un(E,x,D);y.splice(H,1);if(y.length===0){delete Ext.elCache[B].events[x]}for(G in Ext.elCache[B].events){return false}Ext.elCache[B].events={};return false}}if(x=="mousewheel"&&E.addEventListener&&C){E.removeEventListener("DOMMouseScroll",C,false)}if(x=="mousedown"&&E==b&&C){Ext.EventManager.stoppedMouseDownEvent.removeListener(C)}},removeAll:function(B){B=Ext.getDom(B);var A=n(B),G=Ext.elCache[A]||{},z=G.events||{},F,E,x,C,y,D;for(C in z){if(z.hasOwnProperty(C)){F=z[C];for(E=0,x=F.length;E<x;E++){y=F[E][0];if(y.task){y.task.cancel();delete y.task}if(y.tasks&&(D=y.tasks.length)){while(D--){y.tasks[D].cancel()}delete y.tasks}p.un(B,C,p.extAdapter?F[E][3]:F[E][1])}}}if(Ext.elCache[A]){Ext.elCache[A].events={}}},getListeners:function(x,y){x=Ext.getDom(x);var B=n(x),z=Ext.elCache[B]||{},A=z.events||{},C=[];if(A&&A[y]){return A[y]}else{return null}},purgeElement:function(B,z,D){B=Ext.getDom(B);var A=n(B),x=Ext.elCache[A]||{},y=x.events||{},C,F,E;if(D){if(y&&y.hasOwnProperty(D)){F=y[D];for(C=0,E=F.length;C<E;C++){Ext.EventManager.removeListener(B,D,F[C][0])}}}else{Ext.EventManager.removeAll(B)}if(z&&B&&B.childNodes){for(C=0,E=B.childNodes.length;C<E;C++){Ext.EventManager.purgeElement(B.childNodes[C],z,D)}}},_unload:function(){var x;for(x in Ext.elCache){Ext.EventManager.removeAll(x)}},onDocumentReady:function(x,z,y){if(j){m.addListener(x,z,y);m.fire();m.listeners=[]}else{if(!m){a()}y=y||{};y.delay=y.delay||1;m.addListener(x,z,y)}}};v.on=v.addListener;v.un=v.removeListener;v.stoppedMouseDownEvent=new Ext.util.Event();return v}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var a=function(){var c=document.body||document.getElementsByTagName("body")[0];if(!c){return false}var b=[" ",Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":(Ext.isIE7?"ext-ie7":"ext-ie8")):Ext.isGecko?"ext-gecko "+(Ext.isGecko2?"ext-gecko2":"ext-gecko3"):Ext.isOpera?"ext-opera":Ext.isWebKit?"ext-webkit":""];if(Ext.isSafari){b.push("ext-safari "+(Ext.isSafari2?"ext-safari2":(Ext.isSafari3?"ext-safari3":"ext-safari4")))}else{if(Ext.isChrome){b.push("ext-chrome")}}if(Ext.isMac){b.push("ext-mac")}if(Ext.isLinux){b.push("ext-linux")}if(Ext.isStrict||Ext.isBorderBox){var d=c.parentNode;if(d){d.className+=Ext.isStrict?" ext-strict":" ext-border-box"}}c.className+=b.join(" ");return true};if(!a()){Ext.onReady(a)}})();Ext.EventObject=function(){var c=Ext.lib.Event,b={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},a=Ext.isIE?{1:0,4:1,2:2}:(Ext.isWebKit?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(d){if(d){this.setEvent(d.browserEvent||d)}};Ext.EventObjectImpl.prototype={setEvent:function(e){var d=this;if(e==d||(e&&e.browserEvent)){return e}d.browserEvent=e;if(e){d.button=e.button?a[e.button]:(e.which?e.which-1:-1);if(e.type=="click"&&d.button==-1){d.button=0}d.type=e.type;d.shiftKey=e.shiftKey;d.ctrlKey=e.ctrlKey||e.metaKey||false;d.altKey=e.altKey;d.keyCode=e.keyCode;d.charCode=e.charCode;d.target=c.getTarget(e);d.xy=c.getXY(e)}else{d.button=-1;d.shiftKey=false;d.ctrlKey=false;d.altKey=false;d.keyCode=0;d.charCode=0;d.target=null;d.xy=[0,0]}return d},stopEvent:function(){var d=this;if(d.browserEvent){if(d.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(d)}c.stopEvent(d.browserEvent)}},preventDefault:function(){if(this.browserEvent){c.preventDefault(this.browserEvent)}},stopPropagation:function(){var d=this;if(d.browserEvent){if(d.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(d)}c.stopPropagation(d.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(d){return Ext.isSafari?(b[d]||d):d},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getXY:function(){return this.xy},getTarget:function(d,e,g){return d?Ext.fly(this.target).findParent(d,e,g):(g?Ext.get(this.target):this.target)},getRelatedTarget:function(){return this.browserEvent?c.getRelatedTarget(this.browserEvent):null},getWheelDelta:function(){var d=this.browserEvent;var e=0;if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}return e},within:function(d,e,g){if(d){var h=this[e?"getRelatedTarget":"getTarget"]();return h&&((g?(h==Ext.getDom(d)):false)||Ext.fly(d).contains(h))}return false}};return new Ext.EventObjectImpl()}();Ext.apply(Ext.EventManager,function(){var a,h,c,k,j=Ext.lib.Dom,g=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,e=0,d=0,b=Ext.isWebKit?Ext.num(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1])>=525:!((Ext.isGecko&&!Ext.isWindows)||Ext.isOpera);return{doResizeEvent:function(){var m=j.getViewHeight(),l=j.getViewWidth();if(d!=m||e!=l){a.fire(e=l,d=m)}},onWindowResize:function(n,m,l){if(!a){a=new Ext.util.Event();h=new Ext.util.DelayedTask(this.doResizeEvent);Ext.EventManager.on(window,"resize",this.fireWindowResize,this)}a.addListener(n,m,l)},fireWindowResize:function(){if(a){if((Ext.isIE||Ext.isAir)&&h){h.delay(50)}else{a.fire(j.getViewWidth(),j.getViewHeight())}}},onTextResize:function(o,n,l){if(!c){c=new Ext.util.Event();var m=new Ext.Element(document.createElement("div"));m.dom.className="x-text-resize";m.dom.innerHTML="X";m.appendTo(document.body);k=m.dom.offsetHeight;setInterval(function(){if(m.dom.offsetHeight!=k){c.fire(k,k=m.dom.offsetHeight)}},this.textResizeInterval)}c.addListener(o,n,l)},removeResizeListener:function(m,l){if(a){a.removeListener(m,l)}},fireResize:function(){if(a){a.fire(j.getViewWidth(),j.getViewHeight())}},textResizeInterval:50,ieDeferSrc:false,useKeydown:b}}());Ext.EventManager.on=Ext.EventManager.addListener;Ext.apply(Ext.EventObjectImpl.prototype,{BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,CONTROL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGEUP:33,PAGE_DOWN:34,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,isNavKeyPress:function(){var b=this,a=this.normalizeKey(b.keyCode);return(a>=33&&a<=40)||a==b.RETURN||a==b.TAB||a==b.ESC},isSpecialKey:function(){var a=this.normalizeKey(this.keyCode);return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(a==this.BACKSPACE)||(a>=16&&a<=20)||(a>=44&&a<=45)},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)}});(function(){var n=document;Ext.Element=function(r,s){var p=typeof r=="string"?n.getElementById(r):r,q;if(!p){return null}q=p.id;if(!s&&q&&Ext.elCache[q]){return Ext.elCache[q].el}this.dom=p;this.id=q||Ext.id(p)};var c=Ext.lib.Dom,k=Ext.DomHelper,b=Ext.lib.Event,j=Ext.lib.Anim,l=Ext.Element,e=Ext.elCache;l.prototype={set:function(q,s){var t=this.dom,r,p,s=(s!==false)&&!!t.setAttribute;for(r in q){if(q.hasOwnProperty(r)){p=q[r];if(r=="style"){k.applyStyles(t,p)}else{if(r=="cls"){t.className=p}else{if(s){t.setAttribute(r,p)}else{t[r]=p}}}}}return this},defaultUnit:"px",is:function(p){return Ext.DomQuery.is(this.dom,p)},focus:function(q,p){var r=this,p=p||r.dom;try{if(Number(q)){r.focus.defer(q,null,[null,p])}else{p.focus()}}catch(s){}return r},blur:function(){try{this.dom.blur()}catch(p){}return this},getValue:function(p){var q=this.dom.value;return p?parseInt(q,10):q},addListener:function(r,q,p,s){Ext.EventManager.on(this.dom,r,q,p||this,s);return this},removeListener:function(r,q,p){Ext.EventManager.removeListener(this.dom,r,q,p||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},purgeAllListeners:function(){Ext.EventManager.purgeElement(this,true);return this},addUnits:function(p){if(p===""||p=="auto"||p===undefined){p=p||""}else{if(!isNaN(p)||!o.test(p)){p=p+(this.defaultUnit||"px")}}return p},load:function(p,q,r){Ext.Ajax.request(Ext.apply({params:q,url:p.url||p,callback:r,el:this.dom,indicatorText:p.indicatorText||""},Ext.isObject(p)?p:{}));return this},isBorderBox:function(){return m[(this.dom.tagName||"").toLowerCase()]||Ext.isBorderBox},remove:function(){var p=this,q=p.dom;if(q){delete p.dom;Ext.removeNode(q)}},hover:function(s,r,p,t){var q=this;q.on("mouseenter",s,p||q.dom,t);q.on("mouseleave",r,p||q.dom,t);return q},contains:function(p){return !p?false:Ext.lib.Dom.isAncestor(this.dom,p.dom?p.dom:p)},getAttributeNS:function(q,p){return this.getAttribute(p,q)},getAttribute:Ext.isIE?function(r,p){var q=this.dom,s=typeof q[p+":"+r];if(["undefined","unknown"].indexOf(s)==-1){return q[p+":"+r]}return q[r]}:function(r,p){var q=this.dom;return q.getAttributeNS(p,r)||q.getAttribute(p+":"+r)||q.getAttribute(r)||q[r]},update:function(p){if(this.dom){this.dom.innerHTML=p}return this}};var d=l.prototype;l.addMethods=function(p){Ext.apply(d,p)};d.on=d.addListener;d.un=d.removeListener;d.autoBoxAdjust=true;var o=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,h;l.get=function(s){var r,q,p;if(!s){return null}if(typeof s=="string"){if(!(q=n.getElementById(s))){return null}if(e[s]&&e[s].el){r=e[s].el;r.dom=q}else{r=l.addToCache(new l(q))}return r}else{if(s.tagName){if(!(p=s.id)){p=Ext.id(s)}if(e[p]&&e[p].el){r=e[p].el;r.dom=s}else{r=l.addToCache(new l(s))}return r}else{if(s instanceof l){if(s!=h){s.dom=n.getElementById(s.id)||s.dom}return s}else{if(s.isComposite){return s}else{if(Ext.isArray(s)){return l.select(s)}else{if(s==n){if(!h){var t=function(){};t.prototype=l.prototype;h=new t();h.dom=n}return h}}}}}}return null};l.addToCache=function(p,q){q=q||p.id;e[q]={el:p,data:{},events:{}};return p};l.data=function(s,r,p){s=l.get(s);if(!s){return null}var q=e[s.id].data;if(arguments.length==2){return q[r]}else{return(q[r]=p)}};function a(){if(!Ext.enableGarbageCollector){clearInterval(l.collectorThreadId)}else{var r,t,q,p;for(r in e){p=e[r];if(p.skipGC){continue}t=p.el;q=t.dom;if(!q||!q.parentNode||(!q.offsetParent&&!n.getElementById(r))){if(Ext.enableListenerCollection){Ext.EventManager.removeAll(q)}delete e[r]}}if(Ext.isIE){var s={};for(r in e){s[r]=e[r]}e=Ext.elCache=s}}}l.collectorThreadId=setInterval(a,30000);var g=function(){};g.prototype=l.prototype;l.Flyweight=function(p){this.dom=p};l.Flyweight.prototype=new g();l.Flyweight.prototype.isFlyweight=true;l._flyweights={};l.fly=function(q,r){var p=null;r=r||"_global";if(q=Ext.getDom(q)){(l._flyweights[r]=l._flyweights[r]||new l.Flyweight()).dom=q;p=l._flyweights[r]}return p};Ext.get=l.get;Ext.fly=l.fly;var m=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){m.button=1}Ext.EventManager.on(window,"unload",function(){delete e;delete l._flyweights})})();Ext.Element.addMethods({swallowEvent:function(c,d){var b=this;function a(e){e.stopPropagation();if(d){e.preventDefault()}}if(Ext.isArray(c)){Ext.each(c,function(e){b.on(e,a)});return b}b.on(c,a);return b},relayEvent:function(a,b){this.on(a,function(c){b.fireEvent(a,c)})},clean:function(e){var a=this,b=a.dom,c=b.firstChild,g=-1;if(Ext.Element.data(b,"isCleaned")&&e!==true){return a}while(c){var d=c.nextSibling;if(c.nodeType==3&&!/\S/.test(c.nodeValue)){b.removeChild(c)}else{c.nodeIndex=++g}c=d}Ext.Element.data(b,"isCleaned",true);return a},load:function(){var a=this.getUpdater();a.update.apply(a,arguments);return this},getUpdater:function(){return this.updateManager||(this.updateManager=new Ext.Updater(this))},update:function(html,loadScripts,callback){if(!this.dom){return this}html=html||"";if(loadScripts!==true){this.dom.innerHTML=html;if(Ext.isFunction(callback)){callback()}return this}var id=Ext.id(),dom=this.dom;html+='<span id="'+id+'"></span>';Ext.lib.Event.onAvailable(id,function(){var DOC=document,hd=DOC.getElementsByTagName("head")[0],re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,srcRe=/\ssrc=([\'\"])(.*?)\1/i,typeRe=/\stype=([\'\"])(.*?)\1/i,match,attrs,srcMatch,typeMatch,el,s;while((match=re.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){s=DOC.createElement("script");s.src=srcMatch[2];typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}el=DOC.getElementById(id);if(el){Ext.removeNode(el)}if(Ext.isFunction(callback)){callback()}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},removeAllListeners:function(){this.removeAnchor();Ext.EventManager.removeAll(this.dom);return this},createProxy:function(d,c,b){d=Ext.isObject(d)?d:{tag:"div",cls:d};var a=this,e=c?Ext.DomHelper.append(c,d,true):Ext.DomHelper.insertBefore(a.dom,d,true);if(b&&a.setBox&&a.getBox){e.setBox(a.getBox())}return e}});Ext.Element.prototype.getUpdateManager=Ext.Element.prototype.getUpdater;Ext.Element.addMethods({getAnchorXY:function(l,t,b){l=(l||"tl").toLowerCase();b=b||{};var q=this,d=q.dom==document.body||q.dom==document,g=b.width||d?Ext.lib.Dom.getViewWidth():q.getWidth(),n=b.height||d?Ext.lib.Dom.getViewHeight():q.getHeight(),j,c=Math.round,e=q.getXY(),a=q.getScroll(),p=d?a.left:!t?e[0]:0,m=d?a.top:!t?e[1]:0,k={c:[c(g*0.5),c(n*0.5)],t:[c(g*0.5),0],l:[0,c(n*0.5)],r:[g,c(n*0.5)],b:[c(g*0.5),n],tl:[0,0],bl:[0,n],br:[g,n],tr:[g,0]};j=k[l];return[j[0]+p,j[1]+m]},anchorTo:function(h,a,j,g,d,e){var b=this,l=b.dom,c=!Ext.isEmpty(d),k=function(){Ext.fly(l).alignTo(h,a,j,g);Ext.callback(e,Ext.fly(l))},m=this.getAnchor();this.removeAnchor();Ext.apply(m,{fn:k,scroll:c});Ext.EventManager.onWindowResize(k,null);if(c){Ext.EventManager.on(window,"scroll",k,null,{buffer:!isNaN(d)?d:50})}k.call(b);return b},removeAnchor:function(){var b=this,a=this.getAnchor();if(a&&a.fn){Ext.EventManager.removeResizeListener(a.fn);if(a.scroll){Ext.EventManager.un(window,"scroll",a.fn)}delete a.fn}return b},getAnchor:function(){var c=Ext.Element.data,a=this.dom;if(!a){return}var b=c(a,"_anchor");if(!b){b=c(a,"_anchor",{})}return b},getAlignToXY:function(I,e,g){I=Ext.get(I);if(!I||!I.dom){throw"Element.alignToXY with an element that doesn't exist"}g=g||[0,0];e=(!e||e=="?"?"tl-bl?":(!/-/.test(e)&&e!==""?"tl-"+e:e||"tl-bl")).toLowerCase();var D=this,z=D.dom,J,E,b,O,l,t,B,q=Ext.lib.Dom.getViewWidth()-10,v=Ext.lib.Dom.getViewHeight()-10,G,L,M,N,u,a,K=document,C=K.documentElement,j=K.body,s=(C.scrollLeft||j.scrollLeft||0)+5,n=(C.scrollTop||j.scrollTop||0)+5,A=false,H="",F="",k=e.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!k){throw"Element.alignTo with an invalid alignment "+e}H=k[1];F=k[2];A=!!k[3];J=D.getAnchorXY(H,true);E=I.getAnchorXY(F,false);b=E[0]-J[0]+g[0];O=E[1]-J[1]+g[1];if(A){l=D.getWidth();t=D.getHeight();B=I.getRegion();G=H.charAt(0);L=H.charAt(H.length-1);M=F.charAt(0);N=F.charAt(F.length-1);u=((G=="t"&&M=="b")||(G=="b"&&M=="t"));a=((L=="r"&&N=="l")||(L=="l"&&N=="r"));if(b+l>q+s){b=a?B.left-l:q+s-l}if(b<s){b=a?B.right:s}if(O+t>v+n){O=u?B.top-t:v+n-t}if(O<n){O=u?B.bottom:n}}return[b,O]},alignTo:function(a,d,c,e){var b=this;return b.setXY(b.getAlignToXY(a,d,c),b.preanim&&!!e?b.preanim(arguments,3):false)},adjustForConstraints:function(a,b,c){return this.getConstrainToXY(b||document,false,c,a)||a},getConstrainToXY:function(e,d,a,c){var b={top:0,left:0,bottom:0,right:0};return function(h,t,k,o){h=Ext.get(h);k=k?Ext.applyIf(k,b):b;var C,v,B=0,A=0;if(h.dom==document.body||h.dom==document){C=Ext.lib.Dom.getViewWidth();v=Ext.lib.Dom.getViewHeight()}else{C=h.dom.clientWidth;v=h.dom.clientHeight;if(!t){var z=h.getXY();B=z[0];A=z[1]}}var p=h.getScroll();B+=k.left+p.left;A+=k.top+p.top;C-=k.right;v-=k.bottom;var n=B+C;var g=A+v;var j=o||(!t?this.getXY():[this.getLeft(true),this.getTop(true)]);var r=j[0],q=j[1];var l=this.dom.offsetWidth,u=this.dom.offsetHeight;var m=false;if((r+l)>n){r=n-l;m=true}if((q+u)>g){q=g-u;m=true}if(r<B){r=B;m=true}if(q<A){q=A;m=true}return m?[r,q]:false}}(),getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(a){return this.alignTo(a||document,"c-c")}});Ext.Element.addMethods(function(){var b="parentNode",e="nextSibling",a="previousSibling",c=Ext.DomQuery,d=Ext.get;return{findParent:function(k,h,j){var n=this.dom,m=document.body,g=0,l;if(Ext.isGecko&&Object.prototype.toString.call(n)=="[object XULElement]"){return null}h=h||50;if(isNaN(h)){l=Ext.getDom(h);h=Number.MAX_VALUE}while(n&&n.nodeType==1&&g<h&&n!=m&&n!=l){if(c.is(n,k)){return j?d(n):n}g++;n=n.parentNode}return null},findParentNode:function(h,g,j){var k=Ext.fly(this.dom.parentNode,"_internal");return k?k.findParent(h,g,j):null},up:function(h,g){return this.findParentNode(h,g,true)},select:function(g){return Ext.Element.select(g,this.dom)},query:function(g){return c.select(g,this.dom)},child:function(j,g){var h=c.selectNode(j,this.dom);return g?h:d(h)},down:function(j,g){var h=c.selectNode(" > "+j,this.dom);return g?h:d(h)},parent:function(g,h){return this.matchNode(b,b,g,h)},next:function(g,h){return this.matchNode(e,e,g,h)},prev:function(g,h){return this.matchNode(a,a,g,h)},first:function(g,h){return this.matchNode(e,"firstChild",g,h)},last:function(g,h){return this.matchNode(a,"lastChild",g,h)},matchNode:function(k,h,j,l){var g=this.dom[h];while(g){if(g.nodeType==1&&(!j||c.is(g,j))){return !l?d(g):g}g=g[k]}return null}}}());Ext.Element.addMethods({select:function(a,b){return Ext.Element.select(a,b,this.dom)}});Ext.Element.addMethods(function(){var a=Ext.getDom,b=Ext.get,c=Ext.DomHelper;return{appendChild:function(d){return b(d).appendTo(this)},appendTo:function(d){a(d).appendChild(this.dom);return this},insertBefore:function(d){(d=a(d)).parentNode.insertBefore(this.dom,d);return this},insertAfter:function(d){(d=a(d)).parentNode.insertBefore(this.dom,d.nextSibling);return this},insertFirst:function(e,d){e=e||{};if(e.nodeType||e.dom||typeof e=="string"){e=a(e);this.dom.insertBefore(e,this.dom.firstChild);return !d?b(e):e}else{return this.createChild(e,this.dom.firstChild,d)}},replace:function(d){d=b(d);this.insertBefore(d);d.remove();return this},replaceWith:function(d){var e=this;if(d.nodeType||d.dom||typeof d=="string"){d=a(d);e.dom.parentNode.insertBefore(d,e.dom)}else{d=c.insertBefore(e.dom,d)}delete Ext.elCache[e.id];Ext.removeNode(e.dom);e.id=Ext.id(e.dom=d);Ext.Element.addToCache(e.isFlyweight?new Ext.Element(e.dom):e);return e},createChild:function(d,g,e){d=d||{tag:"div"};return g?c.insertBefore(g,d,e!==true):c[!this.dom.firstChild?"overwrite":"append"](this.dom,d,e!==true)},wrap:function(g,d){var e=c.insertBefore(this.dom,g||{tag:"div"},!d);e.dom?e.dom.appendChild(this.dom):e.appendChild(this.dom);return e},insertHtml:function(h,d,g){var e=c.insertHtml(h,this.dom,d);return g?Ext.get(e):e}}}());Ext.apply(Ext.Element.prototype,function(){var a=Ext.getDom,b=Ext.get,c=Ext.DomHelper;return{insertSibling:function(l,k,e){var d=this,j,h=(k||"before").toLowerCase()=="after",g;if(Ext.isArray(l)){g=d;Ext.each(l,function(m){j=Ext.fly(g,"_internal").insertSibling(m,k,e);if(h){g=j}});return j}l=l||{};if(l.nodeType||l.dom){j=d.dom.parentNode.insertBefore(a(l),h?d.dom.nextSibling:d.dom);if(!e){j=b(j)}}else{if(h&&!d.dom.nextSibling){j=c.append(d.dom.parentNode,l,!e)}else{j=c[h?"insertAfter":"insertBefore"](d.dom,l,!e)}}return j}}}());Ext.Element.addMethods(function(){var D={},v=/(-[a-z])/gi,y={},p=document.defaultView,s=Ext.isIE?"styleFloat":"cssFloat",n=/alpha\(opacity=(.*)\)/i,c=/^\s+|\s+$/g,j=Ext.Element,A="padding",z="margin",w="border",r="-left",l="-right",u="-top",g="-bottom",a="-width",o=Math,h="hidden",B="isClipped",b="overflow",e="overflow-x",d="overflow-y",m="originalClip",E={l:w+r+a,r:w+l+a,t:w+u+a,b:w+g+a},C={l:A+r,r:A+l,t:A+u,b:A+g},x={l:z+r,r:z+l,t:z+u,b:z+g},q=Ext.Element.data;function k(F,G){return G.charAt(1).toUpperCase()}function t(F){return D[F]||(D[F]=F=="float"?s:F.replace(v,k))}return{adjustWidth:function(H){var F=this;var G=Ext.isNumber(H);if(G&&F.autoBoxAdjust&&!F.isBorderBox()){H-=(F.getBorderWidth("lr")+F.getPadding("lr"))}return(G&&H<0)?0:H},adjustHeight:function(H){var F=this;var G=Ext.isNumber(H);if(G&&F.autoBoxAdjust&&!F.isBorderBox()){H-=(F.getBorderWidth("tb")+F.getPadding("tb"))}return(G&&H<0)?0:H},addClass:function(F){var G=this,J,H,I;F=Ext.isArray(F)?F:[F];for(J=0,H=F.length;J<H;J++){I=F[J];if(I){G.dom.className+=(!G.hasClass(I)&&I?" "+I:"")}}return G},radioClass:function(F){var G=this.dom.parentNode.childNodes,I;F=Ext.isArray(F)?F:[F];for(var J=0,H=G.length;J<H;J++){I=G[J];if(I&&I.nodeType==1){Ext.fly(I,"_internal").removeClass(F)}}return this.addClass(F)},removeClass:function(F){var G=this,I;F=Ext.isArray(F)?F:[F];if(G.dom&&G.dom.className){for(var J=0,H=F.length;J<H;J++){I=F[J];if(I){G.dom.className=G.dom.className.replace(y[I]=y[I]||new RegExp("(?:^|\\s+)"+I+"(?:\\s+|$)","g")," ")}}}return G},toggleClass:function(F){return this.hasClass(F)?this.removeClass(F):this.addClass(F)},hasClass:function(F){return F&&(" "+this.dom.className+" ").indexOf(" "+F+" ")!=-1},replaceClass:function(G,F){return this.removeClass(G).addClass(F)},isStyle:function(F,G){return this.getStyle(F)==G},getStyle:function(){return p&&p.getComputedStyle?function(G){var K=this.dom,H,J,I,L,F=Ext.isWebKit,L;if(K==document){return null}G=t(G);if(F&&/marginRight/.test(G)){L=this.getStyle("display");K.style.display="inline-block"}I=(H=K.style[G])?H:(J=p.getComputedStyle(K,""))?J[G]:null;if(F){if(I=="rgba(0, 0, 0, 0)"){I="transparent"}else{if(L){K.style.display=L}}}return I}:function(G){var J=this.dom,H,I;if(J==document){return null}if(G=="opacity"){if(J.style.filter.match){if(H=J.style.filter.match(n)){var F=parseFloat(H[1]);if(!isNaN(F)){return F?F/100:0}}}return 1}G=t(G);return J.style[G]||((I=J.currentStyle)?I[G]:null)}}(),getColor:function(H,I,G){var K=this.getStyle(H),J=Ext.isDefined(G)?G:"#",F;if(!K||/transparent|inherit/.test(K)){return I}if(/^r/.test(K)){Ext.each(K.slice(4,K.length-1).split(","),function(L){F=parseInt(L,10);J+=(F<16?"0":"")+F.toString(16)})}else{K=K.replace("#","");J+=K.length==3?K.replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3"):K}return(J.length>5?J.toLowerCase():I)},setStyle:function(G,F){var I,J,H;if(!Ext.isObject(G)){I={};I[G]=F;G=I}for(J in G){F=G[J];J=="opacity"?this.setOpacity(F):this.dom.style[t(J)]=F}return this},setOpacity:function(I,H){var F=this,J=F.dom.style;if(!H||!F.anim){if(Ext.isIE){var K=I<1?"alpha(opacity="+I*100+")":"",G=J.filter.replace(n,"").replace(c,"");J.zoom=1;J.filter=G+(G.length>0?" ":"")+K}else{J.opacity=I}}else{F.anim({opacity:{to:I}},F.preanim(arguments,1),null,0.35,"easeIn")}return F},clearOpacity:function(){var F=this.dom.style;if(Ext.isIE){if(!Ext.isEmpty(F.filter)){F.filter=F.filter.replace(n,"").replace(c,"")}}else{F.opacity=F["-moz-opacity"]=F["-khtml-opacity"]=""}return this},getHeight:function(J){var I=this,G=I.dom,F=Ext.isIE&&I.isStyle("display","none"),H=o.max(G.offsetHeight,F?0:G.clientHeight)||0;H=!J?H:H-I.getBorderWidth("tb")-I.getPadding("tb");return H<0?0:H},getWidth:function(I){var J=this,G=J.dom,F=Ext.isIE&&J.isStyle("display","none"),H=o.max(G.offsetWidth,F?0:G.clientWidth)||0;H=!I?H:H-J.getBorderWidth("lr")-J.getPadding("lr");return H<0?0:H},setWidth:function(F,H){var G=this;F=G.adjustWidth(F);!H||!G.anim?G.dom.style.width=G.addUnits(F):G.anim({width:{to:F}},G.preanim(arguments,1));return G},setHeight:function(H,F){var G=this;H=G.adjustHeight(H);!F||!G.anim?G.dom.style.height=G.addUnits(H):G.anim({height:{to:H}},G.preanim(arguments,1));return G},getBorderWidth:function(F){return this.addStyles(F,E)},getPadding:function(F){return this.addStyles(F,C)},clip:function(){var F=this,G=F.dom;if(!q(G,B)){q(G,B,true);q(G,m,{o:F.getStyle(b),x:F.getStyle(e),y:F.getStyle(d)});F.setStyle(b,h);F.setStyle(e,h);F.setStyle(d,h)}return F},unclip:function(){var H=this,G=H.dom;if(q(G,B)){q(G,B,false);var F=q(G,m);if(F.o){H.setStyle(b,F.o)}if(F.x){H.setStyle(e,F.x)}if(F.y){H.setStyle(d,F.y)}}return H},addStyles:function(F,L){var G=0,I=F.match(/\w/g),K;for(var J=0,H=I.length;J<H;J++){K=I[J]&&parseInt(this.getStyle(L[I[J]]),10);if(K){G+=o.abs(K)}}return G},margins:x}}());Ext.Element.boxMarkup='<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"></div></div></div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"></div></div></div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"></div></div></div>';Ext.Element.addMethods(function(){var a="_internal",b=/(\d+)px/;return{applyStyles:function(c){Ext.DomHelper.applyStyles(this.dom,c);return this},getStyles:function(){var c={};Ext.each(arguments,function(d){c[d]=this.getStyle(d)},this);return c},getStyleSize:function(){var d=this,c,j,g=this.dom,e=g.style;if(e.width&&e.width!="auto"){c=parseInt(e.width,10);if(d.isBorderBox()){c-=d.getFrameWidth("lr")}}if(e.height&&e.height!="auto"){j=parseInt(e.height,10);if(d.isBorderBox()){j-=d.getFrameWidth("tb")}}return{width:c||d.getWidth(true),height:j||d.getHeight(true)}},setOverflow:function(c){var d=this.dom;if(c=="auto"&&Ext.isMac&&Ext.isGecko2){d.style.overflow="hidden";(function(){d.style.overflow="auto"}).defer(1)}else{d.style.overflow=c}},boxWrap:function(c){c=c||"x-box";var d=Ext.get(this.insertHtml("beforeBegin","<div class='"+c+"'>"+String.format(Ext.Element.boxMarkup,c)+"</div>"));Ext.DomQuery.selectNode("."+c+"-mc",d.dom).appendChild(this.dom);return d},setSize:function(c,e,g){var d=this;if(Ext.isObject(c)){e=c.height;c=c.width}c=d.adjustWidth(c);e=d.adjustHeight(e);if(!g||!d.anim){d.dom.style.width=d.addUnits(c);d.dom.style.height=d.addUnits(e)}else{d.anim({width:{to:c},height:{to:e}},d.preanim(arguments,2))}return d},getComputedHeight:function(){var d=this,c=Math.max(d.dom.offsetHeight,d.dom.clientHeight);if(!c){c=parseInt(d.getStyle("height"),10)||0;if(!d.isBorderBox()){c+=d.getFrameWidth("tb")}}return c},getComputedWidth:function(){var c=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!c){c=parseInt(this.getStyle("width"),10)||0;if(!this.isBorderBox()){c+=this.getFrameWidth("lr")}}return c},getFrameWidth:function(d,c){return c&&this.isBorderBox()?0:(this.getPadding(d)+this.getBorderWidth(d))},addClassOnOver:function(c){this.hover(function(){Ext.fly(this,a).addClass(c)},function(){Ext.fly(this,a).removeClass(c)});return this},addClassOnFocus:function(c){this.on("focus",function(){Ext.fly(this,a).addClass(c)},this.dom);this.on("blur",function(){Ext.fly(this,a).removeClass(c)},this.dom);return this},addClassOnClick:function(c){var d=this.dom;this.on("mousedown",function(){Ext.fly(d,a).addClass(c);var g=Ext.getDoc(),e=function(){Ext.fly(d,a).removeClass(c);g.removeListener("mouseup",e)};g.on("mouseup",e)});return this},getViewSize:function(k){var l=document,o=this,j=o.dom,n=Ext.lib.Dom,p=(j==l||j==l.body),r,m,e,q=0,c=0,d=0,g=0;if(p){return{width:n.getViewWidth(),height:n.getViewHeight()}}r=o.isBorderBox();q=o.getBorderWidth("tb");c=o.getBorderWidth("lr");d=o.getPadding("tb");g=o.getPadding("lr");if(m=o.getStyle("width").match(b)){if((m=parseInt(m[1],10))&&r){m-=(c+g)}if(!k){m+=g}}else{if(!(m=j.clientWidth)&&(m=j.offsetWidth)){m-=c}if(m&&k){m-=g}}if(e=o.getStyle("height").match(b)){if((e=parseInt(e[1],10))&&r){e-=(q+d)}if(!k){e+=d}}else{if(!(e=j.clientHeight)&&(e=j.offsetHeight)){e-=q}if(e&&k){e-=d}}return{width:m,height:e}},getSize:function(c){return{width:this.getWidth(c),height:this.getHeight(c)}},repaint:function(){var c=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.fly(c).removeClass("x-repaint")},1);return this},unselectable:function(){this.dom.unselectable="on";return this.swallowEvent("selectstart",true).applyStyles("-moz-user-select:none;-khtml-user-select:none;").addClass("x-unselectable")},getMargins:function(g){var h=this,e,c={t:"top",l:"left",r:"right",b:"bottom"},d={};if(!g){for(e in h.margins){d[c[e]]=parseInt(h.getStyle(h.margins[e]),10)||0}return d}else{return h.addStyles.call(h,g,h.margins)}}}}());(function(){var h=Ext.lib.Dom,j="left",b="right",l="top",d="bottom",c="position",k="static",a="relative",e="auto",g="z-index";Ext.Element.addMethods({getX:function(){return h.getX(this.dom)},getY:function(){return h.getY(this.dom)},getXY:function(){return h.getXY(this.dom)},getOffsetsTo:function(n){var m=this.getXY(),o=Ext.fly(n,"_internal").getXY();return[m[0]-o[0],m[1]-o[1]]},setX:function(n,m){return this.setXY([n,this.getY()],this.animTest(arguments,m,1))},setY:function(m,n){return this.setXY([this.getX(),m],this.animTest(arguments,n,1))},setLeft:function(m){this.setStyle(j,this.addUnits(m));return this},setTop:function(m){this.setStyle(l,this.addUnits(m));return this},setRight:function(m){this.setStyle(b,this.addUnits(m));return this},setBottom:function(m){this.setStyle(d,this.addUnits(m));return this},setXY:function(m,n){var o=this;if(!n||!o.anim){h.setXY(o.dom,m)}else{o.anim({points:{to:m}},o.preanim(arguments,1),"motion")}return o},setLocation:function(n,m,o){return this.setXY([n,m],this.animTest(arguments,o,2))},moveTo:function(n,m,o){return this.setXY([n,m],this.animTest(arguments,o,2))},getLeft:function(m){return !m?this.getX():parseInt(this.getStyle(j),10)||0},getRight:function(n){var m=this;return !n?m.getX()+m.getWidth():(m.getLeft(true)+m.getWidth())||0},getTop:function(m){return !m?this.getY():parseInt(this.getStyle(l),10)||0},getBottom:function(n){var m=this;return !n?m.getY()+m.getHeight():(m.getTop(true)+m.getHeight())||0},position:function(m,q,n,p){var o=this;if(!m&&o.isStyle(c,k)){o.setStyle(c,a)}else{if(m){o.setStyle(c,m)}}if(q){o.setStyle(g,q)}if(n||p){o.setXY([n||false,p||false])}},clearPositioning:function(m){m=m||"";this.setStyle({left:m,right:m,top:m,bottom:m,"z-index":"",position:k});return this},getPositioning:function(){var n=this.getStyle(j);var m=this.getStyle(l);return{position:this.getStyle(c),left:n,right:n?"":this.getStyle(b),top:m,bottom:m?"":this.getStyle(d),"z-index":this.getStyle(g)}},setPositioning:function(n){var m=this,o=m.dom.style;m.setStyle(n);if(n.right==e){o.right=""}if(n.bottom==e){o.bottom=""}return m},translatePoints:function(n,m){m=isNaN(n[1])?m:n[1];n=isNaN(n[0])?n:n[0];var q=this,r=q.isStyle(c,a),s=q.getXY(),o=parseInt(q.getStyle(j),10),p=parseInt(q.getStyle(l),10);o=!isNaN(o)?o:(r?0:q.dom.offsetLeft);p=!isNaN(p)?p:(r?0:q.dom.offsetTop);return{left:(n-s[0]+o),top:(m-s[1]+p)}},animTest:function(o,n,m){return !!n&&this.preanim?this.preanim(o,m):false}})})();Ext.Element.addMethods({setBox:function(b,c,e){var a=this,d=b.width,g=b.height;if((c&&!a.autoBoxAdjust)&&!a.isBorderBox()){d-=(a.getBorderWidth("lr")+a.getPadding("lr"));g-=(a.getBorderWidth("tb")+a.getPadding("tb"))}a.setBounds(b.x,b.y,d,g,a.animTest.call(a,arguments,e,2));return a},getBox:function(p,o){var c=this,x,g,k,e=c.getBorderWidth,q=c.getPadding,m,a,v,j;if(!o){x=c.getXY()}else{g=parseInt(c.getStyle("left"),10)||0;k=parseInt(c.getStyle("top"),10)||0;x=[g,k]}var d=c.dom,s=d.offsetWidth,n=d.offsetHeight,u;if(!p){u={x:x[0],y:x[1],0:x[0],1:x[1],width:s,height:n}}else{m=e.call(c,"l")+q.call(c,"l");a=e.call(c,"r")+q.call(c,"r");v=e.call(c,"t")+q.call(c,"t");j=e.call(c,"b")+q.call(c,"b");u={x:x[0]+m,y:x[1]+v,0:x[0]+m,1:x[1]+v,width:s-(m+a),height:n-(v+j)}}u.right=u.x+u.width;u.bottom=u.y+u.height;return u},move:function(a,g,h){var l=this,d=l.getXY(),b=d[0],n=d[1],j=[b-g,n],c=[b+g,n],m=[b,n-g],e=[b,n+g],k={l:j,left:j,r:c,right:c,t:m,top:m,up:m,b:e,bottom:e,down:e};a=a.toLowerCase();l.moveTo(k[a][0],k[a][1],l.animTest.call(l,arguments,h,2))},setLeftTop:function(b,a){var d=this,c=d.dom.style;c.left=d.addUnits(b);c.top=d.addUnits(a);return d},getRegion:function(){return Ext.lib.Dom.getRegion(this.dom)},setBounds:function(e,c,a,d,g){var b=this;if(!g||!b.anim){b.setSize(a,d);b.setLocation(e,c)}else{b.anim({points:{to:[e,c]},width:{to:b.adjustWidth(a)},height:{to:b.adjustHeight(d)}},b.preanim(arguments,4),"motion")}return b},setRegion:function(b,a){return this.setBounds(b.left,b.top,b.right-b.left,b.bottom-b.top,this.animTest.call(this,arguments,a,1))}});Ext.Element.addMethods({isScrollable:function(){var a=this.dom;return a.scrollHeight>a.clientHeight||a.scrollWidth>a.clientWidth},scrollTo:function(a,b){this.dom["scroll"+(/top/i.test(a)?"Top":"Left")]=b;return this},getScroll:function(){var b=this.dom,a=document,c=a.body,e=a.documentElement,h,j,g;if(b==a||b==c){if(Ext.isIE&&Ext.isStrict){h=e.scrollLeft;j=e.scrollTop}else{h=window.pageXOffset;j=window.pageYOffset}g={left:h||(c?c.scrollLeft:0),top:j||(c?c.scrollTop:0)}}else{g={left:b.scrollLeft,top:b.scrollTop}}return g}});Ext.Element.addMethods({scrollTo:function(d,g,c){var h=/top/i.test(d),e=this,a=e.dom,b;if(!c||!e.anim){b="scroll"+(h?"Top":"Left"),a[b]=g}else{b="scroll"+(h?"Left":"Top"),e.anim({scroll:{to:h?[a[b],g]:[g,a[b]]}},e.preanim(arguments,2),"scroll")}return e},scrollIntoView:function(p,v){var q=Ext.getDom(p)||Ext.getBody().dom,u=this.dom,s=this.getOffsetsTo(q),j=s[0]+q.scrollLeft,g=s[1]+q.scrollTop,d=g+u.offsetHeight,n=j+u.offsetWidth,h=q.clientHeight,k=parseInt(q.scrollTop,10),e=parseInt(q.scrollLeft,10),a=k+h,m=e+q.clientWidth;if(u.offsetHeight>h||g<k){q.scrollTop=g}else{if(d>a){q.scrollTop=d-h}}q.scrollTop=q.scrollTop;if(v!==false){if(u.offsetWidth>q.clientWidth||j<e){q.scrollLeft=j}else{if(n>m){q.scrollLeft=n-q.clientWidth}}q.scrollLeft=q.scrollLeft}return this},scrollChildIntoView:function(b,a){Ext.fly(b,"_scrollChildIntoView").scrollIntoView(this,a)},scroll:function(q,c,j){if(!this.isScrollable()){return}var k=this.dom,m=k.scrollLeft,e=k.scrollTop,a=k.scrollWidth,p=k.scrollHeight,n=k.clientWidth,b=k.clientHeight,g=false,d,o={l:Math.min(m+c,a-n),r:d=Math.max(m-c,0),t:Math.max(e-c,0),b:Math.min(e+c,p-b)};o.d=o.b;o.u=o.t;q=q.substr(0,1);if((d=o[q])>-1){g=true;this.scrollTo(q=="l"||q=="r"?"left":"top",d,this.preanim(arguments,2))}return g}});Ext.Element.VISIBILITY=1;Ext.Element.DISPLAY=2;Ext.Element.addMethods(function(){var c="visibility",l="display",j="hidden",e="none",h="originalDisplay",k="visibilityMode",a=Ext.Element.DISPLAY,b=Ext.Element.data,d=function(m){var n=b(m,h);if(n===undefined){b(m,h,n="")}return n},g=function(n){var m=b(n,k);if(m===undefined){b(n,k,m=1)}return m};return{originalDisplay:"",visibilityMode:1,setVisibilityMode:function(m){b(this.dom,k,m);return this},animate:function(o,q,p,m,n){this.anim(o,{duration:q,callback:p,easing:m},n);return this},anim:function(q,r,o,t,p,n){o=o||"run";r=r||{};var s=this,m=Ext.lib.Anim[o](s.dom,q,(r.duration||t)||0.35,(r.easing||p)||"easeOut",function(){if(n){n.call(s)}if(r.callback){r.callback.call(r.scope||s,s,r)}},s);r.anim=m;return m},preanim:function(n,m){return !n[m]?false:(Ext.isObject(n[m])?n[m]:{duration:n[m+1],callback:n[m+2],easing:n[m+3]})},isVisible:function(){return !this.isStyle(c,j)&&!this.isStyle(l,e)},setVisible:function(m,o){var p=this,q=p.dom,n=g(this.dom)==a;if(!o||!p.anim){if(n){p.setDisplayed(m)}else{p.fixDisplay();q.style.visibility=m?"visible":j}}else{if(m){p.setOpacity(0.01);p.setVisible(true)}p.anim({opacity:{to:(m?1:0)}},p.preanim(arguments,1),null,0.35,"easeIn",function(){if(!m){q.style[n?l:c]=(n)?e:j;Ext.fly(q).setOpacity(1)}})}return p},toggle:function(n){var m=this;m.setVisible(!m.isVisible(),m.preanim(arguments,0));return m},setDisplayed:function(m){if(typeof m=="boolean"){m=m?d(this.dom):e}this.setStyle(l,m);return this},fixDisplay:function(){var m=this;if(m.isStyle(l,e)){m.setStyle(c,j);m.setStyle(l,d(this.dom));if(m.isStyle(l,e)){m.setStyle(l,"block")}}},hide:function(m){this.setVisible(false,this.preanim(arguments,0));return this},show:function(m){this.setVisible(true,this.preanim(arguments,0));return this}}}());Ext.Element.addMethods(function(){var g="visibility",d="display",c="hidden",b="none",e="x-masked",a="x-masked-relative",h=Ext.Element.data;return{isVisible:function(l){var j=!this.isStyle(g,c)&&!this.isStyle(d,b),k=this.dom.parentNode;if(l!==true||!j){return j}while(k&&!/body/i.test(k.tagName)){if(!Ext.fly(k,"_isVisible").isVisible()){return false}k=k.parentNode}return true},isDisplayed:function(){return !this.isStyle(d,b)},enableDisplayMode:function(j){this.setVisibilityMode(Ext.Element.DISPLAY);if(!Ext.isEmpty(j)){h(this.dom,"originalDisplay",j)}return this},mask:function(r,m){var o=this,k=o.dom,n=Ext.DomHelper,l="ext-el-mask-msg",q,p;if(o.getStyle("position")=="static"){o.addClass(a)}if((q=h(k,"maskMsg"))){q.remove()}if((q=h(k,"mask"))){q.remove()}p=n.append(k,{cls:"ext-el-mask"},true);h(k,"mask",p);o.addClass(e);p.setDisplayed(true);if(typeof r=="string"){var j=n.append(k,{cls:l,cn:{tag:"div"}},true);h(k,"maskMsg",j);j.dom.className=m?l+" "+m:l;j.dom.firstChild.innerHTML=r;j.setDisplayed(true);j.center(o)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&o.getStyle("height")=="auto"){p.setSize(undefined,o.getHeight())}return p},unmask:function(){var j=this,k=j.dom,l=h(k,"mask"),m=h(k,"maskMsg");if(l){if(m){m.remove();h(k,"maskMsg",undefined)}l.remove();h(k,"mask",undefined)}j.removeClass([e,a])},isMasked:function(){var j=h(this.dom,"mask");return j&&j.isVisible()},createShim:function(){var j=document.createElement("iframe"),k;j.frameBorder="0";j.className="ext-shim";j.src=Ext.SSL_SECURE_URL;k=Ext.get(this.dom.parentNode.insertBefore(j,this.dom));k.autoBoxAdjust=false;return k}}}());Ext.Element.addMethods({addKeyListener:function(d,b,a){var c;if(!Ext.isObject(d)||Ext.isArray(d)){c={key:d,fn:b,scope:a}}else{c={key:d.key,shift:d.shift,ctrl:d.ctrl,alt:d.alt,fn:b,scope:a}}return new Ext.KeyMap(this,c)},addKeyMap:function(a){return new Ext.KeyMap(this,a)}});(function(){var z=null,p=undefined,j=true,u=false,h="setX",e="setY",A="setXY",m="left",k="bottom",t="top",l="right",r="height",d="width",g="points",x="hidden",n="absolute",v="visible",c="motion",o="position",s="easeOut",b=new Ext.Element.Flyweight(),w={},y=function(C){return C||{}},q=function(C){b.dom=C;b.id=Ext.id(C);return b},a=function(C){if(!w[C]){w[C]=[]}return w[C]},B=function(D,C){w[D]=C};Ext.enableFx=j;Ext.Fx={switchStatements:function(C,D,E){return D.apply(this,E[C])},slideIn:function(G,D){D=y(D);var I=this,F=I.dom,L=F.style,N,O,K,C,P,L,H,M,J,E;G=G||"t";I.queueFx(D,function(){N=q(F).getXY();q(F).fixDisplay();O=q(F).getFxRestore();K={x:N[0],y:N[1],0:N[0],1:N[1],width:F.offsetWidth,height:F.offsetHeight};K.right=K.x+K.width;K.bottom=K.y+K.height;q(F).setWidth(K.width).setHeight(K.height);C=q(F).fxWrap(O.pos,D,x);L.visibility=v;L.position=n;function Q(){q(F).fxUnwrap(C,O.pos,D);L.width=O.width;L.height=O.height;q(F).afterFx(D)}M={to:[K.x,K.y]};J={to:K.width};E={to:K.height};function R(W,T,X,U,ab,ae,S,aa,Z,Y,V){var ac={};q(W).setWidth(X).setHeight(U);if(q(W)[ab]){q(W)[ab](ae)}T[S]=T[aa]="0";if(Z){ac.width=Z}if(Y){ac.height=Y}if(V){ac.points=V}return ac}H=q(F).switchStatements(G.toLowerCase(),R,{t:[C,L,K.width,0,z,z,m,k,z,E,z],l:[C,L,0,K.height,z,z,l,t,J,z,z],r:[C,L,K.width,K.height,h,K.right,m,t,z,z,M],b:[C,L,K.width,K.height,e,K.bottom,m,t,z,E,M],tl:[C,L,0,0,z,z,l,k,J,E,M],bl:[C,L,0,0,e,K.y+K.height,l,t,J,E,M],br:[C,L,0,0,A,[K.right,K.bottom],m,t,J,E,M],tr:[C,L,0,0,h,K.x+K.width,m,k,J,E,M]});L.visibility=v;q(C).show();arguments.callee.anim=q(C).fxanim(H,D,c,0.5,s,Q)});return I},slideOut:function(E,C){C=y(C);var G=this,D=G.dom,J=D.style,K=G.getXY(),M,L,H,I,F={to:0};E=E||"t";G.queueFx(C,function(){L=q(D).getFxRestore();H={x:K[0],y:K[1],0:K[0],1:K[1],width:D.offsetWidth,height:D.offsetHeight};H.right=H.x+H.width;H.bottom=H.y+H.height;q(D).setWidth(H.width).setHeight(H.height);M=q(D).fxWrap(L.pos,C,v);J.visibility=v;J.position=n;q(M).setWidth(H.width).setHeight(H.height);function N(){C.useDisplay?q(D).setDisplayed(u):q(D).hide();q(D).fxUnwrap(M,L.pos,C);J.width=L.width;J.height=L.height;q(D).afterFx(C)}function O(S,Q,Y,R,W,P,V,X,U){var T={};S[Q]=S[Y]="0";T[R]=W;if(P){T[P]=V}if(X){T[X]=U}return T}I=q(D).switchStatements(E.toLowerCase(),O,{t:[J,m,k,r,F],l:[J,l,t,d,F],r:[J,m,t,d,F,g,{to:[H.right,H.y]}],b:[J,m,t,r,F,g,{to:[H.x,H.bottom]}],tl:[J,l,k,d,F,r,F],bl:[J,l,t,d,F,r,F,g,{to:[H.x,H.bottom]}],br:[J,m,t,d,F,r,F,g,{to:[H.x+H.width,H.bottom]}],tr:[J,m,k,d,F,r,F,g,{to:[H.right,H.y]}]});arguments.callee.anim=q(M).fxanim(I,C,c,0.5,s,N)});return G},puff:function(D){D=y(D);var I=this,C=I.dom,F=C.style,G,E,H;I.queueFx(D,function(){G=q(C).getWidth();E=q(C).getHeight();q(C).clearOpacity();q(C).show();H=q(C).getFxRestore();function J(){D.useDisplay?q(C).setDisplayed(u):q(C).hide();q(C).clearOpacity();q(C).setPositioning(H.pos);F.width=H.width;F.height=H.height;F.fontSize="";q(C).afterFx(D)}arguments.callee.anim=q(C).fxanim({width:{to:q(C).adjustWidth(G*2)},height:{to:q(C).adjustHeight(E*2)},points:{by:[-G*0.5,-E*0.5]},opacity:{to:0},fontSize:{to:200,unit:"%"}},D,c,0.5,s,J)});return I},switchOff:function(D){D=y(D);var G=this,C=G.dom,E=C.style,F;G.queueFx(D,function(){q(C).clearOpacity();q(C).clip();F=q(C).getFxRestore();function H(){D.useDisplay?q(C).setDisplayed(u):q(C).hide();q(C).clearOpacity();q(C).setPositioning(F.pos);E.width=F.width;E.height=F.height;q(C).afterFx(D)}q(C).fxanim({opacity:{to:0.3}},z,z,0.1,z,function(){q(C).clearOpacity();(function(){q(C).fxanim({height:{to:1},points:{by:[0,q(C).getHeight()*0.5]}},D,c,0.3,"easeIn",H)}).defer(100)})});return G},highlight:function(G,D){D=y(D);var I=this,C=I.dom,E=D.attr||"backgroundColor",F={},H;I.queueFx(D,function(){q(C).clearOpacity();q(C).show();function J(){C.style[E]=H;q(C).afterFx(D)}H=C.style[E];F[E]={from:G||"ffff9c",to:D.endColor||q(C).getColor(E)||"ffffff"};arguments.callee.anim=q(C).fxanim(F,D,"color",1,"easeIn",J)});return I},frame:function(E,H,D){D=y(D);var G=this,C=G.dom,F,I;G.queueFx(D,function(){E=E||"#C3DAF9";if(E.length==6){E="#"+E}H=H||1;q(C).show();var J=q(C).getXY(),L={x:J[0],y:J[1],0:J[0],1:J[1],width:C.offsetWidth,height:C.offsetHeight},K=function(){F=q(document.body||document.documentElement).createChild({style:{position:n,"z-index":35000,border:"0px solid "+E}});return F.queueFx({},M)};arguments.callee.anim={isAnimated:true,stop:function(){H=0;F.stopFx()}};function M(){var N=Ext.isBorderBox?2:1;I=F.anim({top:{from:L.y,to:L.y-20},left:{from:L.x,to:L.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:L.height,to:L.height+20*N},width:{from:L.width,to:L.width+20*N}},{duration:D.duration||1,callback:function(){F.remove();--H>0?K():q(C).afterFx(D)}});arguments.callee.anim={isAnimated:true,stop:function(){I.stop()}}}K()});return G},pause:function(D){var C=this.dom,E;this.queueFx({},function(){E=setTimeout(function(){q(C).afterFx({})},D*1000);arguments.callee.anim={isAnimated:true,stop:function(){clearTimeout(E);q(C).afterFx({})}}});return this},fadeIn:function(C){C=y(C);var E=this,F=E.dom,D=C.endOpacity||1;E.queueFx(C,function(){q(F).setOpacity(0);q(F).fixDisplay();F.style.visibility=v;arguments.callee.anim=q(F).fxanim({opacity:{to:D}},C,z,0.5,s,function(){if(D==1){q(F).clearOpacity()}q(F).afterFx(C)})});return E},fadeOut:function(C){C=y(C);var F=this,G=F.dom,E=G.style,D=C.endOpacity||0;F.queueFx(C,function(){arguments.callee.anim=q(G).fxanim({opacity:{to:D}},C,z,0.5,s,function(){if(D==0){Ext.Element.data(G,"visibilityMode")==Ext.Element.DISPLAY||C.useDisplay?E.display="none":E.visibility=x;q(G).clearOpacity()}q(G).afterFx(C)})});return F},scale:function(E,C,D){this.shift(Ext.apply({},D,{width:E,height:C}));return this},shift:function(D){D=y(D);var C=this.dom,E={};this.queueFx(D,function(){for(var F in D){if(D[F]!=p){E[F]={to:D[F]}}}E.width?E.width.to=q(C).adjustWidth(D.width):E;E.height?E.height.to=q(C).adjustWidth(D.height):E;if(E.x||E.y||E.xy){E.points=E.xy||{to:[E.x?E.x.to:q(C).getX(),E.y?E.y.to:q(C).getY()]}}arguments.callee.anim=q(C).fxanim(E,D,c,0.35,s,function(){q(C).afterFx(D)})});return this},ghost:function(D,L){L=y(L);var F=this,C=F.dom,I=C.style,G={opacity:{to:0},points:{}},J=G.points,K,H,E;D=D||"b";F.queueFx(L,function(){K=q(C).getFxRestore();H=q(C).getWidth();E=q(C).getHeight();function M(){L.useDisplay?q(C).setDisplayed(u):q(C).hide();q(C).clearOpacity();q(C).setPositioning(K.pos);I.width=K.width;I.height=K.height;q(C).afterFx(L)}J.by=q(C).switchStatements(D.toLowerCase(),function(O,N){return[O,N]},{t:[0,-E],l:[-H,0],r:[H,0],b:[0,E],tl:[-H,-E],bl:[-H,E],br:[H,E],tr:[H,-E]});arguments.callee.anim=q(C).fxanim(G,L,c,0.5,s,M)});return F},syncFx:function(){var C=this;C.fxDefaults=Ext.apply(C.fxDefaults||{},{block:u,concurrent:j,stopFx:u});return C},sequenceFx:function(){var C=this;C.fxDefaults=Ext.apply(C.fxDefaults||{},{block:u,concurrent:u,stopFx:u});return C},nextFx:function(){var C=a(this.dom.id)[0];if(C){C.call(this)}},hasActiveFx:function(){return a(this.dom.id)[0]},stopFx:function(E){var F=this,D=F.dom.id;if(F.hasActiveFx()){var C=a(D)[0];if(C&&C.anim){if(C.anim.isAnimated){B(D,[C]);C.anim.stop(E!==undefined?E:j)}else{B(D,[])}}}return F},beforeFx:function(C){if(this.hasActiveFx()&&!C.concurrent){if(C.stopFx){this.stopFx();return j}return u}return j},hasFxBlock:function(){var C=a(this.dom.id);return C&&C[0]&&C[0].block},queueFx:function(D,E){var F=q(this.dom);if(!F.hasFxBlock()){Ext.applyIf(D,F.fxDefaults);if(!D.concurrent){var C=F.beforeFx(D);E.block=D.block;a(F.dom.id).push(E);if(C){F.nextFx()}}else{E.call(F)}}return F},fxWrap:function(D,I,G){var H=this.dom,F,E;if(!I.wrap||!(F=Ext.getDom(I.wrap))){if(I.fixPosition){E=q(H).getXY()}var C=document.createElement("div");C.style.visibility=G;F=H.parentNode.insertBefore(C,H);q(F).setPositioning(D);if(q(F).isStyle(o,"static")){q(F).position("relative")}q(H).clearPositioning("auto");q(F).clip();F.appendChild(H);if(E){q(F).setXY(E)}}return F},fxUnwrap:function(F,D,C){var G=this.dom;q(G).clearPositioning();q(G).setPositioning(D);if(!C.wrap){var E=q(F).dom.parentNode;E.insertBefore(G,F);q(F).remove()}},getFxRestore:function(){var C=this.dom.style;return{pos:this.getPositioning(),width:C.width,height:C.height}},afterFx:function(C){var E=this.dom,D=E.id;if(C.afterStyle){q(E).setStyle(C.afterStyle)}if(C.afterCls){q(E).addClass(C.afterCls)}if(C.remove==j){q(E).remove()}if(C.callback){C.callback.call(C.scope,q(E))}if(!C.concurrent){a(D).shift();q(E).nextFx()}},fxanim:function(H,I,F,C,G,E){F=F||"run";I=I||{};var D=Ext.lib.Anim[F](this.dom,H,(I.duration||C)||0.35,(I.easing||G)||s,E,this);I.anim=D;return D}};Ext.Fx.resize=Ext.Fx.scale;Ext.Element.addMethods(Ext.Fx)})();Ext.CompositeElementLite=function(b,a){this.elements=[];this.add(b,a);this.el=new Ext.Element.Flyweight()};Ext.CompositeElementLite.prototype={isComposite:true,getElement:function(a){var b=this.el;b.dom=a;b.id=a.id;return b},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(a,e){var b=this,c=b.elements;if(!a){return this}if(Ext.isString(a)){a=Ext.Element.selectorFunction(a,e)}else{if(a.isComposite){a=a.elements}else{if(!Ext.isIterable(a)){a=[a]}}}for(var g=0,d=a.length;g<d;++g){c.push(b.transformElement(a[g]))}return b},invoke:function(a,g){var b=this,h=b.elements,d=h.length,c;for(i=0;i<d;i++){c=h[i];if(c){Ext.Element.prototype[a].apply(b.getElement(c),g)}}return b},item:function(d){var b=this,a=b.elements[d],c=null;if(a){c=b.getElement(a)}return c},addListener:function(h,k,j,g){var d=this.elements,b=d.length,c,a;for(c=0;c<b;c++){a=d[c];if(a){Ext.EventManager.on(a,h,k,j||a,g)}}return this},each:function(j,h){var a=this,g=a.elements,c=g.length,d,b;for(d=0;d<c;d++){b=g[d];if(b){b=this.getElement(b);if(j.call(h||b,b,a,d)){break}}}return a},fill:function(a){var b=this;b.elements=[];b.add(a);return b},filter:function(d){var e=[],b=this,c=b.elements,a=Ext.isFunction(d)?d:function(g){return g.is(d)};b.each(function(h,j,g){if(a(h,g)!==false){e[e.length]=b.transformElement(h)}});b.elements=e;return b},indexOf:function(a){return this.elements.indexOf(this.transformElement(a))},replaceElement:function(b,a,e){var g=!isNaN(b)?b:this.indexOf(b),c;if(g>-1){a=Ext.getDom(a);if(e){c=this.elements[g];c.parentNode.insertBefore(a,c);Ext.removeNode(c)}this.elements.splice(g,1,a)}return this},clear:function(){this.elements=[]}};Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;(function(){var a,c=Ext.Element.prototype,b=Ext.CompositeElementLite.prototype;for(a in c){if(Ext.isFunction(c[a])){(function(d){b[d]=b[d]||function(){return this.invoke(d,arguments)}}).call(b,a)}}})();if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(b,c){var a;if(typeof b=="string"){a=Ext.Element.selectorFunction(b,c)}else{if(b.length!==undefined){a=b}else{throw"Invalid selector"}}return new Ext.CompositeElementLite(a)};Ext.select=Ext.Element.select;Ext.apply(Ext.CompositeElementLite.prototype,{addElements:function(a,b){if(!a){return this}if(typeof a=="string"){a=Ext.Element.selectorFunction(a,b)}var c=this.elements;Ext.each(a,function(d){c.push(Ext.get(d))});return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(a){return this.indexOf(a)!=-1},removeElement:function(b,c){var a=this,d=this.elements,e;Ext.each(b,function(g){if((e=(d[g]||d[g=a.indexOf(g)]))){if(c){if(e.dom){e.remove()}else{Ext.removeNode(e)}}d.splice(g,1)}});return this}});Ext.CompositeElement=function(b,a){this.elements=[];this.add(b,a)};Ext.extend(Ext.CompositeElement,Ext.CompositeElementLite,{getElement:function(a){return a},transformElement:function(a){return Ext.get(a)}});Ext.Element.select=function(c,b,d){var a;if(typeof c=="string"){a=Ext.Element.selectorFunction(c,d)}else{if(c.length!==undefined){a=c}else{throw"Invalid selector"}}return(b===true)?new Ext.CompositeElement(a):new Ext.CompositeElementLite(a)};Ext.select=Ext.Element.select;(function(){var c="beforerequest",g="requestcomplete",e="requestexception",j=undefined,d="load",a="POST",b="GET",h=window;Ext.data.Connection=function(k){Ext.apply(this,k);this.addEvents(c,g,e);Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(q){var k=this;if(k.fireEvent(c,k,q)){if(q.el){if(!Ext.isEmpty(q.indicatorText)){k.indicatorText='<div class="loading-indicator">'+q.indicatorText+"</div>"}if(k.indicatorText){Ext.getDom(q.el).innerHTML=k.indicatorText}q.success=(Ext.isFunction(q.success)?q.success:function(){}).createInterceptor(function(t){Ext.getDom(q.el).innerHTML=t.responseText})}var o=q.params,n=q.url||k.url,m,r={success:k.handleResponse,failure:k.handleFailure,scope:k,argument:{options:q},timeout:q.timeout||k.timeout},p,l;if(Ext.isFunction(o)){o=o.call(q.scope||h,q)}o=Ext.urlEncode(k.extraParams,Ext.isObject(o)?Ext.urlEncode(o):o);if(Ext.isFunction(n)){n=n.call(q.scope||h,q)}if((p=Ext.getDom(q.form))){n=n||p.action;if(q.isUpload||/multipart\/form-data/i.test(p.getAttribute("enctype"))){return k.doFormUpload.call(k,q,o,n)}l=Ext.lib.Ajax.serializeForm(p);o=o?(o+"&"+l):l}m=q.method||k.method||((o||q.xmlData||q.jsonData)?a:b);if(m===b&&(k.disableCaching&&q.disableCaching!==false)||q.disableCaching===true){var s=q.disableCachingParam||k.disableCachingParam;n=Ext.urlAppend(n,s+"="+(new Date().getTime()))}q.headers=Ext.apply(q.headers||{},k.defaultHeaders||{});if(q.autoAbort===true||k.autoAbort){k.abort()}if((m==b||q.xmlData||q.jsonData)&&o){n=Ext.urlAppend(n,o);o=""}return(k.transId=Ext.lib.Ajax.request(m,n,r,o,q))}else{return q.callback?q.callback.apply(q.scope,[q,j,j]):null}},isLoading:function(k){return k?Ext.lib.Ajax.isCallInProgress(k):!!this.transId},abort:function(k){if(k||this.isLoading()){Ext.lib.Ajax.abort(k||this.transId)}},handleResponse:function(k){this.transId=false;var l=k.argument.options;k.argument=l?l.argument:null;this.fireEvent(g,this,k,l);if(l.success){l.success.call(l.scope,k,l)}if(l.callback){l.callback.call(l.scope,l,true,k)}},handleFailure:function(m,l){this.transId=false;var k=m.argument.options;m.argument=k?k.argument:null;this.fireEvent(e,this,m,k,l);if(k.failure){k.failure.call(k.scope,m,k)}if(k.callback){k.callback.call(k.scope,k,false,m)}},doFormUpload:function(u,m,n){var o=Ext.id(),l=document,k=l.createElement("iframe"),p=Ext.getDom(u.form),v=[],t,s="multipart/form-data",r={target:p.target,method:p.method,encoding:p.encoding,enctype:p.enctype,action:p.action};Ext.fly(k).set({id:o,name:o,cls:"x-hidden",src:Ext.SSL_SECURE_URL});l.body.appendChild(k);if(Ext.isIE){document.frames[o].name=o}Ext.fly(p).set({target:o,method:a,enctype:s,encoding:s,action:n||r.action});Ext.iterate(Ext.urlDecode(m,false),function(x,w){t=l.createElement("input");Ext.fly(t).set({type:"hidden",value:w,name:x});p.appendChild(t);v.push(t)});function q(){var D=this,A={responseText:"",responseXML:null,argument:u.argument},x,B;try{x=k.contentWindow.document||k.contentDocument||h.frames[o].document;if(x){if(x.body){if(/textarea/i.test((B=x.body.firstChild||{}).tagName)){A.responseText=B.value}else{A.responseText=x.body.innerHTML}}A.responseXML=x.XMLDocument||x}}catch(y){}Ext.EventManager.removeListener(k,d,q,D);D.fireEvent(g,D,A,u);function z(E,C,w){if(Ext.isFunction(E)){E.apply(C,w)}}z(u.success,u.scope,[A,u]);z(u.callback,u.scope,[u,true,A]);if(!D.debugUploads){setTimeout(function(){Ext.removeNode(k)},100)}}Ext.EventManager.on(k,d,q,this);p.submit();Ext.fly(p).set(r);Ext.each(v,function(w){Ext.removeNode(w)})}})})();Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(a){return Ext.lib.Ajax.serializeForm(a)}});Ext.UpdateManager=Ext.Updater=Ext.extend(Ext.util.Observable,function(){var e="beforeupdate",a="update",g="failure";function d(k){var h=this;h.transaction=null;if(k.argument.form&&k.argument.reset){try{k.argument.form.reset()}catch(j){}}if(h.loadScripts){h.renderer.render(h.el,k,h,c.createDelegate(h,[k]))}else{h.renderer.render(h.el,k,h);c.call(h,k)}}function c(k,h,j){this.fireEvent(h||a,this.el,k);if(Ext.isFunction(k.argument.callback)){k.argument.callback.call(k.argument.scope,this.el,Ext.isEmpty(j)?true:false,k,k.argument.options)}}function b(h){c.call(this,h,g,!!(this.transaction=null))}return{constructor:function(h,k){var j=this;h=Ext.get(h);if(!k&&h.updateManager){return h.updateManager}j.el=h;j.defaultUrl=null;j.addEvents(e,a,g);Ext.apply(j,Ext.Updater.defaults);j.transaction=null;j.refreshDelegate=j.refresh.createDelegate(j);j.updateDelegate=j.update.createDelegate(j);j.formUpdateDelegate=(j.formUpdate||function(){}).createDelegate(j);j.renderer=j.renderer||j.getDefaultRenderer();Ext.Updater.superclass.constructor.call(j)},setRenderer:function(h){this.renderer=h},getRenderer:function(){return this.renderer},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},setDefaultUrl:function(h){this.defaultUrl=h},getEl:function(){return this.el},update:function(p,n,l,j){var h=this,m,q;if(h.fireEvent(e,h.el,p,n)!==false){if(Ext.isObject(p)){m=p;p=m.url;n=n||m.params;l=l||m.callback;j=j||m.discardUrl;q=m.scope;if(!Ext.isEmpty(m.nocache)){h.disableCaching=m.nocache}if(!Ext.isEmpty(m.text)){h.indicatorText='<div class="loading-indicator">'+m.text+"</div>"}if(!Ext.isEmpty(m.scripts)){h.loadScripts=m.scripts}if(!Ext.isEmpty(m.timeout)){h.timeout=m.timeout}}h.showLoading();if(!j){h.defaultUrl=p}if(Ext.isFunction(p)){p=p.call(h)}var k=Ext.apply({},{url:p,params:(Ext.isFunction(n)&&q)?n.createDelegate(q):n,success:d,failure:b,scope:h,callback:undefined,timeout:(h.timeout*1000),disableCaching:h.disableCaching,argument:{options:m,url:p,form:null,callback:l,scope:q||window,params:n}},m);h.transaction=Ext.Ajax.request(k)}},formUpdate:function(h,k,m,j){var l=this;if(l.fireEvent(e,l.el,h,k)!==false){if(Ext.isFunction(k)){k=k.call(l)}h=Ext.getDom(h);l.transaction=Ext.Ajax.request({form:h,url:k,success:d,failure:b,scope:l,timeout:(l.timeout*1000),argument:{url:k,form:h,callback:j,reset:m}});l.showLoading.defer(1,l)}},startAutoRefresh:function(m,n,j,k,l){var h=this;if(l){h.update(n||h.defaultUrl,j,k,true)}if(h.autoRefreshProcId){clearInterval(h.autoRefreshProcId)}h.autoRefreshProcId=setInterval(h.update.createDelegate(h,[n||h.defaultUrl,j,k,true]),m*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return !!this.autoRefreshProcId},showLoading:function(){if(this.showLoadIndicator){this.el.dom.innerHTML=this.indicatorText}},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){return this.transaction?Ext.Ajax.isLoading(this.transaction):false},refresh:function(h){if(this.defaultUrl){this.update(this.defaultUrl,null,h,true)}}}}());Ext.Updater.defaults={timeout:30,disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>',loadScripts:false,sslBlankUrl:Ext.SSL_SECURE_URL};Ext.Updater.updateElement=function(b,a,c,e){var d=Ext.get(b).getUpdater();Ext.apply(d,e);d.update(a,c,e?e.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(a,c,d,b){a.update(c.responseText,d.loadScripts,b)}};(function(){Date.useStrict=false;function b(d){var c=Array.prototype.slice.call(arguments,1);return d.replace(/\{(\d+)\}/g,function(e,g){return c[g]})}Date.formatCodeToRegex=function(c,e){var d=Date.parseCodes[c];if(d){d=typeof d=="function"?d():d;Date.parseCodes[c]=d}return d?Ext.applyIf({c:d.c?b(d.c,e||"{0}"):d.c},d):{g:0,c:null,s:Ext.escapeRe(c)}};var a=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{"M$":function(g,e){var c=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var d=(g||"").match(c);return d?new Date(((d[1]||"")+d[2])*1):null}},parseRegexes:[],formatFunctions:{"M$":function(){return"\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(c){return Date.monthNames[c].substring(0,3)},getShortDayName:function(c){return Date.dayNames[c].substring(0,3)},getMonthNumber:function(c){return Date.monthNumbers[c.substring(0,1).toUpperCase()+c.substring(1,3).toLowerCase()]},formatCodes:{d:"String.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"String.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"String.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"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 h="Y-m-dTH:i:sP",j=[],g=0,d=h.length;g<d;++g){var c=h.charAt(g);j.push(c=="T"?"'T'":Date.getFormatCode(c))}return j.join(" + ")},U:"Math.round(this.getTime() / 1000)"},isValid:function(l,j,k,d,c,g,n){d=d||0;c=c||0;g=g||0;n=n||0;var e=new Date(l,j-1,k,d,c,g,n);return l==e.getFullYear()&&j==e.getMonth()+1&&k==e.getDate()&&d==e.getHours()&&c==e.getMinutes()&&g==e.getSeconds()&&n==e.getMilliseconds()},parseDate:function(g,d,e){var c=Date.parseFunctions;if(c[d]==null){Date.createParser(d)}return c[d](g,Ext.isDefined(e)?e:Date.useStrict)},getFormatCode:function(d){var c=Date.formatCodes[d];if(c){c=typeof c=="function"?c():c;Date.formatCodes[d]=c}return c||("'"+String.escape(d)+"'")},createFormat:function(e){var c=[],d=false,h="";for(var g=0;g<e.length;++g){h=e.charAt(g);if(!d&&h=="\\"){d=true}else{if(d){d=false;c.push("'"+String.escape(h)+"'")}else{c.push(Date.getFormatCode(h))}}}Date.formatFunctions[e]=new Function("return "+c.join("+"))},createParser:function(){var c=["var dt, y, m, d, h, i, s, ms, o, z, zz, u, v,","def = Date.defaults,","results = String(input).match(Date.parseRegexes[{0}]);","if(results){","{1}","if(u != null){","v = new Date(u * 1000);","}else{","dt = (new Date()).clearTime();","y = y >= 0? y : Ext.num(def.y, dt.getFullYear());","m = m >= 0? m : Ext.num(def.m - 1, dt.getMonth());","d = d >= 0? d : Ext.num(def.d, dt.getDate());","h  = h || Ext.num(def.h, dt.getHours());","i  = i || Ext.num(def.i, dt.getMinutes());","s  = s || Ext.num(def.s, dt.getSeconds());","ms = ms || Ext.num(def.ms, dt.getMilliseconds());","if(z >= 0 && y >= 0){","v = new Date(y, 0, 1, h, i, s, ms);","v = !strict? v : (strict === true && (z <= 364 || (v.isLeapYear() && z <= 365))? v.add(Date.DAY, z) : null);","}else if(strict === true && !Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = new Date(y, m, d, h, i, s, ms);","}","}","}","if(v){","if(zz != null){","v = v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(h){var l=Date.parseRegexes.length,j=1,m=[],g=[],e=false,k="";for(var d=0;d<h.length;++d){k=h.charAt(d);if(!e&&k=="\\"){e=true}else{if(e){e=false;g.push(String.escape(k))}else{var n=a(k,j);j+=n.g;g.push(n.s);if(n.g&&n.c){m.push(n.c)}}}}Date.parseRegexes[l]=new RegExp("^"+g.join("")+"$","i");Date.parseFunctions[h]=new Function("input","strict",b(c,l,m.join("")))}}(),parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},D:function(){for(var 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:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:0,c:null,s:"(?:\\d{2})"},F:function(){return{g:1,c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",s:"("+Date.monthNames.join("|")+")"}},M:function(){for(var c=[],d=0;d<12;c.push(Date.getShortMonthName(d)),++d){}return Ext.applyIf({s:"("+c.join("|")+")"},a("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{2})"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{1,2})"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:function(){return a("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 || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm)"},A:{g:1,c:"if (results[{0}] == 'AM') {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM)"},g:function(){return a("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return a("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var c=[],e=[a("Y",1),a("m",2),a("d",3),a("h",4),a("i",5),a("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",a("P",8).c,"}else{",a("O",8).c,"}","}"].join("\n")}];for(var d=0,g=e.length;d<g;++d){c.push(e[d].c)}return{g:1,c:c.join(""),s:[e[0].s,"(?:","-",e[1].s,"(?:","-",e[2].s,"(?:","(?:T| )?",e[3].s,":",e[4].s,"(?::",e[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}}})}());Ext.apply(Date.prototype,{dateFormat:function(a){if(Date.formatFunctions[a]==null){Date.createFormat(a)}return Date.formatFunctions[a].call(this)},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(a){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+(a?":":"")+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")},getDayOfYear:function(){var e=0,b=this.clone(),c=this.getMonth(),a;for(a=0,b.setDate(1),b.setMonth(0);a<c;b.setMonth(++a)){e+=b.getDaysInMonth()}return e+this.getDate()-1},getWeekOfYear:function(){var a=86400000,b=7*a;return function(){var c=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/a,e=Math.floor(c/7),d=new Date(e*b).getUTCFullYear();return e-Math.floor(Date.UTC(d,0,7)/b)+1}}(),isLeapYear:function(){var a=this.getFullYear();return !!((a&3)==0&&(a%100||(a%400==0&&a)))},getFirstDayOfMonth:function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a<0)?(a+7):a},getLastDayOfMonth:function(){return this.getLastDateOfMonth().getDay()},getFirstDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)},getLastDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())},getDaysInMonth:function(){var a=[31,28,31,30,31,30,31,31,30,31,30,31];return function(){var b=this.getMonth();return b==1&&this.isLeapYear()?29:a[b]}}(),getSuffix:function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(){return new Date(this.getTime())},isDST:function(){return new Date(this.getFullYear(),0,1).getTimezoneOffset()!=this.getTimezoneOffset()},clearTime:function(b){if(b){return this.clone().clearTime()}var g=this.getDate();this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);if(this.getDate()!=g){for(var e=1,a=this.add(Date.HOUR,e);a.getDate()!=g;e++,a=this.add(Date.HOUR,e)){}this.setDate(g);this.setHours(a.getHours())}return this},add:function(e,a){var b=this.clone();if(!e||a===0){return b}switch(e.toLowerCase()){case Date.MILLI:b.setMilliseconds(this.getMilliseconds()+a);break;case Date.SECOND:b.setSeconds(this.getSeconds()+a);break;case Date.MINUTE:b.setMinutes(this.getMinutes()+a);break;case Date.HOUR:b.setHours(this.getHours()+a);break;case Date.DAY:b.setDate(this.getDate()+a);break;case Date.MONTH:var c=this.getDate();if(c>28){c=Math.min(c,this.getFirstDateOfMonth().add("mo",a).getLastDateOfMonth().getDate())}b.setDate(c);b.setMonth(this.getMonth()+a);break;case Date.YEAR:b.setFullYear(this.getFullYear()+a);break}return b},between:function(a,b){var c=this.getTime();return a.getTime()<=c&&c<=b.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari&&(navigator.userAgent.match(/WebKit\/(\d+)/)[1]||NaN)<420){Ext.apply(Date.prototype,{_xMonth:Date.prototype.setMonth,_xDate:Date.prototype.setDate,setMonth:function(c){if(c<=-1){var b=Math.ceil(-c),a=Math.ceil(b/12),d=(b%12)?12-b%12:0;this.setFullYear(this.getFullYear()-a);return this._xMonth(d)}else{return this._xMonth(c)}},setDate:function(a){return this.setTime(this.getTime()-(this.getDate()-a)*86400000)}})}Ext.util.MixedCollection=function(b,a){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents("clear","add","replace","remove","sort");this.allowFunctions=b===true;if(a){this.getKey=a}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(c,a){if(arguments.length==1){a=arguments[0];c=this.getKey(a)}if(typeof c!="undefined"&&c!==null){var b=this.map[c];if(typeof b!="undefined"){return this.replace(c,a)}this.map[c]=a}this.length++;this.items.push(a);this.keys.push(c);this.fireEvent("add",this.length-1,a,c);return a},getKey:function(a){return a.id},replace:function(a,b){if(arguments.length==1){b=arguments[0];a=this.getKey(b)}var c=this.map[a];if(typeof a=="undefined"||a===null||typeof c=="undefined"){return this.add(a,b)}var d=this.indexOfKey(a);this.items[d]=b;this.map[a]=b;this.fireEvent("replace",a,c,b);return b},addAll:function(c){if(arguments.length>1||Ext.isArray(c)){var e=arguments.length>1?arguments:c;for(var b=0,d=e.length;b<d;b++){this.add(e[b])}}else{for(var a in c){if(this.allowFunctions||typeof c[a]!="function"){this.add(a,c[a])}}}},each:function(c,b){var e=[].concat(this.items);for(var a=0,d=e.length;a<d;a++){if(c.call(b||e[a],e[a],a,d)===false){break}}},eachKey:function(b,a){for(var d=0,c=this.keys.length;d<c;d++){b.call(a||window,this.keys[d],this.items[d],d,c)}},find:function(b,a){for(var d=0,c=this.items.length;d<c;d++){if(b.call(a||window,this.items[d],this.keys[d])){return this.items[d]}}return null},insert:function(b,c,a){if(arguments.length==2){a=arguments[1];c=this.getKey(a)}if(this.containsKey(c)){this.suspendEvents();this.removeKey(c);this.resumeEvents()}if(b>=this.length){return this.add(c,a)}this.length++;this.items.splice(b,0,a);if(typeof c!="undefined"&&c!==null){this.map[c]=a}this.keys.splice(b,0,c);this.fireEvent("add",b,a,c);return a},remove:function(a){return this.removeAt(this.indexOf(a))},removeAt:function(b){if(b<this.length&&b>=0){this.length--;var a=this.items[b];this.items.splice(b,1);var c=this.keys[b];if(typeof c!="undefined"){delete this.map[c]}this.keys.splice(b,1);this.fireEvent("remove",a,c);return a}return false},removeKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return this.items.indexOf(a)},indexOfKey:function(a){return this.keys.indexOf(a)},item:function(c){var b=this.map[c],a=b!==undefined?b:(typeof c=="number")?this.items[c]:undefined;return !Ext.isFunction(a)||this.allowFunctions?a:null},itemAt:function(a){return this.items[a]},key:function(a){return this.map[a]},contains:function(a){return this.indexOf(a)!=-1},containsKey:function(a){return typeof this.map[a]!="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(j,l,h){var b,d,a=String(l).toUpperCase()=="DESC"?-1:1,g=[],m=this.keys,e=this.items;h=h||function(k,c){return k-c};for(b=0,d=e.length;b<d;b++){g[g.length]={key:m[b],value:e[b],index:b}}g.sort(function(k,n){var c=h(k[j],n[j])*a;if(c===0){c=(k.index<n.index?-1:1)}return c});for(b=0,d=g.length;b<d;b++){e[b]=g[b].value;m[b]=g[b].key}this.fireEvent("sort",this)},sort:function(a,b){this._sort("value",a,b)},keySort:function(a,b){this._sort("key",a,b||function(g,e){var d=String(g).toUpperCase(),c=String(e).toUpperCase();return d>c?1:(d<c?-1:0)})},getRange:function(c,d){var e=this.items;if(e.length<1){return[]}c=c||0;d=Math.min(typeof d=="undefined"?this.length-1:d,this.length-1);var a,b=[];if(c<=d){for(a=c;a<=d;a++){b[b.length]=e[a]}}else{for(a=c;a>=d;a--){b[b.length]=e[a]}}return b},filter:function(a,d,b,c){if(Ext.isEmpty(d,false)){return this.clone()}d=this.createValueMatcher(d,b,c);return this.filterBy(function(e){return e&&d.test(e[a])})},filterBy:function(a,h){var b=new Ext.util.MixedCollection();b.getKey=this.getKey;var d=this.keys,g=this.items;for(var e=0,c=g.length;e<c;e++){if(a.call(h||this,g[e],d[e])){b.add(d[e],g[e])}}return b},findIndex:function(a,e,c,b,d){if(Ext.isEmpty(e,false)){return -1}e=this.createValueMatcher(e,b,d);return this.findIndexBy(function(g){return g&&e.test(g[a])},null,c)},findIndexBy:function(a,h,b){var d=this.keys,g=this.items;for(var e=(b||0),c=g.length;e<c;e++){if(a.call(h||this,g[e],d[e])){return e}}return -1},createValueMatcher:function(a,c,d,e){if(!a.exec){var b=Ext.escapeRe;a=String(a);if(c===true){a=b(a)}else{a="^"+b(a);if(e===true){a+="$"}}a=new RegExp(a,d?"":"i")}return a},clone:function(){var c=new Ext.util.MixedCollection();var e=this.keys,b=this.items;for(var a=0,d=b.length;a<d;a++){c.add(e[a],b[a])}c.getKey=this.getKey;return c}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var useNative=null;return function(){if(useNative===null){useNative=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"}return useNative}}(),pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o){if(!Ext.isDefined(o)||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.util.JSON.encodeDate(o)}else{if(Ext.isString(o)){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(Ext.isBoolean(o)){return String(o)}else{var a=["{"],b,i,v;for(i in o){if(!o.getElementsByTagName){if(!useHasOwn||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(doEncode(i),":",v===null?"null":doEncode(v));b=true}}}}a.push("}");return a.join("")}}}}}}},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},encodeString=function(s){if(/["\\\x00-\x1f]/.test(s)){return'"'+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+s+'"'},encodeArray=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(v===null?"null":Ext.util.JSON.encode(v));b=true}}a.push("]");return a.join("")};this.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};this.encode=function(){var ec;return function(o){if(!ec){ec=isNative()?JSON.stringify:doEncode}return ec(o)}}();this.decode=function(){var dc;return function(json){if(!dc){dc=isNative()?JSON.parse:doDecode}return dc(json)}}()})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g,stripTagsRE=/<\/?[^>]+>/gi,stripScriptsRe=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe=/\r?\n/g;return{ellipsis:function(value,len,word){if(value&&value.length>len){if(word){var vs=value.substr(0,len-2),index=Math.max(vs.lastIndexOf(" "),vs.lastIndexOf("."),vs.lastIndexOf("!"),vs.lastIndexOf("?"));if(index==-1||index<(len-15)){return value.substr(0,len-3)+"..."}else{return vs.substr(0,index)+"..."}}else{return value.substr(0,len-3)+"..."}}return value},undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},htmlDecode:function(value){return !value?value:String(value).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")},trim:function(value){return String(value).replace(trimRe,"")},substr:function(value,start,length){return String(value).substr(start,length)},lowercase:function(value){return String(value).toLowerCase()},uppercase:function(value){return String(value).toUpperCase()},capitalize:function(value){return !value?value:value.charAt(0).toUpperCase()+value.substr(1).toLowerCase()},call:function(value,fn){if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);args.unshift(value);return eval(fn).apply(window,args)}else{return eval(fn).call(window,value)}},usMoney:function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+".00":((v*10==Math.floor(v*10))?v+"0":v);v=String(v);var ps=v.split("."),whole=ps[0],sub=ps[1]?"."+ps[1]:".00",r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,"$1,$2")}v=whole+sub;if(v.charAt(0)=="-"){return"-$"+v.substr(1)}return"$"+v},date:function(v,format){if(!v){return""}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(format||"m/d/Y")},dateRenderer:function(format){return function(v){return Ext.util.Format.date(v,format)}},stripTags:function(v){return !v?v:String(v).replace(stripTagsRE,"")},stripScripts:function(v){return !v?v:String(v).replace(stripScriptsRe,"")},fileSize:function(size){if(size<1024){return size+" bytes"}else{if(size<1048576){return(Math.round(((size*10)/1024))/10)+" KB"}else{return(Math.round(((size*10)/1048576))/10)+" MB"}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function("v","return v "+a+";")}return fns[a](v)}}(),round:function(value,precision){var result=Number(value);if(typeof precision=="number"){precision=Math.pow(10,precision);result=Math.round(value*precision)/precision}return result},number:function(v,format){if(!format){return v}v=Ext.num(v,NaN);if(isNaN(v)){return""}var comma=",",dec=".",i18n=false,neg=v<0;v=Math.abs(v);if(format.substr(format.length-2)=="/i"){format=format.substr(0,format.length-2);i18n=true;comma=".";dec=","}var hasComma=format.indexOf(comma)!=-1,psplit=(i18n?format.replace(/[^\d\,]/g,""):format.replace(/[^\d\.]/g,"")).split(dec);if(1<psplit.length){v=v.toFixed(psplit[1].length)}else{if(2<psplit.length){throw ("NumberFormatException: invalid format, formats should have no more than 1 period: "+format)}else{v=v.toFixed(0)}}var fnum=v.toString();if(hasComma){psplit=fnum.split(".");var cnum=psplit[0],parr=[],j=cnum.length,m=Math.floor(j/3),n=cnum.length%3||3;for(var i=0;i<j;i+=n){if(i!=0){n=3}parr[parr.length]=cnum.substr(i,n);m-=1}fnum=parr.join(comma);if(psplit[1]){fnum+=dec+psplit[1]}}return(neg?"-":"")+format.replace(/[\d,?\.?]+/,fnum)},numberRenderer:function(format){return function(v){return Ext.util.Format.number(v,format)}},plural:function(v,s,p){return v+" "+(v==1?s:(p?p:s+"s"))},nl2br:function(v){return Ext.isEmpty(v)?"":v.replace(nl2brRe,"<br/>")}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var y=this,j=y.html,q=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,d=/^<tpl\b[^>]*?for="(.*?)"/,v=/^<tpl\b[^>]*?if="(.*?)"/,x=/^<tpl\b[^>]*?exec="(.*?)"/,r,p=0,k=[],o="values",w="parent",l="xindex",n="xcount",e="return ",c="with(values){ ";j=["<tpl>",j,"</tpl>"].join("");while((r=j.match(q))){var b=r[0].match(d),a=r[0].match(v),z=r[0].match(x),g=null,h=null,t=null,u=b&&b[1]?b[1]:"";if(a){g=a&&a[1]?a[1]:null;if(g){h=new Function(o,w,l,n,c+e+(Ext.util.Format.htmlDecode(g))+"; }")}}if(z){g=z&&z[1]?z[1]:null;if(g){t=new Function(o,w,l,n,c+(Ext.util.Format.htmlDecode(g))+"; }")}}if(u){switch(u){case".":u=new Function(o,w,c+e+o+"; }");break;case"..":u=new Function(o,w,c+e+w+"; }");break;default:u=new Function(o,w,c+e+u+"; }")}}k.push({id:p,target:u,exec:t,test:h,body:r[1]||""});j=j.replace(r[0],"{xtpl"+p+"}");++p}Ext.each(k,function(m){y.compileTpl(m)});y.master=k[k.length-1];y.tpls=k};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(h,d,c,l,k){var b=this,a,g=b.tpls[h],e,j=[];if((g.test&&!g.test.call(b,d,c,l,k))||(g.exec&&g.exec.call(b,d,c,l,k))){return""}e=g.target?g.target.call(b,d,c):d;a=e.length;c=g.target?d:c;if(g.target&&Ext.isArray(e)){Ext.each(e,function(n,m){j[j.length]=g.compiled.call(b,n,c,m+1,a)});return j.join("")}return g.compiled.call(b,e,c,l,k)},compileTpl:function(tpl){var fm=Ext.util.Format,useF=this.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(m,name,format,args,math){if(name.substr(0,4)=="xtpl"){return"'"+sep+"this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount)"+sep+"'"}var v;if(name==="."){v="values"}else{if(name==="#"){v="xindex"}else{if(name.indexOf(".")!=-1){v=name}else{v="values['"+name+"']"}}}if(math){v="("+v+math+")"}if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="("+v+" === undefined ? '' : "}return"'"+sep+format+v+args+")"+sep+"'"}function codeFn(m,code){return"'"+sep+"("+code.replace(/\\'/g,"'")+")"+sep+"'"}if(Ext.isGecko){body="tpl.compiled = function(values, parent, xindex, xcount){ return '"+tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn)+"';};"}else{body=["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];body.push(tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn));body.push("'].join('');};");body=body.join("")}eval(body);return this},applyTemplate:function(a){return this.master.compiled.call(this,a,{},1,1)},compile:function(){return this}});Ext.XTemplate.prototype.apply=Ext.XTemplate.prototype.applyTemplate;Ext.XTemplate.from=function(a){a=Ext.getDom(a);return new Ext.XTemplate(a.value||a.innerHTML)};Ext.util.CSS=function(){var b=null;var a=document;var d=/(-[a-z])/gi;var c=function(e,g){return g.charAt(1).toUpperCase()};return{createStyleSheet:function(j,g){var l;var h=a.getElementsByTagName("head")[0];var e=a.createElement("style");e.setAttribute("type","text/css");if(g){e.setAttribute("id",g)}if(Ext.isIE){h.appendChild(e);l=e.styleSheet;l.cssText=j}else{try{e.appendChild(a.createTextNode(j))}catch(k){e.cssText=j}h.appendChild(e);l=e.styleSheet?e.styleSheet:(e.sheet||a.styleSheets[a.styleSheets.length-1])}this.cacheStyleSheet(l);return l},removeStyleSheet:function(g){var e=a.getElementById(g);if(e){e.parentNode.removeChild(e)}},swapStyleSheet:function(g,h){this.removeStyleSheet(g);var e=a.createElement("link");e.setAttribute("rel","stylesheet");e.setAttribute("type","text/css");e.setAttribute("id",g);e.setAttribute("href",h);a.getElementsByTagName("head")[0].appendChild(e)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(j){if(!b){b={}}try{var g=j.cssRules||j.rules;for(var h=g.length-1;h>=0;--h){b[g[h].selectorText.toLowerCase()]=g[h]}}catch(e){}},getRules:function(j){if(b===null||j){b={};var g=a.styleSheets;for(var k=0,e=g.length;k<e;k++){try{this.cacheStyleSheet(g[k])}catch(h){}}}return b},getRule:function(h,e){var j=this.getRules(e);if(!Ext.isArray(h)){return j[h.toLowerCase()]}for(var g=0;g<h.length;g++){if(j[h[g]]){return j[h[g].toLowerCase()]}}return null},updateRule:function(h,e,k){if(!Ext.isArray(h)){var g=this.getRule(h);if(g){g.style[e.replace(d,c)]=k;return true}}else{for(var j=0;j<h.length;j++){if(this.updateRule(h[j],e,k)){return true}}}return false}}}();Ext.util.ClickRepeater=function(b,a){this.el=Ext.get(b);this.el.unselectable();Ext.apply(this,a);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(a){if(a||!this.disabled){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(a){this[a?"disable":"enable"]()},eventOptions:function(a){if(this.preventDefault){a.preventDefault()}if(this.stopDefault){a.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.purgeListeners()},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(e,a,h,g){return(e==g)?a+h:h*(-Math.pow(2,-10*e/g)+1)+a},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",this)}});Ext.KeyNav=function(b,a){this.el=Ext.get(b);Ext.apply(this,a);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,relay:function(a){var b=a.getKey();var c=this.keyToHandler[b];if(c&&this[c]){if(this.doRelay(a,this[c],c)!==true){a[this.defaultEventAction]()}}},doRelay:function(a,c,b){return c.call(this.scope||this,a)},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},stopKeyUp:function(b){var a=b.getKey();if(a>=37&&a<=40){b.stopEvent()}},destroy:function(){this.disable()},enable:function(){if(this.disabled){if(Ext.isSafari2){this.el.on("keyup",this.stopKeyUp,this)}this.el.on(this.isKeydown()?"keydown":"keypress",this.relay,this);this.disabled=false}},disable:function(){if(!this.disabled){if(Ext.isSafari2){this.el.un("keyup",this.stopKeyUp,this)}this.el.un(this.isKeydown()?"keydown":"keypress",this.relay,this);this.disabled=true}},setDisabled:function(a){this[a?"disable":"enable"]()},isKeydown:function(){return this.forceKeyDown||Ext.EventManager.useKeydown}};Ext.KeyMap=function(a,c,b){this.el=Ext.get(a);this.eventName=b||"keydown";this.bindings=[];if(c){this.addBinding(c)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(k){if(Ext.isArray(k)){Ext.each(k,function(j){this.addBinding(j)},this);return}var e=k.key,b=k.fn||k.handler,g=k.scope;if(k.stopEvent){this.stopEvent=k.stopEvent}if(typeof e=="string"){var c=[];var a=e.toUpperCase();for(var l=0,m=a.length;l<m;l++){c.push(a.charCodeAt(l))}e=c}var h=Ext.isArray(e);var d=function(j){if(this.checkModifiers(k,j)){var o=j.getKey();if(h){for(var p=0,n=e.length;p<n;p++){if(e[p]==o){if(this.stopEvent){j.stopEvent()}b.call(g||window,o,j);return}}}else{if(o==e){if(this.stopEvent){j.stopEvent()}b.call(g||window,o,j)}}}};this.bindings.push(d)},checkModifiers:function(g,a){var b,h,j=["shift","ctrl","alt"];for(var d=0,c=j.length;d<c;++d){h=j[d];b=g[h];if(!(b===undefined||(b===a[h+"Key"]))){return false}}return true},on:function(d,g,e){var b,c,h,a;if(typeof d=="object"&&!Ext.isArray(d)){b=d.key;c=d.shift;h=d.ctrl;a=d.alt}else{b=d}this.addBinding({key:b,shift:c,ctrl:h,alt:a,fn:g,scope:e})},handleKeyDown:function(g){if(this.enabled){var c=this.bindings;for(var d=0,a=c.length;d<a;d++){c[d].call(this,g)}}},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}},setDisabled:function(a){this[a?"disable":"enable"]()}};Ext.util.TextMetrics=function(){var a;return{measure:function(b,c,d){if(!a){a=Ext.util.TextMetrics.Instance(b,d)}a.bind(b);a.setFixedWidth(d||"auto");return a.getSize(c)},createInstance:function(b,c){return Ext.util.TextMetrics.Instance(b,c)}}}();Ext.util.TextMetrics.Instance=function(d,b){var a=new Ext.Element(document.createElement("div"));document.body.appendChild(a.dom);a.position("absolute");a.setLeftTop(-1000,-1000);a.hide();if(b){a.setWidth(b)}var c={getSize:function(g){a.update(g);var e=a.getSize();a.update("");return e},bind:function(e){a.setStyle(Ext.fly(e).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(e){a.setWidth(e)},getWidth:function(e){a.dom.style.width="auto";return this.getSize(e).width},getHeight:function(e){return this.getSize(e).height}};c.bind(d);return c};Ext.Element.addMethods({getTextWidth:function(a,c,b){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(a,this.dom.innerHTML,true)).width).constrain(c||0,b||1000000)}});Ext.util.Cookies={set:function(d,g){var b=arguments;var a=arguments.length;var c=(a>2)?b[2]:null;var j=(a>3)?b[3]:"/";var e=(a>4)?b[4]:null;var h=(a>5)?b[5]:false;document.cookie=d+"="+escape(g)+((c===null)?"":("; expires="+c.toGMTString()))+((j===null)?"":("; path="+j))+((e===null)?"":("; domain="+e))+((h===true)?"; secure":"")},get:function(a){var e=a+"=";var c=e.length;var d=document.cookie.length;var b=0;var g=0;while(b<d){g=b+c;if(document.cookie.substring(b,g)==e){return Ext.util.Cookies.getCookieVal(g)}b=document.cookie.indexOf(" ",b)+1;if(b===0){break}}return null},clear:function(a){if(Ext.util.Cookies.get(a)){document.cookie=a+"=; expires=Thu, 01-Jan-70 00:00:01 GMT"}},getCookieVal:function(b){var a=document.cookie.indexOf(";",b);if(a==-1){a=document.cookie.length}return unescape(document.cookie.substring(b,a))}};Ext.handleError=function(a){throw a};Ext.Error=function(a){this.message=(this.lang[a])?this.lang[a]:a};Ext.Error.prototype=new Error();Ext.apply(Ext.Error.prototype,{lang:{},name:"Ext.Error",getName:function(){return this.name},getMessage:function(){return this.message},toJson:function(){return Ext.encode(this)}});Ext.ComponentMgr=function(){var a=new Ext.util.MixedCollection();var c={};var b={};return{register:function(d){a.add(d)},unregister:function(d){a.remove(d)},get:function(d){return a.get(d)},onAvailable:function(e,d,g){a.on("add",function(h,j){if(j.id==e){d.call(g||j,j);a.un("add",d,g)}})},all:a,isRegistered:function(d){return c[d]!==undefined},registerType:function(e,d){c[e]=d;d.xtype=e},create:function(d,e){return d.render?d:new c[d.xtype||e](d)},registerPlugin:function(e,d){b[e]=d;d.ptype=e},createPlugin:function(d,e){var g=b[d.ptype||e];if(g.init){return g}else{return new g(d)}}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.preg=Ext.ComponentMgr.registerPlugin;Ext.create=Ext.ComponentMgr.create;Ext.Component=function(c){c=c||{};if(c.initialConfig){if(c.isAction){this.baseAction=c}c=c.initialConfig}else{if(c.tagName||c.dom||Ext.isString(c)){c={applyTo:c,id:c.id||c}}}this.initialConfig=c;Ext.apply(this,c);this.addEvents("added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","beforestaterestore","staterestore","beforestatesave","statesave");this.getId();Ext.ComponentMgr.register(this);Ext.Component.superclass.constructor.call(this);if(this.baseAction){this.baseAction.addComponent(this)}this.initComponent();if(this.plugins){if(Ext.isArray(this.plugins)){for(var a=0,b=this.plugins.length;a<b;a++){this.plugins[a]=this.initPlugin(this.plugins[a])}}else{this.plugins=this.initPlugin(this.plugins)}}if(this.stateful!==false){this.initState()}if(this.applyTo){this.applyToMarkup(this.applyTo);delete this.applyTo}else{if(this.renderTo){this.render(this.renderTo);delete this.renderTo}}};Ext.Component.AUTO_ID=1000;Ext.extend(Ext.Component,Ext.util.Observable,{disabled:false,hidden:false,autoEl:"div",disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,rendered:false,tplWriteMode:"overwrite",ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initPlugin:function(a){if(a.ptype&&!Ext.isFunction(a.init)){a=Ext.ComponentMgr.createPlugin(a)}else{if(Ext.isString(a)){a=Ext.ComponentMgr.createPlugin({ptype:a})}}a.init(this);return a},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(Ext.isNumber(c)){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}if(this.overCls){this.el.addClassOnOver(this.overCls)}this.fireEvent("render",this);var a=this.getContentTarget();if(this.html){a.update(Ext.DomHelper.markup(this.html));delete this.html}if(this.contentEl){var b=Ext.getDom(this.contentEl);Ext.fly(b).removeClass(["x-hidden","x-hide-display"]);a.appendChild(b)}if(this.tpl){if(!this.tpl.compile){this.tpl=new Ext.XTemplate(this.tpl)}if(this.data){this.tpl[this.tplWriteMode](a,this.data);delete this.data}}this.afterRender(this.container);if(this.hidden){this.doHide()}if(this.disabled){this.disable(true)}if(this.stateful!==false){this.initStateEvents()}this.fireEvent("afterrender",this)}return this},update:function(e,b,d){var a=this.getContentTarget();if(this.tpl&&typeof e!=="string"){this.tpl[this.tplWriteMode](a,e||{})}else{var c=Ext.isObject(e)?Ext.DomHelper.markup(e):e;a.update(c,b,d)}},onAdded:function(a,b){this.ownerCt=a;this.initRef();this.fireEvent("added",this,a,b)},onRemoved:function(){this.removeRef();this.fireEvent("removed",this,this.ownerCt);delete this.ownerCt},initRef:function(){if(this.ref&&!this.refOwner){var b=this.ref.split("/"),a=b.length,d=0,c=this;while(c&&d<a){c=c.ownerCt;++d}if(c){c[this.refName=b[--d]]=this;this.refOwner=c}}},removeRef:function(){if(this.refOwner&&this.refName){delete this.refOwner[this.refName];delete this.refOwner}},initState:function(){if(Ext.state.Manager){var b=this.getStateId();if(b){var a=Ext.state.Manager.get(b);if(a){if(this.fireEvent("beforestaterestore",this,a)!==false){this.applyState(Ext.apply({},a));this.fireEvent("staterestore",this,a)}}}}},getStateId:function(){return this.stateId||((this.id.indexOf("ext-comp-")==0||this.id.indexOf("ext-gen")==0)?null:this.id)},initStateEvents:function(){if(this.stateEvents){for(var a=0,b;b=this.stateEvents[a];a++){this.on(b,this.saveState,this,{delay:100})}}},applyState:function(a){if(a){Ext.apply(this,a)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager&&this.stateful!==false){var b=this.getStateId();if(b){var a=this.getState();if(this.fireEvent("beforestatesave",this,a)!==false){Ext.state.Manager.set(b,a);this.fireEvent("statesave",this,a)}}}},applyToMarkup:function(a){this.allowDomMove=false;this.el=Ext.get(a);this.render(this.el.dom.parentNode)},addClass:function(a){if(this.el){this.el.addClass(a)}else{this.cls=this.cls?this.cls+" "+a:a}return this},removeClass:function(a){if(this.el){this.el.removeClass(a)}else{if(this.cls){this.cls=this.cls.split(" ").remove(a).join(" ")}}return this},onRender:function(c,b){if(!this.el&&this.autoEl){if(Ext.isString(this.autoEl)){this.el=document.createElement(this.autoEl)}else{var a=document.createElement("div");Ext.DomHelper.overwrite(a,this.autoEl);this.el=a.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){c.dom.insertBefore(this.el.dom,b);if(a){Ext.removeNode(a);a=null}}}},getAutoCreate:function(){var a=Ext.isObject(this.autoCreate)?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!a.id){a.id=this.id}return a},afterRender:Ext.emptyFn,destroy:function(){if(!this.isDestroyed){if(this.fireEvent("beforedestroy",this)!==false){this.destroying=true;this.beforeDestroy();if(this.ownerCt&&this.ownerCt.remove){this.ownerCt.remove(this,false)}if(this.rendered){this.el.remove();if(this.actionMode=="container"||this.removeMode=="container"){this.container.remove()}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners();this.destroying=false;this.isDestroyed=true}}},deleteMembers:function(){var c=arguments;for(var a=0,b=c.length;a<b;++a){delete this[c[a]]}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl:function(){return this.el},getContentTarget:function(){return this.el},getId:function(){return this.id||(this.id="ext-comp-"+(++Ext.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.getId()},focus:function(b,a){if(a){this.focus.defer(Ext.isNumber(a)?a:10,this,[b,false]);return}if(this.rendered){this.el.focus();if(b===true){this.el.dom.select()}}return this},blur:function(){if(this.rendered){this.el.blur()}return this},disable:function(a){if(this.rendered){this.onDisable()}this.disabled=true;if(a!==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(a){return this[a?"disable":"enable"]()},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.autoRender){this.render(Ext.isBoolean(this.autoRender)?Ext.getBody():this.autoRender)}if(this.rendered){this.onShow()}this.fireEvent("show",this)}return this},onShow:function(){this.getVisibilityEl().removeClass("x-hide-"+this.hideMode)},hide:function(){if(this.fireEvent("beforehide",this)!==false){this.doHide();this.fireEvent("hide",this)}return this},doHide:function(){this.hidden=true;if(this.rendered){this.onHide()}},onHide:function(){this.getVisibilityEl().addClass("x-hide-"+this.hideMode)},getVisibilityEl:function(){return this.hideParent?this.container:this.getActionEl()},setVisible:function(a){return this[a?"show":"hide"]()},isVisible:function(){return this.rendered&&this.getVisibilityEl().isVisible()},cloneConfig:function(c){c=c||{};var a=c.id||Ext.id();var b=Ext.applyIf(c,this.initialConfig);b.id=a;return new this.constructor(b)},getXType:function(){return this.constructor.xtype},isXType:function(b,a){if(Ext.isFunction(b)){b=b.xtype}else{if(Ext.isObject(b)){b=b.constructor.xtype}}return !a?("/"+this.getXTypes()+"/").indexOf("/"+b+"/")!=-1:this.constructor.xtype==b},getXTypes:function(){var b=this.constructor;if(!b.xtypes){var a=[],d=this;while(d&&d.constructor.xtype){a.unshift(d.constructor.xtype);d=d.constructor.superclass}b.xtypeChain=a;b.xtypes=a.join("/")}return b.xtypes},findParentBy:function(a){for(var b=this.ownerCt;(b!=null)&&!a(b,this);b=b.ownerCt){}return b||null},findParentByType:function(a){return Ext.isFunction(a)?this.findParentBy(function(b){return b.constructor===a}):this.findParentBy(function(b){return b.constructor.xtype===a})},getPositionEl:function(){return this.positionEl||this.el},purgeListeners:function(){Ext.Component.superclass.purgeListeners.call(this);if(this.mons){this.on("beforedestroy",this.clearMons,this,{single:true})}},clearMons:function(){Ext.each(this.mons,function(a){a.item.un(a.ename,a.fn,a.scope)},this);this.mons=[]},createMons:function(){if(!this.mons){this.mons=[];this.on("beforedestroy",this.clearMons,this,{single:true})}},mon:function(h,g,d,c,b){this.createMons();if(Ext.isObject(g)){var a=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;var k=g;for(var j in k){if(a.test(j)){continue}if(Ext.isFunction(k[j])){this.mons.push({item:h,ename:j,fn:k[j],scope:k.scope});h.on(j,k[j],k.scope,k)}else{this.mons.push({item:h,ename:j,fn:k[j],scope:k.scope});h.on(j,k[j])}}return}this.mons.push({item:h,ename:g,fn:d,scope:c});h.on(g,d,c,b)},mun:function(j,d,h,g){var a,e;this.createMons();for(var c=0,b=this.mons.length;c<b;++c){e=this.mons[c];if(j===e.item&&d==e.ename&&h===e.fn&&g===e.scope){this.mons.splice(c,1);j.un(d,h,g);a=true;break}}return a},nextSibling:function(){if(this.ownerCt){var a=this.ownerCt.items.indexOf(this);if(a!=-1&&a+1<this.ownerCt.items.getCount()){return this.ownerCt.items.itemAt(a+1)}}return null},previousSibling:function(){if(this.ownerCt){var a=this.ownerCt.items.indexOf(this);if(a>0){return this.ownerCt.items.itemAt(a-1)}}return null},getBubbleTarget:function(){return this.ownerCt}});Ext.reg("component",Ext.Component);Ext.Action=Ext.extend(Object,{constructor:function(a){this.initialConfig=a;this.itemId=a.itemId=(a.itemId||a.id||Ext.id());this.items=[]},isAction:true,setText:function(a){this.initialConfig.text=a;this.callEach("setText",[a])},getText:function(){return this.initialConfig.text},setIconClass:function(a){this.initialConfig.iconCls=a;this.callEach("setIconClass",[a])},getIconClass:function(){return this.initialConfig.iconCls},setDisabled:function(a){this.initialConfig.disabled=a;this.callEach("setDisabled",[a])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(a){this.initialConfig.hidden=a;this.callEach("setVisible",[!a])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(b,a){this.initialConfig.handler=b;this.initialConfig.scope=a;this.callEach("setHandler",[b,a])},each:function(b,a){Ext.each(this.items,b,a)},callEach:function(c,e){var b=this.items;for(var a=0,d=b.length;a<d;a++){b[a][c].apply(b[a],e)}},addComponent:function(a){this.items.push(a);a.on("destroy",this.removeComponent,this)},removeComponent:function(a){this.items.remove(a)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||window,arguments)}});(function(){Ext.Layer=function(d,j){d=d||{};var g=Ext.DomHelper;var c=d.parentEl,h=c?Ext.getDom(c):document.body;if(j){this.dom=Ext.getDom(j)}if(!this.dom){var e=d.dh||{tag:"div",cls:"x-layer"};this.dom=g.append(h,e)}if(d.cls){this.addClass(d.cls)}this.constrain=d.constrain!==false;this.setVisibilityMode(Ext.Element.VISIBILITY);if(d.id){this.id=this.dom.id=d.id}else{this.id=Ext.id(this.dom)}this.zindex=d.zindex||this.getZIndex();this.position("absolute",this.zindex);if(d.shadow){this.shadowOffset=d.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:d.shadow})}else{this.shadowOffset=0}this.useShim=d.shim!==false&&Ext.useShims;this.useDisplay=d.useDisplay;this.hide()};var a=Ext.Element.prototype;var b=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt((this.getShim()||this).getStyle("z-index"),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var d=b.shift();if(!d){d=this.createShim();d.enableDisplayMode("block");d.dom.style.display="none";d.dom.style.visibility="visible"}var c=this.dom.parentNode;if(d.dom.parentNode!=c){c.insertBefore(d.dom,this.dom)}d.setStyle("z-index",this.getZIndex()-2);this.shim=d;return d},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);b.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(c){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(c){this.sync(true)}}},sync:function(n){var j=this.shadow;if(!this.updating&&this.isVisible()&&(j||this.useShim)){var d=this.getShim();var g=this.getWidth(),c=this.getHeight();var o=this.getLeft(true),k=this.getTop(true);if(j&&!this.shadowDisabled){if(n&&!j.isVisible()){j.show(this)}else{j.realign(o,k,g,c)}if(d){if(n){d.show()}var e=j.adjusts,m=d.dom.style;m.left=(Math.min(o,o+e.l))+"px";m.top=(Math.min(k,k+e.t))+"px";m.width=(g+e.w)+"px";m.height=(c+e.h)+"px"}}else{if(d){if(n){d.show()}d.setSize(g,c);d.setLeftTop(o,k)}}}},destroy:function(){this.hideShim();if(this.shadow){this.shadow.hide()}this.removeAllListeners();Ext.removeNode(this.dom);delete this.dom},remove:function(){this.destroy()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(c){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var p=Ext.lib.Dom.getViewWidth(),l=Ext.lib.Dom.getViewHeight();var j=Ext.getDoc().getScroll();var g=this.getXY();var c=g[0],o=g[1];var k=this.shadowOffset;var d=this.dom.offsetWidth+k,m=this.dom.offsetHeight+k;var n=false;if((c+d)>p+j.left){c=p-d-k;n=true}if((o+m)>l+j.top){o=l-m-k;n=true}if(c<j.left){c=j.left;n=true}if(o<j.top){o=j.top;n=true}if(n){if(this.avoidY){var e=this.avoidY;if(o<=e&&(o+m)>=e){o=e-m-5}}g=[c,o];this.storeXY(g);a.setXY.call(this,g);this.sync()}}return this},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){a.setXY.call(this,this.lastXY)}else{if(this.lastLT){a.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(k,j,c,d,h){if(k){this.showAction()}if(j&&k){var g=function(){this.sync(true);if(d){d()}}.createDelegate(this);a.setVisible.call(this,true,true,c,g,h)}else{if(!k){this.hideUnders(true)}var g=d;if(j){g=function(){this.hideAction();if(d){d()}}.createDelegate(this)}a.setVisible.call(this,k,j,c,g,h);if(k){this.sync(true)}else{if(!j){this.hideAction()}}}return this},storeXY:function(c){delete this.lastLT;this.lastXY=c},storeLeftTop:function(d,c){delete this.lastXY;this.lastLT=[d,c]},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(c){this.storeLeftTop(c,this.getTop(true));a.setLeft.apply(this,arguments);this.sync();return this},setTop:function(c){this.storeLeftTop(this.getLeft(true),c);a.setTop.apply(this,arguments);this.sync();return this},setLeftTop:function(d,c){this.storeLeftTop(d,c);a.setLeftTop.apply(this,arguments);this.sync();return this},setXY:function(h,j,c,d,k){this.fixDisplay();this.beforeAction();this.storeXY(h);var g=this.createCB(d);a.setXY.call(this,h,j,c,g,k);if(!j){g()}return this},createCB:function(d){var c=this;return function(){c.constrainXY();c.sync(true);if(d){d()}}},setX:function(j,d,c,g,h){this.setXY([j,this.getY()],d,c,g,h);return this},setY:function(g,j,h,d,c){this.setXY([this.getX(),g],j,h,d,c);return this},setSize:function(m,c,g,j,k,d){this.beforeAction();var l=this.createCB(k);a.setSize.call(this,m,c,g,j,l,d);if(!g){l()}return this},setWidth:function(k,j,c,d,h){this.beforeAction();var g=this.createCB(d);a.setWidth.call(this,k,j,c,g,h);if(!j){g()}return this},setHeight:function(k,g,d,j,c){this.beforeAction();var l=this.createCB(j);a.setHeight.call(this,k,g,d,l,c);if(!g){l()}return this},setBounds:function(j,d,k,m,g,o,c,n){this.beforeAction();var l=this.createCB(c);if(!g){this.storeXY([j,d]);a.setXY.call(this,[j,d]);a.setSize.call(this,k,m,g,o,l,n);l()}else{a.setBounds.call(this,j,d,k,m,g,o,l,n)}return this},setZIndex:function(c){this.zindex=c;this.setStyle("z-index",c+2);if(this.shadow){this.shadow.setZIndex(c+1)}if(this.shim){this.shim.setStyle("z-index",c)}return this}})})();Ext.Shadow=function(d){Ext.apply(this,d);if(typeof this.mode!="string"){this.mode=this.defaultMode}var e=this.offset,c={h:0};var b=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":c.w=0;c.l=c.t=e;c.t-=1;if(Ext.isIE){c.l-=this.offset+b;c.t-=this.offset+b;c.w-=b;c.h-=b;c.t+=1}break;case"sides":c.w=(e*2);c.l=-e;c.t=e-1;if(Ext.isIE){c.l-=(this.offset-b);c.t-=this.offset+b;c.l+=1;c.w-=(this.offset-b)*2;c.w-=b+1;c.h-=1}break;case"frame":c.w=c.h=(e*2);c.l=c.t=-e;c.t+=1;c.h-=2;if(Ext.isIE){c.l-=(this.offset-b);c.t-=(this.offset-b);c.l+=1;c.w-=(this.offset+b+1);c.h-=(this.offset+b);c.h+=1}break}this.adjusts=c};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(a){a=Ext.get(a);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=a.dom){this.el.insertBefore(a)}}this.el.setStyle("z-index",this.zIndex||parseInt(a.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(a.getLeft(true),a.getTop(true),a.getWidth(),a.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(e,b,p,o){if(!this.el){return}var j=this.adjusts,u=this.el.dom,c=u.style;var q=0;c.left=(e+j.l)+"px";c.top=(b+j.t)+"px";var m=(p+j.w),n=(o+j.h),r=m+"px",k=n+"px";if(c.width!=r||c.height!=k){c.width=r;c.height=k;if(!Ext.isIE){var v=u.childNodes;var g=Math.max(0,(m-12))+"px";v[0].childNodes[1].style.width=g;v[1].childNodes[1].style.width=g;v[2].childNodes[1].style.width=g;v[1].style.height=Math.max(0,(n-12))+"px"}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}}};Ext.Shadow.Pool=function(){var b=[];var a=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 c=b.shift();if(!c){c=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,a));c.autoBoxAdjust=false}return c},push:function(c){b.push(c)}}}();Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(e,a){if(typeof e=="object"){a=e.height,e=e.width}if(Ext.isDefined(e)&&Ext.isDefined(this.boxMinWidth)&&(e<this.boxMinWidth)){e=this.boxMinWidth}if(Ext.isDefined(a)&&Ext.isDefined(this.boxMinHeight)&&(a<this.boxMinHeight)){a=this.boxMinHeight}if(Ext.isDefined(e)&&Ext.isDefined(this.boxMaxWidth)&&(e>this.boxMaxWidth)){e=this.boxMaxWidth}if(Ext.isDefined(a)&&Ext.isDefined(this.boxMaxHeight)&&(a>this.boxMaxHeight)){a=this.boxMaxHeight}if(!this.boxReady){this.width=e,this.height=a;return this}if(this.cacheSizes!==false&&this.lastSize&&this.lastSize.width==e&&this.lastSize.height==a){return this}this.lastSize={width:e,height:a};var g=this.adjustSize(e,a),c=g.width,d=g.height,b;if(c!==undefined||d!==undefined){b=this.getResizeEl();if(!this.deferHeight&&c!==undefined&&d!==undefined){b.setSize(c,d)}else{if(!this.deferHeight&&d!==undefined){b.setHeight(d)}else{if(c!==undefined){b.setWidth(c)}}}this.onResize(c,d,e,a)}return this},setWidth:function(a){return this.setSize(a)},setHeight:function(a){return this.setSize(undefined,a)},getSize:function(){return this.getResizeEl().getSize()},getWidth:function(){return this.getResizeEl().getWidth()},getHeight:function(){return this.getResizeEl().getHeight()},getOuterSize:function(){var a=this.getResizeEl();return{width:a.getWidth()+a.getMargins("lr"),height:a.getHeight()+a.getMargins("tb")}},getPosition:function(a){var b=this.getPositionEl();if(a===true){return[b.getLeft(true),b.getTop(true)]}return this.xy||b.getXY()},getBox:function(b){var a=this.getPosition(b);var c=this.getSize();c.x=a[0];c.y=a[1];return c},updateBox:function(a){this.setSize(a.width,a.height);this.setPagePosition(a.x,a.y);return this},getResizeEl:function(){return this.resizeEl||this.el},setAutoScroll:function(a){if(this.rendered){this.getContentTarget().setOverflow(a?"auto":"")}this.autoScroll=a;return this},setPosition:function(d,c){if(d&&typeof d[1]=="number"){c=d[1];d=d[0]}this.x=d;this.y=c;if(!this.boxReady){return this}var e=this.adjustPosition(d,c);var b=e.x,a=e.y;var g=this.getPositionEl();if(b!==undefined||a!==undefined){if(b!==undefined&&a!==undefined){g.setLeftTop(b,a)}else{if(b!==undefined){g.setLeft(b)}else{if(a!==undefined){g.setTop(a)}}}this.onPosition(b,a);this.fireEvent("move",this,b,a)}return this},setPagePosition:function(b,a){if(b&&typeof b[1]=="number"){a=b[1];b=b[0]}this.pageX=b;this.pageY=a;if(!this.boxReady){return}if(b===undefined||a===undefined){return}var c=this.getPositionEl().translatePoints(b,a);this.setPosition(c.left,c.top);return this},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}this.boxReady=true;this.setAutoScroll(this.autoScroll);this.setSize(this.width,this.height);if(this.x||this.y){this.setPosition(this.x,this.y)}else{if(this.pageX||this.pageY){this.setPagePosition(this.pageX,this.pageY)}}},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.getResizeEl().getWidth(),this.autoHeight?undefined:this.getResizeEl().getHeight());return this},onResize:function(b,d,c,a){this.fireEvent("resize",this,b,d,c,a)},onPosition:function(a,b){},adjustSize:function(a,b){if(this.autoWidth){a="auto"}if(this.autoHeight){b="auto"}return{width:a,height:b}},adjustPosition:function(a,b){return{x:a,y:b}}});Ext.reg("box",Ext.BoxComponent);Ext.Spacer=Ext.extend(Ext.BoxComponent,{autoEl:"div"});Ext.reg("spacer",Ext.Spacer);Ext.SplitBar=function(a,c,e,b,d){this.el=Ext.get(a,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(c,true);this.orientation=e||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!d){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(d).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=b||(this.el.getX()>this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass("x-splitbar-h")}else{this.placement=b||(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(d,c){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 a=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var b=a-this.activeMinSize;var e=Math.max(this.activeMaxSize-a,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?b:e,this.placement==Ext.SplitBar.LEFT?e:b,this.tickSize);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?b:e,this.placement==Ext.SplitBar.TOP?e:b,this.tickSize)}this.dragSpecs.startSize=a;this.dragSpecs.startPoint=[d,c];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,d,c)},onEndProxyDrag:function(a){Ext.get(this.proxy).setDisplayed(false);var c=Ext.lib.Event.getXY(a);if(this.overlay){Ext.destroy(this.overlay);delete this.overlay}var b;if(this.orientation==Ext.SplitBar.HORIZONTAL){b=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?c[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-c[0])}else{b=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?c[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-c[1])}b=Math.min(Math.max(b,this.activeMinSize),this.activeMaxSize);if(b!=this.dragSpecs.startSize){if(this.fireEvent("beforeapply",this,b)!==false){this.adapter.setElementSize(this,b);this.fireEvent("moved",this,b);this.fireEvent("resize",this,b)}}},getAdapter:function(){return this.adapter},setAdapter:function(a){this.adapter=a;this.adapter.init(this)},getMinimumSize:function(){return this.minSize},setMinimumSize:function(a){this.minSize=a},getMaximumSize:function(){return this.maxSize},setMaximumSize:function(a){this.maxSize=a},setCurrentSize:function(b){var a=this.animate;this.animate=false;this.adapter.setElementSize(this,b);this.animate=a},destroy:function(a){Ext.destroy(this.shim,Ext.get(this.proxy));this.dd.unreg();if(a){this.el.remove()}this.purgeListeners()}});Ext.SplitBar.createProxy=function(c){var a=new Ext.Element(document.createElement("div"));document.body.appendChild(a.dom);a.unselectable();var b="x-splitbar-proxy";a.addClass(b+" "+(c==Ext.SplitBar.HORIZONTAL?b+"-h":b+"-v"));return a.dom};Ext.SplitBar.BasicLayoutAdapter=function(){};Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(a){},getElementSize:function(a){if(a.orientation==Ext.SplitBar.HORIZONTAL){return a.resizingEl.getWidth()}else{return a.resizingEl.getHeight()}},setElementSize:function(c,b,a){if(c.orientation==Ext.SplitBar.HORIZONTAL){if(!c.animate){c.resizingEl.setWidth(b);if(a){a(c,b)}}else{c.resizingEl.setWidth(b,true,0.1,a,"easeOut")}}else{if(!c.animate){c.resizingEl.setHeight(b);if(a){a(c,b)}}else{c.resizingEl.setHeight(b,true,0.1,a,"easeOut")}}}};Ext.SplitBar.AbsoluteLayoutAdapter=function(a){this.basic=new Ext.SplitBar.BasicLayoutAdapter();this.container=Ext.get(a)};Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(a){this.basic.init(a)},getElementSize:function(a){return this.basic.getElementSize(a)},setElementSize:function(c,b,a){this.basic.setElementSize(c,b,this.moveSplitter.createDelegate(this,[c]))},moveSplitter:function(a){var b=Ext.SplitBar;switch(a.placement){case b.LEFT:a.el.setX(a.resizingEl.getRight());break;case b.RIGHT:a.el.setStyle("right",(this.container.getWidth()-a.resizingEl.getLeft())+"px");break;case b.TOP:a.el.setY(a.resizingEl.getBottom());break;case b.BOTTOM:a.el.setY(a.resizingEl.getTop()-a.el.getHeight());break}}};Ext.SplitBar.VERTICAL=1;Ext.SplitBar.HORIZONTAL=2;Ext.SplitBar.LEFT=1;Ext.SplitBar.RIGHT=2;Ext.SplitBar.TOP=3;Ext.SplitBar.BOTTOM=4;Ext.Container=Ext.extend(Ext.BoxComponent,{bufferResize:50,autoDestroy:true,forceLayout:false,defaultType:"panel",resizeEvent:"resize",bubbleEvents:["add","remove"],initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");this.enableBubble(this.bubbleEvents);var a=this.items;if(a){delete this.items;this.add(a)}},initItems:function(){if(!this.items){this.items=new Ext.util.MixedCollection(false,this.getComponentId);this.getLayout()}},setLayout:function(a){if(this.layout&&this.layout!=a){this.layout.setContainer(null)}this.initItems();this.layout=a;a.setContainer(this)},afterRender:function(){this.layoutDone=false;if(!this.layout){this.layout="auto"}if(Ext.isObject(this.layout)&&!this.layout.layout){this.layoutConfig=this.layout;this.layout=this.layoutConfig.type}if(Ext.isString(this.layout)){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);Ext.Container.superclass.afterRender.call(this);if(Ext.isDefined(this.activeItem)){var a=this.activeItem;delete this.activeItem;this.layout.setActiveItem(a)}if(!this.ownerCt&&!this.layoutDone){this.doLayout(false,true)}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(a){return a.getItemId()},add:function(g){this.initItems();var b=arguments.length>1;if(b||Ext.isArray(g)){var e=[];Ext.each(b?arguments:g,function(c){e.push(this.add(c))},this);return e}var d=this.lookupComponent(this.applyDefaults(g));var a=this.items.length;if(this.fireEvent("beforeadd",this,d,a)!==false&&this.onBeforeAdd(d)!==false){this.items.add(d);d.onAdded(this,a);this.onAdd(d);this.fireEvent("add",this,d,a)}return d},onAdd:function(a){},onAdded:function(a,b){this.ownerCt=a;this.initRef();this.cascade(function(c){c.initRef()});this.fireEvent("added",this,a,b)},insert:function(b,k){this.initItems();var h=arguments,g=h.length;if(g>2){var e=[];for(var d=g-1;d>=1;--d){e.push(this.insert(b,h[d]))}return e}var j=this.lookupComponent(this.applyDefaults(k));b=Math.min(b,this.items.length);if(this.fireEvent("beforeadd",this,j,b)!==false&&this.onBeforeAdd(j)!==false){if(j.ownerCt==this){this.items.remove(j)}this.items.insert(b,j);j.onAdded(this,b);this.onAdd(j);this.fireEvent("add",this,j,b)}return j},applyDefaults:function(b){var a=this.defaults;if(a){if(Ext.isFunction(a)){a=a.call(this,b)}if(Ext.isString(b)){b=Ext.ComponentMgr.get(b);Ext.apply(b,a)}else{if(!b.events){Ext.applyIf(b,a)}else{Ext.apply(b,a)}}}return b},onBeforeAdd:function(a){if(a.ownerCt){a.ownerCt.remove(a,false)}if(this.hideBorders===true){a.border=(a.border===true)}},remove:function(b,d){this.initItems();var a=this.getComponent(b);if(a&&this.fireEvent("beforeremove",this,a)!==false){this.doRemove(a,d);this.fireEvent("remove",this,a)}return a},onRemove:function(a){},doRemove:function(b,a){if(this.layout&&this.rendered){this.layout.onRemove(b)}this.items.remove(b);b.onRemoved();this.onRemove(b);if(a===true||(a!==false&&this.autoDestroy)){b.destroy()}},removeAll:function(g){this.initItems();var b,c=[],e=[];this.items.each(function(h){c.push(h)});for(var a=0,d=c.length;a<d;++a){b=c[a];this.remove(b,g);if(b.ownerCt!==this){e.push(b)}}return e},getComponent:function(a){if(Ext.isObject(a)){a=a.getItemId()}return this.items.get(a)},lookupComponent:function(a){if(Ext.isString(a)){return Ext.ComponentMgr.get(a)}else{if(!a.events){return this.createComponent(a)}}return a},createComponent:function(b,a){var d=b.render?b:Ext.create(Ext.apply({ownerCt:this},b),a||this.defaultType);delete d.ownerCt;return d},canLayout:function(){var a=this.getLayoutTarget(),b;return !!(a&&(b=a.dom.offsetWidth||a.dom.offsetHeight))},doLayout:function(g,e){var a=this.rendered,k=e||this.forceLayout,d,j,b,h;this.layoutDone=true;if(!this.canLayout()||this.collapsed){this.deferLayout=this.deferLayout||!g;if(!k){return}g=g&&!this.deferLayout}else{delete this.deferLayout}d=(g!==true&&this.items)?this.items.items:[];for(j=0,b=d.length;j<b;j++){if((h=d[j]).layout){h.suspendLayoutResize=true}}if(a&&this.layout){this.layout.layout()}for(j=0;j<b;j++){if((h=d[j]).doLayout){h.doLayout(false,k)}}if(a){this.onLayout(g,k)}this.hasLayout=true;delete this.forceLayout;for(j=0;j<b;j++){if((h=d[j]).layout){delete h.suspendLayoutResize}}},onLayout:Ext.emptyFn,onResize:function(b,d,c,a){Ext.Container.superclass.onResize.apply(this,arguments);if((this.rendered&&this.layout&&this.layout.monitorResize)&&!this.suspendLayoutResize){this.layout.onResize()}},hasLayoutPending:function(){var a=this.layoutPending;this.ownerCt.bubble(function(b){return !(a=b.layoutPending)});return a},onShow:function(){Ext.Container.superclass.onShow.call(this);if(Ext.isDefined(this.deferLayout)){this.doLayout(true)}},getLayout:function(){if(!this.layout){var a=new Ext.layout.ContainerLayout(this.layoutConfig);this.setLayout(a)}return this.layout},beforeDestroy:function(){var a;if(this.items){while(a=this.items.first()){this.doRemove(a,true)}}if(this.monitorResize){Ext.EventManager.removeResizeListener(this.doLayout,this)}Ext.destroy(this.layout);Ext.Container.superclass.beforeDestroy.call(this)},bubble:function(a,d,c){var b=this;while(b){if(a.apply(d||b,c||[b])===false){break}b=b.ownerCt}return this},cascade:function(c,b,e){if(c.apply(b||this,e||[this])!==false){if(this.items){var a=this.items.items;for(var g=0,d=a.length;g<d;g++){if(a[g].cascade){a[g].cascade(c,b,e)}else{c.apply(b||a[g],e||[a[g]])}}}}return this},findById:function(a){var b,c=this;this.cascade(function(d){if(c!=d&&d.id===a){b=d;return false}});return b||null},findByType:function(b,a){return this.findBy(function(c){return c.isXType(b,a)})},find:function(b,a){return this.findBy(function(c){return c[b]===a})},findBy:function(b,a){var c=[],d=this;this.cascade(function(e){if(d!=e&&b.call(a||e,e,d)===true){c.push(e)}});return c},get:function(a){return this.items.get(a)}});Ext.Container.LAYOUTS={};Ext.reg("container",Ext.Container);Ext.layout.ContainerLayout=Ext.extend(Object,{monitorResize:false,activeItem:null,constructor:function(a){Ext.apply(this,a)},layout:function(){var a=this.container.getLayoutTarget();if(!(this.hasLayout||Ext.isEmpty(this.targetCls))){a.addClass(this.targetCls)}this.onLayout(this.container,a);this.container.fireEvent("afterlayout",this.container,this);this.hasLayout=true},onLayout:function(a,b){this.renderAll(a,b)},isValidParent:function(b,a){return a&&b.getPositionEl().dom.parentNode==(a.dom||a)},renderAll:function(a,b){var h=a.items.items;for(var g=0,e=h.length;g<e;g++){var d=h[g];if(d&&(!d.rendered||!this.isValidParent(d,b))){this.renderItem(d,g,b)}}},renderItem:function(a,b,d){if(a&&!a.rendered){a.render(d,b);this.configureItem(a,b)}else{if(a&&!this.isValidParent(a,d)){if(Ext.isNumber(b)){b=d.dom.childNodes[b]}d.dom.insertBefore(a.getPositionEl().dom,b||null);a.container=d;this.configureItem(a,b)}}},configureItem:function(a,b){if(this.extraCls){var d=a.getPositionEl?a.getPositionEl():a;d.addClass(this.extraCls)}if(a.doLayout&&this.forceLayout){a.doLayout(false,true)}if(this.renderHidden&&a!=this.activeItem){a.hide()}},onRemove:function(b){if(this.activeItem==b){delete this.activeItem}if(b.rendered&&this.extraCls){var a=b.getPositionEl?b.getPositionEl():b;a.removeClass(this.extraCls)}},onResize:function(){var c=this.container,a=c.bufferResize;if(c.collapsed){return}if(a&&c.ownerCt){if(!c.hasLayoutPending()){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.runLayout,this);this.resizeBuffer=Ext.isNumber(a)?a:50}c.layoutPending=true;this.resizeTask.delay(this.resizeBuffer)}}else{c.doLayout(false,this.forceLayout)}},runLayout:function(){var a=this.container;a.doLayout();delete a.layoutPending},setContainer:function(a){this.container=a},parseMargins:function(c){if(Ext.isNumber(c)){c=c.toString()}var a=c.split(" ");var b=a.length;if(b==1){a[1]=a[0];a[2]=a[0];a[3]=a[0]}if(b==2){a[2]=a[0];a[3]=a[1]}if(b==3){a[3]=a[1]}return{top:parseInt(a[0],10)||0,right:parseInt(a[1],10)||0,bottom:parseInt(a[2],10)||0,left:parseInt(a[3],10)||0}},fieldTpl:(function(){var a=new Ext.Template('<div class="x-form-item {itemCls}" tabIndex="-1">','<label for="{id}" style="{labelStyle}" class="x-form-item-label">{label}{labelSeparator}</label>','<div class="x-form-element" id="x-form-el-{id}" style="{elementStyle}">','</div><div class="{clearCls}"></div>',"</div>");a.disableFormats=true;return a.compile()})(),destroy:function(){if(!Ext.isEmpty(this.targetCls)){var a=this.container.getLayoutTarget();if(a){a.removeClass(this.targetCls)}}}});Ext.Container.LAYOUTS.auto=Ext.layout.ContainerLayout;Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,onLayout:function(a,b){Ext.layout.FitLayout.superclass.onLayout.call(this,a,b);if(!this.container.collapsed){this.setItemSize(this.activeItem||a.items.itemAt(0),b.getViewSize(true))}},setItemSize:function(b,a){if(b&&a.height>0){b.setSize(a)}}});Ext.Container.LAYOUTS.fit=Ext.layout.FitLayout;Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,layoutOnCardChange:false,renderHidden:true,constructor:function(a){Ext.layout.CardLayout.superclass.constructor.call(this,a)},setActiveItem:function(a){var b=this.activeItem;a=this.container.getComponent(a);if(b!=a){if(b){b.hide();b.fireEvent("deactivate",b)}var c=a.doLayout&&(this.layoutOnCardChange||!a.rendered);this.activeItem=a;if(a){a.show()}this.layout();if(a&&c){a.doLayout()}a.fireEvent("activate",a)}},renderAll:function(a,b){if(this.deferredRender){this.renderItem(this.activeItem,undefined,b)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,a,b)}}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(a,b){return b.dom==document.body?b.getViewSize(true):b.getStyleSize()},onLayout:function(m,r){Ext.layout.AnchorLayout.superclass.onLayout.call(this,m,r);var t=r.getViewSize(true);var q=t.width,l=t.height;if(q<20&&l<20){return}var b,k;if(m.anchorSize){if(typeof m.anchorSize=="number"){b=m.anchorSize}else{b=m.anchorSize.width;k=m.anchorSize.height}}else{b=m.initialConfig.width;k=m.initialConfig.height}var p=m.items.items,o=p.length,g,j,n,e,u,d,s;for(g=0;g<o;g++){j=p[g];d=j.getPositionEl();if(j.anchor){n=j.anchorSpec;if(!n){s=j.anchor.split(" ");j.anchorSpec=n={right:this.parseAnchor(s[0],j.initialConfig.width,b),bottom:this.parseAnchor(s[1],j.initialConfig.height,k)}}e=n.right?this.adjustWidthAnchor(n.right(q)-d.getMargins("lr"),j):undefined;u=n.bottom?this.adjustHeightAnchor(n.bottom(l)-d.getMargins("tb"),j):undefined;if(e||u){j.setSize(e||undefined,u||undefined)}}}},parseAnchor:function(h,g,d){if(h&&h!="none"){var c;if(/^(r|right|b|bottom)$/i.test(h)){var e=d-g;return function(a){if(a!==c){c=a;return a-e}}}else{if(h.indexOf("%")!=-1){var b=parseFloat(h.replace("%",""))*0.01;return function(a){if(a!==c){c=a;return Math.floor(a*b)}}}else{h=parseInt(h,10);if(!isNaN(h)){return function(a){if(a!==c){c=a;return a+h}}}}}}return false},adjustWidthAnchor:function(b,a){return b},adjustHeightAnchor:function(b,a){return b}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,extraCls:"x-column",scrollOffset:0,targetCls:"x-column-layout-ct",isValidParent:function(b,a){return b.getPositionEl().dom.parentNode==this.innerCt.dom},onLayout:function(m,b){var n=m.items.items,a=n.length,d,k;if(!this.innerCt){this.innerCt=b.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}this.renderAll(m,this.innerCt);var j=b.getViewSize(true);if(j.width<1&&j.height<1){return}var e=j.width-this.scrollOffset,l=j.height,g=e;this.innerCt.setWidth(e);for(k=0;k<a;k++){d=n[k];if(!d.columnWidth){g-=(d.getSize().width+d.getPositionEl().getMargins("lr"))}}g=g<0?0:g;for(k=0;k<a;k++){d=n[k];if(d.columnWidth){d.setSize(Math.floor(d.columnWidth*g)-d.getPositionEl().getMargins("lr"))}}}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,targetCls:"x-border-layout-ct",onLayout:function(d,E){var g;if(!this.rendered){var C=d.items.items;g=[];for(var q=0,t=C.length;q<t;q++){var z=C[q];var l=z.region;if(z.collapsed){g.push(z)}z.collapsed=false;if(!z.rendered){z.render(E,q);z.getPositionEl().addClass("x-border-panel")}this[l]=l!="center"&&z.split?new Ext.layout.BorderLayout.SplitRegion(this,z.initialConfig,l):new Ext.layout.BorderLayout.Region(this,z.initialConfig,l);this[l].render(E,z)}this.rendered=true}var A=E.getViewSize(false);if(A.width<20||A.height<20){if(g){this.restoreCollapsed=g}return}else{if(this.restoreCollapsed){g=this.restoreCollapsed;delete this.restoreCollapsed}}var u=A.width,v=A.height;var r=u,H=v,o=0,p=0;var F=this.north,y=this.south,k=this.west,x=this.east,z=this.center;if(!z&&Ext.layout.BorderLayout.WARN!==false){throw"No center region defined in BorderLayout "+d.id}if(F&&F.isVisible()){var D=F.getSize();var G=F.getMargins();D.width=u-(G.left+G.right);D.x=G.left;D.y=G.top;o=D.height+D.y+G.bottom;H-=o;F.applyLayout(D)}if(y&&y.isVisible()){var D=y.getSize();var G=y.getMargins();D.width=u-(G.left+G.right);D.x=G.left;var B=(D.height+G.top+G.bottom);D.y=v-B+G.top;H-=B;y.applyLayout(D)}if(k&&k.isVisible()){var D=k.getSize();var G=k.getMargins();D.height=H-(G.top+G.bottom);D.x=G.left;D.y=o+G.top;var a=(D.width+G.left+G.right);p+=a;r-=a;k.applyLayout(D)}if(x&&x.isVisible()){var D=x.getSize();var G=x.getMargins();D.height=H-(G.top+G.bottom);var a=(D.width+G.left+G.right);D.x=u-a+G.left;D.y=o+G.top;r-=a;x.applyLayout(D)}if(z){var G=z.getMargins();var j={x:p+G.left,y:o+G.top,width:r-(G.left+G.right),height:H-(G.top+G.bottom)};z.applyLayout(j)}if(g){for(var q=0,t=g.length;q<t;q++){g[q].collapse(false)}}if(Ext.isIE&&Ext.isStrict){E.repaint()}},destroy:function(){var c=["north","south","east","west"];for(var b=0;b<c.length;b++){var a=this[c[b]];if(a){if(a.destroy){a.destroy()}else{if(a.split){a.split.destroy(true)}}}}Ext.layout.BorderLayout.superclass.destroy.call(this)}});Ext.layout.BorderLayout.Region=function(c,b,a){Ext.apply(this,b);this.layout=c;this.position=a;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||{},a=="north"||a=="south"?this.defaultNSCMargins:this.defaultEWCMargins)}}};Ext.layout.BorderLayout.Region.prototype={collapsible:false,split:false,floatable:true,minWidth:50,minHeight:50,defaultMargins:{left:0,top:0,right:0,bottom:0},defaultNSCMargins:{left:5,top:5,right:5,bottom:5},defaultEWCMargins:{left:5,top:0,right:5,bottom:0},floatingZIndex:100,isCollapsed:false,render:function(d,a){this.panel=a;a.el.enableDisplayMode();this.targetEl=d;this.el=a.el;var c=a.getState,b=this.position;a.getState=function(){return Ext.apply(c.call(a)||{},this.state)}.createDelegate(this);if(b!="center"){a.allowQueuedExpand=false;a.on({beforecollapse:this.beforeCollapse,collapse:this.onCollapse,beforeexpand:this.beforeExpand,expand:this.onExpand,hide:this.onHide,show:this.onShow,scope:this});if(this.collapsible||this.floatable){a.collapseEl="el";a.slideAnchor=this.getSlideAnchor()}if(a.tools&&a.tools.toggle){a.tools.toggle.addClass("x-tool-collapse-"+b);a.tools.toggle.addClassOnOver("x-tool-collapse-"+b+"-over")}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var b=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');b.disableFormats=true;b.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=b}this.collapsedEl=this.targetEl.createChild({cls:"x-layout-collapsed x-layout-collapsed-"+this.position,id:this.panel.id+"-xcollapsed"});this.collapsedEl.enableDisplayMode("block");if(this.collapseMode=="mini"){this.collapsedEl.addClass("x-layout-cmini-"+this.position);this.miniCollapsedEl=this.collapsedEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:"&#160;"});this.miniCollapsedEl.addClassOnOver("x-layout-mini-over");this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.onExpandClick,this,{stopEvent:true})}else{if(this.collapsible!==false&&!this.hideCollapseTool){var a=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);a.addClassOnOver("x-tool-expand-"+this.position+"-over");a.on("click",this.onExpandClick,this,{stopEvent:true})}if(this.floatable!==false||this.titleCollapse){this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this[this.floatable?"collapseClick":"onExpandClick"],this)}}}return this.collapsedEl},onExpandClick:function(a){if(this.isSlid){this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(a){this.panel.collapse()},beforeCollapse:function(a,b){this.lastAnim=b;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();var c=this.panel.getEl();this.originalZIndex=c.getStyle("z-index");c.setStyle("z-index",100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(a){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(a){if(this.isSlid){this.afterSlideIn()}var b=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,b.getHeight())}else{this.panel.setSize(b.getWidth(),undefined)}b.hide();b.dom.style.visibility="hidden";this.panel.el.setStyle("z-index",this.floatingZIndex)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle("z-index",this.originalZIndex);this.state.collapsed=false;this.panel.saveState()},collapseClick:function(a){if(this.isSlid){a.stopPropagation();this.slideIn()}else{a.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(a){this.panel=a},getMinWidth:function(){return this.minWidth},getMinHeight:function(){return this.minHeight},applyLayoutCollapsed:function(a){var b=this.getCollapsedEl();b.setLeftTop(a.x,a.y);b.setSize(a.width,a.height)},applyLayout:function(a){if(this.isCollapsed){this.applyLayoutCollapsed(a)}else{this.panel.setPosition(a.x,a.y);this.panel.setSize(a.width,a.height)}},beforeSlide:function(){this.panel.beforeEffect()},afterSlide:function(){this.panel.afterEffect()},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var a=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(b){if(!b.within(this.el,true)){a.delay(500)}},mouseover:function(b){a.cancel()},scope:this}}this.el.on(this.autoHideHd);this.collapsedEl.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.un("mouseover",this.autoHideHd.mouseover);this.collapsedEl.un("mouseout",this.autoHideHd.mouseout);this.collapsedEl.un("mouseover",this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un("click",this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return}this.isSlid=true;var a=this.panel.tools;if(a&&a.toggle){a.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",this.floatingZIndex+2);this.panel.el.replaceClass("x-panel-collapsed","x-panel-floating");if(this.animFloat!==false){this.beforeSlide();this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)},scope:this,block:true})}else{this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)}},afterSlideIn:function(){this.clearAutoHide();this.isSlid=false;this.clearMonitor();this.el.setStyle("z-index","");this.panel.el.replaceClass("x-panel-floating","x-panel-collapsed");this.el.dom.style.left=this.restoreLT[0];this.el.dom.style.top=this.restoreLT[1];var a=this.panel.tools;if(a&&a.toggle){a.toggle.show()}},slideIn:function(a){if(!this.isSlid||this.el.hasActiveFx()){Ext.callback(a);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(a)},scope:this,block:true})}else{this.el.hide();this.afterSlideIn()}},slideInIf:function(a){if(!a.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 a=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 b=this.collapsedEl,a=this.cmargins;switch(this.position){case"west":return[-(a.right+b.getWidth()+a.left),0];break;case"east":return[a.right+b.getWidth()+a.left,0];break;case"north":return[0,-(a.top+a.bottom+b.getHeight())];break;case"south":return[0,a.top+a.bottom+b.getHeight()];break}},destroy:function(){Ext.destroy(this.miniCollapsedEl,this.collapsedEl)}};Ext.layout.BorderLayout.SplitRegion=function(c,b,a){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,c,b,a);this.applyLayout=this.applyFns[a]};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(a){if(this.isCollapsed){return this.applyLayoutCollapsed(a)}var b=this.splitEl.dom,d=b.style;this.panel.setPosition(a.x,a.y);var c=b.offsetWidth;d.left=(a.x+a.width-c)+"px";d.top=(a.y)+"px";d.height=Math.max(0,a.height)+"px";this.panel.setSize(a.width-c,a.height)},east:function(a){if(this.isCollapsed){return this.applyLayoutCollapsed(a)}var b=this.splitEl.dom,d=b.style;var c=b.offsetWidth;this.panel.setPosition(a.x+c,a.y);d.left=(a.x)+"px";d.top=(a.y)+"px";d.height=Math.max(0,a.height)+"px";this.panel.setSize(a.width-c,a.height)},north:function(a){if(this.isCollapsed){return this.applyLayoutCollapsed(a)}var b=this.splitEl.dom,d=b.style;var c=b.offsetHeight;this.panel.setPosition(a.x,a.y);d.left=(a.x)+"px";d.top=(a.y+a.height-c)+"px";d.width=Math.max(0,a.width)+"px";this.panel.setSize(a.width,a.height-c)},south:function(a){if(this.isCollapsed){return this.applyLayoutCollapsed(a)}var b=this.splitEl.dom,d=b.style;var c=b.offsetHeight;this.panel.setPosition(a.x,a.y+c);d.left=(a.x)+"px";d.top=(a.y)+"px";d.width=Math.max(0,a.width)+"px";this.panel.setSize(a.width,a.height-c)}},render:function(c,a){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,c,a);var b=this.position;this.splitEl=c.createChild({cls:"x-layout-split x-layout-split-"+b,html:"&#160;",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+b,html:"&#160;"});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var d=this.splitSettings[b];this.split=new Ext.SplitBar(this.splitEl.dom,a.el,d.orientation);this.split.tickSize=this.tickSize;this.split.placement=d.placement;this.split.getMaximumSize=this[d.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[d.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[d.maxProp];if(a.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 a=this.panel.getSize();if(this.position=="north"||this.position=="south"){a.height+=this.splitEl.dom.offsetHeight}else{a.width+=this.splitEl.dom.offsetWidth}return a},getHMaxSize:function(){var b=this.maxSize||10000;var a=this.layout.center;return Math.min(b,(this.el.getWidth()+a.el.getWidth())-a.getMinWidth())},getVMaxSize:function(){var b=this.maxSize||10000;var a=this.layout.center;return Math.min(b,(this.el.getHeight()+a.el.getHeight())-a.getMinHeight())},onSplitMove:function(c,b){var a=this.panel.getSize();this.lastSplitSize=b;if(this.position=="north"||this.position=="south"){this.panel.setSize(a.width,b);this.state.height=b}else{this.panel.setSize(b,a.height);this.state.width=b}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split},destroy:function(){Ext.destroy(this.miniSplitEl,this.split,this.splitEl);Ext.layout.BorderLayout.SplitRegion.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.border=Ext.layout.BorderLayout;Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:":",trackLabels:false,onRemove:function(a){Ext.layout.FormLayout.superclass.onRemove.call(this,a);if(this.trackLabels){a.un("show",this.onFieldShow,this);a.un("hide",this.onFieldHide,this)}var d=a.getPositionEl(),b=a.getItemCt&&a.getItemCt();if(a.rendered&&b){if(d&&d.dom){d.insertAfter(b)}Ext.destroy(b);Ext.destroyMembers(a,"label","itemCt");if(a.customItemCt){Ext.destroyMembers(a,"getItemCt","customItemCt")}}},setContainer:function(a){Ext.layout.FormLayout.superclass.setContainer.call(this,a);if(a.labelAlign){a.addClass("x-form-label-"+a.labelAlign)}if(a.hideLabels){Ext.apply(this,{labelStyle:"display:none",elementStyle:"padding-left:0;",labelAdjust:0})}else{this.labelSeparator=a.labelSeparator||this.labelSeparator;a.labelWidth=a.labelWidth||100;if(Ext.isNumber(a.labelWidth)){var b=Ext.isNumber(a.labelPad)?a.labelPad:5;Ext.apply(this,{labelAdjust:a.labelWidth+b,labelStyle:"width:"+a.labelWidth+"px;",elementStyle:"padding-left:"+(a.labelWidth+b)+"px"})}if(a.labelAlign=="top"){Ext.apply(this,{labelStyle:"width:auto;",labelAdjust:0,elementStyle:"padding-left:0;"})}}},isHide:function(a){return a.hideLabel||this.container.hideLabels},onFieldShow:function(a){a.getItemCt().removeClass("x-hide-"+a.hideMode)},onFieldHide:function(a){a.getItemCt().addClass("x-hide-"+a.hideMode)},getLabelStyle:function(c){var e="",a=[this.labelStyle,c];for(var b=0,d=a.length;b<d;++b){if(a[b]){e+=a[b];if(e.substr(-1,1)!=";"){e+=";"}}}return e},renderItem:function(b,d,a){if(b&&(b.isFormField||b.fieldLabel)&&b.inputType!="hidden"){var e=this.getTemplateArgs(b);if(Ext.isNumber(d)){d=a.dom.childNodes[d]||null}if(d){b.itemCt=this.fieldTpl.insertBefore(d,e,true)}else{b.itemCt=this.fieldTpl.append(a,e,true)}if(!b.getItemCt){Ext.apply(b,{getItemCt:function(){return b.itemCt},customItemCt:true})}b.label=b.getItemCt().child("label.x-form-item-label");if(!b.rendered){b.render("x-form-el-"+b.id)}else{if(!this.isValidParent(b,a)){Ext.fly("x-form-el-"+b.id).appendChild(b.getPositionEl())}}if(this.trackLabels){if(b.hidden){this.onFieldHide(b)}b.on({scope:this,show:this.onFieldShow,hide:this.onFieldHide})}this.configureItem(b)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},getTemplateArgs:function(b){var a=!b.fieldLabel||b.hideLabel;return{id:b.id,label:b.fieldLabel,labelStyle:this.getLabelStyle(b.labelStyle),elementStyle:this.elementStyle||"",labelSeparator:a?"":(Ext.isDefined(b.labelSeparator)?b.labelSeparator:this.labelSeparator),itemCls:(b.itemCls||this.container.itemCls||"")+(b.hideLabel?" x-hide-label":""),clearCls:b.clearCls||"x-form-clear-left"}},adjustWidthAnchor:function(b,a){if(a.label&&!this.isHide(a)&&(this.container.labelAlign!="top")){var d=Ext.isIE6||(Ext.isIE&&!Ext.isStrict);return b-this.labelAdjust+(d?-3:0)}return b},adjustHeightAnchor:function(a,b){if(b.label&&!this.isHide(b)&&(this.container.labelAlign=="top")){return a-b.label.getHeight()}return a},isValidParent:function(b,a){return a&&this.container.getEl().contains(b.getPositionEl())}});Ext.Container.LAYOUTS.form=Ext.layout.FormLayout;Ext.layout.AccordionLayout=Ext.extend(Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,renderItem:function(a){if(this.animate===false){a.animCollapse=false}a.collapsible=true;if(this.autoWidth){a.autoWidth=true}if(this.titleCollapse){a.titleCollapse=true}if(this.hideCollapseTool){a.hideCollapseTool=true}if(this.collapseFirst!==undefined){a.collapseFirst=this.collapseFirst}if(!this.activeItem&&!a.collapsed){this.setActiveItem(a,true)}else{if(this.activeItem&&this.activeItem!=a){a.collapsed=true}}Ext.layout.AccordionLayout.superclass.renderItem.apply(this,arguments);a.header.addClass("x-accordion-hd");a.on("beforeexpand",this.beforeExpand,this)},onRemove:function(a){Ext.layout.AccordionLayout.superclass.onRemove.call(this,a);if(a.rendered){a.header.removeClass("x-accordion-hd")}a.un("beforeexpand",this.beforeExpand,this)},beforeExpand:function(a,c){var b=this.activeItem;if(b){if(this.sequence){delete this.activeItem;if(!b.collapsed){b.collapse({callback:function(){a.expand(c||true)},scope:this});return false}}else{b.collapse(this.animate)}}this.setActive(a);if(this.activeOnTop){a.el.dom.parentNode.insertBefore(a.el.dom,a.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(a,c){if(this.fill&&a){var b=0;this.container.items.each(function(d){if(d!=a){b+=d.header.getHeight()}});c.height-=b;a.setSize(c)}},setActiveItem:function(a){this.setActive(a,true)},setActive:function(a,c){var b=this.activeItem;a=this.container.getComponent(a);if(b!=a){if(a.rendered&&a.collapsed&&c){a.expand()}else{if(b){b.fireEvent("deactivate",b)}this.activeItem=a;a.fireEvent("activate",a)}}}});Ext.Container.LAYOUTS.accordion=Ext.layout.AccordionLayout;Ext.layout.Accordion=Ext.layout.AccordionLayout;Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,targetCls:"x-table-layout-ct",tableAttrs:null,setContainer:function(a){Ext.layout.TableLayout.superclass.setContainer.call(this,a);this.currentRow=0;this.currentColumn=0;this.cells=[]},onLayout:function(h,b){var a=h.items.items,e=a.length,d,g;if(!this.table){this.table=b.createChild(Ext.apply({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true)}this.renderAll(h,b)},getRow:function(a){var b=this.table.tBodies[0].childNodes[a];if(!b){b=document.createElement("tr");this.table.tBodies[0].appendChild(b)}return b},getNextCell:function(a){var b=this.getNextNonSpan(this.currentColumn,this.currentRow);var g=this.currentColumn=b[0],e=this.currentRow=b[1];for(var k=e;k<e+(a.rowspan||1);k++){if(!this.cells[k]){this.cells[k]=[]}for(var d=g;d<g+(a.colspan||1);d++){this.cells[k][d]=true}}var h=document.createElement("td");if(a.cellId){h.id=a.cellId}var j="x-table-layout-cell";if(a.cellCls){j+=" "+a.cellCls}h.className=j;if(a.colspan){h.colSpan=a.colspan}if(a.rowspan){h.rowSpan=a.rowspan}this.getRow(e).appendChild(h);return h},getNextNonSpan:function(b,a){var c=this.columns;while((c&&b>=c)||(this.cells[a]&&this.cells[a][b])){if(c&&b>=c){a++;b=0}else{b++}}return[b,a]},renderItem:function(b,d,a){if(b&&!b.rendered){b.render(this.getNextCell(b));this.configureItem(b,d)}else{if(b&&!this.isValidParent(b,a)){var e=this.getNextCell(b);e.insertBefore(b.getPositionEl().dom,null);b.container=Ext.get(e);this.configureItem(b,d)}}},isValidParent:function(b,a){return b.getPositionEl().up("table",5).dom.parentNode===(a.dom||a)}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",onLayout:function(a,b){b.position();this.paddingLeft=b.getPadding("l");this.paddingTop=b.getPadding("t");Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,a,b)},adjustWidthAnchor:function(b,a){return b?b-a.getPosition(true)[0]+this.paddingLeft:b},adjustHeightAnchor:function(b,a){return b?b-a.getPosition(true)[1]+this.paddingTop:b}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;Ext.layout.BoxLayout=Ext.extend(Ext.layout.ContainerLayout,{defaultMargins:{left:0,top:0,right:0,bottom:0},padding:"0",pack:"start",monitorResize:true,scrollOffset:0,extraCls:"x-box-item",targetCls:"x-box-layout-ct",innerCls:"x-box-inner",constructor:function(a){Ext.layout.BoxLayout.superclass.constructor.call(this,a);if(Ext.isString(this.defaultMargins)){this.defaultMargins=this.parseMargins(this.defaultMargins)}},isValidParent:function(b,a){return b.getPositionEl().dom.parentNode==this.innerCt.dom},onLayout:function(e,k){var g=e.items.items,j=g.length,a,d,h=j-1,b;if(!this.innerCt){this.innerCt=k.createChild({cls:this.innerCls});this.padding=this.parseMargins(this.padding)}this.renderAll(e,this.innerCt)},renderItem:function(a){if(Ext.isString(a.margins)){a.margins=this.parseMargins(a.margins)}else{if(!a.margins){a.margins=this.defaultMargins}}Ext.layout.BoxLayout.superclass.renderItem.apply(this,arguments)},getTargetSize:function(a){return(Ext.isIE6&&Ext.isStrict&&a.dom==document.body)?a.getStyleSize():a.getViewSize(true)},getItems:function(b){var a=[];b.items.each(function(c){if(c.isVisible()){a.push(c)}});return a}});Ext.layout.VBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"left",onLayout:function(E,H){Ext.layout.VBoxLayout.superclass.onLayout.call(this,E,H);var F=this.getItems(E),J,g,x,K,o,d,B=H.getViewSize(true),a=B.width,k=B.height-this.scrollOffset,b=this.padding.left,m=this.padding.top,I=this.pack=="start",r=a-(this.padding.left+this.padding.right),q=0,p=0,e=0,u=0,D=0,v=0,n=[],j=[],s,G=F.length;for(i=0;i<G;i++){s=F[i];J=s.margins;x=J.top+J.bottom;p=Math.max(p,s.getWidth()+J.left+J.right)}var z=p+this.padding.left+this.padding.right;switch(this.align){case"stretch":this.innerCt.setSize(a,k);break;case"stretchmax":case"left":this.innerCt.setSize(z,k);break;case"center":this.innerCt.setSize(a=Math.max(a,z),k);break}var A=Math.max(0,a-this.padding.left-this.padding.right);for(i=0;i<G;i++){s=F[i];J=s.margins;if(this.align=="stretch"){s.setWidth((r-(J.left+J.right)).constrain(s.minWidth||0,s.maxWidth||1000000))}else{if(this.align=="stretchmax"){s.setWidth((p-(J.left+J.right)).constrain(s.minWidth||0,s.maxWidth||1000000))}else{if(I&&s.flex){s.setWidth()}}}}for(i=0;i<G;i++){s=F[i];J=s.margins;e+=s.flex||0;g=s.getHeight();x=J.top+J.bottom;q+=g+x;u+=x+(s.flex?0:g)}q=k-q-this.padding.top-this.padding.bottom;var C=Math.max(0,k-this.padding.top-this.padding.bottom-u),y=C;for(i=0;i<G;i++){s=F[i];if(I&&s.flex){g=Math.floor(C*(s.flex/e));y-=g;n.push(g)}}if(this.pack=="center"){m+=q?q/2:0}else{if(this.pack=="end"){m+=q}}v=0;for(i=0;i<G;i++){s=F[i];J=s.margins;m+=J.top;d=A;K=b+J.left;if(this.align=="center"){if((o=A-(s.getWidth()+J.left+J.right))>0){K+=(o/2);d-=o}}s.setPosition(K,m);if(I&&s.flex){g=Math.max(0,n[v++]+(y-->0?1:0));s.setSize(d,g)}else{g=s.getHeight()}m+=g+J.bottom}}});Ext.Container.LAYOUTS.vbox=Ext.layout.VBoxLayout;Ext.layout.HBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"top",onLayout:function(F,y){Ext.layout.HBoxLayout.superclass.onLayout.call(this,F,y);var G=this.getItems(F),b,E,s,g,n,v=y.getViewSize(true),d=v.width-this.scrollOffset,r=v.height,A=this.padding.left,k=this.padding.top,a=this.pack=="start",o=["stretch","stretchmax"].indexOf(this.align)==-1,e=r-(this.padding.top+this.padding.bottom),u=0,z=0,B=0,D=0,H=0;Ext.each(G,function(h){b=h.margins;B+=h.flex||0;E=h.getWidth();s=b.left+b.right;u+=E+s;D+=s+(h.flex?0:E);z=Math.max(z,h.getHeight()+b.top+b.bottom)});u=d-u-this.padding.left-this.padding.right;var m=z+this.padding.top+this.padding.bottom;switch(this.align){case"stretch":this.innerCt.setSize(d,r);break;case"stretchmax":case"top":this.innerCt.setSize(d,m);break;case"middle":this.innerCt.setSize(d,r=Math.max(r,m));break}var j=Math.max(0,d-this.padding.left-this.padding.right-D),x=j,c=[],p=[],q=0,C=Math.max(0,r-this.padding.top-this.padding.bottom);Ext.each(G,function(h){if(a&&h.flex){E=Math.floor(j*(h.flex/B));x-=E;c.push(E)}});if(this.pack=="center"){A+=u?u/2:0}else{if(this.pack=="end"){A+=u}}Ext.each(G,function(h){b=h.margins;A+=b.left;h.setPosition(A,k+b.top);if(a&&h.flex){E=Math.max(0,c[q++]+(x-->0?1:0));if(o){p.push(h.getHeight())}h.setSize(E,C)}else{E=h.getWidth()}A+=E+b.right});q=0;Ext.each(G,function(h){b=h.margins;g=h.getHeight();if(a&&h.flex){g=p[q++]}if(this.align=="stretch"){h.setHeight((e-(b.top+b.bottom)).constrain(h.minHeight||0,h.maxHeight||1000000))}else{if(this.align=="stretchmax"){h.setHeight((z-(b.top+b.bottom)).constrain(h.minHeight||0,h.maxHeight||1000000))}else{if(this.align=="middle"){n=C-(g+b.top+b.bottom);g=k+b.top+(n/2);if(n>0){h.setPosition(h.x,g)}}if(a&&h.flex){h.setHeight(g)}}}},this)}});Ext.Container.LAYOUTS.hbox=Ext.layout.HBoxLayout;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(a,b){this.onResize(a,b,a,b)}});Ext.reg("viewport",Ext.Viewport);Ext.Panel=Ext.extend(Ext.Container,{baseCls:"x-panel",collapsedCls:"x-panel-collapsed",maskDisabled:true,animCollapse:Ext.enableFx,headerAsText:true,buttonAlign:"right",collapsed:false,collapseFirst:true,minButtonWidth:75,elements:"body",preventBodyReset:false,padding:undefined,resizeEvent:"bodyresize",toolTarget:"header",collapseEl:"bwrap",slideAnchor:"t",disabledClass:"",deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","iconchange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.unstyled){this.baseCls="x-plain"}this.toolbars=[];if(this.tbar){this.elements+=",tbar";this.topToolbar=this.createToolbar(this.tbar);delete this.tbar}if(this.bbar){this.elements+=",bbar";this.bottomToolbar=this.createToolbar(this.bbar);delete this.bbar}if(this.header===true){this.elements+=",header";delete this.header}else{if(this.headerCfg||(this.title&&this.header!==false)){this.elements+=",header"}}if(this.footerCfg||this.footer===true){this.elements+=",footer";delete this.footer}if(this.buttons){this.fbar=this.buttons;delete this.buttons}if(this.fbar){this.createFbar(this.fbar)}if(this.autoLoad){this.on("render",this.doAutoLoad,this,{delay:10})}},createFbar:function(b){var a=this.minButtonWidth;this.elements+=",footer";this.fbar=this.createToolbar(b,{buttonAlign:this.buttonAlign,toolbarCls:"x-panel-fbar",enableOverflow:false,defaults:function(c){return{minWidth:c.minWidth||a}}});this.fbar.items.each(function(c){c.minWidth=c.minWidth||this.minButtonWidth},this);this.buttons=this.fbar.items.items},createToolbar:function(c,a){var b;if(Ext.isArray(c)){c={items:c}}b=c.events?Ext.apply(c,a):this.createComponent(Ext.apply({},c,a),"toolbar");b.ownerCt=this;b.bufferResize=false;this.toolbars.push(b);return b},createElement:function(b,a){if(this[b]){a.appendChild(this[b].dom);return}if(b==="bwrap"||this.elements.indexOf(b)!=-1){if(this[b+"Cfg"]){this[b]=Ext.fly(a).createChild(this[b+"Cfg"])}else{var c=document.createElement("div");c.className=this[b+"Cls"];this[b]=Ext.get(a.appendChild(c))}if(this[b+"CssClass"]){this[b].addClass(this[b+"CssClass"])}if(this[b+"Style"]){this[b].applyStyles(this[b+"Style"])}}},onRender:function(a,m){Ext.Panel.superclass.onRender.call(this,a,m);this.createClasses();var j=this.el,b=j.dom,g,c;if(this.collapsible&&!this.hideCollapseTool){this.tools=this.tools?this.tools.slice(0):[];this.tools[this.collapseFirst?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})}if(this.tools){c=this.tools;this.elements+=(this.header!==false)?",header":""}this.tools={};j.addClass(this.baseCls);if(b.firstChild){this.header=j.down("."+this.headerCls);this.bwrap=j.down("."+this.bwrapCls);var e=this.bwrap?this.bwrap:j;this.tbar=e.down("."+this.tbarCls);this.body=e.down("."+this.bodyCls);this.bbar=e.down("."+this.bbarCls);this.footer=e.down("."+this.footerCls);this.fromMarkup=true}if(this.preventBodyReset===true){j.addClass("x-panel-reset")}if(this.cls){j.addClass(this.cls)}if(this.buttons){this.elements+=",footer"}if(this.frame){j.insertHtml("afterBegin",String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement("header",b.firstChild.firstChild.firstChild);this.createElement("bwrap",b);g=this.bwrap.dom;var l=b.childNodes[1],k=b.childNodes[2];g.appendChild(l);g.appendChild(k);var h=g.firstChild.firstChild.firstChild;this.createElement("tbar",h);this.createElement("body",h);this.createElement("bbar",h);this.createElement("footer",g.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=" x-panel-nofooter"}this.ft=Ext.get(this.bwrap.dom.lastChild);this.mc=Ext.get(h)}else{this.createElement("header",b);this.createElement("bwrap",b);g=this.bwrap.dom;this.createElement("tbar",g);this.createElement("body",g);this.createElement("bbar",g);this.createElement("footer",g);if(!this.header){this.body.addClass(this.bodyCls+"-noheader");if(this.tbar){this.tbar.addClass(this.tbarCls+"-noheader")}}}if(Ext.isDefined(this.padding)){this.body.setStyle("padding",this.body.addUnits(this.padding))}if(this.border===false){this.el.addClass(this.baseCls+"-noborder");this.body.addClass(this.bodyCls+"-noborder");if(this.header){this.header.addClass(this.headerCls+"-noborder")}if(this.footer){this.footer.addClass(this.footerCls+"-noborder")}if(this.tbar){this.tbar.addClass(this.tbarCls+"-noborder")}if(this.bbar){this.bbar.addClass(this.bbarCls+"-noborder")}}if(this.bodyBorder===false){this.body.addClass(this.bodyCls+"-noborder")}this.bwrap.enableDisplayMode("block");if(this.header){this.header.unselectable();if(this.headerAsText){this.header.dom.innerHTML='<span class="'+this.headerTextCls+'">'+this.header.dom.innerHTML+"</span>";if(this.iconCls){this.setIconClass(this.iconCls)}}}if(this.floating){this.makeFloating(this.floating)}if(this.collapsible&&this.titleCollapse&&this.header){this.mon(this.header,"click",this.toggleCollapse,this);this.header.setStyle("cursor","pointer")}if(c){this.addTool.apply(this,c)}if(this.fbar){this.footer.addClass("x-panel-btns");this.fbar.render(this.footer);this.footer.createChild({cls:"x-clear"})}if(this.tbar&&this.topToolbar){this.topToolbar.render(this.tbar)}if(this.bbar&&this.bottomToolbar){this.bottomToolbar.render(this.bbar)}},setIconClass:function(d){var c=this.iconCls;this.iconCls=d;if(this.rendered&&this.header){if(this.frame){this.header.addClass("x-panel-icon");this.header.replaceClass(c,this.iconCls)}else{var b=this.header,a=b.child("img.x-panel-inline-icon");if(a){Ext.fly(a).replaceClass(c,this.iconCls)}else{Ext.DomHelper.insertBefore(b.dom.firstChild,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})}}}this.fireEvent("iconchange",this,d,c)},makeFloating:function(a){this.floating=true;this.el=new Ext.Layer(Ext.apply({},a,{shadow:Ext.isDefined(this.shadow)?this.shadow:"sides",shadowOffset:this.shadowOffset,constrain:false,shim:this.shim===false?false:undefined}),this.el)},getTopToolbar:function(){return this.topToolbar},getBottomToolbar:function(){return this.bottomToolbar},addButton:function(b,a,c){if(!this.fbar){this.createFbar([])}if(a){if(Ext.isString(b)){b={text:b}}b=Ext.apply({handler:a,scope:c},b)}return this.fbar.add(b)},addTool:function(){if(!this.rendered){if(!this.tools){this.tools=[]}Ext.each(arguments,function(a){this.tools.push(a)},this);return}if(!this[this.toolTarget]){return}if(!this.toolTemplate){var d=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');d.disableFormats=true;d.compile();Ext.Panel.prototype.toolTemplate=d}for(var b=0,h=arguments,g=h.length;b<g;b++){var c=h[b];if(!this.tools[c.id]){var e="x-tool-"+c.id+"-over";var j=this.toolTemplate.insertFirst((c.align!=="left")?this[this.toolTarget]:this[this.toolTarget].child("span"),c,true);this.tools[c.id]=j;j.enableDisplayMode("block");this.mon(j,"click",this.createToolHandler(j,c,e,this));if(c.on){this.mon(j,c.on)}if(c.hidden){j.hide()}if(c.qtip){if(Ext.isObject(c.qtip)){Ext.QuickTips.register(Ext.apply({target:j.id},c.qtip))}else{j.dom.qtip=c.qtip}}j.addClassOnOver(e)}}},onLayout:function(b,a){if(this.hasLayout&&this.toolbars.length>0){Ext.each(this.toolbars,function(c){c.doLayout(undefined,a)});this.syncHeight()}},syncHeight:function(){var d=this.toolbarHeight,a=this.body,c=this.lastSize.height,b;if(this.autoHeight||!Ext.isDefined(c)||c=="auto"){return}if(d!=this.getToolbarHeight()){d=Math.max(0,this.adjustBodyHeight(c-this.getFrameHeight()));a.setHeight(d);b=a.getSize();this.toolbarHeight=this.getToolbarHeight();this.onBodyResize(b.width,b.height)}},onShow:function(){if(this.floating){return this.el.show()}Ext.Panel.superclass.onShow.call(this)},onHide:function(){if(this.floating){return this.el.hide()}Ext.Panel.superclass.onHide.call(this)},createToolHandler:function(a,c,b,d){return function(e){a.removeClass(b);if(c.stopEvent!==false){e.stopEvent()}if(c.handler){c.handler.call(c.scope||a,e,a,d,c)}}},afterRender:function(){if(this.floating&&!this.hidden){this.el.show()}if(this.title){this.setTitle(this.title)}if(this.collapsed){this.collapsed=false;this.collapse(false)}Ext.Panel.superclass.afterRender.call(this);this.initEvents()},getKeyMap:function(){if(!this.keyMap){this.keyMap=new Ext.KeyMap(this.el,this.keys)}return this.keyMap},initEvents:function(){if(this.keys){this.getKeyMap()}if(this.draggable){this.initDraggable()}if(this.toolbars.length>0){Ext.each(this.toolbars,function(a){a.doLayout();a.on({scope:this,afterlayout:this.syncHeight,remove:this.syncHeight})},this);if(!this.ownerCt){this.syncHeight()}}},initDraggable:function(){this.dd=new Ext.Panel.DD(this,Ext.isBoolean(this.draggable)?null:this.draggable)},beforeEffect:function(a){if(this.floating){this.el.beforeAction()}if(a!==false){this.el.addClass("x-panel-animated")}},afterEffect:function(a){this.syncShadow();if(a!==false){this.el.removeClass("x-panel-animated")}},createEffect:function(c,b,d){var e={scope:d,block:true};if(c===true){e.callback=b;return e}else{if(!c.callback){e.callback=b}else{e.callback=function(){b.call(d);Ext.callback(c.callback,c.scope)}}}return Ext.applyIf(e,c)},collapse:function(b){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,b)===false){return}var a=b===true||(b!==false&&this.animCollapse);this.beforeEffect(a);this.onCollapse(a,b);return this},onCollapse:function(a,b){if(a){this[this.collapseEl].slideOut(this.slideAnchor,Ext.apply(this.createEffect(b||true,this.afterCollapse,this),this.collapseDefaults))}else{this[this.collapseEl].hide();this.afterCollapse(false)}},afterCollapse:function(a){this.collapsed=true;this.el.addClass(this.collapsedCls);this.afterEffect(a);this.fireEvent("collapse",this)},expand:function(b){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,b)===false){return}var a=b===true||(b!==false&&this.animCollapse);this.el.removeClass(this.collapsedCls);this.beforeEffect(a);this.onExpand(a,b);return this},onExpand:function(a,b){if(a){this[this.collapseEl].slideIn(this.slideAnchor,Ext.apply(this.createEffect(b||true,this.afterExpand,this),this.expandDefaults))}else{this[this.collapseEl].show();this.afterExpand(false)}},afterExpand:function(a){this.collapsed=false;this.afterEffect(a);if(Ext.isDefined(this.deferLayout)){this.doLayout(true)}this.fireEvent("expand",this)},toggleCollapse:function(a){this[this.collapsed?"expand":"collapse"](a);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(a,b){if(Ext.isDefined(a)||Ext.isDefined(b)){if(!this.collapsed){if(Ext.isNumber(a)){this.body.setWidth(a=this.adjustBodyWidth(a-this.getFrameWidth()))}else{if(a=="auto"){a=this.body.setWidth("auto").dom.offsetWidth}else{a=this.body.dom.offsetWidth}}if(this.tbar){this.tbar.setWidth(a);if(this.topToolbar){this.topToolbar.setSize(a)}}if(this.bbar){this.bbar.setWidth(a);if(this.bottomToolbar){this.bottomToolbar.setSize(a);if(Ext.isIE){this.bbar.setStyle("position","static");this.bbar.setStyle("position","")}}}if(this.footer){this.footer.setWidth(a);if(this.fbar){this.fbar.setSize(Ext.isIE?(a-this.footer.getFrameWidth("lr")):"auto")}}if(Ext.isNumber(b)){b=Math.max(0,this.adjustBodyHeight(b-this.getFrameHeight()));this.body.setHeight(b)}else{if(b=="auto"){this.body.setHeight(b)}}if(this.disabled&&this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight())}}else{this.queuedBodySize={width:a,height:b};if(!this.queuedExpand&&this.allowQueuedExpand!==false){this.queuedExpand=true;this.on("expand",function(){delete this.queuedExpand;this.onResize(this.queuedBodySize.width,this.queuedBodySize.height)},this,{single:true})}}this.onBodyResize(a,b)}this.syncShadow();Ext.Panel.superclass.onResize.call(this)},onBodyResize:function(a,b){this.fireEvent("bodyresize",this,a,b)},getToolbarHeight:function(){var a=0;if(this.rendered){Ext.each(this.toolbars,function(b){a+=b.getHeight()},this)}return a},adjustBodyHeight:function(a){return a},adjustBodyWidth:function(a){return a},onPosition:function(){this.syncShadow()},getFrameWidth:function(){var b=this.el.getFrameWidth("lr")+this.bwrap.getFrameWidth("lr");if(this.frame){var a=this.bwrap.dom.firstChild;b+=(Ext.fly(a).getFrameWidth("l")+Ext.fly(a.firstChild).getFrameWidth("r"));b+=this.mc.getFrameWidth("lr")}return b},getFrameHeight:function(){var a=this.el.getFrameWidth("tb")+this.bwrap.getFrameWidth("tb");a+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);if(this.frame){a+=this.el.dom.firstChild.offsetHeight+this.ft.dom.offsetHeight+this.mc.getFrameWidth("tb")}else{a+=(this.header?this.header.getHeight():0)+(this.footer?this.footer.getHeight():0)}return a},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},getContentTarget:function(){return this.body},setTitle:function(b,a){this.title=b;if(this.header&&this.headerAsText){this.header.child("span").update(b)}if(a){this.setIconClass(a)}this.fireEvent("titlechange",this,b);return this},getUpdater:function(){return this.body.getUpdater()},load:function(){var a=this.body.getUpdater();a.update.apply(a,arguments);return this},beforeDestroy:function(){Ext.Panel.superclass.beforeDestroy.call(this);if(this.header){this.header.removeAllListeners()}if(this.tools){for(var a in this.tools){Ext.destroy(this.tools[a])}}if(Ext.isArray(this.buttons)){while(this.buttons.length){Ext.destroy(this.buttons[0])}}if(this.rendered){Ext.destroy(this.ft,this.header,this.footer,this.toolbars,this.tbar,this.bbar,this.body,this.mc,this.bwrap);if(this.fbar){Ext.destroy(this.fbar,this.fbar.el)}}else{Ext.destroy(this.topToolbar,this.bottomToolbar)}},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(d,c,e){var b=document.createElement("div");b.className="x-panel-ghost "+(d?d:"");if(this.header){b.appendChild(this.el.dom.firstChild.cloneNode(true))}Ext.fly(b.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());b.style.width=this.el.dom.offsetWidth+"px";if(!e){this.container.dom.appendChild(b)}else{Ext.getDom(e).appendChild(b)}if(c!==false&&this.el.useShim!==false){var a=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},b);a.show();return a}else{return new Ext.Element(b)}},doAutoLoad:function(){var a=this.body.getUpdater();if(this.renderer){a.setRenderer(this.renderer)}a.update(Ext.isObject(this.autoLoad)?this.autoLoad:{url:this.autoLoad})},getTool:function(a){return this.tools[a]}});Ext.reg("panel",Ext.Panel);Ext.Editor=function(b,a){if(b.field){this.field=Ext.create(b.field,"textfield");a=Ext.apply({},b);delete a.field}else{this.field=b}Ext.Editor.superclass.constructor.call(this,a)};Ext.extend(Ext.Editor,Ext.Component,{value:"",alignment:"c-c?",offsets:[0,0],shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:true,cancelOnEsc:true,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onRender:function(b,a){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:b,shim:this.shim,shadowOffset:this.shadowOffset||4,id:this.id,constrain:this.constrain});if(this.zIndex){this.el.setZIndex(this.zIndex)}this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.mon(this.field,{scope:this,blur:this.onBlur,specialkey:this.onSpecialKey});if(this.field.grow){this.mon(this.field,"autosize",this.el.sync,this.el,{delay:1})}this.field.render(this.el).show();this.field.getEl().dom.name="";if(this.swallowKeys){this.field.el.swallowEvent(["keypress","keydown"])}},onSpecialKey:function(c,b){var g=b.getKey(),d=this.completeOnEnter&&g==b.ENTER,a=this.cancelOnEsc&&g==b.ESC;if(d||a){b.stopEvent();if(d){this.completeEdit()}else{this.cancelEdit()}if(c.triggerBlur){c.triggerBlur()}}this.fireEvent("specialkey",c,b)},startEdit:function(c,a){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(c);var b=a!==undefined?a:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,b)!==false){this.startValue=b;this.field.reset();this.field.setValue(b);this.realign(true);this.editing=true;this.show()}},doAutoSize:function(){if(this.autoSize){var b=this.boundEl.getSize(),a=this.field.getSize();switch(this.autoSize){case"width":this.setSize(b.width,a.height);break;case"height":this.setSize(a.width,b.height);break;case"none":this.setSize(a.width,a.height);break;default:this.setSize(b.width,b.height)}}},setSize:function(a,b){delete this.field.lastSize;this.field.setSize(a,b);if(this.el){if(Ext.isGecko2||Ext.isOpera){this.el.setSize(a,b)}this.el.sync()}},realign:function(a){if(a===true){this.doAutoSize()}this.el.alignTo(this.boundEl,this.alignment,this.offsets)},completeEdit:function(a){if(!this.editing){return}var b=this.getValue();if(!this.field.isValid()){if(this.revertInvalid!==false){this.cancelEdit(a)}return}if(String(b)===String(this.startValue)&&this.ignoreNoChange){this.hideEdit(a);return}if(this.fireEvent("beforecomplete",this,b,this.startValue)!==false){b=this.getValue();if(this.updateEl&&this.boundEl){this.boundEl.update(b)}this.hideEdit(a);this.fireEvent("complete",this,b,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show().focus(false,true);this.fireEvent("startedit",this.boundEl,this.startValue)},cancelEdit:function(a){if(this.editing){var b=this.getValue();this.setValue(this.startValue);this.hideEdit(a);this.fireEvent("canceledit",this,b,this.startValue)}},hideEdit:function(a){if(a!==true){this.editing=false;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(a){this.field.setValue(a)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){Ext.destroyMembers(this,"field");delete this.parentEl;delete this.boundEl}});Ext.reg("editor",Ext.Editor);Ext.ColorPalette=Ext.extend(Ext.Component,{itemCls:"x-color-palette",value:null,clickEvent:"click",ctype:"Ext.ColorPalette",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],initComponent:function(){Ext.ColorPalette.superclass.initComponent.call(this);this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope,true)}},onRender:function(c,b){this.autoEl={tag:"div",cls:this.itemCls};Ext.ColorPalette.superclass.onRender.call(this,c,b);var a=this.tpl||new Ext.XTemplate('<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>');a.overwrite(this.el,this.colors);this.mon(this.el,this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.mon(this.el,"click",Ext.emptyFn,this,{delegate:"a",preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var a=this.value;this.value=null;this.select(a)}},handleClick:function(d,b){d.preventDefault();if(!this.disabled){var a=b.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(a.toUpperCase())}},select:function(a){a=a.replace("#","");if(a!=this.value||this.allowReselect){var b=this.el;if(this.value){b.child("a.color-"+this.value).removeClass("x-color-palette-sel")}b.child("a.color-"+a).addClass("x-color-palette-sel");this.value=a;this.fireEvent("select",this,a)}}});Ext.reg("colorpalette",Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.BoxComponent,{todayText:"Today",okText:"&#160;OK&#160;",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDaysText:"Disabled",disabledDatesText:"Disabled",monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,focusOnSelect:true,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime(true):new Date().clearTime();this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var c=this.disabledDates,b=c.length-1,a="(?:";Ext.each(c,function(e,d){a+=Ext.isDate(e)?"^"+Ext.escapeRe(e.dateFormat(this.format))+"$":c[d];if(d!=b){a+="|"}},this);this.disabledDatesRE=new RegExp(a+")")}},setDisabledDates:function(a){if(Ext.isArray(a)){this.disabledDates=a;this.disabledDatesRE=null}else{this.disabledDatesRE=a}this.initDisabledDays();this.update(this.value,true)},setDisabledDays:function(a){this.disabledDays=a;this.update(this.value,true)},setMinDate:function(a){this.minDate=a;this.update(this.value,true)},setMaxDate:function(a){this.maxDate=a;this.update(this.value,true)},setValue:function(a){this.value=a.clearTime(true);this.update(this.value)},getValue:function(){return this.value},focus:function(){this.update(this.activeDate)},onEnable:function(a){Ext.DatePicker.superclass.onEnable.call(this);this.doDisabled(false);this.update(a?this.value:this.activeDate);if(Ext.isIE){this.el.repaint()}},onDisable:function(){Ext.DatePicker.superclass.onDisable.call(this);this.doDisabled(true);if(Ext.isIE&&!Ext.isIE8){Ext.each([].concat(this.textNodes,this.el.query("th span")),function(a){Ext.fly(a).repaint()})}},doDisabled:function(a){this.keyNav.setDisabled(a);this.prevRepeater.setDisabled(a);this.nextRepeater.setDisabled(a);if(this.showToday){this.todayKeyListener.setDisabled(a);this.todayBtn.setDisabled(a)}},onRender:function(e,j){var b=['<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>'],c=this.dayNames,h;for(h=0;h<7;h++){var a=this.startDay+h;if(a>6){a=a-7}b.push("<th><span>",c[a].substr(0,1),"</span></th>")}b[b.length]="</tr></thead><tbody><tr>";for(h=0;h<42;h++){if(h%7===0&&h!==0){b[b.length]="</tr><tr>"}b[b.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'}b.push("</tr></tbody></table></td></tr>",this.showToday?'<tr><td colspan="3" class="x-date-bottom" align="center"></td></tr>':"",'</table><div class="x-date-mp"></div>');var k=document.createElement("div");k.className="x-date-picker";k.innerHTML=b.join("");e.dom.insertBefore(k,j);this.el=Ext.get(k);this.eventEl=Ext.get(k.firstChild);this.prevRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.nextRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");this.keyNav=new Ext.KeyNav(this.eventEl,{left:function(d){if(d.ctrlKey){this.showPrevMonth()}else{this.update(this.activeDate.add("d",-1))}},right:function(d){if(d.ctrlKey){this.showNextMonth()}else{this.update(this.activeDate.add("d",1))}},up:function(d){if(d.ctrlKey){this.showNextYear()}else{this.update(this.activeDate.add("d",-7))}},down:function(d){if(d.ctrlKey){this.showPrevYear()}else{this.update(this.activeDate.add("d",7))}},pageUp:function(d){this.showNextMonth()},pageDown:function(d){this.showPrevMonth()},enter:function(d){d.stopPropagation();return true},scope:this});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:"&#160;",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.el.child("em").addClass("x-btn-arrow");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var g=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,g),tooltip:String.format(this.todayTip,g),handler:this.selectToday,scope:this})}this.mon(this.eventEl,"mousewheel",this.handleMouseWheel,this);this.mon(this.eventEl,"click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.mon(this.mbtn,"click",this.showMonthPicker,this);this.onEnable(true)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var a=['<table border="0" cellspacing="0">'];for(var b=0;b<6;b++){a.push('<tr><td class="x-date-mp-month"><a href="#">',Date.getShortMonthName(b),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',Date.getShortMonthName(b+6),"</a></td>",b===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>')}a.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(a.join(""));this.mon(this.monthPicker,"click",this.onMonthClick,this);this.mon(this.monthPicker,"dblclick",this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select("td.x-date-mp-month");this.mpYears=this.monthPicker.select("td.x-date-mp-year");this.mpMonths.each(function(e,c,d){d+=1;if((d%2)===0){e.dom.xmonth=5+Math.round(d*0.5)}else{e.dom.xmonth=Math.round((d-1)*0.5)}})}},showMonthPicker:function(){if(!this.disabled){this.createMonthPicker();var a=this.el.getSize();this.monthPicker.setSize(a);this.monthPicker.child("table").setSize(a);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(c){this.mpyear=c;var a=this.mpYears.elements;for(var e=1;e<=10;e++){var b=a[e-1],d;if((e%2)===0){d=c+Math.round(e*0.5);b.firstChild.innerHTML=d;b.xyear=d}else{d=c-(5-Math.round(e*0.5));b.firstChild.innerHTML=d;b.xyear=d}this.mpYears.item(e-1)[d==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(a){this.mpMonths.each(function(b,c,d){b[b.dom.xmonth==a?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(a){},onMonthClick:function(b,h){b.stopEvent();var a=new Ext.Element(h),g;if(a.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(a.is("button.x-date-mp-ok")){var c=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(c.getMonth()!=this.mpSelMonth){c=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(c);this.hideMonthPicker()}else{if((g=a.up("td.x-date-mp-month",2))){this.mpMonths.removeClass("x-date-mp-sel");g.addClass("x-date-mp-sel");this.mpSelMonth=g.dom.xmonth}else{if((g=a.up("td.x-date-mp-year",2))){this.mpYears.removeClass("x-date-mp-sel");g.addClass("x-date-mp-sel");this.mpSelYear=g.dom.xyear}else{if(a.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(a.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(b,d){b.stopEvent();var a=new Ext.Element(d),c;if((c=a.up("td.x-date-mp-month",2))){this.update(new Date(this.mpSelYear,c.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if((c=a.up("td.x-date-mp-year",2))){this.update(new Date(c.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(a){if(this.monthPicker){if(a===true){this.monthPicker.hide()}else{this.monthPicker.slideOut("t",{duration:0.2})}}},showPrevMonth:function(a){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(a){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(a){a.stopEvent();if(!this.disabled){var b=a.getWheelDelta();if(b>0){this.showPrevMonth()}else{if(b<0){this.showNextMonth()}}}},handleDateClick:function(b,a){b.stopEvent();if(!this.disabled&&a.dateValue&&!Ext.fly(a.parentNode).hasClass("x-date-disabled")){this.cancelFocus=this.focusOnSelect===false;this.setValue(new Date(a.dateValue));delete this.cancelFocus;this.fireEvent("select",this,this.value)}},selectToday:function(){if(this.todayBtn&&!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)}},update:function(q,e){if(this.rendered){var x=this.activeDate,a=this.isVisible();this.activeDate=q;if(!e&&x&&this.el){var J=q.getTime();if(x.getMonth()==q.getMonth()&&x.getFullYear()==q.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(d){if(d.dom.firstChild.dateValue==J){d.addClass("x-date-selected");if(a&&!this.cancelFocus){Ext.fly(d.dom.firstChild).focus(50)}return false}},this);return}}var E=q.getDaysInMonth(),c=q.getFirstDateOfMonth(),B=c.getDay()-this.startDay;if(B<0){B+=7}E+=B;var h=q.add("mo",-1),C=h.getDaysInMonth()-B,A=this.cells.elements,g=this.textNodes,F=86400000,l=(new Date(h.getFullYear(),h.getMonth(),C)).clearTime(),j=new Date().clearTime().getTime(),o=q.clearTime(true).getTime(),m=this.minDate?this.minDate.clearTime(true):Number.NEGATIVE_INFINITY,u=this.maxDate?this.maxDate.clearTime(true):Number.POSITIVE_INFINITY,p=this.disabledDatesRE,k=this.disabledDatesText,v=this.disabledDays?this.disabledDays.join(""):false,n=this.disabledDaysText,b=this.format;if(this.showToday){var H=new Date().clearTime(),z=(H<m||H>u||(p&&b&&p.test(H.dateFormat(b)))||(v&&v.indexOf(H.getDay())!=-1));if(!this.disabled){this.todayBtn.setDisabled(z);this.todayKeyListener[z?"disable":"enable"]()}}var G=function(t,w){w.title="";var K=l.getTime();w.firstChild.dateValue=K;if(K==j){w.className+=" x-date-today";w.title=t.todayText}if(K==o){w.className+=" x-date-selected";if(a){Ext.fly(w.firstChild).focus(50)}}if(K<m){w.className=" x-date-disabled";w.title=t.minText;return}if(K>u){w.className=" x-date-disabled";w.title=t.maxText;return}if(v){if(v.indexOf(l.getDay())!=-1){w.title=n;w.className=" x-date-disabled"}}if(p&&b){var d=l.dateFormat(b);if(p.test(d)){w.title=k.replace("%0",d);w.className=" x-date-disabled"}}};var r=0;for(;r<B;r++){g[r].innerHTML=(++C);l.setDate(l.getDate()+1);A[r].className="x-date-prevday";G(this,A[r])}for(;r<E;r++){var y=r-B+1;g[r].innerHTML=(y);l.setDate(l.getDate()+1);A[r].className="x-date-active";G(this,A[r])}var s=0;for(;r<42;r++){g[r].innerHTML=(++s);l.setDate(l.getDate()+1);A[r].className="x-date-nextday";G(this,A[r])}this.mbtn.setText(this.monthNames[q.getMonth()]+" "+q.getFullYear());if(!this.internalRender){var D=this.el.dom.firstChild,I=D.offsetWidth;this.el.setWidth(I+this.el.getBorderWidth("lr"));Ext.fly(D).setWidth(I);this.internalRender=true;if(Ext.isOpera&&!this.secondPass){D.rows[0].cells[1].style.width=(I-(D.rows[0].cells[0].offsetWidth+D.rows[0].cells[2].offsetWidth))+"px";this.secondPass=true;this.update.defer(10,this,[q])}}}},beforeDestroy:function(){if(this.rendered){Ext.destroy(this.keyNav,this.monthPicker,this.eventEl,this.mbtn,this.nextRepeater,this.prevRepeater,this.cells.el,this.todayBtn);delete this.textNodes;delete this.cells.elements}}});Ext.reg("datepicker",Ext.DatePicker);Ext.LoadMask=function(a,c){this.el=Ext.get(a);Ext.apply(this,c);if(this.store){this.store.on({scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.onLoad});this.removeMask=Ext.value(this.removeMask,false)}else{var b=this.el.getUpdater();b.showLoadIndicator=false;b.on({scope:this,beforeupdate:this.onBeforeLoad,update:this.onLoad,failure:this.onLoad});this.removeMask=Ext.value(this.removeMask,true)}};Ext.LoadMask.prototype={msg:"Loading...",msgCls:"x-mask-loading",disabled:false,disable:function(){this.disabled=true},enable:function(){this.disabled=false},onLoad:function(){this.el.unmask(this.removeMask)},onBeforeLoad:function(){if(!this.disabled){this.el.mask(this.msg,this.msgCls)}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){if(this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.onLoad,this)}else{var a=this.el.getUpdater();a.un("beforeupdate",this.onBeforeLoad,this);a.un("update",this.onLoad,this);a.un("failure",this.onLoad,this)}}};Ext.Slider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,dragging:false,initComponent:function(){if(!Ext.isDefined(this.value)){this.value=this.minValue}Ext.Slider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","changecomplete","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,{scope:this,mousedown:this.onMouseDown,keydown:this.onKeyDown});this.focusEl.swallowEvent("click",true);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)},onMouseDown:function(b){if(this.disabled){return}if(this.clickToChange&&b.target!=this.thumb.dom){var a=this.innerEl.translatePoints(b.getXY());this.onClickChange(a)}this.focus()},onClickChange:function(a){if(a.top>this.clickRange[0]&&a.top<this.clickRange[1]){this.setValue(Ext.util.Format.round(this.reverseValue(a.left),this.decimalPrecision),undefined,true)}},onKeyDown:function(b){if(this.disabled){b.preventDefault();return}var a=b.getKey();switch(a){case b.UP:case b.RIGHT:b.stopEvent();if(b.ctrlKey){this.setValue(this.maxValue,undefined,true)}else{this.setValue(this.value+this.keyIncrement,undefined,true)}break;case b.DOWN:case b.LEFT:b.stopEvent();if(b.ctrlKey){this.setValue(this.minValue,undefined,true)}else{this.setValue(this.value-this.keyIncrement,undefined,true)}break;default:b.preventDefault()}},doSnap:function(d){if(!(this.increment&&d)){return d}var b=d,a=this.increment,c=d%a;if(c!=0){b-=c;if(c*2>a){b+=a}else{if(c*2<-a){b-=a}}}return b.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.Slider.superclass.afterRender.apply(this,arguments);if(this.value!==undefined){var a=this.normalizeValue(this.value);if(a!==this.value){delete this.value;this.setValue(a,false)}else{this.moveThumb(this.translateValue(a),false)}}},getRatio:function(){var a=this.innerEl.getWidth(),b=this.maxValue-this.minValue;return b==0?a:(a/b)},normalizeValue:function(a){a=this.doSnap(a);a=Ext.util.Format.round(a,this.decimalPrecision);a=a.constrain(this.minValue,this.maxValue);return a},setValue:function(c,b,a){c=this.normalizeValue(c);if(c!==this.value&&this.fireEvent("beforechange",this,c,this.value)!==false){this.value=c;this.moveThumb(this.translateValue(c),b!==false);this.fireEvent("change",this,c);if(a){this.fireEvent("changecomplete",this,c)}}},translateValue:function(a){var b=this.getRatio();return(a*b)-(this.minValue*b)-this.halfThumb},reverseValue:function(b){var a=this.getRatio();return(b+this.halfThumb+(this.minValue*a))/a},moveThumb:function(b,a){if(!a||this.animate===false){this.thumb.setLeft(b)}else{this.thumb.shift({left:b,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onBeforeDragStart:function(a){return !this.disabled},onDragStart:function(a){this.thumb.addClass("x-slider-thumb-drag");this.dragging=true;this.dragStartValue=this.value;this.fireEvent("dragstart",this,a)},onDrag:function(a){var b=this.innerEl.translatePoints(this.tracker.getXY());this.setValue(Ext.util.Format.round(this.reverseValue(b.left),this.decimalPrecision),false);this.fireEvent("drag",this,a)},onDragEnd:function(a){this.thumb.removeClass("x-slider-thumb-drag");this.dragging=false;this.fireEvent("dragend",this,a);if(this.dragStartValue!=this.value){this.fireEvent("changecomplete",this,this.value)}},onResize:function(a,b){this.innerEl.setWidth(a-(this.el.getPadding("l")+this.endEl.getPadding("r")));this.syncThumb()},onDisable:function(){Ext.Slider.superclass.onDisable.call(this);this.thumb.addClass(this.disabledClass);if(Ext.isIE){var a=this.thumb.getXY();this.thumb.hide();this.innerEl.addClass(this.disabledClass).dom.disabled=true;if(!this.thumbHolder){this.thumbHolder=this.endEl.createChild({cls:"x-slider-thumb "+this.disabledClass})}this.thumbHolder.show().setXY(a)}},onEnable:function(){Ext.Slider.superclass.onEnable.call(this);this.thumb.removeClass(this.disabledClass);if(Ext.isIE){this.innerEl.removeClass(this.disabledClass).dom.disabled=false;if(this.thumbHolder){this.thumbHolder.hide()}this.thumb.show();this.syncThumb()}},syncThumb:function(){if(this.rendered){this.moveThumb(this.translateValue(this.value))}},getValue:function(){return this.value},beforeDestroy:function(){Ext.destroyMembers(this,"endEl","innerEl","thumb","halfThumb","focusEl","tracker","thumbHolder");Ext.Slider.superclass.beforeDestroy.call(this)}});Ext.reg("slider",Ext.Slider);Ext.Slider.Vertical={onResize:function(a,b){this.innerEl.setHeight(b-(this.el.getPadding("t")+this.endEl.getPadding("b")));this.syncThumb()},getRatio:function(){var b=this.innerEl.getHeight(),a=this.maxValue-this.minValue;return b/a},moveThumb:function(b,a){if(!a||this.animate===false){this.thumb.setBottom(b)}else{this.thumb.shift({bottom:b,stopFx:true,duration:0.35})}},onDrag:function(c){var a=this.innerEl.translatePoints(this.tracker.getXY()),b=this.innerEl.getHeight()-a.top;this.setValue(this.minValue+Ext.util.Format.round(b/this.getRatio(),this.decimalPrecision),false);this.fireEvent("drag",this,c)},onClickChange:function(b){if(b.left>this.clickRange[0]&&b.left<this.clickRange[1]){var a=this.innerEl.getHeight()-b.top;this.setValue(this.minValue+Ext.util.Format.round(a/this.getRatio(),this.decimalPrecision),undefined,true)}}};Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",animate:false,waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(b,d){var a=new Ext.Template('<div class="{cls}-wrap">','<div class="{cls}-inner">','<div class="{cls}-bar">','<div class="{cls}-text">',"<div>&#160;</div>","</div>","</div>",'<div class="{cls}-text {cls}-text-back">',"<div>&#160;</div>","</div>","</div>","</div>");this.el=d?a.insertBefore(d,{cls:this.baseCls},true):a.append(b,{cls:this.baseCls},true);if(this.id){this.el.dom.id=this.id}var e=this.el.dom.firstChild;this.progressBar=Ext.get(e.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var c=Ext.get(e.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,c.dom.firstChild]);this.textEl.setWidth(e.offsetWidth)}this.progressBar.setHeight(e.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(a,b,d){this.value=a||0;if(b){this.updateText(b)}if(this.rendered){var c=Math.floor(a*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(c,d===true||(d!==false&&this.animate));if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(c)}}this.fireEvent("update",this,a,b);return this},wait:function(b){if(!this.waitTimer){var a=this;b=b||{};this.updateText(b.text);this.waitTimer=Ext.TaskMgr.start({run:function(c){var d=b.increment||10;c-=1;this.updateProgress(((((c+d)%d)+1)*(100/d))*0.01,null,b.animate)},interval:b.interval||1000,duration:b.duration,onStop:function(){if(b.fn){b.fn.apply(b.scope||this)}this.reset()},scope:a})}return this},isWaiting:function(){return this.waitTimer!==null},updateText:function(a){this.text=a||"&#160;";if(this.rendered){this.textEl.update(this.text)}return this},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)}return this},setSize:function(b,a){Ext.ProgressBar.superclass.setSize.call(this,b,a);if(this.textTopEl){var c=this.el.dom.firstChild;this.textEl.setSize(c.offsetWidth,c.offsetHeight)}this.syncProgressBar();return this},reset:function(a){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(a===true){this.hide()}return this},onDestroy:function(){if(this.rendered){if(this.textEl.isComposite){this.textEl.clear()}Ext.destroyMembers(this,"textEl","progressBar","textTopEl")}Ext.ProgressBar.superclass.onDestroy.call(this)}});Ext.reg("progress",Ext.ProgressBar);(function(){var a=Ext.EventManager;var b=Ext.lib.Dom;Ext.dd.DragDrop=function(d,e,c){if(d){this.init(d,e,c)}};Ext.dd.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(c,d){},startDrag:function(c,d){},b4Drag:function(c){},onDrag:function(c){},onDragEnter:function(c,d){},b4DragOver:function(c){},onDragOver:function(c,d){},b4DragOut:function(c){},onDragOut:function(c,d){},b4DragDrop:function(c){},onDragDrop:function(c,d){},onInvalidDrop:function(c){},b4EndDrag:function(c){},endDrag:function(c){},b4MouseDown:function(c){},onMouseDown:function(c){},onMouseUp:function(c){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(n,l,h){if(Ext.isNumber(l)){l={left:l,right:l,top:l,bottom:l}}l=l||this.defaultPadding;var c=Ext.get(this.getEl()).getBox(),e=Ext.get(n),g=e.getScroll(),o,j=e.dom;if(j==document.body){o={x:g.left,y:g.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var d=e.getXY();o={x:d[0],y:d[1],width:j.clientWidth,height:j.clientHeight}}var m=c.y-o.y,k=c.x-o.x;this.resetConstraints();this.setXConstraint(k-(l.left||0),o.width-k-c.width-(l.right||0),this.xTickSize);this.setYConstraint(m-(l.top||0),o.height-m-c.height-(l.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(d,e,c){this.initTarget(d,e,c);a.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(d,e,c){this.config=c||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof d!=="string"){d=Ext.id(d)}this.id=d;this.addToGroup((e)?e:"default");this.handleElId=d;this.setDragElId(d);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(c,e,d,g){if(!e&&0!==e){this.padding=[c,c,c,c]}else{if(!d&&0!==d){this.padding=[c,e,c,e]}else{this.padding=[c,e,d,g]}}},setInitPosition:function(h,g){var d=this.getEl();if(!this.DDM.verifyEl(d)){return}var c=h||0;var j=g||0;var e=b.getXY(d);this.initPageX=e[0]-c;this.initPageY=e[1]-j;this.lastPageX=e[0];this.lastPageY=e[1];this.setStartPosition(e)},setStartPosition:function(d){var c=d||b.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=c[0];this.startPageY=c[1]},addToGroup:function(c){this.groups[c]=true;this.DDM.regDragDrop(this,c)},removeFromGroup:function(c){if(this.groups[c]){delete this.groups[c]}this.DDM.removeDDFromGroup(this,c)},setDragElId:function(c){this.dragElId=c},setHandleElId:function(c){if(typeof c!=="string"){c=Ext.id(c)}this.handleElId=c;this.DDM.regHandle(this.id,c)},setOuterHandleElId:function(c){if(typeof c!=="string"){c=Ext.id(c)}a.on(c,"mousedown",this.handleMouseDown,this);this.setHandleElId(c);this.hasOuterHandles=true},unreg:function(){a.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(d,c){if(this.primaryButtonOnly&&d.button!=0){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var g=new Ext.lib.Point(Ext.lib.Event.getPageX(d),Ext.lib.Event.getPageY(d));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(g,this)){}else{if(this.clickValidator(d)){this.setStartPosition();this.b4MouseDown(d);this.onMouseDown(d);this.DDM.handleMouseDown(d,this);this.DDM.stopEvent(d)}else{}}},clickValidator:function(d){var c=d.getTarget();return(this.isValidHandleChild(c)&&(this.id==this.handleElId||this.DDM.handleWasClicked(c,this.id)))},addInvalidHandleType:function(c){var d=c.toUpperCase();this.invalidHandleTypes[d]=d},addInvalidHandleId:function(c){if(typeof c!=="string"){c=Ext.id(c)}this.invalidHandleIds[c]=c},addInvalidHandleClass:function(c){this.invalidHandleClasses.push(c)},removeInvalidHandleType:function(c){var d=c.toUpperCase();delete this.invalidHandleTypes[d]},removeInvalidHandleId:function(c){if(typeof c!=="string"){c=Ext.id(c)}delete this.invalidHandleIds[c]},removeInvalidHandleClass:function(c){for(var d=0,e=this.invalidHandleClasses.length;d<e;++d){if(this.invalidHandleClasses[d]==c){delete this.invalidHandleClasses[d]}}},isValidHandleChild:function(j){var h=true;var g;try{g=j.nodeName.toUpperCase()}catch(d){g=j.nodeName}h=h&&!this.invalidHandleTypes[g];h=h&&!this.invalidHandleIds[j.id];for(var c=0,k=this.invalidHandleClasses.length;h&&c<k;++c){h=!Ext.fly(j).hasClass(this.invalidHandleClasses[c])}return h},setXTicks:function(d,e){this.xTicks=[];this.xTickSize=e;var c={};for(var g=this.initPageX;g>=this.minX;g=g-e){if(!c[g]){this.xTicks[this.xTicks.length]=g;c[g]=true}}for(g=this.initPageX;g<=this.maxX;g=g+e){if(!c[g]){this.xTicks[this.xTicks.length]=g;c[g]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(d,e){this.yTicks=[];this.yTickSize=e;var c={};for(var g=this.initPageY;g>=this.minY;g=g-e){if(!c[g]){this.yTicks[this.yTicks.length]=g;c[g]=true}}for(g=this.initPageY;g<=this.maxY;g=g+e){if(!c[g]){this.yTicks[this.yTicks.length]=g;c[g]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(d,c,e){this.leftConstraint=d;this.rightConstraint=c;this.minX=this.initPageX-d;this.maxX=this.initPageX+c;if(e){this.setXTicks(this.initPageX,e)}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(e,d,c){this.topConstraint=e;this.bottomConstraint=d;this.minY=this.initPageY-e;this.maxY=this.initPageY+d;if(c){this.setYTicks(this.initPageY,c)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var d=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var c=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(d,c)}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(g,d){if(!d){return g}else{if(d[0]>=g){return d[0]}else{for(var j=0,h=d.length;j<h;++j){var k=j+1;if(d[k]&&d[k]>=g){var c=g-d[j];var e=d[k]-g;return(e>c)?d[j]:d[k]}}return d[d.length-1]}}},toString:function(){return("DragDrop "+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var a=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(d,c){for(var e in this.ids){for(var b in this.ids[e]){var g=this.ids[e][b];if(!this.isTypeOfDD(g)){continue}g[d].apply(g,c)}}},_onLoad:function(){this.init();a.on(document,"mouseup",this.handleMouseUp,this,true);a.on(document,"mousemove",this.handleMouseMove,this,true);a.on(window,"unload",this._onUnload,this,true);a.on(window,"resize",this._onResize,this,true)},_onResize:function(b){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(c,b){if(!this.initialized){this.init()}if(!this.ids[b]){this.ids[b]={}}this.ids[b][c.id]=c},removeDDFromGroup:function(d,b){if(!this.ids[b]){this.ids[b]={}}var c=this.ids[b];if(c&&c[d.id]){delete c[d.id]}},_remove:function(c){for(var b in c.groups){if(b&&this.ids[b]&&this.ids[b][c.id]){delete this.ids[b][c.id]}}delete this.handleIds[c.id]},regHandle:function(c,b){if(!this.handleIds[c]){this.handleIds[c]={}}this.handleIds[c][b]=b},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(g,h){var e=[];for(var d in g.groups){for(var b in this.ids[d]){var c=this.ids[d][b];if(!this.isTypeOfDD(c)){continue}if(!h||c.isTarget){e[e.length]=c}}}return e},isLegalTarget:function(g,e){var c=this.getRelated(g,true);for(var d=0,b=c.length;d<b;++d){if(c[d].id==e.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(c,b){return(this.handleIds[c]&&this.handleIds[c][b])},getDDById:function(c){for(var b in this.ids){if(this.ids[b][c]){return this.ids[b][c]}}return null},handleMouseDown:function(d,c){if(Ext.QuickTips){Ext.QuickTips.disable()}if(this.dragCurrent){this.handleMouseUp(d)}this.currentTarget=d.getTarget();this.dragCurrent=c;var b=c.getEl();this.startX=d.getPageX();this.startY=d.getPageY();this.deltaX=this.startX-b.offsetLeft;this.deltaY=this.startY-b.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var e=Ext.dd.DDM;e.startDrag(e.startX,e.startY)},this.clickTimeThresh)},startDrag:function(b,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(b,c);this.dragCurrent.startDrag(b,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.QuickTips){Ext.QuickTips.enable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(b,true)}else{}this.stopDrag(b);this.stopEvent(b)},stopEvent:function(b){if(this.stopPropagation){b.stopPropagation()}if(this.preventDefault){b.preventDefault()}},stopDrag:function(b){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(b);this.dragCurrent.endDrag(b)}this.dragCurrent.onMouseUp(b)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(d){if(!this.dragCurrent){return true}if(Ext.isIE&&(d.button!==0&&d.button!==1&&d.button!==2)){this.stopEvent(d);return this.handleMouseUp(d)}if(!this.dragThreshMet){var c=Math.abs(this.startX-d.getPageX());var b=Math.abs(this.startY-d.getPageY());if(c>this.clickPixelThresh||b>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(d);this.dragCurrent.onDrag(d);if(!this.dragCurrent.moveOnly){this.fireEvents(d,false)}}this.stopEvent(d);return true},fireEvents:function(p,q){var h=this.dragCurrent;if(!h||h.isLocked()){return}var m=p.getPoint();var b=[];var g=[];var n=[];var k=[];var d=[];for(var j in this.dragOvers){var c=this.dragOvers[j];if(!this.isTypeOfDD(c)){continue}if(!this.isOverTarget(m,c,this.mode)){g.push(c)}b[j]=true;delete this.dragOvers[j]}for(var r in h.groups){if("string"!=typeof r){continue}for(j in this.ids[r]){var l=this.ids[r][j];if(!this.isTypeOfDD(l)){continue}if(l.isTarget&&!l.isLocked()&&((l!=h)||(h.ignoreSelf===false))){if(this.isOverTarget(m,l,this.mode)){if(q){k.push(l)}else{if(!b[l.id]){d.push(l)}else{n.push(l)}this.dragOvers[l.id]=l}}}}}if(this.mode){if(g.length){h.b4DragOut(p,g);h.onDragOut(p,g)}if(d.length){h.onDragEnter(p,d)}if(n.length){h.b4DragOver(p,n);h.onDragOver(p,n)}if(k.length){h.b4DragDrop(p,k);h.onDragDrop(p,k)}}else{var o=0;for(j=0,o=g.length;j<o;++j){h.b4DragOut(p,g[j].id);h.onDragOut(p,g[j].id)}for(j=0,o=d.length;j<o;++j){h.onDragEnter(p,d[j].id)}for(j=0,o=n.length;j<o;++j){h.b4DragOver(p,n[j].id);h.onDragOver(p,n[j].id)}for(j=0,o=k.length;j<o;++j){h.b4DragDrop(p,k[j].id);h.onDragDrop(p,k[j].id)}}if(q&&!k.length){h.onInvalidDrop(p)}},getBestMatch:function(d){var g=null;var c=d.length;if(c==1){g=d[0]}else{for(var e=0;e<c;++e){var b=d[e];if(b.cursorIsOver){g=b;break}else{if(!g||g.overlap.getArea()<b.overlap.getArea()){g=b}}}}return g},refreshCache:function(c){for(var b in c){if("string"!=typeof b){continue}for(var d in this.ids[b]){var e=this.ids[b][d];if(this.isTypeOfDD(e)){var g=this.getLocation(e);if(g){this.locationCache[e.id]=g}else{delete this.locationCache[e.id]}}}}},verifyEl:function(c){if(c){var b;if(Ext.isIE){try{b=c.offsetParent}catch(d){}}else{b=c.offsetParent}if(b){return true}}return false},getLocation:function(p){if(!this.isTypeOfDD(p)){return null}var n=p.getEl(),d,m,j,k,g,c,h,b,o;try{d=Ext.lib.Dom.getXY(n)}catch(q){}if(!d){return null}m=d[0];j=m+n.offsetWidth;k=d[1];g=k+n.offsetHeight;c=k-p.padding[0];h=j+p.padding[1];b=g+p.padding[2];o=m-p.padding[3];return new Ext.lib.Region(c,h,b,o)},isOverTarget:function(j,k,b){var d=this.locationCache[k.id];if(!d||!this.useCache){d=this.getLocation(k);this.locationCache[k.id]=d}if(!d){return false}k.cursorIsOver=d.contains(j);var h=this.dragCurrent;if(!h||!h.getTargetCoord||(!b&&!h.constrainX&&!h.constrainY)){return k.cursorIsOver}k.overlap=null;var e=h.getTargetCoord(j.x,j.y);var l=h.getDragEl();var c=new Ext.lib.Region(e.y,e.x+l.offsetWidth,e.y+l.offsetHeight,e.x);var g=c.intersect(d);if(g){k.overlap=g;return(b)?true:k.cursorIsOver}else{return false}},_onUnload:function(c,b){Ext.dd.DragDropMgr.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var b=this.elementCache[c];if(!b||!b.el){b=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return b},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var b=Ext.getDom(c);return(b)?b.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&&b.id;this.css=this.el&&b.style},getPosX:function(b){return Ext.lib.Dom.getX(b)},getPosY:function(b){return Ext.lib.Dom.getY(b)},swapNode:function(d,b){if(d.swapNode){d.swapNode(b)}else{var e=b.parentNode;var c=b.nextSibling;if(c==d){e.insertBefore(d,b)}else{if(b==d.nextSibling){e.insertBefore(b,d)}else{d.parentNode.replaceChild(b,d);e.insertBefore(d,c)}}}},getScroll:function(){var d,b,e=document.documentElement,c=document.body;if(e&&(e.scrollTop||e.scrollLeft)){d=e.scrollTop;b=e.scrollLeft}else{if(c){d=c.scrollTop;b=c.scrollLeft}else{}}return{top:d,left:b}},getStyle:function(c,b){return Ext.fly(c).getStyle(b)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(b,d){var c=Ext.lib.Dom.getXY(d);Ext.lib.Dom.setXY(b,c)},numericSort:function(b,c){return(b-c)},_timeoutCount:0,_addListeners:function(){var b=Ext.dd.DDM;if(Ext.lib.Event&&document){b._onLoad()}else{if(b._timeoutCount>2000){}else{setTimeout(b._addListeners,10);if(document&&document.body){b._timeoutCount+=1}}}},handleWasClicked:function(b,d){if(this.isHandle(d,b.id)){return true}else{var c=b.parentNode;while(c){if(this.isHandle(d,c.id)){return true}else{c=c.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(a,b,c){if(a){this.init(a,b,c)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(a,d){var c=a-this.startPageX;var b=d-this.startPageY;this.setDelta(c,b)},setDelta:function(b,a){this.deltaX=b;this.deltaY=a},setDragElPos:function(a,c){var b=this.getDragEl();this.alignElWithMouse(b,a,c)},alignElWithMouse:function(d,j,h){var g=this.getTargetCoord(j,h);var c=d.dom?d:Ext.fly(d,"_dd");if(!this.deltaSetXY){var a=[g.x,g.y];c.setXY(a);var e=c.getLeft(true);var b=c.getTop(true);this.deltaSetXY=[e-g.x,b-g.y]}else{c.setLeftTop(g.x+this.deltaSetXY[0],g.y+this.deltaSetXY[1])}this.cachePosition(g.x,g.y);this.autoScroll(g.x,g.y,d.offsetHeight,d.offsetWidth);return g},cachePosition:function(c,b){if(c){this.lastPageX=c;this.lastPageY=b}else{var a=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=a[0];this.lastPageY=a[1]}},autoScroll:function(o,n,j,p){if(this.scroll){var q=Ext.lib.Dom.getViewHeight();var c=Ext.lib.Dom.getViewWidth();var g=this.DDM.getScrollTop();var e=this.DDM.getScrollLeft();var m=j+n;var b=p+o;var l=(q+g-n-this.deltaY);var k=(c+e-o-this.deltaX);var d=40;var a=(document.all)?80:30;if(m>q&&l<d){window.scrollTo(e,g+a)}if(n<g&&g>0&&n-g<d){window.scrollTo(e,g-a)}if(b>c&&k<d){window.scrollTo(e+a,g)}if(o<e&&e>0&&o-e<d){window.scrollTo(e-a,g)}}},getTargetCoord:function(a,d){var c=a-this.deltaX;var b=d-this.deltaY;if(this.constrainX){if(c<this.minX){c=this.minX}if(c>this.maxX){c=this.maxX}}if(this.constrainY){if(b<this.minY){b=this.minY}if(b>this.maxY){b=this.maxY}}c=this.getTick(c,this.xTicks);b=this.getTick(b,this.yTicks);return{x:c,y:b}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(a){this.autoOffset(a.getPageX(),a.getPageY())},b4Drag:function(a){this.setDragElPos(a.getPageX(),a.getPageY())},toString:function(){return("DD "+this.id)}});Ext.dd.DDProxy=function(a,b,c){if(a){this.init(a,b,c);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var d=this;var c=document.body;if(!c||!c.firstChild){setTimeout(function(){d.createFrame()},50);return}var b=this.getDragEl();if(!b){b=document.createElement("div");b.id=this.dragElId;var a=b.style;a.position="absolute";a.visibility="hidden";a.cursor="move";a.border="2px solid #aaa";a.zIndex=999;c.insertBefore(b,c.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(c,b){var a=this.getEl();var d=this.getDragEl();var e=d.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(e.width,10)/2),Math.round(parseInt(e.height,10)/2))}this.setDragElPos(c,b);Ext.fly(d).show()},_resizeProxy:function(){if(this.resizeFrame){var a=this.getEl();Ext.fly(this.getDragEl()).setSize(a.offsetWidth,a.offsetHeight)}},b4MouseDown:function(c){var b=c.getPageX();var a=c.getPageY();this.autoOffset(b,a);this.setDragElPos(b,a)},b4StartDrag:function(a,b){this.showFrame(a,b)},b4EndDrag:function(a){Ext.fly(this.getDragEl()).hide()},endDrag:function(a){var c=this.getEl();var b=this.getDragEl();b.style.visibility="";this.beforeMove();c.style.visibility="hidden";Ext.dd.DDM.moveToEl(c,b);b.style.visibility="hidden";c.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.dd.DDTarget=function(a,b,c){if(a){this.initTarget(a,b,c)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.dd.DragTracker=Ext.extend(Ext.util.Observable,{active:false,tolerance:5,autoStart:false,constructor:function(a){Ext.apply(this,a);this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}Ext.dd.DragTracker.superclass.constructor.call(this,a)},initEl:function(a){this.el=Ext.get(a);a.on("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un("mousedown",this.onMouseDown,this)},onMouseDown:function(a,c){if(this.fireEvent("mousedown",this,a)!==false&&this.onBeforeStart(a)!==false){this.startXY=this.lastXY=a.getXY();this.dragTarget=this.delegate?c:this.el.dom;if(this.preventDefault!==false){a.preventDefault()}var b=Ext.getDoc();b.on("mouseup",this.onMouseUp,this);b.on("mousemove",this.onMouseMove,this);b.on("selectstart",this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(b,a){if(this.active&&Ext.isIE&&!b.browserEvent.button){b.preventDefault();this.onMouseUp(b);return}b.preventDefault();var d=b.getXY(),c=this.startXY;this.lastXY=d;if(!this.active){if(Math.abs(c[0]-d[0])>this.tolerance||Math.abs(c[1]-d[1])>this.tolerance){this.triggerStart()}else{return}}this.fireEvent("mousemove",this,b);this.onDrag(b);this.fireEvent("drag",this,b)},onMouseUp:function(a){var c=Ext.getDoc();c.un("mousemove",this.onMouseMove,this);c.un("mouseup",this.onMouseUp,this);c.un("selectstart",this.stopSelect,this);a.preventDefault();this.clearStart();var b=this.active;this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,a);if(b){this.onEnd(a);this.fireEvent("dragend",this,a)}},triggerStart:function(a){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(a){a.stopEvent();return false},onBeforeStart:function(a){},onStart:function(a){},onDrag:function(a){},onEnd:function(a){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(a){return a?this.constrainModes[a].call(this,this.lastXY):this.lastXY},getOffset:function(a){var c=this.getXY(a);var b=this.startXY;return[b[0]-c[0],b[1]-c[1]]},constrainModes:{point:function(b){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var a=this.dragRegion;a.left=b[0];a.top=b[1];a.right=b[0];a.bottom=b[1];a.constrainTo(this.elRegion);return[a.left,a.top]}}});Ext.dd.ScrollManager=function(){var k=Ext.dd.DragDropMgr;var a={};var j=null;var d={};var c=function(m){j=null;h()};var e=function(){if(k.dragCurrent){k.refreshCache(k.dragCurrent.groups)}};var l=function(){if(k.dragCurrent){var n=Ext.dd.ScrollManager;var m=d.el.ddScrollConfig?d.el.ddScrollConfig.increment:n.increment;if(!n.animate){if(d.el.scroll(d.dir,m)){e()}}else{d.el.scroll(d.dir,m,true,n.animDuration,e)}}};var h=function(){if(d.id){clearInterval(d.id)}d.id=0;d.el=null;d.dir=""};var b=function(o,n){h();d.el=o;d.dir=n;var m=(o.ddScrollConfig&&o.ddScrollConfig.frequency)?o.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;d.id=setInterval(l,m)};var g=function(t,m){if(m||!k.dragCurrent){return}var n=Ext.dd.ScrollManager;if(!j||j!=k.dragCurrent){j=k.dragCurrent;n.refreshCache()}var o=Ext.lib.Event.getXY(t);var p=new Ext.lib.Point(o[0],o[1]);for(var r in a){var s=a[r],q=s._region;var u=s.ddScrollConfig?s.ddScrollConfig:n;if(q&&q.contains(p)&&s.isScrollable()){if(q.bottom-p.y<=u.vthresh){if(d.el!=s){b(s,"down")}return}else{if(q.right-p.x<=u.hthresh){if(d.el!=s){b(s,"left")}return}else{if(p.y-q.top<=u.vthresh){if(d.el!=s){b(s,"up")}return}else{if(p.x-q.left<=u.hthresh){if(d.el!=s){b(s,"right")}return}}}}}}h()};k.fireEvents=k.fireEvents.createSequence(g,k);k.stopDrag=k.stopDrag.createSequence(c,k);return{register:function(m){if(Ext.isArray(m)){for(var o=0,n=m.length;o<n;o++){this.register(m[o])}}else{m=Ext.get(m);a[m.id]=m}},unregister:function(m){if(Ext.isArray(m)){for(var o=0,n=m.length;o<n;o++){this.unregister(m[o])}}else{m=Ext.get(m);delete a[m.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var m in a){if(typeof a[m]=="object"){a[m]._region=a[m].getRegion()}}}}}();Ext.dd.Registry=function(){var b={};var d={};var c=0;var a=function(e,h){if(typeof e=="string"){return e}var g=e.id;if(!g&&h!==false){g="extdd-"+(++c);e.id=g}return g};return{register:function(e,h){h=h||{};if(typeof e=="string"){e=document.getElementById(e)}h.ddel=e;b[a(e)]=h;if(h.isHandle!==false){d[h.ddel.id]=h}if(h.handles){var k=h.handles;for(var j=0,g=k.length;j<g;j++){d[a(k[j])]=h}}},unregister:function(l){var h=a(l,false);var g=b[h];if(g){delete b[h];if(g.handles){var j=g.handles;for(var e=0,k=j.length;e<k;e++){delete d[a(j[e],false)]}}}},getHandle:function(e){if(typeof e!="string"){e=e.id}return d[e]},getHandleFromEvent:function(g){var e=Ext.lib.Event.getTarget(g);return e?d[e.id]:null},getTarget:function(e){if(typeof e!="string"){e=e.id}return b[e]},getTargetFromEvent:function(g){var e=Ext.lib.Event.getTarget(g);return e?b[e.id]||d[e.id]:null}}}();Ext.dd.StatusProxy=function(a){Ext.apply(this,a);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:!a||a.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(a){a=a||this.dropNotAllowed;if(this.dropStatus!=a){this.el.replaceClass(this.dropStatus,a);this.dropStatus=a}},reset:function(a){this.el.dom.className="x-dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(a){this.ghost.update("")}},update:function(a){if(typeof a=="string"){this.ghost.update(a)}else{this.ghost.update("");a.style.margin="0";this.ghost.dom.appendChild(a)}var b=this.ghost.dom.firstChild;if(b){Ext.fly(b).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(a){this.el.hide();if(a){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(c,a,b){this.callback=a;this.scope=b;if(c&&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:c,stopFx:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.el)}};Ext.dd.DragSource=function(b,a){this.el=Ext.get(b);if(!this.dragData){this.dragData={}}Ext.apply(this,a);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(a){return this.dragData},onDragEnter:function(a,b){var d=Ext.dd.DragDropMgr.getDDById(b);this.cachedTarget=d;if(this.beforeDragEnter(d,a,b)!==false){if(d.isNotifyTarget){var c=d.notifyEnter(this,a,this.dragData);this.proxy.setStatus(c)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(d,a,b)}}},beforeDragEnter:function(c,b,a){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(a,b){var d=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(b);if(this.beforeDragOver(d,a,b)!==false){if(d.isNotifyTarget){var c=d.notifyOver(this,a,this.dragData);this.proxy.setStatus(c)}if(this.afterDragOver){this.afterDragOver(d,a,b)}}},beforeDragOver:function(c,b,a){return true},onDragOut:function(c,a){var b=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(a);if(this.beforeDragOut(b,c,a)!==false){if(b.isNotifyTarget){b.notifyOut(this,c,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(b,c,a)}}this.cachedTarget=null},beforeDragOut:function(c,b,a){return true},onDragDrop:function(c,a){var b=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(a);if(this.beforeDragDrop(b,c,a)!==false){if(b.isNotifyTarget){if(b.notifyDrop(this,c,this.dragData)){this.onValidDrop(b,c,a)}else{this.onInvalidDrop(b,c,a)}}else{this.onValidDrop(b,c,a)}if(this.afterDragDrop){this.afterDragDrop(b,c,a)}}delete this.cachedTarget},beforeDragDrop:function(c,b,a){return true},onValidDrop:function(c,b,a){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(c,b,a)}},getRepairXY:function(b,a){return this.el.getXY()},onInvalidDrop:function(c,b,a){this.beforeInvalidDrop(c,b,a);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,b,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(b,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(b,a)}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||"c3daf9")}this.dragging=false},beforeInvalidDrop:function(c,b,a){return true},handleMouseDown:function(b){if(this.dragging){return}var a=this.getDragData(b);if(a&&this.onBeforeDrag(a,b)!==false){this.dragData=a;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)}},onBeforeDrag:function(a,b){return true},onStartDrag:Ext.emptyFn,startDrag:function(a,b){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(a,b);this.proxy.show()},onInitDrag:function(b,a){var c=this.el.dom.cloneNode(true);c.id=Ext.id();this.proxy.update(c);this.onStartDrag(b,a);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(a){},endDrag:function(a){this.onEndDrag(this.dragData,a)},onEndDrag:function(a,b){},autoOffset:function(a,b){this.setDelta(-12,-20)},destroy:function(){Ext.dd.DragSource.superclass.destroy.call(this);Ext.destroy(this.proxy)}});Ext.dd.DropTarget=function(b,a){this.el=Ext.get(b);Ext.apply(this,a);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(b,a,c){if(this.overClass){this.el.addClass(this.overClass)}return this.dropAllowed},notifyOver:function(b,a,c){return this.dropAllowed},notifyOut:function(b,a,c){if(this.overClass){this.el.removeClass(this.overClass)}},notifyDrop:function(b,a,c){return false}});Ext.dd.DragZone=function(b,a){Ext.dd.DragZone.superclass.constructor.call(this,b,a);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}};Ext.extend(Ext.dd.DragZone,Ext.dd.DragSource,{getDragData:function(a){return Ext.dd.Registry.getHandleFromEvent(a)},onInitDrag:function(a,b){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(a,b);return true},afterRepair:function(){if(Ext.enableFx){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false},getRepairXY:function(a){return Ext.Element.fly(this.dragData.ddel).getXY()}});Ext.dd.DropZone=function(b,a){Ext.dd.DropZone.superclass.constructor.call(this,b,a)};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(a){return Ext.dd.Registry.getTargetFromEvent(a)},onNodeEnter:function(b,c,a,d){},onNodeOver:function(b,c,a,d){return this.dropAllowed},onNodeOut:function(b,c,a,d){},onNodeDrop:function(b,c,a,d){return false},onContainerOver:function(b,a,c){return this.dropNotAllowed},onContainerDrop:function(b,a,c){return false},notifyEnter:function(b,a,c){return this.dropNotAllowed},notifyOver:function(c,a,d){var b=this.getTargetFromEvent(a);if(!b){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,c,a,d);this.lastOverNode=null}return this.onContainerOver(c,a,d)}if(this.lastOverNode!=b){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,c,a,d)}this.onNodeEnter(b,c,a,d);this.lastOverNode=b}return this.onNodeOver(b,c,a,d)},notifyOut:function(b,a,c){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,b,a,c);this.lastOverNode=null}},notifyDrop:function(c,a,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,c,a,d);this.lastOverNode=null}var b=this.getTargetFromEvent(a);return b?this.onNodeDrop(b,c,a,d):this.onContainerDrop(c,a,d)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.Element.addMethods({initDD:function(a,d,b){var c=new Ext.dd.DD(Ext.id(this.dom),a,d);return Ext.apply(c,b)},initDDProxy:function(a,d,b){var c=new Ext.dd.DDProxy(Ext.id(this.dom),a,d);return Ext.apply(c,b)},initDDTarget:function(a,d,b){var c=new Ext.dd.DDTarget(Ext.id(this.dom),a,d);return Ext.apply(c,b)}});Ext.data.Api=(function(){var a={};return{actions:{create:"create",read:"read",update:"update",destroy:"destroy"},restActions:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"},isAction:function(b){return(Ext.data.Api.actions[b])?true:false},getVerb:function(b){if(a[b]){return a[b]}for(var c in this.actions){if(this.actions[c]===b){a[b]=c;break}}return(a[b]!==undefined)?a[b]:null},isValid:function(b){var e=[];var d=this.actions;for(var c in b){if(!(c in d)){e.push(c)}}return(!e.length)?true:e},hasUniqueUrl:function(c,g){var b=(c.api[g])?c.api[g].url:null;var e=true;for(var d in c.api){if((e=(d===g)?true:(c.api[d].url!=b)?true:false)===false){break}}return e},prepare:function(b){if(!b.api){b.api={}}for(var d in this.actions){var c=this.actions[d];b.api[c]=b.api[c]||b.url||b.directFn;if(typeof(b.api[c])=="string"){b.api[c]={url:b.api[c],method:(b.restful===true)?Ext.data.Api.restActions[c]:undefined}}}},restify:function(b){b.restful=true;for(var c in this.restActions){b.api[this.actions[c]].method=this.restActions[c]}b.onWrite=b.onWrite.createInterceptor(function(e,k,j,h){var g=k.reader;var d=new Ext.data.Response({action:e,raw:j});switch(j.status){case 200:return true;break;case 201:d.success=true;break;case 204:d.success=true;d.data=null;break;default:return true;break}if(d.success===true){this.fireEvent("write",this,e,d.data,d,h,k.request.arg)}else{this.fireEvent("exception",this,"remote",e,k,d,h)}k.request.callback.call(k.request.scope,d.data,d,d.success);return false},b)}}})();Ext.data.Response=function(b,a){Ext.apply(this,b,{raw:a})};Ext.data.Response.prototype={message:null,success:false,status:null,root:null,raw:null,getMessage:function(){return this.message},getSuccess:function(){return this.success},getStatus:function(){return this.status},getRoot:function(){return this.root},getRawResponse:function(){return this.raw}};Ext.data.Api.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:"Ext.data.Api"});Ext.apply(Ext.data.Api.Error.prototype,{lang:{"action-url-undefined":"No fallback url defined for this action.  When defining a DataProxy api, please be sure to define an url for each CRUD action in Ext.data.Api.actions or define a default url in addition to your api-configuration.",invalid:"received an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions defined in Ext.data.Api.actions","invalid-url":"Invalid url.  Please review your proxy configuration.",execute:'Attempted to execute an unknown action.  Valid API actions are defined in Ext.data.Api.actions"'}});Ext.data.SortTypes={none:function(a){return a},stripTagsRE:/<\/?[^>]+>/gi,asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(/,/g,""));return isNaN(b)?0:b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,""),10);return isNaN(b)?0:b}};Ext.data.Record=function(a,b){this.id=(b||b===0)?b:Ext.data.Record.id(this);this.data=a||{}};Ext.data.Record.create=function(c){var a=Ext.extend(Ext.data.Record,{});var b=a.prototype;b.fields=new Ext.util.MixedCollection(false,function(g){return g.name});for(var e=0,d=c.length;e<d;e++){b.fields.add(new Ext.data.Field(c[e]))}a.getField=function(g){return b.fields.get(g)};return a};Ext.data.Record.PREFIX="ext-record";Ext.data.Record.AUTO_ID=1;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.id=function(a){a.phantom=true;return[Ext.data.Record.PREFIX,"-",Ext.data.Record.AUTO_ID++].join("")};Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,phantom:false,join:function(a){this.store=a},set:function(b,a){var c=Ext.isPrimitive(a)?String:Ext.encode;if(c(this.data[b])==c(a)){return}this.dirty=true;if(!this.modified){this.modified={}}if(this.modified[b]===undefined){this.modified[b]=this.data[b]}this.data[b]=a;if(!this.editing){this.afterEdit()}},afterEdit:function(){if(this.store){this.store.afterEdit(this)}},afterReject:function(){if(this.store){this.store.afterReject(this)}},afterCommit:function(){if(this.store){this.store.afterCommit(this)}},get:function(a){return this.data[a]},beginEdit:function(){this.editing=true;this.modified=this.modified||{}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty){this.afterEdit()}},reject:function(c){var b=this.modified;for(var a in b){if(typeof b[a]!="function"){this.data[a]=b[a]}}this.dirty=false;delete this.modified;this.editing=false;if(c!==true){this.afterReject()}},commit:function(a){this.dirty=false;delete this.modified;this.editing=false;if(a!==true){this.afterCommit()}},getChanges:function(){var b=this.modified,c={};for(var a in b){if(b.hasOwnProperty(a)){c[a]=this.data[a]}}return c},hasError:function(){return this.error!==null},clearError:function(){this.error=null},copy:function(a){return new this.constructor(Ext.apply({},this.data),a||this.id)},isModified:function(a){return !!(this.modified&&this.modified.hasOwnProperty(a))},isValid:function(){return this.fields.find(function(a){return(a.allowBlank===false&&Ext.isEmpty(this.data[a.name]))?true:false},this)?false:true},markDirty:function(){this.dirty=true;if(!this.modified){this.modified={}}this.fields.each(function(a){this.modified[a.name]=this.data[a.name]},this)}};Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var a=0,b;(b=arguments[a]);a++){this.add(b)}},unregister:function(){for(var a=0,b;(b=arguments[a]);a++){this.remove(this.lookup(b))}},lookup:function(c){if(Ext.isArray(c)){var e=["field1"],b=!Ext.isArray(c[0]);if(!b){for(var a=2,d=c[0].length;a<=d;++a){e.push("field"+a)}}return new Ext.data.ArrayStore({fields:e,data:c,expandData:b,autoDestroy:true,autoCreated:true})}return Ext.isObject(c)?(c.events?c:Ext.create(c,"store")):this.get(c)},getKey:function(a){return a.storeId}});Ext.data.Store=Ext.extend(Ext.util.Observable,{writer:undefined,remoteSort:false,autoDestroy:false,pruneModifiedRecords:false,lastOptions:null,autoSave:true,batch:true,restful:false,paramNames:undefined,defaultParamNames:{start:"start",limit:"limit",sort:"sort",dir:"dir"},batchKey:"_ext_batch_",constructor:function(a){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(b){return b.id};this.baseParams={};this.removed=[];if(a&&a.data){this.inlineData=a.data;delete a.data}Ext.apply(this,a);this.paramNames=Ext.applyIf(this.paramNames||{},this.defaultParamNames);if((this.url||this.api)&&!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url,api:this.api})}if(this.restful===true&&this.proxy){this.batch=false;Ext.data.Api.restify(this.proxy)}if(this.reader){if(!this.recordType){this.recordType=this.reader.recordType}if(this.reader.onMetaChange){this.reader.onMetaChange=this.reader.onMetaChange.createSequence(this.onMetaChange,this)}if(this.writer){if(this.writer instanceof (Ext.data.DataWriter)===false){this.writer=this.buildWriter(this.writer)}this.writer.meta=this.reader.meta;this.pruneModifiedRecords=true}}if(this.recordType){this.fields=this.recordType.prototype.fields}this.modified=[];this.addEvents("datachanged","metachange","add","remove","update","clear","exception","beforeload","load","loadexception","beforewrite","write","beforesave","save");if(this.proxy){this.relayEvents(this.proxy,["loadexception","exception"])}if(this.writer){this.on({scope:this,add:this.createRecords,remove:this.destroyRecord,update:this.updateRecord,clear:this.onClear})}this.sortToggle={};if(this.sortField){this.setDefaultSort(this.sortField,this.sortDir)}else{if(this.sortInfo){this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction)}}Ext.data.Store.superclass.constructor.call(this);if(this.id){this.storeId=this.id;delete this.id}if(this.storeId){Ext.StoreMgr.register(this)}if(this.inlineData){this.loadData(this.inlineData);delete this.inlineData}else{if(this.autoLoad){this.load.defer(10,this,[typeof this.autoLoad=="object"?this.autoLoad:undefined])}}this.batchCounter=0;this.batches={}},buildWriter:function(b){var a=undefined;type=(b.format||"json").toLowerCase();switch(type){case"json":a=Ext.data.JsonWriter;break;case"xml":a=Ext.data.XmlWriter;break;default:a=Ext.data.JsonWriter}return new a(b)},destroy:function(){if(!this.isDestroyed){if(this.storeId){Ext.StoreMgr.unregister(this)}this.clearData();this.data=null;Ext.destroy(this.proxy);this.reader=this.writer=null;this.purgeListeners();this.isDestroyed=true}},add:function(d){d=[].concat(d);if(d.length<1){return}for(var b=0,c=d.length;b<c;b++){d[b].join(this)}var a=this.data.length;this.data.addAll(d);if(this.snapshot){this.snapshot.addAll(d)}this.fireEvent("add",this,d,a)},addSorted:function(a){var b=this.findInsertIndex(a);this.insert(b,a)},remove:function(a){if(Ext.isArray(a)){Ext.each(a,function(c){this.remove(c)},this)}var b=this.data.indexOf(a);if(b>-1){a.join(null);this.data.removeAt(b)}if(this.pruneModifiedRecords){this.modified.remove(a)}if(this.snapshot){this.snapshot.remove(a)}if(b>-1){this.fireEvent("remove",this,a,b)}},removeAt:function(a){this.remove(this.getAt(a))},removeAll:function(b){var a=[];this.each(function(c){a.push(c)});this.clearData();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}if(b!==true){this.fireEvent("clear",this,a)}},onClear:function(b,a){Ext.each(a,function(d,c){this.destroyRecord(this,d,c)},this)},insert:function(a,d){d=[].concat(d);for(var b=0,c=d.length;b<c;b++){this.data.insert(a,d[b]);d[b].join(this)}if(this.snapshot){this.snapshot.addAll(d)}this.fireEvent("add",this,d,a)},indexOf:function(a){return this.data.indexOf(a)},indexOfId:function(a){return this.data.indexOfKey(a)},getById:function(a){return(this.snapshot||this.data).key(a)},getAt:function(a){return this.data.itemAt(a)},getRange:function(b,a){return this.data.getRange(b,a)},storeOptions:function(a){a=Ext.apply({},a);delete a.callback;delete a.scope;this.lastOptions=a},clearData:function(){this.data.each(function(a){a.join(null)});this.data.clear()},load:function(c){c=c||{};this.storeOptions(c);if(this.sortInfo&&this.remoteSort){var b=this.paramNames;c.params=c.params||{};c.params[b.sort]=this.sortInfo.field;c.params[b.dir]=this.sortInfo.direction}try{return this.execute("read",null,c)}catch(a){this.handleException(a);return false}},updateRecord:function(c,b,a){if(a==Ext.data.Record.EDIT&&this.autoSave===true&&(!b.phantom||(b.phantom&&b.isValid()))){this.save()}},createRecords:function(a,e,b){for(var c=0,d=e.length;c<d;c++){if(e[c].phantom&&e[c].isValid()){e[c].markDirty();this.modified.push(e[c])}}if(this.autoSave===true){this.save()}},destroyRecord:function(c,b,a){if(this.modified.indexOf(b)!=-1){this.modified.remove(b)}if(!b.phantom){this.removed.push(b);b.lastIndex=a;if(this.autoSave===true){this.save()}}},execute:function(c,d,a,e){if(!Ext.data.Api.isAction(c)){throw new Ext.data.Api.Error("execute",c)}a=Ext.applyIf(a||{},{params:{}});if(e!==undefined){this.addToBatch(e)}var b=true;if(c==="read"){Ext.applyIf(a.params,this.baseParams);b=this.fireEvent("beforeload",this,a)}else{if(this.writer.listful===true&&this.restful!==true){d=(Ext.isArray(d))?d:[d]}else{if(Ext.isArray(d)&&d.length==1){d=d.shift()}}if((b=this.fireEvent("beforewrite",this,c,d,a))!==false){this.writer.apply(a.params,this.baseParams,c,d)}}if(b!==false){if(this.writer&&this.proxy.url&&!this.proxy.restful&&!Ext.data.Api.hasUniqueUrl(this.proxy,c)){a.params.xaction=c}this.proxy.request(Ext.data.Api.actions[c],d,a.params,this.reader,this.createCallback(c,d,e),this,a)}return b},save:function(){if(!this.writer){throw new Ext.data.Store.Error("writer-undefined")}var e=[],g,h,c,a={};if(this.removed.length){e.push(["destroy",this.removed])}var k=[].concat(this.getModifiedRecords());if(k.length){var d=[];for(var b=k.length-1;b>=0;b--){if(k[b].phantom===true){var j=k.splice(b,1).shift();if(j.isValid()){d.push(j)}}else{if(!k[b].isValid()){k.splice(b,1)}}}if(d.length){e.push(["create",d])}if(k.length){e.push(["update",k])}}g=e.length;if(g){c=++this.batchCounter;for(var b=0;b<g;++b){h=e[b];a[h[0]]=h[1]}if(this.fireEvent("beforesave",this,a)!==false){for(var b=0;b<g;++b){h=e[b];this.doTransaction(h[0],h[1],c)}return c}}return -1},doTransaction:function(b,e,g){function c(h){try{this.execute(b,h,undefined,g)}catch(j){this.handleException(j)}}if(this.batch===false){for(var a=0,d=e.length;a<d;a++){c.call(this,e[a])}}else{c.call(this,e)}},addToBatch:function(c){var a=this.batches,d=this.batchKey+c,e=a[d];if(!e){a[d]=e={id:c,count:0,data:{}}}++e.count},removeFromBatch:function(h,d,c){var g=this.batches,j=this.batchKey+h,e=g[j],c,a;if(e){a=e.data[d]||[];e.data[d]=a.concat(c);if(e.count===1){c=e.data;delete g[j];this.fireEvent("save",this,h,c)}else{--e.count}}},createCallback:function(a,c,d){var b=Ext.data.Api.actions;return(a=="read")?this.loadRecords:function(e,h,g){this["on"+Ext.util.Format.capitalize(a)+"Records"](g,c,[].concat(e));if(g===true){this.fireEvent("write",this,a,e,h,c)}this.removeFromBatch(d,a,e)}},clearModified:function(a){if(Ext.isArray(a)){for(var b=a.length-1;b>=0;b--){this.modified.splice(this.modified.indexOf(a[b]),1)}}else{this.modified.splice(this.modified.indexOf(a),1)}},reMap:function(d){if(Ext.isArray(d)){for(var b=0,c=d.length;b<c;b++){this.reMap(d[b])}}else{delete this.data.map[d._phid];this.data.map[d.id]=d;var a=this.data.keys.indexOf(d._phid);this.data.keys.splice(a,1,d.id);delete d._phid}},onCreateRecords:function(b,c,d){if(b===true){try{this.reader.realize(c,d);this.reMap(c)}catch(a){this.handleException(a);if(Ext.isArray(c)){this.onCreateRecords(b,c,d)}}}},onUpdateRecords:function(b,c,d){if(b===true){try{this.reader.update(c,d)}catch(a){this.handleException(a);if(Ext.isArray(c)){this.onUpdateRecords(b,c,d)}}}},onDestroyRecords:function(c,e,b){e=(e instanceof Ext.data.Record)?[e]:[].concat(e);for(var a=0,d=e.length;a<d;a++){this.removed.splice(this.removed.indexOf(e[a]),1)}if(c===false){for(a=e.length-1;a>=0;a--){this.insert(e[a].lastIndex,e[a])}}},handleException:function(a){Ext.handleError(a)},reload:function(a){this.load(Ext.applyIf(a||{},this.lastOptions))},loadRecords:function(b,d,a){if(this.isDestroyed===true){return}if(!b||a===false){if(a!==false){this.fireEvent("load",this,[],d)}if(d.callback){d.callback.call(d.scope||this,[],d,false,b)}return}var h=b.records,g=b.totalRecords||h.length;if(!d||d.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var e=0,c=h.length;e<c;e++){h[e].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.clearData();this.data.addAll(h);this.totalLength=g;this.applySort();this.fireEvent("datachanged",this)}else{this.totalLength=Math.max(g,this.data.length+h.length);this.add(h)}this.fireEvent("load",this,h,d);if(d.callback){d.callback.call(d.scope||this,h,d,true)}},loadData:function(a,b){var c=this.reader.readRecords(a);this.loadRecords(c,{add:b},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 a=this.sortInfo,b=a.field;this.sortData(b,a.direction)}},sortData:function(a,b){b=b||"ASC";var c=this.fields.get(a).sortType;var d=function(j,h){var g=c(j.data[a]),e=c(h.data[a]);return g>e?1:(g<e?-1:0)};this.data.sort(b,d);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(b,d)}},setDefaultSort:function(b,a){a=a?a.toUpperCase():"ASC";this.sortInfo={field:b,direction:a};this.sortToggle[b]=a},sort:function(c,a){var b=this.fields.get(c);if(!b){return false}if(!a){if(this.sortInfo&&this.sortInfo.field==b.name){a=(this.sortToggle[b.name]||"ASC").toggle("ASC","DESC")}else{a=b.sortDir}}var e=(this.sortToggle)?this.sortToggle[b.name]:null;var d=(this.sortInfo)?this.sortInfo:null;this.sortToggle[b.name]=a;this.sortInfo={field:b.name,direction:a};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this)}else{if(!this.load(this.lastOptions)){if(e){this.sortToggle[b.name]=e}if(d){this.sortInfo=d}}}},each:function(b,a){this.data.each(b,a)},getModifiedRecords:function(){return this.modified},createFilterFn:function(a,d,b,c){if(Ext.isEmpty(d,false)){return false}d=this.data.createValueMatcher(d,b,c);return function(e){return d.test(e.data[a])}},sum:function(b,c,d){var g=this.data.items,e=0;c=c||0;d=(d||d===0)?d:g.length-1;for(var a=c;a<=d;a++){e+=(g[a].data[b]||0)}return e},filter:function(b,a,c,d){var e=this.createFilterFn(b,a,c,d);return e?this.filterBy(e):this.clearFilter()},filterBy:function(b,a){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(b,a||this);this.fireEvent("datachanged",this)},query:function(b,a,c,d){var e=this.createFilterFn(b,a,c,d);return e?this.queryBy(e):this.data.clone()},queryBy:function(c,b){var a=this.snapshot||this.data;return a.filterBy(c,b||this)},find:function(a,g,c,b,d){var e=this.createFilterFn(a,g,b,d);return e?this.data.findIndexBy(e,null,c):-1},findExact:function(c,b,a){return this.data.findIndexBy(function(d){return d.get(c)===b},this,a)},findBy:function(c,b,a){return this.data.findIndexBy(c,b,a)},collect:function(c,e,k){var b=(k===true&&this.snapshot)?this.snapshot.items:this.data.items;var g,h,j=[],m={};for(var n=0,a=b.length;n<a;n++){g=b[n].data[c];h=String(g);if((e||!Ext.isEmpty(g))&&!m[h]){m[h]=true;j[j.length]=g}}return j},clearFilter:function(a){if(this.isFiltered()){this.data=this.snapshot;delete this.snapshot;if(a!==true){this.fireEvent("datachanged",this)}}},isFiltered:function(){return this.snapshot&&this.snapshot!=this.data},afterEdit:function(a){if(this.modified.indexOf(a)==-1){this.modified.push(a)}this.fireEvent("update",this,a,Ext.data.Record.EDIT)},afterReject:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.REJECT)},afterCommit:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.COMMIT)},commitChanges:function(){var c=this.modified.slice(0);this.modified=[];for(var a=0,b=c.length;a<b;a++){c[a].commit()}},rejectChanges:function(){var c=this.modified.slice(0);this.modified=[];for(var a=0,b=c.length;a<b;a++){c[a].reject()}var c=this.removed.slice(0).reverse();this.removed=[];for(var a=0,b=c.length;a<b;a++){this.insert(c[a].lastIndex||0,c[a]);c[a].reject()}},onMetaChange:function(a){this.recordType=this.reader.recordType;this.fields=this.recordType.prototype.fields;delete this.snapshot;if(this.reader.meta.sortInfo){this.sortInfo=this.reader.meta.sortInfo}else{if(this.sortInfo&&!this.fields.get(this.sortInfo.field)){delete this.sortInfo}}if(this.writer){this.writer.meta=this.reader.meta}this.modified=[];this.fireEvent("metachange",this,this.reader.meta)},findInsertIndex:function(b){this.suspendEvents();var a=this.data.clone();this.data.add(b);this.applySort();var c=this.data.indexOf(b);this.data=a;this.resumeEvents();return c},setBaseParam:function(a,b){this.baseParams=this.baseParams||{};this.baseParams[a]=b}});Ext.reg("store",Ext.data.Store);Ext.data.Store.Error=Ext.extend(Ext.Error,{name:"Ext.data.Store"});Ext.apply(Ext.data.Store.Error.prototype,{lang:{"writer-undefined":"Attempted to execute a write-action without a DataWriter installed."}});Ext.data.Field=function(b){if(typeof b=="string"){b={name:b}}Ext.apply(this,b);if(!this.type){this.type="auto"}var a=Ext.data.SortTypes;if(typeof this.sortType=="string"){this.sortType=a[this.sortType]}if(!this.sortType){switch(this.type){case"string":this.sortType=a.asUCString;break;case"date":this.sortType=a.asDate;break;default:this.sortType=a.none}}var c=/[\$,%]/g;if(!this.convert){var e,d=this.dateFormat;switch(this.type){case"":case"auto":case undefined:e=function(g){return g};break;case"string":e=function(g){return(g===undefined||g===null)?"":String(g)};break;case"int":e=function(g){return g!==undefined&&g!==null&&g!==""?parseInt(String(g).replace(c,""),10):""};break;case"float":e=function(g){return g!==undefined&&g!==null&&g!==""?parseFloat(String(g).replace(c,""),10):""};break;case"bool":e=function(g){return g===true||g==="true"||g==1};break;case"date":e=function(h){if(!h){return""}if(Ext.isDate(h)){return h}if(d){if(d=="timestamp"){return new Date(h*1000)}if(d=="time"){return new Date(parseInt(h,10))}return Date.parseDate(h,d)}var g=Date.parse(h);return g?new Date(g):null};break;default:e=function(g){return g};break}this.convert=e}};Ext.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true};Ext.data.DataReader=function(a,b){this.meta=a;this.recordType=Ext.isArray(b)?Ext.data.Record.create(b):b;if(this.recordType){this.buildExtractors()}};Ext.data.DataReader.prototype={getTotal:Ext.emptyFn,getRoot:Ext.emptyFn,getMessage:Ext.emptyFn,getSuccess:Ext.emptyFn,getId:Ext.emptyFn,buildExtractors:Ext.emptyFn,extractData:Ext.emptyFn,extractValues:Ext.emptyFn,realize:function(b,a){if(Ext.isArray(b)){for(var c=b.length-1;c>=0;c--){if(Ext.isArray(a)){this.realize(b.splice(c,1).shift(),a.splice(c,1).shift())}else{this.realize(b.splice(c,1).shift(),a)}}}else{if(Ext.isArray(a)&&a.length==1){a=a.shift()}if(!this.isData(a)){throw new Ext.data.DataReader.Error("realize",b)}b.phantom=false;b._phid=b.id;b.id=this.getId(a);b.fields.each(function(d){if(a[d.name]!==d.defaultValue){b.data[d.name]=a[d.name]}});b.commit()}},update:function(b,a){if(Ext.isArray(b)){for(var c=b.length-1;c>=0;c--){if(Ext.isArray(a)){this.update(b.splice(c,1).shift(),a.splice(c,1).shift())}else{this.update(b.splice(c,1).shift(),a)}}}else{if(Ext.isArray(a)&&a.length==1){a=a.shift()}if(this.isData(a)){b.fields.each(function(d){if(a[d.name]!==d.defaultValue){b.data[d.name]=a[d.name]}})}b.commit()}},extractData:function(a,e){var o=(this instanceof Ext.data.JsonReader)?"json":"node";var h=[];if(this.isData(a)&&!(this instanceof Ext.data.XmlReader)){a=[a]}var m=this.recordType.prototype.fields,d=m.items,c=m.length,h=[];if(e===true){var b=this.recordType;for(var k=0;k<a.length;k++){var g=a[k];var l=new b(this.extractValues(g,d,c),this.getId(g));l[o]=g;h.push(l)}}else{for(var k=0;k<a.length;k++){var j=this.extractValues(a[k],d,c);j[this.meta.idProperty]=this.getId(a[k]);h.push(j)}}return h},isData:function(a){return(a&&Ext.isObject(a)&&!Ext.isEmpty(this.getId(a)))?true:false},onMetaChange:function(a){delete this.ef;this.meta=a;this.recordType=Ext.data.Record.create(a.fields);this.buildExtractors()}};Ext.data.DataReader.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:"Ext.data.DataReader"});Ext.apply(Ext.data.DataReader.Error.prototype,{lang:{update:"#update received invalid data from server.  Please see docs for DataReader#update and review your DataReader configuration.",realize:"#realize was called with invalid remote-data.  Please see the docs for DataReader#realize and review your DataReader configuration.","invalid-response":"#readResponse received an invalid response from the server."}});Ext.data.DataWriter=function(a){Ext.apply(this,a)};Ext.data.DataWriter.prototype={writeAllFields:false,listful:false,apply:function(b,c,a,d){var g=[],e=a+"Record";if(Ext.isArray(d)){Ext.each(d,function(h){g.push(this[e](h))},this)}else{if(d instanceof Ext.data.Record){g=this[e](d)}}this.render(b,c,g)},render:Ext.emptyFn,updateRecord:Ext.emptyFn,createRecord:Ext.emptyFn,destroyRecord:Ext.emptyFn,toHash:function(c,g){var b=c.fields.map,a={},e=(this.writeAllFields===false&&c.phantom===false)?c.getChanges():c.data,d;Ext.iterate(e,function(j,h){if((d=b[j])){a[d.mapping?d.mapping:d.name]=h}});if(c.phantom){if(c.fields.containsKey(this.meta.idProperty)&&Ext.isEmpty(c.data[this.meta.idProperty])){delete a[this.meta.idProperty]}}else{a[this.meta.idProperty]=c.id}return a},toArray:function(b){var a=[];Ext.iterate(b,function(d,c){a.push({name:d,value:c})},this);return a}};Ext.data.DataProxy=function(a){a=a||{};this.api=a.api;this.url=a.url;this.restful=a.restful;this.listeners=a.listeners;this.prettyUrls=a.prettyUrls;this.addEvents("exception","beforeload","load","loadexception","beforewrite","write");Ext.data.DataProxy.superclass.constructor.call(this);try{Ext.data.Api.prepare(this)}catch(b){if(b instanceof Ext.data.Api.Error){b.toConsole()}}Ext.data.DataProxy.relayEvents(this,["beforewrite","write","exception"])};Ext.extend(Ext.data.DataProxy,Ext.util.Observable,{restful:false,setApi:function(){if(arguments.length==1){var a=Ext.data.Api.isValid(arguments[0]);if(a===true){this.api=arguments[0]}else{throw new Ext.data.Api.Error("invalid",a)}}else{if(arguments.length==2){if(!Ext.data.Api.isAction(arguments[0])){throw new Ext.data.Api.Error("invalid",arguments[0])}this.api[arguments[0]]=arguments[1]}}Ext.data.Api.prepare(this)},isApiAction:function(a){return(this.api[a])?true:false},request:function(h,d,a,c,b,g,e){if(!this.api[h]&&!this.load){throw new Ext.data.DataProxy.Error("action-undefined",h)}a=a||{};if((h===Ext.data.Api.actions.read)?this.fireEvent("beforeload",this,a):this.fireEvent("beforewrite",this,h,d,a)!==false){this.doRequest.apply(this,arguments)}else{b.call(g||this,null,e,false)}},load:null,doRequest:function(h,d,a,c,b,g,e){this.load(a,c,b,g,e)},onRead:Ext.emptyFn,onWrite:Ext.emptyFn,buildUrl:function(b,e){e=e||null;var a=(this.conn&&this.conn.url)?this.conn.url:(this.api[b])?this.api[b].url:this.url;if(!a){throw new Ext.data.Api.Error("invalid-url",b)}var c=null;var d=a.match(/(.*)(\.json|\.xml|\.html)$/);if(d){c=d[2];a=d[1]}if((this.restful===true||this.prettyUrls===true)&&e instanceof Ext.data.Record&&!e.phantom){a+="/"+e.id}return(c===null)?a:a+c},destroy:function(){this.purgeListeners()}});Ext.apply(Ext.data.DataProxy,Ext.util.Observable.prototype);Ext.util.Observable.call(Ext.data.DataProxy);Ext.data.DataProxy.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:"Ext.data.DataProxy"});Ext.apply(Ext.data.DataProxy.Error.prototype,{lang:{"action-undefined":"DataProxy attempted to execute an API-action but found an undefined url / function.  Please review your Proxy url/api-configuration.","api-invalid":"Recieved an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions from Ext.data.Api.actions."}});Ext.data.Request=function(a){Ext.apply(this,a)};Ext.data.Request.prototype={action:undefined,rs:undefined,params:undefined,callback:Ext.emptyFn,scope:undefined,reader:undefined};Ext.data.Response=function(a){Ext.apply(this,a)};Ext.data.Response.prototype={action:undefined,success:undefined,message:undefined,data:undefined,raw:undefined,records:undefined};Ext.data.ScriptTagProxy=function(a){Ext.apply(this,a);Ext.data.ScriptTagProxy.superclass.constructor.call(this,a);this.head=document.getElementsByTagName("head")[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,doRequest:function(k,l,j,m,a,b,c){var h=Ext.urlEncode(Ext.apply(j,this.extraParams));var g=this.buildUrl(k,l);if(!g){throw new Ext.data.Api.Error("invalid-url",g)}g=Ext.urlAppend(g,h);if(this.nocache){g=Ext.urlAppend(g,"_dc="+(new Date().getTime()))}var e=++Ext.data.ScriptTagProxy.TRANS_ID;var d={id:e,action:k,cb:"stcCallback"+e,scriptId:"stcScript"+e,params:j,arg:c,url:g,callback:a,scope:b,reader:m};window[d.cb]=this.createCallback(k,l,d);g+=String.format("&{0}={1}",this.callbackParam,d.cb);if(this.autoAbort!==false){this.abort()}d.timeoutId=this.handleFailure.defer(this.timeout,this,[d]);var n=document.createElement("script");n.setAttribute("src",g);n.setAttribute("type","text/javascript");n.setAttribute("id",d.scriptId);this.head.appendChild(n);this.trans=d},createCallback:function(b,d,a){var c=this;return function(e){c.trans=false;c.destroyTrans(a,true);if(b===Ext.data.Api.actions.read){c.onRead.call(c,b,a,e)}else{c.onWrite.call(c,b,a,e,d)}}},onRead:function(b,a,g){var d;try{d=a.reader.readRecords(g)}catch(c){this.fireEvent("loadexception",this,a,g,c);this.fireEvent("exception",this,"response",b,a,g,c);a.callback.call(a.scope||window,null,a.arg,false);return}if(d.success===false){this.fireEvent("loadexception",this,a,g);this.fireEvent("exception",this,"remote",b,a,g,null)}else{this.fireEvent("load",this,g,a.arg)}a.callback.call(a.scope||window,d,a.arg,d.success)},onWrite:function(a,j,g,d){var c=j.reader;try{var h=c.readResponse(a,g)}catch(b){this.fireEvent("exception",this,"response",a,j,h,b);j.callback.call(j.scope||window,null,h,false);return}if(!h.success===true){this.fireEvent("exception",this,"remote",a,j,h,d);j.callback.call(j.scope||window,null,h,false);return}this.fireEvent("write",this,a,h.data,h,d,j.arg);j.callback.call(j.scope||window,h.data,h,true)},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(c,b){this.head.removeChild(document.getElementById(c.scriptId));clearTimeout(c.timeoutId);if(b){window[c.cb]=undefined;try{delete window[c.cb]}catch(a){}}else{window[c.cb]=function(){window[c.cb]=undefined;try{delete window[c.cb]}catch(d){}}}},handleFailure:function(a){this.trans=false;this.destroyTrans(a,false);if(a.action===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,null,a.arg)}this.fireEvent("exception",this,"response",a.action,{response:null,options:a.arg});a.callback.call(a.scope||window,null,a.arg,false)},destroy:function(){this.abort();Ext.data.ScriptTagProxy.superclass.destroy.call(this)}});Ext.data.HttpProxy=function(b){Ext.data.HttpProxy.superclass.constructor.call(this,b);this.conn=b;this.conn.url=null;this.useAjax=!b||!b.events;var a=Ext.data.Api.actions;this.activeRequest={};for(var c in a){this.activeRequest[a[c]]=undefined}};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},setUrl:function(a,b){this.conn.url=a;if(b===true){this.url=a;this.api=null;Ext.data.Api.prepare(this)}},doRequest:function(h,e,a,d,c,g,b){var j={method:(this.api[h])?this.api[h]["method"]:undefined,request:{callback:c,scope:g,arg:b},reader:d,callback:this.createCallback(h,e),scope:this};if(a.jsonData){j.jsonData=a.jsonData}else{if(a.xmlData){j.xmlData=a.xmlData}else{j.params=a||{}}}this.conn.url=this.buildUrl(h,e);if(this.useAjax){Ext.applyIf(j,this.conn);if(this.activeRequest[h]){}this.activeRequest[h]=Ext.Ajax.request(j)}else{this.conn.request(j)}this.conn.url=null},createCallback:function(b,a){return function(d,c,e){this.activeRequest[b]=undefined;if(!c){if(b===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,d,e)}this.fireEvent("exception",this,"response",b,d,e);d.request.callback.call(d.request.scope,null,d.request.arg,false);return}if(b===Ext.data.Api.actions.read){this.onRead(b,d,e)}else{this.onWrite(b,d,e,a)}}},onRead:function(a,c,g){var d;try{d=c.reader.read(g)}catch(b){this.fireEvent("loadexception",this,c,g,b);this.fireEvent("exception",this,"response",a,c,g,b);c.request.callback.call(c.request.scope,null,c.request.arg,false);return}if(d.success===false){this.fireEvent("loadexception",this,c,g);var h=c.reader.readResponse(a,g);this.fireEvent("exception",this,"remote",a,c,h,null)}else{this.fireEvent("load",this,c,c.request.arg)}c.request.callback.call(c.request.scope,d,c.request.arg,d.success)},onWrite:function(j,b,g,d){var c=b.reader;var h;try{h=c.readResponse(j,g)}catch(a){this.fireEvent("exception",this,"response",j,b,g,a);b.request.callback.call(b.request.scope,null,b.request.arg,false);return}if(h.success===false){this.fireEvent("exception",this,"remote",j,b,h,d)}else{this.fireEvent("write",this,j,h.data,h,d,b.request.arg)}b.request.callback.call(b.request.scope,h.data,h,h.success)},destroy:function(){if(!this.useAjax){this.conn.abort()}else{if(this.activeRequest){var b=Ext.data.Api.actions;for(var a in b){if(this.activeRequest[b[a]]){Ext.Ajax.abort(this.activeRequest[b[a]])}}}}Ext.data.HttpProxy.superclass.destroy.call(this)}});Ext.data.MemoryProxy=function(b){var a={};a[Ext.data.Api.actions.read]=true;Ext.data.MemoryProxy.superclass.constructor.call(this,{api:a});this.data=b};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{doRequest:function(l,a,k,b,d,g,h){k=k||{};var j;try{j=b.readRecords(this.data)}catch(c){this.fireEvent("loadexception",this,null,h,c);this.fireEvent("exception",this,"response",l,h,null,c);d.call(g,null,h,false);return}d.call(g,j,h,true)}});Ext.data.JsonWriter=function(a){Ext.data.JsonWriter.superclass.constructor.call(this,a);if(this.returnJson!=undefined){this.encode=this.returnJson}};Ext.extend(Ext.data.JsonWriter,Ext.data.DataWriter,{returnJson:undefined,encode:true,render:function(a,b,d){if(this.encode===true){Ext.apply(a,b);a[this.meta.root]=Ext.encode(d)}else{var c=Ext.apply({},b);c[this.meta.root]=d;a.jsonData=c}},createRecord:function(a){return this.toHash(a)},updateRecord:function(a){return this.toHash(a)},destroyRecord:function(a){return a.id}});Ext.data.JsonReader=function(a,b){a=a||{};Ext.applyIf(a,{idProperty:"id",successProperty:"success",totalProperty:"total"});Ext.data.JsonReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(b){var c=b.responseText;var a=Ext.decode(c);if(!a){throw {message:"JsonReader.read: Json object not found"}}return this.readRecords(a)},readResponse:function(b,e){var c=(e.responseText!==undefined)?Ext.decode(e.responseText):e;if(!c){throw new Ext.data.JsonReader.Error("response")}var d=this.getRoot(c);if(b===Ext.data.Api.actions.create){var a=Ext.isDefined(d);if(a&&Ext.isEmpty(d)){throw new Ext.data.JsonReader.Error("root-empty",this.meta.root)}else{if(!a){throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}}}var g=new Ext.data.Response({action:b,success:this.getSuccess(c),data:(d)?this.extractData(d,false):[],message:this.getMessage(c),raw:c});if(Ext.isEmpty(g.success)){throw new Ext.data.JsonReader.Error("successProperty-response",this.meta.successProperty)}return g},readRecords:function(h){this.jsonData=h;if(h.metaData){this.onMetaChange(h.metaData)}var g=this.meta,n=this.recordType,j=n.prototype.fields,e=j.items,a=j.length,b;var m=this.getRoot(h),l=m.length,k=l,d=true;if(g.totalProperty){b=parseInt(this.getTotal(h),10);if(!isNaN(b)){k=b}}if(g.successProperty){b=this.getSuccess(h);if(b===false||b==="false"){d=false}}return{success:d,records:this.extractData(m,true),totalRecords:k}},buildExtractors:function(){if(this.ef){return}var j=this.meta,d=this.recordType,c=d.prototype.fields,h=c.items,e=c.length;if(j.totalProperty){this.getTotal=this.createAccessor(j.totalProperty)}if(j.successProperty){this.getSuccess=this.createAccessor(j.successProperty)}if(j.messageProperty){this.getMessage=this.createAccessor(j.messageProperty)}this.getRoot=j.root?this.createAccessor(j.root):function(g){return g};if(j.id||j.idProperty){var b=this.createAccessor(j.id||j.idProperty);this.getId=function(m){var g=b(m);return(g===undefined||g==="")?null:g}}else{this.getId=function(){return null}}var a=[];for(var l=0;l<e;l++){c=h[l];var k=(c.mapping!==undefined&&c.mapping!==null)?c.mapping:c.name;a.push(this.createAccessor(k))}this.ef=a},simpleAccess:function(b,a){return b[a]},createAccessor:function(){var a=/[\[\.]/;return function(c){try{return(a.test(c))?new Function("obj","return obj."+c):function(d){return d[c]}}catch(b){}return Ext.emptyFn}}(),extractValues:function(b,g,c){var a,e={};for(var h=0;h<c;h++){a=g[h];var d=this.ef[h](b);e[a.name]=a.convert((d!==undefined)?d:a.defaultValue,b)}return e}});Ext.data.JsonReader.Error=Ext.extend(Ext.Error,{constructor:function(b,a){this.arg=a;Ext.Error.call(this,b)},name:"Ext.data.JsonReader"});Ext.apply(Ext.data.JsonReader.Error.prototype,{lang:{response:"An error occurred while json-decoding your server response","successProperty-response":'Could not locate your "successProperty" in your server response.  Please review your JsonReader config to ensure the config-property "successProperty" matches the property in your server-response.  See the JsonReader docs.',"root-undefined-config":'Your JsonReader was configured without a "root" property.  Please review your JsonReader config and make sure to define the root property.  See the JsonReader docs.',"idProperty-undefined":'Your JsonReader was configured without an "idProperty"  Please review your JsonReader configuration and ensure the "idProperty" is set (e.g.: "id").  See the JsonReader docs.',"root-empty":'Data was expected to be returned by the server in the "root" property of the response.  Please review your JsonReader configuration to ensure the "root" property matches that returned in the server-response.  See JsonReader docs.'}});Ext.data.ArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(u){this.arrayData=u;var h=this.meta,d=h?Ext.num(h.idIndex,h.id):null,b=this.recordType,q=b.prototype.fields,z=[],e;var m=this.getRoot(u);for(var y=0,A=m.length;y<A;y++){var w=m[y],a={},p=((d||d===0)&&w[d]!==undefined&&w[d]!==""?w[d]:null);for(var x=0,l=q.length;x<l;x++){var t=q.items[x],r=t.mapping!==undefined&&t.mapping!==null?t.mapping:x;e=w[r]!==undefined?w[r]:t.defaultValue;e=t.convert(e,w);a[t.name]=e}var c=new b(a,p);c.json=w;z[z.length]=c}var g=z.length;if(h.totalProperty){e=parseInt(this.getTotal(u),10);if(!isNaN(e)){g=e}}return{records:z,totalRecords:g}}});Ext.data.ArrayStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.ArrayStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.ArrayReader(a)}))},loadData:function(c,e){if(this.expandData===true){var b=[];for(var a=0,d=c.length;a<d;a++){b[b.length]=[c[a]]}c=b}Ext.data.ArrayStore.superclass.loadData.call(this,c,e)}});Ext.reg("arraystore",Ext.data.ArrayStore);Ext.data.SimpleStore=Ext.data.ArrayStore;Ext.reg("simplestore",Ext.data.SimpleStore);Ext.data.JsonStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.JsonReader(a)}))}});Ext.reg("jsonstore",Ext.data.JsonStore);Ext.data.XmlWriter=function(a){Ext.data.XmlWriter.superclass.constructor.apply(this,arguments);this.tpl=(typeof(this.tpl)==="string")?new Ext.XTemplate(this.tpl).compile():this.tpl.compile()};Ext.extend(Ext.data.XmlWriter,Ext.data.DataWriter,{documentRoot:"xrequest",forceDocumentRoot:false,root:"records",xmlVersion:"1.0",xmlEncoding:"ISO-8859-15",tpl:'<tpl for="."><?xml version="{version}" encoding="{encoding}"?><tpl if="documentRoot"><{documentRoot}><tpl for="baseParams"><tpl for="."><{name}>{value}</{name}</tpl></tpl></tpl><tpl if="records.length&gt;1"><{root}></tpl><tpl for="records"><{parent.record}><tpl for="."><{name}>{value}</{name}></tpl></{parent.record}></tpl><tpl if="records.length&gt;1"></{root}></tpl><tpl if="documentRoot"></{documentRoot}></tpl></tpl>',render:function(c,a,b){a=this.toArray(a);c.xmlData=this.tpl.applyTemplate({version:this.xmlVersion,encoding:this.xmlEncoding,documentRoot:(a.length>0||this.forceDocumentRoot===true)?this.documentRoot:false,record:this.meta.record,root:this.root,baseParams:a,records:(Ext.isArray(b[0]))?b:[b]})},createRecord:function(a){return this.toArray(this.toHash(a))},updateRecord:function(a){return this.toArray(this.toHash(a))},destroyRecord:function(b){var a={};a[this.meta.idProperty]=b.id;return this.toArray(a)}});Ext.data.XmlReader=function(a,b){a=a||{};Ext.applyIf(a,{idProperty:a.idProperty||a.idPath||a.id,successProperty:a.successProperty||a.success});Ext.data.XmlReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(a){var b=a.responseXML;if(!b){throw {message:"XmlReader.read: XML Document not available"}}return this.readRecords(b)},readRecords:function(a){this.xmlData=a;var d=a.documentElement||a,g=Ext.DomQuery,c=0,b=true;if(this.meta.totalProperty){c=this.getTotal(d,0)}if(this.meta.successProperty){b=this.getSuccess(d)}var e=this.extractData(g.select(this.meta.record,d),true);return{success:b,records:e,totalRecords:c||e.length}},readResponse:function(b,d){var a=Ext.DomQuery,c=d.responseXML;var e=new Ext.data.Response({action:b,success:this.getSuccess(c),message:this.getMessage(c),data:this.extractData(a.select(this.meta.record,c)||a.select(this.meta.root,c),false),raw:c});if(Ext.isEmpty(e.success)){throw new Ext.data.DataReader.Error("successProperty-response",this.meta.successProperty)}if(b===Ext.data.Api.actions.create){var g=Ext.isDefined(e.data);if(g&&Ext.isEmpty(e.data)){throw new Ext.data.JsonReader.Error("root-empty",this.meta.root)}else{if(!g){throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}}}return e},getSuccess:function(){return true},buildExtractors:function(){if(this.ef){return}var j=this.meta,d=this.recordType,c=d.prototype.fields,h=c.items,e=c.length;if(j.totalProperty){this.getTotal=this.createAccessor(j.totalProperty)}if(j.successProperty){this.getSuccess=this.createAccessor(j.successProperty)}if(j.messageProperty){this.getMessage=this.createAccessor(j.messageProperty)}this.getRoot=function(g){return(!Ext.isEmpty(g[this.meta.record]))?g[this.meta.record]:g[this.meta.root]};if(j.idPath||j.idProperty){var b=this.createAccessor(j.idPath||j.idProperty);this.getId=function(g){var m=b(g)||g.id;return(m===undefined||m==="")?null:m}}else{this.getId=function(){return null}}var a=[];for(var l=0;l<e;l++){c=h[l];var k=(c.mapping!==undefined&&c.mapping!==null)?c.mapping:c.name;a.push(this.createAccessor(k))}this.ef=a},createAccessor:function(){var a=Ext.DomQuery;return function(b){switch(b){case this.meta.totalProperty:return function(c,d){return a.selectNumber(b,c,d)};break;case this.meta.successProperty:return function(d,e){var c=a.selectValue(b,d,true);var g=c!==false&&c!=="false";return g};break;default:return function(c,d){return a.selectValue(b,c,d)};break}}}(),extractValues:function(b,g,c){var a,e={};for(var h=0;h<c;h++){a=g[h];var d=this.ef[h](b);e[a.name]=a.convert((d!==undefined)?d:a.defaultValue,b)}return e}});Ext.data.XmlStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.XmlStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.XmlReader(a)}))}});Ext.reg("xmlstore",Ext.data.XmlStore);Ext.data.GroupingStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.GroupingStore.superclass.constructor.call(this,a);this.applyGroupField()},remoteGroup:false,groupOnSort:false,groupDir:"ASC",clearGrouping:function(){this.groupField=false;if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy}var a=this.lastOptions;if(a&&a.params){delete a.params.groupBy}this.reload()}else{this.applySort();this.fireEvent("datachanged",this)}},groupBy:function(b,d,a){a=a?(String(a).toUpperCase()=="DESC"?"DESC":"ASC"):this.groupDir;if(this.groupField==b&&this.groupDir==a&&!d){return}this.groupField=b;this.groupDir=a;this.applyGroupField();if(this.groupOnSort){this.sort(b,a);return}if(this.remoteGroup){this.reload()}else{var c=this.sortInfo||{};if(c.field!=b||c.direction!=a){this.applySort()}else{this.sortData(b,a)}this.fireEvent("datachanged",this)}},applyGroupField:function(){if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}this.baseParams.groupBy=this.groupField;this.baseParams.groupDir=this.groupDir}},applySort:function(){Ext.data.GroupingStore.superclass.applySort.call(this);if(!this.groupOnSort&&!this.remoteGroup){var a=this.getGroupState();if(a&&(a!=this.sortInfo.field||this.groupDir!=this.sortInfo.direction)){this.sortData(this.groupField,this.groupDir)}}},applyGrouping:function(a){if(this.groupField!==false){this.groupBy(this.groupField,true,this.groupDir);return true}else{if(a===true){this.fireEvent("datachanged",this)}return false}},getGroupState:function(){return this.groupOnSort&&this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField}});Ext.reg("groupingstore",Ext.data.GroupingStore);Ext.data.DirectProxy=function(a){Ext.apply(this,a);if(typeof this.paramOrder=="string"){this.paramOrder=this.paramOrder.split(/[\s,|]/)}Ext.data.DirectProxy.superclass.constructor.call(this,a)};Ext.extend(Ext.data.DirectProxy,Ext.data.DataProxy,{paramOrder:undefined,paramsAsHash:true,directFn:undefined,doRequest:function(g,h,e,k,a,b,d){var n=[],m=this.api[g]||this.directFn;switch(g){case Ext.data.Api.actions.create:n.push(e.jsonData);break;case Ext.data.Api.actions.read:if(m.directCfg.method.len>0){if(this.paramOrder){for(var j=0,l=this.paramOrder.length;j<l;j++){n.push(e[this.paramOrder[j]])}}else{if(this.paramsAsHash){n.push(e)}}}break;case Ext.data.Api.actions.update:n.push(e.jsonData);break;case Ext.data.Api.actions.destroy:n.push(e.jsonData);break}var c={params:e||{},request:{callback:a,scope:b,arg:d},reader:k};n.push(this.createCallback(g,h,c),this);m.apply(window,n)},createCallback:function(a,b,c){return function(d,e){if(!e.status){if(a===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,c,e,null)}this.fireEvent("exception",this,"remote",a,c,e,null);c.request.callback.call(c.request.scope,null,c.request.arg,false);return}if(a===Ext.data.Api.actions.read){this.onRead(a,c,d,e)}else{this.onWrite(a,c,d,e,b)}}},onRead:function(c,b,d,a){var e;try{e=b.reader.readRecords(d)}catch(g){this.fireEvent("loadexception",this,b,a,g);this.fireEvent("exception",this,"response",c,b,a,g);b.request.callback.call(b.request.scope,null,b.request.arg,false);return}this.fireEvent("load",this,a,b.request.arg);b.request.callback.call(b.request.scope,e,b.request.arg,true)},onWrite:function(c,a,d,g,e){var b=a.reader.extractData(d,false);this.fireEvent("write",this,c,b,g,e,a.request.arg);a.request.callback.call(a.request.scope,b,g,true)}});Ext.data.DirectStore=function(a){a.batchTransactions=false;Ext.data.DirectStore.superclass.constructor.call(this,Ext.apply(a,{proxy:(typeof(a.proxy)=="undefined")?new Ext.data.DirectProxy(Ext.copyTo({},a,"paramOrder,paramsAsHash,directFn,api")):a.proxy,reader:(typeof(a.reader)=="undefined"&&typeof(a.fields)=="object")?new Ext.data.JsonReader(Ext.copyTo({},a,"totalProperty,root,idProperty"),a.fields):a.reader}))};Ext.extend(Ext.data.DirectStore,Ext.data.Store,{});Ext.reg("directstore",Ext.data.DirectStore);Ext.Direct=Ext.extend(Ext.util.Observable,{exceptions:{TRANSPORT:"xhr",PARSE:"parse",LOGIN:"login",SERVER:"exception"},constructor:function(){this.addEvents("event","exception");this.transactions={};this.providers={}},addProvider:function(e){var c=arguments;if(c.length>1){for(var d=0,b=c.length;d<b;d++){this.addProvider(c[d])}return}if(!e.events){e=new Ext.Direct.PROVIDERS[e.type](e)}e.id=e.id||Ext.id();this.providers[e.id]=e;e.on("data",this.onProviderData,this);e.on("exception",this.onProviderException,this);if(!e.isConnected()){e.connect()}return e},getProvider:function(a){return this.providers[a]},removeProvider:function(b){var a=b.id?b:this.providers[b.id];a.un("data",this.onProviderData,this);a.un("exception",this.onProviderException,this);delete this.providers[a.id];return a},addTransaction:function(a){this.transactions[a.tid]=a;return a},removeTransaction:function(a){delete this.transactions[a.tid||a];return a},getTransaction:function(a){return this.transactions[a.tid||a]},onProviderData:function(b,a){if(Ext.isArray(a)){for(var d=0,c=a.length;d<c;d++){this.onProviderData(b,a[d])}return}if(a.name&&a.name!="event"&&a.name!="exception"){this.fireEvent(a.name,a)}else{if(a.type=="exception"){this.fireEvent("exception",a)}}this.fireEvent("event",a,b)},createEvent:function(a,b){return new Ext.Direct.eventTypes[a.type](Ext.apply(a,b))}});Ext.Direct=new Ext.Direct();Ext.Direct.TID=1;Ext.Direct.PROVIDERS={};Ext.Direct.Transaction=function(a){Ext.apply(this,a);this.tid=++Ext.Direct.TID;this.retryCount=0};Ext.Direct.Transaction.prototype={send:function(){this.provider.queueTransaction(this)},retry:function(){this.retryCount++;this.send()},getProvider:function(){return this.provider}};Ext.Direct.Event=function(a){Ext.apply(this,a)};Ext.Direct.Event.prototype={status:true,getData:function(){return this.data}};Ext.Direct.RemotingEvent=Ext.extend(Ext.Direct.Event,{type:"rpc",getTransaction:function(){return this.transaction||Ext.Direct.getTransaction(this.tid)}});Ext.Direct.ExceptionEvent=Ext.extend(Ext.Direct.RemotingEvent,{status:false,type:"exception"});Ext.Direct.eventTypes={rpc:Ext.Direct.RemotingEvent,event:Ext.Direct.Event,exception:Ext.Direct.ExceptionEvent};Ext.direct.Provider=Ext.extend(Ext.util.Observable,{priority:1,constructor:function(a){Ext.apply(this,a);this.addEvents("connect","disconnect","data","exception");Ext.direct.Provider.superclass.constructor.call(this,a)},isConnected:function(){return false},connect:Ext.emptyFn,disconnect:Ext.emptyFn});Ext.direct.JsonProvider=Ext.extend(Ext.direct.Provider,{parseResponse:function(a){if(!Ext.isEmpty(a.responseText)){if(typeof a.responseText=="object"){return a.responseText}return Ext.decode(a.responseText)}return null},getEvents:function(b){var j=null;try{j=this.parseResponse(b)}catch(a){var h=new Ext.Direct.ExceptionEvent({data:a,xhr:b,code:Ext.Direct.exceptions.PARSE,message:"Error parsing json response: \n\n "+j});return[h]}var g=[];if(Ext.isArray(j)){for(var d=0,c=j.length;d<c;d++){g.push(Ext.Direct.createEvent(j[d]))}}else{g.push(Ext.Direct.createEvent(j))}return g}});Ext.direct.PollingProvider=Ext.extend(Ext.direct.JsonProvider,{priority:3,interval:3000,constructor:function(a){Ext.direct.PollingProvider.superclass.constructor.call(this,a);this.addEvents("beforepoll","poll")},isConnected:function(){return !!this.pollTask},connect:function(){if(this.url&&!this.pollTask){this.pollTask=Ext.TaskMgr.start({run:function(){if(this.fireEvent("beforepoll",this)!==false){if(typeof this.url=="function"){this.url(this.baseParams)}else{Ext.Ajax.request({url:this.url,callback:this.onData,scope:this,params:this.baseParams})}}},interval:this.interval,scope:this});this.fireEvent("connect",this)}else{if(!this.url){throw"Error initializing PollingProvider, no url configured."}}},disconnect:function(){if(this.pollTask){Ext.TaskMgr.stop(this.pollTask);delete this.pollTask;this.fireEvent("disconnect",this)}},onData:function(h,b,a){if(b){var g=this.getEvents(a);for(var d=0,c=g.length;d<c;d++){var j=g[d];this.fireEvent("data",this,j)}}else{var j=new Ext.Direct.ExceptionEvent({data:j,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:a});this.fireEvent("data",this,j)}}});Ext.Direct.PROVIDERS.polling=Ext.direct.PollingProvider;Ext.direct.RemotingProvider=Ext.extend(Ext.direct.JsonProvider,{enableBuffer:10,maxRetries:1,timeout:undefined,constructor:function(a){Ext.direct.RemotingProvider.superclass.constructor.call(this,a);this.addEvents("beforecall","call");this.namespace=(Ext.isString(this.namespace))?Ext.ns(this.namespace):this.namespace||window;this.transactions={};this.callBuffer=[]},initAPI:function(){var a=this.actions;for(var b in a){var e=this.namespace[b]||(this.namespace[b]={}),g=a[b];for(var j=0,h=g.length;j<h;j++){var d=g[j];e[d.name]=this.createMethod(b,d)}}},isConnected:function(){return !!this.connected},connect:function(){if(this.url){this.initAPI();this.connected=true;this.fireEvent("connect",this)}else{if(!this.url){throw"Error initializing RemotingProvider, no url configured."}}},disconnect:function(){if(this.connected){this.connected=false;this.fireEvent("disconnect",this)}},onData:function(k,d,g){if(d){var h=this.getEvents(g);for(var l=0,a=h.length;l<a;l++){var b=h[l],j=this.getTransaction(b);this.fireEvent("data",this,b);if(j){this.doCallback(j,b,true);Ext.Direct.removeTransaction(j)}}}else{var c=[].concat(k.ts);for(var l=0,a=c.length;l<a;l++){var j=this.getTransaction(c[l]);if(j&&j.retryCount<this.maxRetries){j.retry()}else{var b=new Ext.Direct.ExceptionEvent({data:b,transaction:j,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:g});this.fireEvent("data",this,b);if(j){this.doCallback(j,b,false);Ext.Direct.removeTransaction(j)}}}}},getCallData:function(a){return{action:a.action,method:a.method,data:a.data,type:"rpc",tid:a.tid}},doSend:function(a){var c={url:this.url,callback:this.onData,scope:this,ts:a,timeout:this.timeout},e;if(Ext.isArray(a)){e=[];for(var g=0,d=a.length;g<d;g++){e.push(this.getCallData(a[g]))}}else{e=this.getCallData(a)}if(this.enableUrlEncode){var b={};b[Ext.isString(this.enableUrlEncode)?this.enableUrlEncode:"data"]=Ext.encode(e);c.params=b}else{c.jsonData=e}Ext.Ajax.request(c)},combineAndSend:function(){var a=this.callBuffer.length;if(a>0){this.doSend(a==1?this.callBuffer[0]:this.callBuffer);this.callBuffer=[]}},queueTransaction:function(a){if(a.form){this.processForm(a);return}this.callBuffer.push(a);if(this.enableBuffer){if(!this.callTask){this.callTask=new Ext.util.DelayedTask(this.combineAndSend,this)}this.callTask.delay(Ext.isNumber(this.enableBuffer)?this.enableBuffer:10)}else{this.combineAndSend()}},doCall:function(b,d,j){var a=null,g=j[d.len],h=j[d.len+1];if(d.len!==0){a=j.slice(0,d.len)}var e=new Ext.Direct.Transaction({provider:this,args:j,action:b,method:d.name,data:a,cb:h&&Ext.isFunction(g)?g.createDelegate(h):g});if(this.fireEvent("beforecall",this,e)!==false){Ext.Direct.addTransaction(e);this.queueTransaction(e);this.fireEvent("call",this,e)}},doForm:function(a,k,g,j,e){var d=new Ext.Direct.Transaction({provider:this,action:a,method:k.name,args:[g,j,e],cb:e&&Ext.isFunction(j)?j.createDelegate(e):j,isForm:true});if(this.fireEvent("beforecall",this,d)!==false){Ext.Direct.addTransaction(d);var b=String(g.getAttribute("enctype")).toLowerCase()=="multipart/form-data",h={extTID:d.tid,extAction:a,extMethod:k.name,extType:"rpc",extUpload:String(b)};Ext.apply(d,{form:Ext.getDom(g),isUpload:b,params:j&&Ext.isObject(j.params)?Ext.apply(h,j.params):h});this.fireEvent("call",this,d);this.processForm(d)}},processForm:function(a){Ext.Ajax.request({url:this.url,params:a.params,callback:this.onData,scope:this,form:a.form,isUpload:a.isUpload,ts:a})},createMethod:function(a,b){var d;if(!b.formHandler){d=function(){this.doCall(a,b,Array.prototype.slice.call(arguments,0))}.createDelegate(this)}else{d=function(c,e,g){this.doForm(a,b,c,e,g)}.createDelegate(this)}d.directCfg={action:a,method:b};return d},getTransaction:function(a){return a&&a.tid?Ext.Direct.getTransaction(a.tid):null},doCallback:function(a,c){var b=c.status?"success":"failure";if(a&&a.cb){var g=a.cb,d=Ext.isDefined(c.result)?c.result:c.data;if(Ext.isFunction(g)){g(d,c)}else{Ext.callback(g[b],g.scope,[d,c]);Ext.callback(g.callback,g.scope,[d,c])}}}});Ext.Direct.PROVIDERS.remoting=Ext.direct.RemotingProvider;Ext.Resizable=function(h,j){this.el=Ext.get(h);if(j&&j.wrap){j.resizeChild=this.el;this.el=this.el.wrap(typeof j.wrap=="object"?j.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=j.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(j.resizeChild.getPositioning());j.resizeChild.clearPositioning();if(!j.width||!j.height){var k=j.resizeChild.getSize();this.el.setSize(k.width,k.height)}if(j.pinned&&!j.adjustments){j.adjustments="auto"}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"},Ext.getBody());this.proxy.unselectable();this.proxy.enableDisplayMode("block");Ext.apply(this,j);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var n=this.el.getStyle("position");if(n!="absolute"&&n!="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 d=this.handles.split(/\s*?[,;]\s*?| /);var g=Ext.Resizable.positions;for(var m=0,o=d.length;m<o;m++){if(d[m]&&g[d[m]]){var b=g[d[m]];this[b]=new Ext.Resizable.Handle(this,b,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 e=this.resizeChild;var a=this.west,l=this.east,c=this.north,d=this.south;if(e&&(a||c)){e.position("relative");e.setLeft(a?a.el.getWidth():0);e.setTop(c?c.el.getHeight():0)}this.adjustments=[(l?-l.el.getWidth():0)+(a?-a.el.getWidth():0),(c?-c.el.getHeight():0)+(d?-d.el.getHeight():0)-1]}if(this.draggable){this.dd=this.dynamic?this.el.initDD(null):this.el.initDDProxy(null,{dragElId:this.proxy.id});this.dd.setHandleElId(this.resizeChild?this.resizeChild.id:this.el.id);if(this.constrainTo){this.dd.constrainTo(this.constrainTo)}}this.addEvents("beforeresize","resize");if(this.width!==null&&this.height!==null){this.resizeTo(this.width,this.height)}else{this.updateChildSize()}if(Ext.isIE){this.el.dom.style.zoom=1}Ext.Resizable.superclass.constructor.call(this)};Ext.extend(Ext.Resizable,Ext.util.Observable,{adjustments:[0,0],animate:false,disableTrackOver:false,draggable:false,duration:0.35,dynamic:false,easing:"easeOutStrong",enabled:true,handles:false,multiDirectional:false,height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:5,minWidth:5,maxHeight:10000,maxWidth:10000,minX:0,minY:0,pinned:false,preserveRatio:false,resizeChild:false,transparent:false,resizeTo:function(b,a){this.el.setSize(b,a);this.updateChildSize();this.fireEvent("resize",this,b,a,null)},startSizing:function(a,c){this.fireEvent("beforeresize",this,a);if(this.enabled){if(!this.overlay){this.overlay=this.el.createProxy({tag:"div",cls:"x-resizable-overlay",html:"&#160;"},Ext.getBody());this.overlay.unselectable();this.overlay.enableDisplayMode("block");this.overlay.on({scope:this,mousemove:this.onMouseMove,mouseup:this.onMouseUp})}this.overlay.setStyle("cursor",c.el.getStyle("cursor"));this.resizing=true;this.startBox=this.el.getBox();this.startPoint=a.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 b=Ext.get(this.constrainTo);this.resizeRegion=b.getRegion().adjust(b.getFrameWidth("t"),b.getFrameWidth("l"),-b.getFrameWidth("b"),-b.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(a,b){if(this.enabled){b.stopEvent();this.activeHandle=a;this.startSizing(b,a)}},onMouseUp:function(b){this.activeHandle=null;var a=this.resizeElement();this.resizing=false;this.handleOut();this.overlay.hide();this.proxy.hide();this.fireEvent("resize",this,a.width,a.height,b)},updateChildSize:function(){if(this.resizeChild){var d=this.el;var e=this.resizeChild;var c=this.adjustments;if(d.dom.offsetWidth){var a=d.getSize(true);e.setSize(a.width+c[0],a.height+c[1])}if(Ext.isIE){setTimeout(function(){if(d.dom.offsetWidth){var b=d.getSize(true);e.setSize(b.width+c[0],b.height+c[1])}},10)}}},snap:function(a,c,e){if(!c||!a){return a}var b=a;var d=a%c;if(d>0){if(d>(c/2)){b=a+(c-d)}else{b=a-d}}return Math.max(e,b)},resizeElement:function(){var a=this.proxy.getBox();if(this.updateBox){this.el.setBox(a,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(a.width,a.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}if(this.draggable&&this.constrainTo){this.dd.resetConstraints();this.dd.constrainTo(this.constrainTo)}return a},constrain:function(d,a,c,b){if(d-a<c){a=d-c}else{if(d-a>b){a=d-b}}return a},onMouseMove:function(q){if(this.enabled&&this.activeHandle){try{if(this.resizeRegion&&!this.resizeRegion.contains(q.getPoint())){return}var A=this.curSize||this.startBox,m=this.startBox.x,l=this.startBox.y,c=m,b=l,n=A.width,E=A.height,d=n,p=E,o=this.minWidth,r=this.minHeight,D=this.maxWidth,v=this.maxHeight,j=this.widthIncrement,a=this.heightIncrement,t=q.getXY(),z=-(this.startPoint[0]-Math.max(this.minX,t[0])),s=-(this.startPoint[1]-Math.max(this.minY,t[1])),k=this.activeHandle.position,C,g;switch(k){case"east":n+=z;n=Math.min(Math.max(o,n),D);break;case"south":E+=s;E=Math.min(Math.max(r,E),v);break;case"southeast":n+=z;E+=s;n=Math.min(Math.max(o,n),D);E=Math.min(Math.max(r,E),v);break;case"north":s=this.constrain(E,s,r,v);l+=s;E-=s;break;case"west":z=this.constrain(n,z,o,D);m+=z;n-=z;break;case"northeast":n+=z;n=Math.min(Math.max(o,n),D);s=this.constrain(E,s,r,v);l+=s;E-=s;break;case"northwest":z=this.constrain(n,z,o,D);s=this.constrain(E,s,r,v);l+=s;E-=s;m+=z;n-=z;break;case"southwest":z=this.constrain(n,z,o,D);E+=s;E=Math.min(Math.max(r,E),v);m+=z;n-=z;break}var u=this.snap(n,j,o);var B=this.snap(E,a,r);if(u!=n||B!=E){switch(k){case"northeast":l-=B-E;break;case"north":l-=B-E;break;case"southwest":m-=u-n;break;case"west":m-=u-n;break;case"northwest":m-=u-n;l-=B-E;break}n=u;E=B}if(this.preserveRatio){switch(k){case"southeast":case"east":E=p*(n/d);E=Math.min(Math.max(r,E),v);n=d*(E/p);break;case"south":n=d*(E/p);n=Math.min(Math.max(o,n),D);E=p*(n/d);break;case"northeast":n=d*(E/p);n=Math.min(Math.max(o,n),D);E=p*(n/d);break;case"north":C=n;n=d*(E/p);n=Math.min(Math.max(o,n),D);E=p*(n/d);m+=(C-n)/2;break;case"southwest":E=p*(n/d);E=Math.min(Math.max(r,E),v);C=n;n=d*(E/p);m+=C-n;break;case"west":g=E;E=p*(n/d);E=Math.min(Math.max(r,E),v);l+=(g-E)/2;C=n;n=d*(E/p);m+=C-n;break;case"northwest":C=n;g=E;E=p*(n/d);E=Math.min(Math.max(r,E),v);n=d*(E/p);l+=g-E;m+=C-n;break}}this.proxy.setBounds(m,l,n,E);if(this.dynamic){this.resizeElement()}}catch(F){}}},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(c){Ext.destroy(this.dd,this.overlay,this.proxy);this.overlay=null;this.proxy=null;var a=Ext.Resizable.positions;for(var b in a){if(typeof a[b]!="function"&&this[a[b]]){this[a[b]].destroy()}}if(c){this.el.update("");Ext.destroy(this.el);this.el=null}this.purgeListeners()},syncHandleHeight:function(){var a=this.el.getHeight(true);if(this.west){this.west.el.setHeight(a)}if(this.east){this.east.el.setHeight(a)}}});Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};Ext.Resizable.Handle=function(a,c,e,b){if(!this.tpl){var d=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});d.compile();Ext.Resizable.Handle.prototype.tpl=d}this.position=c;this.rz=a;this.el=this.tpl.append(a.el.dom,[this.position],true);this.el.unselectable();if(b){this.el.setOpacity(0)}this.el.on("mousedown",this.onMouseDown,this);if(!e){this.el.on({scope:this,mouseover:this.onMouseOver,mouseout:this.onMouseOut})}};Ext.Resizable.Handle.prototype={afterResize:function(a){},onMouseDown:function(a){this.rz.onMouseDown(this,a)},onMouseOver:function(a){this.rz.handleOver(this,a)},onMouseOut:function(a){this.rz.handleOut(this,a)},destroy:function(){Ext.destroy(this.el);this.el=null}};Ext.Window=Ext.extend(Ext.Panel,{baseCls:"x-window",resizable:true,draggable:true,closable:true,closeAction:"close",constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,collapsible:false,initHidden:undefined,hidden:true,monitorResize:true,elements:"header,body",frame:true,floating:true,initComponent:function(){this.initTools();Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore");if(Ext.isDefined(this.initHidden)){this.hidden=this.initHidden}if(this.hidden===false){this.hidden=true;this.show()}},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox(true))},onRender:function(b,a){Ext.Window.superclass.onRender.call(this,b,a);if(this.plain){this.el.addClass("x-window-plain")}this.focusEl=this.el.createChild({tag:"a",href:"#",cls:"x-dlg-focus",tabIndex:"-1",html:"&#160;"});this.focusEl.swallowEvent("click",true);this.proxy=this.el.createProxy("x-window-proxy");this.proxy.enableDisplayMode("block");if(this.modal){this.mask=this.container.createChild({cls:"ext-el-mask"},this.el.dom);this.mask.enableDisplayMode("block");this.mask.hide();this.mon(this.mask,"click",this.focus,this)}if(this.maximizable){this.mon(this.header,"dblclick",this.toggleMaximize,this)}},initEvents:function(){Ext.Window.superclass.initEvents.call(this);if(this.animateTarget){this.setAnimateTarget(this.animateTarget)}if(this.resizable){this.resizer=new Ext.Resizable(this.el,{minWidth:this.minWidth,minHeight:this.minHeight,handles:this.resizeHandles||"all",pinned:true,resizeElement:this.resizerAction});this.resizer.window=this;this.mon(this.resizer,"beforeresize",this.beforeResize,this)}if(this.draggable){this.header.addClass("x-window-draggable")}this.mon(this.el,"mousedown",this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);if(this.maximized){this.maximized=false;this.maximize()}if(this.closable){var a=this.getKeyMap();a.on(27,this.onEsc,this);a.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(){this[this.closeAction]()},beforeDestroy:function(){if(this.rendered){this.hide();if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this)}Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask)}Ext.Window.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.manager){this.manager.unregister(this)}Ext.Window.superclass.onDestroy.call(this)},initTools:function(){if(this.minimizable){this.addTool({id:"minimize",handler:this.minimize.createDelegate(this,[])})}if(this.maximizable){this.addTool({id:"maximize",handler:this.maximize.createDelegate(this,[])});this.addTool({id:"restore",handler:this.restore.createDelegate(this,[]),hidden:true})}if(this.closable){this.addTool({id:"close",handler:this[this.closeAction].createDelegate(this,[])})}},resizerAction:function(){var a=this.proxy.getBox();this.proxy.hide();this.window.handleResize(a);return a},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(b){var a=this.resizeBox;if(a.x!=b.x||a.y!=b.y){this.updateBox(b)}else{this.setSize(b)}this.focus();this.updateHandles();this.saveState()},focus:function(){var a=this.focusEl,b=this.defaultButton,c=typeof b;if(Ext.isDefined(b)){if(Ext.isNumber(b)&&this.fbar){a=this.fbar.items.get(b)}else{if(Ext.isString(b)){a=Ext.getCmp(b)}else{a=b}}}a=a||this.focusEl;a.focus.defer(10,a)},setAnimateTarget:function(a){a=Ext.get(a);this.animateTarget=a},beforeShow:function(){delete this.el.lastXY;delete this.el.lastLT;if(this.x===undefined||this.y===undefined){var a=this.el.getAlignToXY(this.container,"c-c");var b=this.el.translatePoints(a[0],a[1]);this.x=this.x===undefined?b.left:this.x;this.y=this.y===undefined?b.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(a,b,c){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return this}if(this.fireEvent("beforeshow",this)===false){return this}if(b){this.on("show",b,c,{single:true})}this.hidden=false;if(Ext.isDefined(a)){this.setAnimateTarget(a)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}return this},afterShow:function(b){this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&&Ext.isGecko2){this.cascade(this.setAutoScroll)}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.onWindowResize(this.onWindowResize,this)}this.doConstrain();this.doLayout();if(this.keyMap){this.keyMap.enable()}this.toFront();this.updateHandles();if(b&&(Ext.isIE||Ext.isWebKit)){var a=this.getSize();this.onResize(a.width,a.height)}this.onShow();this.fireEvent("show",this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var a=this.getBox();this.el.setStyle("display","none");this.proxy.shift(Ext.apply(a,{callback:this.afterShow.createDelegate(this,[true],false),scope:this,easing:"easeNone",duration:0.25,opacity:0.5}))},hide:function(a,b,c){if(this.hidden||this.fireEvent("beforehide",this)===false){return this}if(b){this.on("hide",b,c,{single:true})}this.hidden=true;if(a!==undefined){this.setAnimateTarget(a)}if(this.modal){this.mask.hide();Ext.getBody().removeClass("x-body-masked")}if(this.animateTarget){this.animHide()}else{this.el.hide();this.afterHide()}return this},afterHide:function(){this.proxy.hide();if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.removeResizeListener(this.onWindowResize,this)}if(this.keyMap){this.keyMap.disable()}this.onHide();this.fireEvent("hide",this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var a=this.getBox(false);this.proxy.setBox(a);this.el.hide();this.proxy.shift(Ext.apply(this.animateTarget.getBox(),{callback:this.afterHide,scope:this,duration:0.25,easing:"easeNone",opacity:0}))},onShow:Ext.emptyFn,onHide:Ext.emptyFn,onWindowResize:function(){if(this.maximized){this.fitContainer()}if(this.modal){this.mask.setSize("100%","100%");var a=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 c;if(this.constrain){c={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var b=this.getSize();c={right:-(b.width-100),bottom:-(b.height-25)}}var a=this.el.getConstrainToXY(this.container,true,c);if(a){this.setPosition(a[0],a[1])}}},ghost:function(b){var a=this.createGhost(b);var c=this.getBox(true);a.setLeftTop(c.x,c.y);a.setWidth(c.width);this.el.hide();this.activeGhost=a;return a},unghost:function(b,a){if(!this.activeGhost){return}if(b!==false){this.el.show();this.focus();if(Ext.isMac&&Ext.isGecko2){this.cascade(this.setAutoScroll)}}if(a!==false){this.setPosition(this.activeGhost.getLeft(true),this.activeGhost.getTop(true))}this.activeGhost.hide();this.activeGhost.remove();delete this.activeGhost},minimize:function(){this.fireEvent("minimize",this);return this},close:function(){if(this.fireEvent("beforeclose",this)!==false){if(this.hidden){this.doClose()}else{this.hide(null,this.doClose,this)}}},doClose:function(){this.fireEvent("close",this);this.destroy()},maximize:function(){if(!this.maximized){this.expand(false);this.restoreSize=this.getSize();this.restorePos=this.getPosition(true);if(this.maximizable){this.tools.maximize.hide();this.tools.restore.show()}this.maximized=true;this.el.disableShadow();if(this.dd){this.dd.lock()}if(this.collapsible){this.tools.toggle.hide()}this.el.addClass("x-window-maximized");this.container.addClass("x-window-maximized-ct");this.setPosition(0,0);this.fitContainer();this.fireEvent("maximize",this)}return this},restore:function(){if(this.maximized){var a=this.tools;this.el.removeClass("x-window-maximized");if(a.restore){a.restore.hide()}if(a.maximize){a.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&&a.toggle){a.toggle.show()}this.container.removeClass("x-window-maximized-ct");this.doConstrain();this.fireEvent("restore",this)}return this},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()},fitContainer:function(){var a=this.container.getViewSize(false);this.setSize(a.width,a.height)},setZIndex:function(a){if(this.modal){this.mask.setStyle("z-index",a)}this.el.setZIndex(++a);a+=5;if(this.resizer){this.resizer.proxy.setStyle("z-index",++a)}this.lastZIndex=a},alignTo:function(d,c,a){var b=this.el.getAlignToXY(d,c,a);this.setPagePosition(b[0],b[1]);return this},anchorTo:function(a,c,b,e){if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this)}this.doAnchor=function(){this.alignTo(a,c,b)};Ext.EventManager.onWindowResize(this.doAnchor,this);var d=typeof e;if(d!="undefined"){Ext.EventManager.on(window,"scroll",this.doAnchor,this,{buffer:d=="number"?e:50})}this.doAnchor();return this},toFront:function(a){if(this.manager.bringToFront(this)){if(!a||!a.getTarget().focus){this.focus()}}return this},setActive:function(a){if(a){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 a=this.el.getAlignToXY(this.container,"c-c");this.setPagePosition(a[0],a[1]);return this}});Ext.reg("window",Ext.Window);Ext.Window.DD=function(a){this.win=a;Ext.Window.DD.superclass.constructor.call(this,a.el.id,"WindowDD-"+a.id);this.setHandleElId(a.header.id);this.scroll=false};Ext.extend(Ext.Window.DD,Ext.dd.DD,{moveOnly:true,headerOffsets:[100,25],startDrag:function(){var b=this.win;this.proxy=b.ghost();if(b.constrain!==false){var a=b.el.shadowOffset;this.constrainTo(b.container,{right:a,left:a,bottom:a})}else{if(b.constrainHeader!==false){var c=this.proxy.getSize();this.constrainTo(b.container,{right:-(c.width-this.headerOffsets[0]),bottom:-(c.height-this.headerOffsets[1])})}}},b4Drag:Ext.emptyFn,onDrag:function(a){this.alignElWithMouse(this.proxy,a.getPageX(),a.getPageY())},endDrag:function(a){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var a={};var g=[];var h=null;var e=function(k,j){return(!k._lastAccess||k._lastAccess<j._lastAccess)?-1:1};var b=function(){var j=g,m=j.length;if(m>0){j.sort(e);var n=j[0].manager.zseed;for(var k=0;k<m;k++){var l=j[k];if(l&&!l.hidden){l.setZIndex(n+(k*10))}}}c()};var d=function(j){if(j!=h){if(h){h.setActive(false)}h=j;if(j){j.setActive(true)}}};var c=function(){for(var j=g.length-1;j>=0;--j){if(!g[j].hidden){d(g[j]);return}}d(null)};return{zseed:9000,register:function(j){if(j.manager){j.manager.unregister(j)}j.manager=this;a[j.id]=j;g.push(j);j.on("hide",c)},unregister:function(j){delete j.manager;delete a[j.id];j.un("hide",c);g.remove(j)},get:function(j){return typeof j=="object"?j:a[j]},bringToFront:function(j){j=this.get(j);if(j!=h){j._lastAccess=new Date().getTime();b();return true}return false},sendToBack:function(j){j=this.get(j);j._lastAccess=-(new Date().getTime());b();return j},hideAll:function(){for(var j in a){if(a[j]&&typeof a[j]!="function"&&a[j].isVisible()){a[j].hide()}}},getActive:function(){return h},getBy:function(j,n){var k=[];for(var m=g.length-1;m>=0;--m){var l=g[m];if(j.call(n||l,l)!==false){k.push(l)}}return k},each:function(j,l){for(var k in a){if(a[k]&&typeof a[k]!="function"){if(j.call(l||a[k],a[k])===false){return}}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.MessageBox=function(){var x,b,t,w,h,o,v,a,q,s,k,g,u,m,r,j="",d="",p=["ok","yes","no","cancel"];var c=function(y){u[y].blur();if(x.isVisible()){x.hide();n();Ext.callback(b.fn,b.scope||window,[y,m.dom.value,b],1)}};var n=function(){if(b&&b.cls){x.el.removeClass(b.cls)}q.reset()};var e=function(z,A,y){if(b&&b.closable!==false){x.hide();n()}if(y){y.stopEvent()}};var l=function(A){var z=0,y;if(!A){Ext.each(p,function(B){u[B].hide()});return z}x.footer.dom.style.display="";Ext.iterate(u,function(B,C){y=A[B];if(y){C.show();C.setText(Ext.isString(y)?y:Ext.MessageBox.buttonText[B]);z+=C.getEl().getWidth()+15}else{C.hide()}});return z};return{getDialog:function(A){if(!x){var z=[];u={};Ext.each(p,function(B){z.push(u[B]=new Ext.Button({text:this.buttonText[B],handler:c.createCallback(B),hideMode:"offsets"}))},this);x=new Ext.Window({autoCreate:true,title:A,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(b&&b.buttons&&b.buttons.no&&!b.buttons.cancel){c("no")}else{c("cancel")}},fbar:new Ext.Toolbar({items:z,enableOverflow:false})});x.render(document.body);x.getEl().addClass("x-window-dlg");t=x.mask;h=x.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>'});k=Ext.get(h.dom.firstChild);var y=h.dom.childNodes[1];o=Ext.get(y.firstChild);v=Ext.get(y.childNodes[2].firstChild);v.enableDisplayMode();v.addKeyListener([10,13],function(){if(x.isVisible()&&b&&b.buttons){if(b.buttons.ok){c("ok")}else{if(b.buttons.yes){c("yes")}}}});a=Ext.get(y.childNodes[2].childNodes[1]);a.enableDisplayMode();q=new Ext.ProgressBar({renderTo:h});h.createChild({cls:"x-clear"})}return x},updateText:function(A){if(!x.isVisible()&&!b.width){x.setSize(this.maxWidth,100)}o.update(A||"&#160;");var C=d!=""?(k.getWidth()+k.getMargins("lr")):0;var y=o.getWidth()+o.getMargins("lr");var z=x.getFrameWidth("lr");var D=x.body.getFrameWidth("lr");if(Ext.isIE&&C>0){C+=3}var B=Math.max(Math.min(b.width||C+y+z+D,this.maxWidth),Math.max(b.minWidth||this.minWidth,r||0));if(b.prompt===true){m.setWidth(B-C-z-D)}if(b.progress===true||b.wait===true){q.setSize(B-C-z-D)}if(Ext.isIE&&B==r){B+=4}x.setSize(B,"auto").center();return this},updateProgress:function(y,A,z){q.updateProgress(y,A);if(z){this.updateText(z)}return this},isVisible:function(){return x&&x.isVisible()},hide:function(){var y=x?x.activeGhost:null;if(this.isVisible()||y){x.hide();n();if(y){x.unghost(false,false)}}return this},show:function(A){if(this.isVisible()){this.hide()}b=A;var C=this.getDialog(b.title||"&#160;");C.setTitle(b.title||"&#160;");var B=(b.closable!==false&&b.progress!==true&&b.wait!==true);C.tools.close.setDisplayed(B);m=v;b.prompt=b.prompt||(b.multiline?true:false);if(b.prompt){if(b.multiline){v.hide();a.show();a.setHeight(Ext.isNumber(b.multiline)?b.multiline:this.defaultTextHeight);m=a}else{v.show();a.hide()}}else{v.hide();a.hide()}m.dom.value=b.value||"";if(b.prompt){C.focusEl=m}else{var z=b.buttons;var y=null;if(z&&z.ok){y=u.ok}else{if(z&&z.yes){y=u.yes}}if(y){C.focusEl=y}}if(b.iconCls){C.setIconClass(b.iconCls)}this.setIcon(Ext.isDefined(b.icon)?b.icon:j);r=l(b.buttons);q.setVisible(b.progress===true||b.wait===true);this.updateProgress(0,b.progressText);this.updateText(b.msg);if(b.cls){C.el.addClass(b.cls)}C.proxyDrag=b.proxyDrag===true;C.modal=b.modal!==false;C.mask=b.modal!==false?t:false;if(!C.isVisible()){document.body.appendChild(x.el.dom);C.setAnimateTarget(b.animEl);C.on("show",function(){if(B===true){C.keyMap.enable()}else{C.keyMap.disable()}},this,{single:true});C.show(b.animEl)}if(b.wait===true){q.wait(b.waitConfig)}return this},setIcon:function(y){if(!x){j=y;return}j=undefined;if(y&&y!=""){k.removeClass("x-hidden");k.replaceClass(d,y);h.addClass("x-dlg-icon");d=y}else{k.replaceClass(d,"x-hidden");h.removeClass("x-dlg-icon");d=""}return this},progress:function(z,y,A){this.show({title:z,msg:y,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:A});return this},wait:function(z,y,A){this.show({title:y,msg:z,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:A});return this},alert:function(A,z,y,B){this.show({title:A,msg:z,buttons:this.OK,fn:y,scope:B});return this},confirm:function(A,z,y,B){this.show({title:A,msg:z,buttons:this.YESNO,fn:y,scope:B,icon:this.QUESTION});return this},prompt:function(y,C,z,D,A,B){this.show({title:y,msg:C,buttons:this.OKCANCEL,fn:z,minWidth:250,scope:D,prompt:true,multiline:A,value:B});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.dd.PanelProxy=function(a,b){this.panel=a;this.id=this.panel.id+"-ddproxy";Ext.apply(this,b)};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(c,a,b){this.hide();if(typeof a=="function"){a.call(b||this)}},moveProxy:function(a,b){if(this.proxy){a.insertBefore(this.proxy.dom,b)}}};Ext.Panel.DD=function(c,b){this.panel=c;this.dragData={panel:c};this.proxy=new Ext.dd.PanelProxy(c,b);Ext.Panel.DD.superclass.constructor.call(this,c.el,b);var a=c.header;if(a){this.setHandleElId(a.id)}(a?a: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(a,b){this.proxy.show()},b4MouseDown:function(c){var b=c.getPageX();var a=c.getPageY();this.autoOffset(b,a)},onInitDrag:function(a,b){this.onStartDrag(a,b);return true},createFrame:Ext.emptyFn,getDragEl:function(a){return this.proxy.ghost.dom},endDrag:function(a){this.proxy.hide();this.panel.saveState()},autoOffset:function(a,b){a-=this.startPageX;b-=this.startPageY;this.setDelta(a,b)}});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(b,a){return typeof this.state[b]=="undefined"?a:this.state[b]},clear:function(a){delete this.state[a];this.fireEvent("statechange",this,a,null)},set:function(a,b){this.state[a]=b;this.fireEvent("statechange",this,a,b)},decodeValue:function(e){var b=/^(a|n|d|b|s|o)\:(.*)$/;var c=b.exec(unescape(e));if(!c||!c[1]){return}var a=c[1];var d=c[2];switch(a){case"n":return parseFloat(d);case"d":return new Date(Date.parse(d));case"b":return(d=="1");case"a":var g=[];if(d!=""){Ext.each(d.split("^"),function(h){g.push(this.decodeValue(h))},this)}return g;case"o":var g={};if(d!=""){Ext.each(d.split("^"),function(j){var h=j.split("=");g[h[0]]=this.decodeValue(h[1])},this)}return g;default:return d}},encodeValue:function(g){var e;if(typeof g=="number"){e="n:"+g}else{if(typeof g=="boolean"){e="b:"+(g?"1":"0")}else{if(Ext.isDate(g)){e="d:"+g.toGMTString()}else{if(Ext.isArray(g)){var c="";for(var b=0,d=g.length;b<d;b++){c+=this.encodeValue(g[b]);if(b!=d-1){c+="^"}}e="a:"+c}else{if(typeof g=="object"){var c="";for(var a in g){if(typeof g[a]!="function"&&g[a]!==undefined){c+=a+"="+this.encodeValue(g[a])+"^"}}e="o:"+c.substring(0,c.length-1)}else{e="s:"+g}}}}}return escape(e)}});Ext.state.Manager=function(){var a=new Ext.state.Provider();return{setProvider:function(b){a=b},get:function(c,b){return a.get(c,b)},set:function(b,c){a.set(b,c)},clear:function(b){a.clear(b)},getProvider:function(){return a}}}();Ext.state.CookieProvider=function(a){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,a);this.state=this.readCookies()};Ext.extend(Ext.state.CookieProvider,Ext.state.Provider,{set:function(a,b){if(typeof b=="undefined"||b===null){this.clear(a);return}this.setCookie(a,b);Ext.state.CookieProvider.superclass.set.call(this,a,b)},clear:function(a){this.clearCookie(a);Ext.state.CookieProvider.superclass.clear.call(this,a)},readCookies:function(){var h={};var d=document.cookie+";";var g=/\s?(.*?)=(.*?);/g;var b;while((b=g.exec(d))!=null){var e=b[1];var a=b[2];if(e&&e.substring(0,3)=="ys-"){h[e.substr(3)]=this.decodeValue(a)}}return h},setCookie:function(a,b){document.cookie="ys-"+a+"="+this.encodeValue(b)+((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(a){document.cookie="ys-"+a+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")}});Ext.DataView=Ext.extend(Ext.BoxComponent,{selectedClass:"x-view-selected",emptyText:"",deferEmptyText:true,trackOver:false,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(Ext.isString(this.tpl)||Ext.isArray(this.tpl)){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","containercontextmenu","selectionchange","beforeselect");this.store=Ext.StoreMgr.lookup(this.store);this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.mon(this.getTemplateTarget(),{click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass||this.trackOver){this.mon(this.getTemplateTarget(),{mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this})}if(this.store){this.bindStore(this.store,true)}},refresh:function(){this.clearSelections(false,true);var b=this.getTemplateTarget();b.update("");var a=this.store.getRange();if(a.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){b.update(this.emptyText)}this.all.clear()}else{this.tpl.overwrite(b,this.collectData(a,0));this.all.fill(Ext.query(this.itemSelector,b.dom));this.updateIndexes(0)}this.hasSkippedEmptyText=true},getTemplateTarget:function(){return this.el},prepareData:function(a){return a},collectData:function(e,c){var b=[];for(var a=0,d=e.length;a<d;a++){b[b.length]=this.prepareData(e[a].data,c+a,e[a])}return b},bufferRender:function(a){var b=document.createElement("div");this.tpl.overwrite(b,this.collectData(a));return Ext.query(this.itemSelector,b)},onUpdate:function(c,d){var e=this.store.indexOf(d);if(e>-1){var b=this.isSelected(e);var g=this.all.elements[e];var a=this.bufferRender([d],e)[0];this.all.replaceElement(e,a,true);if(b){this.selected.replaceElement(g,a);this.all.item(e).addClass(this.selectedClass)}this.updateIndexes(e,e)}},onAdd:function(e,b,d){if(this.all.getCount()===0){this.refresh();return}var h=this.bufferRender(b,d),g,c=this.all.elements;if(d<this.all.getCount()){g=this.all.item(d).insertSibling(h,"before",true);c.splice.apply(c,[d,0].concat(h))}else{g=this.all.last().insertSibling(h,"after",true);c.push.apply(c,h)}this.updateIndexes(d)},onRemove:function(a,b,c){this.deselect(c);this.all.removeElement(c,true);this.updateIndexes(c);if(this.store.getCount()===0){this.refresh()}},refreshNode:function(a){this.onUpdate(this.store,this.store.getAt(a))},updateIndexes:function(b,a){var d=this.all.elements;b=b||0;a=a||((a===0)?0:(d.length-1));for(var c=b;c<=a;c++){d[c].viewIndex=c}},getStore:function(){return this.store},bindStore:function(a,b){if(!b&&this.store){if(a!==this.store&&this.store.autoDestroy){this.store.destroy()}else{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(!a){this.store=null}}if(a){a=Ext.StoreMgr.lookup(a);a.on({scope:this,beforeload:this.onBeforeLoad,datachanged:this.refresh,add:this.onAdd,remove:this.onRemove,update:this.onUpdate,clear:this.refresh})}this.store=a;if(a){this.refresh()}},findItemFromChild:function(a){return Ext.fly(a).findParent(this.itemSelector,this.getTemplateTarget())},onClick:function(a){var c=a.getTarget(this.itemSelector,this.getTemplateTarget());if(c){var b=this.indexOf(c);if(this.onItemClick(c,b,a)!==false){this.fireEvent("click",this,b,c,a)}}else{if(this.fireEvent("containerclick",this,a)!==false){this.onContainerClick(a)}}},onContainerClick:function(a){this.clearSelections()},onContextMenu:function(b){var a=b.getTarget(this.itemSelector,this.getTemplateTarget());if(a){this.fireEvent("contextmenu",this,this.indexOf(a),a,b)}else{this.fireEvent("containercontextmenu",this,b)}},onDblClick:function(b){var a=b.getTarget(this.itemSelector,this.getTemplateTarget());if(a){this.fireEvent("dblclick",this,this.indexOf(a),a,b)}},onMouseOver:function(b){var a=b.getTarget(this.itemSelector,this.getTemplateTarget());if(a&&a!==this.lastItem){this.lastItem=a;Ext.fly(a).addClass(this.overClass);this.fireEvent("mouseenter",this,this.indexOf(a),a,b)}},onMouseOut:function(a){if(this.lastItem){if(!a.within(this.lastItem,true,true)){Ext.fly(this.lastItem).removeClass(this.overClass);this.fireEvent("mouseleave",this,this.indexOf(this.lastItem),this.lastItem,a);delete this.lastItem}}},onItemClick:function(c,b,a){if(this.fireEvent("beforeclick",this,b,c,a)===false){return false}if(this.multiSelect){this.doMultiSelection(c,b,a);a.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(c,b,a);a.preventDefault()}}return true},doSingleSelection:function(c,b,a){if(a.ctrlKey&&this.isSelected(b)){this.deselect(b)}else{this.select(b,false)}},doMultiSelection:function(a,c,b){if(b.shiftKey&&this.last!==false){var d=this.last;this.selectRange(d,c,b.ctrlKey);this.last=d}else{if((b.ctrlKey||this.simpleSelect)&&this.isSelected(c)){this.deselect(c)}else{this.select(c,b.ctrlKey||b.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var d=[],b=this.selected.elements;for(var a=0,c=b.length;a<c;a++){d.push(b[a].viewIndex)}return d},getSelectedRecords:function(){var b=[],a=this.selected.elements;for(var d=0,c=a.length;d<c;d++){b[b.length]=this.store.getAt(a[d].viewIndex)}return b},getRecords:function(e){var c=[],b=e;for(var a=0,d=b.length;a<d;a++){c[c.length]=this.store.getAt(b[a].viewIndex)}return c},getRecord:function(a){return this.store.getAt(a.viewIndex)},clearSelections:function(a,b){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!b){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!a){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(a){return this.selected.contains(this.getNode(a))},deselect:function(a){if(this.isSelected(a)){a=this.getNode(a);this.selected.removeElement(a);if(this.last==a.viewIndex){this.last=false}Ext.fly(a).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(a,c,e){if(Ext.isArray(a)){if(!c){this.clearSelections(true)}for(var g=0,d=a.length;g<d;g++){this.select(a[g],true,true)}if(!e){this.fireEvent("selectionchange",this,this.selected.elements)}}else{var b=this.getNode(a);if(!c){this.clearSelections(true)}if(b&&!this.isSelected(b)){if(this.fireEvent("beforeselect",this,b,this.selected.elements)!==false){Ext.fly(b).addClass(this.selectedClass);this.selected.add(b);this.last=b.viewIndex;if(!e){this.fireEvent("selectionchange",this,this.selected.elements)}}}}},selectRange:function(a,b,c){if(!c){this.clearSelections(true)}this.select(this.getNodes(a,b),true)},getNode:function(a){if(Ext.isString(a)){return document.getElementById(a)}else{if(Ext.isNumber(a)){return this.all.elements[a]}}return a},getNodes:function(c,d){var b=this.all.elements;c=c||0;d=!Ext.isDefined(d)?Math.max(b.length-1,0):d;var e=[],a;if(c<=d){for(a=c;a<=d&&b[a];a++){e.push(b[a])}}else{for(a=c;a>=d&&b[a];a--){e.push(b[a])}}return e},indexOf:function(a){a=this.getNode(a);if(Ext.isNumber(a.viewIndex)){return a.viewIndex}return this.all.indexOf(a)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.getTemplateTarget().update('<div class="loading-indicator">'+this.loadingText+"</div>");this.all.clear()}},onDestroy:function(){this.all.clear();this.selected.clear();Ext.DataView.superclass.onDestroy.call(this);this.bindStore(null)}});Ext.DataView.prototype.setStore=Ext.DataView.prototype.bindStore;Ext.reg("dataview",Ext.DataView);Ext.list.ListView=Ext.extend(Ext.DataView,{itemSelector:"dl",selectedClass:"x-list-selected",overClass:"x-list-over",scrollOffset:undefined,columnResize:true,columnSort:true,maxWidth:Ext.isIE?99:100,initComponent:function(){if(this.columnResize){this.colResizer=new Ext.list.ColumnResizer(this.colResizer);this.colResizer.init(this)}if(this.columnSort){this.colSorter=new Ext.list.Sorter(this.columnSort);this.colSorter.init(this)}if(!this.internalTpl){this.internalTpl=new Ext.XTemplate('<div class="x-list-header"><div class="x-list-header-inner">','<tpl for="columns">','<div style="width:{[values.width*100]}%;text-align:{align};"><em unselectable="on" id="',this.id,'-xlhd-{#}">',"{header}","</em></div>","</tpl>",'<div class="x-clear"></div>',"</div></div>",'<div class="x-list-body"><div class="x-list-body-inner">',"</div></div>")}if(!this.tpl){this.tpl=new Ext.XTemplate('<tpl for="rows">',"<dl>",'<tpl for="parent.columns">','<dt style="width:{[values.width*100]}%;text-align:{align};">','<em unselectable="on"<tpl if="cls"> class="{cls}</tpl>">',"{[values.tpl.apply(parent)]}","</em></dt>","</tpl>",'<div class="x-clear"></div>',"</dl>","</tpl>")}var e=this.columns,b=0,d=0,g=e.length,l=[];for(var a=0;a<g;a++){var h=e[a];if(!h.isColumn){h.xtype=h.xtype?(/^lv/.test(h.xtype)?h.xtype:"lv"+h.xtype):"lvcolumn";h=Ext.create(h)}if(h.width){b+=h.width*100;d++}l.push(h)}e=this.columns=l;if(d<g){var m=g-d;if(b<this.maxWidth){var k=((this.maxWidth-b)/m)/100;for(var n=0;n<g;n++){var h=e[n];if(!h.width){h.width=k}}}}Ext.list.ListView.superclass.initComponent.call(this)},onRender:function(){this.autoEl={cls:"x-list-wrap"};Ext.list.ListView.superclass.onRender.apply(this,arguments);this.internalTpl.overwrite(this.el,{columns:this.columns});this.innerBody=Ext.get(this.el.dom.childNodes[1].firstChild);this.innerHd=Ext.get(this.el.dom.firstChild.firstChild);if(this.hideHeaders){this.el.dom.firstChild.style.display="none"}},getTemplateTarget:function(){return this.innerBody},collectData:function(){var a=Ext.list.ListView.superclass.collectData.apply(this,arguments);return{columns:this.columns,rows:a}},verifyInternalSize:function(){if(this.lastSize){this.onResize(this.lastSize.width,this.lastSize.height)}},onResize:function(e,a){var b=this.innerBody.dom;var c=this.innerHd.dom;if(!b){return}var g=b.parentNode;if(Ext.isNumber(e)){var d=e-Ext.num(this.scrollOffset,Ext.getScrollBarWidth());if(this.reserveScrollOffset||((g.offsetWidth-g.clientWidth)>10)){b.style.width=d+"px";c.style.width=d+"px"}else{b.style.width=e+"px";c.style.width=e+"px";setTimeout(function(){if((g.offsetWidth-g.clientWidth)>10){b.style.width=d+"px";c.style.width=d+"px"}},10)}}if(Ext.isNumber(a)){g.style.height=(a-c.parentNode.offsetHeight)+"px"}},updateIndexes:function(){Ext.list.ListView.superclass.updateIndexes.apply(this,arguments);this.verifyInternalSize()},findHeaderIndex:function(b){b=b.dom||b;var e=b.parentNode,a=e.parentNode.childNodes;for(var g=0,d;d=a[g];g++){if(d==e){return g}}return -1},setHdWidths:function(){var a=this.innerHd.dom.getElementsByTagName("div");for(var d=0,b=this.columns,c=b.length;d<c;d++){a[d].style.width=(b[d].width*100)+"%"}}});Ext.reg("listview",Ext.list.ListView);Ext.ListView=Ext.list.ListView;Ext.list.Column=Ext.extend(Object,{isColumn:true,align:"left",header:"",width:null,cls:"",constructor:function(a){if(!a.tpl){a.tpl=new Ext.XTemplate("{"+a.dataIndex+"}")}else{if(Ext.isString(a.tpl)){a.tpl=new Ext.XTemplate(a.tpl)}}Ext.apply(this,a)}});Ext.reg("lvcolumn",Ext.list.Column);Ext.list.NumberColumn=Ext.extend(Ext.list.Column,{format:"0,000.00",constructor:function(a){a.tpl=a.tpl||new Ext.XTemplate("{"+a.dataIndex+':number("'+(a.format||this.format)+'")}');Ext.list.NumberColumn.superclass.constructor.call(this,a)}});Ext.reg("lvnumbercolumn",Ext.list.NumberColumn);Ext.list.DateColumn=Ext.extend(Ext.list.Column,{format:"m/d/Y",constructor:function(a){a.tpl=a.tpl||new Ext.XTemplate("{"+a.dataIndex+':date("'+(a.format||this.format)+'")}');Ext.list.DateColumn.superclass.constructor.call(this,a)}});Ext.reg("lvdatecolumn",Ext.list.DateColumn);Ext.list.BooleanColumn=Ext.extend(Ext.list.Column,{trueText:"true",falseText:"false",undefinedText:"&#160;",constructor:function(b){b.tpl=b.tpl||new Ext.XTemplate("{"+b.dataIndex+":this.format}");var e=this.trueText,a=this.falseText,d=this.undefinedText;b.tpl.format=function(c){if(c===undefined){return d}if(!c||c==="false"){return a}return e};Ext.list.DateColumn.superclass.constructor.call(this,b)}});Ext.reg("lvbooleancolumn",Ext.list.BooleanColumn);Ext.list.ColumnResizer=Ext.extend(Ext.util.Observable,{minPct:0.05,constructor:function(a){Ext.apply(this,a);Ext.list.ColumnResizer.superclass.constructor.call(this)},init:function(a){this.view=a;a.on("render",this.initEvents,this)},initEvents:function(a){a.mon(a.innerHd,"mousemove",this.handleHdMove,this);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeStart.createDelegate(this),onStart:this.onStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(a.innerHd);a.on("beforedestroy",this.tracker.destroy,this.tracker)},handleHdMove:function(a,h){var g=5,b=a.getPageX(),k=a.getTarget("em",3,true);if(k){var j=k.getRegion(),d=k.dom.style,c=k.dom.parentNode;if(b-j.left<=g&&c!=c.parentNode.firstChild){this.activeHd=Ext.get(c.previousSibling.firstChild);d.cursor=Ext.isWebKit?"e-resize":"col-resize"}else{if(j.right-b<=g&&c!=c.parentNode.lastChild.previousSibling){this.activeHd=k;d.cursor=Ext.isWebKit?"w-resize":"col-resize"}else{delete this.activeHd;d.cursor=""}}}},onBeforeStart:function(a){this.dragHd=this.activeHd;return !!this.dragHd},onStart:function(a){this.view.disableHeaders=true;this.proxy=this.view.el.createChild({cls:"x-list-resizer"});this.proxy.setHeight(this.view.el.getHeight());var b=this.tracker.getXY()[0],c=this.view.innerHd.getWidth();this.hdX=this.dragHd.getX();this.hdIndex=this.view.findHeaderIndex(this.dragHd);this.proxy.setX(this.hdX);this.proxy.setWidth(b-this.hdX);this.minWidth=c*this.minPct;this.maxWidth=c-(this.minWidth*(this.view.columns.length-1-this.hdIndex))},onDrag:function(b){var a=this.tracker.getXY()[0];this.proxy.setWidth((a-this.hdX).constrain(this.minWidth,this.maxWidth))},onEnd:function(k){var h=this.proxy.getWidth();this.proxy.remove();var d=this.hdIndex,n=this.view,c=n.columns,j=c.length,r=this.view.innerHd.getWidth(),b=this.minPct*100,g=Math.ceil((h*n.maxWidth)/r),p=(c[d].width*100)-g,m=Math.floor(p/(j-1-d)),l=p-(m*(j-1-d));for(var a=d+1;a<j;a++){var q=(c[a].width*100)+m,o=Math.max(b,q);if(q!=o){l+=q-o}c[a].width=o/100}c[d].width=g/100;c[d+1].width+=(l/100);delete this.dragHd;n.setHdWidths();n.refresh();setTimeout(function(){n.disableHeaders=false},100)}});Ext.ListView.ColumnResizer=Ext.list.ColumnResizer;Ext.list.Sorter=Ext.extend(Ext.util.Observable,{sortClasses:["sort-asc","sort-desc"],constructor:function(a){Ext.apply(this,a);Ext.list.Sorter.superclass.constructor.call(this)},init:function(a){this.view=a;a.on("render",this.initEvents,this)},initEvents:function(a){a.mon(a.innerHd,"click",this.onHdClick,this);a.innerHd.setStyle("cursor","pointer");a.mon(a.store,"datachanged",this.updateSortState,this);this.updateSortState.defer(10,this,[a.store])},updateSortState:function(e){var a=e.getSortState();if(!a){return}this.sortState=a;var h=this.view.columns,b=-1;for(var g=0,c=h.length;g<c;g++){if(h[g].dataIndex==a.field){b=g;break}}if(b!=-1){var d=a.direction;this.updateSortIcon(b,d)}},updateSortIcon:function(d,c){var b=this.sortClasses;var a=this.view.innerHd.select("em").removeClass(b);a.item(d).addClass(b[c=="DESC"?1:0])},onHdClick:function(a){var c=a.getTarget("em",3);if(c&&!this.view.disableHeaders){var b=this.view.findHeaderIndex(c);this.view.store.sort(this.view.columns[b].dataIndex)}}});Ext.ListView.Sorter=Ext.list.Sorter;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:undefined,tabMargin:2,plain:false,wheelIncrement:20,idDelimiter:"__",itemCls:"x-tab-item",elements:"body",headerAsText:false,frame:false,hideBorders:true,initComponent:function(){this.frame=false;Ext.TabPanel.superclass.initComponent.call(this);this.addEvents("beforetabchange","tabchange","contextmenu");this.setLayout(new Ext.layout.CardLayout(Ext.apply({layoutOnCardChange:this.layoutOnTabChange,deferredRender:this.deferredRender},this.layoutConfig)));if(this.tabPosition=="top"){this.elements+=",header";this.stripTarget="header"}else{this.elements+=",footer";this.stripTarget="footer"}if(!this.stack){this.stack=Ext.TabPanel.AccessStack()}this.initItems()},onRender:function(g,d){Ext.TabPanel.superclass.onRender.call(this,g,d);if(this.plain){var c=this.tabPosition=="top"?"header":"footer";this[c].addClass("x-tab-panel-"+c+"-plain")}var e=this[this.stripTarget];this.stripWrap=e.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});var b=(this.tabPosition=="bottom"?this.stripWrap:null);e.createChild({cls:"x-tab-strip-spacer"},b);this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:"li",cls:"x-tab-edge",cn:[{tag:"span",cls:"x-tab-strip-text",cn:"&#160;"}]});this.strip.createChild({cls:"x-clear"});this.body.addClass("x-tab-panel-body-"+this.tabPosition);if(!this.itemTpl){var a=new Ext.Template('<li class="{cls}" id="{id}"><a class="x-tab-strip-close"></a>','<a class="x-tab-right" href="#"><em class="x-tab-left">','<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',"</em></a></li>");a.disableFormats=true;a.compile();Ext.TabPanel.prototype.itemTpl=a}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}if(this.activeTab!==undefined){var a=Ext.isObject(this.activeTab)?this.activeTab:this.items.get(this.activeTab);delete this.activeTab;this.setActiveTab(a)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.mon(this.strip,{scope:this,mousedown:this.onStripMouseDown,contextmenu:this.onStripContextMenu});if(this.enableTabScroll){this.mon(this.strip,"mousewheel",this.onWheel,this)}},findTargets:function(a){var c=null;var b=a.getTarget("li",this.strip);if(b){c=this.getComponent(b.id.split(this.idDelimiter)[1]);if(c.disabled){return{close:null,item:null,el:null}}}return{close:a.getTarget(".x-tab-strip-close",this.strip),item:c,el:b}},onStripMouseDown:function(b){if(b.button!==0){return}b.preventDefault();var a=this.findTargets(b);if(a.close){if(a.item.fireEvent("beforeclose",a.item)!==false){a.item.fireEvent("close",a.item);this.remove(a.item)}return}if(a.item&&a.item!=this.activeTab){this.setActiveTab(a.item)}},onStripContextMenu:function(b){b.preventDefault();var a=this.findTargets(b);if(a.item){this.fireEvent("contextmenu",this,a.item,b)}},readTabs:function(a){if(a===true){this.items.each(function(h){this.remove(h)},this)}var g=this.el.query(this.autoTabSelector);for(var e=0,d=g.length;e<d;e++){var b=g[e],c=b.getAttribute("title");b.removeAttribute("title");this.add({title:c,contentEl:b})}},initTab:function(g,d){var h=this.strip.dom.childNodes[d],a=this.getTemplateArgs(g),e=h?this.itemTpl.insertBefore(h,a):this.itemTpl.append(this.strip,a),c="x-tab-strip-over",b=Ext.get(e);b.hover(function(){if(!g.disabled){b.addClass(c)}},function(){b.removeClass(c)});if(g.tabTip){b.child("span.x-tab-strip-text",true).qtip=g.tabTip}g.tabEl=e;b.select("a").on("click",function(j){if(!j.getPageX()){this.onStripMouseDown(j)}},this,{preventDefault:true});g.on({scope:this,disable:this.onItemDisabled,enable:this.onItemEnabled,titlechange:this.onItemTitleChanged,iconchange:this.onItemIconChanged,beforeshow:this.onBeforeShowItem})},getTemplateArgs:function(b){var a=b.closable?"x-tab-strip-closable":"";if(b.disabled){a+=" x-item-disabled"}if(b.iconCls){a+=" x-tab-with-icon"}if(b.tabCls){a+=" "+b.tabCls}return{id:this.id+this.idDelimiter+b.getItemId(),text:b.title,cls:a,iconCls:b.iconCls||""}},onAdd:function(b){Ext.TabPanel.superclass.onAdd.call(this,b);if(this.rendered){var a=this.items;this.initTab(b,a.indexOf(b));if(a.getCount()==1){this.syncSize()}this.delegateUpdates()}},onBeforeAdd:function(c){var b=c.events?(this.items.containsKey(c.getItemId())?c:null):this.items.get(c);if(b){this.setActiveTab(c);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var a=c.elements;c.elements=a?a.replace(",header",""):a;c.border=(c.border===true)},onRemove:function(a){var d=Ext.get(a.tabEl);if(d){d.select("a").removeAllListeners();Ext.destroy(d)}Ext.TabPanel.superclass.onRemove.call(this,a);this.stack.remove(a);delete a.tabEl;a.un("disable",this.onItemDisabled,this);a.un("enable",this.onItemEnabled,this);a.un("titlechange",this.onItemTitleChanged,this);a.un("iconchange",this.onItemIconChanged,this);a.un("beforeshow",this.onBeforeShowItem,this);if(a==this.activeTab){var b=this.stack.next();if(b){this.setActiveTab(b)}else{if(this.items.getCount()>0){this.setActiveTab(0)}else{this.setActiveTab(null)}}}if(!this.destroying){this.delegateUpdates()}},onBeforeShowItem:function(a){if(a!=this.activeTab){this.setActiveTab(a);return false}},onItemDisabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).addClass("x-item-disabled")}this.stack.remove(b)},onItemEnabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).removeClass("x-item-disabled")}},onItemTitleChanged:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).child("span.x-tab-strip-text",true).innerHTML=b.title}},onItemIconChanged:function(b,c,a){var d=this.getTabEl(b);if(d){d=Ext.get(d);d.child("span.x-tab-strip-text").replaceClass(a,c);d[Ext.isEmpty(c)?"removeClass":"addClass"]("x-tab-with-icon")}},getTabEl:function(a){var b=this.getComponent(a);return b?b.tabEl:null},onResize:function(){Ext.TabPanel.superclass.onResize.apply(this,arguments);this.delegateUpdates()},beginUpdate:function(){this.suspendUpdates=true},endUpdate:function(){this.suspendUpdates=false;this.delegateUpdates()},hideTabStripItem:function(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.style.display="none";this.delegateUpdates()}this.stack.remove(b)},unhideTabStripItem:function(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.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 m=this.items.length,g=this.tabPosition!="bottom"?"header":"footer",h=this[g].dom.offsetWidth,e=this[g].dom.clientWidth;if(!this.resizeTabs||m<1||!e){return}var a=Math.max(Math.min(Math.floor((e-4)/m)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=a;var c=this.strip.query("li:not([className^=x-tab-edge])");for(var k=0,n=c.length;k<n;k++){var b=c[k],d=Ext.fly(b).child(".x-tab-strip-inner",true),l=b.offsetWidth,j=d.offsetWidth;d.style.width=(a-(l-j))+"px"}},adjustBodyWidth:function(a){if(this.header){this.header.setWidth(a)}if(this.footer){this.footer.setWidth(a)}return a},setActiveTab:function(a){a=this.getComponent(a);if(this.fireEvent("beforetabchange",this,a,this.activeTab)===false){return}if(!this.rendered){this.activeTab=a;return}if(this.activeTab!=a){if(this.activeTab){var b=this.getTabEl(this.activeTab);if(b){Ext.fly(b).removeClass("x-tab-strip-active")}}if(a){var c=this.getTabEl(a);Ext.fly(c).addClass("x-tab-strip-active");this.activeTab=a;this.stack.add(a);this.layout.setActiveItem(a);if(this.scrolling){this.scrollToTab(a,this.animScroll)}}this.fireEvent("tabchange",this,a)}},getActiveTab:function(){return this.activeTab||null},getItem:function(a){return this.getComponent(a)},autoScrollTabs:function(){this.pos=this.tabPosition=="bottom"?this.footer:this.header;var j=this.items.length,e=this.pos.dom.offsetWidth,d=this.pos.dom.clientWidth,h=this.stripWrap,g=h.dom,c=g.offsetWidth,a=this.getScrollPos(),b=this.edge.getOffsetsTo(this.stripWrap)[0]+a;if(!this.enableTabScroll||j<1||c<20){return}if(b<=d){g.scrollLeft=0;h.setWidth(d);if(this.scrolling){this.scrolling=false;this.pos.removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir||Ext.isWebKit){g.style.marginLeft="";g.style.marginRight=""}}}else{if(!this.scrolling){this.pos.addClass("x-tab-scrolling");if(Ext.isAir||Ext.isWebKit){g.style.marginLeft="18px";g.style.marginRight="18px"}}d-=h.getMargins("lr");h.setWidth(d>20?d:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(a>(b-d)){g.scrollLeft=b-d}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass("x-tab-scrolling-"+this.tabPosition);var a=this.stripWrap.dom.offsetHeight;var b=this.pos.insertFirst({cls:"x-tab-scroller-left"});b.setHeight(a);b.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(b,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=b;var c=this.pos.insertFirst({cls:"x-tab-scroller-right"});c.setHeight(a);c.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(c,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=c},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(h,c){if(!h){return}var e=this.getTabEl(h),b=this.getScrollPos(),g=this.getScrollArea(),a=Ext.fly(e).getOffsetsTo(this.stripWrap)[0]+b,d=a+e.offsetWidth;if(a<b){this.scrollTo(a,c)}else{if(d>(b+g)){this.scrollTo(d-g,c)}}},scrollTo:function(b,a){this.stripWrap.scrollTo("left",b,a?this.getScrollAnim():false);if(!a){this.updateScrollButtons()}},onWheel:function(a){var b=a.getWheelDelta()*this.wheelIncrement*-1;a.stopEvent();var c=this.getScrollPos(),j=c+b,g=this.getScrollWidth()-this.getScrollArea();var h=Math.max(0,Math.min(g,j));if(h!=c){this.scrollTo(h,false)}},onScrollRight:function(){var b=this.getScrollWidth()-this.getScrollArea(),a=this.getScrollPos(),c=Math.min(b,a+this.getScrollIncrement());if(c!=a){this.scrollTo(c,this.animScroll)}},onScrollLeft:function(){var b=this.getScrollPos(),a=Math.max(0,b-this.getScrollIncrement());if(a!=b){this.scrollTo(a,this.animScroll)}},updateScrollButtons:function(){var a=this.getScrollPos();this.scrollLeft[a===0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");this.scrollRight[a>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")},beforeDestroy:function(){Ext.destroy(this.leftRepeater,this.rightRepeater);this.deleteMembers("strip","edge","scrollLeft","scrollRight","stripWrap");this.activeTab=null;Ext.TabPanel.superclass.beforeDestroy.apply(this)}});Ext.reg("tabpanel",Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var a=[];return{add:function(b){a.push(b);if(a.length>10){a.shift()}},remove:function(e){var d=[];for(var c=0,b=a.length;c<b;c++){if(a[c]!=e){d.push(a[c])}}a=d},next:function(){return a.pop()}}};Ext.Button=Ext.extend(Ext.BoxComponent,{hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",type:"button",menuClassTarget:"tr:nth(2)",clickEvent:"click",handleMouseEvents:true,tooltipType:"qtip",buttonSelector:"button:first-child",scale:"small",iconAlign:"left",arrowAlign:"right",initComponent:function(){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(Ext.isString(this.toggleGroup)){this.enableToggle=true}},getTemplateArgs:function(){return[this.type,"x-btn-"+this.scale+" x-btn-icon-"+this.scale+"-"+this.iconAlign,this.getMenuClass(),this.cls,this.id]},setButtonClass:function(){if(this.useSetClass){if(!Ext.isEmpty(this.oldCls)){this.el.removeClass([this.oldCls,"x-btn-pressed"])}this.oldCls=(this.iconCls||this.icon)?(this.text?" x-btn-text-icon":" x-btn-icon"):" x-btn-noicon";this.el.addClass([this.oldCls,this.pressed?"x-btn-pressed":null])}},getMenuClass:function(){return this.menu?(this.arrowAlign!="bottom"?"x-btn-arrow":"x-btn-arrow-bottom"):""},onRender:function(a,c){if(!this.template){if(!Ext.Button.buttonTemplate){Ext.Button.buttonTemplate=new Ext.Template('<table id="{4}" cellspacing="0" class="x-btn {3}"><tbody class="{1}">','<tr><td class="x-btn-tl"><i>&#160;</i></td><td class="x-btn-tc"></td><td class="x-btn-tr"><i>&#160;</i></td></tr>','<tr><td class="x-btn-ml"><i>&#160;</i></td><td class="x-btn-mc"><em class="{2}" unselectable="on"><button type="{0}"></button></em></td><td class="x-btn-mr"><i>&#160;</i></td></tr>','<tr><td class="x-btn-bl"><i>&#160;</i></td><td class="x-btn-bc"></td><td class="x-btn-br"><i>&#160;</i></td></tr>',"</tbody></table>");Ext.Button.buttonTemplate.compile()}this.template=Ext.Button.buttonTemplate}var d,b=this.getTemplateArgs();if(c){d=this.template.insertBefore(c,b,true)}else{d=this.template.append(a,b,true)}this.btnEl=d.child(this.buttonSelector);this.mon(this.btnEl,{scope:this,focus:this.onFocus,blur:this.onBlur});this.initButtonEl(d,this.btnEl);Ext.ButtonToggleMgr.register(this)},initButtonEl:function(c,a){this.el=c;this.setIcon(this.icon);this.setText(this.text);this.setIconClass(this.iconCls);if(Ext.isDefined(this.tabIndex)){a.dom.tabIndex=this.tabIndex}if(this.tooltip){this.setTooltip(this.tooltip,true)}if(this.handleMouseEvents){this.mon(c,{scope:this,mouseover:this.onMouseOver,mousedown:this.onMouseDown})}if(this.menu){this.mon(this.menu,{scope:this,show:this.onMenuShow,hide:this.onMenuHide})}if(this.repeat){var b=new Ext.util.ClickRepeater(c,Ext.isObject(this.repeat)?this.repeat:{});this.mon(b,"click",this.onClick,this)}this.mon(c,this.clickEvent,this.onClick,this)},afterRender:function(){Ext.Button.superclass.afterRender.call(this);this.useSetClass=true;this.setButtonClass();this.doc=Ext.getDoc();this.doAutoWidth()},setIconClass:function(a){this.iconCls=a;if(this.el){this.btnEl.dom.className="";this.btnEl.addClass(["x-btn-text",a||""]);this.setButtonClass()}return this},setTooltip:function(b,a){if(this.rendered){if(!a){this.clearTip()}if(Ext.isObject(b)){Ext.QuickTips.register(Ext.apply({target:this.btnEl.id},b));this.tooltip=b}else{this.btnEl.dom[this.tooltipType]=b}}else{this.tooltip=b}return this},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.QuickTips.unregister(this.btnEl)}},beforeDestroy:function(){if(this.rendered){this.clearTip()}if(this.menu&&this.menu.autoDestroy){Ext.destroy(this.menu)}Ext.destroy(this.repeater)},onDestroy:function(){if(this.rendered){this.doc.un("mouseover",this.monitorMouseOver,this);this.doc.un("mouseup",this.onMouseUp,this);delete this.doc;delete this.btnEl;Ext.ButtonToggleMgr.unregister(this)}},doAutoWidth:function(){if(this.el&&this.text&&this.width===undefined){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var a=this.btnEl;if(a&&a.getWidth()>20){a.clip();a.setWidth(Ext.util.TextMetrics.measure(a,this.text).width+a.getFrameWidth("lr"))}}if(this.minWidth){if(this.el.getWidth()<this.minWidth){this.el.setWidth(this.minWidth)}}}},setHandler:function(b,a){this.handler=b;this.scope=a;return this},setText:function(a){this.text=a;if(this.el){this.btnEl.update(a||"&#160;");this.setButtonClass()}this.doAutoWidth();return this},setIcon:function(a){this.icon=a;if(this.el){this.btnEl.setStyle("background-image",a?"url("+a+")":"");this.setButtonClass()}return this},getText:function(){return this.text},toggle:function(b,a){b=b===undefined?!this.pressed:!!b;if(b!=this.pressed){if(this.rendered){this.el[b?"addClass":"removeClass"]("x-btn-pressed")}this.pressed=b;if(!a){this.fireEvent("toggle",this,b);if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,b)}}}return this},focus:function(){this.btnEl.focus()},onDisable:function(){this.onDisableChange(true)},onEnable:function(){this.onDisableChange(false)},onDisableChange:function(a){if(this.el){if(!Ext.isIE6||!this.text){this.el[a?"addClass":"removeClass"](this.disabledClass)}this.el.dom.disabled=a}this.disabled=a},showMenu:function(){if(this.rendered&&this.menu){if(this.tooltip){Ext.QuickTips.getQuickTip().cancelShow(this.btnEl)}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(a){if(a){a.preventDefault()}if(a.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,a);if(this.handler){this.handler.call(this.scope||this,this,a)}}},isMenuTriggerOver:function(b,a){return this.menu&&!a},isMenuTriggerOut:function(b,a){return this.menu&&!a},onMouseOver:function(b){if(!this.disabled){var a=b.within(this.el,true);if(!a){this.el.addClass("x-btn-over");if(!this.monitoringMouseOver){this.doc.on("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=true}this.fireEvent("mouseover",this,b)}if(this.isMenuTriggerOver(b,a)){this.fireEvent("menutriggerover",this,this.menu,b)}}},monitorMouseOver:function(a){if(a.target!=this.el.dom&&!a.within(this.el)){if(this.monitoringMouseOver){this.doc.un("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=false}this.onMouseOut(a)}},onMouseOut:function(b){var a=b.within(this.el)&&b.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent("mouseout",this,b);if(this.isMenuTriggerOut(b,a)){this.fireEvent("menutriggerout",this,this.menu,b)}},focus:function(){this.btnEl.focus()},blur:function(){this.btnEl.blur()},onFocus:function(a){if(!this.disabled){this.el.addClass("x-btn-focus")}},onBlur:function(a){this.el.removeClass("x-btn-focus")},getClickEl:function(b,a){return this.el},onMouseDown:function(a){if(!this.disabled&&a.button===0){this.getClickEl(a).addClass("x-btn-click");this.doc.on("mouseup",this.onMouseUp,this)}},onMouseUp:function(a){if(a.button===0){this.getClickEl(a,true).removeClass("x-btn-click");this.doc.un("mouseup",this.onMouseUp,this)}},onMenuShow:function(a){this.menu.ownerCt=this;this.ignoreNextClick=0;this.el.addClass("x-btn-menu-active");this.fireEvent("menushow",this,this.menu)},onMenuHide:function(a){this.el.removeClass("x-btn-menu-active");this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent("menuhide",this,this.menu);delete this.menu.ownerCt},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg("button",Ext.Button);Ext.ButtonToggleMgr=function(){var a={};function b(j,e){if(e){var c=a[j.toggleGroup];for(var h=0,d=c.length;h<d;h++){if(c[h]!=j){c[h].toggle(false)}}}}return{register:function(c){if(!c.toggleGroup){return}var d=a[c.toggleGroup];if(!d){d=a[c.toggleGroup]=[]}d.push(c);c.on("toggle",b)},unregister:function(c){if(!c.toggleGroup){return}var d=a[c.toggleGroup];if(d){d.remove(c);c.un("toggle",b)}},getPressed:function(d){var c=a[d];if(c){for(var h=0,e=c.length;h<e;h++){if(c[h].pressed===true){return c[h]}}}return null}}}();Ext.SplitButton=Ext.extend(Ext.Button,{arrowSelector:"em",split:true,initComponent:function(){Ext.SplitButton.superclass.initComponent.call(this);this.addEvents("arrowclick")},onRender:function(){Ext.SplitButton.superclass.onRender.apply(this,arguments);if(this.arrowTooltip){this.el.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip}},setArrowHandler:function(b,a){this.arrowHandler=b;this.scope=a},getMenuClass:function(){return"x-btn-split"+(this.arrowAlign=="bottom"?"-bottom":"")},isClickOnArrow:function(a){if(this.arrowAlign!="bottom"){var c=this.el.child("em.x-btn-split");var b=c.getRegion().right-c.getPadding("r");return a.getPageX()>b}else{return a.getPageY()>this.btnEl.getRegion().bottom}},onClick:function(b,a){b.preventDefault();if(!this.disabled){if(this.isClickOnArrow(b)){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)}}}},isMenuTriggerOver:function(a){return this.menu&&a.target.tagName==this.arrowSelector},isMenuTriggerOut:function(b,a){return this.menu&&b.target.tagName!=this.arrowSelector}});Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(a){if(a&&this.showText===true){var b="";if(this.prependText){b+=this.prependText}b+=a.text;return b}return undefined},setActiveItem:function(a,b){if(!Ext.isObject(a)){a=this.menu.getComponent(a)}if(a){if(!this.rendered){this.text=this.getItemText(a);this.iconCls=a.iconCls}else{var c=this.getItemText(a);if(c){this.setText(c)}this.setIconClass(a.iconCls)}this.activeItem=a;if(!a.checked){a.setChecked(true,true)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!b){this.fireEvent("change",this,a)}}},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 a;Ext.each(this.items,function(c,b){Ext.apply(c,{group:c.group||this.id,itemIndex:b,checkHandler:this.checkHandler,scope:this,checked:c.checked||false});this.menu.items.push(c);if(c.checked){a=c}},this);this.setActiveItem(a,true);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this)},checkHandler:function(a,b){if(b){this.setActiveItem(a)}},toggleSelected:function(){var c=this.menu;c.render();if(!c.hasLayout){c.doLayout()}var b,d;for(var a=1;a<this.itemCount;a++){b=(this.activeItem.itemIndex+a)%this.itemCount;d=c.items.itemAt(b);if(!d.disabled){d.setChecked(true);break}}}});Ext.reg("cycle",Ext.CycleButton);Ext.layout.ToolbarLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,triggerWidth:18,lastOverflow:false,forceLayout:true,noItemsMenuText:'<div class="x-toolbar-no-items">(None)</div>',onLayout:function(l,b){if(!this.leftTr){var a=l.buttonAlign=="center"?"center":"left";b.addClass("x-toolbar-layout-ct");b.insertHtml("beforeEnd",'<table cellspacing="0" class="x-toolbar-ct"><tbody><tr><td class="x-toolbar-left" align="'+a+'"><table cellspacing="0"><tbody><tr class="x-toolbar-left-row"></tr></tbody></table></td><td class="x-toolbar-right" align="right"><table cellspacing="0" class="x-toolbar-right-ct"><tbody><tr><td><table cellspacing="0"><tbody><tr class="x-toolbar-right-row"></tr></tbody></table></td><td><table cellspacing="0"><tbody><tr class="x-toolbar-extras-row"></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table>');this.leftTr=b.child("tr.x-toolbar-left-row",true);this.rightTr=b.child("tr.x-toolbar-right-row",true);this.extrasTr=b.child("tr.x-toolbar-extras-row",true)}var d=l.buttonAlign=="right"?this.rightTr:this.leftTr,h=0,e=l.items.items;for(var k=0,m=e.length,g;k<m;k++,h++){g=e[k];if(g.isFill){d=this.rightTr;h=-1}else{if(!g.rendered){g.render(this.insertCell(g,d,h))}else{if(!g.xtbHidden&&!this.isValidParent(g,d.childNodes[h])){var j=this.insertCell(g,d,h);j.appendChild(g.getPositionEl().dom);g.container=Ext.get(j)}}}}this.cleanup(this.leftTr);this.cleanup(this.rightTr);this.cleanup(this.extrasTr);this.fitToSize(b)},cleanup:function(e){var b=e.childNodes;for(var d=b.length-1,a;d>=0&&(a=b[d]);d--){if(!a.firstChild){e.removeChild(a)}}},insertCell:function(b,d,a){var e=document.createElement("td");e.className="x-toolbar-cell";d.insertBefore(e,d.childNodes[a]||null);return e},hideItem:function(b){var a=(this.hiddens=this.hiddens||[]);a.push(b);b.xtbHidden=true;b.xtbWidth=b.getPositionEl().dom.parentNode.offsetWidth;b.hide()},unhideItem:function(a){a.show();a.xtbHidden=false;this.hiddens.remove(a);if(this.hiddens.length<1){delete this.hiddens}},getItemWidth:function(a){return a.hidden?(a.xtbWidth||0):a.getPositionEl().dom.parentNode.offsetWidth},fitToSize:function(g){if(this.container.enableOverflow===false){return}var e=g.dom.clientWidth,j=this.lastWidth||0,k=g.dom.firstChild.offsetWidth,d=e-this.triggerWidth,b=-1;this.lastWidth=e;if(k>e||(this.hiddens&&e>=j)){var l,n=this.container.items.items,m=n.length,a,h=0;for(l=0;l<m;l++){a=n[l];if(!a.isFill){h+=this.getItemWidth(a);if(h>d){if(!(a.hidden||a.xtbHidden)){this.hideItem(a)}}else{if(a.xtbHidden){this.unhideItem(a)}}}}}if(this.hiddens){this.initMore();if(!this.lastOverflow){this.container.fireEvent("overflowchange",this.container,true);this.lastOverflow=true}}else{if(this.more){this.clearMenu();this.more.destroy();delete this.more;if(this.lastOverflow){this.container.fireEvent("overflowchange",this.container,false);this.lastOverflow=false}}}},createMenuConfig:function(b,e){var d=Ext.apply({},b.initialConfig),a=b.toggleGroup;Ext.apply(d,{text:b.overflowText||b.text,iconCls:b.iconCls,icon:b.icon,itemId:b.itemId,disabled:b.disabled,handler:b.handler,scope:b.scope,menu:b.menu,hideOnClick:e});if(a||b.enableToggle){Ext.apply(d,{group:a,checked:b.pressed,listeners:{checkchange:function(g,c){b.toggle(c)}}})}delete d.ownerCt;delete d.xtype;delete d.id;return d},addComponentToMenu:function(a,b){if(b instanceof Ext.Toolbar.Separator){a.add("-")}else{if(Ext.isFunction(b.isXType)){if(b.isXType("splitbutton")){a.add(this.createMenuConfig(b,true))}else{if(b.isXType("button")){a.add(this.createMenuConfig(b,!b.menu))}else{if(b.isXType("buttongroup")){b.items.each(function(c){this.addComponentToMenu(a,c)},this)}}}}}},clearMenu:function(){var a=this.moreMenu;if(a&&a.items){a.items.each(function(b){delete b.menu})}},beforeMoreShow:function(k){var j=this.container.items.items,d=j.length,b,a,e=function(h,c){return h.isXType("buttongroup")&&!(c instanceof Ext.Toolbar.Separator)};this.clearMenu();k.removeAll();for(var g=0;g<d;g++){b=j[g];if(b.xtbHidden){if(a&&(e(b,a)||e(a,b))){k.add("-")}this.addComponentToMenu(k,b);a=b}}if(k.items.length<1){k.add(this.noItemsMenuText)}},initMore:function(){if(!this.more){this.moreMenu=new Ext.menu.Menu({listeners:{beforeshow:this.beforeMoreShow,scope:this}});this.moreMenu.ownerCt=this.container;this.more=new Ext.Button({iconCls:"x-toolbar-more-icon",cls:"x-toolbar-more",menu:this.moreMenu});var a=this.insertCell(this.more,this.extrasTr,100);this.more.render(a)}},onRemove:function(a){delete this.leftTr;delete this.rightTr;delete this.extrasTr;Ext.layout.ToolbarLayout.superclass.onRemove.call(this,a)},destroy:function(){Ext.destroy(this.more,this.moreMenu);delete this.leftTr;delete this.rightTr;delete this.extrasTr;Ext.layout.ToolbarLayout.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.toolbar=Ext.layout.ToolbarLayout;Ext.Toolbar=function(a){if(Ext.isArray(a)){a={items:a,layout:"toolbar"}}else{a=Ext.apply({layout:"toolbar"},a);if(a.buttons){a.items=a.buttons}}Ext.Toolbar.superclass.constructor.call(this,a)};(function(){var a=Ext.Toolbar;Ext.extend(a,Ext.Container,{defaultType:"button",trackMenus:true,internalDefaults:{removeMode:"container",hideParent:true},toolbarCls:"x-toolbar",initComponent:function(){a.superclass.initComponent.call(this);this.addEvents("overflowchange")},onRender:function(c,b){if(!this.el){if(!this.autoCreate){this.autoCreate={cls:this.toolbarCls+" x-small-editor"}}this.el=c.createChild(Ext.apply({id:this.id},this.autoCreate),b);Ext.Toolbar.superclass.onRender.apply(this,arguments)}},lookupComponent:function(b){if(Ext.isString(b)){if(b=="-"){b=new a.Separator()}else{if(b==" "){b=new a.Spacer()}else{if(b=="->"){b=new a.Fill()}else{b=new a.TextItem(b)}}}this.applyDefaults(b)}else{if(b.isFormField||b.render){b=this.createComponent(b)}else{if(b.tag){b=new a.Item({autoEl:b})}else{if(b.tagName){b=new a.Item({el:b})}else{if(Ext.isObject(b)){b=b.xtype?this.createComponent(b):this.constructButton(b)}}}}}return b},applyDefaults:function(d){if(!Ext.isString(d)){d=Ext.Toolbar.superclass.applyDefaults.call(this,d);var b=this.internalDefaults;if(d.events){Ext.applyIf(d.initialConfig,b);Ext.apply(d,b)}else{Ext.applyIf(d,b)}}return d},addSeparator:function(){return this.add(new a.Separator())},addSpacer:function(){return this.add(new a.Spacer())},addFill:function(){this.add(new a.Fill())},addElement:function(b){return this.addItem(new a.Item({el:b}))},addItem:function(b){return this.add.apply(this,arguments)},addButton:function(c){if(Ext.isArray(c)){var e=[];for(var d=0,b=c.length;d<b;d++){e.push(this.addButton(c[d]))}return e}return this.add(this.constructButton(c))},addText:function(b){return this.addItem(new a.TextItem(b))},addDom:function(b){return this.add(new a.Item({autoEl:b}))},addField:function(b){return this.add(b)},insertButton:function(c,g){if(Ext.isArray(g)){var e=[];for(var d=0,b=g.length;d<b;d++){e.push(this.insertButton(c+d,g[d]))}return e}return Ext.Toolbar.superclass.insert.call(this,c,g)},trackMenu:function(c,b){if(this.trackMenus&&c.menu){var d=b?"mun":"mon";this[d](c,"menutriggerover",this.onButtonTriggerOver,this);this[d](c,"menushow",this.onButtonMenuShow,this);this[d](c,"menuhide",this.onButtonMenuHide,this)}},constructButton:function(b){var c=b.events?b:this.createComponent(b,b.split?"splitbutton":this.defaultType);return c},onAdd:function(b){Ext.Toolbar.superclass.onAdd.call(this);this.trackMenu(b)},onRemove:function(b){Ext.Toolbar.superclass.onRemove.call(this);this.trackMenu(b,true)},onDisable:function(){this.items.each(function(b){if(b.disable){b.disable()}})},onEnable:function(){this.items.each(function(b){if(b.enable){b.enable()}})},onButtonTriggerOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}});Ext.reg("toolbar",Ext.Toolbar);a.Item=Ext.extend(Ext.BoxComponent,{hideParent:true,enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbitem",a.Item);a.Separator=Ext.extend(a.Item,{onRender:function(c,b){this.el=c.createChild({tag:"span",cls:"xtb-sep"},b)}});Ext.reg("tbseparator",a.Separator);a.Spacer=Ext.extend(a.Item,{onRender:function(c,b){this.el=c.createChild({tag:"div",cls:"xtb-spacer",style:this.width?"width:"+this.width+"px":""},b)}});Ext.reg("tbspacer",a.Spacer);a.Fill=Ext.extend(a.Item,{render:Ext.emptyFn,isFill:true});Ext.reg("tbfill",a.Fill);a.TextItem=Ext.extend(a.Item,{constructor:function(b){a.TextItem.superclass.constructor.call(this,Ext.isString(b)?{text:b}:b)},onRender:function(c,b){this.autoEl={cls:"xtb-text",html:this.text||""};a.TextItem.superclass.onRender.call(this,c,b)},setText:function(b){if(this.rendered){this.el.update(b)}else{this.text=b}}});Ext.reg("tbtext",a.TextItem);a.Button=Ext.extend(Ext.Button,{});a.SplitButton=Ext.extend(Ext.SplitButton,{});Ext.reg("tbbutton",a.Button);Ext.reg("tbsplit",a.SplitButton)})();Ext.ButtonGroup=Ext.extend(Ext.Panel,{baseCls:"x-btn-group",layout:"table",defaultType:"button",frame:true,internalDefaults:{removeMode:"container",hideParent:true},initComponent:function(){this.layoutConfig=this.layoutConfig||{};Ext.applyIf(this.layoutConfig,{columns:this.columns});if(!this.title){this.addClass("x-btn-group-notitle")}this.on("afterlayout",this.onAfterLayout,this);Ext.ButtonGroup.superclass.initComponent.call(this)},applyDefaults:function(b){b=Ext.ButtonGroup.superclass.applyDefaults.call(this,b);var a=this.internalDefaults;if(b.events){Ext.applyIf(b.initialConfig,a);Ext.apply(b,a)}else{Ext.applyIf(b,a)}return b},onAfterLayout:function(){var a=this.body.getFrameWidth("lr")+this.body.dom.firstChild.offsetWidth;this.body.setWidth(a);this.el.setWidth(a+this.getFrameWidth())}});Ext.reg("buttongroup",Ext.ButtonGroup);(function(){var a=Ext.Toolbar;Ext.PagingToolbar=Ext.extend(Ext.Toolbar,{pageSize:20,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",initComponent:function(){var c=[this.first=new a.Button({tooltip:this.firstText,overflowText:this.firstText,iconCls:"x-tbar-page-first",disabled:true,handler:this.moveFirst,scope:this}),this.prev=new a.Button({tooltip:this.prevText,overflowText:this.prevText,iconCls:"x-tbar-page-prev",disabled:true,handler:this.movePrevious,scope:this}),"-",this.beforePageText,this.inputItem=new Ext.form.NumberField({cls:"x-tbar-page-number",allowDecimals:false,allowNegative:false,enableKeyEvents:true,selectOnFocus:true,submitValue:false,listeners:{scope:this,keydown:this.onPagingKeyDown,blur:this.onPagingBlur}}),this.afterTextItem=new a.TextItem({text:String.format(this.afterPageText,1)}),"-",this.next=new a.Button({tooltip:this.nextText,overflowText:this.nextText,iconCls:"x-tbar-page-next",disabled:true,handler:this.moveNext,scope:this}),this.last=new a.Button({tooltip:this.lastText,overflowText:this.lastText,iconCls:"x-tbar-page-last",disabled:true,handler:this.moveLast,scope:this}),"-",this.refresh=new a.Button({tooltip:this.refreshText,overflowText:this.refreshText,iconCls:"x-tbar-loading",handler:this.doRefresh,scope:this})];var b=this.items||this.buttons||[];if(this.prependButtons){this.items=b.concat(c)}else{this.items=c.concat(b)}delete this.buttons;if(this.displayInfo){this.items.push("->");this.items.push(this.displayItem=new a.TextItem({}))}Ext.PagingToolbar.superclass.initComponent.call(this);this.addEvents("change","beforechange");this.on("afterlayout",this.onFirstLayout,this,{single:true});this.cursor=0;this.bindStore(this.store,true)},onFirstLayout:function(){if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayItem){var b=this.store.getCount();var c=b==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+b,this.store.getTotalCount());this.displayItem.setText(c)}},onLoad:function(e,j,h){if(!this.rendered){this.dsLoaded=[e,j,h];return}var k=this.getParams();this.cursor=(h.params&&h.params[k.start])?h.params[k.start]:0;var c=this.getPageData(),g=c.activePage,b=c.pages;this.afterTextItem.setText(String.format(this.afterPageText,c.pages));this.inputItem.setValue(g);this.first.setDisabled(g==1);this.prev.setDisabled(g==1);this.next.setDisabled(g==b);this.last.setDisabled(g==b);this.refresh.enable();this.updateInfo();this.fireEvent("change",this,c)},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)}},changePage:function(b){this.doLoad(((b-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onLoadError:function(){if(!this.rendered){return}this.refresh.enable()},readPage:function(e){var b=this.inputItem.getValue(),c;if(!b||isNaN(c=parseInt(b,10))){this.inputItem.setValue(e.activePage);return false}return c},onPagingFocus:function(){this.inputItem.select()},onPagingBlur:function(b){this.inputItem.setValue(this.getPageData().activePage)},onPagingKeyDown:function(h,g){var l=g.getKey(),j=this.getPageData(),b;if(l==g.RETURN){g.stopEvent();b=this.readPage(j);if(b!==false){b=Math.min(Math.max(1,b),j.pages)-1;this.doLoad(b*this.pageSize)}}else{if(l==g.HOME||l==g.END){g.stopEvent();b=l==g.HOME?1:j.pages;h.setValue(b)}else{if(l==g.UP||l==g.PAGEUP||l==g.DOWN||l==g.PAGEDOWN){g.stopEvent();if((b=this.readPage(j))){var c=g.shiftKey?10:1;if(l==g.DOWN||l==g.PAGEDOWN){c*=-1}b+=c;if(b>=1&b<=j.pages){h.setValue(b)}}}}}},getParams:function(){return this.paramNames||this.store.paramNames},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},doLoad:function(d){var c={},b=this.getParams();c[b.start]=d;c[b.limit]=this.pageSize;if(this.fireEvent("beforechange",this,c)!==false){this.store.load({params:c})}},moveFirst:function(){this.doLoad(0)},movePrevious:function(){this.doLoad(Math.max(0,this.cursor-this.pageSize))},moveNext:function(){this.doLoad(this.cursor+this.pageSize)},moveLast:function(){var c=this.store.getTotalCount(),b=c%this.pageSize;this.doLoad(b?(c-b):c-this.pageSize)},doRefresh:function(){this.doLoad(this.cursor)},bindStore:function(c,d){var b;if(!d&&this.store){if(c!==this.store&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("beforeload",this.beforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.onLoadError,this)}if(!c){this.store=null}}if(c){c=Ext.StoreMgr.lookup(c);c.on({scope:this,beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError});b=true}this.store=c;if(b){this.onLoad(c,null,{})}},unbind:function(b){this.bindStore(null)},bind:function(b){this.bindStore(b)},onDestroy:function(){this.bindStore(null);Ext.PagingToolbar.superclass.onDestroy.call(this)}})})();Ext.reg("paging",Ext.PagingToolbar);Ext.History=(function(){var a,k;var g=false;var l;function b(){var n=top.location.href,m=n.indexOf("#");return m>=0?n.substr(m+1):null}function h(){k.value=l}function c(m){l=m;Ext.History.fireEvent("change",m)}function d(o){var n=['<html><body><div id="state">',Ext.util.Format.htmlEncode(o),"</div></body></html>"].join("");try{var m=a.contentWindow.document;m.open();m.write(n);m.close();return true}catch(p){return false}}function j(){if(!a.contentWindow||!a.contentWindow.document){setTimeout(j,10);return}var m=a.contentWindow.document;var o=m.getElementById("state");var n=o?o.innerText:null;var p=b();setInterval(function(){m=a.contentWindow.document;o=m.getElementById("state");var r=o?o.innerText:null;var q=b();if(r!==n){n=r;c(n);top.location.hash=n;p=n;h()}else{if(q!==p){p=q;d(q)}}},50);g=true;Ext.History.fireEvent("ready",Ext.History)}function e(){l=k.value?k.value:b();if(Ext.isIE){j()}else{var m=b();setInterval(function(){var n=b();if(n!==m){m=n;c(m);h()}},50);g=true;Ext.History.fireEvent("ready",Ext.History)}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(m,n){if(g){Ext.callback(m,n,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(m,n)});return}k=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){a=Ext.getDom(Ext.History.iframeId)}this.addEvents("ready","change");if(m){this.on("ready",m,n,{single:true})}e()},add:function(n,m){if(m!==false){if(this.getToken()==n){return true}}if(Ext.isIE){return d(n)}else{top.location.hash=n;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return g?l:b()}}})();Ext.apply(Ext.History,new Ext.util.Observable());Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:"x-tip",floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,closeAction:"hide",initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&&!this.title){this.elements+=",header"}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:"close",handler:this[this.closeAction],scope:this})}},showAt:function(a){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()}if(this.constrainPosition){a=this.el.adjustForConstraints(a)}this.setPagePosition(a[0],a[1])},doAutoWidth:function(a){a=a||0;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")+a;this.setWidth(b.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(a,b){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(a,b||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);this.header.addClass("x-tip-draggable")}});Ext.reg("tip",Ext.Tip);Ext.Tip.DD=function(b,a){Ext.apply(this,a);this.tip=b;Ext.Tip.DD.superclass.constructor.call(this,b.el.id,"WindowDD-"+b.id);this.setHandleElId(b.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(a){this.tip.el.enableShadow(true)}});Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,constrainPosition:false,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget(this.target);this.origAnchor=this.anchor},onRender:function(b,a){Ext.ToolTip.superclass.onRender.call(this,b,a);this.anchorCls="x-tip-anchor-"+this.getAnchorPosition();this.anchorEl=this.el.createChild({cls:"x-tip-anchor "+this.anchorCls})},afterRender:function(){Ext.ToolTip.superclass.afterRender.call(this);this.anchorEl.setStyle("z-index",this.el.getZIndex()+1)},initTarget:function(a){var b;if((b=Ext.get(a))){if(this.target){var c=Ext.get(this.target);this.mun(c,"mouseover",this.onTargetOver,this);this.mun(c,"mouseout",this.onTargetOut,this);this.mun(c,"mousemove",this.onMouseMove,this)}this.mon(b,{mouseover:this.onTargetOver,mouseout:this.onTargetOut,mousemove:this.onMouseMove,scope:this});this.target=b}if(this.anchor){this.anchorTarget=this.target}},onMouseMove:function(b){var a=this.delegate?b.getTarget(this.delegate):this.triggerElement=true;if(a){this.targetXY=b.getXY();if(a===this.triggerElement){if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}}else{this.hide();this.lastActive=new Date(0);this.onTargetOver(b)}}else{if(!this.closable&&this.isVisible()){this.hide()}}},getTargetXY:function(){if(this.delegate){this.anchorTarget=this.triggerElement}if(this.anchor){this.targetCounter++;var k=this.getOffsets(),g=(this.anchorToTarget&&!this.trackMouse)?this.el.getAlignToXY(this.anchorTarget,this.getAnchorAlign()):this.targetXY,h=Ext.lib.Dom.getViewWidth()-5,b=Ext.lib.Dom.getViewHeight()-5,c=document.documentElement,a=document.body,e=(c.scrollLeft||a.scrollLeft||0)+5,d=(c.scrollTop||a.scrollTop||0)+5,j=[g[0]+k[0],g[1]+k[1]];sz=this.getSize();this.anchorEl.removeClass(this.anchorCls);if(this.targetCounter<2){if(j[0]<e){if(this.anchorToTarget){this.defaultAlign="l-r";if(this.mouseOffset){this.mouseOffset[0]*=-1}}this.anchor="left";return this.getTargetXY()}if(j[0]+sz.width>h){if(this.anchorToTarget){this.defaultAlign="r-l";if(this.mouseOffset){this.mouseOffset[0]*=-1}}this.anchor="right";return this.getTargetXY()}if(j[1]<d){if(this.anchorToTarget){this.defaultAlign="t-b";if(this.mouseOffset){this.mouseOffset[1]*=-1}}this.anchor="top";return this.getTargetXY()}if(j[1]+sz.height>b){if(this.anchorToTarget){this.defaultAlign="b-t";if(this.mouseOffset){this.mouseOffset[1]*=-1}}this.anchor="bottom";return this.getTargetXY()}}this.anchorCls="x-tip-anchor-"+this.getAnchorPosition();this.anchorEl.addClass(this.anchorCls);this.targetCounter=0;return j}else{var l=this.getMouseOffset();return[this.targetXY[0]+l[0],this.targetXY[1]+l[1]]}},getMouseOffset:function(){var a=this.anchor?[0,0]:[15,18];if(this.mouseOffset){a[0]+=this.mouseOffset[0];a[1]+=this.mouseOffset[1]}return a},getAnchorPosition:function(){if(this.anchor){this.tipAnchor=this.anchor.charAt(0)}else{var a=this.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!a){throw"AnchorTip.defaultAlign is invalid"}this.tipAnchor=a[1].charAt(0)}switch(this.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var c,b=this.getAnchorPosition().charAt(0);if(this.anchorToTarget&&!this.trackMouse){switch(b){case"t":c=[0,9];break;case"b":c=[0,-13];break;case"r":c=[-13,0];break;default:c=[9,0];break}}else{switch(b){case"t":c=[-15-this.anchorOffset,30];break;case"b":c=[-19-this.anchorOffset,-13-this.el.dom.offsetHeight];break;case"r":c=[-15-this.el.dom.offsetWidth,-13-this.anchorOffset];break;default:c=[25,-13-this.anchorOffset];break}}var a=this.getMouseOffset();c[0]+=a[0];c[1]+=a[1];return c},onTargetOver:function(b){if(this.disabled||b.within(this.target.dom,true)){return}var a=b.getTarget(this.delegate);if(a){this.triggerElement=a;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(a){if(this.disabled||a.within(this.target.dom,true)){return}this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},delayHide:function(){if(!this.hidden&&!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)}},hide:function(){this.clearTimer("dismiss");this.lastActive=new Date();if(this.anchorEl){this.anchorEl.hide()}Ext.ToolTip.superclass.hide.call(this);delete this.triggerElement},show:function(){if(this.anchor){this.showAt([-1000,-1000]);this.origConstrainPosition=this.constrainPosition;this.constrainPosition=false;this.anchor=this.origAnchor}this.showAt(this.getTargetXY());if(this.anchor){this.syncAnchor();this.anchorEl.show();this.constrainPosition=this.origConstrainPosition}else{this.anchorEl.hide()}},showAt:function(a){this.lastActive=new Date();this.clearTimers();Ext.ToolTip.superclass.showAt.call(this,a);if(this.dismissDelay&&this.autoHide!==false){this.dismissTimer=this.hide.defer(this.dismissDelay,this)}if(this.anchor&&!this.anchorEl.isVisible()){this.syncAnchor();this.anchorEl.show()}},syncAnchor:function(){var b,c,a;switch(this.tipAnchor.charAt(0)){case"t":b="b";c="tl";a=[20+this.anchorOffset,2];break;case"r":b="l";c="tr";a=[-2,11+this.anchorOffset];break;case"b":b="t";c="bl";a=[20+this.anchorOffset,-2];break;default:b="r";c="tl";a=[2,11+this.anchorOffset];break}this.anchorEl.alignTo(this.el,b+"-"+c,a)},setPagePosition:function(a,b){Ext.ToolTip.superclass.setPagePosition.call(this,a,b);if(this.anchor){this.syncAnchor()}},clearTimer:function(a){a=a+"Timer";clearTimeout(this[a]);delete this[a]},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(a){if(this.autoHide!==true&&!this.closable&&!a.within(this.el.dom)){this.disable();this.enable.defer(100,this)}},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(c,b){if(this.contstrainPosition){var a=this.targetXY[1],d=this.getSize().height;if(b<=a&&(b+d)>=a){b=a-d-5}}return{x:c,y:b}},beforeDestroy:function(){this.clearTimers();Ext.destroy(this.anchorEl);delete this.anchorEl;delete this.target;delete this.anchorTarget;delete this.triggerElement;Ext.ToolTip.superclass.beforeDestroy.call(this)},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);Ext.ToolTip.superclass.onDestroy.call(this)}});Ext.reg("tooltip",Ext.ToolTip);Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:"ext",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(e){var h=Ext.isArray(e)?e:arguments;for(var g=0,a=h.length;g<a;g++){var b=h[g];var l=b.target;if(l){if(Ext.isArray(l)){for(var d=0,k=l.length;d<k;d++){this.targets[Ext.id(l[d])]=b}}else{this.targets[Ext.id(l)]=b}}}},unregister:function(a){delete this.targets[Ext.id(a)]},cancelShow:function(b){var a=this.activeTarget;b=Ext.get(b).dom;if(this.isVisible()){if(a&&a.el==b){this.hide()}}else{if(a&&a.el==b){this.clearTimer("show")}}},getTipCfg:function(b){var d=b.getTarget(),a,c;if(this.interceptTitles&&d.title&&Ext.isString(d.title)){a=d.title;d.qtip=a;d.removeAttribute("title");b.preventDefault()}else{c=this.tagConfig;a=d.qtip||Ext.fly(d).getAttribute(c.attribute,c.namespace)}return a},onTargetOver:function(b){if(this.disabled){return}this.targetXY=b.getXY();var g=b.getTarget();if(!g||g.nodeType!==1||g==document||g==document.body){return}if(this.activeTarget&&((g==this.activeTarget.el)||Ext.fly(this.activeTarget.el).contains(g))){this.clearTimer("hide");this.show();return}if(g&&this.targets[g.id]){this.activeTarget=this.targets[g.id];this.activeTarget.el=g;this.anchor=this.activeTarget.anchor;if(this.anchor){this.anchorTarget=g}this.delayShow();return}var j,a=Ext.fly(g),d=this.tagConfig,h=d.namespace;if(j=this.getTipCfg(b)){var c=a.getAttribute(d.hide,h);this.activeTarget={el:g,text:j,width:a.getAttribute(d.width,h),autoHide:c!="user"&&c!=="false",title:a.getAttribute(d.title,h),cls:a.getAttribute(d.cls,h),align:a.getAttribute(d.align,h)};this.anchor=a.getAttribute(d.anchor,h);if(this.anchor){this.anchorTarget=g}this.delayShow()}},onTargetOut:function(a){if(this.activeTarget&&a.within(this.activeTarget.el)&&!this.getTipCfg(a)){return}this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},showAt:function(b){var a=this.activeTarget;if(a){if(!this.rendered){this.render(Ext.getBody());this.activeTarget=a}if(a.width){this.setWidth(a.width);this.body.setWidth(this.adjustBodyWidth(a.width-this.getFrameWidth()));this.measureWidth=false}else{this.measureWidth=true}this.setTitle(a.title||"");this.body.update(a.text);this.autoHide=a.autoHide;this.dismissDelay=a.dismissDelay||this.dismissDelay;if(this.lastCls){this.el.removeClass(this.lastCls);delete this.lastCls}if(a.cls){this.el.addClass(a.cls);this.lastCls=a.cls}if(this.anchor){this.constrainPosition=false}else{if(a.align){b=this.el.getAlignToXY(a.el,a.align);this.constrainPosition=false}else{this.constrainPosition=true}}}Ext.QuickTip.superclass.showAt.call(this,b)},hide:function(){delete this.activeTarget;Ext.QuickTip.superclass.hide.call(this)}});Ext.reg("quicktip",Ext.QuickTip);Ext.QuickTips=function(){var b,a=[];return{init:function(c){if(!b){if(!Ext.isReady){Ext.onReady(function(){Ext.QuickTips.init(c)});return}b=new Ext.QuickTip({elements:"header,body"});if(c!==false){b.render(Ext.getBody())}}},enable:function(){if(b){a.pop();if(a.length<1){b.enable()}}},disable:function(){if(b){b.disable()}a.push(1)},isEnabled:function(){return b!==undefined&&!b.disabled},getQuickTip:function(){return b},register:function(){b.register.apply(b,arguments)},unregister:function(){b.unregister.apply(b,arguments)},tips:function(){b.register.apply(b,arguments)}}}();Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:"/",bubbleEvents:[],initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel){this.eventModel=new Ext.tree.TreeEventModel(this)}var a=this.loader;if(!a){a=new Ext.tree.TreeLoader({dataUrl:this.dataUrl,requestMethod:this.requestMethod})}else{if(Ext.isObject(a)&&!a.load){a=new Ext.tree.TreeLoader(a)}}this.loader=a;this.nodeHash={};if(this.root){var b=this.root;delete this.root;this.setRootNode(b)}this.addEvents("append","remove","movenode","insert","beforeappend","beforeremove","beforemovenode","beforeinsert","beforeload","load","textchange","beforeexpandnode","beforecollapsenode","expandnode","disabledchange","collapsenode","beforeclick","click","containerclick","checkchange","beforedblclick","dblclick","containerdblclick","contextmenu","containercontextmenu","beforechildrenrendered","startdrag","enddrag","dragdrop","beforenodedrop","nodedrop","nodedragover");if(this.singleExpand){this.on("beforeexpandnode",this.restrictExpand,this)}},proxyNodeEvent:function(e,d,c,b,a,h,g){if(e=="collapse"||e=="expand"||e=="beforecollapse"||e=="beforeexpand"||e=="move"||e=="beforemove"){e=e+"node"}return this.fireEvent(e,d,c,b,a,h,g)},getRootNode:function(){return this.root},setRootNode:function(b){Ext.destroy(this.root);if(!b.render){b=this.loader.createNode(b)}this.root=b;b.ownerTree=this;b.isRoot=true;this.registerNode(b);if(!this.rootVisible){var a=b.attributes.uiProvider;b.ui=a?new a(b):new Ext.tree.RootTreeNodeUI(b)}if(this.innerCt){this.innerCt.update("");this.afterRender()}return b},getNodeById:function(a){return this.nodeHash[a]},registerNode:function(a){this.nodeHash[a.id]=a},unregisterNode:function(a){delete this.nodeHash[a.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"},restrictExpand:function(a){var b=a.parentNode;if(b){if(b.expandedChild&&b.expandedChild.parentNode==b){b.expandedChild.collapse()}b.expandedChild=a}},getChecked:function(b,c){c=c||this.root;var d=[];var e=function(){if(this.attributes.checked){d.push(!b?this:(b=="id"?this.id:this.attributes[b]))}};c.cascade(e);return d},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(a,c,b){c=c||"id";var g=a.split(this.pathSeparator);var e=this.root;if(e.attributes[c]!=g[1]){if(b){b(false,null)}return}var d=1;var h=function(){if(++d==g.length){if(b){b(true,e)}return}var j=e.findChild(c,g[d]);if(!j){if(b){b(false,e)}return}e=j;j.expand(false,false,h)};e.expand(false,false,h)},selectPath:function(b,d,c){d=d||"id";var g=b.split(this.pathSeparator),e=g.pop();if(g.length>1){var a=function(h,k){if(h&&k){var j=k.findChild(d,e);if(j){j.select();if(c){c(true,j)}}else{if(c){c(false,j)}}}else{if(c){c(false,j)}}};this.expandPath(g.join(this.pathSeparator),d,a)}else{this.root.select();if(c){c(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(b,a){Ext.tree.TreePanel.superclass.onRender.call(this,b,a);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()}},beforeDestroy:function(){if(this.rendered){Ext.dd.ScrollManager.unregister(this.body);Ext.destroy(this.dropZone,this.dragZone)}Ext.destroy(this.root,this.loader);this.nodeHash=this.root=this.loader=null;Ext.tree.TreePanel.superclass.beforeDestroy.call(this)}});Ext.tree.TreePanel.nodeTypes={};Ext.reg("treepanel",Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(a){this.tree=a;this.tree.on("render",this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var a=this.tree;if(a.trackMouseOver!==false){a.mon(a.innerCt,{scope:this,mouseover:this.delegateOver,mouseout:this.delegateOut})}a.mon(a.getTreeEl(),{scope:this,click:this.delegateClick,dblclick:this.delegateDblClick,contextmenu:this.delegateContextMenu})},getNode:function(c){var b;if(b=c.getTarget(".x-tree-node-el",10)){var a=Ext.fly(b,"_treeEvents").getAttribute("tree-node-id","ext");if(a){return this.tree.getNodeById(a)}}return null},getNodeTarget:function(b){var a=b.getTarget(".x-tree-node-icon",1);if(!a){a=b.getTarget(".x-tree-node-el",6)}return a},delegateOut:function(c,b){if(!this.beforeEvent(c)){return}if(c.getTarget(".x-tree-ec-icon",1)){var a=this.getNode(c);this.onIconOut(c,a);if(a==this.lastEcOver){delete this.lastEcOver}}if((b=this.getNodeTarget(c))&&!c.within(b,true)){this.onNodeOut(c,this.getNode(c))}},delegateOver:function(b,a){if(!this.beforeEvent(b)){return}if(Ext.isGecko&&!this.trackingDoc){Ext.getBody().on("mouseover",this.trackExit,this);this.trackingDoc=true}if(this.lastEcOver){this.onIconOut(b,this.lastEcOver);delete this.lastEcOver}if(b.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(b);this.onIconOver(b,this.lastEcOver)}if(a=this.getNodeTarget(b)){this.onNodeOver(b,this.getNode(b))}},trackExit:function(a){if(this.lastOverNode&&!a.within(this.lastOverNode.ui.getEl())){this.onNodeOut(a,this.lastOverNode);delete this.lastOverNode;Ext.getBody().un("mouseover",this.trackExit,this);this.trackingDoc=false}},delegateClick:function(b,a){if(this.beforeEvent(b)){if(b.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(b,this.getNode(b))}else{if(b.getTarget(".x-tree-ec-icon",1)){this.onIconClick(b,this.getNode(b))}else{if(this.getNodeTarget(b)){this.onNodeClick(b,this.getNode(b))}else{this.onContainerEvent(b,"click")}}}}},delegateDblClick:function(b,a){if(this.beforeEvent(b)){if(this.getNodeTarget(b)){this.onNodeDblClick(b,this.getNode(b))}else{this.onContainerEvent(b,"dblclick")}}},delegateContextMenu:function(b,a){if(this.beforeEvent(b)){if(this.getNodeTarget(b)){this.onNodeContextMenu(b,this.getNode(b))}else{this.onContainerEvent(b,"contextmenu")}}},onContainerEvent:function(b,a){this.tree.fireEvent("container"+a,this.tree,b)},onNodeClick:function(b,a){a.ui.onClick(b)},onNodeOver:function(b,a){this.lastOverNode=a;a.ui.onOver(b)},onNodeOut:function(b,a){a.ui.onOut(b)},onIconOver:function(b,a){a.ui.addClass("x-tree-ec-over")},onIconOut:function(b,a){a.ui.removeClass("x-tree-ec-over")},onIconClick:function(b,a){a.ui.ecClick(b)},onCheckboxClick:function(b,a){a.ui.onCheckChange(b)},onNodeDblClick:function(b,a){a.ui.onDblClick(b)},onNodeContextMenu:function(b,a){a.ui.onContextMenu(b)},beforeEvent:function(a){if(this.disabled){a.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=function(a){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,a);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(a){this.tree=a;a.mon(a.getTreeEl(),"keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(a,b){this.select(a)},select:function(a,b){if(!Ext.fly(a.ui.wrap).isVisible()&&b){return b.call(this,a)}var c=this.selNode;if(a==c){a.ui.onSelectedChange(true)}else{if(this.fireEvent("beforeselect",this,a,c)!==false){if(c&&c.ui){c.ui.onSelectedChange(false)}this.selNode=a;a.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,a,c)}}return a},unselect:function(b,a){if(this.selNode==b){this.clearSelections(a)}},clearSelections:function(a){var b=this.selNode;if(b){b.ui.onSelectedChange(false);this.selNode=null;if(a!==true){this.fireEvent("selectionchange",this,null)}}return b},getSelectedNode:function(){return this.selNode},isSelected:function(a){return this.selNode==a},selectPrevious:function(b){if(!(b=b||this.selNode||this.lastSelNode)){return null}var a=b.previousSibling;if(a){if(!a.isExpanded()||a.childNodes.length<1){return this.select(a,this.selectPrevious)}else{var c=a.lastChild;while(c&&c.isExpanded()&&Ext.fly(c.ui.wrap).isVisible()&&c.childNodes.length>0){c=c.lastChild}return this.select(c,this.selectPrevious)}}else{if(b.parentNode&&(this.tree.rootVisible||!b.parentNode.isRoot)){return this.select(b.parentNode,this.selectPrevious)}}return null},selectNext:function(b){if(!(b=b||this.selNode||this.lastSelNode)){return null}if(b.firstChild&&b.isExpanded()&&Ext.fly(b.ui.wrap).isVisible()){return this.select(b.firstChild,this.selectNext)}else{if(b.nextSibling){return this.select(b.nextSibling,this.selectNext)}else{if(b.parentNode){var a=null;b.parentNode.bubble(function(){if(this.nextSibling){a=this.getOwnerTree().selModel.select(this.nextSibling,this.selectNext);return false}});return a}}}return null},onKeyDown:function(a){var d=this.selNode||this.lastSelNode;var b=this;if(!d){return}var c=a.getKey();switch(c){case a.DOWN:a.stopEvent();this.selectNext();break;case a.UP:a.stopEvent();this.selectPrevious();break;case a.RIGHT:a.preventDefault();if(d.hasChildNodes()){if(!d.isExpanded()){d.expand()}else{if(d.firstChild){this.select(d.firstChild,a)}}}break;case a.LEFT:a.preventDefault();if(d.hasChildNodes()&&d.isExpanded()){d.collapse()}else{if(d.parentNode&&(this.tree.rootVisible||d.parentNode!=this.tree.getRootNode())){this.select(d.parentNode,a)}}break}}});Ext.tree.MultiSelectionModel=function(a){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,a);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(a){this.tree=a;a.mon(a.getTreeEl(),"keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(a,b){if(b.ctrlKey&&this.isSelected(a)){this.unselect(a)}else{this.select(a,b,b.ctrlKey)}},select:function(b,a,c){if(c!==true){this.clearSelections(true)}if(this.isSelected(b)){this.lastSelNode=b;return b}this.selNodes.push(b);this.selMap[b.id]=b;this.lastSelNode=b;b.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return b},unselect:function(c){if(this.selMap[c.id]){c.ui.onSelectedChange(false);var a=this.selNodes;var b=a.indexOf(c);if(b!=-1){this.selNodes.splice(b,1)}delete this.selMap[c.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(d){var b=this.selNodes;if(b.length>0){for(var a=0,c=b.length;a<c;a++){b[a].ui.onSelectedChange(false)}this.selNodes=[];this.selMap={};if(d!==true){this.fireEvent("selectionchange",this,this.selNodes)}}},isSelected:function(a){return this.selMap[a.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.data.Tree=function(a){this.nodeHash={};this.root=null;if(a){this.setRootNode(a)}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(a){this.root=a;a.ownerTree=this;a.isRoot=true;this.registerNode(a);return a},getNodeById:function(a){return this.nodeHash[a]},registerNode:function(a){this.nodeHash[a.id]=a},unregisterNode:function(a){delete this.nodeHash[a.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"}});Ext.data.Node=function(a){this.attributes=a||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,"xnode-");this.attributes.id=this.id}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(d){for(var c=0,b=this.length;c<b;c++){if(this[c]==d){return c}}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(b){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false}var a=this.getOwnerTree();if(a){if(a.proxyNodeEvent.apply(a,arguments)===false){return false}}return true},isLeaf:function(){return this.leaf===true},setFirstChild:function(a){this.firstChild=a},setLastChild:function(a){this.lastChild=a},isLast:function(){return(!this.parentNode?true:this.parentNode.lastChild==this)},isFirst:function(){return(!this.parentNode?true:this.parentNode.firstChild==this)},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(h){var a=false;if(Ext.isArray(h)){a=h}else{if(arguments.length>1){a=arguments}}if(a){for(var g=0,c=a.length;g<c;g++){this.appendChild(a[g])}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,h)===false){return false}var d=this.childNodes.length;var e=h.parentNode;if(e){if(h.fireEvent("beforemove",h.getOwnerTree(),h,e,this,d)===false){return false}e.removeChild(h)}d=this.childNodes.length;if(d===0){this.setFirstChild(h)}this.childNodes.push(h);h.parentNode=this;var b=this.childNodes[d-1];if(b){h.previousSibling=b;b.nextSibling=h}else{h.previousSibling=null}h.nextSibling=null;this.setLastChild(h);h.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,h,d);if(e){h.fireEvent("move",this.ownerTree,h,e,this,d)}return h}},removeChild:function(a,c){var b=this.childNodes.indexOf(a);if(b==-1){return false}if(this.fireEvent("beforeremove",this.ownerTree,this,a)===false){return false}this.childNodes.splice(b,1);if(a.previousSibling){a.previousSibling.nextSibling=a.nextSibling}if(a.nextSibling){a.nextSibling.previousSibling=a.previousSibling}if(this.firstChild==a){this.setFirstChild(a.nextSibling)}if(this.lastChild==a){this.setLastChild(a.previousSibling)}a.clear();this.fireEvent("remove",this.ownerTree,this,a);if(c){a.destroy()}return a},clear:function(a){this.setOwnerTree(null,a);this.parentNode=this.previousSibling=this.nextSibling=null;if(a){this.firstChild=this.lastChild=null}},destroy:function(){this.purgeListeners();this.clear(true);Ext.each(this.childNodes,function(a){a.destroy()});this.childNodes=null},insertBefore:function(a,d){if(!d){return this.appendChild(a)}if(a==d){return false}if(this.fireEvent("beforeinsert",this.ownerTree,this,a,d)===false){return false}var e=this.childNodes.indexOf(d);var g=a.parentNode;var b=e;if(g==this&&this.childNodes.indexOf(a)<e){b--}if(g){if(a.fireEvent("beforemove",a.getOwnerTree(),a,g,this,e,d)===false){return false}g.removeChild(a)}if(b===0){this.setFirstChild(a)}this.childNodes.splice(b,0,a);a.parentNode=this;var c=this.childNodes[b-1];if(c){a.previousSibling=c;c.nextSibling=a}else{a.previousSibling=null}a.nextSibling=d;d.previousSibling=a;a.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,a,d);if(g){a.fireEvent("move",this.ownerTree,a,g,this,b,d)}return a},remove:function(a){this.parentNode.removeChild(this,a);return this},item:function(a){return this.childNodes[a]},replaceChild:function(b,a){var c=a?a.nextSibling:null;this.removeChild(a);this.insertBefore(b,c);return a},indexOf:function(a){return this.childNodes.indexOf(a)},getOwnerTree:function(){if(!this.ownerTree){var a=this;while(a){if(a.ownerTree){this.ownerTree=a.ownerTree;break}a=a.parentNode}}return this.ownerTree},getDepth:function(){var b=0;var a=this;while(a.parentNode){++b;a=a.parentNode}return b},setOwnerTree:function(a,b){if(a!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)}this.ownerTree=a;if(b!==true){Ext.each(this.childNodes,function(c){c.setOwnerTree(a)})}if(a){a.registerNode(this)}}},setId:function(b){if(b!==this.id){var a=this.ownerTree;if(a){a.unregisterNode(this)}this.id=this.attributes.id=b;if(a){a.registerNode(this)}this.onIdChange(b)}},onIdChange:Ext.emptyFn,getPath:function(c){c=c||"id";var e=this.parentNode;var a=[this.attributes[c]];while(e){a.unshift(e.attributes[c]);e=e.parentNode}var d=this.getOwnerTree().pathSeparator;return d+a.join(d)},bubble:function(a,d,c){var b=this;while(b){if(a.apply(d||b,c||[b])===false){break}b=b.parentNode}},cascade:function(c,b,e){if(c.apply(b||this,e||[this])!==false){var a=this.childNodes;for(var g=0,d=a.length;g<d;g++){a[g].cascade(c,b,e)}}},eachChild:function(c,b,e){var a=this.childNodes;for(var g=0,d=a.length;g<d;g++){if(c.apply(b||this,e||[a[g]])===false){break}}},findChild:function(b,c){var a=this.childNodes;for(var e=0,d=a.length;e<d;e++){if(a[e].attributes[b]==c){return a[e]}}return null},findChildBy:function(c,b){var a=this.childNodes;for(var e=0,d=a.length;e<d;e++){if(c.call(b||a[e],a[e])===true){return a[e]}}return null},sort:function(h,g){var e=this.childNodes;var c=e.length;if(c>0){var a=g?function(){h.apply(g,arguments)}:h;e.sort(a);for(var d=0;d<c;d++){var b=e[d];b.previousSibling=e[d-1];b.nextSibling=e[d+1];if(d===0){this.setFirstChild(b)}if(d==c-1){this.setLastChild(b)}}}},contains:function(a){return a.isAncestor(this)},isAncestor:function(a){var b=this.parentNode;while(b){if(b==a){return true}b=b.parentNode}return false},toString:function(){return"[Node"+(this.id?" "+this.id:"")+"]"}});Ext.tree.TreeNode=function(a){a=a||{};if(Ext.isString(a)){a={text:a}}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,a);this.expanded=a.expanded===true;this.isTarget=a.isTarget!==false;this.draggable=a.draggable!==false&&a.allowDrag!==false;this.allowChildren=a.allowChildren!==false&&a.allowDrop!==false;this.text=a.text;this.disabled=a.disabled===true;this.hidden=a.hidden===true;this.addEvents("textchange","beforeexpand","beforecollapse","expand","disabledchange","collapse","beforeclick","click","checkchange","beforedblclick","dblclick","contextmenu","beforechildrenrendered");var b=this.attributes.uiProvider||this.defaultUI||Ext.tree.TreeNodeUI;this.ui=new b(this)};Ext.extend(Ext.tree.TreeNode,Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded},getUI:function(){return this.ui},getLoader:function(){var a;return this.loader||((a=this.getOwnerTree())&&a.loader?a.loader:(this.loader=new Ext.tree.TreeLoader()))},setFirstChild:function(a){var b=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,a);if(this.childrenRendered&&b&&a!=b){b.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},setLastChild:function(b){var a=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,b);if(this.childrenRendered&&a&&b!=a){a.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},appendChild:function(b){if(!b.render&&!Ext.isArray(b)){b=this.getLoader().createNode(b)}var a=Ext.tree.TreeNode.superclass.appendChild.call(this,b);if(a&&this.childrenRendered){a.render()}this.ui.updateExpandIcon();return a},removeChild:function(b,a){this.ownerTree.getSelectionModel().unselect(b);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(b.ui.rendered){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(a,b){if(!a.render){a=this.getLoader().createNode(a)}var c=Ext.tree.TreeNode.superclass.insertBefore.call(this,a,b);if(c&&b&&this.childrenRendered){a.render()}this.ui.updateExpandIcon();return c},setText:function(b){var a=this.text;this.text=this.attributes.text=b;if(this.rendered){this.ui.onTextChange(this,b,a)}this.fireEvent("textchange",this,b,a)},select:function(){var a=this.getOwnerTree();if(a){a.getSelectionModel().select(this)}},unselect:function(a){var b=this.getOwnerTree();if(b){b.getSelectionModel().unselect(this,a)}},isSelected:function(){var a=this.getOwnerTree();return a?a.getSelectionModel().isSelected(this):false},expand:function(c,a,b,d){if(!this.expanded){if(this.fireEvent("beforeexpand",this,c,a)===false){return}if(!this.childrenRendered){this.renderChildren()}this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&a!==false)||a){this.ui.animExpand(function(){this.fireEvent("expand",this);this.runCallback(b,d||this,[this]);if(c===true){this.expandChildNodes(true)}}.createDelegate(this));return}else{this.ui.expand();this.fireEvent("expand",this);this.runCallback(b,d||this,[this])}}else{this.runCallback(b,d||this,[this])}if(c===true){this.expandChildNodes(true)}},runCallback:function(b,a,c){if(Ext.isFunction(b)){b.apply(a,c)}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible},collapse:function(d,a,b,h){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,d,a)===false){return}this.expanded=false;if((this.getOwnerTree().animate&&a!==false)||a){this.ui.animCollapse(function(){this.fireEvent("collapse",this);this.runCallback(b,h||this,[this]);if(d===true){this.collapseChildNodes(true)}}.createDelegate(this));return}else{this.ui.collapse();this.fireEvent("collapse",this);this.runCallback(b,h||this,[this])}}else{if(!this.expanded){this.runCallback(b,h||this,[this])}}if(d===true){var g=this.childNodes;for(var e=0,c=g.length;e<c;e++){g[e].collapse(true,false)}}},delayedExpand:function(a){if(!this.expandProcId){this.expandProcId=this.expand.defer(a,this)}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId)}this.expandProcId=false},toggle:function(){if(this.expanded){this.collapse()}else{this.expand()}},ensureVisible:function(a,c){var b=this.getOwnerTree();b.expandPath(this.parentNode?this.parentNode.getPath():this.getPath(),false,function(){var d=b.getNodeById(this.id);b.getTreeEl().scrollChildIntoView(d.ui.anchor);this.runCallback(a,c||this,[this])}.createDelegate(this))},expandChildNodes:function(d){var b=this.childNodes;for(var a=0,c=b.length;a<c;a++){b[a].expand(d)}},collapseChildNodes:function(d){var b=this.childNodes;for(var a=0,c=b.length;a<c;a++){b[a].collapse(d)}},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(d){if(d!==false){this.fireEvent("beforechildrenrendered",this)}var b=this.childNodes;for(var a=0,c=b.length;a<c;a++){b[a].render(true)}this.childrenRendered=true},sort:function(c,b){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var a=this.childNodes;for(var e=0,d=a.length;e<d;e++){a[e].render(true)}}},render:function(a){this.ui.render(a);if(!this.rendered){this.getOwnerTree().registerNode(this);this.rendered=true;if(this.expanded){this.expanded=false;this.expand(false,false)}}},renderIndent:function(e,c){if(c){this.ui.childIndent=null}this.ui.renderIndent();if(e===true&&this.childrenRendered){var b=this.childNodes;for(var a=0,d=b.length;a<d;a++){b[a].renderIndent(true,c)}}},beginUpdate:function(){this.childrenRendered=false},endUpdate:function(){if(this.expanded&&this.rendered){this.renderChildren()}},destroy:function(){this.unselect(true);Ext.tree.TreeNode.superclass.destroy.call(this);Ext.destroy(this.ui,this.loader);this.ui=this.loader=null},onIdChange:function(a){this.ui.onIdChange(a)}});Ext.tree.TreePanel.nodeTypes.node=Ext.tree.TreeNode;Ext.tree.AsyncTreeNode=function(a){this.loaded=a&&a.loaded===true;this.loading=false;Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);this.addEvents("beforeload","load")};Ext.extend(Ext.tree.AsyncTreeNode,Ext.tree.TreeNode,{expand:function(d,h,b,e){if(this.loading){var a;var g=function(){if(!this.loading){clearInterval(a);this.expand(d,h,b,e)}}.createDelegate(this);a=setInterval(g,200);return}if(!this.loaded){if(this.fireEvent("beforeload",this)===false){return}this.loading=true;this.ui.beforeLoad(this);var c=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(c){c.load(this,this.loadComplete.createDelegate(this,[d,h,b,e]),this);return}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,d,h,b,e)},isLoading:function(){return this.loading},loadComplete:function(c,a,b,d){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(c,a,b,d)},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,a){this.collapse(false,false);while(this.firstChild){this.removeChild(this.firstChild).destroy()}this.childrenRendered=false;this.loaded=false;if(this.isHiddenRoot()){this.expanded=false}this.expand(false,false,b,a)}});Ext.tree.TreePanel.nodeTypes.async=Ext.tree.AsyncTreeNode;Ext.tree.TreeNodeUI=function(a){this.node=a;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(a){if(this.rendered){this.ctNode.removeChild(a.ui.getEl())}},beforeLoad:function(){this.addClass("x-tree-node-loading")},afterLoad:function(){this.removeClass("x-tree-node-loading")},onTextChange:function(c,a,b){if(this.rendered){this.textNode.innerHTML=a}},onDisableChange:function(a,b){this.disabled=b;if(this.checkbox){this.checkbox.disabled=b}if(b){this.addClass("x-tree-node-disabled")}else{this.removeClass("x-tree-node-disabled")}},onSelectedChange:function(a){if(a){this.focus();this.addClass("x-tree-selected")}else{this.removeClass("x-tree-selected")}},onMove:function(b,j,g,h,e,c){this.childIndent=null;if(this.rendered){var a=h.ui.getContainer();if(!a){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return}var d=c?c.ui.getEl():null;if(d){a.insertBefore(this.wrap,d)}else{a.appendChild(this.wrap)}this.node.renderIndent(true,g!=h)}},addClass:function(a){if(this.elNode){Ext.fly(this.elNode).addClass(a)}},removeClass:function(a){if(this.elNode){Ext.fly(this.elNode).removeClass(a)}},remove:function(){if(this.rendered){this.holder=document.createElement("div");this.holder.appendChild(this.wrap)}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments)},initEvents:function(){this.node.on("move",this.onMove,this);if(this.node.disabled){this.onDisableChange(this.node,true)}if(this.node.hidden){this.hide()}var b=this.node.getOwnerTree();var a=b.enableDD||b.enableDrag||b.enableDrop;if(a&&(!this.node.isRoot||b.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(a){if(this.node.hasListener("contextmenu")||this.node.getOwnerTree().hasListener("contextmenu")){a.preventDefault();this.focus();this.fireEvent("contextmenu",this.node,a)}},onClick:function(c){if(this.dropping){c.stopEvent();return}if(this.fireEvent("beforeclick",this.node,c)!==false){var b=c.getTarget("a");if(!this.disabled&&this.node.attributes.href&&b){this.fireEvent("click",this.node,c);return}else{if(b&&c.ctrlKey){c.stopEvent()}}c.preventDefault();if(this.disabled){return}if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("click",this.node,c)}else{c.stopEvent()}},onDblClick:function(a){a.preventDefault();if(this.disabled){return}if(this.fireEvent("beforedblclick",this.node,a)!==false){if(this.checkbox){this.toggleCheck()}if(!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("dblclick",this.node,a)}},onOver:function(a){this.addClass("x-tree-node-over")},onOut:function(a){this.removeClass("x-tree-node-over")},onCheckChange:function(){var a=this.checkbox.checked;this.checkbox.defaultChecked=a;this.node.attributes.checked=a;this.fireEvent("checkchange",this.node,a)},ecClick:function(a){if(!this.animating&&this.node.isExpandable()){this.node.toggle()}},startDrop:function(){this.dropping=true},endDrop:function(){setTimeout(function(){this.dropping=false}.createDelegate(this),50)},expand:function(){this.updateExpandIcon();this.ctNode.style.display=""},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus()}catch(a){}}else{try{var c=this.node.getOwnerTree().getTreeEl().dom;var b=c.scrollLeft;this.anchor.focus();c.scrollLeft=b}catch(a){}}},toggleCheck:function(b){var a=this.checkbox;if(a){a.checked=(b===undefined?!a.checked:b);this.onCheckChange()}},blur:function(){try{this.anchor.blur()}catch(a){}},animExpand:function(b){var a=Ext.get(this.ctNode);a.stopFx();if(!this.node.isExpandable()){this.updateExpandIcon();this.ctNode.style.display="";Ext.callback(b);return}this.animating=true;this.updateExpandIcon();a.slideIn("t",{callback:function(){this.animating=false;Ext.callback(b)},scope:this,duration:this.node.ownerTree.duration||0.25})},highlight:function(){var a=this.node.getOwnerTree();Ext.fly(this.wrap).highlight(a.hlColor||"C3DAF9",{endColor:a.hlBaseColor})},collapse:function(){this.updateExpandIcon();this.ctNode.style.display="none"},animCollapse:function(b){var a=Ext.get(this.ctNode);a.enableDisplayMode("block");a.stopFx();this.animating=true;this.updateExpandIcon();a.slideOut("t",{callback:function(){this.animating=false;Ext.callback(b)},scope:this,duration:this.node.ownerTree.duration||0.25})},getContainer:function(){return this.ctNode},getEl:function(){return this.wrap},appendDDGhost:function(a){a.appendChild(this.elNode.cloneNode(true))},getDDRepairXY:function(){return Ext.lib.Dom.getXY(this.iconNode)},onRender:function(){this.render()},render:function(c){var e=this.node,b=e.attributes;var d=e.parentNode?e.parentNode.ui.getContainer():e.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(e,b,d,c);if(b.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",b.qtip);if(b.qtipTitle){this.textNode.setAttributeNS("ext","qtitle",b.qtipTitle)}}else{this.textNode.setAttribute("ext:qtip",b.qtip);if(b.qtipTitle){this.textNode.setAttribute("ext:qtitle",b.qtipTitle)}}}else{if(b.qtipCfg){b.qtipCfg.target=Ext.id(this.textNode);Ext.QuickTips.register(b.qtipCfg)}}this.initEvents();if(!this.node.expanded){this.updateExpandIcon(true)}}else{if(c===true){d.appendChild(this.wrap)}}},renderElements:function(m,g,e,h){this.indentMarkup=m.parentNode?m.parentNode.ui.getChildIndent():"";var b=Ext.isBoolean(g.checked),j,k=g.href?g.href:Ext.isGecko?"":"#",l=['<li class="x-tree-node"><div ext:tree-node-id="',m.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',g.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="',g.icon||this.emptyIcon,'" class="x-tree-node-icon',(g.icon?" x-tree-node-inline-icon":""),(g.iconCls?" "+g.iconCls:""),'" unselectable="on" />',b?('<input class="x-tree-node-cb" type="checkbox" '+(g.checked?'checked="checked" />':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',k,'" tabIndex="1" ',g.hrefTarget?' target="'+g.hrefTarget+'"':"",'><span unselectable="on">',m.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");if(h!==true&&m.nextSibling&&(j=m.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",j,l)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",e,l)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var d=this.elNode.childNodes;this.indentNode=d[0];this.ecNode=d[1];this.iconNode=d[2];var c=3;if(b){this.checkbox=d[3];this.checkbox.defaultChecked=this.checkbox.checked;c++}this.anchor=d[c];this.textNode=d[c].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 c=this.node,a,g,d=c.isLast()?"x-tree-elbow-end":"x-tree-elbow",b=c.hasChildNodes();if(b||c.attributes.expandable){if(c.expanded){d+="-minus";a="x-tree-node-collapsed";g="x-tree-node-expanded"}else{d+="-plus";a="x-tree-node-expanded";g="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=a||this.c2!=g){Ext.fly(this.elNode).replaceClass(a,g);this.c1=a;this.c2=g}}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 e="x-tree-ec-icon "+d;if(this.ecc!=e){this.ecNode.className=e;this.ecc=e}}},onIdChange:function(a){if(this.rendered){this.elNode.setAttribute("ext:tree-node-id",a)}},getChildIndent:function(){if(!this.childIndent){var a=[],b=this.node;while(b){if(!b.isRoot||(b.isRoot&&b.ownerTree.rootVisible)){if(!b.isLast()){a.unshift('<img src="'+this.emptyIcon+'" class="x-tree-elbow-line" />')}else{a.unshift('<img src="'+this.emptyIcon+'" class="x-tree-icon" />')}}b=b.parentNode}this.childIndent=a.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var a="",b=this.node.parentNode;if(b){a=b.ui.getChildIndent()}if(this.indentMarkup!=a){this.indentNode.innerHTML=a;this.indentMarkup=a}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}Ext.each(["textnode","anchor","checkbox","indentNode","ecNode","iconNode","elNode","ctNode","wrap","holder"],function(a){if(this[a]){Ext.fly(this[a]).remove();delete this[a]}},this);delete this.node}};Ext.tree.RootTreeNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var a=this.node.ownerTree.innerCt.dom;this.node.expanded=true;a.innerHTML='<div class="x-tree-root-node"></div>';this.wrap=this.ctNode=a.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.TreeLoader=function(a){this.baseParams={};Ext.apply(this,a);this.addEvents("beforeload","load","loadexception");Ext.tree.TreeLoader.superclass.constructor.call(this);if(Ext.isString(this.paramOrder)){this.paramOrder=this.paramOrder.split(/[\s,|]/)}};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,paramOrder:undefined,paramsAsHash:false,nodeParameter:"node",directFn:undefined,load:function(c,a,b){if(this.clearOnLoad){while(c.firstChild){c.removeChild(c.firstChild)}}if(this.doPreload(c)){this.runCallback(a,b||c,[c])}else{if(this.directFn||this.dataUrl||this.url){this.requestData(c,a,b||c)}}},doPreload:function(b){if(b.attributes.children){if(b.childNodes.length<1){var a=b.attributes.children;b.beginUpdate();for(var e=0,d=a.length;e<d;e++){var c=b.appendChild(this.createNode(a[e]));if(this.preloadChildren){this.doPreload(c)}}b.endUpdate()}return true}return false},getParams:function(b){var e=[],a=this.baseParams;if(this.directFn){e.push(b.id);if(a){if(this.paramOrder){for(var g=0,d=this.paramOrder.length;g<d;g++){e.push(a[this.paramOrder[g]])}}else{if(this.paramsAsHash){e.push(a)}}}return e}else{var c=Ext.apply({},a);c[this.nodeParameter]=b.id;return c}},requestData:function(a,b,d){if(this.fireEvent("beforeload",this,a,b)!==false){if(this.directFn){var c=this.getParams(a);c.push(this.processDirectResponse.createDelegate(this,[{callback:b,node:a,scope:d}],true));this.directFn.apply(window,c)}else{this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:b,node:a,scope:d},params:this.getParams(a)})}}else{this.runCallback(b,d||a,[])}},processDirectResponse:function(b,c,a){if(c.status){this.handleResponse({responseData:Ext.isArray(b)?b:null,responseText:b,argument:a})}else{this.handleFailure({argument:a})}},runCallback:function(b,a,c){if(Ext.isFunction(b)){b.apply(a,c)}},isLoading:function(){return !!this.transId},abort:function(){if(this.isLoading()){Ext.Ajax.abort(this.transId)}},createNode:function(attr){if(this.baseAttrs){Ext.applyIf(attr,this.baseAttrs)}if(this.applyLoader!==false&&!attr.loader){attr.loader=this}if(Ext.isString(attr.uiProvider)){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider)}if(attr.nodeType){return new Ext.tree.TreePanel.nodeTypes[attr.nodeType](attr)}else{return attr.leaf?new Ext.tree.TreeNode(attr):new Ext.tree.AsyncTreeNode(attr)}},processResponse:function(m,l,d,g){var h=m.responseText;try{var j=m.responseData||Ext.decode(h);l.beginUpdate();for(var a=0,b=j.length;a<b;a++){var k=this.createNode(j[a]);if(k){l.appendChild(k)}}l.endUpdate();this.runCallback(d,g||l,[l])}catch(c){this.handleFailure(m)}},handleResponse:function(c){this.transId=false;var b=c.argument;this.processResponse(c,b.node,b.callback,b.scope);this.fireEvent("load",this,b.node,c)},handleFailure:function(c){this.transId=false;var b=c.argument;this.fireEvent("loadexception",this,b.node,c);this.runCallback(b.callback,b.scope||b.node,[b.node])},destroy:function(){this.purgeListeners()}});Ext.tree.TreeFilter=function(a,b){this.tree=a;this.filtered={};Ext.apply(this,b)};Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(b,d,e){d=d||"text";var a;if(typeof b=="string"){var c=b.length;if(c==0&&this.clearBlank){this.clear();return}b=b.toLowerCase();a=function(g){return g.attributes[d].substr(0,c).toLowerCase()==b}}else{if(b.exec){a=function(g){return b.test(g.attributes[d])}}else{throw"Illegal filter type, must be string or regex"}}this.filterBy(a,null,e)},filterBy:function(e,d,c){c=c||this.tree.root;if(this.autoClear){this.clear()}var b=this.filtered,a=this.reverse;var g=function(l){if(l==c){return true}if(b[l.id]){return false}var k=e.call(d||l,l);if(!k||a){b[l.id]=l;l.ui.hide();return false}return true};c.cascade(g);if(this.remove){for(var j in b){if(typeof j!="function"){var h=b[j];if(h&&h.parentNode){h.parentNode.removeChild(h)}}}}},clear:function(){var d=this.tree;var c=this.filtered;for(var b in c){if(typeof b!="function"){var a=c[b];if(a){a.ui.show()}}}this.filtered={}}};Ext.tree.TreeSorter=function(c,d){Ext.apply(this,d);c.on("beforechildrenrendered",this.doSort,this);c.on("append",this.updateSort,this);c.on("insert",this.updateSort,this);c.on("textchange",this.updateSortParent,this);var g=this.dir&&this.dir.toLowerCase()=="desc";var h=this.property||"text";var j=this.sortType;var b=this.folderSort;var e=this.caseSensitive===true;var a=this.leafAttr||"leaf";this.sortFn=function(k,n){if(b){if(k.attributes[a]&&!n.attributes[a]){return 1}if(!k.attributes[a]&&n.attributes[a]){return -1}}var m=j?j(k.attributes[h]):(e?k.attributes[h]:k.attributes[h].toUpperCase());var l=j?j(n.attributes[h]):(e?n.attributes[h]:n.attributes[h].toUpperCase());if(m<l){return g?+1:-1}else{if(m>l){return g?-1:+1}else{return 0}}}};Ext.tree.TreeSorter.prototype={doSort:function(a){a.sort(this.sortFn)},compareNodes:function(b,a){return(b.text.toUpperCase()>a.text.toUpperCase()?1:-1)},updateSort:function(a,b){if(b.childrenRendered){this.doSort.defer(1,this,[b])}},updateSortParent:function(a){var b=a.parentNode;if(b&&b.childrenRendered){this.doSort.defer(1,this,[b])}}};if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(a,b){this.allowParentInsert=b.allowParentInsert||false;this.allowContainerDrop=b.allowContainerDrop||false;this.appendOnly=b.appendOnly||false;Ext.tree.TreeDropZone.superclass.constructor.call(this,a.getTreeEl(),b);this.tree=a;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(a){if(a.hasChildNodes()&&!a.isExpanded()){a.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(a){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[a])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(k,j,g,b,a){if(!k||!a){return false}var c=k.node;var d=a.node;if(!(c&&c.isTarget&&j)){return false}if(j=="append"&&c.allowChildren===false){return false}if((j=="above"||j=="below")&&(c.parentNode&&c.parentNode.allowChildren===false)){return false}if(d&&(c==d||d.contains(c))){return false}var l=this.dragOverData;l.tree=this.tree;l.target=c;l.data=a;l.point=j;l.source=g;l.rawEvent=b;l.dropNode=d;l.cancel=false;var h=this.tree.fireEvent("nodedragover",l);return l.cancel===false&&h!==false},getDropPoint:function(o,m,d){var g=m.node;if(g.isRoot){return g.allowChildren!==false?"append":false}var k=m.ddel;var h=Ext.lib.Dom.getY(k),a=h+k.offsetHeight;var p=Ext.lib.Event.getPageY(o);var c=g.allowChildren===false||g.isLeaf();if(this.appendOnly||g.parentNode.allowChildren===false){return c?false:"append"}var l=false;if(!this.allowParentInsert){l=g.hasChildNodes()&&g.isExpanded()}var j=(a-h)/(c?2:3);if(p>=h&&p<(h+j)){return"above"}else{if(!l&&(c||p>=a-j&&p<=a)){return"below"}else{return"append"}}},onNodeEnter:function(b,c,a,d){this.cancelExpand()},onContainerOver:function(b,a,c){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",b,a,c)){return this.dropAllowed}return this.dropNotAllowed},onNodeOver:function(l,g,d,c){var j=this.getDropPoint(d,l,g);var a=l.node;if(!this.expandProcId&&j=="append"&&a.hasChildNodes()&&!l.node.isExpanded()){this.queueExpand(a)}else{if(j!="append"){this.cancelExpand()}}var b=this.dropNotAllowed;if(this.isValidDropPoint(l,j,g,d,c)){if(j){var k=l.ddel;var h;if(j=="above"){b=l.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";h="x-tree-drag-insert-above"}else{if(j=="below"){b=l.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";h="x-tree-drag-insert-below"}else{b="x-tree-drop-ok-append";h="x-tree-drag-append"}}if(this.lastInsertClass!=h){Ext.fly(k).replaceClass(this.lastInsertClass,h);this.lastInsertClass=h}}}return b},onNodeOut:function(b,c,a,d){this.cancelExpand();this.removeDropIndicators(b)},onNodeDrop:function(b,g,a,h){var c=this.getDropPoint(a,b,g);var j=b.node;j.ui.startDrop();if(!this.isValidDropPoint(b,c,g,a,h)){j.ui.endDrop();return false}var d=h.node||(g.getTreeNode?g.getTreeNode(h,j,c,a):null);return this.processDrop(j,h,c,g,a,d)},onContainerDrop:function(d,c,a){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",d,c,a)){var b=this.tree.getRootNode();b.ui.startDrop();var g=a.node||(d.getTreeNode?d.getTreeNode(a,b,"append",c):null);return this.processDrop(b,a,"append",d,c,g)}return false},processDrop:function(a,j,h,b,k,d){var g={tree:this.tree,target:a,data:j,point:h,source:b,rawEvent:k,dropNode:d,cancel:!d,dropStatus:false};var c=this.tree.fireEvent("beforenodedrop",g);if(c===false||g.cancel===true||!g.dropNode){a.ui.endDrop();return g.dropStatus}a=g.target;if(h=="append"&&!a.isExpanded()){a.expand(false,null,function(){this.completeDrop(g)}.createDelegate(this))}else{this.completeDrop(g)}return true},completeDrop:function(b){var g=b.dropNode,h=b.point,e=b.target;if(!Ext.isArray(g)){g=[g]}var a;for(var d=0,c=g.length;d<c;d++){a=g[d];if(h=="above"){e.parentNode.insertBefore(a,e)}else{if(h=="below"){e.parentNode.insertBefore(a,e.nextSibling)}else{e.appendChild(a)}}}a.ui.focus();if(Ext.enableFx&&this.tree.hlDrop){a.ui.highlight()}e.ui.endDrop();this.tree.fireEvent("nodedrop",b)},afterNodeMoved:function(d,a,c,b,g){if(Ext.enableFx&&this.tree.hlDrop){g.ui.focus();g.ui.highlight()}this.tree.fireEvent("nodedrop",this.tree,b,a,d,c)},getTree:function(){return this.tree},removeDropIndicators:function(b){if(b&&b.ddel){var a=b.ddel;Ext.fly(a).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass"}},beforeDragDrop:function(c,b,a){this.cancelExpand();return true},afterRepair:function(a){if(a&&Ext.enableFx){a.node.ui.highlight()}this.hideProxy()}})}if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(a,b){Ext.tree.TreeDragZone.superclass.constructor.call(this,a.innerCt,b);this.tree=a};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(b,c){var a=b.node;return a&&a.draggable&&!a.disabled},onInitDrag:function(b){var a=this.dragData;this.tree.getSelectionModel().select(a.node);this.tree.eventModel.disable();this.proxy.update("");a.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent("startdrag",this.tree,a.node,b)},getRepairXY:function(b,a){return a.node.ui.getDDRepairXY()},onEndDrag:function(a,b){this.tree.eventModel.enable.defer(100,this.tree.eventModel);this.tree.fireEvent("enddrag",this.tree,a.node,b)},onValidDrop:function(b,c,a){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,b,c);this.hideProxy()},beforeInvalidDrop:function(b,a){var c=this.tree.getSelectionModel();c.clearSelections();c.select(this.dragData.node)},afterRepair:function(){if(Ext.enableFx&&this.tree.hlDrop){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false}})}Ext.tree.TreeEditor=function(c,a,d){a=a||{};var b=a.events?a:new Ext.form.TextField(a);Ext.tree.TreeEditor.superclass.constructor.call(this,b,d);this.tree=c;if(!c.rendered){c.on("render",this.initEditor,this)}else{this.initEditor(c)}};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(a){a.on({scope:this,beforeclick:this.beforeNodeClick,dblclick:this.onNodeDblClick});this.on({scope:this,complete:this.updateNode,beforestartedit:this.fitToTree,specialkey:this.onSpecialKey});this.on("startedit",this.bindScroll,this,{delay:10})},fitToTree:function(e,a){var c=this.tree.getTreeEl().dom,b=a.dom;if(c.scrollLeft>b.offsetLeft){c.scrollLeft=b.offsetLeft}var d=Math.min(this.maxWidth,(c.clientWidth>20?c.clientWidth:c.offsetWidth)-Math.max(0,b.offsetLeft-c.scrollLeft)-5);this.setSize(d,"")},triggerEdit:function(b,a){this.completeEdit();if(b.attributes.editable!==false){this.editNode=b;if(this.tree.autoScroll){Ext.fly(b.ui.getEl()).scrollIntoView(this.tree.body)}var c=b.text||"";if(!Ext.isGecko&&Ext.isEmpty(b.text)){b.setText("&#160;")}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[b.ui.textNode,c]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(a,b){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(a)){b.stopEvent();return this.triggerEdit(a)}},onNodeDblClick:function(a,b){clearTimeout(this.autoEditTimer)},updateNode:function(a,b){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(b)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(a,c){var b=c.getKey();if(b==c.ESC){c.stopEvent();this.cancelEdit()}else{if(b==c.ENTER&&!c.hasModifier()){c.stopEvent();this.completeEdit()}}},onDestroy:function(){clearTimeout(this.autoEditTimer);Ext.tree.TreeEditor.superclass.onDestroy.call(this);var a=this.tree;a.un("beforeclick",this.beforeNodeClick,this);a.un("dblclick",this.onNodeDblClick,this)}});var swfobject=function(){var j="undefined",T="object",y="Shockwave Flash",a="ShockwaveFlash.ShockwaveFlash",S="application/x-shockwave-flash",x="SWFObjectExprInst",b="onreadystatechange",u=window,L=document,V=navigator,z=false,A=[J],Q=[],t=[],o=[],N,w,k,g,p=false,C=false,P,m,O=true,s=function(){var aa=typeof L.getElementById!=j&&typeof L.getElementsByTagName!=j&&typeof L.createElement!=j,ah=V.userAgent.toLowerCase(),aj=V.platform.toLowerCase(),ae=aj?/win/.test(aj):/win/.test(ah),ac=aj?/mac/.test(aj):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,ai=!+"\v1",ag=[0,0,0],ab=null;if(typeof V.plugins!=j&&typeof V.plugins[y]==T){ab=V.plugins[y].description;if(ab&&!(typeof V.mimeTypes!=j&&V.mimeTypes[S]&&!V.mimeTypes[S].enabledPlugin)){z=true;ai=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof u.ActiveXObject!=j){try{var ad=new ActiveXObject(a);if(ad){ab=ad.GetVariable("$version");if(ab){ai=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:ai,win:ae,mac:ac}}(),M=function(){if(!s.w3){return}if((typeof L.readyState!=j&&L.readyState=="complete")||(typeof L.readyState==j&&(L.getElementsByTagName("body")[0]||L.body))){H()}if(!p){if(typeof L.addEventListener!=j){L.addEventListener("DOMContentLoaded",H,false)}if(s.ie&&s.win){L.attachEvent(b,function(){if(L.readyState=="complete"){L.detachEvent(b,arguments.callee);H()}});if(u==top){(function(){if(p){return}try{L.documentElement.doScroll("left")}catch(Z){setTimeout(arguments.callee,0);return}H()})()}}if(s.wk){(function(){if(p){return}if(!/loaded|complete/.test(L.readyState)){setTimeout(arguments.callee,0);return}H()})()}U(H)}}();function H(){if(p){return}try{var Z=L.getElementsByTagName("body")[0].appendChild(h("span"));Z.parentNode.removeChild(Z)}catch(aa){return}p=true;var ab=A.length;for(var ac=0;ac<ab;ac++){A[ac]()}}function q(Z){if(p){Z()}else{A[A.length]=Z}}function U(Z){if(typeof u.addEventListener!=j){u.addEventListener("load",Z,false)}else{if(typeof L.addEventListener!=j){L.addEventListener("load",Z,false)}else{if(typeof u.attachEvent!=j){K(u,"onload",Z)}else{if(typeof u.onload=="function"){var aa=u.onload;u.onload=function(){aa();Z()}}else{u.onload=Z}}}}}function J(){if(z){B()}else{n()}}function B(){var ab=L.getElementsByTagName("body")[0];var aa=h(T);aa.setAttribute("type",S);var Z=ab.appendChild(aa);if(Z){var ac=0;(function(){if(typeof Z.GetVariable!=j){var ad=Z.GetVariable("$version");if(ad){ad=ad.split(" ")[1].split(",");s.pv=[parseInt(ad[0],10),parseInt(ad[1],10),parseInt(ad[2],10)]}}else{if(ac<10){ac++;setTimeout(arguments.callee,10);return}}ab.removeChild(aa);Z=null;n()})()}else{n()}}function n(){var ag=Q.length;if(ag>0){for(var af=0;af<ag;af++){var ak=Q[af].id;var ab=Q[af].callbackFn;var aa={success:false,id:ak};if(s.pv[0]>0){var ae=E(ak);if(ae){if(l(Q[af].swfVersion)&&!(s.wk&&s.wk<312)){Y(ak,true);if(ab){aa.success=true;aa.ref=d(ak);ab(aa)}}else{if(Q[af].expressInstall&&e()){var ai={};ai.data=Q[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var aj=ae.getElementsByTagName("param");var ac=aj.length;for(var ad=0;ad<ac;ad++){if(aj[ad].getAttribute("name").toLowerCase()!="movie"){ah[aj[ad].getAttribute("name")]=aj[ad].getAttribute("value")}}v(ai,ah,ak,ab)}else{R(ae);if(ab){ab(aa)}}}}}else{Y(ak,true);if(ab){var Z=d(ak);if(Z&&typeof Z.SetVariable!=j){aa.success=true;aa.ref=Z}ab(aa)}}}}}function d(aa){var ab=null;var ac=E(aa);if(ac&&ac.nodeName=="OBJECT"){if(typeof ac.SetVariable!=j){ab=ac}else{var Z=ac.getElementsByTagName(T)[0];if(Z){ab=Z}}}return ab}function e(){return !C&&l("6.0.65")&&(s.win||s.mac)&&!(s.wk&&s.wk<312)}function v(ae,af,ab,ad){C=true;k=ad||null;g={success:false,id:ab};var aa=E(ab);if(aa){if(aa.nodeName=="OBJECT"){N=I(aa);w=null}else{N=aa;w=ab}ae.id=x;if(typeof ae.width==j||(!/%$/.test(ae.width)&&parseInt(ae.width,10)<310)){ae.width="310"}if(typeof ae.height==j||(!/%$/.test(ae.height)&&parseInt(ae.height,10)<137)){ae.height="137"}L.title=L.title.slice(0,47)+" - Flash Player Installation";var Z=s.ie&&s.win?"ActiveX":"PlugIn",ag="MMredirectURL="+u.location.toString().replace(/&/g,"%26")+"&MMplayerType="+Z+"&MMdoctitle="+L.title;if(typeof af.flashvars!=j){af.flashvars+="&"+ag}else{af.flashvars=ag}if(s.ie&&s.win&&aa.readyState!=4){var ac=h("div");ab+="SWFObjectNew";ac.setAttribute("id",ab);aa.parentNode.insertBefore(ac,aa);aa.style.display="none";(function(){if(aa.readyState==4){aa.parentNode.removeChild(aa)}else{setTimeout(arguments.callee,10)}})()}W(ae,af,ab)}}function R(Z){if(s.ie&&s.win&&Z.readyState!=4){var aa=h("div");Z.parentNode.insertBefore(aa,Z);aa.parentNode.replaceChild(I(Z),aa);Z.style.display="none";(function(){if(Z.readyState==4){Z.parentNode.removeChild(Z)}else{setTimeout(arguments.callee,10)}})()}else{Z.parentNode.replaceChild(I(Z),Z)}}function I(Z){var ae=h("div");if(s.win&&s.ie){ae.innerHTML=Z.innerHTML}else{var ab=Z.getElementsByTagName(T)[0];if(ab){var aa=ab.childNodes;if(aa){var ac=aa.length;for(var ad=0;ad<ac;ad++){if(!(aa[ad].nodeType==1&&aa[ad].nodeName=="PARAM")&&!(aa[ad].nodeType==8)){ae.appendChild(aa[ad].cloneNode(true))}}}}}return ae}function W(ai,ag,ak){var aj,aa=E(ak);if(s.wk&&s.wk<312){return aj}if(aa){if(typeof ai.id==j){ai.id=ak}if(s.ie&&s.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";t[t.length]=ai.id;aj=E(ai.id)}else{var Z=h(T);Z.setAttribute("type",S);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){G(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);aj=Z}}return aj}function G(Z,ab,ac){var aa=h("param");aa.setAttribute("name",ab);aa.setAttribute("value",ac);Z.appendChild(aa)}function c(Z){var aa=E(Z);if(aa&&aa.nodeName=="OBJECT"){if(s.ie&&s.win){aa.style.display="none";(function(){if(aa.readyState==4){D(Z)}else{setTimeout(arguments.callee,10)}})()}else{aa.parentNode.removeChild(aa)}}}function D(aa){var ab=E(aa);if(ab){for(var Z in ab){if(typeof ab[Z]=="function"){ab[Z]=null}}ab.parentNode.removeChild(ab)}}function E(aa){var ab=null;try{ab=L.getElementById(aa)}catch(Z){}return ab}function h(Z){return L.createElement(Z)}function K(aa,ab,Z){aa.attachEvent(ab,Z);o[o.length]=[aa,ab,Z]}function l(aa){var ab=s.pv,Z=aa.split(".");Z[0]=parseInt(Z[0],10);Z[1]=parseInt(Z[1],10)||0;Z[2]=parseInt(Z[2],10)||0;return(ab[0]>Z[0]||(ab[0]==Z[0]&&ab[1]>Z[1])||(ab[0]==Z[0]&&ab[1]==Z[1]&&ab[2]>=Z[2]))?true:false}function X(Z,ab,aa,af){if(s.ie&&s.mac){return}var ae=L.getElementsByTagName("head")[0];if(!ae){return}var ac=(aa&&typeof aa=="string")?aa:"screen";if(af){P=null;m=null}if(!P||m!=ac){var ad=h("style");ad.setAttribute("type","text/css");ad.setAttribute("media",ac);P=ae.appendChild(ad);if(s.ie&&s.win&&typeof L.styleSheets!=j&&L.styleSheets.length>0){P=L.styleSheets[L.styleSheets.length-1]}m=ac}if(s.ie&&s.win){if(P&&typeof P.addRule==T){P.addRule(Z,ab)}}else{if(P&&typeof L.createTextNode!=j){P.appendChild(L.createTextNode(Z+" {"+ab+"}"))}}}function Y(aa,ab){if(!O){return}var Z=ab?"visible":"hidden";if(p&&E(aa)){E(aa).style.visibility=Z}else{X("#"+aa,"visibility:"+Z)}}function r(ab){var aa=/[\\\"<>\.;]/;var Z=aa.exec(ab)!=null;return Z&&typeof encodeURIComponent!=j?encodeURIComponent(ab):ab}var F=function(){if(s.ie&&s.win){window.attachEvent("onunload",function(){var aa=o.length;for(var Z=0;Z<aa;Z++){o[Z][0].detachEvent(o[Z][1],o[Z][2])}var ad=t.length;for(var ae=0;ae<ad;ae++){c(t[ae])}for(var ab in s){s[ab]=null}s=null;for(var ac in swfobject){swfobject[ac]=null}swfobject=null})}}();return{registerObject:function(aa,ab,Z,ad){if(s.w3&&aa&&ab){var ac={};ac.id=aa;ac.swfVersion=ab;ac.expressInstall=Z;ac.callbackFn=ad;Q[Q.length]=ac;Y(aa,false)}else{if(ad){ad({success:false,id:aa})}}},getObjectById:function(Z){if(s.w3){return d(Z)}},embedSWF:function(ab,ah,ae,ag,aj,aa,Z,ad,af,ac){var ai={success:false,id:ah};if(s.w3&&!(s.wk&&s.wk<312)&&ab&&ah&&ae&&ag&&aj){Y(ah,false);q(function(){ae+="";ag+="";var al={};if(af&&typeof af===T){for(var an in af){al[an]=af[an]}}al.data=ab;al.width=ae;al.height=ag;var ao={};if(ad&&typeof ad===T){for(var am in ad){ao[am]=ad[am]}}if(Z&&typeof Z===T){for(var ak in Z){if(typeof ao.flashvars!=j){ao.flashvars+="&"+ak+"="+Z[ak]}else{ao.flashvars=ak+"="+Z[ak]}}}if(l(aj)){var ap=W(al,ao,ah);if(al.id==ah){Y(ah,true)}ai.success=true;ai.ref=ap}else{if(aa&&e()){al.data=aa;v(al,ao,ah,ac);return}else{Y(ah,true)}}if(ac){ac(ai)}})}else{if(ac){ac(ai)}}},switchOffAutoHideShow:function(){O=false},ua:s,getFlashPlayerVersion:function(){return{major:s.pv[0],minor:s.pv[1],release:s.pv[2]}},hasFlashPlayerVersion:l,createSWF:function(aa,ab,Z){if(s.w3){return W(aa,ab,Z)}else{return undefined}},showExpressInstall:function(Z,aa,ab,ac){if(s.w3&&e()){v(Z,aa,ab,ac)}},removeSWF:function(Z){if(s.w3){c(Z)}},createCSS:function(aa,Z,ab,ac){if(s.w3){X(aa,Z,ab,ac)}},addDomLoadEvent:q,addLoadEvent:U,getQueryParamValue:function(aa){var Z=L.location.search||L.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return r(Z)}var ab=Z.split("&");for(var ac=0;ac<ab.length;ac++){if(ab[ac].substring(0,ab[ac].indexOf("="))==aa){return r(ab[ac].substring((ab[ac].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(C){var Z=E(x);if(Z&&N){Z.parentNode.replaceChild(N,Z);if(w){Y(w,true);if(s.ie&&s.win){N.style.display="block"}}if(k){k(g)}}C=false}}}}();Ext.FlashComponent=Ext.extend(Ext.BoxComponent,{flashVersion:"9.0.115",backgroundColor:"#ffffff",wmode:"opaque",flashVars:undefined,flashParams:undefined,url:undefined,swfId:undefined,swfWidth:"100%",swfHeight:"100%",expressInstall:false,initComponent:function(){Ext.FlashComponent.superclass.initComponent.call(this);this.addEvents("initialize")},onRender:function(){Ext.FlashComponent.superclass.onRender.apply(this,arguments);var b=Ext.apply({allowScriptAccess:"always",bgcolor:this.backgroundColor,wmode:this.wmode},this.flashParams),a=Ext.apply({allowedDomain:document.location.hostname,elementID:this.getId(),eventHandler:"Ext.FlashEventProxy.onEvent"},this.flashVars);new swfobject.embedSWF(this.url,this.id,this.swfWidth,this.swfHeight,this.flashVersion,this.expressInstall?Ext.FlashComponent.EXPRESS_INSTALL_URL:undefined,a,b);this.swf=Ext.getDom(this.id);this.el=Ext.get(this.swf)},getSwfId:function(){return this.swfId||(this.swfId="extswf"+(++Ext.Component.AUTO_ID))},getId:function(){return this.id||(this.id="extflashcmp"+(++Ext.Component.AUTO_ID))},onFlashEvent:function(a){switch(a.type){case"swfReady":this.initSwf();return;case"log":return}a.component=this;this.fireEvent(a.type.toLowerCase().replace(/event$/,""),a)},initSwf:function(){this.onSwfReady(!!this.isInitialized);this.isInitialized=true;this.fireEvent("initialize",this)},beforeDestroy:function(){if(this.rendered){swfobject.removeSWF(this.swf.id)}Ext.FlashComponent.superclass.beforeDestroy.call(this)},onSwfReady:Ext.emptyFn});Ext.FlashComponent.EXPRESS_INSTALL_URL="http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf";Ext.reg("flash",Ext.FlashComponent);Ext.FlashEventProxy={onEvent:function(a,c){var b=Ext.getCmp(a);if(b){b.onFlashEvent(c)}else{arguments.callee.defer(10,this,[a,c])}}};Ext.chart.Chart=Ext.extend(Ext.FlashComponent,{refreshBuffer:100,chartStyle:{padding:10,animationEnabled:true,font:{name:"Tahoma",color:4473924,size:11},dataTip:{padding:5,border:{color:10075112,size:1},background:{color:14346230,alpha:0.9},font:{name:"Tahoma",color:1393291,size:10,bold:true}}},extraStyle:null,seriesStyles:null,disableCaching:Ext.isIE||Ext.isOpera,disableCacheParam:"_dc",initComponent:function(){Ext.chart.Chart.superclass.initComponent.call(this);if(!this.url){this.url=Ext.chart.Chart.CHART_URL}if(this.disableCaching){this.url=Ext.urlAppend(this.url,String.format("{0}={1}",this.disableCacheParam,new Date().getTime()))}this.addEvents("itemmouseover","itemmouseout","itemclick","itemdoubleclick","itemdragstart","itemdrag","itemdragend","beforerefresh","refresh");this.store=Ext.StoreMgr.lookup(this.store)},setStyle:function(a,b){this.swf.setStyle(a,Ext.encode(b))},setStyles:function(a){this.swf.setStyles(Ext.encode(a))},setSeriesStyles:function(b){this.seriesStyles=b;var a=[];Ext.each(b,function(c){a.push(Ext.encode(c))});this.swf.setSeriesStyles(a)},setCategoryNames:function(a){this.swf.setCategoryNames(a)},setTipRenderer:function(b){var a=this;this.tipFnName=this.createFnProxy(function(d,g,c){var e=a.store.getAt(g);return b(a,e,g,c)},this.tipFnName);this.swf.setDataTipFunction(this.tipFnName)},setSeries:function(a){this.series=a;this.refresh()},bindStore:function(a,b){if(!b&&this.store){if(a!==this.store&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("datachanged",this.refresh,this);this.store.un("add",this.delayRefresh,this);this.store.un("remove",this.delayRefresh,this);this.store.un("update",this.delayRefresh,this);this.store.un("clear",this.refresh,this)}}if(a){a=Ext.StoreMgr.lookup(a);a.on({scope:this,datachanged:this.refresh,add:this.delayRefresh,remove:this.delayRefresh,update:this.delayRefresh,clear:this.refresh})}this.store=a;if(a&&!b){this.refresh()}},onSwfReady:function(a){Ext.chart.Chart.superclass.onSwfReady.call(this,a);this.swf.setType(this.type);if(this.chartStyle){this.setStyles(Ext.apply({},this.extraStyle,this.chartStyle))}if(this.categoryNames){this.setCategoryNames(this.categoryNames)}if(this.tipRenderer){this.setTipRenderer(this.tipRenderer)}if(!a){this.bindStore(this.store,true)}this.refresh.defer(10,this)},delayRefresh:function(){if(!this.refreshTask){this.refreshTask=new Ext.util.DelayedTask(this.refresh,this)}this.refreshTask.delay(this.refreshBuffer)},refresh:function(){if(this.fireEvent("beforerefresh",this)!==false){var d=false;var b=[],k=this.store.data.items;for(var n=0,c=k.length;n<c;n++){b[n]=k[n].data}var m=[];var l=0;var e=null;var a=0;if(this.series){l=this.series.length;for(a=0;a<l;a++){e=this.series[a];var h={};for(var g in e){if(g=="style"&&e.style!==null){h.style=Ext.encode(e.style);d=true}else{h[g]=e[g]}}m.push(h)}}if(l>0){for(a=0;a<l;a++){e=m[a];if(!e.type){e.type=this.type}e.dataProvider=b}}else{m.push({type:this.type,dataProvider:b})}this.swf.setDataProvider(m);if(this.seriesStyles){this.setSeriesStyles(this.seriesStyles)}this.fireEvent("refresh",this)}},createFnProxy:function(c,b){if(b){delete window[b]}var a="extFnProxy"+(++Ext.chart.Chart.PROXY_FN_ID);window[a]=c;return a},onDestroy:function(){Ext.chart.Chart.superclass.onDestroy.call(this);this.bindStore(null);var a=this.tipFnName;if(!Ext.isEmpty(a)){delete window[a]}}});Ext.reg("chart",Ext.chart.Chart);Ext.chart.Chart.PROXY_FN_ID=0;Ext.chart.Chart.CHART_URL="http://yui.yahooapis.com/2.7.0/build/charts/assets/charts.swf";Ext.chart.PieChart=Ext.extend(Ext.chart.Chart,{type:"pie",onSwfReady:function(a){Ext.chart.PieChart.superclass.onSwfReady.call(this,a);this.setDataField(this.dataField);this.setCategoryField(this.categoryField)},setDataField:function(a){this.dataField=a;this.swf.setDataField(a)},setCategoryField:function(a){this.categoryField=a;this.swf.setCategoryField(a)}});Ext.reg("piechart",Ext.chart.PieChart);Ext.chart.CartesianChart=Ext.extend(Ext.chart.Chart,{onSwfReady:function(a){Ext.chart.CartesianChart.superclass.onSwfReady.call(this,a);if(this.xField){this.setXField(this.xField)}if(this.yField){this.setYField(this.yField)}if(this.xAxis){this.setXAxis(this.xAxis)}if(this.yAxis){this.setYAxis(this.yAxis)}},setXField:function(a){this.xField=a;this.swf.setHorizontalField(a)},setYField:function(a){this.yField=a;this.swf.setVerticalField(a)},setXAxis:function(a){this.xAxis=this.createAxis("xAxis",a);this.swf.setHorizontalAxis(this.xAxis)},setYAxis:function(a){this.yAxis=this.createAxis("yAxis",a);this.swf.setVerticalAxis(this.yAxis)},createAxis:function(a,b){var c=Ext.apply({},b),d=null;if(this[a]){d=this[a].labelFunction}if(c.labelRenderer){var e=c.labelRenderer;c.labelFunction=this.createFnProxy(function(g){return e(g)},d);delete c.labelRenderer}return c}});Ext.reg("cartesianchart",Ext.chart.CartesianChart);Ext.chart.LineChart=Ext.extend(Ext.chart.CartesianChart,{type:"line"});Ext.reg("linechart",Ext.chart.LineChart);Ext.chart.ColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"column"});Ext.reg("columnchart",Ext.chart.ColumnChart);Ext.chart.StackedColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackcolumn"});Ext.reg("stackedcolumnchart",Ext.chart.StackedColumnChart);Ext.chart.BarChart=Ext.extend(Ext.chart.CartesianChart,{type:"bar"});Ext.reg("barchart",Ext.chart.BarChart);Ext.chart.StackedBarChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackbar"});Ext.reg("stackedbarchart",Ext.chart.StackedBarChart);Ext.chart.Axis=function(a){Ext.apply(this,a)};Ext.chart.Axis.prototype={type:null,orientation:"horizontal",reverse:false,labelFunction:null,hideOverlappingLabels:true};Ext.chart.NumericAxis=Ext.extend(Ext.chart.Axis,{type:"numeric",minimum:NaN,maximum:NaN,majorUnit:NaN,minorUnit:NaN,snapToUnits:true,alwaysShowZero:true,scale:"linear"});Ext.chart.TimeAxis=Ext.extend(Ext.chart.Axis,{type:"time",minimum:null,maximum:null,majorUnit:NaN,majorTimeUnit:null,minorUnit:NaN,minorTimeUnit:null,snapToUnits:true});Ext.chart.CategoryAxis=Ext.extend(Ext.chart.Axis,{type:"category",categoryNames:null});Ext.chart.Series=function(a){Ext.apply(this,a)};Ext.chart.Series.prototype={type:null,displayName:null};Ext.chart.CartesianSeries=Ext.extend(Ext.chart.Series,{xField:null,yField:null});Ext.chart.ColumnSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"column"});Ext.chart.LineSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"line"});Ext.chart.BarSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"bar"});Ext.chart.PieSeries=Ext.extend(Ext.chart.Series,{type:"pie",dataField:null,categoryField:null});Ext.layout.MenuLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,setContainer:function(a){this.monitorResize=!a.floating;a.on("autosize",this.doAutoSize,this);Ext.layout.MenuLayout.superclass.setContainer.call(this,a)},renderItem:function(g,b,e){if(!this.itemTpl){this.itemTpl=Ext.layout.MenuLayout.prototype.itemTpl=new Ext.XTemplate('<li id="{itemId}" class="{itemCls}">','<tpl if="needsIcon">','<img src="{icon}" class="{iconCls}"/>',"</tpl>","</li>")}if(g&&!g.rendered){if(Ext.isNumber(b)){b=e.dom.childNodes[b]}var d=this.getItemArgs(g);g.render(g.positionEl=b?this.itemTpl.insertBefore(b,d,true):this.itemTpl.append(e,d,true));g.positionEl.menuItemId=g.getItemId();if(!d.isMenuItem&&d.needsIcon){g.positionEl.addClass("x-menu-list-item-indent")}this.configureItem(g,b)}else{if(g&&!this.isValidParent(g,e)){if(Ext.isNumber(b)){b=e.dom.childNodes[b]}e.dom.insertBefore(g.getActionEl().dom,b||null)}}},getItemArgs:function(b){var a=b instanceof Ext.menu.Item;return{isMenuItem:a,needsIcon:!a&&(b.icon||b.iconCls),icon:b.icon||Ext.BLANK_IMAGE_URL,iconCls:"x-menu-item-icon "+(b.iconCls||""),itemId:"x-menu-el-"+b.id,itemCls:"x-menu-list-item "}},isValidParent:function(b,a){return b.el.up("li.x-menu-list-item",5).dom.parentNode===(a.dom||a)},onLayout:function(a,b){this.renderAll(a,b);this.doAutoSize()},doAutoSize:function(){var a=this.container,c=a.width;if(a.floating){if(c){a.setWidth(c)}else{if(Ext.isIE){a.setWidth(Ext.isStrict&&(Ext.isIE7||Ext.isIE8)?"auto":a.minWidth);var b=a.getEl(),d=b.dom.offsetWidth;a.setWidth(a.getLayoutTarget().getWidth()+b.getFrameWidth("lr"))}}}}});Ext.Container.LAYOUTS.menu=Ext.layout.MenuLayout;Ext.menu.Menu=Ext.extend(Ext.Container,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,enableScrolling:true,maxHeight:null,scrollIncrement:24,showSeparator:true,defaultOffsets:[0,0],plain:false,floating:true,hidden:true,layout:"menu",hideMode:"offsets",scrollerHeight:8,autoLayout:true,defaultType:"menuitem",bufferResize:false,initComponent:function(){if(Ext.isArray(this.initialConfig)){Ext.apply(this,{items:this.initialConfig})}this.addEvents("click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);if(this.floating){Ext.EventManager.onWindowResize(this.hide,this)}else{if(this.initialConfig.hidden!==false){this.hidden=false}this.internalDefaults={hideOnClick:false}}Ext.menu.Menu.superclass.initComponent.call(this);if(this.autoLayout){this.on({add:this.doLayout,remove:this.doLayout,scope:this})}},getLayoutTarget:function(){return this.ul},onRender:function(c,b){if(!c){c=Ext.getBody()}var a={id:this.getId(),cls:"x-menu "+((this.floating)?"x-menu-floating x-layer ":"")+(this.cls||"")+(this.plain?" x-menu-plain":"")+(this.showSeparator?"":" x-menu-nosep"),style:this.style,cn:[{tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"},{tag:"ul",cls:"x-menu-list"}]};if(this.floating){this.el=new Ext.Layer({shadow:this.shadow,dh:a,constrain:false,parentEl:c,zindex:15000})}else{this.el=c.createChild(a)}Ext.menu.Menu.superclass.onRender.call(this,c,b);if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}this.focusEl=this.el.child("a.x-menu-focus");this.ul=this.el.child("ul.x-menu-list");this.mon(this.ul,{scope:this,click:this.onClick,mouseover:this.onMouseOver,mouseout:this.onMouseOut});if(this.enableScrolling){this.mon(this.el,{scope:this,delegate:".x-menu-scroller",click:this.onScroll,mouseover:this.deactivateActive})}},findTargetItem:function(b){var a=b.getTarget(".x-menu-list-item",this.ul,true);if(a&&a.menuItemId){return this.items.get(a.menuItemId)}},onClick:function(b){var a=this.findTargetItem(b);if(a){if(a.isFormField){this.setActiveItem(a)}else{if(a instanceof Ext.menu.BaseItem){if(a.menu&&this.ignoreParentClicks){a.expandMenu();b.preventDefault()}else{if(a.onClick){a.onClick(b);this.fireEvent("click",this,a,b)}}}}}},setActiveItem:function(a,b){if(a!=this.activeItem){this.deactivateActive();if((this.activeItem=a).isFormField){a.focus()}else{a.activate(b)}}else{if(b){a.expandMenu()}}},deactivateActive:function(){var b=this.activeItem;if(b){if(b.isFormField){if(b.collapse){b.collapse()}}else{b.deactivate()}delete this.activeItem}},tryActivate:function(c,b){var e=this.items;for(var g=c,d=e.length;g>=0&&g<d;g+=b){var a=e.get(g);if(!a.disabled&&(a.canActivate||a.isFormField)){this.setActiveItem(a,false);return a}}return false},onMouseOver:function(b){var a=this.findTargetItem(b);if(a){if(a.canActivate&&!a.disabled){this.setActiveItem(a,true)}}this.over=true;this.fireEvent("mouseover",this,b,a)},onMouseOut:function(b){var a=this.findTargetItem(b);if(a){if(a==this.activeItem&&a.shouldDeactivate&&a.shouldDeactivate(b)){this.activeItem.deactivate();delete this.activeItem}}this.over=false;this.fireEvent("mouseout",this,b,a)},onScroll:function(b,d){if(b){b.stopEvent()}var c=this.ul.dom,a=Ext.fly(d).is(".x-menu-scroller-top");c.scrollTop+=this.scrollIncrement*(a?-1:1);if(a?c.scrollTop<=0:c.scrollTop+this.activeMax>=c.scrollHeight){this.onScrollerOut(null,d)}},onScrollerIn:function(b,d){var c=this.ul.dom,a=Ext.fly(d).is(".x-menu-scroller-top");if(a?c.scrollTop>0:c.scrollTop+this.activeMax<c.scrollHeight){Ext.fly(d).addClass(["x-menu-item-active","x-menu-scroller-active"])}},onScrollerOut:function(b,a){Ext.fly(a).removeClass(["x-menu-item-active","x-menu-scroller-active"])},show:function(c,a,b){if(this.floating){this.parentMenu=b;if(!this.el){this.render();this.doLayout(false,true)}this.showAt(this.el.getAlignToXY(c,a||this.defaultAlign,this.defaultOffsets),b)}else{Ext.menu.Menu.superclass.show.call(this)}},showAt:function(b,a){if(this.fireEvent("beforeshow",this)!==false){this.parentMenu=a;if(!this.el){this.render()}if(this.enableScrolling){this.el.setXY(b);this.constrainScroll(b[1]);b=[this.el.adjustForConstraints(b)[0],b[1]]}else{b=this.el.adjustForConstraints(b)}this.el.setXY(b);this.el.show();Ext.menu.Menu.superclass.onShow.call(this);if(Ext.isIE){this.fireEvent("autosize",this);if(!Ext.isIE8){this.el.repaint()}}this.hidden=false;this.focus();this.fireEvent("show",this)}},constrainScroll:function(a){var b,c=this.ul.setHeight("auto").getHeight();if(this.floating){b=this.maxHeight?this.maxHeight:Ext.fly(this.el.dom.parentNode).getViewSize(false).height-a}else{b=this.getHeight()}if(c>b&&b>0){this.activeMax=b-this.scrollerHeight*2-this.el.getFrameWidth("tb")-Ext.num(this.el.shadowOffset,0);this.ul.setHeight(this.activeMax);this.createScrollers();this.el.select(".x-menu-scroller").setDisplayed("")}else{this.ul.setHeight(c);this.el.select(".x-menu-scroller").setDisplayed("none")}this.ul.dom.scrollTop=0},createScrollers:function(){if(!this.scroller){this.scroller={pos:0,top:this.el.insertFirst({tag:"div",cls:"x-menu-scroller x-menu-scroller-top",html:"&#160;"}),bottom:this.el.createChild({tag:"div",cls:"x-menu-scroller x-menu-scroller-bottom",html:"&#160;"})};this.scroller.top.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.topRepeater=new Ext.util.ClickRepeater(this.scroller.top,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.top],false)}});this.scroller.bottom.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.bottomRepeater=new Ext.util.ClickRepeater(this.scroller.bottom,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.bottom],false)}})}},onLayout:function(){if(this.isVisible()){if(this.enableScrolling){this.constrainScroll(this.el.getTop())}if(this.floating){this.el.sync()}}},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(a){this.deepHide=a;Ext.menu.Menu.superclass.hide.call(this);delete this.deepHide},onHide:function(){Ext.menu.Menu.superclass.onHide.call(this);this.deactivateActive();if(this.el&&this.floating){this.el.hide()}var a=this.parentMenu;if(this.deepHide===true&&a){if(a.floating){a.hide(true)}else{a.deactivateActive()}}},lookupComponent:function(a){if(Ext.isString(a)){a=(a=="separator"||a=="-")?new Ext.menu.Separator():new Ext.menu.TextItem(a);this.applyDefaults(a)}else{if(Ext.isObject(a)){a=this.getMenuItem(a)}else{if(a.tagName||a.el){a=new Ext.BoxComponent({el:a})}}}return a},applyDefaults:function(b){if(!Ext.isString(b)){b=Ext.menu.Menu.superclass.applyDefaults.call(this,b);var a=this.internalDefaults;if(a){if(b.events){Ext.applyIf(b.initialConfig,a);Ext.apply(b,a)}else{Ext.applyIf(b,a)}}}return b},getMenuItem:function(a){if(!a.isXType){if(!a.xtype&&Ext.isBoolean(a.checked)){return new Ext.menu.CheckItem(a)}return Ext.create(a,this.defaultType)}return a},addSeparator:function(){return this.add(new Ext.menu.Separator())},addElement:function(a){return this.add(new Ext.menu.BaseItem(a))},addItem:function(a){return this.add(a)},addMenuItem:function(a){return this.add(this.getMenuItem(a))},addText:function(a){return this.add(new Ext.menu.TextItem(a))},onDestroy:function(){var a=this.parentMenu;if(a&&a.activeChild==this){delete a.activeChild}delete this.parentMenu;Ext.menu.Menu.superclass.onDestroy.call(this);Ext.menu.MenuMgr.unregister(this);Ext.EventManager.removeResizeListener(this.hide,this);if(this.keyNav){this.keyNav.disable()}var b=this.scroller;if(b){Ext.destroy(b.topRepeater,b.bottomRepeater,b.top,b.bottom)}Ext.destroy(this.el,this.focusEl,this.ul)}});Ext.reg("menu",Ext.menu.Menu);Ext.menu.MenuNav=Ext.extend(Ext.KeyNav,function(){function a(d,c){if(!c.tryActivate(c.items.indexOf(c.activeItem)-1,-1)){c.tryActivate(c.items.length-1,-1)}}function b(d,c){if(!c.tryActivate(c.items.indexOf(c.activeItem)+1,1)){c.tryActivate(0,1)}}return{constructor:function(c){Ext.menu.MenuNav.superclass.constructor.call(this,c.el);this.scope=this.menu=c},doRelay:function(d,c){var g=d.getKey();if(this.menu.activeItem&&this.menu.activeItem.isFormField&&g!=d.TAB){return false}if(!this.menu.activeItem&&d.isNavKeyPress()&&g!=d.SPACE&&g!=d.RETURN){this.menu.tryActivate(0,1);return false}return c.call(this.scope||this,d,this.menu)},tab:function(d,c){d.stopEvent();if(d.shiftKey){a(d,c)}else{b(d,c)}},up:a,down:b,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 k,h,g={},c=false,a=new Date();function d(){k={};h=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(h.length>0){m()}})}function m(){if(h&&h.length>0){var p=h.clone();p.each(function(q){q.hide()});return true}return false}function j(p){h.remove(p);if(h.length<1){Ext.getDoc().un("mousedown",b);c=false}}function o(p){var q=h.last();a=new Date();h.add(p);if(!c){Ext.getDoc().on("mousedown",b);c=true}if(p.parentMenu){p.getEl().setZIndex(parseInt(p.parentMenu.getEl().getStyle("z-index"),10)+3);p.parentMenu.activeChild=p}else{if(q&&q.isVisible()){p.getEl().setZIndex(parseInt(q.getEl().getStyle("z-index"),10)+3)}}}function e(p){if(p.activeChild){p.activeChild.hide()}if(p.autoHideTimer){clearTimeout(p.autoHideTimer);delete p.autoHideTimer}}function l(p){var q=p.parentMenu;if(!q&&!p.allowOtherMenus){m()}else{if(q&&q.activeChild){q.activeChild.hide()}}}function b(p){if(a.getElapsed()>50&&h.length>0&&!p.getTarget(".x-menu")){m()}}function n(s,q){if(q){var p=g[s.group];for(var t=0,r=p.length;t<r;t++){if(p[t]!=s){p[t].setChecked(false)}}}}return{hideAll:function(){return m()},register:function(p){if(!k){d()}k[p.id]=p;p.on({beforehide:e,hide:j,beforeshow:l,show:o})},get:function(p){if(typeof p=="string"){if(!k){return null}return k[p]}else{if(p.events){return p}else{if(typeof p.length=="number"){return new Ext.menu.Menu({items:p})}else{return Ext.create(p,"menu")}}}},unregister:function(p){delete k[p.id];p.un("beforehide",e);p.un("hide",j);p.un("beforeshow",l);p.un("show",o)},registerCheckable:function(p){var q=p.group;if(q){if(!g[q]){g[q]=[]}g[q].push(p);p.on("beforecheckchange",n)}},unregisterCheckable:function(p){var q=p.group;if(q){g[q].remove(p);p.un("beforecheckchange",n)}},getCheckedItem:function(p){var q=g[p];if(q){for(var s=0,r=q.length;s<r;s++){if(q[s].checked){return q[s]}}}return null},setCheckedItem:function(t,q){var p=g[t];if(p){for(var s=0,r=p.length;s<r;s++){if(p[s].id==q){p[s].setChecked(true)}}}return null}}}();Ext.menu.BaseItem=Ext.extend(Ext.Component,{canActivate:false,activeClass:"x-menu-item-active",hideOnClick:true,clickHideDelay:1,ctype:"Ext.menu.BaseItem",actionMode:"container",initComponent:function(){Ext.menu.BaseItem.superclass.initComponent.call(this);this.addEvents("click","activate","deactivate");if(this.handler){this.on("click",this.handler,this.scope)}},onRender:function(b,a){Ext.menu.BaseItem.superclass.onRender.apply(this,arguments);if(this.ownerCt&&this.ownerCt instanceof Ext.menu.Menu){this.parentMenu=this.ownerCt}else{this.container.addClass("x-menu-list-item");this.mon(this.el,{scope:this,click:this.onClick,mouseenter:this.activate,mouseleave:this.deactivate})}},setHandler:function(b,a){if(this.handler){this.un("click",this.handler,this.scope)}this.on("click",this.handler=b,this.scope=a)},onClick:function(a){if(!this.disabled&&this.fireEvent("click",this,a)!==false&&(this.parentMenu&&this.parentMenu.fireEvent("itemclick",this,a)!==false)){this.handleClick(a)}else{a.stopEvent()}},activate:function(){if(this.disabled){return false}var a=this.container;a.addClass(this.activeClass);this.region=a.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(a){return !this.region||!this.region.contains(a.getPoint())},handleClick:function(b){var a=this.parentMenu;if(this.hideOnClick){if(a.floating){a.hide.defer(this.clickHideDelay,a,[true])}else{a.deactivateActive()}}},expandMenu:Ext.emptyFn,hideMenu:Ext.emptyFn});Ext.reg("menubaseitem",Ext.menu.BaseItem);Ext.menu.TextItem=Ext.extend(Ext.menu.BaseItem,{hideOnClick:false,itemCls:"x-menu-text",constructor:function(a){if(typeof a=="string"){a={text:a}}Ext.menu.TextItem.superclass.constructor.call(this,a)},onRender:function(){var a=document.createElement("span");a.className=this.itemCls;a.innerHTML=this.text;this.el=a;Ext.menu.TextItem.superclass.onRender.apply(this,arguments)}});Ext.reg("menutextitem",Ext.menu.TextItem);Ext.menu.Separator=Ext.extend(Ext.menu.BaseItem,{itemCls:"x-menu-sep",hideOnClick:false,activeClass:"",onRender:function(a){var b=document.createElement("span");b.className=this.itemCls;b.innerHTML="&#160;";this.el=b;a.addClass("x-menu-sep-li");Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.reg("menuseparator",Ext.menu.Separator);Ext.menu.Item=Ext.extend(Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,hideDelay:200,ctype:"Ext.menu.Item",initComponent:function(){Ext.menu.Item.superclass.initComponent.call(this);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu);this.menu.ownerCt=this}},onRender:function(d,b){if(!this.itemTpl){this.itemTpl=Ext.menu.Item.prototype.itemTpl=new Ext.XTemplate('<a id="{id}" class="{cls}" hidefocus="true" unselectable="on" href="{href}"','<tpl if="hrefTarget">',' target="{hrefTarget}"',"</tpl>",">",'<img src="{icon}" class="x-menu-item-icon {iconCls}"/>','<span class="x-menu-item-text">{text}</span>',"</a>")}var c=this.getTemplateArgs();this.el=b?this.itemTpl.insertBefore(b,c,true):this.itemTpl.append(d,c,true);this.iconEl=this.el.child("img.x-menu-item-icon");this.textEl=this.el.child(".x-menu-item-text");if(!this.href){this.mon(this.el,"click",Ext.emptyFn,null,{preventDefault:true})}Ext.menu.Item.superclass.onRender.call(this,d,b)},getTemplateArgs:function(){return{id:this.id,cls:this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:""),href:this.href||"#",hrefTarget:this.hrefTarget,icon:this.icon||Ext.BLANK_IMAGE_URL,iconCls:this.iconCls||"",text:this.itemText||this.text||"&#160;"}},setText:function(a){this.text=a||"&#160;";if(this.rendered){this.textEl.update(this.text);this.parentMenu.layout.doAutoSize()}},setIconClass:function(a){var b=this.iconCls;this.iconCls=a;if(this.rendered){this.iconEl.replaceClass(b,this.iconCls)}},beforeDestroy:function(){if(this.menu){delete this.menu.ownerCt;this.menu.destroy()}Ext.menu.Item.superclass.beforeDestroy.call(this)},handleClick:function(a){if(!this.href){a.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(a){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(a){this.expandMenu()}}return true},shouldDeactivate:function(a){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,a)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(a.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(a){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,[a])}else{if(this.menu.isVisible()&&a){this.menu.tryActivate(0,1)}}}},deferExpand:function(a){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);if(a){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&&this.menu&&this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)}},deferHide:function(){delete this.hideTimer;if(this.menu.over){this.parentMenu.setActiveItem(this,false)}else{this.menu.hide()}}});Ext.reg("menuitem",Ext.menu.Item);Ext.menu.CheckItem=Ext.extend(Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",initComponent:function(){Ext.menu.CheckItem.superclass.initComponent.call(this);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)},onRender:function(a){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(b,a){if(this.checked!=b&&this.fireEvent("beforecheckchange",this,b)!==false){if(this.container){this.container[b?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=b;if(a!==true){this.fireEvent("checkchange",this,b)}}},handleClick:function(a){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}});Ext.reg("menucheckitem",Ext.menu.CheckItem);Ext.menu.DateMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,pickerId:null,cls:"x-date-menu",initComponent:function(){this.on("beforeshow",this.onBeforeShow,this);if(this.strict=(Ext.isIE7&&Ext.isStrict)){this.on("show",this.onShow,this,{single:true,delay:20})}Ext.apply(this,{plain:true,showSeparator:false,items:this.picker=new Ext.DatePicker(Ext.applyIf({internalRender:this.strict||!Ext.isIE,ctCls:"x-menu-date-item",id:this.pickerId},this.initialConfig))});this.picker.purgeListeners();Ext.menu.DateMenu.superclass.initComponent.call(this);this.relayEvents(this.picker,["select"]);this.on("show",this.picker.focus,this.picker);this.on("select",this.menuHide,this);if(this.handler){this.on("select",this.handler,this.scope||this)}},menuHide:function(){if(this.hideOnClick){this.hide(true)}},onBeforeShow:function(){if(this.picker){this.picker.hideMonthPicker(true)}},onShow:function(){var a=this.picker.getEl();a.setWidth(a.getWidth())}});Ext.reg("datemenu",Ext.menu.DateMenu);Ext.menu.ColorMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,cls:"x-color-menu",paletteId:null,initComponent:function(){Ext.apply(this,{plain:true,showSeparator:false,items:this.palette=new Ext.ColorPalette(Ext.applyIf({id:this.paletteId},this.initialConfig))});this.palette.purgeListeners();Ext.menu.ColorMenu.superclass.initComponent.call(this);this.relayEvents(this.palette,["select"]);this.on("select",this.menuHide,this);if(this.handler){this.on("select",this.handler,this.scope||this)}},menuHide:function(){if(this.hideOnClick){this.hide(true)}}});Ext.reg("colormenu",Ext.menu.ColorMenu);Ext.form.Field=Ext.extend(Ext.BoxComponent,{invalidClass:"x-form-invalid",invalidText:"The value in this field is invalid",focusClass:"x-form-focus",validationEvent:"keyup",validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:"input",type:"text",size:"20",autocomplete:"off"},fieldClass:"x-form-field",msgTarget:"qtip",msgFx:"normal",readOnly:false,disabled:false,submitValue:true,isFormField:true,msgDisplay:"",hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:this.name||this.id||""},onRender:function(a,c){if(!this.el){var d=this.getAutoCreate();if(!d.name){d.name=this.name||this.id}if(this.inputType){d.type=this.inputType}this.autoEl=d}Ext.form.Field.superclass.onRender.call(this,a,c);if(this.submitValue===false){this.el.dom.removeAttribute("name")}var b=this.el.dom.type;if(b){if(b=="password"){b="text"}this.el.addClass("x-form-"+b)}if(this.readOnly){this.setReadOnly(true)}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)}this.el.addClass([this.fieldClass,this.cls])},getItemCt:function(){return this.itemCt},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(!Ext.isEmpty(this.el.dom.value)&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)}}this.originalValue=this.getValue()},isDirty:function(){if(this.disabled||!this.rendered){return false}return String(this.getValue())!==String(this.originalValue)},setReadOnly:function(a){if(this.rendered){this.el.dom.readOnly=a}this.readOnly=a},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(a){if(a.isSpecialKey()){this.fireEvent("specialkey",this,a)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.mon(this.el,Ext.EventManager.useKeydown?"keydown":"keypress",this.fireKey,this);this.mon(this.el,"focus",this.onFocus,this);this.mon(this.el,"blur",this.onBlur,this,this.inEditor?{buffer:10}:null)},preFocus:Ext.emptyFn,onFocus:function(){this.preFocus();if(this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&&(this.validateOnBlur||this.validationEvent=="blur")){this.validate()}var a=this.getValue();if(String(a)!==String(this.startValue)){this.fireEvent("change",this,a,this.startValue)}this.fireEvent("blur",this);this.postBlur()},postBlur:Ext.emptyFn,isValid:function(b){if(this.disabled){return true}var a=this.preventMark;this.preventMark=b===true;var c=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=a;return c},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(a){return a},validateValue:function(a){return true},getActiveError:function(){return this.activeError||""},markInvalid:function(a){if(!this.rendered||this.preventMark){return}a=a||this.invalidText;var b=this.getMessageHandler();if(b){b.mark(this,a)}else{if(this.msgTarget){this.el.addClass(this.invalidClass);var c=Ext.getDom(this.msgTarget);if(c){c.innerHTML=a;c.style.display=this.msgDisplay}}}this.activeError=a;this.fireEvent("invalid",this,a)},clearInvalid:function(){if(!this.rendered||this.preventMark){return}this.el.removeClass(this.invalidClass);var a=this.getMessageHandler();if(a){a.clear(this)}else{if(this.msgTarget){this.el.removeClass(this.invalidClass);var b=Ext.getDom(this.msgTarget);if(b){b.innerHTML="";b.style.display="none"}}}delete this.activeError;this.fireEvent("valid",this)},getMessageHandler:function(){return Ext.form.MessageTargets[this.msgTarget]},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},getRawValue:function(){var a=this.rendered?this.el.getValue():Ext.value(this.value,"");if(a===this.emptyText){a=""}return a},getValue:function(){if(!this.rendered){return this.value}var a=this.el.getValue();if(a===this.emptyText||a===undefined){a=""}return a},setRawValue:function(a){return this.rendered?(this.el.dom.value=(Ext.isEmpty(a)?"":a)):""},setValue:function(a){this.value=a;if(this.rendered){this.el.dom.value=(Ext.isEmpty(a)?"":a);this.validate()}return this},append:function(a){this.setValue([this.getValue(),a].join(""))}});Ext.form.MessageTargets={qtip:{mark:function(a,b){a.el.addClass(a.invalidClass);a.el.dom.qtip=b;a.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(a){a.el.removeClass(a.invalidClass);a.el.dom.qtip=""}},title:{mark:function(a,b){a.el.addClass(a.invalidClass);a.el.dom.title=b},clear:function(a){a.el.dom.title=""}},under:{mark:function(c,a){c.el.addClass(c.invalidClass);if(!c.errorEl){var b=c.getErrorCt();if(!b){c.el.dom.title=a;return}c.errorEl=b.createChild({cls:"x-form-invalid-msg"});c.errorEl.setWidth(b.getWidth(true)-20)}c.errorEl.update(a);Ext.form.Field.msgFx[c.msgFx].show(c.errorEl,c)},clear:function(a){a.el.removeClass(a.invalidClass);if(a.errorEl){Ext.form.Field.msgFx[a.msgFx].hide(a.errorEl,a)}else{a.el.dom.title=""}}},side:{mark:function(c,a){c.el.addClass(c.invalidClass);if(!c.errorIcon){var b=c.getErrorCt();if(!b){c.el.dom.title=a;return}c.errorIcon=b.createChild({cls:"x-form-invalid-icon"})}c.alignErrorIcon();c.errorIcon.dom.qtip=a;c.errorIcon.dom.qclass="x-form-invalid-tip";c.errorIcon.show();c.on("resize",c.alignErrorIcon,c)},clear:function(a){a.el.removeClass(a.invalidClass);if(a.errorIcon){a.errorIcon.dom.qtip="";a.errorIcon.hide();a.un("resize",a.alignErrorIcon,a)}else{a.el.dom.title=""}}}};Ext.form.Field.msgFx={normal:{show:function(a,b){a.setDisplayed("block")},hide:function(a,b){a.setDisplayed(false).update("")}},slide:{show:function(a,b){a.slideIn("t",{stopFx:true})},hide:function(a,b){a.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(a,b){a.fixDisplay();a.alignTo(b.el,"tl-tr");a.slideIn("l",{stopFx:true})},hide:function(a,b){a.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",Ext.form.Field);Ext.form.TextField=Ext.extend(Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.mon(this.el,"keyup",this.filterValidation,this)}else{if(this.validationEvent!==false&&this.validationEvent!="blur"){this.mon(this.el,this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.mon(this.el,"mousedown",this.onMouseDown,this);if(this.emptyText){this.applyEmptyText()}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.mon(this.el,"keypress",this.filterKeys,this)}if(this.grow){this.mon(this.el,"keyup",this.onKeyUpBuffered,this,{buffer:50});this.mon(this.el,"click",this.autoSize,this)}if(this.enableKeyEvents){this.mon(this.el,{scope:this,keyup:this.onKeyUp,keydown:this.onKeyDown,keypress:this.onKeyPress})}},onMouseDown:function(a){if(!this.hasFocus){this.mon(this.el,"mouseup",Ext.emptyFn,this,{single:true,preventDefault:true})}},processValue:function(a){if(this.stripCharsRe){var b=a.replace(this.stripCharsRe,"");if(b!==a){this.setRawValue(b);return b}}return a},filterValidation:function(a){if(!a.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable="on"}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=""}},onKeyUpBuffered:function(a){if(this.doAutoSize(a)){this.autoSize()}},doAutoSize:function(a){return !a.isNavKeyPress()},onKeyUp:function(a){this.fireEvent("keyup",this,a)},onKeyDown:function(a){this.fireEvent("keydown",this,a)},onKeyPress:function(a){this.fireEvent("keypress",this,a)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){var a=this.el;if(this.emptyText){if(a.dom.value==this.emptyText){this.setRawValue("")}a.removeClass(this.emptyClass)}if(this.selectOnFocus){a.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(c){if(c.ctrlKey){return}var b=c.getKey();if(Ext.isGecko&&(c.isNavKeyPress()||b==c.BACKSPACE||(b==c.DELETE&&c.button==-1))){return}var a=String.fromCharCode(c.getCharCode());if(!Ext.isGecko&&c.isSpecialKey()&&!a){return}if(!this.maskRe.test(a)){c.stopEvent()}},setValue:function(a){if(this.emptyText&&this.el&&!Ext.isEmpty(a)){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize();return this},validateValue:function(b){if(Ext.isFunction(this.validator)){var a=this.validator(b);if(a!==true){this.markInvalid(a);return false}}if(b.length<1||b===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(b.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(b.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var c=Ext.form.VTypes;if(!c[this.vtype](b,this)){this.markInvalid(this.vtypeText||c[this.vtype+"Text"]);return false}}if(this.regex&&!this.regex.test(b)){this.markInvalid(this.regexText);return false}return true},selectText:function(c,e){var h=this.getRawValue();var a=false;if(h.length>0){c=c===undefined?0:c;e=e===undefined?h.length:e;var b=this.el.dom;if(b.setSelectionRange){b.setSelectionRange(c,e)}else{if(b.createTextRange){var g=b.createTextRange();g.moveStart("character",c);g.moveEnd("character",e-h.length);g.select()}}a=Ext.isGecko||Ext.isOpera}else{a=true}if(a){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var a=this.el;var e=a.dom.value;var b=document.createElement("div");b.appendChild(document.createTextNode(e));e=b.innerHTML;Ext.removeNode(b);b=null;e+="&#160;";var c=Math.min(this.growMax,Math.max(this.metrics.getWidth(e)+10,this.growMin));this.el.setWidth(c);this.fireEvent("autosize",this,c)},onDestroy:function(){if(this.validationTask){this.validationTask.cancel();this.validationTask=null}Ext.form.TextField.superclass.onDestroy.call(this)}});Ext.reg("textfield",Ext.form.TextField);Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,editable:true,readOnly:false,wrapFocusClass:"x-trigger-wrap-focus",autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,actionMode:"wrap",removeMode:"container",defaultTriggerWidth:17,onResize:function(b,a){Ext.form.TriggerField.superclass.onResize.call(this,b,a);var c=this.getTriggerWidth();if(Ext.isNumber(b)){this.el.setWidth(b-c)}this.wrap.setWidth(this.el.getWidth()+c)},getTriggerWidth:function(){var a=this.trigger.getWidth();if(!this.hideTrigger&&a===0){a=this.defaultTriggerWidth}return a},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}},onRender:function(b,a){this.doc=Ext.isIE?Ext.getBody():Ext.getDoc();Ext.form.TriggerField.superclass.onRender.call(this,b,a);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-field-trigger-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.triggerClass});this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}this.resizeEl=this.positionEl=this.wrap;this.updateEditState()},updateEditState:function(){if(this.rendered){if(this.readOnly){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this);this.trigger.setDisplayed(false)}else{if(!this.editable){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mon(this.el,"click",this.onTriggerClick,this)}else{this.el.dom.readOnly=false;this.el.removeClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this)}this.trigger.setDisplayed(!this.hideTrigger)}this.onResize(this.width||this.wrap.getWidth())}},setHideTrigger:function(a){if(a!=this.hideTrigger){this.hideTrigger=a;this.updateEditState()}},setEditable:function(a){if(a!=this.editable){this.editable=a;this.updateEditState()}},setReadOnly:function(a){if(a!=this.readOnly){this.readOnly=a;this.updateEditState()}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this)},initTrigger:function(){this.mon(this.trigger,"click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){Ext.destroy(this.trigger,this.wrap);if(this.mimicing){this.doc.un("mousedown",this.mimicBlur,this)}delete this.doc;Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass(this.wrapFocusClass);this.mimicing=true;this.doc.on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.on("specialkey",this.checkTab,this)}}},checkTab:function(a,b){if(b.getKey()==b.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(a){if(!this.isDestroyed&&!this.wrap.contains(a.target)&&this.validateBlur(a)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;this.doc.un("mousedown",this.mimicBlur,this);if(this.monitorTab&&this.el){this.un("specialkey",this.checkTab,this)}Ext.form.TriggerField.superclass.onBlur.call(this);if(this.wrap){this.wrap.removeClass(this.wrapFocusClass)}},beforeBlur:Ext.emptyFn,validateBlur:function(a){return true},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(a){return this.triggers[a]},initTrigger:function(){var a=this.trigger.select(".x-form-trigger",true);var b=this;a.each(function(g,d,e){var c="Trigger"+(e+1);g.hide=function(){var h=b.wrap.getWidth();this.dom.style.display="none";b.el.setWidth(h-b.trigger.getWidth());this["hidden"+c]=true};g.show=function(){var h=b.wrap.getWidth();this.dom.style.display="";b.el.setWidth(h-b.trigger.getWidth());this["hidden"+c]=false};if(this["hide"+c]){g.dom.style.display="none";this["hidden"+c]=true}this.mon(g,"click",this["on"+c+"Click"],this,{preventDefault:true});g.addClassOnOver("x-form-trigger-over");g.addClassOnClick("x-form-trigger-click")},this);this.triggers=a.elements},getTriggerWidth:function(){var a=0;Ext.each(this.triggers,function(d,c){var e="Trigger"+(c+1),b=d.getWidth();if(b===0&&!this["hidden"+e]){a+=this.defaultTriggerWidth}else{a+=b}},this);return a},onDestroy:function(){Ext.destroy(this.triggers);Ext.form.TwinTriggerField.superclass.onDestroy.call(this)},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg("trigger",Ext.form.TriggerField);Ext.form.TextArea=Ext.extend(Ext.form.TextField,{growMin:60,growMax:1000,growAppend:"&#160;\n&#160;",enterIsSpecial:false,preventScrollbars:false,onRender:function(b,a){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}}Ext.form.TextArea.superclass.onRender.call(this,b,a);if(this.grow){this.textSizeEl=Ext.DomHelper.append(document.body,{tag:"pre",cls:"x-form-grow-sizer"});if(this.preventScrollbars){this.el.setStyle("overflow","hidden")}this.el.setHeight(this.growMin)}},onDestroy:function(){Ext.removeNode(this.textSizeEl);Ext.form.TextArea.superclass.onDestroy.call(this)},fireKey:function(a){if(a.isSpecialKey()&&(this.enterIsSpecial||(a.getKey()!=a.ENTER||a.hasModifier()))){this.fireEvent("specialkey",this,a)}},doAutoSize:function(a){return !a.isNavKeyPress()||a.getKey()==a.ENTER},autoSize:function(){if(!this.grow||!this.textSizeEl){return}var a=this.el,c=Ext.util.Format.htmlEncode(a.dom.value),b=this.textSizeEl,d;Ext.fly(b).setWidth(this.el.getWidth());if(c.length<1){c="&#160;&#160;"}else{c+=this.growAppend;if(Ext.isIE){c=c.replace(/\n/g,"&#160;<br />")}}b.innerHTML=c;d=Math.min(this.growMax,Math.max(b.offsetHeight,this.growMin));if(d!=this.lastHeight){this.lastHeight=d;this.el.setHeight(d);this.fireEvent("autosize",this,d)}}});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(){var a=this.baseChars+"";if(this.allowDecimals){a+=this.decimalSeparator}if(this.allowNegative){a+="-"}this.maskRe=new RegExp("["+Ext.escapeRe(a)+"]");Ext.form.NumberField.superclass.initEvents.call(this)},validateValue:function(b){if(!Ext.form.NumberField.superclass.validateValue.call(this,b)){return false}if(b.length<1){return true}b=String(b).replace(this.decimalSeparator,".");if(isNaN(b)){this.markInvalid(String.format(this.nanText,b));return false}var a=this.parseValue(b);if(a<this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false}if(a>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(a){a=Ext.isNumber(a)?a:parseFloat(String(a).replace(this.decimalSeparator,"."));a=isNaN(a)?"":String(a).replace(".",this.decimalSeparator);return Ext.form.NumberField.superclass.setValue.call(this,a)},setMinValue:function(a){this.minValue=Ext.num(a,Number.NEGATIVE_INFINITY)},setMaxValue:function(a){this.maxValue=Ext.num(a,Number.MAX_VALUE)},parseValue:function(a){a=parseFloat(String(a).replace(this.decimalSeparator,"."));return isNaN(a)?"":a},fixPrecision:function(b){var a=isNaN(b);if(!this.allowDecimals||this.decimalPrecision==-1||a||!b){return a?"":b}return parseFloat(parseFloat(b).toFixed(this.decimalPrecision))},beforeBlur:function(){var a=this.parseValue(this.getRawValue());if(!Ext.isEmpty(a)){this.setValue(this.fixPrecision(a))}}});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",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(Ext.isString(this.minValue)){this.minValue=this.parseDate(this.minValue)}if(Ext.isString(this.maxValue)){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initEvents:function(){Ext.form.DateField.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{down:function(a){this.onTriggerClick()},scope:this,forceKeyDown:true})},initDisabledDays:function(){if(this.disabledDates){var c=this.disabledDates,b=c.length-1,a="(?:";Ext.each(c,function(e,d){a+=Ext.isDate(e)?"^"+Ext.escapeRe(e.dateFormat(this.format))+"$":c[d];if(d!=b){a+="|"}},this);this.disabledDatesRE=new RegExp(a+")")}},setDisabledDates:function(a){this.disabledDates=a;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(a){this.disabledDays=a;if(this.menu){this.menu.picker.setDisabledDays(a)}},setMinValue:function(a){this.minValue=(Ext.isString(a)?this.parseDate(a):a);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(a){this.maxValue=(Ext.isString(a)?this.parseDate(a):a);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},validateValue:function(b){b=this.formatDate(b);if(!Ext.form.DateField.superclass.validateValue.call(this,b)){return false}if(b.length<1){return true}var g=b;b=this.parseDate(b);if(!b){this.markInvalid(String.format(this.invalidText,g,this.format));return false}var c=b.getTime();if(this.minValue&&c<this.minValue.getTime()){this.markInvalid(String.format(this.minText,this.formatDate(this.minValue)));return false}if(this.maxValue&&c>this.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));return false}if(this.disabledDays){var d=b.getDay();for(var e=0;e<this.disabledDays.length;e++){if(d===this.disabledDays[e]){this.markInvalid(this.disabledDaysText);return false}}}var a=this.formatDate(b);if(this.disabledDatesRE&&this.disabledDatesRE.test(a)){this.markInvalid(String.format(this.disabledDatesText,a));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(a){return Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(a)))},parseDate:function(b){if(!b||Ext.isDate(b)){return b}var d=Date.parseDate(b,this.format);if(!d&&this.altFormats){if(!this.altFormatsArray){this.altFormatsArray=this.altFormats.split("|")}for(var a=0,c=this.altFormatsArray.length;a<c&&!d;a++){d=Date.parseDate(b,this.altFormatsArray[a])}}return d},onDestroy:function(){Ext.destroy(this.menu,this.keyNav);Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(a){return Ext.isDate(a)?a.dateFormat(this.format):a},onTriggerClick:function(){if(this.disabled){return}if(this.menu==null){this.menu=new Ext.menu.DateMenu({hideOnClick:false,focusOnSelect:false})}this.onFocus();Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,"tl-bl?");this.menuEvents("on")},menuEvents:function(a){this.menu[a]("select",this.onSelect,this);this.menu[a]("hide",this.onMenuHide,this);this.menu[a]("show",this.onFocus,this)},onSelect:function(a,b){this.setValue(b);this.fireEvent("select",this,b);this.menu.hide()},onMenuHide:function(){this.focus(false,60);this.menuEvents("un")},beforeBlur:function(){var a=this.parseDate(this.getRawValue());if(a){this.setValue(a)}}});Ext.reg("datefield",Ext.form.DateField);Ext.form.DisplayField=Ext.extend(Ext.form.Field,{validationEvent:false,validateOnBlur:false,defaultAutoCreate:{tag:"div"},fieldClass:"x-form-display-field",htmlEncode:false,initEvents:Ext.emptyFn,isValid:function(){return true},validate:function(){return true},getRawValue:function(){var a=this.rendered?this.el.dom.innerHTML:Ext.value(this.value,"");if(a===this.emptyText){a=""}if(this.htmlEncode){a=Ext.util.Format.htmlDecode(a)}return a},getValue:function(){return this.getRawValue()},getName:function(){return this.name},setRawValue:function(a){if(this.htmlEncode){a=Ext.util.Format.htmlEncode(a)}return this.rendered?(this.el.dom.innerHTML=(Ext.isEmpty(a)?"":a)):(this.value=a)},setValue:function(a){this.setRawValue(a);return this}});Ext.reg("displayfield",Ext.form.DisplayField);Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",selectedClass:"x-combo-selected",listEmptyText:"",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,triggerAction:"query",minChars:4,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:"query",loadingText:"Loading...",resizable:false,handleHeight:8,allQuery:"",mode:"remote",minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,clearFilterOnReset:true,submitValue:undefined,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){var e=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=e.name}if(!this.store){this.mode="local";var b=[],h=e.options;for(var g=0,c=h.length;g<c;g++){var a=h[g],j=(a.hasAttribute?a.hasAttribute("value"):a.getAttributeNode("value").specified)?a.value:a.text;if(a.selected&&Ext.isEmpty(this.value,true)){this.value=j}b.push([j,a.text])}this.store=new Ext.data.ArrayStore({id:0,fields:["value","text"],data:b,autoDestroy:true});this.valueField="value";this.displayField="text"}e.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(e,this.autoCreate||this.defaultAutoCreate);this.render(this.el.parentNode,e)}Ext.removeNode(e)}else{if(this.store){this.store=Ext.StoreMgr.lookup(this.store);if(this.store.autoCreated){this.displayField=this.valueField="field1";if(!this.store.expandData){this.displayField="field2"}this.mode="local"}}}this.selectedIndex=-1;if(this.mode=="local"){if(!Ext.isDefined(this.initialConfig.queryDelay)){this.queryDelay=10}if(!Ext.isDefined(this.initialConfig.minChars)){this.minChars=0}}},onRender:function(b,a){if(this.hiddenName&&!Ext.isDefined(this.submitValue)){this.submitValue=false}Ext.form.ComboBox.superclass.onRender.call(this,b,a);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},"before",true)}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}if(!this.lazyInit){this.initList()}else{this.on("focus",this.initList,this,{single:true})}},initValue:function(){Ext.form.ComboBox.superclass.initValue.call(this);if(this.hiddenField){this.hiddenField.value=Ext.isDefined(this.hiddenValue)?this.hiddenValue:Ext.isDefined(this.value)?this.value:""}},initList:function(){if(!this.list){var a="x-combo-list";this.list=new Ext.Layer({parentEl:this.getListParent(),shadow:this.shadow,cls:[a,this.listClass].join(" "),constrain:false,zindex:12000});var b=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setSize(b,0);this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.syncFont!==false){this.list.setStyle("font-size",this.el.getStyle("font-size"))}if(this.title){this.header=this.list.createChild({cls:a+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:a+"-inner"});this.mon(this.innerList,"mouseover",this.onViewOver,this);this.mon(this.innerList,"mousemove",this.onViewMove,this);this.innerList.setWidth(b-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:a+"-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="'+a+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+a+"-item",emptyText:this.listEmptyText});this.mon(this.view,"click",this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.mon(this.resizer,"resize",function(d,e,c){this.maxHeight=c-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=e;this.innerList.setWidth(e-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},getListParent:function(){return document.body},getStore:function(){return this.store},bindStore:function(a,b){if(this.store&&!b){if(this.store!==a&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.collapse,this)}if(!a){this.store=null;if(this.view){this.view.bindStore(null)}if(this.pageTb){this.pageTb.bindStore(null)}}}if(a){if(!b){this.lastQuery=null;if(this.pageTb){this.pageTb.bindStore(a)}}this.store=Ext.StoreMgr.lookup(a);this.store.on({scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.collapse});if(this.view){this.view.bindStore(a)}}},reset:function(){Ext.form.ComboBox.superclass.reset.call(this);if(this.clearFilterOnReset&&this.mode=="local"){this.store.clearFilter()}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(a){this.inKeyMode=true;this.selectPrev()},down:function(a){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(a){this.onViewClick()},esc:function(a){this.collapse()},tab:function(a){this.onViewClick(false);return true},scope:this,doRelay:function(a,d,c){if(c=="down"||this.scope.isExpanded()){var b=Ext.KeyNav.prototype.doRelay.apply(this,arguments);if(!Ext.isIE&&Ext.EventManager.useKeydown){this.scope.fireKey(a)}return b}return true},forceKeyDown:true,defaultEventAction:"stopEvent"});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(!this.enableKeyEvents){this.mon(this.el,"keyup",this.onKeyUp,this)}},onDestroy:function(){if(this.dqTask){this.dqTask.cancel();this.dqTask=null}this.bindStore(null);Ext.destroy(this.resizer,this.view,this.pageTb,this.list);Ext.destroyMembers(this,"hiddenField");Ext.form.ComboBox.superclass.onDestroy.call(this)},fireKey:function(a){if(!this.isExpanded()){Ext.form.ComboBox.superclass.fireKey.call(this,a)}},onResize:function(a,b){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.isVisible()&&this.list){this.doResize(a)}else{this.bufferSize=a}},doResize:function(a){if(!Ext.isDefined(this.listWidth)){var b=Math.max(a,this.minListWidth);this.list.setWidth(b);this.innerList.setWidth(b-this.list.getFrameWidth("lr"))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},onBeforeLoad:function(){if(!this.hasFocus){return}this.innerList.update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+"</div>":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()>0||this.listEmptyText){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(!this.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 d=this.store.getAt(0);var a=d.data[this.displayField];var c=a.length;var b=this.getRawValue().length;if(b!=c){this.setRawValue(a);this.selectText(b,a.length)}}},onSelect:function(a,b){if(this.fireEvent("beforeselect",this,a,b)!==false){this.setValue(a.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,a,b)}},getName:function(){var a=this.hiddenField;return a&&a.name?a.name:this.hiddenName||Ext.form.ComboBox.superclass.getName.call(this)},getValue:function(){if(this.valueField){return Ext.isDefined(this.value)?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(b){var a=b;if(this.valueField){var c=this.findRecord(this.valueField,b);if(c){a=c.data[this.displayField]}else{if(Ext.isDefined(this.valueNotFoundText)){a=this.valueNotFoundText}}}this.lastSelectionText=a;if(this.hiddenField){this.hiddenField.value=b}Ext.form.ComboBox.superclass.setValue.call(this,a);this.value=b;return this},findRecord:function(a,c){var b;if(this.store.getCount()>0){this.store.each(function(d){if(d.data[a]==c){b=d;return false}})}return b},onViewMove:function(b,a){this.inKeyMode=false},onViewOver:function(b,d){if(this.inKeyMode){return}var a=this.view.findItemFromChild(d);if(a){var c=this.view.indexOf(a);this.select(c,false)}},onViewClick:function(d){var c=this.view.getSelectedIndexes()[0],a=this.store,b=a.getAt(c);if(b){this.onSelect(b,c)}else{if(a.getCount()===0){this.onEmptyResults()}}if(d!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var e=this.innerList.dom,b=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight,g=Math.max(e.clientHeight,e.offsetHeight,e.scrollHeight),d=this.getPosition()[1]-Ext.getBody().getScroll().top,c=Ext.lib.Dom.getViewHeight()-d-this.getSize().height,a=Math.max(d,c,this.minHeight||0)-this.list.shadowOffset-b-5;g=Math.min(g,a,this.maxHeight);this.innerList.setHeight(g);this.list.beginUpdate();this.list.setHeight(g+b);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(b,a){if(!Ext.isEmpty(b,true)){var c=this.findRecord(this.valueField||this.displayField,b);if(c){this.select(this.store.indexOf(c),a);return true}}return false},select:function(b,a){this.selectedIndex=b;this.view.select(b);if(a!==false){var c=this.view.getNode(b);if(c){this.innerList.scrollChildIntoView(c,false)}}},selectNext:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex<a-1){this.select(this.selectedIndex+1)}}}},selectPrev:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!==0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(b){var a=b.getKey();if(this.editable!==false&&this.readOnly!==true&&(a==b.BACKSPACE||!b.isSpecialKey())){this.lastKey=a;this.dqTask.delay(this.queryDelay)}Ext.form.ComboBox.superclass.onKeyUp.call(this,b)},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},beforeBlur:function(){var b=this.getRawValue(),a=this.findRecord(this.displayField,b);if(!a&&this.forceSelection){if(b.length>0&&b!=this.emptyText){this.el.dom.value=Ext.isEmpty(this.lastSelectionText)?"":this.lastSelectionText;this.applyEmptyText()}else{this.clearValue()}}else{if(a){b=a.get(this.valueField||this.displayField)}this.setValue(b)}},doQuery:function(a,c){a=Ext.isEmpty(a)?"":a;var b={query:a,forceAll:c,combo:this,cancel:false};if(this.fireEvent("beforequery",b)===false||b.cancel){return false}a=b.query;c=b.forceAll;if(c===true||(a.length>=this.minChars)){if(this.lastQuery!==a){this.lastQuery=a;if(this.mode=="local"){this.selectedIndex=-1;if(c){this.store.clearFilter()}else{this.store.filter(this.displayField,a)}this.onLoad()}else{this.store.baseParams[this.queryParam]=a;this.store.load({params:this.getParams(a)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(a){var b={};if(this.pageSize){b.start=0;b.limit=this.pageSize}return b},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(a){if(!a.within(this.wrap)&&!a.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return}if(this.bufferSize){this.doResize(this.bufferSize);delete this.bufferSize}this.list.alignTo(this.wrap,this.listAlign);this.list.show();if(Ext.isGecko2){this.innerList.setOverflow("auto")}this.mon(Ext.getDoc(),{scope:this,mousewheel:this.collapseIf,mousedown:this.collapseIf});this.fireEvent("expand",this)},onTriggerClick:function(){if(this.readOnly||this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{focusClass:undefined,fieldClass:"x-form-field",checked:false,defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},actionMode:"wrap",initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents("check")},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&&!this.fieldLabel){this.el.alignTo(this.wrap,"c-c")}},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.mon(this.el,{scope:this,click:this.onClick,change:this.onClick})},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,onRender:function(b,a){Ext.form.Checkbox.superclass.onRender.call(this,b,a);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.wrap=this.el.wrap({cls:"x-form-check-wrap"});if(this.boxLabel){this.wrap.createChild({tag:"label",htmlFor:this.el.id,cls:"x-form-cb-label",html:this.boxLabel})}if(this.checked){this.setValue(true)}else{this.checked=this.el.dom.checked}if(Ext.isIE){this.wrap.repaint()}this.resizeEl=this.positionEl=this.wrap},onDestroy:function(){Ext.destroy(this.wrap);Ext.form.Checkbox.superclass.onDestroy.call(this)},initValue:function(){this.originalValue=this.getValue()},getValue:function(){if(this.rendered){return this.el.dom.checked}return this.checked},onClick:function(){if(this.el.dom.checked!=this.checked){this.setValue(this.el.dom.checked)}},setValue:function(a){var b=this.checked;this.checked=(a===true||a==="true"||a=="1"||String(a).toLowerCase()=="on");if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked}if(b!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked)}}return this}});Ext.reg("checkbox",Ext.form.Checkbox);Ext.form.CheckboxGroup=Ext.extend(Ext.form.Field,{columns:"auto",vertical:false,allowBlank:true,blankText:"You must select at least one item in this group",defaultType:"checkbox",groupCls:"x-form-check-group",initComponent:function(){this.addEvents("change");this.on("change",this.validate,this);Ext.form.CheckboxGroup.superclass.initComponent.call(this)},onRender:function(h,d){if(!this.el){var p={autoEl:{id:this.id},cls:this.groupCls,layout:"column",renderTo:h,bufferResize:false};var o={xtype:"container",defaultType:this.defaultType,layout:"form",defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(p,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var c=0,k=this.items.length;c<k;c++){Ext.applyIf(this.items[c],o)}}else{var b,m=[];if(typeof this.columns=="string"){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var j=[];for(var c=0;c<this.columns;c++){j.push((100/this.columns)*0.01)}this.columns=j}b=this.columns.length;for(var c=0;c<b;c++){var r=Ext.apply({items:[]},o);r[this.columns[c]<=1?"columnWidth":"width"]=this.columns[c];if(this.defaults){r.defaults=Ext.apply(r.defaults||{},this.defaults)}m.push(r)}if(this.vertical){var e=Math.ceil(this.items.length/b),n=0;for(var c=0,k=this.items.length;c<k;c++){if(c>0&&c%e==0){n++}if(this.items[c].fieldLabel){this.items[c].hideLabel=false}m[n].items.push(this.items[c])}}else{for(var c=0,k=this.items.length;c<k;c++){var q=c%b;if(this.items[c].fieldLabel){this.items[c].hideLabel=false}m[q].items.push(this.items[c])}}Ext.apply(p,{layoutConfig:{columns:b},items:m})}this.panel=new Ext.Container(p);this.panel.ownerCt=this;this.el=this.panel.getEl();if(this.forId&&this.itemCls){var a=this.el.up(this.itemCls).child("label",true);if(a){a.setAttribute("htmlFor",this.forId)}}var g=this.panel.findBy(function(l){return l.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(g)}Ext.form.CheckboxGroup.superclass.onRender.call(this,h,d)},initValue:function(){if(this.value){this.setValue.apply(this,this.buffered?this.value:[this.value]);delete this.buffered;delete this.value}},afterRender:function(){Ext.form.CheckboxGroup.superclass.afterRender.call(this);this.eachItem(function(a){a.on("check",this.fireChecked,this);a.inGroup=true})},doLayout:function(){if(this.rendered){this.panel.forceLayout=this.ownerCt.forceLayout;this.panel.doLayout()}},fireChecked:function(){var a=[];this.eachItem(function(b){if(b.checked){a.push(b)}});this.fireEvent("change",this,a)},validateValue:function(a){if(!this.allowBlank){var b=true;this.eachItem(function(c){if(c.checked){return(b=false)}});if(b){this.markInvalid(this.blankText);return false}}return true},isDirty:function(){if(this.disabled||!this.rendered){return false}var a=false;this.eachItem(function(b){if(b.isDirty()){a=true;return false}});return a},onDisable:function(){this.eachItem(function(a){a.disable()})},onEnable:function(){this.eachItem(function(a){a.enable()})},doLayout:function(){if(this.rendered){this.panel.forceLayout=this.ownerCt.forceLayout;this.panel.doLayout()}},onResize:function(a,b){this.panel.setSize(a,b);this.panel.doLayout()},reset:function(){this.eachItem(function(a){if(a.reset){a.reset()}});(function(){this.clearInvalid()}).defer(50,this)},setValue:function(){if(this.rendered){this.onSetValue.apply(this,arguments)}else{this.buffered=true;this.value=arguments}return this},onSetValue:function(b,a){if(arguments.length==1){if(Ext.isArray(b)){Ext.each(b,function(g,h){var e=this.items.itemAt(h);if(e){e.setValue(g)}},this)}else{if(Ext.isObject(b)){for(var c in b){var d=this.getBox(c);if(d){d.setValue(b[c])}}}else{this.setValueForItem(b)}}}else{var d=this.getBox(b);if(d){d.setValue(a)}}},beforeDestroy:function(){Ext.destroy(this.panel);Ext.form.CheckboxGroup.superclass.beforeDestroy.call(this)},setValueForItem:function(a){a=String(a).split(",");this.eachItem(function(b){if(a.indexOf(b.inputValue)>-1){b.setValue(true)}})},getBox:function(b){var a=null;this.eachItem(function(c){if(b==c||c.dataIndex==b||c.id==b||c.getName()==b){a=c;return false}});return a},getValue:function(){var a=[];this.eachItem(function(b){if(b.checked){a.push(b)}});return a},eachItem:function(a){if(this.items&&this.items.each){this.items.each(a,this)}},getRawValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg("checkboxgroup",Ext.form.CheckboxGroup);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,getGroupValue:function(){var a=this.el.up("form")||Ext.getBody();var b=a.child("input[name="+this.el.dom.name+"]:checked",true);return b?b.value:null},onClick:function(){if(this.el.dom.checked!=this.checked){var a=this.getCheckEl().select("input[name="+this.el.dom.name+"]");a.each(function(b){if(b.dom.id==this.id){this.setValue(true)}else{Ext.getCmp(b.dom.id).setValue(false)}},this)}},setValue:function(a){if(typeof a=="boolean"){Ext.form.Radio.superclass.setValue.call(this,a)}else{var b=this.getCheckEl().child("input[name="+this.el.dom.name+"][value="+a+"]",true);if(b){Ext.getCmp(b.id).setValue(true)}}return this},getCheckEl:function(){if(this.inGroup){return this.el.up(".x-form-radio-group")}return this.el.up("form")||Ext.getBody()}});Ext.reg("radio",Ext.form.Radio);Ext.form.RadioGroup=Ext.extend(Ext.form.CheckboxGroup,{allowBlank:true,blankText:"You must select one item in this group",defaultType:"radio",groupCls:"x-form-radio-group",getValue:function(){var a=null;this.eachItem(function(b){if(b.checked){a=b;return false}});return a},onSetValue:function(a,c){if(arguments.length>1){var b=this.getBox(a);if(b){b.setValue(c);if(b.checked){this.eachItem(function(d){if(d!==b){d.setValue(false)}})}}}else{this.setValueForItem(a)}},setValueForItem:function(a){a=String(a).split(",")[0];this.eachItem(function(b){b.setValue(a==b.inputValue)})},fireChecked:function(){if(!this.checkTask){this.checkTask=new Ext.util.DelayedTask(this.bufferChecked,this)}this.checkTask.delay(10)},bufferChecked:function(){var a=null;this.eachItem(function(b){if(b.checked){a=b;return false}});this.fireEvent("change",this,a)},onDestroy:function(){if(this.checkTask){this.checkTask.cancel();this.checkTask=null}Ext.form.RadioGroup.superclass.onDestroy.call(this)}});Ext.reg("radiogroup",Ext.form.RadioGroup);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:"hidden",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(b,a){Ext.apply(this,a);if(Ext.isString(this.paramOrder)){this.paramOrder=this.paramOrder.split(/[\s,|]/)}this.items=new Ext.util.MixedCollection(false,function(c){return c.getItemId()});this.addEvents("beforeaction","actionfailed","actioncomplete");if(b){this.initEl(b)}Ext.form.BasicForm.superclass.constructor.call(this)};Ext.extend(Ext.form.BasicForm,Ext.util.Observable,{timeout:30,paramOrder:undefined,paramsAsHash:false,waitTitle:"Please Wait...",activeAction:null,trackResetOnLoad:false,initEl:function(a){this.el=Ext.get(a);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(a){a.stopEvent()},destroy:function(){this.items.each(function(a){Ext.destroy(a)});if(this.el){this.el.removeAllListeners();this.el.remove()}this.purgeListeners()},isValid:function(){var a=true;this.items.each(function(b){if(!b.validate()){a=false}});return a},isDirty:function(){var a=false;this.items.each(function(b){if(b.isDirty()){a=true;return false}});return a},doAction:function(b,a){if(Ext.isString(b)){b=new Ext.form.Action.ACTION_TYPES[b](this,a)}if(this.fireEvent("beforeaction",this,b)!==false){this.beforeAction(b);b.run.defer(100,b)}return this},submit:function(d){if(this.standardSubmit){var c=this.isValid();if(c){var a=this.el.dom;if(this.url&&Ext.isEmpty(a.action)){a.action=this.url}a.submit()}return c}var b=String.format("{0}submit",this.api?"direct":"");this.doAction(b,d);return this},load:function(a){var b=String.format("{0}load",this.api?"direct":"");this.doAction(b,a);return this},updateRecord:function(b){b.beginEdit();var a=b.fields;a.each(function(c){var d=this.findField(c.name);if(d){b.set(c.name,d.getValue())}},this);b.endEdit();return this},loadRecord:function(a){this.setValues(a.data);return this},beforeAction:function(a){var b=a.options;if(b.waitMsg){if(this.waitMsgTarget===true){this.el.mask(b.waitMsg,"x-mask-loading")}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(b.waitMsg,"x-mask-loading")}else{Ext.MessageBox.wait(b.waitMsg,b.waitTitle||this.waitTitle)}}}},afterAction:function(b,a){this.activeAction=null;var c=b.options;if(c.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(a){if(c.reset){this.reset()}Ext.callback(c.success,c.scope,[this,b]);this.fireEvent("actioncomplete",this,b)}else{Ext.callback(c.failure,c.scope,[this,b]);this.fireEvent("actionfailed",this,b)}},findField:function(b){var a=this.items.get(b);if(!Ext.isObject(a)){this.items.each(function(c){if(c.isFormField&&(c.dataIndex==b||c.id==b||c.getName()==b)){a=c;return false}})}return a||null},markInvalid:function(b){if(Ext.isArray(b)){for(var e=0,c=b.length;e<c;e++){var d=b[e];var g=this.findField(d.id);if(g){g.markInvalid(d.msg)}}}else{var h,a;for(a in b){if(!Ext.isFunction(b[a])&&(h=this.findField(a))){h.markInvalid(b[a])}}}return this},setValues:function(e){if(Ext.isArray(e)){for(var g=0,c=e.length;g<c;g++){var d=e[g];var h=this.findField(d.id);if(h){h.setValue(d.value);if(this.trackResetOnLoad){h.originalValue=h.getValue()}}}}else{var a,b;for(b in e){if(!Ext.isFunction(e[b])&&(a=this.findField(b))){a.setValue(e[b]);if(this.trackResetOnLoad){a.originalValue=a.getValue()}}}}return this},getValues:function(b){var a=Ext.lib.Ajax.serializeForm(this.el.dom);if(b===true){return a}return Ext.urlDecode(a)},getFieldValues:function(d){var b={},c,e,a;this.items.each(function(g){if(d!==true||g.isDirty()){c=g.getName();e=b[c];a=g.getValue();if(Ext.isDefined(e)){if(Ext.isArray(e)){b[c].push(a)}else{b[c]=[e,a]}}else{b[c]=a}}});return b},clearInvalid:function(){this.items.each(function(a){a.clearInvalid()});return this},reset:function(){this.items.each(function(a){a.reset()});return this},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));return this},remove:function(a){this.items.remove(a);return this},render:function(){this.items.each(function(a){if(a.isFormField&&!a.rendered&&document.getElementById(a.id)){a.applyToMarkup(a.id)}});return this},applyToFields:function(a){this.items.each(function(b){Ext.apply(b,a)});return this},applyIfToFields:function(a){this.items.each(function(b){Ext.applyIf(b,a)});return this},callFieldMethod:function(b,a){a=a||[];this.items.each(function(c){if(Ext.isFunction(c[b])){c[b].apply(c,a)}});return this}});Ext.BasicForm=Ext.form.BasicForm;Ext.FormPanel=Ext.extend(Ext.Panel,{minButtonWidth:75,labelAlign:"left",monitorValid:false,monitorPoll:200,layout:"form",initComponent:function(){this.form=this.createForm();Ext.FormPanel.superclass.initComponent.call(this);this.bodyCfg={tag:"form",cls:this.baseCls+"-body",method:this.method||"POST",id:this.formId||Ext.id()};if(this.fileUpload){this.bodyCfg.enctype="multipart/form-data"}this.initItems();this.addEvents("clientvalidation");this.relayEvents(this.form,["beforeaction","actionfailed","actioncomplete"])},createForm:function(){var a=Ext.applyIf({listeners:{}},this.initialConfig);return new Ext.form.BasicForm(null,a)},initFields:function(){var a=this.form;var b=this;var c=function(d){if(b.isField(d)){a.add(d)}else{if(d.findBy&&d!=b){b.applySettings(d);if(d.items&&d.items.each){d.items.each(c,this)}}}};this.items.each(c,this)},applySettings:function(b){var a=b.ownerCt;Ext.applyIf(b,{labelAlign:a.labelAlign,labelWidth:a.labelWidth,itemCls:a.itemCls})},getLayoutTarget:function(){return this.form.el},getForm:function(){return this.form},onRender:function(b,a){this.initFields();Ext.FormPanel.superclass.onRender.call(this,b,a);this.form.initEl(this.body)},beforeDestroy:function(){this.stopMonitoring();Ext.destroy(this.form);this.form.items.clear();Ext.FormPanel.superclass.beforeDestroy.call(this)},isField:function(a){return !!a.setValue&&!!a.getValue&&!!a.markInvalid&&!!a.clearInvalid},initEvents:function(){Ext.FormPanel.superclass.initEvents.call(this);this.on({scope:this,add:this.onAddEvent,remove:this.onRemoveEvent});if(this.monitorValid){this.startMonitoring()}},onAdd:function(a){Ext.FormPanel.superclass.onAdd.call(this,a);this.processAdd(a)},onAddEvent:function(a,b){if(a!==this){this.processAdd(b)}},processAdd:function(a){if(this.isField(a)){this.form.add(a)}else{if(a.findBy){this.applySettings(a);this.form.add.apply(this.form,a.findBy(this.isField))}}},onRemove:function(a){Ext.FormPanel.superclass.onRemove.call(this,a);this.processRemove(a)},onRemoveEvent:function(a,b){if(a!==this){this.processRemove(b)}},processRemove:function(b){if(this.isField(b)){this.form.remove(b)}else{if(b.findBy){var a=function(c){return !!c.isDestroyed};this.form.items.filterBy(a,this.form).each(this.form.remove,this.form)}}},startMonitoring:function(){if(!this.validTask){this.validTask=new Ext.util.TaskRunner();this.validTask.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){if(this.validTask){this.validTask.stopAll();this.validTask=null}},load:function(){this.form.load.apply(this.form,arguments)},onDisable:function(){Ext.FormPanel.superclass.onDisable.call(this);if(this.form){this.form.items.each(function(){this.disable()})}},onEnable:function(){Ext.FormPanel.superclass.onEnable.call(this);if(this.form){this.form.items.each(function(){this.enable()})}},bindHandler:function(){var c=true;this.form.items.each(function(g){if(!g.isValid(true)){c=false;return false}});if(this.fbar){var e=this.fbar.items.items;for(var b=0,d=e.length;b<d;b++){var a=e[b];if(a.formBind===true&&a.disabled===c){a.setDisabled(!c)}}}this.fireEvent("clientvalidation",this,c)}});Ext.reg("form",Ext.FormPanel);Ext.form.FormPanel=Ext.FormPanel;Ext.form.FieldSet=Ext.extend(Ext.Panel,{baseCls:"x-fieldset",layout:"form",animCollapse:false,onRender:function(c,b){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,c,b);if(this.checkboxToggle){var a=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};this.checkbox=this.header.insertFirst(a);this.checkbox.dom.checked=!this.collapsed;this.mon(this.checkbox,"click",this.onCheckClick,this)}},onCollapse:function(a,b){if(this.checkbox){this.checkbox.dom.checked=false}Ext.form.FieldSet.superclass.onCollapse.call(this,a,b)},onExpand:function(a,b){if(this.checkbox){this.checkbox.dom.checked=true}Ext.form.FieldSet.superclass.onExpand.call(this,a,b)},onCheckClick:function(){this[this.checkbox.dom.checked?"expand":"collapse"]()}});Ext.reg("fieldset",Ext.form.FieldSet);Ext.form.HtmlEditor=Ext.extend(Ext.form.Field,{enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:(Ext.isOpera||Ext.isIE6)?"&#160;":"&#8203;",actionMode:"wrap",validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:Ext.emptyFn,iframePad:3,hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:500px;height:300px;",autocomplete:"off"},initComponent:function(){this.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange")},createFontOptions:function(){var a=[],e=this.fontFamilies,g,c;for(var b=0,d=e.length;b<d;b++){g=e[b];c=g.toLowerCase();a.push('<option value="',c,'" style="font-family:',g,';"',(this.defaultFont==c?' selected="true">':">"),g,"</option>")}return a.join("")},createToolbar:function(b){var g=[];var d=Ext.QuickTips&&Ext.QuickTips.isEnabled();function a(j,k,h){return{itemId:j,cls:"x-btn-icon",iconCls:"x-edit-"+j,enableToggle:k!==false,scope:b,handler:h||b.relayBtnCmd,clickEvent:"mousedown",tooltip:d?b.buttonTips[j]||undefined:undefined,overflowText:b.buttonTips[j].title||undefined,tabIndex:-1}}if(this.enableFont&&!Ext.isSafari2){var c=new Ext.Toolbar.Item({autoEl:{tag:"select",cls:"x-font-select",html:this.createFontOptions()}});g.push(c,"-")}if(this.enableFormat){g.push(a("bold"),a("italic"),a("underline"))}if(this.enableFontSize){g.push("-",a("increasefontsize",false,this.adjustFont),a("decreasefontsize",false,this.adjustFont))}if(this.enableColors){g.push("-",{itemId:"forecolor",cls:"x-btn-icon",iconCls:"x-edit-forecolor",clickEvent:"mousedown",tooltip:d?b.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,listeners:{scope:this,select:function(j,h){this.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+h:h);this.deferFocus()}},clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon",iconCls:"x-edit-backcolor",clickEvent:"mousedown",tooltip:d?b.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,listeners:{scope:this,select:function(j,h){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",h);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+h:h);this.deferFocus()}}},clickEvent:"mousedown"})})}if(this.enableAlignments){g.push("-",a("justifyleft"),a("justifycenter"),a("justifyright"))}if(!Ext.isSafari2){if(this.enableLinks){g.push("-",a("createlink",false,this.createLink))}if(this.enableLists){g.push("-",a("insertorderedlist"),a("insertunorderedlist"))}if(this.enableSourceEdit){g.push("-",a("sourceedit",true,function(h){this.toggleSourceEdit(!this.sourceEditMode)}))}}var e=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild,items:g});if(c){this.fontSelect=c.el;this.mon(this.fontSelect,"change",function(){var h=this.fontSelect.dom.value;this.relayCmd("fontname",h);this.deferFocus()},this)}this.mon(e.el,"click",function(h){h.preventDefault()});this.tb=e},onDisable:function(){this.wrap.mask();Ext.form.HtmlEditor.superclass.onDisable.call(this)},onEnable:function(){this.wrap.unmask();Ext.form.HtmlEditor.superclass.onEnable.call(this)},setReadOnly:function(a){if(this.initialized){var b=a?"off":"on",c=this.getDoc();if(String(c.designMode).toLowerCase()!=b){c.designMode=b}this.disableItems(!a)}Ext.form.HtmlEditor.superclass.setReadOnly.call(this,a)},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(){var a=this.getDoc();return a.body||a.documentElement},getDoc:function(){return Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)},getWin:function(){return Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]},onRender:function(c,b){Ext.form.HtmlEditor.superclass.onRender.call(this,c,b);this.el.dom.style.border="0 none";this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");if(Ext.isIE){this.el.applyStyles("margin-top:-1px;margin-bottom:-1px;")}this.wrap=this.el.wrap({cls:"x-html-editor-wrap",cn:{cls:"x-html-editor-tb"}});this.createToolbar(this);this.disableItems(true);this.createIFrame();if(!this.width){var a=this.el.getSize();this.setSize(a.width,this.height||a.height)}this.resizeEl=this.positionEl=this.wrap},createIFrame:function(){var a=document.createElement("iframe");a.name=Ext.id();a.frameBorder="0";a.src=Ext.SSL_SECURE_URL;this.wrap.dom.appendChild(a);this.iframe=a;this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})},initFrame:function(){Ext.TaskMgr.stop(this.monitorTask);var b=this.getDoc();this.win=this.getWin();b.open();b.write(this.getDocMarkup());b.close();var a={run:function(){var c=this.getDoc();if(c.body||c.readyState=="complete"){Ext.TaskMgr.stop(a);c.designMode="on";this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(a)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var a=this.getDoc();if(!a){return}if(!a.editorInitialized||String(a.designMode).toLowerCase()!="on"){this.initFrame()}}},disableItems:function(a){if(this.fontSelect){this.fontSelect.dom.disabled=a}this.tb.items.each(function(b){if(b.getItemId()!="sourceedit"){b.setDisabled(a)}})},onResize:function(e,a){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(Ext.isNumber(e)){var c=e-this.wrap.getFrameWidth("lr");this.el.setWidth(c);this.tb.setWidth(c);this.iframe.style.width=Math.max(c,0)+"px"}if(Ext.isNumber(a)){var d=a-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(d);this.iframe.style.height=Math.max(d,0)+"px";var b=this.getEditorBody();if(b){b.style.height=Math.max((d-(this.iframePad*2)),0)+"px"}}}},toggleSourceEdit:function(b){if(b===undefined){b=!this.sourceEditMode}this.sourceEditMode=b===true;var a=this.tb.getComponent("sourceedit");if(a.pressed!==this.sourceEditMode){a.toggle(this.sourceEditMode);if(!a.xtbHidden){return}}if(this.sourceEditMode){this.disableItems(true);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.readOnly){this.disableItems(false)}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus()}var c=this.lastSize;if(c){delete this.lastSize;this.setSize(c)}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var a=prompt(this.createLinkText,this.defaultLinkValue);if(a&&a!="http://"){this.relayCmd("createlink",a)}},initEvents:function(){this.originalValue=this.getValue()},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,setValue:function(a){Ext.form.HtmlEditor.superclass.setValue.call(this,a);this.pushValue();return this},cleanHtml:function(a){a=String(a);if(Ext.isWebKit){a=a.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}if(a.charCodeAt(0)==this.defaultValue.replace(/\D/g,"")){a=a.substring(1)}return a},syncValue:function(){if(this.initialized){var b=this.getEditorBody();var a=b.innerHTML;if(Ext.isWebKit){var d=b.getAttribute("style");var c=d.match(/text-align:(.*?);/i);if(c&&c[1]){a='<div style="'+c[0]+'">'+a+"</div>"}}a=this.cleanHtml(a);if(this.fireEvent("beforesync",this,a)!==false){this.el.dom.value=a;this.fireEvent("sync",this,a)}}},getValue:function(){this[this.sourceEditMode?"pushValue":"syncValue"]();return Ext.form.HtmlEditor.superclass.getValue.call(this)},pushValue:function(){if(this.initialized){var b=this.el.dom.value;if(!this.activated&&b.length<1){b=this.defaultValue}if(this.fireEvent("beforepush",this,b)!==false){this.getEditorBody().innerHTML=b;if(Ext.isGecko){var a=this.getDoc(),c=a.designMode.toLowerCase();a.designMode=c.toggle("on","off");a.designMode=c}this.fireEvent("push",this,b)}}},deferFocus:function(){this.focus.defer(10,this)},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus()}else{this.el.focus()}},initEditor:function(){try{var a=this.getEditorBody(),d=this.el.getStyles("font-size","font-family","background-image","background-repeat"),c,g;d["background-attachment"]="fixed";a.bgProperties="fixed";Ext.DomHelper.applyStyles(a,d);c=this.getDoc();if(c){try{Ext.EventManager.removeAll(c)}catch(b){}}g=this.onEditorEvent.createDelegate(this);Ext.EventManager.on(c,{mousedown:g,dblclick:g,click:g,keyup:g,buffer:100});if(Ext.isGecko){Ext.EventManager.on(c,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isWebKit||Ext.isOpera){Ext.EventManager.on(c,"keydown",this.fixKeys,this)}c.editorInitialized=true;this.initialized=true;this.pushValue();this.setReadOnly(this.readOnly);this.fireEvent("initialize",this)}catch(b){}},onDestroy:function(){if(this.monitorTask){Ext.TaskMgr.stop(this.monitorTask)}if(this.rendered){Ext.destroy(this.tb);var c=this.getDoc();if(c){try{Ext.EventManager.removeAll(c);for(var a in c){delete c[a]}}catch(b){}}if(this.wrap){this.wrap.dom.innerHTML="";this.wrap.remove()}}if(this.el){this.el.removeAllListeners();this.el.remove()}this.purgeListeners()},onFirstFocus:function(){this.activated=true;this.disableItems(false);if(Ext.isGecko){this.win.focus();var b=this.win.getSelection();if(!b.focusNode||b.focusNode.nodeType!=3){var c=b.getRangeAt(0);c.selectNodeContents(this.getEditorBody());c.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(a){}}this.fireEvent("activate",this)},adjustFont:function(d){var b=d.getItemId()=="increasefontsize"?1:-1,a=this.getDoc(),c=parseInt(a.queryCommandValue("FontSize")||2,10);if((Ext.isSafari&&!Ext.isSafari2)||Ext.isChrome||Ext.isAir){if(c<=10){c=1+b}else{if(c<=13){c=2+b}else{if(c<=16){c=3+b}else{if(c<=18){c=4+b}else{if(c<=24){c=5+b}else{c=6+b}}}}}c=c.constrain(1,6)}else{if(Ext.isSafari){b*=2}c=Math.max(1,c+b)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",c)},onEditorEvent:function(a){this.updateToolbar()},updateToolbar:function(){if(this.readOnly){return}if(!this.activated){this.onFirstFocus();return}var c=this.tb.items.map,a=this.getDoc();if(this.enableFont&&!Ext.isSafari2){var b=(a.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(b!=this.fontSelect.dom.value){this.fontSelect.dom.value=b}}if(this.enableFormat){c.bold.toggle(a.queryCommandState("bold"));c.italic.toggle(a.queryCommandState("italic"));c.underline.toggle(a.queryCommandState("underline"))}if(this.enableAlignments){c.justifyleft.toggle(a.queryCommandState("justifyleft"));c.justifycenter.toggle(a.queryCommandState("justifycenter"));c.justifyright.toggle(a.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){c.insertorderedlist.toggle(a.queryCommandState("insertorderedlist"));c.insertunorderedlist.toggle(a.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(a){this.relayCmd(a.getItemId())},relayCmd:function(b,a){(function(){this.focus();this.execCmd(b,a);this.updateToolbar()}).defer(10,this)},execCmd:function(c,b){var a=this.getDoc();a.execCommand(c,false,b===undefined?null:b);this.syncValue()},applyCommand:function(d){if(d.ctrlKey){var a=d.getCharCode(),b;if(a>0){a=String.fromCharCode(a);switch(a){case"b":b="bold";break;case"i":b="italic";break;case"u":b="underline";break}if(b){this.win.focus();this.execCmd(b);this.deferFocus();d.preventDefault()}}}},insertAtCursor:function(a){if(!this.activated){return}if(Ext.isIE){this.win.focus();var c=this.getDoc(),b=c.selection.createRange();if(b){b.pasteHTML(a);this.syncValue();this.deferFocus()}}else{this.win.focus();this.execCmd("InsertHTML",a);this.deferFocus()}},fixKeys:function(){if(Ext.isIE){return function(c){var d=c.getKey(),b=this.getDoc(),g;if(d==c.TAB){c.stopEvent();g=b.selection.createRange();if(g){g.collapse(true);g.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else{if(d==c.ENTER){g=b.selection.createRange();if(g){var a=g.parentElement();if(!a||a.tagName.toLowerCase()!="li"){c.stopEvent();g.pasteHTML("<br />");g.collapse(false);g.select()}}}}}}else{if(Ext.isOpera){return function(b){var a=b.getKey();if(a==b.TAB){b.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}}else{if(Ext.isWebKit){return function(b){var a=b.getKey();if(a==b.TAB){b.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}else{if(a==b.ENTER){b.stopEvent();this.execCmd("InsertHtml","<br /><br />");this.deferFocus()}}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:undefined,maxValue:undefined,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initComponent:function(){if(Ext.isDefined(this.minValue)){this.setMinValue(this.minValue,true)}if(Ext.isDefined(this.maxValue)){this.setMaxValue(this.maxValue,true)}if(!this.store){this.generateStore(true)}Ext.form.TimeField.superclass.initComponent.call(this)},setMinValue:function(b,a){this.setLimit(b,true,a);return this},setMaxValue:function(b,a){this.setLimit(b,false,a);return this},generateStore:function(d){var a=this.minValue||new Date(this.initDate).clearTime(),c=this.maxValue||new Date(this.initDate).clearTime().add("mi",(24*60)-1),b=[];while(a<=c){b.push(a.dateFormat(this.format));a=a.add("mi",this.increment)}this.bindStore(b,d)},setLimit:function(g,c,e){var b;if(Ext.isString(g)){b=this.parseDate(g)}else{if(Ext.isDate(g)){b=g}}if(b){var a=new Date(this.initDate).clearTime();a.setHours(b.getHours(),b.getMinutes(),c?0:59,0);this[c?"minValue":"maxValue"]=a;if(!e){this.generateStore()}}},getValue:function(){var a=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(a))||""},setValue:function(a){return Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(a)))},validateValue:Ext.form.DateField.prototype.validateValue,parseDate:Ext.form.DateField.prototype.parseDate,formatDate:Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var a=this.parseDate(this.getRawValue());if(a){this.setValue(a.dateFormat(this.format))}Ext.form.TimeField.superclass.beforeBlur.call(this)}});Ext.reg("timefield",Ext.form.TimeField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(b,a){if(!this.el){this.el=document.createElement("label");this.el.id=this.getId();this.el.innerHTML=this.text?Ext.util.Format.htmlEncode(this.text):(this.html||"");if(this.forId){this.el.setAttribute("for",this.forId)}}Ext.form.Label.superclass.onRender.call(this,b,a)},setText:function(b,c){var a=c===false;this[!a?"text":"html"]=b;delete this[a?"text":"html"];if(this.rendered){this.el.dom.innerHTML=c!==false?Ext.util.Format.htmlEncode(b):b}return this}});Ext.reg("label",Ext.form.Label);Ext.form.Action=function(b,a){this.form=b;this.options=a||{}};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(a){},success:function(a){},handleResponse:function(a){},failure:function(a){this.response=a;this.failureType=Ext.form.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(a){this.response=a;if(!a.responseText&&!a.responseXML){return true}this.result=this.handleResponse(a);return this.result},getUrl:function(a){var b=this.options.url||this.form.url||this.form.el.dom.action;if(a){var c=this.getParams();if(c){b=Ext.urlAppend(b,c)}}return b},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var a=this.form.baseParams;var b=this.options.params;if(b){if(typeof b=="object"){b=Ext.urlEncode(Ext.applyIf(b,a))}else{if(typeof b=="string"&&a){b+="&"+Ext.urlEncode(a)}}}else{if(a){b=Ext.urlEncode(a)}}return b},createCallback:function(a){var a=a||{};return{success:this.success,failure:this.failure,scope:this,timeout:(a.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}}};Ext.form.Action.Submit=function(b,a){Ext.form.Action.Submit.superclass.constructor.call(this,b,a)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:"submit",run:function(){var c=this.options;var a=this.getMethod();var b=a=="GET";if(c.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(c),{form:this.form.el.dom,url:this.getUrl(b),method:a,headers:c.headers,params:!b?this.getParams():null,isUpload:this.form.fileUpload}))}else{if(c.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(b){var a=this.processResponse(b);if(a===true||a.success){this.form.afterAction(this,true);return}if(a.errors){this.form.markInvalid(a.errors)}this.failureType=Ext.form.Action.SERVER_INVALID;this.form.afterAction(this,false)},handleResponse:function(g){if(this.form.errorReader){var e=this.form.errorReader.read(g);var c=[];if(e.records){for(var a=0,d=e.records.length;a<d;a++){var b=e.records[a];c[a]=b.data}}if(c.length<1){c=null}return{success:e.success,errors:c}}return Ext.decode(g.responseText)}});Ext.form.Action.Load=function(b,a){Ext.form.Action.Load.superclass.constructor.call(this,b,a);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(b){var a=this.processResponse(b);if(a===true||!a.success||!a.data){this.failureType=Ext.form.Action.LOAD_FAILURE;this.form.afterAction(this,false);return}this.form.clearInvalid();this.form.setValues(a.data);this.form.afterAction(this,true)},handleResponse:function(c){if(this.form.reader){var b=this.form.reader.read(c);var a=b.records&&b.records[0]?b.records[0].data:null;return{success:b.success,data:a}}return Ext.decode(c.responseText)}});Ext.form.Action.DirectLoad=Ext.extend(Ext.form.Action.Load,{constructor:function(b,a){Ext.form.Action.DirectLoad.superclass.constructor.call(this,b,a)},type:"directload",run:function(){var a=this.getParams();a.push(this.success,this);this.form.api.load.apply(window,a)},getParams:function(){var e=[],b={};var h=this.form.baseParams;var a=this.options.params;Ext.apply(b,a,h);var d=this.form.paramOrder;if(d){for(var g=0,c=d.length;g<c;g++){e.push(b[d[g]])}}else{if(this.form.paramsAsHash){e.push(b)}}return e},processResponse:function(a){this.result=a;return a},success:function(a,b){if(b.type==Ext.Direct.exceptions.SERVER){a={}}Ext.form.Action.DirectLoad.superclass.success.call(this,a)}});Ext.form.Action.DirectSubmit=Ext.extend(Ext.form.Action.Submit,{constructor:function(b,a){Ext.form.Action.DirectSubmit.superclass.constructor.call(this,b,a)},type:"directsubmit",run:function(){var a=this.options;if(a.clientValidation===false||this.form.isValid()){this.success.params=this.getParams();this.form.api.submit(this.form.el.dom,this.success,this)}else{if(a.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},getParams:function(){var a={};var b=this.form.baseParams;var c=this.options.params;Ext.apply(a,c,b);return a},processResponse:function(a){this.result=a;return a},success:function(a,b){if(b.type==Ext.Direct.exceptions.SERVER){a={}}Ext.form.Action.DirectSubmit.superclass.success.call(this,a)}});Ext.form.Action.ACTION_TYPES={load:Ext.form.Action.Load,submit:Ext.form.Action.Submit,directload:Ext.form.Action.DirectLoad,directsubmit:Ext.form.Action.DirectSubmit};Ext.form.VTypes=function(){var a=/^[a-zA-Z_]+$/,b=/^[a-zA-Z0-9_]+$/,d=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,c=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{email:function(e){return d.test(e)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@]/i,url:function(e){return c.test(e)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(e){return a.test(e)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(e){return b.test(e)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{autoExpandColumn:false,autoExpandMax:1000,autoExpandMin:50,columnLines:false,ddText:"{0} selected row{1}",deferRowRender:true,enableColumnHide:true,enableColumnMove:true,enableDragDrop:false,enableHdMenu:true,loadMask:false,minColumnWidth:25,stripeRows:false,trackMouseOver:true,stateEvents:["columnmove","columnresize","sortchange"],view:null,bubbleEvents:[],rendered:false,viewReady:false,initComponent:function(){Ext.grid.GridPanel.superclass.initComponent.call(this);if(this.columnLines){this.cls=(this.cls||"")+" x-grid-with-col-lines"}this.autoScroll=false;this.autoWidth=false;if(Ext.isArray(this.columns)){this.colModel=new Ext.grid.ColumnModel(this.columns);delete this.columns}if(this.ds){this.store=this.ds;delete this.ds}if(this.cm){this.colModel=this.cm;delete this.cm}if(this.sm){this.selModel=this.sm;delete this.sm}this.store=Ext.StoreMgr.lookup(this.store);this.addEvents("click","dblclick","contextmenu","mousedown","mouseup","mouseover","mouseout","keypress","keydown","cellmousedown","rowmousedown","headermousedown","groupmousedown","rowbodymousedown","containermousedown","cellclick","celldblclick","rowclick","rowdblclick","headerclick","headerdblclick","groupclick","groupdblclick","containerclick","containerdblclick","rowbodyclick","rowbodydblclick","rowcontextmenu","cellcontextmenu","headercontextmenu","groupcontextmenu","containercontextmenu","rowbodycontextmenu","bodyscroll","columnresize","columnmove","sortchange","reconfigure","viewready")},onRender:function(a,d){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var b=this.getGridEl();this.el.addClass("x-grid-panel");this.mon(b,{scope:this,mousedown:this.onMouseDown,click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu});this.relayEvents(b,["mousedown","mouseup","mouseover","mouseout","keypress","keydown"]);var e=this.getView();e.init(this);e.render();this.getSelectionModel().init(this)},initEvents:function(){Ext.grid.GridPanel.superclass.initEvents.call(this);if(this.loadMask){this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({store:this.store},this.loadMask))}},initStateEvents:function(){Ext.grid.GridPanel.superclass.initStateEvents.call(this);this.mon(this.colModel,"hiddenchange",this.saveState,this,{delay:100})},applyState:function(k){var h=this.colModel,b=k.columns;if(b){for(var a=0,d=b.length;a<d;a++){var j=b[a],e=h.getColumnById(j.id);if(e){e.hidden=j.hidden;e.width=j.width;var g=h.getIndexById(j.id);if(g!=a){h.moveColumn(g,a)}}}}if(k.sort&&this.store){this.store[this.store.remoteSort?"setDefaultSort":"sort"](k.sort.field,k.sort.direction)}var l=Ext.apply({},k);delete l.columns;delete l.sort;Ext.grid.GridPanel.superclass.applyState.call(this,l)},getState:function(){var a={columns:[]};for(var e=0,b;(b=this.colModel.config[e]);e++){a.columns[e]={id:b.id,width:b.width};if(b.hidden){a.columns[e].hidden=true}}if(this.store){var d=this.store.getSortState();if(d){a.sort=d}}return a},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.call(this);var a=this.view;this.on("bodyresize",a.layout,a);a.layout();if(this.deferRowRender){a.afterRender.defer(10,this.view)}else{a.afterRender()}this.viewReady=true},reconfigure:function(b,c){var a=this.rendered;if(a){if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({},{store:b},this.initialConfig.loadMask))}}if(this.view){this.view.initData(b,c)}this.store=b;this.colModel=c;if(a){this.view.refresh(true)}this.fireEvent("reconfigure",this,b,c)},onDestroy:function(){if(this.rendered){Ext.destroy(this.view,this.loadMask)}else{if(this.store&&this.store.autoDestroy){this.store.destroy()}}Ext.destroy(this.colModel,this.selModel);this.store=this.selModel=this.colModel=this.view=this.loadMask=null;Ext.grid.GridPanel.superclass.onDestroy.call(this)},processEvent:function(d,j){this.fireEvent(d,j);var h=j.getTarget(),c=this.view,a=c.findHeaderIndex(h);if(a!==false){this.fireEvent("header"+d,this,a,j)}else{var k=c.findRowIndex(h),g,b;if(k!==false){this.fireEvent("row"+d,this,k,j);g=c.findCellIndex(h);b=c.findRowBody(h);if(g!==false){this.fireEvent("cell"+d,this,k,g,j)}if(b){this.fireEvent("rowbody"+d,this,k,j)}}else{this.fireEvent("container"+d,this,j)}}this.view.processEvent(d,j)},onClick:function(a){this.processEvent("click",a)},onMouseDown:function(a){this.processEvent("mousedown",a)},onContextMenu:function(b,a){this.processEvent("contextmenu",b)},onDblClick:function(a){this.processEvent("dblclick",a)},walkCells:function(g,k,j,a,e){var d=this.colModel,b=d.getColumnCount(),h=this.store,c=h.getCount(),l=true;if(j<0){if(k<0){g--;l=false}while(g>=0){if(!l){k=b-1}l=false;while(k>=0){if(a.call(e||this,g,k,d)===true){return[g,k]}k--}g--}}else{if(k>=b){g++;l=false}while(g<c){if(!l){k=0}l=false;while(k<b){if(a.call(e||this,g,k,d)===true){return[g,k]}k++}g++}}return null},onResize:function(){Ext.grid.GridPanel.superclass.onResize.apply(this,arguments);if(this.viewReady){this.view.layout()}},getGridEl:function(){return this.body},stopEditing:Ext.emptyFn,getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.grid.RowSelectionModel(this.disableSelection?{selectRow:Ext.emptyFn}:null)}return this.selModel},getStore:function(){return this.store},getColumnModel:function(){return this.colModel},getView:function(){if(!this.view){this.view=new Ext.grid.GridView(this.viewConfig)}return this.view},getDragDropText:function(){var a=this.selModel.getCount();return String.format(this.ddText,a,a==1?"":"s")}});Ext.reg("grid",Ext.grid.GridPanel);Ext.grid.GridView=Ext.extend(Ext.util.Observable,{deferEmptyText:true,scrollOffset:undefined,autoFill:false,forceFit:false,sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",columnsText:"Columns",selectedRowClass:"x-grid3-row-selected",borderWidth:2,tdClass:"x-grid3-cell",hdCls:"x-grid3-hd",markDirty:true,cellSelectorDepth:4,rowSelectorDepth:10,rowBodySelectorDepth:10,cellSelector:"td.x-grid3-cell",rowSelector:"div.x-grid3-row",rowBodySelector:"div.x-grid3-row-body",firstRowCls:"x-grid3-row-first",lastRowCls:"x-grid3-row-last",rowClsRe:/(?:^|\s+)x-grid3-row-(first|last|alt)(?:\s+|$)/g,constructor:function(a){Ext.apply(this,a);this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");Ext.grid.GridView.superclass.constructor.call(this)},initTemplates:function(){var a=this.templates||{};if(!a.master){a.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" style="{ostyle}">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body" style="{bstyle}">{body}</div><a href="#" class="x-grid3-focus" tabIndex="-1"></a></div>',"</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>")}if(!a.header){a.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(!a.hcell){a.hcell=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}" style="{style}"><div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"",'{value}<img class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div></td>")}if(!a.body){a.body=new Ext.Template("{rows}")}if(!a.row){a.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(!a.cell){a.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 b in a){var c=a[b];if(c&&Ext.isFunction(c.compile)&&!c.compiled){c.disableFormats=true;c.compile()}}this.templates=a;this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")},fly:function(a){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=a;return this._flyweight},getEditorParent:function(){return this.scroller.dom},initElements:function(){var a=Ext.Element;var c=this.grid.getGridEl().dom.firstChild;var b=c.childNodes;this.el=new a(c);this.mainWrap=new a(b[0]);this.mainHd=new a(this.mainWrap.dom.firstChild);if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)}this.innerHd=this.mainHd.dom.firstChild;this.scroller=new a(this.mainWrap.dom.childNodes[1]);if(this.forceFit){this.scroller.setStyle("overflow-x","hidden")}this.mainBody=new a(this.scroller.dom.firstChild);this.focusEl=new a(this.scroller.dom.childNodes[1]);this.focusEl.swallowEvent("click",true);this.resizeMarker=new a(b[1]);this.resizeProxy=new a(b[2])},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(a){if(!a){return false}return this.fly(a).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(a,c){var b=this.findCell(a);if(b&&(!c||this.fly(b).hasClass(c))){return this.getCellIndex(b)}return false},getCellIndex:function(b){if(b){var a=b.className.match(this.colRe);if(a&&a[1]){return this.cm.getIndexById(a[1])}}return false},findHeaderCell:function(b){var a=this.findCell(b);return a&&this.fly(a).hasClass(this.hdCls)?a:null},findHeaderIndex:function(a){return this.findCellIndex(a,this.hdCls)},findRow:function(a){if(!a){return false}return this.fly(a).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(a){var b=this.findRow(a);return b?b.rowIndex:false},findRowBody:function(a){if(!a){return false}return this.fly(a).findParent(this.rowBodySelector,this.rowBodySelectorDepth)},getRow:function(a){return this.getRows()[a]},getCell:function(b,a){return this.getRow(b).getElementsByTagName("td")[a]},getHeaderCell:function(a){return this.mainHd.dom.getElementsByTagName("td")[a]},addRowClass:function(a,b){var c=this.getRow(a);if(c){this.fly(c).addClass(b)}},removeRowClass:function(a,b){var c=this.getRow(a);if(c){this.fly(c).removeClass(b)}},removeRow:function(a){Ext.removeNode(this.getRow(a));this.syncFocusEl(a)},removeRows:function(a,c){var d=this.mainBody.dom;for(var b=a;b<=c;b++){Ext.removeNode(d.childNodes[a])}this.syncFocusEl(a)},getScrollState:function(){var a=this.scroller.dom;return{left:a.scrollLeft,top:a.scrollTop}},restoreScroll:function(a){var b=this.scroller.dom;b.scrollLeft=a.left;b.scrollTop=a.top},scrollToTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var a=this.scroller.dom;this.grid.fireEvent("bodyscroll",a.scrollLeft,a.scrollTop)},syncHeaderScroll:function(){var a=this.scroller.dom;this.innerHd.scrollLeft=a.scrollLeft;this.innerHd.scrollLeft=a.scrollLeft},updateSortIcon:function(d,c){var b=this.sortClasses;var a=this.mainHd.select("td").removeClass(b);a.item(d).addClass(b[c=="DESC"?1:0])},updateAllColumnWidths:function(){var m=this.getTotalWidth(),e=this.cm.getColumnCount(),b=[],a,k;for(k=0;k<e;k++){b[k]=this.getColumnWidth(k)}this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=m;this.mainBody.dom.style.width=m;for(k=0;k<e;k++){var l=this.getHeaderCell(k);l.style.width=b[k]}var d=this.getRows(),g,c;for(k=0,a=d.length;k<a;k++){g=d[k];g.style.width=m;if(g.firstChild){g.firstChild.style.width=m;c=g.firstChild.rows[0];for(var h=0;h<e;h++){c.childNodes[h].style.width=b[h]}}}this.onAllColumnWidthsUpdated(b,m)},updateColumnWidth:function(k,j){var g=this.getColumnWidth(k);var c=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=c;this.mainBody.dom.style.width=c;var b=this.getHeaderCell(k);b.style.width=g;var e=this.getRows(),h;for(var a=0,d=e.length;a<d;a++){h=e[a];h.style.width=c;if(h.firstChild){h.firstChild.style.width=c;h.firstChild.rows[0].childNodes[k].style.width=g}}this.onColumnWidthUpdated(k,g,c)},updateColumnHidden:function(j,c){var b=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=b;this.mainBody.dom.style.width=b;var e=c?"none":"";var a=this.getHeaderCell(j);a.style.display=e;var g=this.getRows(),h;for(var k=0,d=g.length;k<d;k++){h=g[k];h.style.width=b;if(h.firstChild){h.firstChild.style.width=b;h.firstChild.rows[0].childNodes[j].style.display=e}}this.onColumnHiddenUpdated(j,c,b);delete this.lastViewWidth;this.layout()},doRender:function(g,k,u,a,s,y){var b=this.templates,e=b.cell,h=b.row,l=s-1;var d="width:"+this.getTotalWidth()+";";var B=[],v,q,w={},m={tstyle:d},o;for(var x=0,A=k.length;x<A;x++){o=k[x];v=[];var n=(x+a);for(var z=0;z<s;z++){q=g[z];w.id=q.id;w.css=z===0?"x-grid3-cell-first ":(z==l?"x-grid3-cell-last ":"");w.attr=w.cellAttr="";w.value=q.renderer.call(q.scope,o.data[q.name],w,o,n,z,u);w.style=q.style;if(Ext.isEmpty(w.value)){w.value="&#160;"}if(this.markDirty&&o.dirty&&Ext.isDefined(o.modified[q.name])){w.css+=" x-grid3-dirty-cell"}v[v.length]=e.apply(w)}var t=[];if(y&&((n+1)%2===0)){t[0]="x-grid3-row-alt"}if(o.dirty){t[1]=" x-grid3-dirty-row"}m.cols=s;if(this.getRowClass){t[2]=this.getRowClass(o,n,m,u)}m.alt=t.join(" ");m.cells=v.join("");B[B.length]=h.apply(m)}return B.join("")},processRows:function(e,c){if(!this.ds||this.ds.getCount()<1){return}var b=this.getRows(),d=b.length,g,a;c=c||!this.grid.stripeRows;e=e||0;for(g=0;g<d;g++){a=b[g];if(a){a.rowIndex=g;if(!c){a.className=a.className.replace(this.rowClsRe," ");if((g+1)%2===0){a.className+=" x-grid3-row-alt"}}}}if(e===0){Ext.fly(b[0]).addClass(this.firstRowCls)}Ext.fly(b[b.length-1]).addClass(this.lastRowCls)},afterRender:function(){if(!this.ds||!this.cm){return}this.mainBody.dom.innerHTML=this.renderRows()||"&#160;";this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}this.grid.fireEvent("viewready",this.grid)},renderUI:function(){var b=this.renderHeaders();var c=this.templates.body.apply({rows:"&#160;"});var d=this.templates.master.apply({body:c,header:b,ostyle:"width:"+this.getOffsetWidth()+";",bstyle:"width:"+this.getTotalWidth()+";"});var a=this.grid;a.getGridEl().dom.innerHTML=d;this.initElements();Ext.fly(this.innerHd).on("click",this.handleHdDown,this);this.mainHd.on({scope:this,mouseover:this.handleHdOver,mouseout:this.handleHdOut,mousemove:this.handleHdMove});this.scroller.on("scroll",this.syncScroll,this);if(a.enableColumnResize!==false){this.splitZone=new Ext.grid.GridView.SplitDragZone(a,this.mainHd.dom)}if(a.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(a,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(a,this.mainHd.dom)}if(a.enableHdMenu!==false){this.hmenu=new Ext.menu.Menu({id:a.id+"-hctx"});this.hmenu.add({itemId:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{itemId:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"});if(a.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:a.id+"-hcols-menu"});this.colMenu.on({scope:this,beforeshow:this.beforeColMenuShow,itemclick:this.handleHdMenuClick});this.hmenu.add("-",{itemId:"columns",hideOnClick:false,text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})}this.hmenu.on("itemclick",this.handleHdMenuClick,this)}if(a.trackMouseOver){this.mainBody.on({scope:this,mouseover:this.onRowOver,mouseout:this.onRowOut})}if(a.enableDragDrop||a.enableDrag){this.dragZone=new Ext.grid.GridDragZone(a,{ddGroup:a.ddGroup||"GridDD"})}this.updateHeaderSortState()},processEvent:Ext.emptyFn,layout:function(){if(!this.mainBody){return}var j=this.grid;var d=j.getGridEl();var e=d.getSize(true);var h=e.width;if(!j.hideHeaders&&(h<20||e.height<20)){return}if(j.autoHeight){this.scroller.dom.style.overflow="visible";if(Ext.isWebKit){this.scroller.dom.style.position="static"}}else{this.el.setSize(e.width,e.height);var b=this.mainHd.getHeight();var a=e.height-(b);this.scroller.setSize(h,a);if(this.innerHd){this.innerHd.style.width=(h)+"px"}}if(this.forceFit){if(this.lastViewWidth!=h){this.fitColumns(false,false);this.lastViewWidth=h}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(h,a)},onLayout:function(a,b){},onColumnWidthUpdated:function(a,b,c){},onAllColumnWidthsUpdated:function(a,b){},onColumnHiddenUpdated:function(c,a,b){},updateColumnText:function(a,b){},afterMove:function(a){},init:function(a){this.grid=a;this.initTemplates();this.initData(a.store,a.colModel);this.initUI(a)},getColumnId:function(a){return this.cm.getColumnId(a)},getOffsetWidth:function(){return(this.cm.getTotalWidth()+this.getScrollOffset())+"px"},getScrollOffset:function(){return Ext.num(this.scrollOffset,Ext.getScrollBarWidth())},renderHeaders:function(){var d=this.cm,j=this.templates,g=j.hcell,c=[],a={},b=d.getColumnCount(),h=b-1;for(var e=0;e<b;e++){a.id=d.getColumnId(e);a.value=d.getColumnHeader(e)||"";a.style=this.getColumnStyle(e,true);a.tooltip=this.getColumnTooltip(e);a.css=e===0?"x-grid3-cell-first ":(e==h?"x-grid3-cell-last ":"");if(d.config[e].align=="right"){a.istyle="padding-right:16px"}else{delete a.istyle}c[c.length]=g.apply(a)}return j.header.apply({cells:c.join(""),tstyle:"width:"+this.getTotalWidth()+";"})},getColumnTooltip:function(a){var b=this.cm.getColumnTooltip(a);if(b){if(Ext.QuickTips.isEnabled()){return'ext:qtip="'+b+'"'}else{return'title="'+b+'"'}}return""},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=this.getTotalWidth()},focusRow:function(a){this.focusCell(a,0,false)},focusCell:function(a,b,c){this.syncFocusEl(this.ensureVisible(a,b,c));if(Ext.isGecko){this.focusEl.focus()}else{this.focusEl.focus.defer(1,this.focusEl)}},resolveCell:function(b,g,a){if(!Ext.isNumber(b)){b=b.rowIndex}if(!this.ds){return null}if(b<0||b>=this.ds.getCount()){return null}g=(g!==undefined?g:0);var e=this.getRow(b),c=this.cm,h=c.getColumnCount(),d;if(!(a===false&&g===0)){while(g<h&&c.isHidden(g)){g++}d=this.getCell(b,g)}return{row:e,cell:d}},getResolvedXY:function(d){if(!d){return null}var e=this.scroller.dom,b=d.cell,a=d.row;return b?Ext.fly(b).getXY():[this.el.getX(),Ext.fly(a).getY()]},syncFocusEl:function(b,c,a){var d=b;if(!Ext.isArray(d)){b=Math.min(b,Math.max(0,this.getRows().length-1));d=this.getResolvedXY(this.resolveCell(b,c,a))}this.focusEl.setXY(d||this.scroller.getXY())},ensureVisible:function(q,b,a){var m=this.resolveCell(q,b,a);if(!m||!m.row){return}var k=m.row,e=m.cell,r=this.scroller.dom,o=0,u=k,d=this.el.dom;while(u&&u!=d){o+=u.offsetTop;u=u.offsetParent}o-=this.mainHd.dom.offsetHeight;d=parseInt(r.scrollTop,10);var j=o+k.offsetHeight,s=r.clientHeight,n=d+s;if(o<d){r.scrollTop=o}else{if(j>n){r.scrollTop=j-s}}if(a!==false){var l=parseInt(e.offsetLeft,10);var h=l+e.offsetWidth;var g=parseInt(r.scrollLeft,10);var t=g+r.clientWidth;if(l<g){r.scrollLeft=l}else{if(h>t){r.scrollLeft=h-r.clientWidth}}}return this.getResolvedXY(m)},insertRows:function(b,a,g,j){var e=b.getCount()-1;if(!j&&a===0&&g>=e){this.fireEvent("beforerowsinserted",this,a,g);this.refresh();this.fireEvent("rowsinserted",this,a,g)}else{if(!j){this.fireEvent("beforerowsinserted",this,a,g)}var c=this.renderRows(a,g),h=this.getRow(a);if(h){if(a===0){Ext.fly(this.getRow(0)).removeClass(this.firstRowCls)}Ext.DomHelper.insertHtml("beforeBegin",h,c)}else{var d=this.getRow(e-1);if(d){Ext.fly(d).removeClass(this.lastRowCls)}Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,c)}if(!j){this.fireEvent("rowsinserted",this,a,g);this.processRows(a)}else{if(a===0||a>=e){Ext.fly(this.getRow(a)).addClass(a===0?this.firstRowCls:this.lastRowCls)}}}this.syncFocusEl(a)},deleteRows:function(b,a,c){if(b.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,a,c);this.removeRows(a,c);this.processRows(a);this.fireEvent("rowsdeleted",this,a,c)}},getColumnStyle:function(c,a){var d=!a?(this.cm.config[c].css||""):"";d+="width:"+this.getColumnWidth(c)+";";if(this.cm.isHidden(c)){d+="display:none;"}var b=this.cm.config[c].align;if(b){d+="text-align:"+b+";"}return d},getColumnWidth:function(b){var a=this.cm.getColumnWidth(b);if(Ext.isNumber(a)){return(Ext.isBorderBox||(Ext.isWebKit&&!Ext.isSafari2)?a:(a-this.borderWidth>0?a-this.borderWidth:0))+"px"}return a},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(r,b,c){var p=this.cm,d;var e=p.getTotalWidth(false);var l=this.grid.getGridEl().getWidth(true)-this.getScrollOffset();if(l<20){return}var s=l-e;if(s===0){return false}var g=p.getColumnCount(true);var j=g-(Ext.isNumber(c)?1:0);if(j===0){j=1;c=undefined}var q=p.getColumnCount();var k=[];var h=0;var o=0;var n;for(d=0;d<q;d++){if(!p.isHidden(d)&&!p.isFixed(d)&&d!==c){n=p.getColumnWidth(d);k.push(d);h=d;k.push(n);o+=n}}var m=(l-p.getTotalWidth())/o;while(k.length){n=k.pop();d=k.pop();p.setColumnWidth(d,Math.max(this.grid.minColumnWidth,Math.floor(n+n*m)),true)}if((e=p.getTotalWidth(false))>l){var a=j!=g?c:h;p.setColumnWidth(a,Math.max(1,p.getColumnWidth(a)-(e-l)),true)}if(r!==true){this.updateAllColumnWidths()}return true},autoExpand:function(d){var k=this.grid,b=this.cm;if(!this.userResized&&k.autoExpandColumn){var e=b.getTotalWidth(false);var a=this.grid.getGridEl().getWidth(true)-this.getScrollOffset();if(e!=a){var j=b.getIndexById(k.autoExpandColumn);var h=b.getColumnWidth(j);var c=Math.min(Math.max(((a-e)+h),k.autoExpandMin),k.autoExpandMax);if(c!=h){b.setColumnWidth(j,c,true);if(d!==true){this.updateColumnWidth(j,c)}}}}},getColumnData:function(){var b=[],d=this.cm,c=d.getColumnCount();for(var a=0;a<c;a++){var e=d.getDataIndex(a);b[a]={name:(!Ext.isDefined(e)?this.ds.fields.get(a).name:e),renderer:d.getRenderer(a),scope:d.getRendererScope(a),id:d.getColumnId(a),style:this.getColumnStyle(a)}}return b},renderRows:function(h,a){var b=this.grid,d=b.colModel,k=b.store,j=b.stripeRows;var e=d.getColumnCount();if(k.getCount()<1){return""}var c=this.getColumnData();h=h||0;a=!Ext.isDefined(a)?k.getCount()-1:a;var l=k.getRange(h,a);return this.doRender(c,l,k,h,e,j)},renderBody:function(){var a=this.renderRows()||"&#160;";return this.templates.body.apply({rows:a})},refreshRow:function(b){var a=this.ds,c;if(Ext.isNumber(b)){c=b;b=a.getAt(c);if(!b){return}}else{c=a.indexOf(b);if(c<0){return}}this.insertRows(a,c,c,true);this.getRow(c).rowIndex=c;this.onRemove(a,b,c+1,true);this.fireEvent("rowupdated",this,c,b)},refresh:function(b){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var a=this.renderBody();this.mainBody.update(a).setWidth(this.getTotalWidth());if(b===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 c=this.ds.getSortState();if(!c){return}if(!this.sortState||(this.sortState.field!=c.field||this.sortState.direction!=c.direction)){this.grid.fireEvent("sortchange",this.grid,c)}this.sortState=c;var a=this.cm.findColumnIndex(c.field);if(a!=-1){var b=c.direction;this.updateSortIcon(a,b)}},clearHeaderSortState:function(){if(!this.sortState){return}this.grid.fireEvent("sortchange",this.grid,null);this.mainHd.select("td").removeClass(this.sortClasses);delete this.sortState},destroy:function(){if(this.colMenu){Ext.menu.MenuMgr.unregister(this.colMenu);this.colMenu.destroy();delete this.colMenu}if(this.hmenu){Ext.menu.MenuMgr.unregister(this.hmenu);this.hmenu.destroy();delete this.hmenu}this.initData(null,null);this.purgeListeners();Ext.fly(this.innerHd).un("click",this.handleHdDown,this);if(this.grid.enableColumnMove){Ext.destroy(this.columnDrag.el,this.columnDrag.proxy.ghost,this.columnDrag.proxy.el,this.columnDrop.el,this.columnDrop.proxyTop,this.columnDrop.proxyBottom,this.columnDrag.dragData.ddel,this.columnDrag.dragData.header);if(this.columnDrag.proxy.anim){Ext.destroy(this.columnDrag.proxy.anim)}delete this.columnDrag.proxy.ghost;delete this.columnDrag.dragData.ddel;delete this.columnDrag.dragData.header;this.columnDrag.destroy();delete Ext.dd.DDM.locationCache[this.columnDrag.id];delete this.columnDrag._domRef;delete this.columnDrop.proxyTop;delete this.columnDrop.proxyBottom;this.columnDrop.destroy();delete Ext.dd.DDM.locationCache["gridHeader"+this.grid.getGridEl().id];delete this.columnDrop._domRef;delete Ext.dd.DDM.ids[this.columnDrop.ddGroup]}if(this.splitZone){this.splitZone.destroy();delete this.splitZone._domRef;delete Ext.dd.DDM.ids["gridSplitters"+this.grid.getGridEl().id]}Ext.fly(this.innerHd).removeAllListeners();Ext.removeNode(this.innerHd);delete this.innerHd;Ext.destroy(this.el,this.mainWrap,this.mainHd,this.scroller,this.mainBody,this.focusEl,this.resizeMarker,this.resizeProxy,this.activeHdBtn,this.dragZone,this.splitZone,this._flyweight);delete this.grid.container;if(this.dragZone){this.dragZone.destroy()}Ext.dd.DDM.currentTarget=null;delete Ext.dd.DDM.locationCache[this.grid.getGridEl().id];Ext.EventManager.removeResizeListener(this.onWindowResize,this)},onDenyColumnHide:function(){},render:function(){if(this.autoFill){var a=this.grid.ownerCt;if(a&&a.getLayout()){a.on("afterlayout",function(){this.fitColumns(true,true);this.updateHeaders()},this,{single:true})}else{this.fitColumns(true,true)}}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.renderUI()},initData:function(b,a){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(this.ds!==b&&this.ds.autoDestroy){this.ds.destroy()}}if(b){b.on({scope:this,load:this.onLoad,datachanged:this.onDataChange,add:this.onAdd,remove:this.onRemove,update:this.onUpdate,clear:this.onClear})}this.ds=b;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)}if(a){delete this.lastViewWidth;a.on({scope:this,configchange:this.onColConfigChange,widthchange:this.onColWidthChange,headerchange:this.onHeaderChange,hiddenchange:this.onHiddenChange,columnmoved:this.onColumnMove})}this.cm=a},onDataChange:function(){this.refresh();this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(b,a){this.refreshRow(a)},onAdd:function(a,b,c){this.insertRows(a,c,c+(b.length-1))},onRemove:function(b,c,d,a){if(a!==true){this.fireEvent("beforerowremoved",this,d,c)}this.removeRow(d);if(a!==true){this.processRows(d);this.applyEmptyText();this.fireEvent("rowremoved",this,d,c)}},onLoad:function(){this.scrollToTop.defer(Ext.isGecko?1:0,this)},onColWidthChange:function(b,c,a){this.updateColumnWidth(c,a)},onHeaderChange:function(b,c,a){this.updateHeaders()},onHiddenChange:function(b,c,a){this.updateColumnHidden(c,a)},onColumnMove:function(c,b,d){this.indexMap=null;var a=this.getScrollState();this.refresh(true);this.restoreScroll(a);this.afterMove(d);this.grid.fireEvent("columnmove",b,d)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(a){a.on("headerclick",this.onHeaderClick,this)},initEvents:function(){},onHeaderClick:function(b,a){if(this.headersDisabled||!this.cm.isSortable(a)){return}b.stopEditing(true);b.store.sort(this.cm.getDataIndex(a))},onRowOver:function(c,b){var a;if((a=this.findRowIndex(b))!==false){this.addRowClass(a,"x-grid3-row-over")}},onRowOut:function(c,b){var a;if((a=this.findRowIndex(b))!==false&&!c.within(this.getRow(a),true)){this.removeRowClass(a,"x-grid3-row-over")}},handleWheel:function(a){a.stopPropagation()},onRowSelect:function(a){this.addRowClass(a,this.selectedRowClass)},onRowDeselect:function(a){this.removeRowClass(a,this.selectedRowClass)},onCellSelect:function(a,c){var b=this.getCell(a,c);if(b){this.fly(b).addClass("x-grid3-cell-selected")}},onCellDeselect:function(a,c){var b=this.getCell(a,c);if(b){this.fly(b).removeClass("x-grid3-cell-selected")}},onColumnSplitterMoved:function(a,c){this.userResized=true;var b=this.grid.colModel;b.setColumnWidth(a,c,true);if(this.forceFit){this.fitColumns(true,false,a);this.updateAllColumnWidths()}else{this.updateColumnWidth(a,c);this.syncHeaderScroll()}this.grid.fireEvent("columnresize",a,c)},handleHdMenuClick:function(a){var e=this.hdCtxIndex,d=this.cm,b=this.ds,c=a.getItemId();switch(c){case"asc":b.sort(d.getDataIndex(e),"ASC");break;case"desc":b.sort(d.getDataIndex(e),"DESC");break;default:e=d.getIndexById(c.substr(4));if(e!=-1){if(a.checked&&d.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}d.setHidden(e,a.checked)}}return true},isHideableColumn:function(a){return !a.hidden&&!a.fixed},beforeColMenuShow:function(){var b=this.cm,a=b.getColumnCount();this.colMenu.removeAll();for(var c=0;c<a;c++){if(b.config[c].fixed!==true&&b.config[c].hideable!==false){this.colMenu.add(new Ext.menu.CheckItem({itemId:"col-"+b.getColumnId(c),text:b.getColumnHeader(c),checked:!b.isHidden(c),hideOnClick:false,disabled:b.config[c].hideable===false}))}}},handleHdDown:function(c,a){if(Ext.fly(a).hasClass("x-grid3-hd-btn")){c.stopEvent();var b=this.findHeaderCell(a);Ext.fly(b).addClass("x-grid3-hd-menu-open");var h=this.getCellIndex(b);this.hdCtxIndex=h;var g=this.hmenu.items,d=this.cm;g.get("asc").setDisabled(!d.isSortable(h));g.get("desc").setDisabled(!d.isSortable(h));this.hmenu.on("hide",function(){Ext.fly(b).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(a,"tl-bl?")}},handleHdOver:function(b,c){var a=this.findHeaderCell(c);if(a&&!this.headersDisabled){this.activeHdRef=c;this.activeHdIndex=this.getCellIndex(a);var d=this.fly(a);this.activeHdRegion=d.getRegion();if(!this.cm.isMenuDisabled(this.activeHdIndex)){d.addClass("x-grid3-hd-over");this.activeHdBtn=d.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(a.firstChild.offsetHeight-1)+"px"}}}},handleHdMove:function(k,d){var j=this.findHeaderCell(this.activeHdRef);if(j&&!this.headersDisabled){var h=this.splitHandleWidth||5,g=this.activeHdRegion,b=k.getPageX(),c=j.style,a="";if(this.grid.enableColumnResize!==false){if(b-g.left<=h&&this.cm.isResizable(this.activeHdIndex-1)){a=Ext.isAir?"move":Ext.isWebKit?"e-resize":"col-resize"}else{if(g.right-b<=(!this.activeHdBtn?h:2)&&this.cm.isResizable(this.activeHdIndex)){a=Ext.isAir?"move":Ext.isWebKit?"w-resize":"col-resize"}}}c.cursor=a}},handleHdOut:function(a,b){var c=this.findHeaderCell(b);if(c&&(!Ext.isIE||!a.within(c,true))){this.activeHdRef=null;this.fly(c).removeClass("x-grid3-hd-over");c.style.cursor=""}},hasRows:function(){var a=this.mainBody.dom.firstChild;return a&&a.nodeType==1&&a.className!="x-grid-empty"},bind:function(a,b){this.initData(a,b)}});Ext.grid.GridView.SplitDragZone=function(a,b){this.grid=a;this.view=a.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,b,"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(d,c){this.view.headersDisabled=true;var b=this.view.mainWrap.getHeight();this.marker.setHeight(b);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(b);var e=this.cm.getColumnWidth(this.cellIndex);var a=Math.max(e-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(a,1000);this.setYConstraint(0,0);this.minX=d-a;this.maxX=d+1000;this.startPos=d;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,d,c)},allowHeaderDrag:function(a){return true},handleMouseDown:function(j){var c=this.view.findHeaderCell(j.getTarget());if(c&&this.allowHeaderDrag(j)){var h=this.view.fly(c).getXY(),m=h[0],l=h[1];var d=j.getXY(),k=d[0];var b=c.offsetWidth,a=false;if((k-m)<=this.hw){a=-1}else{if((m+b)-k<=this.hw){a=0}}if(a!==false){this.cm=this.grid.colModel;var g=this.view.getCellIndex(c);if(a==-1){if(g+a<0){return}while(this.cm.isHidden(g+a)){--a;if(g+a<0){return}}}this.cellIndex=g+a;this.split=c.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(j)}}}},endDrag:function(b){this.marker.hide();var c=this.view;var d=Math.max(this.minX,b.getPageX());var a=d-this.startPos;c.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+a);setTimeout(function(){c.headersDisabled=false},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.HeaderDragZone=Ext.extend(Ext.dd.DragZone,{maxDragWidth:120,constructor:function(b,a,c){this.grid=b;this.view=b.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,a);if(c){this.setHandleElId(Ext.id(a));this.setOuterHandleElId(Ext.id(c))}this.scroll=false},getDragData:function(a){var b=Ext.lib.Event.getTarget(a);var c=this.view.findHeaderCell(b);if(c){return{ddel:c.firstChild,header:c}}return false},onInitDrag:function(a){this.view.headersDisabled=true;var b=this.dragData.ddel.cloneNode(true);b.id=Ext.id();b.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(b);return true},afterValidDrop:function(){var a=this.view;setTimeout(function(){a.headersDisabled=false},50)},afterInvalidDrop:function(){var a=this.view;setTimeout(function(){a.headersDisabled=false},50)}});Ext.grid.HeaderDropZone=Ext.extend(Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,constructor:function(b,a,c){this.grid=b;this.view=b.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,b.getGridEl().dom)},getTargetFromEvent:function(a){var b=Ext.lib.Event.getTarget(a);var c=this.view.findCellIndex(b);if(c!==false){return this.view.getHeaderCell(c)}},nextVisible:function(a){var c=this.view,b=this.grid.colModel;a=a.nextSibling;while(a){if(!b.isHidden(c.getCellIndex(a))){return a}a=a.nextSibling}return null},prevVisible:function(a){var c=this.view,b=this.grid.colModel;a=a.prevSibling;while(a){if(!b.isHidden(c.getCellIndex(a))){return a}a=a.prevSibling}return null},positionIndicator:function(d,a,l){var b=Ext.lib.Event.getPageX(l);var j=Ext.lib.Dom.getRegion(a.firstChild);var c,k,g=j.top+this.proxyOffsets[1];if((j.right-b)<=(j.right-j.left)/2){c=j.right+this.view.borderWidth;k="after"}else{c=j.left;k="before"}if(this.grid.colModel.isFixed(this.view.getCellIndex(a))){return false}c+=this.proxyOffsets[0];this.proxyTop.setLeftTop(c,g);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(c,g+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return k},onNodeEnter:function(b,c,a,d){if(d.header!=b){this.positionIndicator(d.header,b,a)}},onNodeOver:function(c,g,b,a){var d=false;if(a.header!=c){d=this.positionIndicator(a.header,c,b)}if(!d){this.proxyTop.hide();this.proxyBottom.hide()}return d?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(b,c,a,d){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(k,d,o,l){var m=l.header;if(m!=k){var b=this.grid.colModel;var a=Ext.lib.Event.getPageX(o);var j=Ext.lib.Dom.getRegion(k.firstChild);var g=(j.right-a)<=((j.right-j.left)/2)?"after":"before";var p=this.view.getCellIndex(m);var c=this.view.getCellIndex(k);if(g=="after"){c++}if(p<c){c--}b.moveColumn(p,c);return true}return false}});Ext.grid.GridView.ColumnDragZone=Ext.extend(Ext.grid.HeaderDragZone,{constructor:function(a,b){Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,a,b,null);this.proxy.el.addClass("x-grid3-col-dd")},handleMouseDown:function(a){},callHandleMouseDown:function(a){Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,a)}});Ext.grid.SplitDragZone=Ext.extend(Ext.dd.DDProxy,{fly:Ext.Element.fly,constructor:function(b,a,c){this.grid=b;this.view=b.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,a,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(a));this.setOuterHandleElId(Ext.id(c));this.scroll=false},b4StartDrag:function(c,b){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var d=this.cm.getColumnWidth(this.cellIndex);var a=Math.max(d-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(a,1000);this.setYConstraint(0,0);this.minX=c-a;this.maxX=c+1000;this.startPos=c;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,c,b)},handleMouseDown:function(a){var c=Ext.EventObject.setEvent(a);var b=this.fly(c.getTarget());if(b.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(b.dom);this.split=b.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(a){this.view.headersDisabled=false;var b=Math.max(this.minX,Ext.lib.Event.getPageX(a));var c=b-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+c)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(b,a){this.view=b.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,a);this.scroll=false;this.grid=b;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(d){var c=Ext.lib.Event.getTarget(d);var b=this.view.findRowIndex(c);if(b!==false){var a=this.grid.selModel;if(!a.isSelected(b)||d.hasModifier()){a.handleMouseDown(this.grid,b,d)}return{grid:this.grid,ddel:this.ddel,rowIndex:b,selections:a.getSelections()}}return false},onInitDrag:function(b){var a=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(b,a){return false},onEndDrag:function(a,b){},onValidDrop:function(b,c,a){this.hideProxy()},beforeInvalidDrop:function(a,b){}});Ext.grid.ColumnModel=Ext.extend(Ext.util.Observable,{defaultWidth:100,defaultSortable:false,constructor:function(a){if(a.columns){Ext.apply(this,a);this.setConfig(a.columns,true)}else{this.setConfig(a,true)}this.addEvents("widthchange","headerchange","hiddenchange","columnmoved","configchange");Ext.grid.ColumnModel.superclass.constructor.call(this)},getColumnId:function(a){return this.config[a].id},getColumnAt:function(a){return this.config[a]},setConfig:function(h,g){var a,d,e;if(!g){delete this.totalWidth;for(a=0,e=this.config.length;a<e;a++){d=this.config[a];if(d.editor){d.editor.destroy()}}}this.defaults=Ext.apply({width:this.defaultWidth,sortable:this.defaultSortable},this.defaults);this.config=h;this.lookup={};for(a=0,e=h.length;a<e;a++){d=Ext.applyIf(h[a],this.defaults);if(typeof d.id=="undefined"){d.id=a}if(!d.isColumn){var b=Ext.grid.Column.types[d.xtype||"gridcolumn"];d=new b(d);h[a]=d}this.lookup[d.id]=d}if(!g){this.fireEvent("configchange",this)}},getColumnById:function(a){return this.lookup[a]},getIndexById:function(a){for(var c=0,b=this.config.length;c<b;c++){if(this.config[c].id==a){return c}}return -1},moveColumn:function(a,b){var d=this.config[a];this.config.splice(a,1);this.config.splice(b,0,d);this.dataMap=null;this.fireEvent("columnmoved",this,a,b)},getColumnCount:function(a){if(a===true){var b=0;for(var e=0,d=this.config.length;e<d;e++){if(!this.isHidden(e)){b++}}return b}return this.config.length},getColumnsBy:function(a,h){var b=[];for(var g=0,e=this.config.length;g<e;g++){var d=this.config[g];if(a.call(h||this,d,g)===true){b[b.length]=d}}return b},isSortable:function(a){return !!this.config[a].sortable},isMenuDisabled:function(a){return !!this.config[a].menuDisabled},getRenderer:function(a){if(!this.config[a].renderer){return Ext.grid.ColumnModel.defaultRenderer}return this.config[a].renderer},getRendererScope:function(a){return this.config[a].scope},setRenderer:function(a,b){this.config[a].renderer=b},getColumnWidth:function(a){return this.config[a].width},setColumnWidth:function(c,a,b){this.config[c].width=a;this.totalWidth=null;if(!b){this.fireEvent("widthchange",this,c,a)}},getTotalWidth:function(c){if(!this.totalWidth){this.totalWidth=0;for(var a=0,b=this.config.length;a<b;a++){if(c||!this.isHidden(a)){this.totalWidth+=this.getColumnWidth(a)}}}return this.totalWidth},getColumnHeader:function(a){return this.config[a].header},setColumnHeader:function(a,b){this.config[a].header=b;this.fireEvent("headerchange",this,a,b)},getColumnTooltip:function(a){return this.config[a].tooltip},setColumnTooltip:function(a,b){this.config[a].tooltip=b},getDataIndex:function(a){return this.config[a].dataIndex},setDataIndex:function(a,b){this.config[a].dataIndex=b},findColumnIndex:function(a){var b=this.config;for(var e=0,d=b.length;e<d;e++){if(b[e].dataIndex==a){return e}}return -1},isCellEditable:function(a,b){return(this.config[a].editable||(typeof this.config[a].editable=="undefined"&&this.config[a].editor))?true:false},getCellEditor:function(a,b){return this.config[a].getCellEditor(b)},setEditable:function(a,b){this.config[a].editable=b},isHidden:function(a){return !!this.config[a].hidden},isFixed:function(a){return !!this.config[a].fixed},isResizable:function(a){return a>=0&&this.config[a].resizable!==false&&this.config[a].fixed!==true},setHidden:function(b,d){var a=this.config[b];if(a.hidden!==d){a.hidden=d;this.totalWidth=null;this.fireEvent("hiddenchange",this,b,d)}},setEditor:function(a,b){Ext.destroy(this.config[a].editor);this.config[a].editor=b},destroy:function(){for(var d=0,a=this.config,b=a.length;d<b;d++){Ext.destroy(a[d].editor)}this.purgeListeners()}});Ext.grid.ColumnModel.defaultRenderer=function(a){if(typeof a=="string"&&a.length<1){return"&#160;"}return a};Ext.grid.AbstractSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(){this.locked=false;Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)},init:function(a){this.grid=a;this.initEvents()},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},destroy:function(){this.purgeListeners()}});Ext.grid.RowSelectionModel=Ext.extend(Ext.grid.AbstractSelectionModel,{singleSelect:false,constructor:function(a){Ext.apply(this,a);this.selections=new Ext.util.MixedCollection(false,function(b){return b.id});this.last=false;this.lastActive=false;this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");Ext.grid.RowSelectionModel.superclass.constructor.call(this)},initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:function(b){if(!b.shiftKey||this.singleSelect){this.selectPrevious(false)}else{if(this.last!==false&&this.lastActive!==false){var a=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(a!==false){this.last=a}}else{this.selectFirstRow()}}},down:function(b){if(!b.shiftKey||this.singleSelect){this.selectNext(false)}else{if(this.last!==false&&this.lastActive!==false){var a=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(a!==false){this.last=a}}else{this.selectFirstRow()}}},scope:this});this.grid.getView().on({scope:this,refresh:this.onRefresh,rowupdated:this.onRowUpdated,rowremoved:this.onRemove})},onRefresh:function(){var c=this.grid.store,e;var a=this.getSelections();this.clearSelections(true);for(var g=0,d=a.length;g<d;g++){var b=a[g];if((e=c.indexOfId(b.id))!=-1){this.selectRow(e,true)}}if(a.length!=this.selections.getCount()){this.fireEvent("selectionchange",this)}},onRemove:function(b,c,a){if(this.selections.remove(a)!==false){this.fireEvent("selectionchange",this)}},onRowUpdated:function(b,c,a){if(this.isSelected(a)){b.onRowSelect(c)}},selectRecords:function(e,c){if(!c){this.clearSelections()}var b=this.grid.store;for(var a=0,d=e.length;a<d;a++){this.selectRow(b.indexOf(e[a]),true)}},getCount:function(){return this.selections.length},selectFirstRow:function(){this.selectRow(0)},selectLastRow:function(a){this.selectRow(this.grid.store.getCount()-1,a)},selectNext:function(a){if(this.hasNext()){this.selectRow(this.last+1,a);this.grid.getView().focusRow(this.last);return true}return false},selectPrevious:function(a){if(this.hasPrevious()){this.selectRow(this.last-1,a);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(c,b){var a=this.getSelections();for(var e=0,d=a.length;e<d;e++){if(c.call(b||this,a[e],e)===false){return false}}return true},clearSelections:function(b){if(this.isLocked()){return}if(b!==true){var a=this.grid.store;var c=this.selections;c.each(function(d){this.deselectRow(a.indexOfId(d.id))},this);c.clear()}else{this.selections.clear()}this.last=false},selectAll:function(){if(this.isLocked()){return}this.selections.clear();for(var b=0,a=this.grid.store.getCount();b<a;b++){this.selectRow(b,true)}},hasSelection:function(){return this.selections.length>0},isSelected:function(a){var b=Ext.isNumber(a)?this.grid.store.getAt(a):a;return(b&&this.selections.key(b.id)?true:false)},isIdSelected:function(a){return(this.selections.key(a)?true:false)},handleMouseDown:function(a,c,b){if(b.button!==0||this.isLocked()){return}var d=this.grid.getView();if(b.shiftKey&&!this.singleSelect&&this.last!==false){var j=this.last;this.selectRange(j,c,b.ctrlKey);this.last=j;d.focusRow(c)}else{var h=this.isSelected(c);if(b.ctrlKey&&h){this.deselectRow(c)}else{if(!h||this.getCount()>1){this.selectRow(c,b.ctrlKey||b.shiftKey);d.focusRow(c)}}}},selectRows:function(a,b){if(!b){this.clearSelections()}for(var d=0,c=a.length;d<c;d++){this.selectRow(a[d],true)}},selectRange:function(d,c,b){var a;if(this.isLocked()){return}if(!b){this.clearSelections()}if(d<=c){for(a=d;a<=c;a++){this.selectRow(a,true)}}else{for(a=d;a>=c;a--){this.selectRow(a,true)}}},deselectRange:function(a,d,c){if(this.isLocked()){return}for(var b=a;b<=d;b++){this.deselectRow(b,c)}},selectRow:function(d,b,c){if(this.isLocked()||(d<0||d>=this.grid.store.getCount())||(b&&this.isSelected(d))){return}var a=this.grid.store.getAt(d);if(a&&this.fireEvent("beforerowselect",this,d,b,a)!==false){if(!b||this.singleSelect){this.clearSelections()}this.selections.add(a);this.last=this.lastActive=d;if(!c){this.grid.getView().onRowSelect(d)}this.fireEvent("rowselect",this,d,a);this.fireEvent("selectionchange",this)}},deselectRow:function(c,b){if(this.isLocked()){return}if(this.last==c){this.last=false}if(this.lastActive==c){this.lastActive=false}var a=this.grid.store.getAt(c);if(a){this.selections.remove(a);if(!b){this.grid.getView().onRowDeselect(c)}this.fireEvent("rowdeselect",this,c,a);this.fireEvent("selectionchange",this)}},restoreLast:function(){if(this._last){this.last=this._last}},acceptsNav:function(a,c,b){return !b.isHidden(c)&&b.isCellEditable(c,a)},onEditorKey:function(d,a){var n=a.getKey(),o,p=this.grid,h=p.lastEdit,q=p.activeEditor,j,h,l,b;var m=a.shiftKey;if(n==a.TAB){a.stopEvent();q.completeEdit();if(m){o=p.walkCells(q.row,q.col-1,-1,this.acceptsNav,this)}else{o=p.walkCells(q.row,q.col+1,1,this.acceptsNav,this)}}else{if(n==a.ENTER){if(this.moveEditorOnEnter!==false){if(m){o=p.walkCells(h.row-1,h.col,-1,this.acceptsNav,this)}else{o=p.walkCells(h.row+1,h.col,1,this.acceptsNav,this)}}}}if(o){l=o[0];b=o[1];if(h.row!=l){this.selectRow(l)}if(p.isEditor&&p.editing){j=p.activeEditor;if(j&&j.field.triggerBlur){j.field.triggerBlur()}}p.startEditing(l,b)}},destroy:function(){if(this.rowNav){this.rowNav.disable();this.rowNav=null}Ext.grid.RowSelectionModel.superclass.destroy.call(this)}});Ext.grid.Column=Ext.extend(Object,{isColumn:true,constructor:function(a){Ext.apply(this,a);if(Ext.isString(this.renderer)){this.renderer=Ext.util.Format[this.renderer]}else{if(Ext.isObject(this.renderer)){this.scope=this.renderer.scope;this.renderer=this.renderer.fn}}if(!this.scope){this.scope=this}if(this.editor){this.editor=Ext.create(this.editor,"textfield")}},renderer:function(a){if(Ext.isString(a)&&a.length<1){return"&#160;"}return a},getEditor:function(a){return this.editable!==false?this.editor:null},getCellEditor:function(b){var a=this.getEditor(b);if(a){if(!a.startEdit){if(!a.gridEditor){a.gridEditor=new Ext.grid.GridEditor(a)}return a.gridEditor}else{if(a.startEdit){return a}}}return null}});Ext.grid.BooleanColumn=Ext.extend(Ext.grid.Column,{trueText:"true",falseText:"false",undefinedText:"&#160;",constructor:function(c){Ext.grid.BooleanColumn.superclass.constructor.call(this,c);var a=this.trueText,b=this.falseText,d=this.undefinedText;this.renderer=function(e){if(e===undefined){return d}if(!e||e==="false"){return b}return a}}});Ext.grid.NumberColumn=Ext.extend(Ext.grid.Column,{format:"0,000.00",constructor:function(a){Ext.grid.NumberColumn.superclass.constructor.call(this,a);this.renderer=Ext.util.Format.numberRenderer(this.format)}});Ext.grid.DateColumn=Ext.extend(Ext.grid.Column,{format:"m/d/Y",constructor:function(a){Ext.grid.DateColumn.superclass.constructor.call(this,a);this.renderer=Ext.util.Format.dateRenderer(this.format)}});Ext.grid.TemplateColumn=Ext.extend(Ext.grid.Column,{constructor:function(a){Ext.grid.TemplateColumn.superclass.constructor.call(this,a);var b=(!Ext.isPrimitive(this.tpl)&&this.tpl.compile)?this.tpl:new Ext.XTemplate(this.tpl);this.renderer=function(c,d,e){return b.apply(e.data)};this.tpl=b}});Ext.grid.Column.types={gridcolumn:Ext.grid.Column,booleancolumn:Ext.grid.BooleanColumn,numbercolumn:Ext.grid.NumberColumn,datecolumn:Ext.grid.DateColumn,templatecolumn:Ext.grid.TemplateColumn};Ext.grid.RowNumberer=Ext.extend(Object,{header:"",width:23,sortable:false,constructor:function(a){Ext.apply(this,a);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}},fixed:true,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(d,a,c,b){if(this.rowspan){a.cellAttr='rowspan="'+this.rowspan+'"'}return b+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",constructor:function(){Ext.grid.CheckboxSelectionModel.superclass.constructor.apply(this,arguments);if(this.checkOnly){this.handleMouseDown=Ext.emptyFn}},initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){var a=this.grid.getView();a.mainBody.on("mousedown",this.onMouseDown,this);Ext.fly(a.innerHd).on("mousedown",this.onHdMouseDown,this)},this)},onMouseDown:function(a,d){if(a.button===0&&d.className=="x-grid3-row-checker"){a.stopEvent();var b=a.getTarget(".x-grid3-row");if(b){var c=b.rowIndex;if(this.isSelected(c)){this.deselectRow(c)}else{this.selectRow(c,true)}}}},onHdMouseDown:function(a,c){if(c.className=="x-grid3-hd-checker"){a.stopEvent();var d=Ext.fly(c.parentNode);var b=d.hasClass("x-grid3-hd-checker-on");if(b){d.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{d.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(c,a,b){return'<div class="x-grid3-row-checker">&#160;</div>'}});Ext.grid.CellSelectionModel=Ext.extend(Ext.grid.AbstractSelectionModel,{constructor:function(a){Ext.apply(this,a);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)},initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.on(Ext.EventManager.useKeydown?"keydown":"keypress",this.handleKeyDown,this);this.grid.getView().on({scope:this,refresh:this.onViewChange,rowupdated:this.onRowUpdated,beforerowremoved:this.clearSelections,beforerowsinserted:this.clearSelections});if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},beforeEdit:function(a){this.select(a.row,a.column,false,true,a.record)},onRowUpdated:function(b,c,a){if(this.selection&&this.selection.record==a){b.onCellSelect(c,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(b){var a=this.selection;if(a){if(b!==true){this.grid.view.onCellDeselect(a.cell[0],a.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(d,b,c,a){if(a.button!==0||this.isLocked()){return}this.select(b,c)},select:function(c,g,e,b,a){if(this.fireEvent("beforecellselect",this,c,g)!==false){this.clearSelections();a=a||this.grid.store.getAt(c);this.selection={record:a,cell:[c,g]};if(!e){var d=this.grid.getView();d.onCellSelect(c,g);if(b!==true){d.focusCell(c,g)}}this.fireEvent("cellselect",this,c,g);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(a,c,b){return !b.isHidden(c)},onEditorKey:function(b,a){if(a.getKey()==a.TAB){this.handleKeyDown(a)}},handleKeyDown:function(q){if(!q.isNavKeyPress()){return}var n=q.getKey(),p=this.grid,j=this.selection,m=this,b=function(e,g,c){return p.walkCells(e,g,c,p.isEditor&&p.editing?m.acceptsNav:m.isSelectable,m)},h,o,l,a,d;switch(n){case q.ESC:case q.PAGE_UP:case q.PAGE_DOWN:break;default:q.stopEvent();break}if(!j){h=b(0,0,1);if(h){this.select(h[0],h[1])}return}h=j.cell;l=h[0];a=h[1];switch(n){case q.TAB:if(q.shiftKey){o=b(l,a-1,-1)}else{o=b(l,a+1,1)}break;case q.DOWN:o=b(l+1,a,1);break;case q.UP:o=b(l-1,a,-1);break;case q.RIGHT:o=b(l,a+1,1);break;case q.LEFT:o=b(l,a-1,-1);break;case q.ENTER:if(p.isEditor&&!p.editing){p.startEditing(l,a);return}break}if(o){l=o[0];a=o[1];this.select(l,a);if(p.isEditor&&p.editing){d=p.activeEditor;if(d&&d.field.triggerBlur){d.field.triggerBlur()}p.startEditing(l,a)}}},acceptsNav:function(a,c,b){return !b.isHidden(c)&&b.isCellEditable(c,a)}});Ext.grid.EditorGridPanel=Ext.extend(Ext.grid.GridPanel,{clicksToEdit:2,forceValidation:false,isEditor:true,detectEdit:false,autoEncode:false,trackMouseOver:false,initComponent:function(){Ext.grid.EditorGridPanel.superclass.initComponent.call(this);if(!this.selModel){this.selModel=new Ext.grid.CellSelectionModel()}this.activeEditor=null;this.addEvents("beforeedit","afteredit","validateedit")},initEvents:function(){Ext.grid.EditorGridPanel.superclass.initEvents.call(this);this.getGridEl().on("mousewheel",this.stopEditing.createDelegate(this,[true]),this);this.on("columnresize",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{var a=this.getView();if(this.clicksToEdit=="auto"&&a.mainBody){a.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}},onResize:function(){Ext.grid.EditorGridPanel.superclass.onResize.apply(this,arguments);var a=this.activeEditor;if(this.editing&&a){a.realign(true)}},onCellDblClick:function(c,a,b){this.startEditing(a,b)},onAutoEditClick:function(a,g){if(a.button!==0){return}var c=this.view.findRowIndex(g),d=this.view.findCellIndex(g);if(c!==false&&d!==false){this.stopEditing();if(this.selModel.getSelectedCell){var b=this.selModel.getSelectedCell();if(b&&b[0]===c&&b[1]===d){this.startEditing(c,d)}}else{if(this.selModel.isSelected(c)){this.startEditing(c,d)}}}},onEditComplete:function(g,a,d){this.editing=false;this.activeEditor=null;var h=g.record,c=this.colModel.getDataIndex(g.col);a=this.postEditValue(a,d,h,c);if(this.forceValidation===true||String(a)!==String(d)){var b={grid:this,record:h,field:c,originalValue:d,value:a,row:g.row,column:g.col,cancel:false};if(this.fireEvent("validateedit",b)!==false&&!b.cancel&&String(a)!==String(d)){h.set(c,b.value);delete b.cancel;this.fireEvent("afteredit",b)}}this.view.focusCell(g.row,g.col)},startEditing:function(b,g){this.stopEditing();if(this.colModel.isCellEditable(g,b)){this.view.ensureVisible(b,g,true);var h=this.store.getAt(b),a=this.colModel.getDataIndex(g),j={grid:this,record:h,field:a,value:h.data[a],row:b,column:g,cancel:false};if(this.fireEvent("beforeedit",j)!==false&&!j.cancel){this.editing=true;var d=this.colModel.getCellEditor(g,b);if(!d){return}if(!d.rendered){d.parentEl=this.view.getEditorParent(d);d.on({scope:this,render:{fn:function(e){e.field.focus(false,true)},single:true,scope:this},specialkey:function(k,e){this.getSelectionModel().onEditorKey(k,e)},complete:this.onEditComplete,canceledit:this.stopEditing.createDelegate(this,[true])})}Ext.apply(d,{row:b,col:g,record:h});this.lastEdit={row:b,col:g};this.activeEditor=d;var c=this.preEditValue(h,a);d.startEdit(this.view.getCell(b,g).firstChild,Ext.isDefined(c)?c:"")}}},preEditValue:function(b,a){var c=b.data[a];return this.autoEncode&&Ext.isString(c)?Ext.util.Format.htmlDecode(c):c},postEditValue:function(a,c,d,b){return this.autoEncode&&Ext.isString(a)?Ext.util.Format.htmlEncode(a):a},stopEditing:function(b){if(this.editing){var a=this.activeEditor;if(a){a[b===true?"cancelEdit":"completeEdit"]();this.view.focusCell(a.row,a.col)}this.activeEditor=null}this.editing=false}});Ext.reg("editorgrid",Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(b,a){Ext.grid.GridEditor.superclass.constructor.call(this,b,a);b.monitorTab=false};Ext.extend(Ext.grid.GridEditor,Ext.Editor,{alignment:"tl-tl",autoSize:"width",hideEl:false,cls:"x-small-editor x-grid-editor",shim:false,shadow:false});Ext.grid.PropertyRecord=Ext.data.Record.create([{name:"name",type:"string"},"value"]);Ext.grid.PropertyStore=Ext.extend(Ext.util.Observable,{constructor:function(a,b){this.grid=a;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(b){this.setSource(b)}Ext.grid.PropertyStore.superclass.constructor.call(this)},setSource:function(a){this.source=a;this.store.removeAll();var c=[];for(var b in a){if(this.isEditableValue(a[b])){c.push(new Ext.grid.PropertyRecord({name:b,value:a[b]},b))}}this.store.loadRecords({records:c},{},true)},onUpdate:function(c,d,b){if(b==Ext.data.Record.EDIT){var e=d.data.value;var a=d.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,d.id,e,a)!==false){this.source[d.id]=e;d.commit();this.grid.fireEvent("propertychange",this.source,d.id,e,a)}else{d.reject()}}},getProperty:function(a){return this.store.getAt(a)},isEditableValue:function(a){return Ext.isPrimitive(a)||Ext.isDate(a)},setValue:function(b,a){this.source[b]=a;this.store.getById(b).set("value",a)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=Ext.extend(Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",constructor:function(a,e){var b=Ext.grid,c=Ext.form;this.grid=a;b.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=e;var d=new c.Field({autoCreate:{tag:"select",children:[{tag:"option",value:"true",html:"true"},{tag:"option",value:"false",html:"false"}]},getValue:function(){return this.el.dom.value=="true"}});this.editors={date:new b.GridEditor(new c.DateField({selectOnFocus:true})),string:new b.GridEditor(new c.TextField({selectOnFocus:true})),number:new b.GridEditor(new c.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new b.GridEditor(d,{autoSize:"both"})};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)},renderDate:function(a){return a.dateFormat(this.dateFormat)},renderBool:function(a){return a?"true":"false"},isCellEditable:function(a,b){return a==1},getRenderer:function(a){return a==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(a){return this.getPropertyName(a)},renderCell:function(a){var b=a;if(Ext.isDate(a)){b=this.renderDate(a)}else{if(typeof a=="boolean"){b=this.renderBool(a)}}return Ext.util.Format.htmlEncode(b)},getPropertyName:function(b){var a=this.grid.propertyNames;return a&&a[b]?a[b]:b},getCellEditor:function(d,c){var e=this.store.getProperty(c),b=e.data.name,a=e.data.value;if(this.grid.customEditors[b]){return this.grid.customEditors[b]}if(Ext.isDate(a)){return this.editors.date}else{if(typeof a=="number"){return this.editors.number}else{if(typeof a=="boolean"){return this.editors["boolean"]}else{return this.editors.string}}}},destroy:function(){Ext.grid.PropertyColumnModel.superclass.destroy.call(this);for(var a in this.editors){Ext.destroy(this.editors[a])}}});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 b=new Ext.grid.PropertyStore(this);this.propStore=b;var a=new Ext.grid.PropertyColumnModel(this,b);b.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=a;this.ds=b.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.mon(this.selModel,"beforecellselect",function(d,c,e){if(e===0){this.startEditing.defer(200,this,[c,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(a){this.propStore.setSource(a)},getSource:function(){return this.propStore.getSource()}});Ext.reg("propertygrid",Ext.grid.PropertyGrid);Ext.grid.GroupingView=Ext.extend(Ext.grid.GridView,{groupByText:"Group By This Field",showGroupsText:"Show in Groups",hideGroupedColumn:false,showGroupName:true,startCollapsed:false,enableGrouping:true,enableGroupingMenu:true,enableNoGroups:true,emptyGroupText:"(None)",ignoreAdd:false,groupTextTpl:"{text}",groupMode:"value",gidSeed:1000,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var a=this.grid.getSelectionModel();a.on(a.selectRow?"beforerowselect":"beforecellselect",this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('<div id="{groupId}" class="x-grid-group {cls}">','<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div class="x-grid-group-title">',this.groupTextTpl,"</div></div>",'<div id="{groupId}-bd" class="x-grid-group-body">')}this.startGroup.compile();if(!this.endGroup){this.endGroup="</div></div>"}this.endGroup="</div></div>"},findGroup:function(a){return Ext.fly(a).up(".x-grid-group",this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(){if(this.enableGrouping&&!this.ignoreAdd){var a=this.getScrollState();this.refresh();this.restoreScroll(a)}else{if(!this.enableGrouping){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(c,d,e,b){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var a=document.getElementById(d._groupId);if(a&&a.childNodes[1].childNodes.length<1){Ext.removeNode(a)}this.applyEmptyText()},refreshRow:function(a){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 a,b=this.hmenu.items,c=this.cm.config[this.hdCtxIndex].groupable===false;if((a=b.get("groupBy"))){a.setDisabled(c)}if((a=b.get("showGroups"))){a.setDisabled(c);a.setChecked(this.enableGrouping,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("-",{itemId:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({itemId:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},processEvent:function(g,c){var b=c.getTarget(".x-grid-group-hd",this.mainBody);if(b){var a=this.getGroupField(),h=this.getPrefix(a),d=b.id.substring(h.length);d=d.substr(0,d.length-3);if(d){this.grid.fireEvent("group"+g,this.grid,a,d,c)}}},onGroupByClick:function(){this.enableGrouping=true;this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.beforeMenuShow();this.refresh()},onShowGroupsClick:function(a,b){this.enableGrouping=b;if(b){this.onGroupByClick()}else{this.grid.store.clearGrouping()}},toggleRowIndex:function(a,b){if(!this.enableGrouping){return}var c=this.getRow(a);if(c){this.toggleGroup(this.findGroup(c),b)}},toggleGroup:function(a,c){var b=Ext.get(a);c=Ext.isDefined(c)?c:b.hasClass("x-grid-group-collapsed");if(this.state[b.id]!==c){this.grid.stopEditing(true);this.state[b.id]=c;b[c?"removeClass":"addClass"]("x-grid-group-collapsed")}},toggleAllGroups:function(a){var d=this.getGroups();for(var b=0,c=d.length;b<c;b++){this.toggleGroup(d[b],a)}},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},interceptMouse:function(b){var a=b.getTarget(".x-grid-group-hd",this.mainBody);if(a){b.stopEvent();this.toggleGroup(a.parentNode)}},getGroup:function(c,h,a,b,d,j){var e=a?a(c,{},h,b,d,j):String(c);if(e===""||e==="&#160;"){e=this.cm.config[d].emptyGroupText||this.emptyGroupText}return e},getGroupField:function(){return this.grid.store.getGroupState()},afterRender:function(){Ext.grid.GroupingView.superclass.afterRender.call(this);if(this.grid.deferRowRender){this.updateGroupWidths()}},renderRows:function(){var d=this.getGroupField();var c=!!d;if(this.hideGroupedColumn){var e=this.cm.findColumnIndex(d),b=Ext.isDefined(this.lastGroupField);if(!c&&b){this.mainBody.update("");this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);delete this.lastGroupField}else{if(c&&!b){this.lastGroupField=d;this.cm.setHidden(e,true)}else{if(c&&b&&d!==this.lastGroupField){this.mainBody.update("");var a=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(a,false);this.lastGroupField=d;this.cm.setHidden(e,true)}}}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(c,h,q,a,p,s){if(h.length<1){return""}var z=this.getGroupField(),o=this.cm.findColumnIndex(z),x;this.enableGrouping=(this.enableGrouping===false)?false:!!z;if(!this.enableGrouping||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)}var j="width:"+this.getTotalWidth()+";",e=this.cm.config[o],b=e.groupRenderer||e.renderer,t=this.showGroupName?(e.groupName||e.header)+": ":"",w=[],l,u,v,n;for(u=0,v=h.length;u<v;u++){var k=a+u,m=h[u],d=m.data[z];x=this.getGroup(d,m,b,k,o,q);if(!l||l.group!=x){n=this.constructId(d,z,o);this.state[n]=!(Ext.isDefined(this.state[n])?!this.state[n]:this.startCollapsed);l={group:x,gvalue:d,text:t+x,groupId:n,startRow:k,rs:[m],cls:this.state[n]?"":"x-grid-group-collapsed",style:j};w.push(l)}else{l.rs.push(m)}m._groupId=n}var y=[];for(u=0,v=w.length;u<v;u++){x=w[u];this.doGroupStart(y,x,c,q,p);y[y.length]=Ext.grid.GroupingView.superclass.doRender.call(this,c,x.rs,q,x.startRow,p,s);this.doGroupEnd(y,x,c,q,p)}return y.join("")},getGroupId:function(a){var b=this.getGroupField();return this.constructId(a,b,this.cm.findColumnIndex(b))},constructId:function(g,b,d){var e=this.cm.config[d],a=e.groupRenderer||e.renderer,c=(this.groupMode=="value")?g:this.getGroup(g,{data:{}},a,0,d,this.ds);return this.getPrefix(b)+Ext.util.Format.htmlEncode(c)},getPrefix:function(a){return this.grid.getGridEl().id+"-gp-"+a+"-"},doGroupStart:function(d,b,e,c,a){d[d.length]=this.startGroup.apply(b)},doGroupEnd:function(d,b,e,c,a){d[d.length]=this.endGroup},getRows:function(){if(!this.enableGrouping){return Ext.grid.GroupingView.superclass.getRows.call(this)}var b=[];var a,e=this.getGroups();for(var k=0,c=e.length;k<c;k++){a=e[k].childNodes[1].childNodes;for(var h=0,d=a.length;h<d;h++){b[b.length]=a[h]}}return b},updateGroupWidths:function(){if(!this.enableGrouping||!this.hasRows()){return}var a=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.getScrollOffset())+"px";var d=this.getGroups();for(var b=0,c=d.length;b<c;b++){d[b].firstChild.style.width=a}},onColumnWidthUpdated:function(a,b,c){Ext.grid.GroupingView.superclass.onColumnWidthUpdated.call(this,a,b,c);this.updateGroupWidths()},onAllColumnWidthsUpdated:function(a,b){Ext.grid.GroupingView.superclass.onAllColumnWidthsUpdated.call(this,a,b);this.updateGroupWidths()},onColumnHiddenUpdated:function(c,a,b){Ext.grid.GroupingView.superclass.onColumnHiddenUpdated.call(this,c,a,b);this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(b,a){this.toggleRowIndex(a,true)}});Ext.grid.GroupingView.GROUP_ID=1000;
