﻿(function(){var a=Ext.util,i=Ext.each,b=true,c=false;a.Observable=function(){var a=this,b=a.events;if(a.listeners){a.on(a.listeners);delete a.listeners}a.events=b||{}};a.Observable.prototype={filterOptRe:/^(?:scope|delay|buffer|single)$/,fireEvent:function(){var d=Array.prototype.slice.call(arguments,0),h=d[0].toLowerCase(),f=this,i=b,e=f.events[h],g,j,a;if(f.eventsSuspended===b){if(j=f.eventQueue)j.push(d)}else if(typeof e=="object")if(e.bubble){if(e.fire.apply(e,d.slice(1))===c)return c;a=f.getBubbleTarget&&f.getBubbleTarget();if(a&&a.enableBubble){g=a.events[h];if(!g||typeof g!="object"||!g.bubble)a.enableBubble(h);return a.fireEvent.apply(a,d)}}else{d.shift();i=e.fire.apply(e,d)}return i},addListener:function(c,j,i,d){var f=this,h,e,g;if(typeof c=="object"){d=c;for(h in d){e=d[h];if(!f.filterOptRe.test(h))f.addListener(h,e.fn||e,e.scope||d.scope,e.fn?e:d)}}else{c=c.toLowerCase();g=f.events[c]||b;if(typeof g=="boolean")f.events[c]=g=new a.Event(f,c);g.addListener(j,i,typeof d=="object"?d:{})}},removeListener:function(b,d,c){var a=this.events[b.toLowerCase()];if(typeof a=="object")a.removeListener(d,c)},purgeListeners:function(){var c=this.events,a,b;for(b in c){a=c[b];if(typeof a=="object")a.clearListeners()}},addEvents:function(e){var a=this;a.events=a.events||{};if(typeof e=="string"){var c=arguments,d=c.length;while(d--)a.events[c[d]]=a.events[c[d]]||b}else Ext.applyIf(a.events,e)},hasListener:function(b){var a=this.events[b.toLowerCase()];return typeof a=="object"&&a.listeners.length>0},suspendEvents:function(a){this.eventsSuspended=b;if(a&&!this.eventQueue)this.eventQueue=[]},resumeEvents:function(){var a=this,b=a.eventQueue||[];a.eventsSuspended=c;delete a.eventQueue;i(b,function(b){a.fireEvent.apply(a,b)})}};var d=a.Observable.prototype;d.on=d.addListener;d.un=d.removeListener;a.Observable.releaseCapture=function(a){a.fireEvent=d.fireEvent};function h(b,c,a){return function(){if(c.target==arguments[0])b.apply(a,Array.prototype.slice.call(arguments,0))}}function f(d,e,b,c){b.task=new a.DelayedTask;return function(){b.task.delay(e.buffer,d,c,Array.prototype.slice.call(arguments,0))}}function g(c,d,b,a){return function(){d.removeListener(b,a);return c.apply(a,arguments)}}function e(d,e,b,c){return function(){var f=new a.DelayedTask,g=Array.prototype.slice.call(arguments,0);if(!b.tasks)b.tasks=[];b.tasks.push(f);f.delay(e.delay||10,function(){b.tasks.remove(f);d.apply(c,g)},c)}}a.Event=function(b,a){this.name=a;this.obj=b;this.listeners=[]};a.Event.prototype={addListener:function(d,b,e){var a=this,c;b=b||a.obj;if(!a.isListening(d,b)){c=a.createListener(d,b,e);if(a.firing)a.listeners=a.listeners.slice(0);a.listeners.push(c)}},createListener:function(i,c,a){a=a||{};c=c||this.obj;var d={fn:i,scope:c,options:a},b=i;if(a.target)b=h(b,a,c);if(a.delay)b=e(b,a,d,c);if(a.single)b=g(b,this,i,c);if(a.buffer)b=f(b,a,d,c);d.fireFn=b;return d},findListener:function(e,c){var d=this.listeners,b=d.length,a;c=c||this.obj;while(b--){a=d[b];if(a)if(a.fn==e&&a.scope==c)return b}return -1},isListening:function(b,a){return this.findListener(b,a)!=-1},removeListener:function(i,h){var f,a,e,d=this,g=c;if((f=d.findListener(i,h))!=-1){if(d.firing)d.listeners=d.listeners.slice(0);a=d.listeners[f];if(a.task){a.task.cancel();delete a.task}e=a.tasks&&a.tasks.length;if(e){while(e--)a.tasks[e].cancel();delete a.tasks}d.listeners.splice(f,1);g=b}return g},clearListeners:function(){var c=this,a=c.listeners,b=a.length;while(b--)c.removeListener(a[b].fn,a[b].scope)},fire:function(){var a=this,g=a.listeners,f=g.length,e=0,d;if(f>0){a.firing=b;var h=Array.prototype.slice.call(arguments,0);for(;e<f;e++){d=g[e];if(d&&d.fireFn.apply(d.scope||a.obj||window,h)===c)return a.firing=c}}a.firing=c;return b}}})();Ext.DomHelper=function(){var g=null,q=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,s=/^table|tbody|tr|td$/i,o=/tag|children|cn|html$/i,t=/td|tr|tbody/i,n=/([a-z0-9-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,u=/end/i,i,b="afterbegin",c="afterend",a="beforebegin",e="beforeend",j="<table>",l="</table>",k=j+"<tbody>",m="</tbody>"+l,r=k+"<tr>",v="</tr>"+m;function f(b,e,c,f){var a=i.insertHtml(f,Ext.getDom(b),d(e));return c?Ext.get(a,true):a}function d(a){var b="",c,e,g,h;if(typeof a=="string")b=a;else if(Ext.isArray(a)){for(var f=0;f<a.length;f++)if(a[f])b+=d(a[f])}else{b+="<"+(a.tag=a.tag||"div");for(c in a){e=a[c];if(!o.test(c))if(typeof e=="object"){b+=" "+c+'="';for(g in e)b+=g+":"+e[g]+";";b+='"'}else b+=" "+(({cls:"class",htmlFor:"for"})[c]||c)+'="'+e+'"'}if(q.test(a.tag))b+="/>";else{b+=">";if(h=a.children||a.cn)b+=d(h);else if(a.html)b+=a.html;b+="</"+a.tag+">"}}return b}function h(h,e,d,f){g.innerHTML=[e,d,f].join("");var i=-1,a=g,b;while(++i<h)a=a.firstChild;if(b=a.nextSibling){var c=document.createDocumentFragment();while(a){b=a.nextSibling;c.appendChild(a);a=b}a=c}return a}function p(i,d,f,o){var n,p;g=g||document.createElement("div");if(i=="td"&&(d==b||d==e)||!t.test(i)&&(d==a||d==c))return;p=d==a?f:d==c?f.nextSibling:d==b?f.firstChild:null;if(d==a||d==c)f=f.parentNode;if(i=="td"||i=="tr"&&(d==e||d==b))n=h(4,r,o,v);else if(i=="tbody"&&(d==e||d==b)||i=="tr"&&(d==a||d==c))n=h(3,k,o,m);else n=h(2,j,o,l);f.insertBefore(n,p);return n}i={markup:function(a){return d(a)},applyStyles:function(b,a){if(a){var c;b=Ext.fly(b);if(typeof a=="function")a=a.call();if(typeof a=="string"){n.lastIndex=0;while(c=n.exec(a))b.setStyle(c[1],c[2])}else if(typeof a=="object")b.setStyle(a)}},insertHtml:function(f,d,h){var g={},k,m,i,j,l,n;f=f.toLowerCase();g[a]=["BeforeBegin","previousSibling"];g[c]=["AfterEnd","nextSibling"];if(d.insertAdjacentHTML){if(s.test(d.tagName)&&(n=p(d.tagName.toLowerCase(),f,d,h)))return n;g[b]=["AfterBegin","firstChild"];g[e]=["BeforeEnd","lastChild"];if(k=g[f]){d.insertAdjacentHTML(k[0],h);return d[k[1]]}}else{i=d.ownerDocument.createRange();m="setStart"+(u.test(f)?"After":"Before");if(g[f]){i[m](d);j=i.createContextualFragment(h);d.parentNode.insertBefore(j,f==a?d:d.nextSibling);return d[(f==a?"previous":"next")+"Sibling"]}else{l=(f==b?"first":"last")+"Child";if(d.firstChild){i[m](d[l]);j=i.createContextualFragment(h);if(f==b)d.insertBefore(j,d.firstChild);else d.appendChild(j)}else d.innerHTML=h;return d[l]}}throw'Illegal insertion point -> "'+f+'"'},insertBefore:function(d,c,b){return f(d,c,b,a)},insertAfter:function(d,b,a){return f(d,b,a,c,"nextSibling")},insertFirst:function(d,c,a){return f(d,c,a,b,"firstChild")},append:function(c,b,a){return f(c,b,a,e,"",true)},overwrite:function(a,c,b){a=Ext.getDom(a);a.innerHTML=d(c);return b?Ext.get(a.firstChild):a.firstChild},createHtml:d};return i}();Ext.Template=function(a){var c=this,d=arguments,f=[],b;if(Ext.isArray(a))a=a.join("");else if(d.length>1){for(var e=0,g=d.length;e<g;e++){b=d[e];if(typeof b=="object")Ext.apply(c,b);else f.push(b)}a=f.join("")}c.html=a;if(c.compiled)c.compile()};Ext.Template.prototype={re:/\{([\w-]+)\}/g,applyTemplate:function(b){var a=this;return a.compiled?a.compiled(b):a.html.replace(a.re,function(c,a){return b[a]!==undefined?b[a]:""})},"set":function(b,c){var a=this;a.html=b;a.compiled=null;return c?a.compile():a},compile:function(){var me=this,sep=Ext.isGecko?"+":",";function fn(b,a){a="values['"+a+"']";return "'"+sep+"("+a+" == undefined ? '' : "+a+")"+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(b,a,c){return this.doInsert("afterBegin",b,a,c)},insertBefore:function(b,a,c){return this.doInsert("beforeBegin",b,a,c)},insertAfter:function(b,a,c){return this.doInsert("afterEnd",b,a,c)},append:function(b,a,c){return this.doInsert("beforeEnd",b,a,c)},doInsert:function(e,a,d,c){a=Ext.getDom(a);var b=Ext.DomHelper.insertHtml(e,a,this.applyTemplate(d));return c?Ext.get(b,true):b},overwrite:function(a,b,c){a=Ext.getDom(a);a.innerHTML=this.applyTemplate(b);return c?Ext.get(a.firstChild,true):a.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.Template.from=function(a,b){a=Ext.getDom(a);return new Ext.Template(a.value||a.innerHTML,b||"")};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(b,c){var d=0,a=b.firstChild;while(a){if(a.nodeType==1)if(++d==c)return a;a=a.nextSibling}return null}function next(a){while((a=a.nextSibling)&&a.nodeType!=1);return a}function prev(a){while((a=a.previousSibling)&&a.nodeType!=1);return a}function children(c){var a=c.firstChild,d=-1,b;while(a){b=a.nextSibling;if(a.nodeType==3&&!nonSpace.test(a.nodeValue))c.removeChild(a);else a.nodeIndex=++d;a=b}return this}function byClassName(b,d){if(!d)return b;var c=[],f=-1;for(var e=0,a;a=b[e];e++)if((" "+a.className+" ").indexOf(d)!=-1)c[++f]=a;return c}function attrValue(a,b){if(!a.tagName&&typeof a.length!="undefined")a=a[0];if(!a)return null;if(b=="for")return a.htmlFor;if(b=="class"||b=="className")return a.className;return a.getAttribute(b)||a[b]}function getNodes(c,f,b){var e=[],i=-1,n;if(!c)return e;b=b||"*";if(typeof c.getElementsByTagName!="undefined")c=[c];if(!f)for(var d=0,h;h=c[d];d++){n=h.getElementsByTagName(b);for(var j=0,l;l=n[j];j++)e[++i]=l}else if(f=="/"||f==">"){var k=b.toUpperCase();for(var d=0,h,m;h=c[d];d++){m=h.childNodes;for(var j=0,g;g=m[j];j++)if(g.nodeName==k||g.nodeName==b||b=="*")e[++i]=g}}else if(f=="+"){var k=b.toUpperCase();for(var d=0,a;a=c[d];d++){while((a=a.nextSibling)&&a.nodeType!=1);if(a&&(a.nodeName==k||a.nodeName==b||b=="*"))e[++i]=a}}else if(f=="~"){var k=b.toUpperCase();for(var d=0,a;a=c[d];d++)while(a=a.nextSibling)if(a.nodeName==k||a.nodeName==b||b=="*")e[++i]=a}return e}function concat(a,b){if(b.slice)return a.concat(b);for(var c=0,d=b.length;c<d;c++)a[a.length]=b[c];return a}function byTag(a,b){if(a.tagName||a==document)a=[a];if(!b)return a;var d=[],f=-1;b=b.toLowerCase();for(var e=0,c;c=a[e];e++)if(c.nodeType==1&&c.tagName.toLowerCase()==b)d[++f]=c;return d}function byId(a,d){if(a.tagName||a==document)a=[a];if(!d)return a;var c=[],f=-1;for(var e=0,b;b=a[e];e++)if(b&&b.id==d){c[++f]=b;return c}return c}function byAttribute(l,c,k,m,j){var f=[],n=-1,i=j=="{",d=Ext.DomQuery.operators[m],b,g,e;for(var h=0,a;a=l[h];h++){if(a.nodeType!=1)continue;if(!e){g=Ext.DomQuery.isXml(a);e=true}if(!g)if(i)b=Ext.DomQuery.getStyle(a,c);else if(c=="class"||c=="className")b=a.className;else if(c=="for")b=a.htmlFor;else if(c=="href")b=a.getAttribute("href",2);else b=a.getAttribute(c);else b=a.getAttribute(c);if(d&&d(b,k)||!d&&b)f[++n]=a}return f}function byPseudo(c,b,a){return Ext.DomQuery.pseudos[b](c,a)}function nodupIEXml(a){var e=++key,c;a[0].setAttribute("_nodup",e);c=[a[0]];for(var b=1,f=a.length;b<f;b++){var d=a[b];if(!d.getAttribute("_nodup")!=e){d.setAttribute("_nodup",e);c[c.length]=d}}for(var b=0,f=a.length;b<f;b++)a[b].removeAttribute("_nodup");return c}function nodup(a){if(!a)return [];var h=a.length,g,d,e=a,f,i=-1;if(!h||typeof a.nodeType!="undefined"||h==1)return a;if(isIE&&typeof a[0].selectSingleNode!="undefined")return nodupIEXml(a);var c=++key;a[0]._nodup=c;for(d=1;g=a[d];d++)if(g._nodup!=c)g._nodup=c;else{e=[];for(var b=0;b<d;b++)e[++i]=a[b];for(b=d+1;f=a[b];b++)if(f._nodup!=c){f._nodup=c;e[++i]=f}return e}return e}function quickDiffIEXml(b,d){var f=++key,e=[];for(var a=0,c=b.length;a<c;a++)b[a].setAttribute("_qdiff",f);for(var a=0,c=d.length;a<c;a++)if(d[a].getAttribute("_qdiff")!=f)e[e.length]=d[a];for(var a=0,c=b.length;a<c;a++)b[a].removeAttribute("_qdiff");return e}function quickDiff(c,b){var e=c.length,f=++key,d=[];if(!e)return b;if(isIE&&typeof c[0].selectSingleNode!="undefined")return quickDiffIEXml(c,b);for(var a=0;a<e;a++)c[a]._qdiff=f;for(var a=0,g=b.length;a<g;a++)if(b[a]._qdiff!=f)d[d.length]=b[a];return d}function quickId(a,d,b,c){if(a==b){var e=b.ownerDocument||b;return e.getElementById(c)}a=getNodes(a,d,"*");return byId(a,c)}return {getStyle:function(b,a){return Ext.fly(b).getStyle(a)},compile:function(path,type){type=type||"select";var fn=["var f = function(root){\n var mode; ++batch; var n = root || document;\n"],mode,lastPath,matchers=Ext.DomQuery.matchers,matchersLn=matchers.length,modeMatch,lmode=path.match(modeRe);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';path=path.replace(lmode[1],"")}while(path.substr(0,1)=="/")path=path.substr(1);while(path&&lastPath!=path){lastPath=path;var tokenMatch=path.match(tagTokenRe);if(type=="select"){if(tokenMatch){if(tokenMatch[1]=="#")fn[fn.length]='n = quickId(n, mode, root, "'+tokenMatch[2]+'");';else fn[fn.length]='n = getNodes(n, mode, "'+tokenMatch[2]+'");';path=path.replace(tokenMatch[0],"")}else if(path.substr(0,1)!="@")fn[fn.length]='n = getNodes(n, mode, "*");'}else if(tokenMatch){if(tokenMatch[1]=="#")fn[fn.length]='n = byId(n, "'+tokenMatch[2]+'");';else fn[fn.length]='n = byTag(n, "'+tokenMatch[2]+'");';path=path.replace(tokenMatch[0],"")}while(!(modeMatch=path.match(modeRe))){var matched=false;for(var j=0;j<matchersLn;j++){var t=matchers[j],m=path.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(b,a){return m[a]});path=path.replace(m[0],"");matched=true;break}}if(!matched)throw'Error parsing selector, parsing failed at "'+path+'"'}if(modeMatch[1]){fn[fn.length]='mode="'+modeMatch[1].replace(trimRe,"")+'";';path=path.replace(modeMatch[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},jsSelect:function(g,b){b=b||document;if(typeof b=="string")b=document.getElementById(b);var e=g.split(","),c=[];for(var f=0,h=e.length;f<h;f++){var a=e[f].replace(trimRe,"");if(!cache[a]){cache[a]=Ext.DomQuery.compile(a);if(!cache[a])throw a+" is not a valid selector"}var d=cache[a](b);if(d&&d!=document)c=c.concat(d)}if(e.length>1)return nodup(c);return c},isXml:function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":false},select:document.querySelectorAll?function(b,a,c){a=a||document;if(!Ext.DomQuery.isXml(a))try{var d=a.querySelectorAll(b);return Ext.toArray(d)}catch(e){}return Ext.DomQuery.jsSelect.call(this,b,a,c)}:function(a,b,c){return Ext.DomQuery.jsSelect.call(this,a,b,c)},selectNode:function(a,b){return Ext.DomQuery.select(a,b)[0]},selectValue:function(b,e,d){b=b.replace(trimRe,"");if(!valueCache[b])valueCache[b]=Ext.DomQuery.compile(b,"select");var a=valueCache[b](e),c;a=a[0]?a[0]:a;if(typeof a.normalize=="function")a.normalize();c=a&&a.firstChild?a.firstChild.nodeValue:null;return c===null||c===undefined||c===""?d:c},selectNumber:function(b,c,a){var d=Ext.DomQuery.selectValue(b,c,a||0);return parseFloat(d)},is:function(a,d){if(typeof a=="string")a=document.getElementById(a);var b=Ext.isArray(a),c=Ext.DomQuery.filter(b?a:[a],d);return b?c.length==a.length:c.length>0},filter:function(c,a,d){a=a.replace(trimRe,"");if(!simpleCache[a])simpleCache[a]=Ext.DomQuery.compile(a,"simple");var b=simpleCache[a](c);return d?quickDiff(b,c):b},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,b){return a==b},"!=":function(a,b){return a!=b},"^=":function(a,b){return a&&a.substr(0,b.length)==b},"$=":function(a,b){return a&&a.substr(a.length-b.length)==b},"*=":function(a,b){return a&&a.indexOf(b)!==-1},"%=":function(a,b){return a%b==0},"|=":function(a,b){return a&&(a==b||a.substr(0,b.length+1)==b+"-")},"~=":function(a,b){return a&&(" "+a+" ").indexOf(" "+b+" ")!=-1}},pseudos:{"first-child":function(f){var d=[],e=-1,a;for(var c=0,b;b=a=f[c];c++){while((a=a.previousSibling)&&a.nodeType!=1);if(!a)d[++e]=b}return d},"last-child":function(f){var d=[],e=-1,a;for(var c=0,b;b=a=f[c];c++){while((a=a.nextSibling)&&a.nodeType!=1);if(!a)d[++e]=b}return d},"nth-child":function(k,c){var f=[],g=-1,j=nthRe.exec(c=="even"&&"2n"||c=="odd"&&"2n+1"||!nthRe2.test(c)&&"n+"+c||c),h=(j[1]||1)-0,e=j[2]-0;for(var i=0,a;a=k[i];i++){var d=a.parentNode;if(batch!=d._batch){var l=0;for(var b=d.firstChild;b;b=b.nextSibling)if(b.nodeType==1)b.nodeIndex=++l;d._batch=batch}if(h==1){if(e==0||a.nodeIndex==e)f[++g]=a}else if((a.nodeIndex+e)%h==0)f[++g]=a}return f},"only-child":function(e){var c=[],d=-1;for(var b=0,a;a=e[b];b++)if(!prev(a)&&!next(a))c[++d]=a;return c},empty:function(i){var f=[],h=-1;for(var d=0,a;a=i[d];d++){var g=a.childNodes,e=0,b,c=true;while(b=g[e]){++e;if(b.nodeType==1||b.nodeType==3){c=false;break}}if(c)f[++h]=a}return f},contains:function(e,f){var c=[],d=-1;for(var b=0,a;a=e[b];b++)if((a.textContent||a.innerText||"").indexOf(f)!=-1)c[++d]=a;return c},nodeValue:function(e,f){var c=[],d=-1;for(var b=0,a;a=e[b];b++)if(a.firstChild&&a.firstChild.nodeValue==f)c[++d]=a;return c},checked:function(e){var c=[],d=-1;for(var b=0,a;a=e[b];b++)if(a.checked==true)c[++d]=a;return c},not:function(b,a){return Ext.DomQuery.filter(b,a,true)},any:function(i,f){var h=f.split("|"),d=[],g=-1,e;for(var b=0,a;a=i[b];b++)for(var c=0;e=h[c];c++)if(Ext.DomQuery.is(a,e)){d[++g]=a;break}return d},odd:function(a){return this["nth-child"](a,"odd")},even:function(a){return this["nth-child"](a,"even")},nth:function(b,a){return b[a-1]||[]},first:function(a){return a[0]||[]},last:function(a){return a[a.length-1]||[]},has:function(f,e){var g=Ext.DomQuery.select,c=[],d=-1;for(var b=0,a;a=f[b];b++)if(g(e,a).length>0)c[++d]=a;return c},next:function(h,g){var e=Ext.DomQuery.is,d=[],f=-1;for(var b=0,a;a=h[b];b++){var c=next(a);if(c&&e(c,g))d[++f]=a}return d},prev:function(h,g){var e=Ext.DomQuery.is,d=[],f=-1;for(var b=0,a;a=h[b];b++){var c=prev(a);if(c&&e(c,g))d[++f]=a}return d}}}}();Ext.query=Ext.DomQuery.select;Ext.util.DelayedTask=function(d,c,b){var e=this,a,f=function(){clearInterval(a);a=null;d.apply(c,b||[])};e.delay=function(h,j,i,g){e.cancel();d=j||d;c=i||c;b=g||b;a=setInterval(f,h)};e.cancel=function(){if(a){clearInterval(a);a=null}}};(function(){var c=document;Ext.Element=function(d,e){var b=typeof d=="string"?c.getElementById(d):d,a;if(!b)return null;a=b.id;if(!e&&a&&Ext.elCache[a])return Ext.elCache[a].el;this.dom=b;this.id=a||Ext.id(b)};var h=Ext.DomHelper,a=Ext.Element,b=Ext.elCache;a.prototype={"set":function(d,e){var b=this.dom,a,c,e=e!==false&&!!b.setAttribute;for(a in d)if(d.hasOwnProperty(a)){c=d[a];if(a=="style")h.applyStyles(b,c);else if(a=="cls")b.className=c;else if(e)b.setAttribute(a,c);else b[a]=c}return this},defaultUnit:"px",is:function(a){return Ext.DomQuery.is(this.dom,a)},focus:function(c,b){var a=this,b=b||a.dom;try{if(Number(c))a.focus.defer(c,null,[null,b]);else b.focus()}catch(d){}return a},blur:function(){try{this.dom.blur()}catch(a){}return this},getValue:function(b){var a=this.dom.value;return b?parseInt(a,10):a},addListener:function(a,d,c,b){Ext.EventManager.on(this.dom,a,d,c||this,b);return this},removeListener:function(a,c,b){Ext.EventManager.removeListener(this.dom,a,c,b||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},purgeAllListeners:function(){Ext.EventManager.purgeElement(this,true);return this},addUnits:function(a){if(a===""||a=="auto"||a===undefined)a=a||"";else if(!isNaN(a)||!i.test(a))a=a+(this.defaultUnit||"px");return a},load:function(a,c,b){Ext.Ajax.request(Ext.apply({params:c,url:a.url||a,callback:b,el:this.dom,indicatorText:a.indicatorText||""},Ext.isObject(a)?a:{}));return this},isBorderBox:function(){return Ext.isBorderBox||Ext.isForcedBorderBox||g[(this.dom.tagName||"").toLowerCase()]},remove:function(){var a=this,b=a.dom;if(b){delete a.dom;Ext.removeNode(b)}},hover:function(e,d,c,b){var a=this;a.on("mouseenter",e,c||a.dom,b);a.on("mouseleave",d,c||a.dom,b);return a},contains:function(a){return !a?false:Ext.lib.Dom.isAncestor(this.dom,a.dom?a.dom:a)},getAttributeNS:function(b,a){return this.getAttribute(a,b)},getAttribute:Ext.isIE?function(a,c){var b=this.dom,d=typeof b[c+":"+a];if(["undefined","unknown"].indexOf(d)==-1)return b[c+":"+a];return b[a]}:function(a,c){var b=this.dom;return b.getAttributeNS(c,a)||b.getAttribute(c+":"+a)||b.getAttribute(a)||b[a]},update:function(a){if(this.dom)this.dom.innerHTML=a;return this}};var d=a.prototype;a.addMethods=function(a){Ext.apply(d,a)};d.on=d.addListener;d.un=d.removeListener;d.autoBoxAdjust=true;var i=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,e;a.get=function(d){var f,h,g;if(!d)return null;if(typeof d=="string"){if(!(h=c.getElementById(d)))return null;if(b[d]&&b[d].el){f=b[d].el;f.dom=h}else f=a.addToCache(new a(h));return f}else if(d.tagName){if(!(g=d.id))g=Ext.id(d);if(b[g]&&b[g].el){f=b[g].el;f.dom=d}else f=a.addToCache(new a(d));return f}else if(d instanceof a){if(d!=e)if(Ext.isIE&&(d.id==undefined||d.id==""))d.dom=d.dom;else d.dom=c.getElementById(d.id)||d.dom;return d}else if(d.isComposite)return d;else if(Ext.isArray(d))return a.select(d);else if(d==c){if(!e){var i=function(){};i.prototype=a.prototype;e=new i;e.dom=c}return e}return null};a.addToCache=function(a,c){c=c||a.id;b[c]={el:a,data:{},events:{}};return a};a.data=function(c,d,f){c=a.get(c);if(!c)return null;var e=b[c.id].data;if(arguments.length==2)return e[d];else return e[d]=f};function j(){if(!Ext.enableGarbageCollector)clearInterval(a.collectorThreadId);else{var d,h,e,f;for(d in b){f=b[d];if(f.skipGC)continue;h=f.el;e=h.dom;if(!e||!e.parentNode||!e.offsetParent&&!c.getElementById(d)){if(Ext.enableListenerCollection)Ext.EventManager.removeAll(e);delete b[d]}}if(Ext.isIE){var g={};for(d in b)g[d]=b[d];b=Ext.elCache=g}}}a.collectorThreadId=setInterval(j,3e4);var f=function(){};f.prototype=a.prototype;a.Flyweight=function(a){this.dom=a};a.Flyweight.prototype=new f;a.Flyweight.prototype.isFlyweight=true;a._flyweights={};a.fly=function(c,b){var d=null;b=b||"_global";if(c=Ext.getDom(c)){(a._flyweights[b]=a._flyweights[b]||new a.Flyweight).dom=c;d=a._flyweights[b]}return d};Ext.get=a.get;Ext.fly=a.fly;var g=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko)g.button=1})();Ext.Element.addMethods(function(){var e="parentNode",c="nextSibling",d="previousSibling",a=Ext.DomQuery,b=Ext.get;return {findParent:function(i,d,h){var c=this.dom,g=document.body,f=0,e;if(Ext.isGecko&&Object.prototype.toString.call(c)=="[object XULElement]")return null;d=d||50;if(isNaN(d)){e=Ext.getDom(d);d=Number.MAX_VALUE}while(c&&c.nodeType==1&&f<d&&c!=g&&c!=e){if(a.is(c,i))return h?b(c):c;f++;c=c.parentNode}return null},findParentNode:function(d,c,b){var a=Ext.fly(this.dom.parentNode,"_internal");return a?a.findParent(d,c,b):null},up:function(b,a){return this.findParentNode(b,a,true)},select:function(a){return Ext.Element.select(a,this.dom)},query:function(b){return a.select(b,this.dom)},child:function(d,e){var c=a.selectNode(d,this.dom);return e?c:b(c)},down:function(d,e){var c=a.selectNode(" > "+d,this.dom);return e?c:b(c)},parent:function(a,b){return this.matchNode(e,e,a,b)},next:function(a,b){return this.matchNode(c,c,a,b)},prev:function(a,b){return this.matchNode(d,d,a,b)},first:function(a,b){return this.matchNode(c,"firstChild",a,b)},last:function(a,b){return this.matchNode(d,"lastChild",a,b)},matchNode:function(e,g,d,f){var c=this.dom[g];while(c){if(c.nodeType==1&&(!d||a.is(c,d)))return !f?b(c):c;c=c[e]}return null}}}());Ext.Element.addMethods(function(){var b=Ext.getDom,c=Ext.get,a=Ext.DomHelper;return {appendChild:function(a){return c(a).appendTo(this)},appendTo:function(a){b(a).appendChild(this.dom);return this},insertBefore:function(a){(a=b(a)).parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){(a=b(a)).parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(a,d){a=a||{};if(a.nodeType||a.dom||typeof a=="string"){a=b(a);this.dom.insertBefore(a,this.dom.firstChild);return !d?c(a):a}else return this.createChild(a,this.dom.firstChild,d)},replace:function(a){a=c(a);this.insertBefore(a);a.remove();return this},replaceWith:function(d){var c=this;if(d.nodeType||d.dom||typeof d=="string"){d=b(d);c.dom.parentNode.insertBefore(d,c.dom)}else d=a.insertBefore(c.dom,d);delete Ext.elCache[c.id];Ext.removeNode(c.dom);c.id=Ext.id(c.dom=d);Ext.Element.addToCache(c.isFlyweight?new Ext.Element(c.dom):c);return c},createChild:function(b,c,d){b=b||{tag:"div"};return c?a.insertBefore(c,b,d!==true):a[!this.dom.firstChild?"overwrite":"append"](this.dom,b,d!==true)},wrap:function(c,d){var b=a.insertBefore(this.dom,c||{tag:"div"},!d);b.dom?b.dom.appendChild(this.dom):b.appendChild(this.dom);return b},insertHtml:function(d,e,c){var b=a.insertHtml(d,this.dom,e);return c?Ext.get(b):b}}}());Ext.Element.addMethods(function(){var j=Ext.supports,v={},C=/(-[a-z])/gi,h=document.defaultView,k=/alpha\(opacity=(.*)\)/i,g=/^\s+|\s+$/g,D=Ext.Element,B=/\s+/,x=/\w/g,d="padding",c="margin",b="border",r="-left",p="-right",t="-top",o="-bottom",f="-width",q=Math,i="hidden",e="isClipped",l="overflow",n="overflow-x",m="overflow-y",u="originalClip",z={l:b+r+f,r:b+p+f,t:b+t+f,b:b+o+f},y={l:d+r,r:d+p,t:d+t,b:d+o},w={l:c+r,r:c+p,t:c+t,b:c+o},a=Ext.Element.data;function A(b,a){return a.charAt(1).toUpperCase()}function s(a){return v[a]||(v[a]=a=="float"?j.cssFloat?"cssFloat":"styleFloat":a.replace(C,A))}return {adjustWidth:function(a){var b=this,c=typeof a=="number";if(c&&b.autoBoxAdjust&&!b.isBorderBox())a-=b.getBorderWidth("lr")+b.getPadding("lr");return c&&a<0?0:a},adjustHeight:function(a){var b=this,c=typeof a=="number";if(c&&b.autoBoxAdjust&&!b.isBorderBox())a-=b.getBorderWidth("tb")+b.getPadding("tb");return c&&a<0?0:a},addClass:function(a){var d=this,c,f,b,e=[];if(!Ext.isArray(a)){if(typeof a=="string"&&!this.hasClass(a))d.dom.className+=" "+a}else{for(c=0,f=a.length;c<f;c++){b=a[c];if(typeof b=="string"&&(" "+d.dom.className+" ").indexOf(" "+b+" ")==-1)e.push(b)}if(e.length)d.dom.className+=" "+e.join(" ")}return d},removeClass:function(b){var c=this,e,f,h,a,d;if(!Ext.isArray(b))b=[b];if(c.dom&&c.dom.className){d=c.dom.className.replace(g,"").split(B);for(e=0,h=b.length;e<h;e++){a=b[e];if(typeof a=="string"){a=a.replace(g,"");f=d.indexOf(a);if(f!=-1)d.splice(f,1)}}c.dom.className=d.join(" ")}return c},radioClass:function(a){var e=this.dom.parentNode.childNodes,b,c,d;a=Ext.isArray(a)?a:[a];for(c=0,d=e.length;c<d;c++){b=e[c];if(b&&b.nodeType==1)Ext.fly(b,"_internal").removeClass(a)}return this.addClass(a)},toggleClass:function(a){return this.hasClass(a)?this.removeClass(a):this.addClass(a)},hasClass:function(a){return a&&(" "+this.dom.className+" ").indexOf(" "+a+" ")!=-1},replaceClass:function(b,a){return this.removeClass(b).addClass(a)},isStyle:function(a,b){return this.getStyle(a)==b},getStyle:function(){return h&&h.getComputedStyle?function(c){var a=this.dom,d,e,b,f;if(a==document)return null;c=s(c);b=(d=a.style[c])?d:(e=h.getComputedStyle(a,""))?e[c]:null;if(c=="marginRight"&&b!="0px"&&!j.correctRightMargin){f=a.style.display;a.style.display="inline-block";b=h.getComputedStyle(a,"").marginRight;a.style.display=f}if(c=="backgroundColor"&&b=="rgba(0, 0, 0, 0)"&&!j.correctTransparentColor)b="transparent";return b}:function(b){var a=this.dom,d,e;if(a==document)return null;if(b=="opacity"){if(a.style.filter.match)if(d=a.style.filter.match(k)){var c=parseFloat(d[1]);if(!isNaN(c))return c?c/100:0}return 1}b=s(b);return a.style[b]||((e=a.currentStyle)?e[b]:null)}}(),getColor:function(f,d,e){var a=this.getStyle(f),b=typeof e!="undefined"?e:"#",c;if(!a||/transparent|inherit/.test(a))return d;if(/^r/.test(a))Ext.each(a.slice(4,a.length-1).split(","),function(a){c=parseInt(a,10);b+=(c<16?"0":"")+c.toString(16)});else{a=a.replace("#","");b+=a.length==3?a.replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3"):a}return b.length>5?b.toLowerCase():d},setStyle:function(a,c){var d,b;if(typeof a!="object"){d={};d[a]=c;a=d}for(b in a){c=a[b];b=="opacity"?this.setOpacity(c):(this.dom.style[s(b)]=c)}return this},setOpacity:function(b,e){var a=this,c=a.dom.style;if(!e||!a.anim)if(Ext.isIE){var f=b<1?"alpha(opacity="+b*100+")":"",d=c.filter.replace(k,"").replace(g,"");c.zoom=1;c.filter=d+(d.length>0?" ":"")+f}else c.opacity=b;else a.anim({opacity:{to:b}},a.preanim(arguments,1),null,.35,"easeIn");return a},clearOpacity:function(){var a=this.dom.style;if(Ext.isIE){if(!Ext.isEmpty(a.filter))a.filter=a.filter.replace(k,"").replace(g,"")}else a.opacity=a["-moz-opacity"]=a["-khtml-opacity"]="";return this},getHeight:function(d){var b=this,c=b.dom,e=Ext.isIE&&b.isStyle("display","none"),a=q.max(c.offsetHeight,e?0:c.clientHeight)||0;a=!d?a:a-b.getBorderWidth("tb")-b.getPadding("tb");return a<0?0:a},getWidth:function(d){var b=this,c=b.dom,e=Ext.isIE&&b.isStyle("display","none"),a=q.max(c.offsetWidth,e?0:c.clientWidth)||0;a=!d?a:a-b.getBorderWidth("lr")-b.getPadding("lr");return a<0?0:a},setWidth:function(b,c){var a=this;b=a.adjustWidth(b);!c||!a.anim?(a.dom.style.width=a.addUnits(b)):a.anim({width:{to:b}},a.preanim(arguments,1));return a},setHeight:function(b,c){var a=this;b=a.adjustHeight(b);!c||!a.anim?(a.dom.style.height=a.addUnits(b)):a.anim({height:{to:b}},a.preanim(arguments,1));return a},getBorderWidth:function(a){return this.addStyles(a,z)},getPadding:function(a){return this.addStyles(a,y)},clip:function(){var b=this,c=b.dom;if(!a(c,e)){a(c,e,true);a(c,u,{o:b.getStyle(l),x:b.getStyle(n),y:b.getStyle(m)});b.setStyle(l,i);b.setStyle(n,i);b.setStyle(m,i)}return b},unclip:function(){var c=this,d=c.dom;if(a(d,e)){a(d,e,false);var b=a(d,u);if(b.o)c.setStyle(l,b.o);if(b.x)c.setStyle(n,b.x);if(b.y)c.setStyle(m,b.y)}return c},addStyles:function(h,g){var d=0,e=h.match(x),c,b,a,f=e.length;for(a=0;a<f;a++){c=e[a];b=c&&parseInt(this.getStyle(g[c]),10);if(b)d+=q.abs(b)}return d},margins:w}}());(function(){var b=Ext.lib.Dom,c="left",g="right",d="top",h="bottom",a="position",e="static",f="relative",i="auto",j="z-index";Ext.Element.addMethods({getX:function(){return b.getX(this.dom)},getY:function(){return b.getY(this.dom)},getXY:function(){return b.getXY(this.dom)},getOffsetsTo:function(c){var b=this.getXY(),a=Ext.fly(c,"_internal").getXY();return [b[0]-a[0],b[1]-a[1]]},setX:function(a,b){return this.setXY([a,this.getY()],this.animTest(arguments,b,1))},setY:function(b,a){return this.setXY([this.getX(),b],this.animTest(arguments,a,1))},setLeft:function(a){this.setStyle(c,this.addUnits(a));return this},setTop:function(a){this.setStyle(d,this.addUnits(a));return this},setRight:function(a){this.setStyle(g,this.addUnits(a));return this},setBottom:function(a){this.setStyle(h,this.addUnits(a));return this},setXY:function(c,d){var a=this;if(!d||!a.anim)b.setXY(a.dom,c);else a.anim({points:{to:c}},a.preanim(arguments,1),"motion");return a},setLocation:function(a,c,b){return this.setXY([a,c],this.animTest(arguments,b,2))},moveTo:function(a,c,b){return this.setXY([a,c],this.animTest(arguments,b,2))},getLeft:function(a){return !a?this.getX():parseInt(this.getStyle(c),10)||0},getRight:function(b){var a=this;return !b?a.getX()+a.getWidth():a.getLeft(true)+a.getWidth()||0},getTop:function(a){return !a?this.getY():parseInt(this.getStyle(d),10)||0},getBottom:function(b){var a=this;return !b?a.getY()+a.getHeight():a.getTop(true)+a.getHeight()||0},position:function(c,h,d,g){var b=this;if(!c&&b.isStyle(a,e))b.setStyle(a,f);else if(c)b.setStyle(a,c);if(h)b.setStyle(j,h);if(d||g)b.setXY([d||false,g||false])},clearPositioning:function(a){a=a||"";this.setStyle({left:a,right:a,top:a,bottom:a,"z-index":"",position:e});return this},getPositioning:function(){var b=this.getStyle(c),e=this.getStyle(d);return {position:this.getStyle(a),left:b,right:b?"":this.getStyle(g),top:e,bottom:e?"":this.getStyle(h),"z-index":this.getStyle(j)}},setPositioning:function(a){var b=this,c=b.dom.style;b.setStyle(a);if(a.right==i)c.right="";if(a.bottom==i)c.bottom="";return b},translatePoints:function(b,i){i=isNaN(b[1])?i:b[1];b=isNaN(b[0])?b:b[0];var e=this,j=e.isStyle(a,f),k=e.getXY(),g=parseInt(e.getStyle(c),10),h=parseInt(e.getStyle(d),10);g=!isNaN(g)?g:j?0:e.dom.offsetLeft;h=!isNaN(h)?h:j?0:e.dom.offsetTop;return {left:b-k[0]+g,top:i-k[1]+h}},animTest:function(b,a,c){return !!a&&this.preanim?this.preanim(b,c):false}})})();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,f=document,a=f.body,g=f.documentElement,c,e,d;if(b==f||b==a){if(Ext.isIE&&Ext.isStrict){c=g.scrollLeft;e=g.scrollTop}else{c=window.pageXOffset;e=window.pageYOffset}d={left:c||(a?a.scrollLeft:0),top:e||(a?a.scrollTop:0)}}else d={left:b.scrollLeft,top:b.scrollTop};return d}});Ext.Element.VISIBILITY=1;Ext.Element.DISPLAY=2;Ext.Element.OFFSETS=3;Ext.Element.ASCLASS=4;Ext.Element.visibilityCls="x-hide-nosize";Ext.Element.addMethods(function(){var a=Ext.Element,o="opacity",h="visibility",c="display",f="hidden",n="offsets",m="asclass",d="none",l="nosize",j="originalDisplay",e="visibilityMode",g="isVisible",b=a.data,k=function(c){var a=b(c,j);if(a===undefined)b(c,j,a="");return a},i=function(c){var a=b(c,e);if(a===undefined)b(c,e,a=1);return a};return {originalDisplay:"",visibilityMode:1,setVisibilityMode:function(a){b(this.dom,e,a);return this},animate:function(b,d,c,e,a){this.anim(b,{duration:d,callback:c,easing:e},a);return this},anim:function(g,a,c,h,f,d){c=c||"run";a=a||{};var b=this,e=Ext.lib.Anim[c](b.dom,g,a.duration||h||.35,a.easing||f||"easeOut",function(){if(d)d.call(b);if(a.callback)a.callback.call(a.scope||b,b,a)},b);a.anim=e;return e},preanim:function(a,b){return !a[b]?false:typeof a[b]=="object"?a[b]:{duration:a[b+1],callback:a[b+2],easing:a[b+3]}},isVisible:function(){var e=this,k=e.dom,j=b(k,g);if(typeof j=="boolean")return j;j=!e.isStyle(h,f)&&!e.isStyle(c,d)&&!(i(k)==a.ASCLASS&&e.hasClass(e.visibilityCls||a.visibilityCls));b(k,g,j);return j},setVisible:function(j,k){var d=this,q,p,s,r,o=d.dom,e=i(o);if(typeof k=="string"){switch(k){case c:e=a.DISPLAY;break;case h:e=a.VISIBILITY;break;case n:e=a.OFFSETS;break;case l:case m:e=a.ASCLASS}d.setVisibilityMode(e);k=false}if(!k||!d.anim)if(e==a.ASCLASS)d[j?"removeClass":"addClass"](d.visibilityCls||a.visibilityCls);else if(e==a.DISPLAY)return d.setDisplayed(j);else if(e==a.OFFSETS)if(!j){d.hideModeStyles={position:d.getStyle("position"),top:d.getStyle("top"),left:d.getStyle("left")};d.applyStyles({position:"absolute",top:"-10000px",left:"-10000px"})}else{d.applyStyles(d.hideModeStyles||{position:"",top:"",left:""});delete d.hideModeStyles}else{d.fixDisplay();o.style.visibility=j?"visible":f}else{if(j){d.setOpacity(.01);d.setVisible(true)}d.anim({opacity:{to:j?1:0}},d.preanim(arguments,1),null,.35,"easeIn",function(){j||d.setVisible(false).setOpacity(1)})}b(o,g,j);return d},hasMetrics:function(){var b=this.dom;return this.isVisible()||i(b)==a.VISIBILITY},toggle:function(){var a=this;a.setVisible(!a.isVisible(),a.preanim(arguments,0));return a},setDisplayed:function(a){if(typeof a=="boolean")a=a?k(this.dom):d;this.setStyle(c,a);return this},fixDisplay:function(){var a=this;if(a.isStyle(c,d)){a.setStyle(h,f);a.setStyle(c,k(this.dom));if(a.isStyle(c,d))a.setStyle(c,"block")}},hide:function(a){if(typeof a=="string"){this.setVisible(false,a);return this}this.setVisible(false,this.preanim(arguments,0));return this},show:function(a){if(typeof a=="string"){this.setVisible(true,a);return this}this.setVisible(true,this.preanim(arguments,0));return this}}}());(function(){var b=null,y=undefined,k=true,e=false,v="setX",u="setY",x="setXY",c="left",l="bottom",d="top",m="right",n="height",j="width",o="points",w="hidden",r="absolute",p="visible",i="motion",z="position",g="easeOut",s=new Ext.Element.Flyweight,q={},f=function(a){return a||{}},a=function(a){s.dom=a;s.id=Ext.id(a);return s},h=function(a){if(!q[a])q[a]=[];return q[a]},t=function(b,a){q[b]=a};Ext.enableFx=k;Ext.Fx={switchStatements:function(b,c,a){return c.apply(this,a[b])},slideIn:function(z,n){n=f(n);var A=this,k=A.dom,h=k.style,y,t,e,j,C,h,B,q,s,o;z=z||"t";A.queueFx(n,function(){y=a(k).getXY();a(k).fixDisplay();t=a(k).getFxRestore();e={x:y[0],y:y[1],0:y[0],1:y[1],width:k.offsetWidth,height:k.offsetHeight};e.right=e.x+e.width;e.bottom=e.y+e.height;a(k).setWidth(e.width).setHeight(e.height);j=a(k).fxWrap(t.pos,n,w);h.visibility=p;h.position=r;function f(){a(k).fxUnwrap(j,t.pos,n);h.width=t.width;h.height=t.height;a(k).afterFx(n)}q={to:[e.x,e.y]};s={to:e.width};o={to:e.height};function A(c,e,m,l,h,i,k,j,d,g,f){var b={};a(c).setWidth(m).setHeight(l);if(a(c)[h])a(c)[h](i);e[k]=e[j]="0";if(d)b.width=d;if(g)b.height=g;if(f)b.points=f;return b}B=a(k).switchStatements(z.toLowerCase(),A,{t:[j,h,e.width,0,b,b,c,l,b,o,b],l:[j,h,0,e.height,b,b,m,d,s,b,b],r:[j,h,e.width,e.height,v,e.right,c,d,b,b,q],b:[j,h,e.width,e.height,u,e.bottom,c,d,b,o,q],tl:[j,h,0,0,b,b,m,l,s,o,q],bl:[j,h,0,0,u,e.y+e.height,m,d,s,o,q],br:[j,h,0,0,x,[e.right,e.bottom],c,d,s,o,q],tr:[j,h,0,0,v,e.x+e.width,c,l,s,o,q]});h.visibility=p;a(j).show();arguments.callee.anim=a(j).fxanim(B,n,i,.5,g,f)});return A},slideOut:function(x,s){s=f(s);var v=this,q=v.dom,k=q.style,w=v.getXY(),u,t,b,y,h={to:0};x=x||"t";v.queueFx(s,function(){t=a(q).getFxRestore();b={x:w[0],y:w[1],0:w[0],1:w[1],width:q.offsetWidth,height:q.offsetHeight};b.right=b.x+b.width;b.bottom=b.y+b.height;a(q).setWidth(b.width).setHeight(b.height);u=a(q).fxWrap(t.pos,s,p);k.visibility=p;k.position=r;a(u).setWidth(b.width).setHeight(b.height);function f(){s.useDisplay?a(q).setDisplayed(e):a(q).hide();a(q).fxUnwrap(u,t.pos,s);k.width=t.width;k.height=t.height;a(q).afterFx(s)}function v(b,i,h,j,g,d,f,c,e){var a={};b[i]=b[h]="0";a[j]=g;if(d)a[d]=f;if(c)a[c]=e;return a}y=a(q).switchStatements(x.toLowerCase(),v,{t:[k,c,l,n,h],l:[k,m,d,j,h],r:[k,c,d,j,h,o,{to:[b.right,b.y]}],b:[k,c,d,n,h,o,{to:[b.x,b.bottom]}],tl:[k,m,l,j,h,n,h],bl:[k,m,d,j,h,n,h,o,{to:[b.x,b.bottom]}],br:[k,c,d,j,h,n,h,o,{to:[b.x+b.width,b.bottom]}],tr:[k,c,l,j,h,n,h,o,{to:[b.right,b.y]}]});arguments.callee.anim=a(u).fxanim(y,s,i,.5,g,f)});return v},puff:function(c){c=f(c);var l=this,b=l.dom,j=b.style,k,h,d;l.queueFx(c,function(){k=a(b).getWidth();h=a(b).getHeight();a(b).clearOpacity();a(b).show();d=a(b).getFxRestore();function f(){c.useDisplay?a(b).setDisplayed(e):a(b).hide();a(b).clearOpacity();a(b).setPositioning(d.pos);j.width=d.width;j.height=d.height;j.fontSize="";a(b).afterFx(c)}arguments.callee.anim=a(b).fxanim({width:{to:a(b).adjustWidth(k*2)},height:{to:a(b).adjustHeight(h*2)},points:{by:[-k*.5,-h*.5]},opacity:{to:0},fontSize:{to:200,unit:"%"}},c,i,.5,g,f)});return l},switchOff:function(d){d=f(d);var h=this,c=h.dom,j=c.style,g;h.queueFx(d,function(){a(c).clearOpacity();a(c).clip();g=a(c).getFxRestore();function f(){d.useDisplay?a(c).setDisplayed(e):a(c).hide();a(c).clearOpacity();a(c).setPositioning(g.pos);j.width=g.width;j.height=g.height;a(c).afterFx(d)}a(c).fxanim({opacity:{to:.3}},b,b,.1,b,function(){a(c).clearOpacity();(function(){a(c).fxanim({height:{to:1},points:{by:[0,a(c).getHeight()*.5]}},d,i,.3,"easeIn",f)}).defer(100)})});return h},highlight:function(i,c){c=f(c);var e=this,b=e.dom,d=c.attr||"backgroundColor",g={},h;e.queueFx(c,function(){a(b).clearOpacity();a(b).show();function e(){b.style[d]=h;a(b).afterFx(c)}h=b.style[d];g[d]={from:i||"ffff9c",to:c.endColor||a(b).getColor(d)||"ffffff"};arguments.callee.anim=a(b).fxanim(g,c,"color",1,"easeIn",e)});return e},frame:function(b,g,e){e=f(e);var h=this,d=h.dom,c,i;h.queueFx(e,function(){b=b||"#C3DAF9";if(b.length==6)b="#"+b;g=g||1;a(d).show();var h=a(d).getXY(),f={x:h[0],y:h[1],0:h[0],1:h[1],width:d.offsetWidth,height:d.offsetHeight},j=function(){c=a(document.body||document.documentElement).createChild({style:{position:r,"z-index":35000,border:"0px solid "+b}});return c.queueFx({},k)};arguments.callee.anim={isAnimated:true,stop:function(){g=0;c.stopFx()}};function k(){var b=Ext.isBorderBox?2:1;i=c.anim({top:{from:f.y,to:f.y-20},left:{from:f.x,to:f.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:f.height,to:f.height+20*b},width:{from:f.width,to:f.width+20*b}},{duration:e.duration||1,callback:function(){c.remove();--g>0?j():a(d).afterFx(e)}});arguments.callee.anim={isAnimated:true,stop:function(){i.stop()}}}j()});return h},pause:function(d){var c=this.dom,b;this.queueFx({},function(){b=setTimeout(function(){a(c).afterFx({})},d*1e3);arguments.callee.anim={isAnimated:true,stop:function(){clearTimeout(b);a(c).afterFx({})}}});return this},fadeIn:function(d){d=f(d);var e=this,c=e.dom,h=d.endOpacity||1;e.queueFx(d,function(){a(c).setOpacity(0);a(c).fixDisplay();c.style.visibility=p;arguments.callee.anim=a(c).fxanim({opacity:{to:h}},d,b,.5,g,function(){if(h==1)a(c).clearOpacity();a(c).afterFx(d)})});return e},fadeOut:function(c){c=f(c);var e=this,d=e.dom,h=d.style,i=c.endOpacity||0;e.queueFx(c,function(){arguments.callee.anim=a(d).fxanim({opacity:{to:i}},c,b,.5,g,function(){if(i==0){Ext.Element.data(d,"visibilityMode")==Ext.Element.DISPLAY||c.useDisplay?(h.display="none"):(h.visibility=w);a(d).clearOpacity()}a(d).afterFx(c)})});return e},scale:function(a,b,c){this.shift(Ext.apply({},c,{width:a,height:b}));return this},shift:function(c){c=f(c);var d=this.dom,b={};this.queueFx(c,function(){for(var e in c)if(c[e]!=y)b[e]={to:c[e]};b.width?(b.width.to=a(d).adjustWidth(c.width)):b;b.height?(b.height.to=a(d).adjustWidth(c.height)):b;if(b.x||b.y||b.xy)b.points=b.xy||{to:[b.x?b.x.to:a(d).getX(),b.y?b.y.to:a(d).getY()]};arguments.callee.anim=a(d).fxanim(b,c,i,.35,g,function(){a(d).afterFx(c)})});return this},ghost:function(k,h){h=f(h);var l=this,b=l.dom,n=b.style,m={opacity:{to:0},points:{}},o=m.points,j,d,c;k=k||"b";l.queueFx(h,function(){j=a(b).getFxRestore();d=a(b).getWidth();c=a(b).getHeight();function f(){h.useDisplay?a(b).setDisplayed(e):a(b).hide();a(b).clearOpacity();a(b).setPositioning(j.pos);n.width=j.width;n.height=j.height;a(b).afterFx(h)}o.by=a(b).switchStatements(k.toLowerCase(),function(b,a){return [b,a]},{t:[0,-c],l:[-d,0],r:[d,0],b:[0,c],tl:[-d,-c],bl:[-d,c],br:[d,c],tr:[d,-c]});arguments.callee.anim=a(b).fxanim(m,h,i,.5,g,f)});return l},syncFx:function(){var a=this;a.fxDefaults=Ext.apply(a.fxDefaults||{},{block:e,concurrent:k,stopFx:e});return a},sequenceFx:function(){var a=this;a.fxDefaults=Ext.apply(a.fxDefaults||{},{block:e,concurrent:e,stopFx:e});return a},nextFx:function(){var a=h(this.dom.id)[0];if(a)a.call(this)},hasActiveFx:function(){return h(this.dom.id)[0]},stopFx:function(d){var b=this,c=b.dom.id;if(b.hasActiveFx()){var a=h(c)[0];if(a&&a.anim)if(a.anim.isAnimated){t(c,[a]);a.anim.stop(d!==undefined?d:k)}else t(c,[])}return b},beforeFx:function(a){if(this.hasActiveFx()&&!a.concurrent){if(a.stopFx){this.stopFx();return k}return e}return k},hasFxBlock:function(){var a=h(this.dom.id);return a&&a[0]&&a[0].block},queueFx:function(c,d){var b=a(this.dom);if(!b.hasFxBlock()){Ext.applyIf(c,b.fxDefaults);if(!c.concurrent){var e=b.beforeFx(c);d.block=c.block;h(b.dom.id).push(d);if(e)b.nextFx()}else d.call(b)}return b},fxWrap:function(h,e,g){var c=this.dom,b,d;if(!e.wrap||!(b=Ext.getDom(e.wrap))){if(e.fixPosition)d=a(c).getXY();var f=document.createElement("div");f.style.visibility=g;b=c.parentNode.insertBefore(f,c);a(b).setPositioning(h);if(a(b).isStyle(z,"static"))a(b).position("relative");a(c).clearPositioning("auto");a(b).clip();b.appendChild(c);if(d)a(b).setXY(d)}return b},fxUnwrap:function(b,f,e){var c=this.dom;a(c).clearPositioning();a(c).setPositioning(f);if(!e.wrap){var d=a(b).dom.parentNode;d.insertBefore(c,b);a(b).remove()}},getFxRestore:function(){var a=this.dom.style;return {pos:this.getPositioning(),width:a.width,height:a.height}},afterFx:function(b){var c=this.dom,d=c.id;if(b.afterStyle)a(c).setStyle(b.afterStyle);if(b.afterCls)a(c).addClass(b.afterCls);if(b.remove==k)a(c).remove();if(b.callback)b.callback.call(b.scope,a(c));if(!b.concurrent){h(d).shift();a(c).nextFx()}},fxanim:function(f,a,b,h,e,d){b=b||"run";a=a||{};var c=Ext.lib.Anim[b](this.dom,f,a.duration||h||.35,a.easing||e||g,d,this);a.anim=c;return c}};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(b){var a=this.el;a.dom=b;a.id=b.id;return a},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(a,e){var c=this,f=c.elements;if(!a)return this;if(typeof a=="string")a=Ext.Element.selectorFunction(a,e);else if(a.isComposite)a=a.elements;else if(!Ext.isIterable(a))a=[a];for(var b=0,d=a.length;b<d;++b)f.push(c.transformElement(a[b]));return c},invoke:function(g,f){var b=this,d=b.elements,e=d.length,c,a;for(a=0;a<e;a++){c=d[a];if(c)Ext.Element.prototype[g].apply(b.getElement(c),f)}return b},item:function(d){var c=this,b=c.elements[d],a=null;if(b)a=c.getElement(b);return a},addListener:function(e,h,g,f){var c=this.elements,d=c.length,a,b;for(a=0;a<d;a++){b=c[a];if(b)Ext.EventManager.on(b,e,h,g||b,f)}return this},each:function(g,f){var c=this,d=c.elements,e=d.length,b,a;for(b=0;b<e;b++){a=d[b];if(a){a=this.getElement(a);if(g.call(f||a,a,c,b)===false)break}}return c},fill:function(b){var a=this;a.elements=[];a.add(b);return a},filter:function(b){var c=[],a=this,d=Ext.isFunction(b)?b:function(a){return a.is(b)};a.each(function(b,f,e){if(d(b,e)!==false)c[c.length]=a.transformElement(b)});a.elements=c;return a},indexOf:function(a){return this.elements.indexOf(this.transformElement(a))},replaceElement:function(d,a,e){var c=!isNaN(d)?d:this.indexOf(d),b;if(c>-1){a=Ext.getDom(a);if(e){b=this.elements[c];b.parentNode.insertBefore(a,b);Ext.removeNode(b)}this.elements.splice(c,1,a)}return this},clear:function(){this.elements=[]}};Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;Ext.CompositeElementLite.importElementMethods=function(){var b,c=Ext.Element.prototype,a=Ext.CompositeElementLite.prototype;for(b in c)if(typeof c[b]=="function")(function(b){a[b]=a[b]||function(){return this.invoke(b,arguments)}}).call(a,b)};Ext.CompositeElementLite.importElementMethods();if(Ext.DomQuery)Ext.Element.selectorFunction=Ext.DomQuery.select;Ext.Element.select=function(a,c){var b;if(typeof a=="string")b=Ext.Element.selectorFunction(a,c);else if(a.length!==undefined)b=a;else throw"Invalid selector";return new Ext.CompositeElementLite(b)};Ext.select=Ext.Element.select;(function(){var d="beforerequest",b="requestcomplete",f="requestexception",g=undefined,e="load",h="POST",a="GET",c=window;Ext.data.Connection=function(a){Ext.apply(this,a);this.addEvents(d,b,f);Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:3e4,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(b){var e=this;if(e.fireEvent(d,e,b)){if(b.el){if(!Ext.isEmpty(b.indicatorText))e.indicatorText='<div class="loading-indicator">'+b.indicatorText+"</div>";if(e.indicatorText)Ext.getDom(b.el).innerHTML=e.indicatorText;b.success=(Ext.isFunction(b.success)?b.success:function(){}).createInterceptor(function(a){Ext.getDom(b.el).innerHTML=a.responseText})}var f=b.params,i=b.url||e.url,j,m={success:e.handleResponse,failure:e.handleFailure,scope:e,argument:{options:b},timeout:Ext.num(b.timeout,e.timeout)},k,l;if(Ext.isFunction(f))f=f.call(b.scope||c,b);f=Ext.urlEncode(e.extraParams,Ext.isObject(f)?Ext.urlEncode(f):f);if(Ext.isFunction(i))i=i.call(b.scope||c,b);if(k=Ext.getDom(b.form)){i=i||k.action;if(b.isUpload||/multipart\/form-data/i.test(k.getAttribute("enctype")))return e.doFormUpload.call(e,b,f,i);l=Ext.lib.Ajax.serializeForm(k);f=f?f+"&"+l:l}j=b.method||e.method||(f||b.xmlData||b.jsonData?h:a);if(j===a&&(e.disableCaching&&b.disableCaching!==false)||b.disableCaching===true){var n=b.disableCachingParam||e.disableCachingParam;i=Ext.urlAppend(i,n+"="+(new Date).getTime())}b.headers=Ext.apply(b.headers||{},e.defaultHeaders||{});if(b.autoAbort===true||e.autoAbort)e.abort();if((j==a||b.xmlData||b.jsonData)&&f){i=Ext.urlAppend(i,f);f=""}return e.transId=Ext.lib.Ajax.request(j,i,m,f,b)}else return b.callback?b.callback.apply(b.scope,[b,g,g]):null},isLoading:function(a){return a?Ext.lib.Ajax.isCallInProgress(a):!!this.transId},abort:function(a){if(a||this.isLoading())Ext.lib.Ajax.abort(a||this.transId)},handleResponse:function(c){this.transId=false;var a=c.argument.options;c.argument=a?a.argument:null;this.fireEvent(b,this,c,a);if(a.success)a.success.call(a.scope,c,a);if(a.callback)a.callback.call(a.scope,a,true,c)},handleFailure:function(b,c){this.transId=false;var a=b.argument.options;b.argument=a?a.argument:null;this.fireEvent(f,this,b,a,c);if(a.failure)a.failure.call(a.scope,b,a);if(a.callback)a.callback.call(a.scope,a,false,b)},doFormUpload:function(d,o,p){var g=Ext.id(),j=document,f=j.createElement("iframe"),a=Ext.getDom(d.form),n=[],i,l="multipart/form-data",k={target:a.target,method:a.method,encoding:a.encoding,enctype:a.enctype,action:a.action};Ext.fly(f).set({id:g,name:g,cls:"x-hidden",src:Ext.SSL_SECURE_URL});j.body.appendChild(f);if(Ext.isIE)document.frames[g].name=g;Ext.fly(a).set({target:g,method:h,enctype:l,encoding:l,action:p||k.action});Ext.iterate(Ext.urlDecode(o,false),function(c,b){i=j.createElement("input");Ext.fly(i).set({type:"hidden",value:b,name:c});a.appendChild(i);n.push(i)});function m(){var i=this,h={responseText:"",responseXML:null,argument:d.argument},a,j;try{a=f.contentWindow.document||f.contentDocument||c.frames[g].document;if(a){if(a.body)if(/textarea/i.test((j=a.body.firstChild||{}).tagName))h.responseText=j.value;else h.responseText=a.body.innerHTML;h.responseXML=a.XMLDocument||a}}catch(l){}Ext.EventManager.removeListener(f,e,m,i);i.fireEvent(b,i,h,d);function k(a,c,b){if(Ext.isFunction(a))a.apply(c,b)}k(d.success,d.scope,[h,d]);k(d.callback,d.scope,[d,true,h]);if(!i.debugUploads)setTimeout(function(){Ext.removeNode(f)},100)}Ext.EventManager.on(f,e,m,this);a.submit();Ext.fly(a).set(k);Ext.each(n,function(a){Ext.removeNode(a)})}})})();Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(a){return Ext.lib.Ajax.serializeForm(a)}});Ext.util.JSON=new function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var a=null;return function(){if(a===null)a=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]";return a}}(),pad=function(a){return a<10?"0"+a:a},doDecode=function(json){return eval("("+json+")")},doEncode=function(a){if(!Ext.isDefined(a)||a===null)return "null";else if(Ext.isArray(a))return encodeArray(a);else if(Ext.isDate(a))return Ext.util.JSON.encodeDate(a);else if(Ext.isString(a))return encodeString(a);else if(typeof a=="number")return isFinite(a)?String(a):"null";else if(Ext.isBoolean(a))return String(a);else{var b=["{"],e,c,d;for(c in a)if(!a.getElementsByTagName)if(!useHasOwn||a.hasOwnProperty(c)){d=a[c];switch(typeof d){case "undefined":case "function":case "unknown":break;default:if(e)b.push(",");b.push(doEncode(c),":",d===null?"null":doEncode(d));e=true}}b.push("}");return b.join("")}},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},encodeString=function(a){if(/["\\\x00-\x1f]/.test(a))return '"'+a.replace(/([\x00-\x1f\\"])/g,function(c,b){var a=m[b];if(a)return a;a=b.charCodeAt();return "\\u00"+Math.floor(a/16).toString(16)+(a%16).toString(16)})+'"';return '"'+a+'"'},encodeArray=function(e){var a=["["],d,b,f=e.length,c;for(b=0;b<f;b+=1){c=e[b];switch(typeof c){case "undefined":case "function":case "unknown":break;default:if(d)a.push(",");a.push(c===null?"null":Ext.util.JSON.encode(c));d=true}}a.push("]");return a.join("")};this.encodeDate=function(a){return '"'+a.getFullYear()+"-"+pad(a.getMonth()+1)+"-"+pad(a.getDate())+"T"+pad(a.getHours())+":"+pad(a.getMinutes())+":"+pad(a.getSeconds())+'"'};this.encode=function(){var a;return function(b){if(!a)a=isNative()?JSON.stringify:doEncode;return a(b)}}();this.decode=function(){var a;return function(b){if(!a)a=isNative()?JSON.parse:doDecode;return a(b)}}()};Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.EventManager=function(){var b,i,h=false,p=Ext.isGecko||Ext.isWebKit||Ext.isSafari,d=Ext.lib.Event,A=Ext.lib.Dom,a=document,k=window,j="DOMContentLoaded",q="complete",v=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,n=[];function g(b){var a=false,c=0,f=n.length,e=false,d;if(b){if(b.getElementById||b.navigator){for(;c<f;++c){d=n[c];if(d.el===b){a=d.id;break}}if(!a){a=Ext.id(b);n.push({id:a,el:b});e=true}}else a=Ext.id(b);if(!Ext.elCache[a]){Ext.Element.addToCache(new Ext.Element(b),a);if(e)Ext.elCache[a].skipGC=true}}return a}function w(b,c,m,l,e,n){b=Ext.getDom(b);var j=g(b),f=Ext.elCache[j].events,h;h=d.on(b,c,e);f[c]=f[c]||[];f[c].push([m,e,n,h,l]);if(b.addEventListener&&c=="mousewheel"){var i=["DOMMouseScroll",e,false];b.addEventListener.apply(b,i);Ext.EventManager.addListener(k,"unload",function(){b.removeEventListener.apply(b,i)})}if(b==a&&c=="mousedown")Ext.EventManager.stoppedMouseDownEvent.addListener(e)}function t(){if(window!=top)return false;try{a.documentElement.doScroll("left")}catch(b){return false}c();return true}function e(){if(Ext.isIE&&t())return true;if(a.readyState==q){c();return true}h||(i=setTimeout(arguments.callee,2));return false}var m;function o(){m||(m=Ext.query("style, link[rel=stylesheet]"));if(m.length==a.styleSheets.length){c();return true}h||(i=setTimeout(arguments.callee,2));return false}function r(){a.removeEventListener(j,arguments.callee,false);o()}function c(){if(!h){h=true;if(i)clearTimeout(i);if(p)a.removeEventListener(j,c,false);if(Ext.isIE&&e.bindIE)a.detachEvent("onreadystatechange",e);d.un(k,"load",arguments.callee)}if(b&&!Ext.isReady){Ext.isReady=true;b.fire();b.listeners=[]}}function s(){b||(b=new Ext.util.Event);if(p)a.addEventListener(j,c,false);if(Ext.isIE){if(!e()){e.bindIE=true;a.attachEvent("onreadystatechange",e)}}else if(Ext.isOpera)a.readyState==q&&o()||a.addEventListener(j,r,false);else if(Ext.isWebKit)e();d.on(k,"load",c)}function z(a,b){return function(){var c=Ext.toArray(arguments);if(b.target==Ext.EventObject.setEvent(c[0]).target)a.apply(this,c)}}function y(b,c,a){return function(d){a.delay(c.buffer,b,null,[new Ext.EventObjectImpl(d)])}}function x(e,d,a,c,b){return function(f){Ext.EventManager.removeListener(d,a,c,b);e(f)}}function u(b,c,a){return function(e){var d=new Ext.util.DelayedTask(b);if(!a.tasks)a.tasks=[];a.tasks.push(d);d.delay(c.delay||10,b,null,[new Ext.EventObjectImpl(e)])}}function l(i,h,f,c,e){var a=!f||typeof f=="boolean"?{}:f,d=Ext.getDom(i),g;c=c||a.fn;e=e||a.scope;if(!d)throw'Error listening for "'+h+'". Element "'+i+"\" doesn't exist.";function b(b){if(!Ext)return;b=Ext.EventObject.setEvent(b);var f;if(a.delegate){if(!(f=b.getTarget(a.delegate,d)))return}else f=b.target;if(a.stopEvent)b.stopEvent();if(a.preventDefault)b.preventDefault();if(a.stopPropagation)b.stopPropagation();if(a.normalized===false)b=b.browserEvent;c.call(e||d,b,f,a)}if(a.target)b=z(b,a);if(a.delay)b=u(b,a,c);if(a.single)b=x(b,d,h,c,e);if(a.buffer){g=new Ext.util.DelayedTask(b);b=y(b,a,g)}w(d,h,c,g,b,e);return b}var f={addListener:function(e,d,h,g,f){if(typeof d=="object"){var c=d,a,b;for(a in c){b=c[a];if(!v.test(a))if(Ext.isFunction(b))l(e,a,c,b,c.scope);else l(e,a,b)}}else l(e,d,f,h,g)},removeListener:function(b,i,j,n){b=Ext.getDom(b);var k=g(b),l=b&&Ext.elCache[k].events[i]||[],e,h,o,f,m,c;for(h=0,m=l.length;h<m;h++)if(Ext.isArray(c=l[h])&&c[0]==j&&(!n||c[2]==n)){if(c[4])c[4].cancel();f=j.tasks&&j.tasks.length;if(f){while(f--)j.tasks[f].cancel();delete j.tasks}e=c[1];d.un(b,i,d.extAdapter?c[3]:e);if(e&&b.addEventListener&&i=="mousewheel")b.removeEventListener("DOMMouseScroll",e,false);if(e&&b==a&&i=="mousedown")Ext.EventManager.stoppedMouseDownEvent.removeListener(e);l.splice(h,1);if(l.length===0)delete Ext.elCache[k].events[i];for(f in Ext.elCache[k].events)return false;Ext.elCache[k].events={};return false}},removeAll:function(c){c=Ext.getDom(c);var i=g(c),n=Ext.elCache[i]||{},l=n.events||{},k,h,m,f,b,j,e;for(f in l)if(l.hasOwnProperty(f)){k=l[f];for(h=0,m=k.length;h<m;h++){b=k[h];if(b[4])b[4].cancel();if(b[0].tasks&&(j=b[0].tasks.length)){while(j--)b[0].tasks[j].cancel();delete b.tasks}e=b[1];d.un(c,f,d.extAdapter?b[3]:e);if(c.addEventListener&&e&&f=="mousewheel")c.removeEventListener("DOMMouseScroll",e,false);if(e&&c==a&&f=="mousedown")Ext.EventManager.stoppedMouseDownEvent.removeListener(e)}}if(Ext.elCache[i])Ext.elCache[i].events={}},getListeners:function(a,c){a=Ext.getDom(a);var e=g(a),d=Ext.elCache[e]||{},b=d.events||{},f=[];if(b&&b[c])return b[c];else return null},purgeElement:function(a,h,c){a=Ext.getDom(a);var i=g(a),j=Ext.elCache[i]||{},f=j.events||{},b,e,d;if(c){if(f&&f.hasOwnProperty(c)){e=f[c];for(b=0,d=e.length;b<d;b++)Ext.EventManager.removeListener(a,c,e[b][0])}}else Ext.EventManager.removeAll(a);if(h&&a&&a.childNodes)for(b=0,d=a.childNodes.length;b<d;b++)Ext.EventManager.purgeElement(a.childNodes[b],h,c)},_unload:function(){var e;for(e in Ext.elCache)Ext.EventManager.removeAll(e);delete Ext.elCache;delete Ext.Element._flyweights;var d,a,c,b=Ext.lib.Ajax;typeof b.conn=="object"?(a=b.conn):(a={});for(c in a){d=a[c];if(d)b.abort({conn:d,tId:c})}},onDocumentReady:function(d,c,a){if(Ext.isReady){b||(b=new Ext.util.Event);b.addListener(d,c,a);b.fire();b.listeners=[]}else{if(!b)s();a=a||{};a.delay=a.delay||1;b.addListener(d,c,a)}},fireDocReady:c};f.on=f.addListener;f.un=f.removeListener;f.stoppedMouseDownEvent=new Ext.util.Event;return f}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var a=function(){var b=document.body||document.getElementsByTagName("body")[0];if(!b)return false;var a=[" ",Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":Ext.isIE7?"ext-ie7":"ext-ie8"):Ext.isGecko?"ext-gecko "+(Ext.isGecko2?"ext-gecko2":"ext-gecko3"):Ext.isOpera?"ext-opera":Ext.isWebKit?"ext-webkit":""];if(Ext.isSafari)a.push("ext-safari "+(Ext.isSafari2?"ext-safari2":Ext.isSafari3?"ext-safari3":"ext-safari4"));else if(Ext.isChrome)a.push("ext-chrome");if(Ext.isMac)a.push("ext-mac");if(Ext.isLinux)a.push("ext-linux");if(Ext.isStrict||Ext.isBorderBox){var c=b.parentNode;if(c)Ext.fly(c,"_internal").addClass(Ext.isStrict&&Ext.isIE||!Ext.enableForcedBoxModel&&!Ext.isIE?" ext-strict":" ext-border-box")}if(Ext.enableForcedBoxModel&&!Ext.isIE){Ext.isForcedBorderBox=true;a.push("ext-forced-border-box")}Ext.fly(b,"_internal").addClass(a);return true};Ext.isReady=a();if(!Ext.isReady)Ext.onReady(a)})();(function(){var a=Ext.apply(Ext.supports,{correctRightMargin:true,correctTransparentColor:true,cssFloat:true}),b=function(){var b=document.createElement("div"),e=document,c,d;b.innerHTML='<div style="height:30px;width:50px;"><div style="height:20px;width:20px;"></div></div><div style="float:left;background-color:transparent;">';e.body.appendChild(b);d=b.lastChild;if(c=e.defaultView){if(c.getComputedStyle(b.firstChild.firstChild,null).marginRight!="0px")a.correctRightMargin=false;if(c.getComputedStyle(d,null).backgroundColor!="transparent")a.correctTransparentColor=false}a.cssFloat=!!d.style.cssFloat;e.body.removeChild(b)};if(Ext.isReady)b();else Ext.onReady(b)})();Ext.EventObject=function(){var a=Ext.lib.Event,c=/(dbl)?click/,b={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},d=Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2};Ext.EventObjectImpl=function(a){if(a)this.setEvent(a.browserEvent||a)};Ext.EventObjectImpl.prototype={setEvent:function(e){var b=this;if(e==b||e&&e.browserEvent)return e;b.browserEvent=e;if(e){b.button=e.button?d[e.button]:e.which?e.which-1:-1;if(c.test(e.type)&&b.button==-1)b.button=0;b.type=e.type;b.shiftKey=e.shiftKey;b.ctrlKey=e.ctrlKey||e.metaKey||false;b.altKey=e.altKey;b.keyCode=e.keyCode;b.charCode=e.charCode;b.target=a.getTarget(e);b.xy=a.getXY(e)}else{b.button=-1;b.shiftKey=false;b.ctrlKey=false;b.altKey=false;b.keyCode=0;b.charCode=0;b.target=null;b.xy=[0,0]}return b},stopEvent:function(){var b=this;if(b.browserEvent){if(b.browserEvent.type=="mousedown")Ext.EventManager.stoppedMouseDownEvent.fire(b);a.stopEvent(b.browserEvent)}},preventDefault:function(){if(this.browserEvent)a.preventDefault(this.browserEvent)},stopPropagation:function(){var b=this;if(b.browserEvent){if(b.browserEvent.type=="mousedown")Ext.EventManager.stoppedMouseDownEvent.fire(b);a.stopPropagation(b.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(a){return Ext.isSafari?b[a]||a:a},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getXY:function(){return this.xy},getTarget:function(b,c,a){return b?Ext.fly(this.target).findParent(b,c,a):a?Ext.get(this.target):this.target},getRelatedTarget:function(){return this.browserEvent?a.getRelatedTarget(this.browserEvent):null},getWheelDelta:function(){var a=this.browserEvent,b=0;if(a.wheelDelta)b=a.wheelDelta/120;else if(a.detail)b=-a.detail/3;return b},within:function(b,d,c){if(b){var a=this[d?"getRelatedTarget":"getTarget"]();return a&&((c?a==Ext.getDom(b):false)||Ext.fly(b).contains(a))}return false}};return new Ext.EventObjectImpl}();Ext.ns("Ext.grid","Ext.list","Ext.dd","Ext.tree","Ext.form","Ext.menu","Ext.state","Ext.layout","Ext.app","Ext.ux","Ext.chart","Ext.direct");Ext.apply(Ext,function(){var b=Ext,c=0,a=null;return {emptyFn:function(){},BLANK_IMAGE_URL:Ext.isIE6||Ext.isIE7||Ext.isAir?"http://www.extjs.com/s.gif":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",extendX:function(a,b){return Ext.extend(a,b(a.prototype))},getDoc:function(){return Ext.get(document)},num:function(a,b){a=Number(Ext.isEmpty(a)||Ext.isArray(a)||typeof a=="boolean"||typeof a=="string"&&a.trim().length==0?NaN:a);return isNaN(a)?b:a},value:function(a,b,c){return Ext.isEmpty(a,c)?b:a},escapeRe:function(a){return a.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},sequence:function(b,a,d,c){b[a]=b[a].createSequence(d,c)},addBehaviors:function(e){if(!Ext.isReady)Ext.onReady(function(){Ext.addBehaviors(e)});else{var b={},d,c,a;for(c in e)if((d=c.split("@"))[1]){a=d[0];if(!b[a])b[a]=Ext.select(a);b[a].on(d[1],e[c])}b=null}},getScrollBarWidth:function(f){if(!Ext.isReady)return 0;if(f===true||a===null){var b=Ext.getBody().createChild('<div class="x-hide-offsets" style="width:100px;height:50px;overflow:hidden;"><div style="height:200px;"></div></div>'),c=b.child("div",true),e=c.offsetWidth;b.setStyle("overflow",Ext.isWebKit||Ext.isGecko?"auto":"scroll");var d=c.offsetWidth;b.remove();a=e-d+2}return a},combine:function(){var d=arguments,e=d.length,b=[];for(var c=0;c<e;c++){var a=d[c];if(Ext.isArray(a))b=b.concat(a);else if(a.length!==undefined&&!a.substr)b=b.concat(Array.prototype.slice.call(a,0));else b.push(a)}return b},copyTo:function(b,c,a){if(typeof a=="string")a=a.split(/[,;\s]/);Ext.each(a,function(a){if(c.hasOwnProperty(a))b[a]=c[a]},this);return b},destroy:function(){Ext.each(arguments,function(a){if(a)if(Ext.isArray(a))this.destroy.apply(this,a);else if(typeof a.destroy=="function")a.destroy();else if(a.dom)a.remove()},this)},destroyMembers:function(c){for(var a=1,b=arguments,d=b.length;a<d;a++){Ext.destroy(c[b[a]]);delete c[b[a]]}},clean:function(b){var a=[];Ext.each(b,function(b){if(!!b)a.push(b)});return a},unique:function(c){var a=[],b={};Ext.each(c,function(c){if(!b[c])a.push(c);b[c]=true});return a},flatten:function(c){var b=[];function a(c){Ext.each(c,function(c){if(Ext.isArray(c))a(c);else b.push(c)});return b}return a(c)},min:function(c,b){var a=c[0];b=b||function(b,a){return b<a?-1:1};Ext.each(c,function(c){a=b(a,c)==-1?a:c});return a},max:function(c,b){var a=c[0];b=b||function(b,a){return b>a?1:-1};Ext.each(c,function(c){a=b(a,c)==1?a:c});return a},mean:function(a){return a.length>0?Ext.sum(a)/a.length:undefined},sum:function(b){var a=0;Ext.each(b,function(b){a+=b});return a},partition:function(c,a){var b=[[],[]];Ext.each(c,function(c,e,d){b[a&&a(c,e,d)||!a&&c?0:1].push(c)});return b},invoke:function(c,b){var a=[],d=Array.prototype.slice.call(arguments,2);Ext.each(c,function(c){if(c&&typeof c[b]=="function")a.push(c[b].apply(c,d));else a.push(undefined)});return a},pluck:function(b,c){var a=[];Ext.each(b,function(b){a.push(b[c])});return a},zip:function(){var f=Ext.partition(arguments,function(a){return typeof a!="function"}),c=f[0],e=f[1][0],g=Ext.max(Ext.pluck(c,"length")),b=[];for(var a=0;a<g;a++){b[a]=[];if(e)b[a]=e.apply(e,Ext.pluck(c,a));else for(var d=0,h=c.length;d<h;d++)b[a].push(c[d][a])}return b},getCmp:function(a){return Ext.ComponentMgr.get(a)},useShims:b.isIE6||b.isMac&&b.isGecko2,type:function(a){if(a===undefined||a===null)return false;if(a.htmlElement)return "element";var b=typeof a;if(b=="object"&&a.nodeName)switch(a.nodeType){case 1:return "element";case 3:return /\S/.test(a.nodeValue)?"textnode":"whitespace"}if(b=="object"||b=="function"){switch(a.constructor){case Array:return "array";case RegExp:return "regexp";case Date:return "date"}if(typeof a.length=="number"&&typeof a.item=="function")return "nodelist"}return b},intercept:function(b,a,d,c){b[a]=b[a].createInterceptor(d,c)},callback:function(a,d,c,b){if(typeof a=="function")if(b)a.defer(b,d,c||[]);else a.apply(d,c||[])}}}());Ext.apply(Function.prototype,{createSequence:function(a,b){var c=this;return typeof a!="function"?this:function(){var d=c.apply(this||window,arguments);a.apply(b||this||window,arguments);return d}}});Ext.applyIf(String,{escape:function(a){return a.replace(/('|\\)/g,"\\$1")},leftPad:function(d,c,b){var a=String(d);if(!b)b=" ";while(a.length<c)a=b+a;return a}});String.prototype.toggle=function(a,b){return this==a?b:a};String.prototype.trim=function(){var a=/^\s+|\s+$/g;return function(){return this.replace(a,"")}}();Date.prototype.getElapsed=function(a){return Math.abs((a||new Date).getTime()-this.getTime())};Ext.applyIf(Number.prototype,{constrain:function(b,a){return Math.min(Math.max(this,b),a)}});Ext.lib.Dom.getRegion=function(a){return Ext.lib.Region.getRegion(a)};Ext.lib.Region=function(c,e,d,b){var a=this;a.top=c;a[1]=c;a.right=e;a.bottom=d;a.left=b;a[0]=b};Ext.lib.Region.prototype={contains:function(b){var a=this;return b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom},getArea:function(){var a=this;return (a.bottom-a.top)*(a.right-a.left)},intersect:function(b){var a=this,e=Math.max(a.top,b.top),f=Math.min(a.right,b.right),c=Math.min(a.bottom,b.bottom),d=Math.max(a.left,b.left);if(c>=e&&f>=d)return new Ext.lib.Region(e,f,c,d)},union:function(b){var a=this,e=Math.min(a.top,b.top),f=Math.max(a.right,b.right),c=Math.max(a.bottom,b.bottom),d=Math.min(a.left,b.left);return new Ext.lib.Region(e,f,c,d)},constrainTo:function(b){var a=this;a.top=a.top.constrain(b.top,b.bottom);a.bottom=a.bottom.constrain(b.top,b.bottom);a.left=a.left.constrain(b.left,b.right);a.right=a.right.constrain(b.left,b.right);return a},adjust:function(d,c,b,e){var a=this;a.top+=d;a.left+=c;a.right+=e;a.bottom+=b;return a}};Ext.lib.Region.getRegion=function(b){var a=Ext.lib.Dom.getXY(b),e=a[1],f=a[0]+b.offsetWidth,c=a[1]+b.offsetHeight,d=a[0];return new Ext.lib.Region(e,f,c,d)};Ext.lib.Point=function(b,c){if(Ext.isArray(b)){c=b[1];b=b[0]}var a=this;a.x=a.right=a.left=a[0]=b;a.y=a.top=a.bottom=a[1]=c};Ext.lib.Point.prototype=new Ext.lib.Region;Ext.apply(Ext.DomHelper,function(){var c,d="afterbegin",g="afterend",h="beforebegin",f="beforeend",e=/tag|children|cn|html$/i;function b(b,f,h,i,e,g){b=Ext.getDom(b);var d;if(c.useDom){d=a(f,null);if(g)b.appendChild(d);else(e=="firstChild"?b:b.parentNode).insertBefore(d,b[e]||b)}else d=Ext.DomHelper.insertHtml(i,b,Ext.DomHelper.createHtml(f));return h?Ext.get(d,true):d}function a(b,j){var c,h=document,i,d,f,k;if(Ext.isArray(b)){c=h.createDocumentFragment();for(var g=0,l=b.length;g<l;g++)a(b[g],c)}else if(typeof b=="string")c=h.createTextNode(b);else{c=h.createElement(b.tag||"div");i=!!c.setAttribute;for(var d in b)if(!e.test(d)){f=b[d];if(d=="cls")c.className=f;else if(i)c.setAttribute(d,f);else c[d]=f}Ext.DomHelper.applyStyles(c,b.style);if(k=b.children||b.cn)a(k,c);else if(b.html)c.innerHTML=b.html}if(j)j.appendChild(c);return c}c={createTemplate:function(b){var a=Ext.DomHelper.createHtml(b);return new Ext.Template(a)},useDom:false,insertBefore:function(a,d,c){return b(a,d,c,h)},insertAfter:function(a,d,c){return b(a,d,c,g,"nextSibling")},insertFirst:function(a,e,c){return b(a,e,c,d,"firstChild")},append:function(a,d,c){return b(a,d,c,f,"",true)},createDom:a};return c}());Ext.apply(Ext.Template.prototype,{disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,argsRe:/^\s*['"](.*)["']\s*$/,compileARe:/\\/g,compileBRe:/(\r\n|\n)/g,compileCRe:/'/g,applyTemplate:function(a){var b=this,d=b.disableFormats!==true,c=Ext.util.Format,e=b;if(b.compiled)return b.compiled(a);function f(l,g,i,f){if(i&&d)if(i.substr(0,5)=="this.")return e.call(i.substr(5),a[g],a);else{if(f){var k=b.argsRe;f=f.split(",");for(var h=0,j=f.length;h<j;h++)f[h]=f[h].replace(k,"$1");f=[a[g]].concat(f)}else f=[a[g]];return c[i].apply(c,f)}else return a[g]!==undefined?a[g]:""}return b.html.replace(b.re,f)},compile:function(){var me=this,fm=Ext.util.Format,useF=me.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(d,c,a,b){if(a&&useF){b=b?","+b:"";if(a.substr(0,5)!="this.")a="fm."+a+"(";else{a='this.call("'+a.substr(5)+'", ';b=", values"}}else{b="";a="(values['"+c+"'] == undefined ? '' : "}return "'"+sep+a+"values['"+c+"']"+b+")"+sep+"'"}if(Ext.isGecko)body="this.compiled = function(values){ return '"+me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn)+"';};";else{body=["this.compiled = function(values){ return ['"];body.push(me.html.replace(me.compileARe,"\\\\").replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return me},call:function(c,b,a){return this[c](b,a)}});Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.util.Functions={createInterceptor:function(b,a,c){var d=b;if(!Ext.isFunction(a))return b;else return function(){var d=this,e=arguments;a.target=d;a.method=b;return a.apply(c||d||window,e)!==false?b.apply(d||window,e):null}},createDelegate:function(c,d,b,a){if(!Ext.isFunction(c))return c;return function(){var e=b||arguments;if(a===true){e=Array.prototype.slice.call(arguments,0);e=e.concat(b)}else if(Ext.isNumber(a)){e=Array.prototype.slice.call(arguments,0);var f=[a,0].concat(b);Array.prototype.splice.apply(e,f)}return c.apply(d||window,e)}},defer:function(a,b,e,d,c){a=Ext.util.Functions.createDelegate(a,e,d,c);if(b>0)return setTimeout(a,b);a();return 0},createSequence:function(b,a,c){if(!Ext.isFunction(a))return b;else return function(){var d=b.apply(this||window,arguments);a.apply(c||this||window,arguments);return d}}};Ext.defer=Ext.util.Functions.defer;Ext.createInterceptor=Ext.util.Functions.createInterceptor;Ext.createSequence=Ext.util.Functions.createSequence;Ext.createDelegate=Ext.util.Functions.createDelegate;Ext.apply(Ext.util.Observable.prototype,function(){function a(e){var a=(this.methodEvents=this.methodEvents||{})[e],c,b,d,g=this;if(!a){this.methodEvents[e]=a={};a.originalFn=this[e];a.methodName=e;a.before=[];a.after=[];var f=function(f,e,a){if((b=f.apply(e||g,a))!==undefined)if(typeof b=="object"){if(b.returnValue!==undefined)c=b.returnValue;else c=b;d=!!b.cancel}else if(b===false)d=true;else c=b};this[e]=function(){var i=Array.prototype.slice.call(arguments,0),e;c=b=undefined;d=false;for(var h=0,j=a.before.length;h<j;h++){e=a.before[h];f(e.fn,e.scope,i);if(d)return c}if((b=a.originalFn.apply(g,i))!==undefined)c=b;for(var h=0,j=a.after.length;h<j;h++){e=a.after[h];f(e.fn,e.scope,i);if(d)return c}return c}}return a}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(f,e,d){var b=this.getMethodEvent(f);for(var a=0,c=b.before.length;a<c;a++)if(b.before[a].fn==e&&b.before[a].scope==d){b.before.splice(a,1);return}for(var a=0,c=b.after.length;a<c;a++)if(b.after[a].fn==e&&b.after[a].scope==d){b.after.splice(a,1);return}},relayEvents:function(g,d){var a=this;function f(b){return function(){return a.fireEvent.apply(a,[b].concat(Array.prototype.slice.call(arguments,0)))}}for(var c=0,e=d.length;c<e;c++){var b=d[c];a.events[b]=a.events[b]||true;g.on(b,f(b),a)}},enableBubble:function(a){var e=this;if(!Ext.isEmpty(a)){a=Ext.isArray(a)?a:Array.prototype.slice.call(arguments,0);for(var d=0,f=a.length;d<f;d++){var b=a[d];b=b.toLowerCase();var c=e.events[b]||true;if(typeof c=="boolean"){c=new Ext.util.Event(e,b);e.events[b]=c}c.bubble=true}}}}}());Ext.util.Observable.capture=function(a,c,b){a.fireEvent=a.fireEvent.createInterceptor(c,b)};Ext.util.Observable.observeClass=function(a,b){if(a){if(!a.fireEvent){Ext.apply(a,new Ext.util.Observable);Ext.util.Observable.capture(a.prototype,a.fireEvent,a)}if(typeof b=="object")a.on(b);return a}};Ext.apply(Ext.EventManager,function(){var a,h,d,c,b=Ext.lib.Dom,i=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,g=0,f=0,e=Ext.isWebKit?Ext.num(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1])>=525:!(Ext.isGecko&&!Ext.isWindows||Ext.isOpera);return {doResizeEvent:function(){var d=b.getViewHeight(),c=b.getViewWidth();if(f!=d||g!=c)a.fire(g=c,f=d)},onWindowResize:function(d,c,b){if(!a){a=new Ext.util.Event;h=new Ext.util.DelayedTask(this.doResizeEvent);Ext.EventManager.on(window,"resize",this.fireWindowResize,this)}a.addListener(d,c,b)},fireWindowResize:function(){if(a)h.delay(100)},onTextResize:function(f,e,b){if(!d){d=new Ext.util.Event;var a=new Ext.Element(document.createElement("div"));a.dom.className="x-text-resize";a.dom.innerHTML="X";a.appendTo(document.body);c=a.dom.offsetHeight;setInterval(function(){if(a.dom.offsetHeight!=c)d.fire(c,c=a.dom.offsetHeight)},this.textResizeInterval)}d.addListener(f,e,b)},removeResizeListener:function(c,b){if(a)a.removeListener(c,b)},fireResize:function(){if(a)a.fire(b.getViewWidth(),b.getViewHeight())},textResizeInterval:50,ieDeferSrc:false,getKeyEvent:function(){return e?"keydown":"keypress"},useKeydown:e}}());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<=46},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])},hasModifier:function(){return this.ctrlKey||this.altKey||this.shiftKey}});Ext.Element.addMethods({swallowEvent:function(b,d){var a=this;function c(a){a.stopPropagation();if(d)a.preventDefault()}if(Ext.isArray(b)){Ext.each(b,function(b){a.on(b,c)});return a}a.on(b,c);return a},relayEvent:function(a,b){this.on(a,function(c){b.fireEvent(a,c)})},clean:function(e){var c=this,b=c.dom,a=b.firstChild,f=-1;if(Ext.Element.data(b,"isCleaned")&&e!==true)return c;while(a){var d=a.nextSibling;if(a.nodeType==3&&!/\S/.test(a.nodeValue))b.removeChild(a);else a.nodeIndex=++f;a=d}Ext.Element.data(b,"isCleaned",true);return c},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(a,d,b){if(!this.dom)return this;a=a||"";if(d!==true){this.dom.innerHTML=a;if(typeof b=="function")b();return this}var c=Ext.id(),e=this.dom;a+='<span id="'+c+'"></span>';Ext.lib.Event.onAvailable(c,function(){var i=document,m=i.getElementsByTagName("head")[0],n=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,l=/\ssrc=([\'\"])(.*?)\1/i,k=/\stype=([\'\"])(.*?)\1/i,d,g,f,e,j,h;while(d=n.exec(a)){g=d[1];f=g?g.match(l):false;if(f&&f[2]){h=i.createElement("script");h.src=f[2];e=g.match(k);if(e&&e[2])h.type=e[2];m.appendChild(h)}else if(d[2]&&d[2].length>0)if(window.execScript)window.execScript(d[2]);else window.eval(d[2])}j=i.getElementById(c);if(j)Ext.removeNode(j);if(typeof b=="function")b()});e.innerHTML=a.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},removeAllListeners:function(){this.removeAnchor();Ext.EventManager.removeAll(this.dom);return this},createProxy:function(a,d,e){a=typeof a=="object"?a:{tag:"div",cls:a};var b=this,c=d?Ext.DomHelper.append(d,a,true):Ext.DomHelper.insertBefore(b.dom,a,true);if(e&&b.setBox&&b.getBox)c.setBox(b.getBox());return c}});Ext.Element.prototype.getUpdateManager=Ext.Element.prototype.getUpdater;Ext.Element.addMethods({getAnchorXY:function(g,j,f){g=(g||"tl").toLowerCase();f=f||{};var c=this,e=c.dom==document.body||c.dom==document,d=f.width||e?Ext.lib.Dom.getViewWidth():c.getWidth(),b=f.height||e?Ext.lib.Dom.getViewHeight():c.getHeight(),h,a=Math.round,i=c.getXY(),k=c.getScroll(),n=e?k.left:!j?i[0]:0,m=e?k.top:!j?i[1]:0,l={c:[a(d*.5),a(b*.5)],t:[a(d*.5),0],l:[0,a(b*.5)],r:[d,a(b*.5)],b:[a(d*.5),b],tl:[0,0],bl:[0,b],br:[d,b],tr:[d,0]};h=l[g];return [h[0]+n,h[1]+m]},anchorTo:function(g,j,h,f,c,k){var b=this,d=b.dom,e=!Ext.isEmpty(c),a=function(){Ext.fly(d).alignTo(g,j,h,f);Ext.callback(k,Ext.fly(d))},i=this.getAnchor();this.removeAnchor();Ext.apply(i,{fn:a,scroll:e});Ext.EventManager.onWindowResize(a,null);if(e)Ext.EventManager.on(window,"scroll",a,null,{buffer:!isNaN(c)?c:50});a.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,b=this.dom;if(!b)return;var a=c(b,"_anchor");if(!a)a=c(b,"_anchor",{});return a},getAlignToXY:function(b,a,h){b=Ext.get(b);if(!b||!b.dom)throw"Element.alignToXY with an element that doesn't exist";h=h||[0,0];a=(!a||a=="?"?"tl-bl?":!/-/.test(a)&&a!==""?"tl-"+a:a||"tl-bl").toLowerCase();var m=this,C=m.dom,u,t,d,c,n,l,g,B=Ext.lib.Dom.getViewWidth()-10,w=Ext.lib.Dom.getViewHeight()-10,p,q,r,s,v,o,z=document,y=z.documentElement,A=z.body,k=(y.scrollLeft||A.scrollLeft||0)+5,j=(y.scrollTop||A.scrollTop||0)+5,x=false,f="",e="",i=a.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!i)throw"Element.alignTo with an invalid alignment "+a;f=i[1];e=i[2];x=!!i[3];u=m.getAnchorXY(f,true);t=b.getAnchorXY(e,false);d=t[0]-u[0]+h[0];c=t[1]-u[1]+h[1];if(x){n=m.getWidth();l=m.getHeight();g=b.getRegion();p=f.charAt(0);q=f.charAt(f.length-1);r=e.charAt(0);s=e.charAt(e.length-1);v=p=="t"&&r=="b"||p=="b"&&r=="t";o=q=="r"&&s=="l"||q=="l"&&s=="r";if(d+n>B+k)d=o?g.left-n:B+k-n;if(d<k)d=o?g.right:k;if(c+l>w+j)c=v?g.top-l:w+j-l;if(c<j)c=v?g.bottom:j}return [d,c]},alignTo:function(d,b,e,c){var a=this;return a.setXY(a.getAlignToXY(d,b,e),a.preanim&&!!c?a.preanim(arguments,3):false)},adjustForConstraints:function(a,b,c){return this.getConstrainToXY(b||document,false,c,a)||a},getConstrainToXY:function(){var a={top:0,left:0,bottom:0,right:0};return function(b,k,c,t){b=Ext.get(b);c=c?Ext.applyIf(c,a):a;var i,j,d=0,h=0;if(b.dom==document.body||b.dom==document){i=Ext.lib.Dom.getViewWidth();j=Ext.lib.Dom.getViewHeight()}else{i=b.dom.clientWidth;j=b.dom.clientHeight;if(!k){var s=b.getXY();d=s[0];h=s[1]}}var r=b.getScroll();d+=c.left+r.left;h+=c.top+r.top;i-=c.right;j-=c.bottom;var l=d+i,n=h+j,o=t||(!k?this.getXY():[this.getLeft(true),this.getTop(true)]),g=o[0],f=o[1],p=this.getConstrainOffset(),q=this.dom.offsetWidth+p,m=this.dom.offsetHeight+p,e=false;if(g+q>l){g=l-q;e=true}if(f+m>n){f=n-m;e=true}if(g<d){g=d;e=true}if(f<h){f=h;e=true}return e?[g,f]:false}}(),getConstrainOffset:function(){return 0},getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(a){return this.alignTo(a||document,"c-c")}});Ext.Element.addMethods({select:function(a,b){return Ext.Element.select(a,b,this.dom)}});Ext.apply(Ext.Element.prototype,function(){var c=Ext.getDom,b=Ext.get,a=Ext.DomHelper;return {insertSibling:function(e,j,h){var f=this,d,g=(j||"before").toLowerCase()=="after",i;if(Ext.isArray(e)){i=f;Ext.each(e,function(a){d=Ext.fly(i,"_internal").insertSibling(a,j,h);if(g)i=d});return d}e=e||{};if(e.nodeType||e.dom){d=f.dom.parentNode.insertBefore(c(e),g?f.dom.nextSibling:f.dom);if(!h)d=b(d)}else if(g&&!f.dom.nextSibling)d=a.append(f.dom.parentNode,e,!h);else d=a[g?"insertAfter":"insertBefore"](f.dom,e,!h);return d}}}());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+\.?\d+)px/;return {applyStyles:function(a){Ext.DomHelper.applyStyles(this.dom,a);return this},getStyles:function(){var a={};Ext.each(arguments,function(b){a[b]=this.getStyle(b)},this);return a},setOverflow:function(b){var a=this.dom;if(b=="auto"&&Ext.isMac&&Ext.isGecko2){a.style.overflow="hidden";(function(){a.style.overflow="auto"}).defer(1)}else a.style.overflow=b},boxWrap:function(a){a=a||"x-box";var b=Ext.get(this.insertHtml("beforeBegin","<div class='"+a+"'>"+String.format(Ext.Element.boxMarkup,a)+"</div>"));Ext.DomQuery.selectNode("."+a+"-mc",b.dom).appendChild(this.dom);return b},setSize:function(b,c,d){var a=this;if(typeof b=="object"){c=b.height;b=b.width}b=a.adjustWidth(b);c=a.adjustHeight(c);if(!d||!a.anim){a.dom.style.width=a.addUnits(b);a.dom.style.height=a.addUnits(c)}else a.anim({width:{to:b},height:{to:c}},a.preanim(arguments,2));return a},getComputedHeight:function(){var a=this,b=Math.max(a.dom.offsetHeight,a.dom.clientHeight);if(!b){b=parseFloat(a.getStyle("height"))||0;if(!a.isBorderBox())b+=a.getFrameWidth("tb")}return b},getComputedWidth:function(){var a=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!a){a=parseFloat(this.getStyle("width"))||0;if(!this.isBorderBox())a+=this.getFrameWidth("lr")}return a},getFrameWidth:function(a,b){return b&&this.isBorderBox()?0:this.getPadding(a)+this.getBorderWidth(a)},addClassOnOver:function(b){this.hover(function(){Ext.fly(this,a).addClass(b)},function(){Ext.fly(this,a).removeClass(b)});return this},addClassOnFocus:function(b){this.on("focus",function(){Ext.fly(this,a).addClass(b)},this.dom);this.on("blur",function(){Ext.fly(this,a).removeClass(b)},this.dom);return this},addClassOnClick:function(b){var c=this.dom;this.on("mousedown",function(){Ext.fly(c,a).addClass(b);var e=Ext.getDoc(),d=function(){Ext.fly(c,a).removeClass(b);e.removeListener("mouseup",d)};e.on("mouseup",d)});return this},getViewSize:function(){var c=document,a=this.dom,d=a==c||a==c.body;if(d){var b=Ext.lib.Dom;return {width:b.getViewWidth(),height:b.getViewHeight()}}else return {width:a.clientWidth,height:a.clientHeight}},getStyleSize:function(){var b=this,c,d,g=document,e=this.dom,h=e==g||e==g.body,a=e.style;if(h){var f=Ext.lib.Dom;return {width:f.getViewWidth(),height:f.getViewHeight()}}if(a.width&&a.width!="auto"){c=parseFloat(a.width);if(b.isBorderBox())c-=b.getFrameWidth("lr")}if(a.height&&a.height!="auto"){d=parseFloat(a.height);if(b.isBorderBox())d-=b.getFrameWidth("tb")}return {width:c||b.getWidth(true),height:d||b.getHeight(true)}},getSize:function(a){return {width:this.getWidth(a),height:this.getHeight(a)}},repaint:function(){var a=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.fly(a).removeClass("x-repaint")},1);return this},unselectable:function(){this.dom.unselectable="on";return this.swallowEvent("selectstart",true).applyStyles("-moz-user-select:none;-khtml-user-select:none;").addClass("x-unselectable")},getMargins:function(c){var a=this,b,e={t:"top",l:"left",r:"right",b:"bottom"},d={};if(!c){for(b in a.margins)d[e[b]]=parseFloat(a.getStyle(a.margins[b]))||0;return d}else return a.addStyles.call(a,c,a.margins)}}}());Ext.Element.addMethods({setBox:function(b,f,e){var a=this,c=b.width,d=b.height;if(f&&!a.autoBoxAdjust&&!a.isBorderBox()){c-=a.getBorderWidth("lr")+a.getPadding("lr");d-=a.getBorderWidth("tb")+a.getPadding("tb")}a.setBounds(b.x,b.y,c,d,a.animTest.call(a,arguments,e,2));return a},getBox:function(o,p){var a=this,b,j,m,d=a.getBorderWidth,f=a.getPadding,e,h,g,l;if(!p)b=a.getXY();else{j=parseInt(a.getStyle("left"),10)||0;m=parseInt(a.getStyle("top"),10)||0;b=[j,m]}var i=a.dom,n=i.offsetWidth,k=i.offsetHeight,c;if(!o)c={x:b[0],y:b[1],0:b[0],1:b[1],width:n,height:k};else{e=d.call(a,"l")+f.call(a,"l");h=d.call(a,"r")+f.call(a,"r");g=d.call(a,"t")+f.call(a,"t");l=d.call(a,"b")+f.call(a,"b");c={x:b[0]+e,y:b[1]+g,0:b[0]+e,1:b[1]+g,width:n-(e+h),height:k-(g+l)}}c.right=c.x+c.width;c.bottom=c.y+c.height;return c},move:function(d,a,l){var b=this,k=b.getXY(),e=k[0],c=k[1],h=[e-a,c],j=[e+a,c],g=[e,c-a],f=[e,c+a],i={l:h,left:h,r:j,right:j,t:g,top:g,up:g,b:f,bottom:f,down:f};d=d.toLowerCase();b.moveTo(i[d][0],i[d][1],b.animTest.call(b,arguments,l,2))},setLeftTop:function(d,c){var a=this,b=a.dom.style;b.left=a.addUnits(d);b.top=a.addUnits(c);return a},getRegion:function(){return Ext.lib.Dom.getRegion(this.dom)},setBounds:function(c,e,d,b,f){var a=this;if(!f||!a.anim){a.setSize(d,b);a.setLocation(c,e)}else a.anim({points:{to:[c,e]},width:{to:a.adjustWidth(d)},height:{to:a.adjustHeight(b)}},a.preanim(arguments,4),"motion");return a},setRegion:function(a,b){return this.setBounds(a.left,a.top,a.right-a.left,a.bottom-a.top,this.animTest.call(this,arguments,b,1))}});Ext.Element.addMethods({scrollTo:function(g,c,f){var d=/top/i.test(g),a=this,e=a.dom,b;if(!f||!a.anim){b="scroll"+(d?"Top":"Left");e[b]=c}else{b="scroll"+(d?"Left":"Top");a.anim({scroll:{to:d?[e[b],c]:[c,e[b]]}},a.preanim(arguments,2),"scroll")}return a},scrollIntoView:function(k,l){var a=Ext.getDom(k)||Ext.getBody().dom,b=this.dom,g=this.getOffsetsTo(a),d=g[0]+a.scrollLeft,e=g[1]+a.scrollTop,i=e+b.offsetHeight,f=d+b.offsetWidth,c=a.clientHeight,h=parseInt(a.scrollTop,10),j=parseInt(a.scrollLeft,10),m=h+c,n=j+a.clientWidth;if(b.offsetHeight>c||e<h)a.scrollTop=e;else if(i>m)a.scrollTop=i-c;a.scrollTop=a.scrollTop;if(l!==false){if(b.offsetWidth>a.clientWidth||d<j)a.scrollLeft=d;else if(f>n)a.scrollLeft=f-a.clientWidth;a.scrollLeft=a.scrollLeft}return this},scrollChildIntoView:function(b,a){Ext.fly(b,"_scrollChildIntoView").scrollIntoView(this,a)},scroll:function(c,d){if(!this.isScrollable())return false;var a=this.dom,g=a.scrollLeft,h=a.scrollTop,l=a.scrollWidth,k=a.scrollHeight,j=a.clientWidth,i=a.clientHeight,f=false,e,b={l:Math.min(g+d,l-j),r:e=Math.max(g-d,0),t:Math.max(h-d,0),b:Math.min(h+d,k-i)};b.d=b.b;b.u=b.t;c=c.substr(0,1);if((e=b[c])>-1){f=true;this.scrollTo(c=="l"||c=="r"?"left":"top",e,this.preanim(arguments,2))}return f}});Ext.Element.addMethods(function(){var g="visibility",b="display",f="hidden",e="none",c="x-masked",d="x-masked-relative",a=Ext.Element.data;return {isVisible:function(d){var c=!this.isStyle(g,f)&&!this.isStyle(b,e),a=this.dom.parentNode;if(d!==true||!c)return c;while(a&&!/^body/i.test(a.tagName)){if(!Ext.fly(a,"_isVisible").isVisible())return false;a=a.parentNode}return true},isDisplayed:function(){return !this.isStyle(b,e)},enableDisplayMode:function(b){this.setVisibilityMode(Ext.Element.DISPLAY);if(!Ext.isEmpty(b))a(this.dom,"originalDisplay",b);return this},mask:function(j,k){var e=this,b=e.dom,l=Ext.DomHelper,i="ext-el-mask-msg",h,g;if(!(/^body/i.test(b.tagName)&&e.getStyle("position")=="static"))e.addClass(d);if(h=a(b,"maskMsg"))h.remove();if(h=a(b,"mask"))h.remove();g=l.append(b,{cls:"ext-el-mask"},true);a(b,"mask",g);e.addClass(c);g.setDisplayed(true);if(typeof j=="string"){var f=l.append(b,{cls:i,cn:{tag:"div"}},true);a(b,"maskMsg",f);f.dom.className=k?i+" "+k:i;f.dom.firstChild.innerHTML=j;f.setDisplayed(true);f.center(e)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&e.getStyle("height")=="auto")g.setSize(undefined,e.getHeight());return g},unmask:function(){var g=this,b=g.dom,e=a(b,"mask"),f=a(b,"maskMsg");if(e){if(f){f.remove();a(b,"maskMsg",undefined)}e.remove();a(b,"mask",undefined);g.removeClass([c,d])}},isMasked:function(){var b=a(this.dom,"mask");return b&&b.isVisible()},createShim:function(){var a=document.createElement("iframe"),b;a.frameBorder="0";a.className="ext-shim";a.src=Ext.SSL_SECURE_URL;b=Ext.get(this.dom.parentNode.insertBefore(a,this.dom));b.autoBoxAdjust=false;return b}}}());Ext.Element.addMethods({addKeyListener:function(a,d,c){var b;if(typeof a!="object"||Ext.isArray(a))b={key:a,fn:d,scope:c};else b={key:a.key,shift:a.shift,ctrl:a.ctrl,alt:a.alt,fn:d,scope:c};return new Ext.KeyMap(this,b)},addKeyMap:function(a){return new Ext.KeyMap(this,a)}});Ext.CompositeElementLite.importElementMethods();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(a){c.push(Ext.get(a))});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(d,e){var c=this,b=this.elements,a;Ext.each(d,function(d){if(a=b[d]||b[d=c.indexOf(d)]){if(e)if(a.dom)a.remove();else Ext.removeNode(a);b.splice(d,1)}});return this}});Ext.CompositeElement=Ext.extend(Ext.CompositeElementLite,{constructor:function(b,a){this.elements=[];this.add(b,a)},getElement:function(a){return a},transformElement:function(a){return Ext.get(a)}});Ext.Element.select=function(a,d,c){var b;if(typeof a=="string")b=Ext.Element.selectorFunction(a,c);else if(a.length!==undefined)b=a;else throw"Invalid selector";return d===true?new Ext.CompositeElement(b):new Ext.CompositeElementLite(b)};Ext.select=Ext.Element.select;Ext.UpdateManager=Ext.Updater=Ext.extend(Ext.util.Observable,function(){var a="beforeupdate",e="update",d="failure";function c(c){var a=this;a.transaction=null;if(c.argument.form&&c.argument.reset)try{c.argument.form.reset()}catch(d){}if(a.loadScripts)a.renderer.render(a.el,c,a,b.createDelegate(a,[c]));else{a.renderer.render(a.el,c,a);b.call(a,c)}}function b(a,b,c){this.fireEvent(b||e,this.el,a);if(Ext.isFunction(a.argument.callback))a.argument.callback.call(a.argument.scope,this.el,Ext.isEmpty(c)?true:false,a,a.argument.options)}function f(a){b.call(this,a,d,!!(this.transaction=null))}return {constructor:function(c,f){var b=this;c=Ext.get(c);if(!f&&c.updateManager)return c.updateManager;b.el=c;b.defaultUrl=null;b.addEvents(a,e,d);Ext.apply(b,Ext.Updater.defaults);b.transaction=null;b.refreshDelegate=b.refresh.createDelegate(b);b.updateDelegate=b.update.createDelegate(b);b.formUpdateDelegate=(b.formUpdate||function(){}).createDelegate(b);b.renderer=b.renderer||b.getDefaultRenderer();Ext.Updater.superclass.constructor.call(b)},setRenderer:function(a){this.renderer=a},getRenderer:function(){return this.renderer},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer},setDefaultUrl:function(a){this.defaultUrl=a},getEl:function(){return this.el},update:function(e,g,j,i){var d=this,b,h;if(d.fireEvent(a,d.el,e,g)!==false){if(Ext.isObject(e)){b=e;e=b.url;g=g||b.params;j=j||b.callback;i=i||b.discardUrl;h=b.scope;if(!Ext.isEmpty(b.nocache))d.disableCaching=b.nocache;if(!Ext.isEmpty(b.text))d.indicatorText='<div class="loading-indicator">'+b.text+"</div>";if(!Ext.isEmpty(b.scripts))d.loadScripts=b.scripts;if(!Ext.isEmpty(b.timeout))d.timeout=b.timeout}d.showLoading();if(!i)d.defaultUrl=e;if(Ext.isFunction(e))e=e.call(d);var k=Ext.apply({},{url:e,params:Ext.isFunction(g)&&h?g.createDelegate(h):g,success:c,failure:f,scope:d,callback:undefined,timeout:d.timeout*1e3,disableCaching:d.disableCaching,argument:{options:b,url:e,form:null,callback:j,scope:h||window,params:g}},b);d.transaction=Ext.Ajax.request(k)}},formUpdate:function(e,d,g,h){var b=this;if(b.fireEvent(a,b.el,e,d)!==false){if(Ext.isFunction(d))d=d.call(b);e=Ext.getDom(e);b.transaction=Ext.Ajax.request({form:e,url:d,success:c,failure:f,scope:b,timeout:b.timeout*1e3,argument:{url:d,form:e,callback:h,reset:g}});b.showLoading.defer(1,b)}},startAutoRefresh:function(f,b,c,d,e){var a=this;if(e)a.update(b||a.defaultUrl,c,d,true);if(a.autoRefreshProcId)clearInterval(a.autoRefreshProcId);a.autoRefreshProcId=setInterval(a.update.createDelegate(a,[b||a.defaultUrl,c,d,true]),f*1e3)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return !!this.autoRefreshProcId},showLoading:function(){if(this.showLoadIndicator)this.el.dom.innerHTML=this.indicatorText},abort:function(){if(this.transaction)Ext.Ajax.abort(this.transaction)},isUpdating:function(){return this.transaction?Ext.Ajax.isLoading(this.transaction):false},refresh:function(a){if(this.defaultUrl)this.update(this.defaultUrl,null,a,true)}}}());Ext.Updater.defaults={timeout:30,disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>',loadScripts:false,sslBlankUrl:Ext.SSL_SECURE_URL};Ext.Updater.updateElement=function(d,c,e,a){var b=Ext.get(d).getUpdater();Ext.apply(b,a);b.update(c,e,a?a.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(c,a,b,d){c.update(a.responseText,b.loadScripts,d)}};(function(){Date.useStrict=false;function b(b){var a=Array.prototype.slice.call(arguments,1);return b.replace(/\{(\d+)\}/g,function(c,b){return a[b]})}Date.formatCodeToRegex=function(c,d){var a=Date.parseCodes[c];if(a){a=typeof a=="function"?a():a;Date.parseCodes[c]=a}return a?Ext.applyIf({c:a.c?b(a.c,d||"{0}"):a.c},a):{g:0,c:null,s:Ext.escapeRe(c)}};var a=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{M$:function(b){var c=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/"),a=(b||"").match(c);return a?new Date(((a[1]||"")+a[2])*1):null}},parseRegexes:[],formatFunctions:{M$:function(){return "\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(a){return Date.monthNames[a].substring(0,3)},getShortDayName:function(a){return Date.dayNames[a].substring(0,3)},getMonthNumber:function(a){return Date.monthNumbers[a.substring(0,1).toUpperCase()+a.substring(1,3).toLowerCase()]},formatCodes:{d:"String.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"String.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"String.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"String.leftPad(this.getHours(), 2, '0')",i:"String.leftPad(this.getMinutes(), 2, '0')",s:"String.leftPad(this.getSeconds(), 2, '0')",u:"String.leftPad(this.getMilliseconds(), 3, '0')",O:"this.getGMTOffset()",P:"this.getGMTOffset(true)",T:"this.getTimezone()",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var d="Y-m-dTH:i:sP",b=[],a=0,e=d.length;a<e;++a){var c=d.charAt(a);b.push(c=="T"?"'T'":Date.getFormatCode(c))}return b.join(" + ")},U:"Math.round(this.getTime() / 1000)"},isValid:function(b,g,h,f,d,e,c){f=f||0;d=d||0;e=e||0;c=c||0;var a=(new Date(b<100?100:b,g-1,h,f,d,e,c)).add(Date.YEAR,b<100?b-100:0);return b==a.getFullYear()&&g==a.getMonth()+1&&h==a.getDate()&&f==a.getHours()&&d==a.getMinutes()&&e==a.getSeconds()&&c==a.getMilliseconds()},parseDate:function(d,a,b){var c=Date.parseFunctions;if(c[a]==null)Date.createParser(a);return c[a](d,Ext.isDefined(b)?b:Date.useStrict)},getFormatCode:function(b){var a=Date.formatCodes[b];if(a){a=typeof a=="function"?a():a;Date.formatCodes[b]=a}return a||"'"+String.escape(b)+"'"},createFormat:function(e){var d=[],a=false,b="";for(var c=0;c<e.length;++c){b=e.charAt(c);if(!a&&b=="\\")a=true;else if(a){a=false;d.push("'"+String.escape(b)+"'")}else d.push(Date.getFormatCode(b))}Date.formatFunctions[e]=new Function("return "+d.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 = Ext.num(y, Ext.num(def.y, dt.getFullYear()));","m = Ext.num(m, Ext.num(def.m - 1, dt.getMonth()));","d = Ext.num(d, Ext.num(def.d, dt.getDate()));","h  = Ext.num(h, Ext.num(def.h, dt.getHours()));","i  = Ext.num(i, Ext.num(def.i, dt.getMinutes()));","s  = Ext.num(s, Ext.num(def.s, dt.getSeconds()));","ms = Ext.num(ms, Ext.num(def.ms, dt.getMilliseconds()));","if(z >= 0 && y >= 0){","v = new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms).add(Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (v.isLeapYear() && z <= 365))? v.add(Date.DAY, z) : null);","}else if(strict === true && !Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = new Date(y < 100 ? 100 : y, m, d, h, i, s, ms).add(Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(i){var j=Date.parseRegexes.length,l=1,k=[],h=[],f=false,e="";for(var g=0;g<i.length;++g){e=i.charAt(g);if(!f&&e=="\\")f=true;else if(f){f=false;h.push(String.escape(e))}else{var d=a(e,l);l+=d.g;h.push(d.s);if(d.g&&d.c)k.push(d.c)}}Date.parseRegexes[j]=new RegExp("^"+h.join("")+"$","i");Date.parseFunctions[i]=new Function("input","strict",b(c,j,k.join("")))}}(),parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},D:function(){for(var b=[],a=0;a<7;b.push(Date.getShortDayName(a)),++a);return {g:0,c:null,s:"(?:"+b.join("|")+")"}},l:function(){return {g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:0,c:null,s:"(?:\\d{2})"},F:function(){return {g:1,c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",s:"("+Date.monthNames.join("|")+")"}},M:function(){for(var c=[],b=0;b<12;c.push(Date.getShortMonthName(b)),++b);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 (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)"},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)"},g:function(){return 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 d=[],b=[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 c=0,e=b.length;c<e;++c)d.push(b[c].c);return {g:1,c:d.join(""),s:[b[0].s,"(?:","-",b[1].s,"(?:","-",b[2].s,"(?:","(?:T| )?",b[3].s,":",b[4].s,"(?::",b[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 c=0,a=this.clone(),d=this.getMonth(),b;for(b=0,a.setDate(1),a.setMonth(0);b<d;a.setMonth(++b))c+=a.getDaysInMonth();return c+this.getDate()-1},getWeekOfYear:function(){var a=8.64e7,b=7*a;return function(){var d=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/a,c=Math.floor(d/7),e=(new Date(c*b)).getUTCFullYear();return c-Math.floor(Date.UTC(e,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(d){if(d)return this.clone().clearTime();var b=this.getDate();this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);if(this.getDate()!=b){for(var a=1,c=this.add(Date.HOUR,a);c.getDate()!=b;a++,c=this.add(Date.HOUR,a));this.setDate(b);this.setHours(c.getHours())}return this},add:function(d,b){var a=this.clone();if(!d||b===0)return a;switch(d.toLowerCase()){case Date.MILLI:a.setMilliseconds(this.getMilliseconds()+b);break;case Date.SECOND:a.setSeconds(this.getSeconds()+b);break;case Date.MINUTE:a.setMinutes(this.getMinutes()+b);break;case Date.HOUR:a.setHours(this.getHours()+b);break;case Date.DAY:a.setDate(this.getDate()+b);break;case Date.MONTH:var c=this.getDate();if(c>28)c=Math.min(c,this.getFirstDateOfMonth().add("mo",b).getLastDateOfMonth().getDate());a.setDate(c);a.setMonth(this.getMonth()+b);break;case Date.YEAR:a.setFullYear(this.getFullYear()+b)}return a},between:function(c,b){var a=this.getTime();return c.getTime()<=a&&a<=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(a){if(a<=-1){var b=Math.ceil(-a),d=Math.ceil(b/12),c=b%12?12-b%12:0;this.setFullYear(this.getFullYear()-d);return this._xMonth(c)}else return this._xMonth(a)},setDate:function(a){return this.setTime(this.getTime()-(this.getDate()-a)*8.64e7)}});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(a,b){if(arguments.length==1){b=arguments[0];a=this.getKey(b)}if(typeof a!="undefined"&&a!==null){var c=this.map[a];if(typeof c!="undefined")return this.replace(a,b);this.map[a]=b}this.length++;this.items.push(b);this.keys.push(a);this.fireEvent("add",this.length-1,b,a);return b},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(a){if(arguments.length>1||Ext.isArray(a)){var d=arguments.length>1?arguments:a;for(var c=0,e=d.length;c<e;c++)this.add(d[c])}else for(var b in a)if(this.allowFunctions||typeof a[b]!="function")this.add(b,a[b])},each:function(e,d){var b=[].concat(this.items);for(var a=0,c=b.length;a<c;a++)if(e.call(d||b[a],b[a],a,c)===false)break},eachKey:function(d,c){for(var a=0,b=this.keys.length;a<b;a++)d.call(c||window,this.keys[a],this.items[a],a,b)},find:function(d,c){for(var a=0,b=this.items.length;a<b;a++)if(d.call(c||window,this.items[a],this.keys[a]))return this.items[a];return null},insert:function(c,a,b){if(arguments.length==2){b=arguments[1];a=this.getKey(b)}if(this.containsKey(a)){this.suspendEvents();this.removeKey(a);this.resumeEvents()}if(c>=this.length)return this.add(a,b);this.length++;this.items.splice(c,0,b);if(typeof a!="undefined"&&a!==null)this.map[a]=b;this.keys.splice(c,0,a);this.fireEvent("add",c,b,a);return b},remove:function(a){return this.removeAt(this.indexOf(a))},removeAt:function(a){if(a<this.length&&a>=0){this.length--;var c=this.items[a];this.items.splice(a,1);var b=this.keys[a];if(typeof b!="undefined")delete this.map[b];this.keys.splice(a,1);this.fireEvent("remove",c,b);return c}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(a){var b=this.map[a],c=b!==undefined?b:typeof a=="number"?this.items[a]:undefined;return typeof c!="function"||this.allowFunctions?c: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(f,h,e){var a,c,i=String(h).toUpperCase()=="DESC"?-1:1,b=[],g=this.keys,d=this.items;e=e||function(b,a){return b-a};for(a=0,c=d.length;a<c;a++)b[b.length]={key:g[a],value:d[a],index:a};b.sort(function(c,b){var a=e(c[f],b[f])*i;if(a===0)a=c.index<b.index?-1:1;return a});for(a=0,c=b.length;a<c;a++){d[a]=b[a].value;g[a]=b[a].key}this.fireEvent("sort",this)},sort:function(a,b){this._sort("value",a,b)},reorder:function(d){this.suspendEvents();var c=this.items,a=0,g=c.length,b=[],f=[],e;for(e in d)b[d[e]]=c[e];for(a=0;a<g;a++)if(d[a]==undefined)f.push(c[a]);for(a=0;a<g;a++)if(b[a]==undefined)b[a]=f.shift();this.clear();this.addAll(b);this.resumeEvents();this.fireEvent("sort",this)},keySort:function(a,b){this._sort("key",a,b||function(d,c){var b=String(d).toUpperCase(),a=String(c).toUpperCase();return b>a?1:b<a?-1:0})},getRange:function(d,b){var e=this.items;if(e.length<1)return [];d=d||0;b=Math.min(typeof b=="undefined"?this.length-1:b,this.length-1);var a,c=[];if(d<=b)for(a=d;a<=b;a++)c[c.length]=e[a];else for(a=d;a>=b;a--)c[c.length]=e[a];return c},filter:function(c,a,d,b){if(Ext.isEmpty(a,false))return this.clone();a=this.createValueMatcher(a,d,b);return this.filterBy(function(b){return b&&a.test(b[c])})},filterBy:function(g,f){var c=new Ext.util.MixedCollection;c.getKey=this.getKey;var d=this.keys,b=this.items;for(var a=0,e=b.length;a<e;a++)if(g.call(f||this,b[a],d[a]))c.add(d[a],b[a]);return c},findIndex:function(c,a,e,d,b){if(Ext.isEmpty(a,false))return -1;a=this.createValueMatcher(a,d,b);return this.findIndexBy(function(b){return b&&a.test(b[c])},null,e)},findIndexBy:function(f,e,g){var d=this.keys,b=this.items;for(var a=g||0,c=b.length;a<c;a++)if(f.call(e||this,b[a],d[a]))return a;return -1},createValueMatcher:function(a,e,c,d){if(!a.exec){var b=Ext.escapeRe;a=String(a);if(e===true)a=b(a);else{a="^"+b(a);if(d===true)a+="$"}a=new RegExp(a,c?"":"i")}return a},clone:function(){var b=new Ext.util.MixedCollection,e=this.keys,c=this.items;for(var a=0,d=c.length;a<d;a++)b.add(e[a],c[a]);b.getKey=this.getKey;return b}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.AbstractManager=Ext.extend(Object,{typeName:"type",constructor:function(a){Ext.apply(this,a||{});this.all=new Ext.util.MixedCollection;this.types={}},"get":function(a){return this.all.get(a)},register:function(a){this.all.add(a)},unregister:function(a){this.all.remove(a)},registerType:function(b,a){this.types[b]=a;a[this.typeName]=b},isRegistered:function(a){return this.types[a]!==undefined},create:function(a,d){var b=a[this.typeName]||a.type||d,c=this.types[b];if(c==undefined)throw new Error(String.format("The '{0}' type has not been registered with this manager",b));return new c(a)},onAvailable:function(d,c,b){var a=this.all;a.on("add",function(f,e){if(e.id==d){c.call(b||e,e);a.un("add",c,b)}})}});Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g,stripTagsRE=/<\/?[^>]+>/gi,stripScriptsRe=/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe=/\r?\n/g;return {ellipsis:function(a,b,e){if(a&&a.length>b)if(e){var c=a.substr(0,b-2),d=Math.max(c.lastIndexOf(" "),c.lastIndexOf("."),c.lastIndexOf("!"),c.lastIndexOf("?"));if(d==-1||d<b-15)return a.substr(0,b-3)+"...";else return c.substr(0,d)+"..."}else return a.substr(0,b-3)+"...";return a},undef:function(a){return a!==undefined?a:""},defaultValue:function(a,b){return a!==undefined&&a!==""?a:b},htmlEncode:function(a){return !a?a:String(a).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},htmlDecode:function(a){return !a?a:String(a).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")},trim:function(a){return String(a).replace(trimRe,"")},substr:function(c,b,a){return String(c).substr(b,a)},lowercase:function(a){return String(a).toLowerCase()},uppercase:function(a){return String(a).toUpperCase()},capitalize:function(a){return !a?a:a.charAt(0).toUpperCase()+a.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(a){a=Math.round((a-0)*100)/100;a=a==Math.floor(a)?a+".00":a*10==Math.floor(a*10)?a+"0":a;a=String(a);var c=a.split("."),b=c[0],e=c[1]?"."+c[1]:".00",d=/(\d+)(\d{3})/;while(d.test(b))b=b.replace(d,"$1,$2");a=b+e;if(a.charAt(0)=="-")return "-$"+a.substr(1);return "$"+a},date:function(a,b){if(!a)return "";if(!Ext.isDate(a))a=new Date(Date.parse(a));return a.dateFormat(b||"m/d/Y")},dateRenderer:function(a){return function(b){return Ext.util.Format.date(b,a)}},stripTags:function(a){return !a?a:String(a).replace(stripTagsRE,"")},stripScripts:function(a){return !a?a:String(a).replace(stripScriptsRe,"")},fileSize:function(a){if(a<1024)return a+" bytes";else if(a<1048576)return Math.round(a*10/1024)/10+" KB";else return Math.round(a*10/1048576)/10+" MB"},math:function(){var a={};return function(c,b){if(!a[b])a[b]=new Function("v","return v "+b+";");return a[b](c)}}(),round:function(c,a){var b=Number(c);if(typeof a=="number"){a=Math.pow(10,a);b=Math.round(c*a)/a}return b},number:function(a,b){if(!b)return a;a=Ext.num(a,NaN);if(isNaN(a))return "";var g=",",f=".",k=false,n=a<0;a=Math.abs(a);if(b.substr(b.length-2)=="/i"){b=b.substr(0,b.length-2);k=true;g=".";f=","}var m=b.indexOf(g)!=-1,c=(k?b.replace(/[^\d\,]/g,""):b.replace(/[^\d\.]/g,"")).split(f);if(1<c.length)a=a.toFixed(c[1].length);else if(2<c.length)throw"NumberFormatException: invalid format, formats should have no more than 1 period: "+b;else a=a.toFixed(0);var d=a.toString();c=d.split(".");if(m){var h=c[0],i=[],l=h.length,o=Math.floor(l/3),j=h.length%3||3,e;for(e=0;e<l;e+=j){if(e!=0)j=3;i[i.length]=h.substr(e,j);o-=1}d=i.join(g);if(c[1])d+=f+c[1]}else if(c[1])d=c[0]+f+c[1];return (n?"-":"")+b.replace(/[\d,?\.?]+/,d)},numberRenderer:function(a){return function(b){return Ext.util.Format.number(b,a)}},plural:function(c,b,a){return c+" "+(c==1?b:a?a:b+"s")},nl2br:function(a){return Ext.isEmpty(a)?"":a.replace(nl2brRe,"<br/>")}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var i=this,h=i.html,u=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,t=/^<tpl\b[^>]*?for="(.*?)"/,v=/^<tpl\b[^>]*?if="(.*?)"/,w=/^<tpl\b[^>]*?exec="(.*?)"/,e,n=0,c=[],d="values",f="parent",q="xindex",r="xcount",l="return ",g="with(values){ ";h=["<tpl>",h,"</tpl>"].join("");while(e=h.match(u)){var m=e[0].match(t),j=e[0].match(v),k=e[0].match(w),b=null,p=null,s=null,a=m&&m[1]?m[1]:"";if(j){b=j&&j[1]?j[1]:null;if(b)p=new Function(d,f,q,r,g+l+Ext.util.Format.htmlDecode(b)+"; }")}if(k){b=k&&k[1]?k[1]:null;if(b)s=new Function(d,f,q,r,g+Ext.util.Format.htmlDecode(b)+"; }")}if(a)switch(a){case ".":a=new Function(d,f,g+l+d+"; }");break;case "..":a=new Function(d,f,g+l+f+"; }");break;default:a=new Function(d,f,g+l+a+"; }")}c.push({id:n,target:a,exec:s,test:p,body:e[1]||""});h=h.replace(e[0],"{xtpl"+n+"}");++n}for(var o=c.length-1;o>=0;--o)i.compileTpl(c[o]);i.master=c[c.length-1];i.tpls=c};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(k,e,b,i,h){var c=this,j,a=c.tpls[k],d,g=[];if(a.test&&!a.test.call(c,e,b,i,h)||a.exec&&a.exec.call(c,e,b,i,h))return "";d=a.target?a.target.call(c,e,b):e;j=d.length;b=a.target?e:b;if(a.target&&Ext.isArray(d)){for(var f=0,j=d.length;f<j;f++)g[g.length]=a.compiled.call(c,d[f],b,f+1,j);return g.join("")}return a.compiled.call(c,d,b,i,h)},compileTpl:function(tpl){var fm=Ext.util.Format,useF=this.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(f,c,a,d,e){if(c.substr(0,4)=="xtpl")return "'"+sep+"this.applySubTemplate("+c.substr(4)+", values, parent, xindex, xcount)"+sep+"'";var b;if(c===".")b="values";else if(c==="#")b="xindex";else if(c.indexOf(".")!=-1)b=c;else b="values['"+c+"']";if(e)b="("+b+e+")";if(a&&useF){d=d?","+d:"";if(a.substr(0,5)!="this.")a="fm."+a+"(";else{a='this.call("'+a.substr(5)+'", ';d=", values"}}else{d="";a="("+b+" === undefined ? '' : "}return "'"+sep+a+b+d+")"+sep+"'"}function codeFn(b,a){return "'"+sep+"("+a.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,a=document,d=/(-[a-z])/gi,c=function(b,a){return a.charAt(1).toUpperCase()};return {createStyleSheet:function(d,f){var c,e=a.getElementsByTagName("head")[0],b=a.createElement("style");b.setAttribute("type","text/css");if(f)b.setAttribute("id",f);if(Ext.isIE){e.appendChild(b);c=b.styleSheet;c.cssText=d}else{try{b.appendChild(a.createTextNode(d))}catch(g){b.cssText=d}e.appendChild(b);c=b.styleSheet?b.styleSheet:b.sheet||a.styleSheets[a.styleSheets.length-1]}this.cacheStyleSheet(c);return c},removeStyleSheet:function(c){var b=a.getElementById(c);if(b)b.parentNode.removeChild(b)},swapStyleSheet:function(c,d){this.removeStyleSheet(c);var b=a.createElement("link");b.setAttribute("rel","stylesheet");b.setAttribute("type","text/css");b.setAttribute("id",c);b.setAttribute("href",d);a.getElementsByTagName("head")[0].appendChild(b)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(d){if(!b)b={};try{var c=d.cssRules||d.rules;for(var a=c.length-1;a>=0;--a)b[c[a].selectorText.toLowerCase()]=c[a]}catch(e){}},getRules:function(f){if(b===null||f){b={};var d=a.styleSheets;for(var c=0,e=d.length;c<e;c++)try{this.cacheStyleSheet(d[c])}catch(g){}}return b},getRule:function(a,d){var c=this.getRules(d);if(!Ext.isArray(a))return c[a.toLowerCase()];for(var b=0;b<a.length;b++)if(c[a[b]])return c[a[b].toLowerCase()];return null},updateRule:function(a,f,e){if(!Ext.isArray(a)){var g=this.getRule(a);if(g){g.style[f.replace(d,c)]=e;return true}}else for(var b=0;b<a.length;b++)if(this.updateRule(a[b],f,e))return true;return false}}}();Ext.util.ClickRepeater=Ext.extend(Ext.util.Observable,{constructor: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)},interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(Ext.isIE)this.el.on("dblclick",this.handleDblClick,this);if(this.preventDefault||this.stopDefault)this.el.on("click",this.eventOptions,this)}this.disabled=false},disable:function(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()},handleDblClick:function(a){clearTimeout(this.timer);this.el.blur();this.fireEvent("mousedown",this,a);this.fireEvent("click",this,a)},handleMouseDown:function(a){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,a);this.fireEvent("click",this,a);if(this.accelerate)this.delay=400;this.timer=this.click.defer(this.delay||this.interval,this,[a])},click:function(a){this.fireEvent("click",this,a);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this,[a])},easeOutExpo:function(b,a,d,c){return b==c?a+d:d*(-Math.pow(2,-10*b/c)+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(a){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,a)}});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(b){var c=b.getKey(),a=this.keyToHandler[c];if(a&&this[a])if(this.doRelay(b,this[a],a)!==true)b[this.defaultEventAction]()},doRelay:function(c,b,a){return b.call(this.scope||this,c,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(c,a,b){this.el=Ext.get(c);this.eventName=b||"keydown";this.bindings=[];if(a)this.addBinding(a);this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(a){if(Ext.isArray(a)){Ext.each(a,function(a){this.addBinding(a)},this);return}var b=a.key,e=a.fn||a.handler,g=a.scope;if(a.stopEvent)this.stopEvent=a.stopEvent;if(typeof b=="string"){var f=[],d=b.toUpperCase();for(var c=0,i=d.length;c<i;c++)f.push(d.charCodeAt(c));b=f}var h=Ext.isArray(b),j=function(c){if(this.checkModifiers(a,c)){var d=c.getKey();if(h){for(var f=0,i=b.length;f<i;f++)if(b[f]==d){if(this.stopEvent)c.stopEvent();e.call(g||window,d,c);return}}else if(d==b){if(this.stopEvent)c.stopEvent();e.call(g||window,d,c)}}};this.bindings.push(j)},checkModifiers:function(f,g){var c,b,d=["shift","ctrl","alt"];for(var a=0,e=d.length;a<e;++a){b=d[a];c=f[b];if(!(c===undefined||c===g[b+"Key"]))return false}return true},on:function(a,g,f){var b,c,d,e;if(typeof a=="object"&&!Ext.isArray(a)){b=a.key;c=a.shift;d=a.ctrl;e=a.alt}else b=a;this.addBinding({key:b,shift:c,ctrl:d,alt:e,fn:g,scope:f})},handleKeyDown:function(d){if(this.enabled){var b=this.bindings;for(var a=0,c=b.length;a<c;a++)b[a].call(this,d)}},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,d,c){if(!a)a=Ext.util.TextMetrics.Instance(b,c);a.bind(b);a.setFixedWidth(c||"auto");return a.getSize(d)},createInstance:function(a,b){return Ext.util.TextMetrics.Instance(a,b)}}}();Ext.util.TextMetrics.Instance=function(d,c){var a=new Ext.Element(document.createElement("div"));document.body.appendChild(a.dom);a.position("absolute");a.setLeftTop(-1e3,-1e3);a.hide();if(c)a.setWidth(c);var b={getSize:function(c){a.update(c);var b=a.getSize();a.update("");return b},bind:function(b){a.setStyle(Ext.fly(b).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(b){a.setWidth(b)},getWidth:function(b){a.dom.style.width="auto";return this.getSize(b).width},getHeight:function(a){return this.getSize(a).height}};b.bind(d);return b};Ext.Element.addMethods({getTextWidth:function(c,b,a){return Ext.util.TextMetrics.measure(this.dom,Ext.value(c,this.dom.innerHTML,true)).width.constrain(b||0,a||1e6)}});Ext.util.Cookies={"set":function(f,g){var a=arguments,b=arguments.length,c=b>2?a[2]:null,e=b>3?a[3]:"/",d=b>4?a[4]:null,h=b>5?a[5]:false;document.cookie=f+"="+escape(g)+(c===null?"":"; expires="+c.toGMTString())+(e===null?"":"; path="+e)+(d===null?"":"; domain="+d)+(h===true?"; secure":"")},"get":function(e){var c=e+"=",f=c.length,d=document.cookie.length,a=0,b=0;while(a<d){b=a+f;if(document.cookie.substring(a,b)==c)return Ext.util.Cookies.getCookieVal(b);a=document.cookie.indexOf(" ",a)+1;if(a===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,c={},b={};return {register:function(b){a.add(b)},unregister:function(b){a.remove(b)},"get":function(b){return a.get(b)},onAvailable:function(d,c,b){a.on("add",function(f,e){if(e.id==d){c.call(b||e,e);a.un("add",c,b)}})},all:a,types:c,ptypes:b,isRegistered:function(a){return c[a]!==undefined},isPluginRegistered:function(a){return b[a]!==undefined},registerType:function(b,a){c[b]=a;a.xtype=b},create:function(a,b){return a.render?a:new c[a.xtype||b](a)},registerPlugin:function(c,a){b[c]=a;a.ptype=c},createPlugin:function(c,d){var a=b[c.ptype||d];if(a.init)return a;else return new a(c)}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.preg=Ext.ComponentMgr.registerPlugin;Ext.create=Ext.ComponentMgr.create;Ext.Component=function(a){a=a||{};if(a.initialConfig){if(a.isAction)this.baseAction=a;a=a.initialConfig}else if(a.tagName||a.dom||Ext.isString(a))a={applyTo:a,id:a.id||a};this.initialConfig=a;Ext.apply(this,a);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 b=0,c=this.plugins.length;b<c;b++)this.plugins[b]=this.initPlugin(this.plugins[b]);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=1e3;Ext.extend(Ext.Component,Ext.util.Observable,{disabled:false,hidden:false,autoEl:"div",disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,rendered:false,tplWriteMode:"overwrite",bubbleEvents:[],ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initPlugin:function(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:function(){if(this.listeners){this.on(this.listeners);delete this.listeners}this.enableBubble(this.bubbleEvents)},render:function(b,a){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!b&&this.el){this.el=Ext.get(this.el);b=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(b);if(this.ctCls)this.container.addClass(this.ctCls);this.rendered=true;if(a!==undefined)if(Ext.isNumber(a))a=this.container.dom.childNodes[a];else a=Ext.getDom(a);this.onRender(this.container,a||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 c=this.getContentTarget();if(this.html){c.update(Ext.DomHelper.markup(this.html));delete this.html}if(this.contentEl){var d=Ext.getDom(this.contentEl);Ext.fly(d).removeClass(["x-hidden","x-hide-display"]);c.appendChild(d)}if(this.tpl){if(!this.tpl.compile)this.tpl=new Ext.XTemplate(this.tpl);if(this.data){this.tpl[this.tplWriteMode](c,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(a,d,c){var b=this.getContentTarget();if(this.tpl&&typeof a!=="string")this.tpl[this.tplWriteMode](b,a||{});else{var e=Ext.isObject(a)?Ext.DomHelper.markup(a):a;b.update(e,d,c)}},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 c=this.ref.split("/"),d=c.length,b=0,a=this;while(a&&b<d){a=a.ownerCt;++b}if(a){a[this.refName=c[--b]]=this;this.refOwner=a}}},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||(/^(ext-comp-|ext-gen)/.test(String(this.id))?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()}if(this.focusTask&&this.focusTask.cancel)this.focusTask.cancel();this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners();this.destroying=false;this.isDestroyed=true}},deleteMembers:function(){var b=arguments;for(var a=0,c=b.length;a<c;++a)delete this[b[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.focusTask=new Ext.util.DelayedTask(this.focus,this,[b,false]);this.focusTask.delay(Ext.isNumber(a)?a:10);return this}if(this.rendered&&!this.isDestroyed){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(a){a=a||{};var c=a.id||Ext.id(),b=Ext.applyIf(a,this.initialConfig);b.id=c;return new this.constructor(b)},getXType:function(){return this.constructor.xtype},isXType:function(a,b){if(Ext.isFunction(a))a=a.xtype;else if(Ext.isObject(a))a=a.constructor.xtype;return !b?("/"+this.getXTypes()+"/").indexOf("/"+a+"/")!=-1:this.constructor.xtype==a},getXTypes:function(){var b=this.constructor;if(!b.xtypes){var c=[],a=this;while(a&&a.constructor.xtype){c.unshift(a.constructor.xtype);a=a.constructor.superclass}b.xtypeChain=c;b.xtypes=c.join("/")}return b.xtypes},findParentBy:function(b){for(var a=this.ownerCt;a!=null&&!b(a,this);a=a.ownerCt);return a||null},findParentByType:function(b,a){return this.findParentBy(function(c){return c.isXType(b,a)})},bubble:function(d,c,b){var a=this;while(a){if(d.apply(c||a,b||[a])===false)break;a=a.ownerCt}return this},getPositionEl:function(){return this.positionEl||this.el},purgeListeners:function(){Ext.Component.superclass.purgeListeners.call(this);if(this.mons)this.on("beforedestroy",this.clearMons,this,{single:true})},clearMons:function(){Ext.each(this.mons,function(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(c,d,f,e,g){this.createMons();if(Ext.isObject(d)){var h=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,b=d;for(var a in b){if(h.test(a))continue;if(Ext.isFunction(b[a])){this.mons.push({item:c,ename:a,fn:b[a],scope:b.scope});c.on(a,b[a],b.scope,b)}else{this.mons.push({item:c,ename:a,fn:b[a],scope:b.scope});c.on(a,b[a])}}return}this.mons.push({item:c,ename:d,fn:f,scope:e});c.on(d,f,e,g)},mun:function(f,c,e,d){var g,a;this.createMons();for(var b=0,h=this.mons.length;b<h;++b){a=this.mons[b];if(f===a.item&&c==a.ename&&e===a.fn&&d===a.scope){this.mons.splice(b,1);f.un(c,e,d);g=true;break}}return g},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(e,d){var b=this.items;for(var a=0,c=b.length;a<c;a++)b[a][e].apply(b[a],d)},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(a,b){a=a||{};var d=Ext.DomHelper,c=a.parentEl,e=c?Ext.getDom(c):document.body;if(b)this.dom=Ext.getDom(b);if(!this.dom){var f=a.dh||{tag:"div",cls:"x-layer"};this.dom=d.append(e,f)}if(a.cls)this.addClass(a.cls);this.constrain=a.constrain!==false;this.setVisibilityMode(Ext.Element.VISIBILITY);if(a.id)this.id=this.dom.id=a.id;else this.id=Ext.id(this.dom);this.zindex=a.zindex||this.getZIndex();this.position("absolute",this.zindex);if(a.shadow){this.shadowOffset=a.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:a.shadow})}else this.shadowOffset=0;this.useShim=a.shim!==false&&Ext.useShims;this.useDisplay=a.useDisplay;this.hide()};var a=Ext.Element.prototype,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 a=b.shift();if(!a){a=this.createShim();a.enableDisplayMode("block");a.dom.style.display="none";a.dom.style.visibility="visible"}var c=this.dom.parentNode;if(a.dom.parentNode!=c)c.insertBefore(a.dom,this.dom);a.setStyle("z-index",this.getZIndex()-2);this.shim=a;return a},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);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(a){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(a)this.sync(true)}},sync:function(d){var b=this.shadow;if(!this.updating&&this.isVisible()&&(b||this.useShim)){var a=this.getShim(),i=this.getWidth(),g=this.getHeight(),f=this.getLeft(true),j=this.getTop(true);if(b&&!this.shadowDisabled){if(d&&!b.isVisible())b.show(this);else b.realign(f,j,i,g);if(a){if(d)a.show();var h=b.el.getXY(),c=a.dom.style,e=b.el.getSize();c.left=h[0]+"px";c.top=h[1]+"px";c.width=e.width+"px";c.height=e.height+"px"}}else if(a){if(d)a.show();a.setSize(i,g);a.setLeftTop(f,j)}}},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(){if(this.shadow)this.shadow.hide();this.hideShim()},constrainXY:function(){if(this.constrain){var k=Ext.lib.Dom.getViewWidth(),j=Ext.lib.Dom.getViewHeight(),c=Ext.getDoc().getScroll(),f=this.getXY(),e=f[0],b=f[1],g=this.shadowOffset,l=this.dom.offsetWidth+g,h=this.dom.offsetHeight+g,d=false;if(e+l>k+c.left){e=k-l-g;d=true}if(b+h>j+c.top){b=j-h-g;d=true}if(e<c.left){e=c.left;d=true}if(b<c.top){b=c.top;d=true}if(d){if(this.avoidY){var i=this.avoidY;if(b<=i&&b+h>=i)b=i-h-5}f=[e,b];this.storeXY(f);a.setXY.call(this,f);this.sync()}}return this},getConstrainOffset:function(){return this.shadowOffset},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true)this.setDisplayed("");else if(this.lastXY)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(-1e4,-1e4)},setVisible:function(b,d,g,c,f){if(b)this.showAction();if(d&&b){var e=function(){this.sync(true);if(c)c()}.createDelegate(this);a.setVisible.call(this,true,true,g,e,f)}else{if(!b)this.hideUnders(true);var e=c;if(d)e=function(){this.hideAction();if(c)c()}.createDelegate(this);a.setVisible.call(this,b,d,g,e,f);if(b)this.sync(true);else if(!d)this.hideAction()}return this},storeXY:function(a){delete this.lastLT;this.lastXY=a},storeLeftTop:function(b,a){delete this.lastXY;this.lastLT=[b,a]},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(b){this.storeLeftTop(b,this.getTop(true));a.setLeft.apply(this,arguments);this.sync();return this},setTop:function(b){this.storeLeftTop(this.getLeft(true),b);a.setTop.apply(this,arguments);this.sync();return this},setLeftTop:function(c,b){this.storeLeftTop(c,b);a.setLeftTop.apply(this,arguments);this.sync();return this},setXY:function(d,c,f,g,e){this.fixDisplay();this.beforeAction();this.storeXY(d);var b=this.createCB(g);a.setXY.call(this,d,c,f,b,e);if(!c)b();return this},createCB:function(b){var a=this;return function(){a.constrainXY();a.sync(true);if(b)b()}},setX:function(a,b,d,e,c){this.setXY([a,this.getY()],b,d,e,c);return this},setY:function(e,a,c,d,b){this.setXY([this.getX(),e],a,c,d,b);return this},setSize:function(d,e,c,g,h,f){this.beforeAction();var b=this.createCB(h);a.setSize.call(this,d,e,c,g,b,f);if(!c)b();return this},setWidth:function(d,c,f,g,e){this.beforeAction();var b=this.createCB(g);a.setWidth.call(this,d,c,f,b,e);if(!c)b();return this},setHeight:function(d,c,f,g,e){this.beforeAction();var b=this.createCB(g);a.setHeight.call(this,d,c,f,b,e);if(!c)b();return this},setBounds:function(e,c,i,f,d,h,j,g){this.beforeAction();var b=this.createCB(j);if(!d){this.storeXY([e,c]);a.setXY.call(this,[e,c]);a.setSize.call(this,i,f,d,h,b,g);b()}else a.setBounds.call(this,e,c,i,f,d,h,b,g);return this},setZIndex:function(a){this.zindex=a;this.setStyle("z-index",a+2);if(this.shadow)this.shadow.setZIndex(a+1);if(this.shim)this.shim.setStyle("z-index",a);return this}})})();Ext.Shadow=function(d){Ext.apply(this,d);if(typeof this.mode!="string")this.mode=this.defaultMode;var c=this.offset,a={h:0},b=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case "drop":a.w=0;a.l=a.t=c;a.t-=1;if(Ext.isIE){a.l-=this.offset+b;a.t-=this.offset+b;a.w-=b;a.h-=b;a.t+=1}break;case "sides":a.w=c*2;a.l=-c;a.t=c-1;if(Ext.isIE){a.l-=this.offset-b;a.t-=this.offset+b;a.l+=1;a.w-=(this.offset-b)*2;a.w-=b+1;a.h-=1}break;case "frame":a.w=a.h=c*2;a.l=a.t=-c;a.t+=1;a.h-=2;if(Ext.isIE){a.l-=this.offset-b;a.t-=this.offset-b;a.l+=1;a.w-=this.offset+b+1;a.h-=this.offset+b;a.h+=1}}this.adjusts=a};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(j,m,l,k){if(!this.el)return;var d=this.adjusts,g=this.el.dom,a=g.style,n=0,i=l+d.w,e=k+d.h,f=i+"px",h=e+"px",b,c;a.left=j+d.l+"px";a.top=m+d.t+"px";if(a.width!=f||a.height!=h){a.width=f;a.height=h;if(!Ext.isIE){b=g.childNodes;c=Math.max(0,i-12)+"px";b[0].childNodes[1].style.width=c;b[1].childNodes[1].style.width=c;b[2].childNodes[1].style.width=c;b[1].style.height=Math.max(0,e-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 a=[],b=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=a.shift();if(!c){c=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,b));c.autoBoxAdjust=false}return c},push:function(b){a.push(b)}}}();Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(a,b){if(typeof a=="object"){b=a.height;a=a.width}if(Ext.isDefined(a)&&Ext.isDefined(this.boxMinWidth)&&a<this.boxMinWidth)a=this.boxMinWidth;if(Ext.isDefined(b)&&Ext.isDefined(this.boxMinHeight)&&b<this.boxMinHeight)b=this.boxMinHeight;if(Ext.isDefined(a)&&Ext.isDefined(this.boxMaxWidth)&&a>this.boxMaxWidth)a=this.boxMaxWidth;if(Ext.isDefined(b)&&Ext.isDefined(this.boxMaxHeight)&&b>this.boxMaxHeight)b=this.boxMaxHeight;if(!this.boxReady){this.width=a;this.height=b;return this}if(this.cacheSizes!==false&&this.lastSize&&this.lastSize.width==a&&this.lastSize.height==b)return this;this.lastSize={width:a,height:b};var f=this.adjustSize(a,b),d=f.width,c=f.height,e;if(d!==undefined||c!==undefined){e=this.getResizeEl();if(!this.deferHeight&&d!==undefined&&c!==undefined)e.setSize(d,c);else if(!this.deferHeight&&c!==undefined)e.setHeight(c);else if(d!==undefined)e.setWidth(d);this.onResize(d,c,a,b);this.fireEvent("resize",this,d,c,a,b)}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(b){var a=this.getPositionEl();if(b===true)return [a.getLeft(true),a.getTop(true)];return this.xy||a.getXY()},getBox:function(c){var b=this.getPosition(c),a=this.getSize();a.x=b[0];a.y=b[1];return a},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(a,e){if(a&&typeof a[1]=="number"){e=a[1];a=a[0]}this.x=a;this.y=e;if(!this.boxReady)return this;var f=this.adjustPosition(a,e),c=f.x,b=f.y,d=this.getPositionEl();if(c!==undefined||b!==undefined){if(c!==undefined&&b!==undefined)d.setLeftTop(c,b);else if(c!==undefined)d.setLeft(c);else if(b!==undefined)d.setTop(b);this.onPosition(c,b);this.fireEvent("move",this,c,b)}return this},setPagePosition:function(a,b){if(a&&typeof a[1]=="number"){b=a[1];a=a[0]}this.pageX=a;this.pageY=b;if(!this.boxReady)return;if(a===undefined||b===undefined)return;var c=this.getPositionEl().translatePoints(a,b);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;Ext.isDefined(this.autoScroll)&&this.setAutoScroll(this.autoScroll);this.setSize(this.width,this.height);if(this.x||this.y)this.setPosition(this.x,this.y);else if(this.pageX||this.pageY)this.setPagePosition(this.pageX,this.pageY)},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.getResizeEl().getWidth(),this.autoHeight?undefined:this.getResizeEl().getHeight());return this},onResize:function(){},onPosition:function(){},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(d,e,c,b,a){this.el=Ext.get(d,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(e,true);this.orientation=c||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2e3;this.animate=false;this.useShim=false;this.shim=null;if(!a)this.proxy=Ext.SplitBar.createProxy(this.orientation);else this.proxy=Ext.get(a).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,e){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 c=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var b=c-this.activeMinSize,a=Math.max(this.activeMaxSize-c,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?b:a,this.placement==Ext.SplitBar.LEFT?a: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:a,this.placement==Ext.SplitBar.TOP?a:b,this.tickSize)}this.dragSpecs.startSize=c;this.dragSpecs.startPoint=[d,e];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,d,e)},onEndProxyDrag:function(c){Ext.get(this.proxy).setDisplayed(false);var b=Ext.lib.Event.getXY(c);if(this.overlay){Ext.destroy(this.overlay);delete this.overlay}var a;if(this.orientation==Ext.SplitBar.HORIZONTAL)a=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?b[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-b[0]);else a=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?b[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-b[1]);a=Math.min(Math.max(a,this.activeMinSize),this.activeMaxSize);if(a!=this.dragSpecs.startSize)if(this.fireEvent("beforeapply",this,a)!==false){this.adapter.setElementSize(this,a);this.fireEvent("moved",this,a);this.fireEvent("resize",this,a)}},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(){},getElementSize:function(a){if(a.orientation==Ext.SplitBar.HORIZONTAL)return a.resizingEl.getWidth();else return a.resizingEl.getHeight()},setElementSize:function(a,b,c){if(a.orientation==Ext.SplitBar.HORIZONTAL)if(!a.animate){a.resizingEl.setWidth(b);if(c)c(a,b)}else a.resizingEl.setWidth(b,true,.1,c,"easeOut");else if(!a.animate){a.resizingEl.setHeight(b);if(c)c(a,b)}else a.resizingEl.setHeight(b,true,.1,c,"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(a,b){this.basic.setElementSize(a,b,this.moveSplitter.createDelegate(this,[a]))},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())}}};Ext.SplitBar.VERTICAL=1;Ext.SplitBar.HORIZONTAL=2;Ext.SplitBar.LEFT=1;Ext.SplitBar.RIGHT=2;Ext.SplitBar.TOP=3;Ext.SplitBar.BOTTOM=4;Ext.Container=Ext.extend(Ext.BoxComponent,{bufferResize:50,autoDestroy:true,forceLayout:false,defaultType:"panel",resizeEvent:"resize",bubbleEvents:["add","remove"],initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");var 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.layout=a;this.initItems();a.setContainer(this)},afterRender:function(){Ext.Container.superclass.afterRender.call(this);if(!this.layout)this.layout="auto";if(Ext.isObject(this.layout)&&!this.layout.layout){this.layoutConfig=this.layout;this.layout=this.layoutConfig.type}if(Ext.isString(this.layout))this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig);this.setLayout(this.layout);if(this.activeItem!==undefined&&this.layout.setActiveItem){var a=this.activeItem;delete this.activeItem;this.layout.setActiveItem(a)}if(!this.ownerCt)this.doLayout(false,true);if(this.monitorResize===true)Ext.EventManager.onWindowResize(this.doLayout,this,[false])},getLayoutTarget:function(){return this.el},getComponentId:function(a){return a.getItemId()},add:function(b){this.initItems();var e=arguments.length>1;if(e||Ext.isArray(b)){var d=[];Ext.each(e?arguments:b,function(a){d.push(this.add(a))},this);return d}var a=this.lookupComponent(this.applyDefaults(b)),c=this.items.length;if(this.fireEvent("beforeadd",this,a,c)!==false&&this.onBeforeAdd(a)!==false){this.items.add(a);a.onAdded(this,c);this.onAdd(a);this.fireEvent("add",this,a,c)}return a},onAdd:function(){},onAdded:function(a,b){this.ownerCt=a;this.initRef();this.cascade(function(a){a.initRef()});this.fireEvent("added",this,a,b)},insert:function(b,g){var e=arguments,f=e.length,d=[],c,a;this.initItems();if(f>2){for(c=f-1;c>=1;--c)d.push(this.insert(b,e[c]));return d}a=this.lookupComponent(this.applyDefaults(g));b=Math.min(b,this.items.length);if(this.fireEvent("beforeadd",this,a,b)!==false&&this.onBeforeAdd(a)!==false){if(a.ownerCt==this)this.items.remove(a);this.items.insert(b,a);a.onAdded(this,b);this.onAdd(a);this.fireEvent("add",this,a,b)}return a},applyDefaults:function(a){var b=this.defaults;if(b){if(Ext.isFunction(b))b=b.call(this,a);if(Ext.isString(a)){a=Ext.ComponentMgr.get(a);Ext.apply(a,b)}else if(!a.events)Ext.applyIf(a,b);else Ext.apply(a,b)}return a},onBeforeAdd:function(a){if(a.ownerCt)a.ownerCt.remove(a,false);if(this.hideBorders===true)a.border=a.border===true},remove:function(b,c){this.initItems();var a=this.getComponent(b);if(a&&this.fireEvent("beforeremove",this,a)!==false){this.doRemove(a,c);this.fireEvent("remove",this,a)}return a},onRemove:function(){},doRemove:function(a,d){var b=this.layout,c=b&&this.rendered;if(c)b.onRemove(a);this.items.remove(a);a.onRemoved();this.onRemove(a);if(d===true||d!==false&&this.autoDestroy)a.destroy();if(c)b.afterRemove(a)},removeAll:function(f){this.initItems();var a,c=[],d=[];this.items.each(function(a){c.push(a)});for(var b=0,e=c.length;b<e;++b){a=c[b];this.remove(a,f);if(a.ownerCt!==this)d.push(a)}return d},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(a,c){if(a.render)return a;var b=Ext.create(Ext.apply({ownerCt:this},a),c||this.defaultType);delete b.initialConfig.ownerCt;delete b.ownerCt;return b},canLayout:function(){var a=this.getVisibilityEl();return a&&a.dom&&!a.isStyle("display","none")},doLayout:function(a,h){var f=this.rendered,c=h||this.forceLayout;if(this.collapsed||!this.canLayout()){this.deferLayout=this.deferLayout||!a;if(!c)return;a=a&&!this.deferLayout}else delete this.deferLayout;if(f&&this.layout)this.layout.layout();if(a!==true&&this.items){var d=this.items.items;for(var b=0,g=d.length;b<g;b++){var e=d[b];if(e.doLayout)e.doLayout(false,c)}}if(f)this.onLayout(a,c);this.hasLayout=true;delete this.forceLayout},onLayout:Ext.emptyFn,shouldBufferLayout:function(){var a=this.hasLayout;if(this.ownerCt)return a?!this.hasLayoutPending():false;return a},hasLayoutPending:function(){var a=false;this.ownerCt.bubble(function(b){if(b.layoutPending){a=true;return false}});return a},onShow:function(){Ext.Container.superclass.onShow.call(this);if(Ext.isDefined(this.deferLayout)){delete this.deferLayout;this.doLayout(true)}},getLayout:function(){if(!this.layout){var a=new Ext.layout.AutoLayout(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)},cascade:function(e,d,c){if(e.apply(d||this,c||[this])!==false)if(this.items){var b=this.items.items;for(var a=0,f=b.length;a<f;a++)if(b[a].cascade)b[a].cascade(e,d,c);else e.apply(d||b[a],c||[b[a]])}return this},findById:function(c){var a=null,b=this;this.cascade(function(d){if(b!=d&&d.id===c){a=d;return false}});return a},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(d,c){var a=[],b=this;this.cascade(function(e){if(b!=e&&d.call(c||e,e,b)===true)a.push(e)});return a},"get":function(a){return this.getComponent(a)}});Ext.Container.LAYOUTS={};Ext.reg("container",Ext.Container);Ext.layout.ContainerLayout=Ext.extend(Object,{monitorResize:false,activeItem:null,constructor:function(a){this.id=Ext.id(null,"ext-layout-");Ext.apply(this,a)},type:"container",IEMeasureHack:function(e,i){var d=e.dom.childNodes,f=d.length,c,h=[],b,a,g;for(a=0;a<f;a++){c=d[a];b=Ext.get(c);if(b){h[a]=b.getStyle("display");b.setStyle({display:"none"})}}g=e?e.getViewSize(i):{};for(a=0;a<f;a++){c=d[a];b=Ext.get(c);if(b)b.setStyle({display:h[a]})}return g},getLayoutTargetSize:Ext.EmptyFn,layout:function(){var a=this.container,b=a.getLayoutTarget();if(!(this.hasLayout||Ext.isEmpty(this.targetCls)))b.addClass(this.targetCls);this.onLayout(a,b);a.fireEvent("afterlayout",a,this)},onLayout:function(a,b){this.renderAll(a,b)},isValidParent:function(b,a){return a&&b.getPositionEl().dom.parentNode==(a.dom||a)},renderAll:function(f,d){var c=f.items.items,a,b,e=c.length;for(a=0;a<e;a++){b=c[a];if(b&&(!b.rendered||!this.isValidParent(b,d)))this.renderItem(b,a,d)}},renderItem:function(a,b,c){if(a)if(!a.rendered){a.render(c,b);this.configureItem(a)}else if(!this.isValidParent(a,c)){if(Ext.isNumber(b))b=c.dom.childNodes[b];c.dom.insertBefore(a.getPositionEl().dom,b||null);a.container=c;this.configureItem(a)}},getRenderedItems:function(d){var g=d.getLayoutTarget(),e=d.items.items,f=e.length,a,b,c=[];for(a=0;a<f;a++)if((b=e[a]).rendered&&this.isValidParent(b,g)&&b.shouldLayout!==false)c.push(b);return c},configureItem:function(a){if(this.extraCls){var b=a.getPositionEl?a.getPositionEl():a;b.addClass(this.extraCls)}if(a.doLayout&&this.forceLayout)a.doLayout();if(this.renderHidden&&a!=this.activeItem)a.hide()},onRemove:function(a){if(this.activeItem==a)delete this.activeItem;if(a.rendered&&this.extraCls){var b=a.getPositionEl?a.getPositionEl():a;b.removeClass(this.extraCls)}},afterRemove:function(a){if(a.removeRestore){a.removeMode="container";delete a.removeRestore}},onResize:function(){var a=this.container,b;if(a.collapsed)return;if(b=a.bufferResize&&a.shouldBufferLayout()){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.runLayout,this);this.resizeBuffer=Ext.isNumber(b)?b:50}a.layoutPending=true;this.resizeTask.delay(this.resizeBuffer)}else this.runLayout()},runLayout:function(){var a=this.container;this.layout();a.onLayout();delete a.layoutPending},setContainer:function(a){if(this.monitorResize&&a!=this.container){var b=this.container;if(b)b.un(b.resizeEvent,this.onResize,this);if(a)a.on(a.resizeEvent,this.onResize,this)}this.container=a},parseMargins:function(b){if(Ext.isNumber(b))b=b.toString();var a=b.split(" "),c=a.length;if(c==1)a[1]=a[2]=a[3]=a[0];else if(c==2){a[2]=a[0];a[3]=a[1]}else if(c==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(this.resizeTask&&this.resizeTask.cancel)this.resizeTask.cancel();if(!Ext.isEmpty(this.targetCls)){var a=this.container.getLayoutTarget();if(a)a.removeClass(this.targetCls)}}});Ext.layout.AutoLayout=Ext.extend(Ext.layout.ContainerLayout,{type:"auto",monitorResize:true,onLayout:function(c,f){Ext.layout.AutoLayout.superclass.onLayout.call(this,c,f);var d=this.getRenderedItems(c),e=d.length,a,b;for(a=0;a<e;a++){b=d[a];if(b.doLayout)b.doLayout(true)}}});Ext.Container.LAYOUTS.auto=Ext.layout.AutoLayout;Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"fit",getLayoutTargetSize:function(){var a=this.container.getLayoutTarget();if(!a)return {};return a.getStyleSize()},onLayout:function(a,b){Ext.layout.FitLayout.superclass.onLayout.call(this,a,b);if(!a.collapsed)this.setItemSize(this.activeItem||a.items.itemAt(0),this.getLayoutTargetSize())},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,type:"card",setActiveItem:function(a){var b=this.activeItem,c=this.container;a=c.getComponent(a);if(a&&b!=a){if(b){b.hide();if(b.hidden!==true)return false;b.fireEvent("deactivate",b)}var d=a.doLayout&&(this.layoutOnCardChange||!a.rendered);this.activeItem=a;delete a.deferLayout;a.show();this.layout();if(d)a.doLayout();a.fireEvent("activate",a)}},renderAll:function(b,a){if(this.deferredRender)this.renderItem(this.activeItem,undefined,a);else Ext.layout.CardLayout.superclass.renderAll.call(this,b,a)}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"anchor",defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,getLayoutTargetSize:function(){var b=this.container.getLayoutTarget(),a={};if(b){a=b.getViewSize();if(Ext.isIE&&Ext.isStrict&&a.width==0)a=b.getStyleSize();a.width-=b.getPadding("lr");a.height-=b.getPadding("tb")}return a},onLayout:function(b,o){Ext.layout.AnchorLayout.superclass.onLayout.call(this,b,o);var g=this.getLayoutTargetSize(),p=g.width,r=g.height,s=o.getStyle("overflow"),q=this.getRenderedItems(b),m=q.length,l=[],f,e,n,a,d,i,k,j,u=0,c,h;if(p<20&&r<20)return;if(b.anchorSize)if(typeof b.anchorSize=="number")e=b.anchorSize;else{e=b.anchorSize.width;n=b.anchorSize.height}else{e=b.initialConfig.width;n=b.initialConfig.height}for(c=0;c<m;c++){a=q[c];h=a.getPositionEl();if(!a.anchor&&a.items&&!Ext.isNumber(a.width)&&!(Ext.isIE6&&Ext.isStrict))a.anchor=this.defaultAnchor;if(a.anchor){d=a.anchorSpec;if(!d){j=a.anchor.split(" ");a.anchorSpec=d={right:this.parseAnchor(j[0],a.initialConfig.width,e),bottom:this.parseAnchor(j[1],a.initialConfig.height,n)}}i=d.right?this.adjustWidthAnchor(d.right(p)-h.getMargins("lr"),a):undefined;k=d.bottom?this.adjustHeightAnchor(d.bottom(r)-h.getMargins("tb"),a):undefined;if(i||k)l.push({component:a,width:i||undefined,height:k||undefined})}}for(c=0,m=l.length;c<m;c++){f=l[c];f.component.setSize(f.width,f.height)}if(s&&s!="hidden"&&!this.adjustmentPass){var t=this.getLayoutTargetSize();if(t.width!=g.width||t.height!=g.height){this.adjustmentPass=true;this.onLayout(b,o)}}delete this.adjustmentPass},parseAnchor:function(a,f,c){if(a&&a!="none"){var b;if(this.parseAnchorRE.test(a)){var e=c-f;return function(a){if(a!==b){b=a;return a-e}}}else if(a.indexOf("%")!=-1){var d=parseFloat(a.replace("%",""))*.01;return function(a){if(a!==b){b=a;return Math.floor(a*d)}}}else{a=parseInt(a,10);if(!isNaN(a))return function(c){if(c!==b){b=c;return c+a}}}}return false},adjustWidthAnchor:function(a){return a},adjustHeightAnchor:function(a){return a}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"column",extraCls:"x-column",scrollOffset:0,targetCls:"x-column-layout-ct",isValidParent:function(a){return this.innerCt&&a.getPositionEl().dom.parentNode==this.innerCt.dom},getLayoutTargetSize:function(){var b=this.container.getLayoutTarget(),a;if(b){a=b.getViewSize();if(Ext.isIE&&Ext.isStrict&&a.width==0)a=b.getStyleSize();a.width-=b.getPadding("lr");a.height-=b.getPadding("tb")}return a},renderAll:function(a,b){if(!this.innerCt){this.innerCt=b.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}Ext.layout.ColumnLayout.superclass.renderAll.call(this,a,this.innerCt)},onLayout:function(f,h){var g=f.items.items,i=g.length,b,a,c,j=[];this.renderAll(f,h);var e=this.getLayoutTargetSize();if(e.width<1&&e.height<1)return;var k=e.width-this.scrollOffset,m=e.height,d=k;this.innerCt.setWidth(k);for(a=0;a<i;a++){b=g[a];c=b.getPositionEl().getMargins("lr");j[a]=c;if(!b.columnWidth)d-=b.getWidth()+c}d=d<0?0:d;for(a=0;a<i;a++){b=g[a];c=j[a];if(b.columnWidth)b.setSize(Math.floor(b.columnWidth*d)-c)}if(Ext.isIE)if(a=h.getStyle("overflow")&&a!="hidden"&&!this.adjustmentPass){var l=this.getLayoutTargetSize();if(l.width!=e.width){this.adjustmentPass=true;this.onLayout(f,h)}}delete this.adjustmentPass}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,type:"border",targetCls:"x-border-layout-ct",getLayoutTargetSize:function(){var a=this.container.getLayoutTarget();return a?a.getViewSize():{}},onLayout:function(r,l){var e,d,c,g,x=r.items.items,q=x.length;if(!this.rendered){e=[];for(d=0;d<q;d++){c=x[d];g=c.region;if(c.collapsed)e.push(c);c.collapsed=false;if(!c.rendered){c.render(l,d);c.getPositionEl().addClass("x-border-panel")}this[g]=g!="center"&&c.split?new Ext.layout.BorderLayout.SplitRegion(this,c.initialConfig,g):new Ext.layout.BorderLayout.Region(this,c.initialConfig,g);this[g].render(l,c)}this.rendered=true}var h=this.getLayoutTargetSize();if(h.width<20||h.height<20){if(e)this.restoreCollapsed=e;return}else if(this.restoreCollapsed){e=this.restoreCollapsed;delete this.restoreCollapsed}var p=h.width,v=h.height,t=p,j=v,n=0,w=0,i=this.north,o=this.south,m=this.west,k=this.east,c=this.center,b,a,f,s;if(!c&&Ext.layout.BorderLayout.WARN!==false)throw"No center region defined in BorderLayout "+r.id;if(i&&i.isVisible()){b=i.getSize();a=i.getMargins();b.width=p-(a.left+a.right);b.x=a.left;b.y=a.top;n=b.height+b.y+a.bottom;j-=n;i.applyLayout(b)}if(o&&o.isVisible()){b=o.getSize();a=o.getMargins();b.width=p-(a.left+a.right);b.x=a.left;s=b.height+a.top+a.bottom;b.y=v-s+a.top;j-=s;o.applyLayout(b)}if(m&&m.isVisible()){b=m.getSize();a=m.getMargins();b.height=j-(a.top+a.bottom);b.x=a.left;b.y=n+a.top;f=b.width+a.left+a.right;w+=f;t-=f;m.applyLayout(b)}if(k&&k.isVisible()){b=k.getSize();a=k.getMargins();b.height=j-(a.top+a.bottom);f=b.width+a.left+a.right;b.x=p-f+a.left;b.y=n+a.top;t-=f;k.applyLayout(b)}if(c){a=c.getMargins();var y={x:w+a.left,y:n+a.top,width:t-(a.left+a.right),height:j-(a.top+a.bottom)};c.applyLayout(y)}if(e)for(d=0,q=e.length;d<q;d++)e[d].collapse(false);if(Ext.isIE&&Ext.isStrict)l.repaint();if(d=l.getStyle("overflow")&&d!="hidden"&&!this.adjustmentPass){var u=this.getLayoutTargetSize();if(u.width!=h.width||u.height!=h.height){this.adjustmentPass=true;this.onLayout(r,l)}}delete this.adjustmentPass},destroy:function(){var c=["north","south","east","west"],b,a;for(b=0;b<c.length;b++){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 a=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');a.disableFormats=true;a.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=a}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 b=this.expandToolEl=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);b.addClassOnOver("x-tool-expand-"+this.position+"-over");b.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(){if(this.isSlid)this.panel.expand(false);else this.panel.expand()},onCollapseClick:function(){this.panel.collapse()},beforeCollapse:function(c,b){this.lastAnim=b;if(this.splitEl)this.splitEl.hide();this.getCollapsedEl().show();var a=this.panel.getEl();this.originalZIndex=a.getStyle("z-index");a.setStyle("z-index",100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(){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:.2});this.state.collapsed=true;this.panel.saveState()},beforeExpand:function(){if(this.isSlid)this.afterSlideIn();var a=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west")this.panel.setSize(undefined,a.getHeight());else this.panel.setSize(a.getWidth(),undefined);a.hide();a.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){this.autoHideSlideTask=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(a){if(!a.within(this.el,true))this.autoHideSlideTask.delay(500)},mouseover:function(){this.autoHideSlideTask.cancel()},scope:this}}this.el.on(this.autoHideHd);this.collapsedEl.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.un("mouseover",this.autoHideHd.mouseover);this.collapsedEl.un("mouseout",this.autoHideHd.mouseout);this.collapsedEl.un("mouseover",this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un("click",this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx())return;this.isSlid=true;var a=this.panel.tools,c,b;if(a&&a.toggle)a.toggle.hide();this.el.show();b=this.panel.collapsed;this.panel.collapsed=false;if(this.position=="east"||this.position=="west"){c=this.panel.deferHeight;this.panel.deferHeight=false;this.panel.setSize(undefined,this.collapsedEl.getHeight());this.panel.deferHeight=c}else this.panel.setSize(this.collapsedEl.getWidth(),undefined);this.panel.collapsed=b;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]}},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()]}},destroy:function(){if(this.autoHideSlideTask&&this.autoHideSlideTask.cancel)this.autoHideSlideTask.cancel();Ext.destroyMembers(this,"miniCollapsedEl","collapsedEl","expandToolEl")}};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 d=this.splitEl.dom,b=d.style;this.panel.setPosition(a.x,a.y);var c=d.offsetWidth;b.left=a.x+a.width-c+"px";b.top=a.y+"px";b.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 d=this.splitEl.dom,b=d.style,c=d.offsetWidth;this.panel.setPosition(a.x+c,a.y);b.left=a.x+"px";b.top=a.y+"px";b.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 d=this.splitEl.dom,b=d.style,c=d.offsetHeight;this.panel.setPosition(a.x,a.y);b.left=a.x+"px";b.top=a.y+a.height-c+"px";b.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 d=this.splitEl.dom,b=d.style,c=d.offsetHeight;this.panel.setPosition(a.x,a.y+c);b.left=a.x+"px";b.top=a.y+"px";b.width=Math.max(0,a.width)+"px";this.panel.setSize(a.width,a.height-c)}},render:function(d,b){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,d,b);var c=this.position;this.splitEl=d.createChild({cls:"x-layout-split x-layout-split-"+c,html:"&#160;",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+c,html:"&#160;"});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var a=this.splitSettings[c];this.split=new Ext.SplitBar(this.splitEl.dom,b.el,a.orientation);this.split.tickSize=this.tickSize;this.split.placement=a.placement;this.split.getMaximumSize=this[a.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[a.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[a.maxProp];if(b.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||1e4,a=this.layout.center;return Math.min(b,this.el.getWidth()+a.el.getWidth()-a.getMinWidth())},getVMaxSize:function(){var b=this.maxSize||1e4,a=this.layout.center;return Math.min(b,this.el.getHeight()+a.el.getHeight()-a.getMinHeight())},onSplitMove:function(c,a){var b=this.panel.getSize();this.lastSplitSize=a;if(this.position=="north"||this.position=="south"){this.panel.setSize(b.width,a);this.state.height=a}else{this.panel.setSize(a,b.height);this.state.width=a}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split},destroy:function(){Ext.destroy(this.miniSplitEl,this.split,this.splitEl);Ext.layout.BorderLayout.SplitRegion.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.border=Ext.layout.BorderLayout;Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:":",trackLabels:true,type:"form",onRemove:function(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 c=a.getPositionEl(),b=a.getItemCt&&a.getItemCt();if(a.rendered&&b){if(c&&c.dom)c.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=Ext.isDefined(a.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);if(a.isComposite)a.doLayout()},onFieldHide:function(a){a.getItemCt().addClass("x-hide-"+a.hideMode)},getLabelStyle:function(e){var a="",c=[this.labelStyle,e];for(var b=0,d=c.length;b<d;++b)if(c[b]){a+=c[b];if(a.substr(-1,1)!=";")a+=";"}return a},renderItem:function(a,b,c){if(a&&(a.isFormField||a.fieldLabel)&&a.inputType!="hidden"){var d=this.getTemplateArgs(a);if(Ext.isNumber(b))b=c.dom.childNodes[b]||null;if(b)a.itemCt=this.fieldTpl.insertBefore(b,d,true);else a.itemCt=this.fieldTpl.append(c,d,true);if(!a.getItemCt)Ext.apply(a,{getItemCt:function(){return a.itemCt},customItemCt:true});a.label=a.getItemCt().child("label.x-form-item-label");if(!a.rendered)a.render("x-form-el-"+a.id);else if(!this.isValidParent(a,c))Ext.fly("x-form-el-"+a.id).appendChild(a.getPositionEl());if(this.trackLabels){if(a.hidden)this.onFieldHide(a);a.on({scope:this,show:this.onFieldShow,hide:this.onFieldHide})}this.configureItem(a)}else Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)},getTemplateArgs:function(a){var b=!a.fieldLabel||a.hideLabel;return {id:a.id,label:a.fieldLabel,itemCls:(a.itemCls||this.container.itemCls||"")+(a.hideLabel?" x-hide-label":""),clearCls:a.clearCls||"x-form-clear-left",labelStyle:this.getLabelStyle(a.labelStyle),elementStyle:this.elementStyle||"",labelSeparator:b?"":Ext.isDefined(a.labelSeparator)?a.labelSeparator:this.labelSeparator}},adjustWidthAnchor:function(a,b){if(b.label&&!this.isHide(b)&&this.container.labelAlign!="top"){var c=Ext.isIE6||Ext.isIE&&!Ext.isStrict;return a-this.labelAdjust+(c?-3:0)}return a},adjustHeightAnchor:function(b,a){if(a.label&&!this.isHide(a)&&this.container.labelAlign=="top")return b-a.label.getHeight();return b},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,type:"accordion",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(b,f){if(this.fill&&b){var e=0,a,d=this.getRenderedItems(this.container),g=d.length,c;for(a=0;a<g;a++)if((c=d[a])!=b&&!c.hidden)e+=c.header.getHeight();f.height-=e;b.setSize(f)}},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,type:"table",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(b,a){var c=b.items.items,d=c.length,f,e;if(!this.table){a.addClass("x-table-layout-ct");this.table=a.createChild(Ext.apply({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true)}this.renderAll(b,a)},getRow:function(b){var a=this.table.tBodies[0].childNodes[b];if(!a){a=document.createElement("tr");this.table.tBodies[0].appendChild(a)}return a},getNextCell:function(a){var f=this.getNextNonSpan(this.currentColumn,this.currentRow),h=this.currentColumn=f[0],e=this.currentRow=f[1];for(var c=e;c<e+(a.rowspan||1);c++){if(!this.cells[c])this.cells[c]=[];for(var d=h;d<h+(a.colspan||1);d++)this.cells[c][d]=true}var b=document.createElement("td");if(a.cellId)b.id=a.cellId;var g="x-table-layout-cell";if(a.cellCls)g+=" "+a.cellCls;b.className=g;if(a.colspan)b.colSpan=a.colspan;if(a.rowspan)b.rowSpan=a.rowspan;this.getRow(e).appendChild(b);return b},getNextNonSpan:function(a,c){var b=this.columns;while(b&&a>=b||this.cells[c]&&this.cells[c][a])if(b&&a>=b){c++;a=0}else a++;return [a,c]},renderItem:function(a,d,c){if(!this.table)this.table=c.createChild(Ext.apply({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true);if(a&&!a.rendered){a.render(this.getNextCell(a));this.configureItem(a)}else if(a&&!this.isValidParent(a,c)){var b=this.getNextCell(a);b.insertBefore(a.getPositionEl().dom,null);a.container=Ext.get(b);this.configureItem(a)}},isValidParent:function(b,a){return b.getPositionEl().up("table",5).dom.parentNode===(a.dom||a)},destroy:function(){delete this.table;Ext.layout.TableLayout.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",type:"absolute",onLayout:function(b,a){a.position();this.paddingLeft=a.getPadding("l");this.paddingTop=a.getPadding("t");Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,b,a)},adjustWidthAnchor:function(a,b){return a?a-b.getPosition(true)[0]+this.paddingLeft:a},adjustHeightAnchor:function(a,b){return a?a-b.getPosition(true)[1]+this.paddingTop:a}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;Ext.layout.BoxLayout=Ext.extend(Ext.layout.ContainerLayout,{defaultMargins:{left:0,top:0,right:0,bottom:0},padding:"0",pack:"start",monitorResize:true,type:"box",scrollOffset:0,extraCls:"x-box-item",targetCls:"x-box-layout-ct",innerCls:"x-box-inner",constructor:function(d){Ext.layout.BoxLayout.superclass.constructor.call(this,d);if(Ext.isString(this.defaultMargins))this.defaultMargins=this.parseMargins(this.defaultMargins);var a=this.overflowHandler;if(typeof a=="string")a={type:a};var c="none";if(a&&a.type!=undefined)c=a.type;var b=Ext.layout.boxOverflow[c];if(b[this.type])b=b[this.type];this.overflowHandler=new b(this,a)},onLayout:function(c,g){Ext.layout.BoxLayout.superclass.onLayout.call(this,c,g);var a=this.getLayoutTargetSize(),e=this.getVisibleItems(c),b=this.calculateChildBoxes(e,a),f=b.boxes,i=b.meta;if(a.width>0){var j=this.overflowHandler,h=i.tooNarrow?"handleOverflow":"clearOverflow",d=j[h](b,a);if(d){if(d.targetSize)a=d.targetSize;if(d.recalculate){e=this.getVisibleItems(c);b=this.calculateChildBoxes(e,a);f=b.boxes}}}this.layoutTargetLastSize=a;this.childBoxCache=b;this.updateInnerCtSize(a,b);this.updateChildBoxes(f);this.handleTargetOverflow(a,c,g)},updateChildBoxes:function(d){for(var b=0,e=d.length;b<e;b++){var a=d[b],c=a.component;if(a.dirtySize)c.setSize(a.width,a.height);if(isNaN(a.left)||isNaN(a.top))continue;c.setPosition(a.left,a.top)}},updateInnerCtSize:function(g,h){var d=this.align,c=this.padding,f=g.width,e=g.height;if(this.type=="hbox"){var a=f,b=h.meta.maxHeight+c.top+c.bottom;if(d=="stretch")b=e;else if(d=="middle")b=Math.max(e,b)}else{var b=e,a=h.meta.maxWidth+c.left+c.right;if(d=="stretch")a=f;else if(d=="center")a=Math.max(f,a)}this.innerCt.setSize(a||undefined,b||undefined)},handleTargetOverflow:function(c,e,b){var d=b.getStyle("overflow");if(d&&d!="hidden"&&!this.adjustmentPass){var a=this.getLayoutTargetSize();if(a.width!=c.width||a.height!=c.height){this.adjustmentPass=true;this.onLayout(e,b)}}delete this.adjustmentPass},isValidParent:function(a){return this.innerCt&&a.getPositionEl().dom.parentNode==this.innerCt.dom},getVisibleItems:function(c){var c=c||this.container,g=c.getLayoutTarget(),e=c.items.items,f=e.length,b,a,d=[];for(b=0;b<f;b++)if((a=e[b]).rendered&&this.isValidParent(a,g)&&a.hidden!==true&&a.collapsed!==true&&a.shouldLayout!==false)d.push(a);return d},renderAll:function(a,b){if(!this.innerCt){this.innerCt=b.createChild({cls:this.innerCls});this.padding=this.parseMargins(this.padding)}Ext.layout.BoxLayout.superclass.renderAll.call(this,a,this.innerCt)},getLayoutTargetSize:function(){var b=this.container.getLayoutTarget(),a;if(b){a=b.getViewSize();if(Ext.isIE&&Ext.isStrict&&a.width==0)a=b.getStyleSize();a.width-=b.getPadding("lr");a.height-=b.getPadding("tb")}return a},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)},destroy:function(){Ext.destroy(this.overflowHandler);Ext.layout.BoxLayout.superclass.destroy.apply(this,arguments)}});Ext.ns("Ext.layout.boxOverflow");Ext.layout.boxOverflow.None=Ext.extend(Object,{constructor:function(b,a){this.layout=b;Ext.apply(this,a||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn});Ext.layout.boxOverflow.none=Ext.layout.boxOverflow.None;Ext.layout.boxOverflow.Menu=Ext.extend(Ext.layout.boxOverflow.None,{afterCls:"x-strip-right",noItemsMenuText:'<div class="x-toolbar-no-items">(None)</div>',constructor:function(){Ext.layout.boxOverflow.Menu.superclass.constructor.apply(this,arguments);this.menuItems=[]},createInnerElements:function(){if(!this.afterCt)this.afterCt=this.layout.innerCt.insertSibling({cls:this.afterCls},"before")},clearOverflow:function(f,c){var e=c.width+(this.afterCt?this.afterCt.getWidth():0),a=this.menuItems;this.hideTrigger();for(var b=0,d=a.length;b<d;b++)a.pop().component.show();return {targetSize:{height:c.height,width:e}}},showTrigger:function(){this.createMenu();this.menuTrigger.show()},hideTrigger:function(){if(this.menuTrigger!=undefined)this.menuTrigger.hide()},beforeMenuShow:function(b){var e=this.menuItems,g=e.length,a,c,f=function(b,a){return b.isXType("buttongroup")&&!(a instanceof Ext.Toolbar.Separator)};this.clearMenu();b.removeAll();for(var d=0;d<g;d++){a=e[d].component;if(c&&(f(a,c)||f(c,a)))b.add("-");this.addComponentToMenu(b,a);c=a}if(b.items.length<1)b.add(this.noItemsMenuText)},createMenuConfig:function(a,d){var b=Ext.apply({},a.initialConfig),c=a.toggleGroup;Ext.copyTo(b,a,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(b,{text:a.overflowText||a.text,hideOnClick:d});if(c||a.enableToggle)Ext.apply(b,{group:c,checked:a.pressed,listeners:{checkchange:function(c,b){a.toggle(b)}}});delete b.ownerCt;delete b.xtype;delete b.id;return b},addComponentToMenu:function(b,a){if(a instanceof Ext.Toolbar.Separator)b.add("-");else if(Ext.isFunction(a.isXType))if(a.isXType("splitbutton"))b.add(this.createMenuConfig(a,true));else if(a.isXType("button"))b.add(this.createMenuConfig(a,!a.menu));else if(a.isXType("buttongroup"))a.items.each(function(a){this.addComponentToMenu(b,a)},this)},clearMenu:function(){var a=this.moreMenu;if(a&&a.items)a.items.each(function(a){delete a.menu})},createMenu:function(){if(!this.menuTrigger){this.createInnerElements();this.menu=new Ext.menu.Menu({ownerCt:this.layout.container,listeners:{scope:this,beforeshow:this.beforeMenuShow}});this.menuTrigger=new Ext.Button({iconCls:"x-toolbar-more-icon",cls:"x-toolbar-more",menu:this.menu,renderTo:this.afterCt})}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.layout.boxOverflow.menu=Ext.layout.boxOverflow.Menu;Ext.layout.boxOverflow.HorizontalMenu=Ext.extend(Ext.layout.boxOverflow.Menu,{constructor:function(){Ext.layout.boxOverflow.HorizontalMenu.superclass.constructor.apply(this,arguments);var b=this,a=b.layout,c=a.calculateChildBoxes;a.calculateChildBoxes=function(k,j){var h=c.apply(a,arguments),e=h.meta,f=b.menuItems,g=0;for(var d=0,i=f.length;d<i;d++)g+=f[d].width;e.minimumWidth+=g;e.tooNarrow=e.minimumWidth>j.width;return h}},handleOverflow:function(n,k){this.showTrigger();var d=k.width-this.afterCt.getWidth(),a=n.boxes,i=0,e=false;for(var c=0,h=a.length;c<h;c++)i+=a[c].width;var f=d-i,j=0;for(var c=0,h=this.menuItems.length;c<h;c++){var l=this.menuItems[c],o=l.component,g=l.width;if(g<f){o.show();f-=g;j++;e=true}else break}if(e)this.menuItems=this.menuItems.slice(j);else for(var b=a.length-1;b>=0;b--){var m=a[b].component,p=a[b].left+a[b].width;if(p>=d){this.menuItems.unshift({component:m,width:a[b].width});m.hide()}else break}if(this.menuItems.length==0)this.hideTrigger();return {targetSize:{height:k.height,width:d},recalculate:e}}});Ext.layout.boxOverflow.menu.hbox=Ext.layout.boxOverflow.HorizontalMenu;Ext.layout.boxOverflow.Scroller=Ext.extend(Ext.layout.boxOverflow.None,{animateScroll:true,scrollIncrement:100,wheelIncrement:3,scrollRepeatInterval:400,scrollDuration:.4,beforeCls:"x-strip-left",afterCls:"x-strip-right",scrollerCls:"x-strip-scroller",beforeScrollerCls:"x-strip-scroller-left",afterScrollerCls:"x-strip-scroller-right",createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(a){a.stopEvent();this.scrollBy(a.getWheelDelta()*this.wheelIncrement*-1,false)}})},handleOverflow:function(){this.createInnerElements();this.showScrollers()},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons()},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide()}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var a=this.beforeCt.createChild({cls:String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)}),b=this.afterCt.createChild({cls:String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});a.addClassOnOver(this.beforeScrollerCls+"-hover");b.addClassOnOver(this.afterScrollerCls+"-hover");a.setVisibilityMode(Ext.Element.DISPLAY);b.setVisibilityMode(Ext.Element.DISPLAY);this.beforeRepeater=new Ext.util.ClickRepeater(a,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=new Ext.util.ClickRepeater(b,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=a;this.afterScroller=b}},destroy:function(){Ext.destroy(this.beforeScroller,this.afterScroller,this.beforeRepeater,this.afterRepeater,this.beforeCt,this.afterCt)},scrollBy:function(b,a){this.scrollTo(this.getScrollPosition()+b,a)},getItem:function(a){if(Ext.isString(a))a=Ext.getCmp(a);else if(Ext.isNumber(a))a=this.items[a];return a},getScrollAnim:function(){return {duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined)return;var d=this.atExtremeBefore()?"addClass":"removeClass",c=this.atExtremeAfter()?"addClass":"removeClass",a=this.beforeScrollerCls+"-disabled",b=this.afterScrollerCls+"-disabled";this.beforeScroller[d](a);this.afterScroller[c](b);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(a){this.scrollBy(-this.scrollIncrement,a)},scrollRight:function(a){this.scrollBy(this.scrollIncrement,a)},scrollToItem:function(a,e){a=this.getItem(a);if(a!=undefined){var b=this.getItemVisibility(a);if(!b.fullyVisible){var c=a.getBox(true,true),d=c.x;if(b.hiddenRight)d-=this.layout.innerCt.getWidth()-c.width;this.scrollTo(d,e)}}},getItemVisibility:function(f){var a=this.getItem(f).getBox(true,true),c=a.x,e=a.x+a.width,b=this.getScrollPosition(),d=this.layout.innerCt.getWidth()+b;return {hiddenLeft:c<b,hiddenRight:e>d,fullyVisible:c>b&&e<d}}});Ext.layout.boxOverflow.scroller=Ext.layout.boxOverflow.Scroller;Ext.layout.boxOverflow.VerticalScroller=Ext.extend(Ext.layout.boxOverflow.Scroller,{scrollIncrement:75,wheelIncrement:2,handleOverflow:function(b,a){Ext.layout.boxOverflow.VerticalScroller.superclass.handleOverflow.apply(this,arguments);return {targetSize:{height:a.height-(this.beforeCt.getHeight()+this.afterCt.getHeight()),width:a.width}}},createInnerElements:function(){var a=this.layout.innerCt;if(!this.beforeCt){this.beforeCt=a.insertSibling({cls:this.beforeCls},"before");this.afterCt=a.insertSibling({cls:this.afterCls},"after");this.createWheelListener()}},scrollTo:function(c,a){var d=this.getScrollPosition(),b=c.constrain(0,this.getMaxScrollBottom());if(b!=d&&!this.scrolling){if(a==undefined)a=this.animateScroll;this.layout.innerCt.scrollTo("top",b,a?this.getScrollAnim():false);if(a)this.scrolling=true;else{this.scrolling=false;this.updateScrollButtons()}}},getScrollPosition:function(){return parseInt(this.layout.innerCt.dom.scrollTop,10)||0},getMaxScrollBottom:function(){return this.layout.innerCt.dom.scrollHeight-this.layout.innerCt.getHeight()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollBottom()}});Ext.layout.boxOverflow.scroller.vbox=Ext.layout.boxOverflow.VerticalScroller;Ext.layout.boxOverflow.HorizontalScroller=Ext.extend(Ext.layout.boxOverflow.Scroller,{handleOverflow:function(b,a){Ext.layout.boxOverflow.HorizontalScroller.superclass.handleOverflow.apply(this,arguments);return {targetSize:{height:a.height,width:a.width-(this.beforeCt.getWidth()+this.afterCt.getWidth())}}},createInnerElements:function(){var a=this.layout.innerCt;if(!this.beforeCt){this.afterCt=a.insertSibling({cls:this.afterCls},"before");this.beforeCt=a.insertSibling({cls:this.beforeCls},"before");this.createWheelListener()}},scrollTo:function(c,a){var d=this.getScrollPosition(),b=c.constrain(0,this.getMaxScrollRight());if(b!=d&&!this.scrolling){if(a==undefined)a=this.animateScroll;this.layout.innerCt.scrollTo("left",b,a?this.getScrollAnim():false);if(a)this.scrolling=true;else{this.scrolling=false;this.updateScrollButtons()}}},getScrollPosition:function(){return parseInt(this.layout.innerCt.dom.scrollLeft,10)||0},getMaxScrollRight:function(){return this.layout.innerCt.dom.scrollWidth-this.layout.innerCt.getWidth()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollRight()}});Ext.layout.boxOverflow.scroller.hbox=Ext.layout.boxOverflow.HorizontalScroller;Ext.layout.HBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"top",type:"hbox",calculateChildBoxes:function(g,G){var l=g.length,s=this.padding,x=s.top,k=s.left,O=x+s.bottom,T=k+s.right,m=G.width-this.scrollOffset,Q=G.height,J=Math.max(0,Q-O),U=this.pack=="start",V=this.pack=="center",P=this.pack=="end",A=0,r=0,M=0,p=0,E=0,e=[],a,f,i,D,c,y,b,d,v,u,j,q;for(b=0;b<l;b++){a=g[b];i=a.height;f=a.width;y=!a.hasLayout&&typeof a.doLayout=="function";if(typeof f!="number")if(a.flex&&!f)M+=a.flex;else{if(!f&&y)a.doLayout();D=a.getSize();f=D.width;i=D.height}c=a.margins;u=c.left+c.right;A+=u+(f||0);p+=u+(a.flex?a.minWidth||0:f);E+=u+(a.minWidth||f||0);if(typeof i!="number"){if(y)a.doLayout();i=a.getHeight()}r=Math.max(r,i+c.top+c.bottom);e.push({component:a,height:i||undefined,width:f||undefined})}var z=p-m,K=E>m,B=Math.max(0,m-A-T);if(K)for(b=0;b<l;b++)e[b].width=g[b].minWidth||g[b].width||e[b].width;else if(z>0){var n=[];for(var h=0,C=l;h<C;h++){var w=g[h],t=w.minWidth||0;if(w.flex)e[h].width=t;else n.push({minWidth:t,available:e[h].width-t,index:h})}n.sort(function(a,b){return a.available>b.available?1:-1});for(var b=0,C=n.length;b<C;b++){var o=n[b].index;if(o==undefined)continue;var w=g[o],S=e[o],N=S.width,t=w.minWidth,H=Math.max(t,N-Math.ceil(z/(C-b))),R=N-H;e[o].width=H;z-=R}}else{var I=B,L=M;for(b=0;b<l;b++){a=g[b];d=e[b];c=a.margins;j=c.top+c.bottom;if(U&&a.flex&&!a.width){v=Math.ceil(a.flex/L*I);I-=v;L-=a.flex;d.width=v;d.dirtySize=true}}}if(V)k+=B/2;else if(P)k+=B;for(b=0;b<l;b++){a=g[b];d=e[b];c=a.margins;k+=c.left;j=c.top+c.bottom;d.left=k;d.top=x+c.top;switch(this.align){case "stretch":q=J-j;d.height=q.constrain(a.minHeight||0,a.maxHeight||1e6);d.dirtySize=true;break;case "stretchmax":q=r-j;d.height=q.constrain(a.minHeight||0,a.maxHeight||1e6);d.dirtySize=true;break;case "middle":var F=J-d.height-j;if(F>0)d.top=x+j+F/2}k+=d.width+c.right}return {boxes:e,meta:{maxHeight:r,nonFlexWidth:A,desiredWidth:p,minimumWidth:E,shortfall:p-m,tooNarrow:K}}}});Ext.Container.LAYOUTS.hbox=Ext.layout.HBoxLayout;Ext.layout.VBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"left",type:"vbox",calculateChildBoxes:function(g,E){var l=g.length,t=this.padding,h=t.top,C=t.left,N=h+t.bottom,S=C+t.right,O=E.width-this.scrollOffset,n=E.height,H=Math.max(0,O-S),T=this.pack=="start",U=this.pack=="center",P=this.pack=="end",y=0,v=0,L=0,r=0,z=0,e=[],a,j,f,D,c,x,b,d,V,k,s,o;for(b=0;b<l;b++){a=g[b];f=a.height;j=a.width;x=!a.hasLayout&&typeof a.doLayout=="function";if(typeof f!="number")if(a.flex&&!f)L+=a.flex;else{if(!f&&x)a.doLayout();D=a.getSize();j=D.width;f=D.height}c=a.margins;s=c.top+c.bottom;y+=s+(f||0);r+=s+(a.flex?a.minHeight||0:f);z+=s+(a.minHeight||f||0);if(typeof j!="number"){if(x)a.doLayout();j=a.getWidth()}v=Math.max(v,j+c.left+c.right);e.push({component:a,height:f||undefined,width:j||undefined})}var A=r-n,I=z>n,B=Math.max(0,n-y-N);if(I)for(b=0,m=l;b<m;b++)e[b].height=g[b].minHeight||g[b].height||e[b].height;else if(A>0){var q=[];for(var i=0,m=l;i<m;i++){var w=g[i],u=w.minHeight||0;if(w.flex)e[i].height=u;else q.push({minHeight:u,available:e[i].height-u,index:i})}q.sort(function(a,b){return a.available>b.available?1:-1});for(var b=0,m=q.length;b<m;b++){var p=q[b].index;if(p==undefined)continue;var w=g[p],R=e[p],M=R.height,u=w.minHeight,G=Math.max(u,M-Math.ceil(A/(m-b))),Q=M-G;e[p].height=G;A-=Q}}else{var K=B,J=L;for(b=0;b<l;b++){a=g[b];d=e[b];c=a.margins;k=c.left+c.right;if(T&&a.flex&&!a.height){flexedHeight=Math.ceil(a.flex/J*K);K-=flexedHeight;J-=a.flex;d.height=flexedHeight;d.dirtySize=true}}}if(U)h+=B/2;else if(P)h+=B;for(b=0;b<l;b++){a=g[b];d=e[b];c=a.margins;h+=c.top;k=c.left+c.right;d.left=C+c.left;d.top=h;switch(this.align){case "stretch":o=H-k;d.width=o.constrain(a.minWidth||0,a.maxWidth||1e6);d.dirtySize=true;break;case "stretchmax":o=v-k;d.width=o.constrain(a.minWidth||0,a.maxWidth||1e6);d.dirtySize=true;break;case "center":var F=H-d.width-k;if(F>0)d.left=C+k+F/2}h+=d.height+c.bottom}return {boxes:e,meta:{maxWidth:v,nonFlexHeight:y,desiredHeight:r,minimumHeight:z,shortfall:r-n,tooNarrow:I}}}});Ext.Container.LAYOUTS.vbox=Ext.layout.VBoxLayout;Ext.layout.ToolbarLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"toolbar",triggerWidth:18,noItemsMenuText:'<div class="x-toolbar-no-items">(None)</div>',lastOverflow:false,tableHTML:['<table cellspacing="0" class="x-toolbar-ct">',"<tbody>","<tr>",'<td class="x-toolbar-left" align="{0}">','<table cellspacing="0">',"<tbody>",'<tr class="x-toolbar-left-row"></tr>',"</tbody>","</table>","</td>",'<td class="x-toolbar-right" align="right">','<table cellspacing="0" class="x-toolbar-right-ct">',"<tbody>","<tr>","<td>",'<table cellspacing="0">',"<tbody>",'<tr class="x-toolbar-right-row"></tr>',"</tbody>","</table>","</td>","<td>",'<table cellspacing="0">',"<tbody>",'<tr class="x-toolbar-extras-row"></tr>',"</tbody>","</table>","</td>","</tr>","</tbody>","</table>","</td>","</tr>","</tbody>","</table>"].join(""),onLayout:function(f,b){if(!this.leftTr){var j=f.buttonAlign=="center"?"center":"left";b.addClass("x-toolbar-layout-ct");b.insertHtml("beforeEnd",String.format(this.tableHTML,j));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);if(this.hiddenItem==undefined)this.hiddenItems=[]}var d=f.buttonAlign=="right"?this.rightTr:this.leftTr,h=f.items.items,c=0;for(var e=0,i=h.length,a;e<i;e++,c++){a=h[e];if(a.isFill){d=this.rightTr;c=-1}else if(!a.rendered){a.render(this.insertCell(a,d,c));this.configureItem(a)}else if(!a.xtbHidden&&!this.isValidParent(a,d.childNodes[c])){var g=this.insertCell(a,d,c);g.appendChild(a.getPositionEl().dom);a.container=Ext.get(g)}}this.cleanup(this.leftTr);this.cleanup(this.rightTr);this.cleanup(this.extrasTr);this.fitToSize(b)},cleanup:function(c){var d=c.childNodes,a,b;for(a=d.length-1;a>=0&&(b=d[a]);a--)if(!b.firstChild)c.removeChild(b)},insertCell:function(d,b,c){var a=document.createElement("td");a.className="x-toolbar-cell";b.insertBefore(a,b.childNodes[c]||null);return a},hideItem:function(a){this.hiddenItems.push(a);a.xtbHidden=true;a.xtbWidth=a.getPositionEl().dom.parentNode.offsetWidth;a.hide()},unhideItem:function(a){a.show();a.xtbHidden=false;this.hiddenItems.remove(a)},getItemWidth:function(a){return a.hidden?a.xtbWidth||0:a.getPositionEl().dom.parentNode.offsetWidth},fitToSize:function(g){if(this.container.enableOverflow===false)return;var b=g.dom.clientWidth,k=g.dom.firstChild.offsetWidth,l=b-this.triggerWidth,i=this.lastWidth||0,e=this.hiddenItems,c=e.length!=0,m=b>=i;this.lastWidth=b;if(k>b||c&&m){var h=this.container.items.items,j=h.length,f=0,a;for(var d=0;d<j;d++){a=h[d];if(!a.isFill){f+=this.getItemWidth(a);if(f>l){if(!(a.hidden||a.xtbHidden))this.hideItem(a)}else if(a.xtbHidden)this.unhideItem(a)}}}c=e.length!=0;if(c){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(a,d){var b=Ext.apply({},a.initialConfig),c=a.toggleGroup;Ext.copyTo(b,a,["iconCls","icon","itemId","disabled","handler","scope","menu"]);Ext.apply(b,{text:a.overflowText||a.text,hideOnClick:d});if(c||a.enableToggle)Ext.apply(b,{group:c,checked:a.pressed,listeners:{checkchange:function(c,b){a.toggle(b)}}});delete b.ownerCt;delete b.xtype;delete b.id;return b},addComponentToMenu:function(b,a){if(a instanceof Ext.Toolbar.Separator)b.add("-");else if(Ext.isFunction(a.isXType))if(a.isXType("splitbutton"))b.add(this.createMenuConfig(a,true));else if(a.isXType("button"))b.add(this.createMenuConfig(a,!a.menu));else if(a.isXType("buttongroup"))a.items.each(function(a){this.addComponentToMenu(b,a)},this)},clearMenu:function(){var a=this.moreMenu;if(a&&a.items)a.items.each(function(a){delete a.menu})},beforeMoreShow:function(b){var e=this.container.items.items,g=e.length,a,c,f=function(b,a){return b.isXType("buttongroup")&&!(a instanceof Ext.Toolbar.Separator)};this.clearMenu();b.removeAll();for(var d=0;d<g;d++){a=e[d];if(a.xtbHidden){if(c&&(f(a,c)||f(c,a)))b.add("-");this.addComponentToMenu(b,a);c=a}}if(b.items.length<1)b.add(this.noItemsMenuText)},initMore:function(){if(!this.more){this.moreMenu=new Ext.menu.Menu({ownerCt:this.container,listeners:{beforeshow:this.beforeMoreShow,scope:this}});this.more=new Ext.Button({iconCls:"x-toolbar-more-icon",cls:"x-toolbar-more",menu:this.moreMenu,ownerCt:this.container});var a=this.insertCell(this.more,this.extrasTr,100);this.more.render(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.layout.MenuLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,type:"menu",setContainer:function(a){this.monitorResize=!a.floating;a.on("autosize",this.doAutoSize,this);Ext.layout.MenuLayout.superclass.setContainer.call(this,a)},renderItem:function(a,b,c){if(!this.itemTpl)this.itemTpl=Ext.layout.MenuLayout.prototype.itemTpl=new Ext.XTemplate('<li id="{itemId}" class="{itemCls}">','<tpl if="needsIcon">','<img alt="{altText}" src="{icon}" class="{iconCls}"/>',"</tpl>","</li>");if(a&&!a.rendered){if(Ext.isNumber(b))b=c.dom.childNodes[b];var d=this.getItemArgs(a);a.render(a.positionEl=b?this.itemTpl.insertBefore(b,d,true):this.itemTpl.append(c,d,true));a.positionEl.menuItemId=a.getItemId();if(!d.isMenuItem&&d.needsIcon)a.positionEl.addClass("x-menu-list-item-indent");this.configureItem(a)}else if(a&&!this.isValidParent(a,c)){if(Ext.isNumber(b))b=c.dom.childNodes[b];c.dom.insertBefore(a.getActionEl().dom,b||null)}},getItemArgs:function(a){var b=a instanceof Ext.menu.Item,c=!(b||a instanceof Ext.menu.Separator);return {isMenuItem:b,needsIcon:c&&(a.icon||a.iconCls),icon:a.icon||Ext.BLANK_IMAGE_URL,iconCls:"x-menu-item-icon "+(a.iconCls||""),itemId:"x-menu-el-"+a.id,itemCls:"x-menu-list-item ",altText:a.altText||""}},isValidParent:function(b,a){return b.el.up("li.x-menu-list-item",5).dom.parentNode===(a.dom||a)},onLayout:function(a,b){Ext.layout.MenuLayout.superclass.onLayout.call(this,a,b);this.doAutoSize()},doAutoSize:function(){var a=this.container,b=a.width;if(a.floating)if(b)a.setWidth(b);else if(Ext.isIE){a.setWidth(Ext.isStrict&&(Ext.isIE7||Ext.isIE8)?"auto":a.minWidth);var c=a.getEl(),d=c.dom.offsetWidth;a.setWidth(a.getLayoutTarget().getWidth()+c.getFrameWidth("lr"))}}});Ext.Container.LAYOUTS.menu=Ext.layout.MenuLayout;Ext.Viewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.Viewport.superclass.initComponent.call(this);document.getElementsByTagName("html")[0].className+=" x-viewport";this.el=Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll="no";this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el},fireResize:function(a,b){this.fireEvent("resize",this,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:.25},collapseDefaults:{duration:.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","iconchange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.unstyled)this.baseCls="x-plain";this.toolbars=[];if(this.tbar){this.elements+=",tbar";this.topToolbar=this.createToolbar(this.tbar);this.tbar=null}if(this.bbar){this.elements+=",bbar";this.bottomToolbar=this.createToolbar(this.bbar);this.bbar=null}if(this.header===true){this.elements+=",header";this.header=null}else if(this.headerCfg||this.title&&this.header!==false)this.elements+=",header";if(this.footerCfg||this.footer===true){this.elements+=",footer";this.footer=null}if(this.buttons){this.fbar=this.buttons;this.buttons=null}if(this.fbar)this.createFbar(this.fbar);if(this.autoLoad)this.on("render",this.doAutoLoad,this,{delay:10})},createFbar:function(b){var a=this.minButtonWidth;this.elements+=",footer";this.fbar=this.createToolbar(b,{buttonAlign:this.buttonAlign,toolbarCls:"x-panel-fbar",enableOverflow:false,defaults:function(b){return {minWidth:b.minWidth||a}}});this.fbar.items.each(function(a){a.minWidth=a.minWidth||this.minButtonWidth},this);this.buttons=this.fbar.items.items},createToolbar:function(a,c){var b;if(Ext.isArray(a))a={items:a};b=a.events?Ext.apply(a,c):this.createComponent(Ext.apply({},a,c),"toolbar");this.toolbars.push(b);return b},createElement:function(a,b){if(this[a]){b.appendChild(this[a].dom);return}if(a==="bwrap"||this.elements.indexOf(a)!=-1){if(this[a+"Cfg"])this[a]=Ext.fly(b).createChild(this[a+"Cfg"]);else{var c=document.createElement("div");c.className=this[a+"Cls"];this[a]=Ext.get(b.appendChild(c))}if(this[a+"CssClass"])this[a].addClass(this[a+"CssClass"]);if(this[a+"Style"])this[a].applyStyles(this[a+"Style"])}},onRender:function(j,i){Ext.Panel.superclass.onRender.call(this,j,i);this.createClasses();var b=this.el,c=b.dom,a,f;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){f=this.tools;this.elements+=this.header!==false?",header":""}this.tools={};b.addClass(this.baseCls);if(c.firstChild){this.header=b.down("."+this.headerCls);this.bwrap=b.down("."+this.bwrapCls);var d=this.bwrap?this.bwrap:b;this.tbar=d.down("."+this.tbarCls);this.body=d.down("."+this.bodyCls);this.bbar=d.down("."+this.bbarCls);this.footer=d.down("."+this.footerCls);this.fromMarkup=true}if(this.preventBodyReset===true)b.addClass("x-panel-reset");if(this.cls)b.addClass(this.cls);if(this.buttons)this.elements+=",footer";if(this.frame){b.insertHtml("afterBegin",String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement("header",c.firstChild.firstChild.firstChild);this.createElement("bwrap",c);a=this.bwrap.dom;var h=c.childNodes[1],g=c.childNodes[2];a.appendChild(h);a.appendChild(g);var e=a.firstChild.firstChild.firstChild;this.createElement("tbar",e);this.createElement("body",e);this.createElement("bbar",e);this.createElement("footer",a.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(e)}else{this.createElement("header",c);this.createElement("bwrap",c);a=this.bwrap.dom;this.createElement("tbar",a);this.createElement("body",a);this.createElement("bbar",a);this.createElement("footer",a);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(f)this.addTool.apply(this,f);if(this.fbar){this.footer.addClass("x-panel-btns");this.fbar.ownerCt=this;this.fbar.render(this.footer);this.footer.createChild({cls:"x-clear"})}if(this.tbar&&this.topToolbar){this.topToolbar.ownerCt=this;this.topToolbar.render(this.tbar)}if(this.bbar&&this.bottomToolbar){this.bottomToolbar.ownerCt=this;this.bottomToolbar.render(this.bbar)}},setIconClass:function(b){var a=this.iconCls;this.iconCls=b;if(this.rendered&&this.header)if(this.frame){this.header.addClass("x-panel-icon");this.header.replaceClass(a,this.iconCls)}else{var e=this.header,c=e.child("img.x-panel-inline-icon");if(c)Ext.fly(c).replaceClass(a,this.iconCls);else{var d=e.child("span."+this.headerTextCls);if(d)Ext.DomHelper.insertBefore(d.dom,{tag:"img",alt:"",src:Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})}}this.fireEvent("iconchange",this,b,a)},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},getFooterToolbar:function(){return this.fbar},addButton:function(a,b,c){if(!this.fbar)this.createFbar([]);if(b){if(Ext.isString(a))a={text:a};a=Ext.apply({handler:b,scope:c},a)}return this.fbar.add(a)},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 c=0,e=arguments,g=e.length;c<g;c++){var a=e[c];if(!this.tools[a.id]){var f="x-tool-"+a.id+"-over",b=this.toolTemplate.insertFirst(this[this.toolTarget],a,true);this.tools[a.id]=b;b.enableDisplayMode("block");this.mon(b,"click",this.createToolHandler(b,a,f,this));if(a.on)this.mon(b,a.on);if(a.hidden)b.hide();if(a.qtip)if(Ext.isObject(a.qtip))Ext.QuickTips.register(Ext.apply({target:b.id},a.qtip));else b.dom.qtip=a.qtip;b.addClassOnOver(f)}}},onLayout:function(b,a){Ext.Panel.superclass.onLayout.apply(this,arguments);if(this.hasLayout&&this.toolbars.length>0){Ext.each(this.toolbars,function(b){b.doLayout(undefined,a)});this.syncHeight()}},syncHeight:function(){var b=this.toolbarHeight,d=this.body,a=this.lastSize.height,c;if(this.autoHeight||!Ext.isDefined(a)||a=="auto")return;if(b!=this.getToolbarHeight()){b=Math.max(0,a-this.getFrameHeight());d.setHeight(b);c=d.getSize();this.toolbarHeight=this.getToolbarHeight();this.onBodyResize(c.width,c.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(b,a,d,c){return function(e){b.removeClass(d);if(a.stopEvent!==false)e.stopEvent();if(a.handler)a.handler.call(a.scope||b,e,b,c,a)}},afterRender:function(){if(this.floating&&!this.hidden)this.el.show();if(this.title)this.setTitle(this.title);Ext.Panel.superclass.afterRender.call(this);if(this.collapsed){this.collapsed=false;this.collapse(false)}this.initEvents()},getKeyMap:function(){if(!this.keyMap)this.keyMap=new Ext.KeyMap(this.el,this.keys);return this.keyMap},initEvents:function(){if(this.keys)this.getKeyMap();if(this.draggable)this.initDraggable();if(this.toolbars.length>0){Ext.each(this.toolbars,function(a){a.doLayout();a.on({scope:this,afterlayout:this.syncHeight,remove:this.syncHeight})},this);this.syncHeight()}},initDraggable:function(){this.dd=new Ext.Panel.DD(this,Ext.isBoolean(this.draggable)?null:this.draggable)},beforeEffect:function(a){if(this.floating)this.el.beforeAction();if(a!==false)this.el.addClass("x-panel-animated")},afterEffect:function(){this.syncShadow();this.el.removeClass("x-panel-animated")},createEffect:function(a,c,d){var b={scope:d,block:true};if(a===true){b.callback=c;return b}else if(!a.callback)b.callback=c;else b.callback=function(){c.call(d);Ext.callback(a.callback,a.scope)};return Ext.applyIf(b,a)},collapse:function(a){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,a)===false)return;var b=a===true||a!==false&&this.animCollapse;this.beforeEffect(b);this.onCollapse(b,a);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.hideMode);this.afterCollapse(false)}},afterCollapse:function(a){this.collapsed=true;this.el.addClass(this.collapsedCls);if(a!==false)this[this.collapseEl].hide(this.hideMode);this.afterEffect(a);this.cascade(function(a){if(a.lastSize)a.lastSize={width:undefined,height:undefined}});this.fireEvent("collapse",this)},expand:function(a){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,a)===false)return;var b=a===true||a!==false&&this.animCollapse;this.el.removeClass(this.collapsedCls);this.beforeEffect(b);this.onExpand(b,a);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.hideMode);this.afterExpand(false)}},afterExpand:function(a){this.collapsed=false;if(a!==false)this[this.collapseEl].show(this.hideMode);this.afterEffect(a);if(this.deferLayout){delete 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(d,c,e,f){var a=d,b=c;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,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,d,c,e,f)},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 a=this.el.getFrameWidth("lr")+this.bwrap.getFrameWidth("lr");if(this.frame){var b=this.bwrap.dom.firstChild;a+=Ext.fly(b).getFrameWidth("l")+Ext.fly(b.firstChild).getFrameWidth("r");a+=this.mc.getFrameWidth("lr")}return a},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.body.getHeight()},syncShadow:function(){if(this.floating)this.el.sync(true)},getLayoutTarget:function(){return this.body},getContentTarget:function(){return this.body},setTitle:function(a,b){this.title=a;if(this.header&&this.headerAsText)this.header.child("span").update(a);if(b)this.setIconClass(b);this.fireEvent("titlechange",this,a);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(this.toolbars.length>0)Ext.each(this.toolbars,function(a){a.un("afterlayout",this.syncHeight,this);a.un("remove",this.syncHeight,this)},this);if(Ext.isArray(this.buttons))while(this.buttons.length)Ext.destroy(this.buttons[0]);if(this.rendered){Ext.destroy(this.ft,this.header,this.footer,this.tbar,this.bbar,this.body,this.mc,this.bwrap,this.dd);if(this.fbar)Ext.destroy(this.fbar,this.fbar.el)}Ext.destroy(this.toolbars)},createClasses:function(){this.headerCls=this.baseCls+"-header";this.headerTextCls=this.baseCls+"-header-text";this.bwrapCls=this.baseCls+"-bwrap";this.tbarCls=this.baseCls+"-tbar";this.bodyCls=this.baseCls+"-body";this.bbarCls=this.baseCls+"-bbar";this.footerCls=this.baseCls+"-footer"},createGhost:function(b,e,c){var a=document.createElement("div");a.className="x-panel-ghost "+(b?b:"");if(this.header)a.appendChild(this.el.dom.firstChild.cloneNode(true));Ext.fly(a.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());a.style.width=this.el.dom.offsetWidth+"px";if(!c)this.container.dom.appendChild(a);else Ext.getDom(c).appendChild(a);if(e!==false&&this.el.useShim!==false){var d=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},a);d.show();return d}else return new Ext.Element(a)},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(a,b){if(a.field){this.field=Ext.create(a.field,"textfield");b=Ext.apply({},a);delete b.field}else this.field=a;Ext.Editor.superclass.constructor.call(this,b)};Ext.extend(Ext.Editor,Ext.Component,{allowBlur:true,value:"",alignment:"c-c?",offsets:[0,0],shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:true,cancelOnEsc:true,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onRender:function(a){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:a,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(b,a){var d=a.getKey(),c=this.completeOnEnter&&d==a.ENTER,e=this.cancelOnEsc&&d==a.ESC;if(c||e){a.stopEvent();if(c)this.completeEdit();else this.cancelEdit();if(b.triggerBlur)b.triggerBlur()}this.fireEvent("specialkey",b,a)},startEdit:function(c,b){if(this.editing)this.completeEdit();this.boundEl=Ext.get(c);var a=b!==undefined?b:this.boundEl.dom.innerHTML;if(!this.rendered)this.render(this.parentEl||document.body);if(this.fireEvent("beforestartedit",this,this.boundEl,a)!==false){this.startValue=a;this.field.reset();this.field.setValue(a);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||Ext.isIE7&&Ext.isStrict)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(b){if(!this.editing)return;if(this.field.assertValue)this.field.assertValue();var a=this.getValue();if(!this.field.isValid()){if(this.revertInvalid!==false)this.cancelEdit(b);return}if(String(a)===String(this.startValue)&&this.ignoreNoChange){this.hideEdit(b);return}if(this.fireEvent("beforecomplete",this,a,this.startValue)!==false){a=this.getValue();if(this.updateEl&&this.boundEl)this.boundEl.update(a);this.hideEdit(b);this.fireEvent("complete",this,a,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.selectSameEditor!==true)this.completeEdit()},onHide:function(){if(this.editing){this.completeEdit();return}this.field.blur();if(this.field.collapse)this.field.collapse();this.el.hide();if(this.hideEl!==false)this.boundEl.show()},setValue:function(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(b,a){this.autoEl={tag:"div",cls:this.itemCls};Ext.ColorPalette.superclass.onRender.call(this,b,a);var c=this.tpl||new Ext.XTemplate('<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>');c.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,true)}},handleClick:function(b,a){b.preventDefault();if(!this.disabled){var c=a.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(c.toUpperCase())}},select:function(a,c){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;if(c!==true)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,initHour:12,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime(true):(new Date).clearTime();this.addEvents("select");if(this.handler)this.on("select",this.handler,this.scope||this);this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var a=this.disabledDates,c=a.length-1,b="(?:";Ext.each(a,function(e,d){b+=Ext.isDate(e)?"^"+Ext.escapeRe(e.dateFormat(this.format))+"$":a[d];if(d!=c)b+="|"},this);this.disabledDatesRE=new RegExp(b+")")}},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(h,f){var a=['<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>'],g=this.dayNames,b;for(b=0;b<7;b++){var d=this.startDay+b;if(d>6)d=d-7;a.push("<th><span>",g[d].substr(0,1),"</span></th>")}a[a.length]="</tr></thead><tbody><tr>";for(b=0;b<42;b++){if(b%7===0&&b!==0)a[a.length]="</tr><tr>";a[a.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'}a.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 c=document.createElement("div");c.className="x-date-picker";c.innerHTML=a.join("");h.dom.insertBefore(c,f);this.el=Ext.get(c);this.eventEl=Ext.get(c.firstChild);this.prevRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.nextRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");this.keyNav=new Ext.KeyNav(this.eventEl,{left:function(a){if(a.ctrlKey)this.showPrevMonth();else this.update(this.activeDate.add("d",-1))},right:function(a){if(a.ctrlKey)this.showNextMonth();else this.update(this.activeDate.add("d",1))},up:function(a){if(a.ctrlKey)this.showNextYear();else this.update(this.activeDate.add("d",-7))},down:function(a){if(a.ctrlKey)this.showPrevYear();else this.update(this.activeDate.add("d",7))},pageUp:function(){this.showNextMonth()},pageDown:function(){this.showPrevMonth()},enter:function(a){a.stopPropagation();return true},scope:this});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:"&#160;",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.el.child("em").addClass("x-btn-arrow");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var e=(new Date).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,e),tooltip:String.format(this.todayTip,e),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 b=['<table border="0" cellspacing="0">'];for(var a=0;a<6;a++)b.push('<tr><td class="x-date-mp-month"><a href="#">',Date.getShortMonthName(a),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',Date.getShortMonthName(a+6),"</a></td>",a===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>');b.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(b.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(b,c,a){a+=1;if(a%2===0)b.dom.xmonth=5+Math.round(a*.5);else b.dom.xmonth=Math.round((a-1)*.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:.2})}},updateMPYear:function(d){this.mpyear=d;var e=this.mpYears.elements;for(var b=1;b<=10;b++){var c=e[b-1],a;if(b%2===0){a=d+Math.round(b*.5);c.firstChild.innerHTML=a;c.xyear=a}else{a=d-(5-Math.round(b*.5));c.firstChild.innerHTML=a;c.xyear=a}this.mpYears.item(b-1)[a==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(a){this.mpMonths.each(function(b){b[b.dom.xmonth==a?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(){},onMonthClick:function(e,d){e.stopEvent();var b=new Ext.Element(d),a;if(b.is("button.x-date-mp-cancel"))this.hideMonthPicker();else if(b.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(a=b.up("td.x-date-mp-month",2)){this.mpMonths.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelMonth=a.dom.xmonth}else if(a=b.up("td.x-date-mp-year",2)){this.mpYears.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelYear=a.dom.xyear}else if(b.is("a.x-date-mp-prev"))this.updateMPYear(this.mpyear-10);else if(b.is("a.x-date-mp-next"))this.updateMPYear(this.mpyear+10)},onMonthDblClick:function(d,c){d.stopEvent();var b=new Ext.Element(c),a;if(a=b.up("td.x-date-mp-month",2)){this.update(new Date(this.mpSelYear,a.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else if(a=b.up("td.x-date-mp-year",2)){this.update(new Date(a.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:.2})},showPrevMonth:function(){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(){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(b,w){if(this.rendered){var k=this.activeDate,t=this.isVisible();this.activeDate=b;if(!w&&k&&this.el){var A=b.getTime();if(k.getMonth()==b.getMonth()&&k.getFullYear()==b.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(a){if(a.dom.firstChild.dateValue==A){a.addClass("x-date-selected");if(t&&!this.cancelFocus)Ext.fly(a.dom.firstChild).focus(50);return false}},this);return}}var s=b.getDaysInMonth(),B=b.getFirstDateOfMonth(),e=B.getDay()-this.startDay;if(e<0)e+=7;s+=e;var l=b.add("mo",-1),r=l.getDaysInMonth()-e,d=this.cells.elements,o=this.textNodes,c=new Date(l.getFullYear(),l.getMonth(),r,this.initHour),x=(new Date).clearTime().getTime(),D=b.clearTime(true).getTime(),u=this.minDate?this.minDate.clearTime(true):Number.NEGATIVE_INFINITY,p=this.maxDate?this.maxDate.clearTime(true):Number.POSITIVE_INFINITY,h=this.disabledDatesRE,C=this.disabledDatesText,i=this.disabledDays?this.disabledDays.join(""):false,y=this.disabledDaysText,g=this.format;if(this.showToday){var j=(new Date).clearTime(),q=j<u||j>p||h&&g&&h.test(j.dateFormat(g))||i&&i.indexOf(j.getDay())!=-1;if(!this.disabled){this.todayBtn.setDisabled(q);this.todayKeyListener[q?"disable":"enable"]()}}var m=function(d,a){a.title="";var b=c.clearTime(true).getTime();a.firstChild.dateValue=b;if(b==x){a.className+=" x-date-today";a.title=d.todayText}if(b==D){a.className+=" x-date-selected";if(t)Ext.fly(a.firstChild).focus(50)}if(b<u){a.className=" x-date-disabled";a.title=d.minText;return}if(b>p){a.className=" x-date-disabled";a.title=d.maxText;return}if(i)if(i.indexOf(c.getDay())!=-1){a.title=y;a.className=" x-date-disabled"}if(h&&g){var e=c.dateFormat(g);if(h.test(e)){a.title=C.replace("%0",e);a.className=" x-date-disabled"}}},a=0;for(;a<e;a++){o[a].innerHTML=++r;c.setDate(c.getDate()+1);d[a].className="x-date-prevday";m(this,d[a])}for(;a<s;a++){var v=a-e+1;o[a].innerHTML=v;c.setDate(c.getDate()+1);d[a].className="x-date-active";m(this,d[a])}var z=0;for(;a<42;a++){o[a].innerHTML=++z;c.setDate(c.getDate()+1);d[a].className="x-date-nextday";m(this,d[a])}this.mbtn.setText(this.monthNames[b.getMonth()]+" "+b.getFullYear());if(!this.internalRender){var f=this.el.dom.firstChild,n=f.offsetWidth;this.el.setWidth(n+this.el.getBorderWidth("lr"));Ext.fly(f).setWidth(n);this.internalRender=true;if(Ext.isOpera&&!this.secondPass){f.rows[0].cells[1].style.width=n-(f.rows[0].cells[0].offsetWidth+f.rows[0].cells[2].offsetWidth)+"px";this.secondPass=true;this.update.defer(10,this,[b])}}}},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(c,b){this.el=Ext.get(c);Ext.apply(this,b);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 a=this.el.getUpdater();a.showLoadIndicator=false;a.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.ns("Ext.slider");Ext.slider.Thumb=Ext.extend(Object,{dragging:false,constructor:function(a){Ext.apply(this,a||{},{cls:"x-slider-thumb",constrain:false});Ext.slider.Thumb.superclass.constructor.call(this,a);if(this.slider.vertical)Ext.apply(this,Ext.slider.Thumb.Vertical)},render:function(){this.el=this.slider.innerEl.insertFirst({cls:this.cls});this.initEvents()},enable:function(){this.disabled=false;this.el.removeClass(this.slider.disabledClass)},disable:function(){this.disabled=true;this.el.addClass(this.slider.disabledClass)},initEvents:function(){var a=this.el;a.addClassOnOver("x-slider-thumb-over");this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeDragStart.createDelegate(this),onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(a)},onBeforeDragStart:function(){if(this.disabled)return false;else{this.slider.promoteThumb(this);return true}},onDragStart:function(a){this.el.addClass("x-slider-thumb-drag");this.dragging=true;this.dragStartValue=this.value;this.slider.fireEvent("dragstart",this.slider,a,this)},onDrag:function(f){var a=this.slider,d=this.index,b=this.getNewValue();if(this.constrain){var c=a.thumbs[d+1],e=a.thumbs[d-1];if(e!=undefined&&b<=e.value)b=e.value;if(c!=undefined&&b>=c.value)b=c.value}a.setValue(d,b,false);a.fireEvent("drag",a,f,this)},getNewValue:function(){var a=this.slider,b=a.innerEl.translatePoints(this.tracker.getXY());return Ext.util.Format.round(a.reverseValue(b.left),a.decimalPrecision)},onDragEnd:function(c){var a=this.slider,b=this.value;this.el.removeClass("x-slider-thumb-drag");this.dragging=false;a.fireEvent("dragend",a,c);if(this.dragStartValue!=b)a.fireEvent("changecomplete",a,b,this)},destroy:function(){Ext.destroyMembers(this,"tracker","el")}});Ext.slider.MultiSlider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,constrainThumbs:true,topThumbZIndex:1e4,initComponent:function(){if(!Ext.isDefined(this.value))this.value=this.minValue;this.thumbs=[];Ext.slider.MultiSlider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend");if(this.values==undefined||Ext.isEmpty(this.values))this.values=[0];var b=this.values;for(var a=0;a<b.length;a++)this.addThumb(b[a]);if(this.vertical)Ext.apply(this,Ext.slider.Vertical)},addThumb:function(b){var a=new Ext.slider.Thumb({value:b,slider:this,index:this.thumbs.length,constrain:this.constrainThumbs});this.thumbs.push(a);if(this.rendered)a.render()},promoteThumb:function(f){var d=this.thumbs,c,a;for(var b=0,e=d.length;b<e;b++){a=d[b];if(a==f)c=this.topThumbZIndex;else c="";a.el.setStyle("zIndex",c)}},onRender:function(){this.autoEl={cls:"x-slider "+(this.vertical?"x-slider-vert":"x-slider-horz"),cn:{cls:"x-slider-end",cn:{cls:"x-slider-inner",cn:[{tag:"a",cls:"x-slider-focus",href:"#",tabIndex:"-1",hidefocus:"on"}]}}};Ext.slider.MultiSlider.superclass.onRender.apply(this,arguments);this.endEl=this.el.first();this.innerEl=this.endEl.first();this.focusEl=this.innerEl.child(".x-slider-focus");for(var a=0;a<this.thumbs.length;a++)this.thumbs[a].render();var b=this.innerEl.child(".x-slider-thumb");this.halfThumb=(this.vertical?b.getHeight():b.getWidth())/2;this.initEvents()},initEvents:function(){this.mon(this.el,{scope:this,mousedown:this.onMouseDown,keydown:this.onKeyDown});this.focusEl.swallowEvent("click",true)},onMouseDown:function(c){if(this.disabled)return;var b=false;for(var a=0;a<this.thumbs.length;a++)b=b||c.target==this.thumbs[a].el.dom;if(this.clickToChange&&!b){var d=this.innerEl.translatePoints(c.getXY());this.onClickChange(d)}this.focus()},onClickChange:function(a){if(a.top>this.clickRange[0]&&a.top<this.clickRange[1]){var b=this.getNearest(a,"left"),c=b.index;this.setValue(c,Ext.util.Format.round(this.reverseValue(a.left),this.decimalPrecision),undefined,true)}},getNearest:function(g,b){var k=b=="top"?this.innerEl.getHeight()-g[b]:g[b],i=this.reverseValue(k),f=this.maxValue-this.minValue+5,h=0,d=null;for(var a=0;a<this.thumbs.length;a++){var c=this.thumbs[a],j=c.value,e=Math.abs(j-i);if(Math.abs(e<=f)){d=c;h=a;f=e}}return d},onKeyDown:function(a){if(this.disabled||this.thumbs.length!==1){a.preventDefault();return}var c=a.getKey(),b;switch(c){case a.UP:case a.RIGHT:a.stopEvent();b=a.ctrlKey?this.maxValue:this.getValue(0)+this.keyIncrement;this.setValue(0,b,undefined,true);break;case a.DOWN:case a.LEFT:a.stopEvent();b=a.ctrlKey?this.minValue:this.getValue(0)-this.keyIncrement;this.setValue(0,b,undefined,true);break;default:a.preventDefault()}},doSnap:function(c){if(!(this.increment&&c))return c;var d=c,a=this.increment,b=c%a;if(b!=0){d-=b;if(b*2>=a)d+=a;else if(b*2<-a)d-=a}return d.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.slider.MultiSlider.superclass.afterRender.apply(this,arguments);for(var a=0;a<this.thumbs.length;a++){var c=this.thumbs[a];if(c.value!==undefined){var b=this.normalizeValue(c.value);if(b!==c.value)this.setValue(a,b,false);else this.moveThumb(a,this.translateValue(b),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},setMinValue:function(c){this.minValue=c;var b=0,d=this.thumbs,e=d.length,a;for(;b<e;++b){a=d[b];a.value=a.value<c?c:a.value}this.syncThumb()},setMaxValue:function(c){this.maxValue=c;var b=0,d=this.thumbs,e=d.length,a;for(;b<e;++b){a=d[b];a.value=a.value>c?c:a.value}this.syncThumb()},setValue:function(c,a,d,e){var b=this.thumbs[c],f=b.el;a=this.normalizeValue(a);if(a!==b.value&&this.fireEvent("beforechange",this,a,b.value,b)!==false){b.value=a;if(this.rendered){this.moveThumb(c,this.translateValue(a),d!==false);this.fireEvent("change",this,a,b);if(e)this.fireEvent("changecomplete",this,a,b)}}},translateValue:function(b){var a=this.getRatio();return b*a-this.minValue*a-this.halfThumb},reverseValue:function(b){var a=this.getRatio();return (b+this.minValue*a)/a},moveThumb:function(d,b,c){var a=this.thumbs[d].el;if(!c||this.animate===false)a.setLeft(b);else a.shift({left:b,stopFx:true,duration:.35})},focus:function(){this.focusEl.focus(10)},onResize:function(c){var b=this.thumbs,d=b.length,a=0;for(;a<d;++a)b[a].el.stopFx();if(Ext.isNumber(c))this.innerEl.setWidth(c-(this.el.getPadding("l")+this.endEl.getPadding("r")));this.syncThumb();Ext.slider.MultiSlider.superclass.onResize.apply(this,arguments)},onDisable:function(){Ext.slider.MultiSlider.superclass.onDisable.call(this);for(var a=0;a<this.thumbs.length;a++){var b=this.thumbs[a],c=b.el;b.disable();if(Ext.isIE){var d=c.getXY();c.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(d)}}},onEnable:function(){Ext.slider.MultiSlider.superclass.onEnable.call(this);for(var a=0;a<this.thumbs.length;a++){var b=this.thumbs[a],c=b.el;b.enable();if(Ext.isIE){this.innerEl.removeClass(this.disabledClass).dom.disabled=false;if(this.thumbHolder)this.thumbHolder.hide();c.show();this.syncThumb()}}},syncThumb:function(){if(this.rendered)for(var a=0;a<this.thumbs.length;a++)this.moveThumb(a,this.translateValue(this.thumbs[a].value))},getValue:function(a){return this.thumbs[a].value},getValues:function(){var b=[];for(var a=0;a<this.thumbs.length;a++)b.push(this.thumbs[a].value);return b},beforeDestroy:function(){var b=this.thumbs;for(var a=0,c=b.length;a<c;++a){b[a].destroy();b[a]=null}Ext.destroyMembers(this,"endEl","innerEl","focusEl","thumbHolder");Ext.slider.MultiSlider.superclass.beforeDestroy.call(this)}});Ext.reg("multislider",Ext.slider.MultiSlider);Ext.slider.SingleSlider=Ext.extend(Ext.slider.MultiSlider,{constructor:function(a){a=a||{};Ext.applyIf(a,{values:[a.value||0]});Ext.slider.SingleSlider.superclass.constructor.call(this,a)},getValue:function(){return Ext.slider.SingleSlider.superclass.getValue.call(this,0)},setValue:function(){var a=Ext.toArray(arguments),b=a.length;if(b==1||b<=3&&typeof arguments[1]!="number")a.unshift(0);return Ext.slider.SingleSlider.superclass.setValue.apply(this,a)},syncThumb:function(){return Ext.slider.SingleSlider.superclass.syncThumb.apply(this,[0].concat(arguments))},getNearest:function(){return this.thumbs[0]}});Ext.Slider=Ext.slider.SingleSlider;Ext.reg("slider",Ext.slider.SingleSlider);Ext.slider.Vertical={onResize:function(b,a){this.innerEl.setHeight(a-(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(e,a,d){var c=this.thumbs[e],b=c.el;if(!d||this.animate===false)b.setBottom(a);else b.shift({bottom:a,stopFx:true,duration:.35})},onClickChange:function(a){if(a.left>this.clickRange[0]&&a.left<this.clickRange[1]){var b=this.getNearest(a,"top"),c=b.index,d=this.minValue+this.reverseValue(this.innerEl.getHeight()-a.top);this.setValue(c,Ext.util.Format.round(d,this.decimalPrecision),undefined,true)}}};Ext.slider.Thumb.Vertical={getNewValue:function(){var a=this.slider,b=a.innerEl,d=b.translatePoints(this.tracker.getXY()),c=b.getHeight()-d.top;return a.minValue+Ext.util.Format.round(c/a.getRatio(),a.decimalPrecision)}};Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",animate:false,waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(d,b){var c=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=b?c.insertBefore(b,{cls:this.baseCls},true):c.append(d,{cls:this.baseCls},true);if(this.id)this.el.dom.id=this.id;var a=this.el.dom.firstChild;this.progressBar=Ext.get(a.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var e=Ext.get(a.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,e.dom.firstChild]);this.textEl.setWidth(a.offsetWidth)}this.progressBar.setHeight(a.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&&!this.isDestroyed){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(a){if(!this.waitTimer){var b=this;a=a||{};this.updateText(a.text);this.waitTimer=Ext.TaskMgr.start({run:function(c){var b=a.increment||10;c-=1;this.updateProgress(((c+b)%b+1)*(100/b)*.01,null,a.animate)},interval:a.interval||1e3,duration:a.duration,onStop:function(){if(a.fn)a.fn.apply(a.scope||this);this.reset()},scope:b})}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,c){Ext.ProgressBar.superclass.setSize.call(this,b,c);if(this.textTopEl){var a=this.el.dom.firstChild;this.textEl.setSize(a.offsetWidth,a.offsetHeight)}this.syncProgressBar();return this},reset:function(a){this.updateProgress(0);if(this.textTopEl)this.textTopEl.addClass("x-hidden");this.clearTimer();if(a===true)this.hide();return this},clearTimer:function(){if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}},onDestroy:function(){this.clearTimer();if(this.rendered){if(this.textEl.isComposite)this.textEl.clear();Ext.destroyMembers(this,"textEl","progressBar","textTopEl")}Ext.ProgressBar.superclass.onDestroy.call(this)}});Ext.reg("progress",Ext.ProgressBar);(function(){var a=Ext.EventManager,b=Ext.lib.Dom;Ext.dd.DragDrop=function(a,b,c){if(a)this.init(a,b,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(){},startDrag:function(){},b4Drag:function(){},onDrag:function(){},onDragEnter:function(){},b4DragOver:function(){},onDragOver:function(){},b4DragOut:function(){},onDragOut:function(){},b4DragDrop:function(){},onDragDrop:function(){},onInvalidDrop:function(){},b4EndDrag:function(){},endDrag:function(){},b4MouseDown:function(){},onMouseDown:function(){},onMouseUp:function(){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(j,a){if(Ext.isNumber(a))a={left:a,right:a,top:a,bottom:a};a=a||this.defaultPadding;var c=Ext.get(this.getEl()).getBox(),d=Ext.get(j),i=d.getScroll(),b,e=d.dom;if(e==document.body)b={x:i.left,y:i.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()};else{var h=d.getXY();b={x:h[0],y:h[1],width:e.clientWidth,height:e.clientHeight}}var g=c.y-b.y,f=c.x-b.x;this.resetConstraints();this.setXConstraint(f-(a.left||0),b.width-f-c.width-(a.right||0),this.xTickSize);this.setYConstraint(g-(a.top||0),b.height-g-c.height-(a.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,b,c){this.initTarget(d,b,c);a.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(a,b,c){this.config=c||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof a!=="string")a=Ext.id(a);this.id=a;this.addToGroup(b?b:"default");this.handleElId=a;this.setDragElId(a);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=this.config.isTarget!==false;this.maintainOffset=this.config.maintainOffset;this.primaryButtonOnly=this.config.primaryButtonOnly!==false},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(a,b,c,d){if(!b&&0!==b)this.padding=[a,a,a,a];else if(!c&&0!==c)this.padding=[a,b,a,b];else this.padding=[a,b,c,d]},setInitPosition:function(g,f){var c=this.getEl();if(!this.DDM.verifyEl(c))return;var e=g||0,d=f||0,a=b.getXY(c);this.initPageX=a[0]-e;this.initPageY=a[1]-d;this.lastPageX=a[0];this.lastPageY=a[1];this.setStartPosition(a)},setStartPosition:function(c){var a=c||b.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=a[0];this.startPageY=a[1]},addToGroup:function(a){this.groups[a]=true;this.DDM.regDragDrop(this,a)},removeFromGroup:function(a){if(this.groups[a])delete this.groups[a];this.DDM.removeDDFromGroup(this,a)},setDragElId:function(a){this.dragElId=a},setHandleElId:function(a){if(typeof a!=="string")a=Ext.id(a);this.handleElId=a;this.DDM.regHandle(this.id,a)},setOuterHandleElId:function(b){if(typeof b!=="string")b=Ext.id(b);a.on(b,"mousedown",this.handleMouseDown,this);this.setHandleElId(b);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(a){if(this.primaryButtonOnly&&a.button!=0)return;if(this.isLocked())return;this.DDM.refreshCache(this.groups);var b=new Ext.lib.Point(Ext.lib.Event.getPageX(a),Ext.lib.Event.getPageY(a));if(!(!this.hasOuterHandles&&!this.DDM.isOverTarget(b,this)))if(this.clickValidator(a)){this.setStartPosition();this.b4MouseDown(a);this.onMouseDown(a);this.DDM.handleMouseDown(a,this);this.DDM.stopEvent(a)}},clickValidator:function(b){var a=b.getTarget();return this.isValidHandleChild(a)&&(this.id==this.handleElId||this.DDM.handleWasClicked(a,this.id))},addInvalidHandleType:function(b){var a=b.toUpperCase();this.invalidHandleTypes[a]=a},addInvalidHandleId:function(a){if(typeof a!=="string")a=Ext.id(a);this.invalidHandleIds[a]=a},addInvalidHandleClass:function(a){this.invalidHandleClasses.push(a)},removeInvalidHandleType:function(a){var b=a.toUpperCase();delete this.invalidHandleTypes[b]},removeInvalidHandleId:function(a){if(typeof a!=="string")a=Ext.id(a);delete this.invalidHandleIds[a]},removeInvalidHandleClass:function(c){for(var a=0,b=this.invalidHandleClasses.length;a<b;++a)if(this.invalidHandleClasses[a]==c)delete this.invalidHandleClasses[a]},isValidHandleChild:function(b){var a=true,d;try{d=b.nodeName.toUpperCase()}catch(f){d=b.nodeName}a=a&&!this.invalidHandleTypes[d];a=a&&!this.invalidHandleIds[b.id];for(var c=0,e=this.invalidHandleClasses.length;a&&c<e;++c)a=!Ext.fly(b).hasClass(this.invalidHandleClasses[c]);return a},setXTicks:function(d,c){this.xTicks=[];this.xTickSize=c;var b={};for(var a=this.initPageX;a>=this.minX;a=a-c)if(!b[a]){this.xTicks[this.xTicks.length]=a;b[a]=true}for(a=this.initPageX;a<=this.maxX;a=a+c)if(!b[a]){this.xTicks[this.xTicks.length]=a;b[a]=true}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(d,c){this.yTicks=[];this.yTickSize=c;var b={};for(var a=this.initPageY;a>=this.minY;a=a-c)if(!b[a]){this.yTicks[this.yTicks.length]=a;b[a]=true}for(a=this.initPageY;a<=this.maxY;a=a+c)if(!b[a]){this.yTicks[this.yTicks.length]=a;b[a]=true}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(c,b,a){this.leftConstraint=c;this.rightConstraint=b;this.minX=this.initPageX-c;this.maxX=this.initPageX+b;if(a)this.setXTicks(this.initPageX,a);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(a,c,b){this.topConstraint=a;this.bottomConstraint=c;this.minY=this.initPageY-a;this.maxY=this.initPageY+c;if(b)this.setYTicks(this.initPageY,b);this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var b=this.maintainOffset?this.lastPageX-this.initPageX:0,a=this.maintainOffset?this.lastPageY-this.initPageY:0;this.setInitPosition(b,a)}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(c,a){if(!a)return c;else if(a[0]>=c)return a[0];else{for(var b=0,e=a.length;b<e;++b){var d=b+1;if(a[d]&&a[d]>=c){var g=c-a[b],f=a[d]-c;return f>g?a[b]:a[d]}}return a[a.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(e,d){for(var b in this.ids)for(var c in this.ids[b]){var a=this.ids[b][c];if(!this.isTypeOfDD(a))continue;a[e].apply(a,d)}},_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(){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(b,a){if(!this.initialized)this.init();if(!this.ids[a])this.ids[a]={};this.ids[a][b.id]=b},removeDDFromGroup:function(c,a){if(!this.ids[a])this.ids[a]={};var b=this.ids[a];if(b&&b[c.id])delete b[c.id]},_remove:function(b){for(var a in b.groups)if(a&&this.ids[a]&&this.ids[a][b.id])delete this.ids[a][b.id];delete this.handleIds[b.id]},regHandle:function(a,b){if(!this.handleIds[a])this.handleIds[a]={};this.handleIds[a][b]=b},isDragDrop:function(a){return this.getDDById(a)?true:false},getRelated:function(f,d){var b=[];for(var c in f.groups)for(var e in this.ids[c]){var a=this.ids[c][e];if(!this.isTypeOfDD(a))continue;if(!d||a.isTarget)b[b.length]=a}return b},isLegalTarget:function(e,d){var b=this.getRelated(e,true);for(var a=0,c=b.length;a<c;++a)if(b[a].id==d.id)return true;return false},isTypeOfDD:function(a){return a&&a.__ygDragDrop},isHandle:function(a,b){return this.handleIds[a]&&this.handleIds[a][b]},getDDById:function(b){for(var a in this.ids)if(this.ids[a][b])return this.ids[a][b];return null},handleMouseDown:function(a,c){if(Ext.QuickTips)Ext.QuickTips.ddDisable();if(this.dragCurrent)this.handleMouseUp(a);this.currentTarget=a.getTarget();this.dragCurrent=c;var b=c.getEl();this.startX=a.getPageX();this.startY=a.getPageY();this.deltaX=this.startX-b.offsetLeft;this.deltaY=this.startY-b.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var a=Ext.dd.DDM;a.startDrag(a.startX,a.startY)},this.clickTimeThresh)},startDrag:function(a,b){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(a,b);this.dragCurrent.startDrag(a,b)}this.dragThreshMet=true},handleMouseUp:function(a){if(Ext.QuickTips)Ext.QuickTips.ddEnable();if(!this.dragCurrent)return;clearTimeout(this.clickTimeout);if(this.dragThreshMet)this.fireEvents(a,true);this.stopDrag(a);this.stopEvent(a)},stopEvent:function(a){if(this.stopPropagation)a.stopPropagation();if(this.preventDefault)a.preventDefault()},stopDrag:function(a){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(a);this.dragCurrent.endDrag(a)}this.dragCurrent.onMouseUp(a)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(a){if(!this.dragCurrent)return true;if(Ext.isIE&&(a.button!==0&&a.button!==1&&a.button!==2)){this.stopEvent(a);return this.handleMouseUp(a)}if(!this.dragThreshMet){var c=Math.abs(this.startX-a.getPageX()),b=Math.abs(this.startY-a.getPageY());if(c>this.clickPixelThresh||b>this.clickPixelThresh)this.startDrag(this.startX,this.startY)}if(this.dragThreshMet){this.dragCurrent.b4Drag(a);this.dragCurrent.onDrag(a);if(!this.dragCurrent.moveOnly)this.fireEvents(a,false)}this.stopEvent(a);return true},fireEvents:function(c,m){var b=this.dragCurrent;if(!b||b.isLocked())return;var n=c.getPoint(),l=[],g=[],h=[],e=[],i=[];for(var a in this.dragOvers){var j=this.dragOvers[a];if(!this.isTypeOfDD(j))continue;if(!this.isOverTarget(n,j,this.mode))g.push(j);l[a]=true;delete this.dragOvers[a]}for(var k in b.groups){if("string"!=typeof k)continue;for(a in this.ids[k]){var d=this.ids[k][a];if(!this.isTypeOfDD(d))continue;if(d.isTarget&&!d.isLocked()&&(d!=b||b.ignoreSelf===false))if(this.isOverTarget(n,d,this.mode))if(m)e.push(d);else{if(!l[d.id])i.push(d);else h.push(d);this.dragOvers[d.id]=d}}}if(this.mode){if(g.length){b.b4DragOut(c,g);b.onDragOut(c,g)}if(i.length)b.onDragEnter(c,i);if(h.length){b.b4DragOver(c,h);b.onDragOver(c,h)}if(e.length){b.b4DragDrop(c,e);b.onDragDrop(c,e)}}else{var f=0;for(a=0,f=g.length;a<f;++a){b.b4DragOut(c,g[a].id);b.onDragOut(c,g[a].id)}for(a=0,f=i.length;a<f;++a)b.onDragEnter(c,i[a].id);for(a=0,f=h.length;a<f;++a){b.b4DragOver(c,h[a].id);b.onDragOver(c,h[a].id)}for(a=0,f=e.length;a<f;++a){b.b4DragDrop(c,e[a].id);b.onDragDrop(c,e[a].id)}}if(m&&!e.length)b.onInvalidDrop(c)},getBestMatch:function(c){var a=null,e=c.length;if(e==1)a=c[0];else for(var d=0;d<e;++d){var b=c[d];if(b.cursorIsOver){a=b;break}else if(!a||a.overlap.getArea()<b.overlap.getArea())a=b}return a},refreshCache:function(d){for(var b in d){if("string"!=typeof b)continue;for(var e in this.ids[b]){var a=this.ids[b][e];if(this.isTypeOfDD(a)){var c=this.getLocation(a);if(c)this.locationCache[a.id]=c;else delete this.locationCache[a.id]}}}},verifyEl:function(b){if(b){var a;if(Ext.isIE)try{a=b.offsetParent}catch(c){}else a=b.offsetParent;if(a)return true}return false},getLocation:function(a){if(!this.isTypeOfDD(a))return null;var d=a.getEl(),b,c,g,e,j,k,f,i,h;try{b=Ext.lib.Dom.getXY(d)}catch(l){}if(!b)return null;c=b[0];g=c+d.offsetWidth;e=b[1];j=e+d.offsetHeight;k=e-a.padding[0];f=g+a.padding[1];i=j+a.padding[2];h=c-a.padding[3];return new Ext.lib.Region(k,f,i,h)},isOverTarget:function(e,a,g){var b=this.locationCache[a.id];if(!b||!this.useCache){b=this.getLocation(a);this.locationCache[a.id]=b}if(!b)return false;a.cursorIsOver=b.contains(e);var c=this.dragCurrent;if(!c||!c.getTargetCoord||!g&&!c.constrainX&&!c.constrainY)return a.cursorIsOver;a.overlap=null;var d=c.getTargetCoord(e.x,e.y),f=c.getDragEl(),i=new Ext.lib.Region(d.y,d.x+f.offsetWidth,d.y+f.offsetHeight,d.x),h=i.intersect(b);if(h){a.overlap=h;return g?true:a.cursorIsOver}else return false},_onUnload:function(){Ext.dd.DragDropMgr.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var a in this.elementCache)delete this.elementCache[a];this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(b){var a=this.elementCache[b];if(!a||!a.el)a=this.elementCache[b]=new this.ElementWrapper(Ext.getDom(b));return a},getElement:function(a){return Ext.getDom(a)},getCss:function(b){var a=Ext.getDom(b);return a?a.style:null},ElementWrapper:function(a){this.el=a||null;this.id=this.el&&a.id;this.css=this.el&&a.style},getPosX:function(a){return Ext.lib.Dom.getX(a)},getPosY:function(a){return Ext.lib.Dom.getY(a)},swapNode:function(a,b){if(a.swapNode)a.swapNode(b);else{var c=b.parentNode,d=b.nextSibling;if(d==a)c.insertBefore(a,b);else if(b==a.nextSibling)c.insertBefore(b,a);else{a.parentNode.replaceChild(b,a);c.insertBefore(a,d)}}},getScroll:function(){var d,b,a=document.documentElement,c=document.body;if(a&&(a.scrollTop||a.scrollLeft)){d=a.scrollTop;b=a.scrollLeft}else if(c){d=c.scrollTop;b=c.scrollLeft}return {top:d,left:b}},getStyle:function(b,a){return Ext.fly(b).getStyle(a)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(a,c){var b=Ext.lib.Dom.getXY(c);Ext.lib.Dom.setXY(a,b)},numericSort:function(b,a){return b-a},_timeoutCount:0,_addListeners:function(){var a=Ext.dd.DDM;if(Ext.lib.Event&&document)a._onLoad();else if(a._timeoutCount<=2e3){setTimeout(a._addListeners,10);if(document&&document.body)a._timeoutCount+=1}},handleWasClicked:function(b,c){if(this.isHandle(c,b.id))return true;else{var a=b.parentNode;while(a)if(this.isHandle(c,a.id))return true;else a=a.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(c,b){var a=c-this.startPageX,d=b-this.startPageY;this.setDelta(a,d)},setDelta:function(b,a){this.deltaX=b;this.deltaY=a},setDragElPos:function(c,b){var a=this.getDragEl();this.alignElWithMouse(a,c,b)},alignElWithMouse:function(b,g,f){var a=this.getTargetCoord(g,f),c=b.dom?b:Ext.fly(b,"_dd");if(!this.deltaSetXY){var h=[a.x,a.y];c.setXY(h);var e=c.getLeft(true),d=c.getTop(true);this.deltaSetXY=[e-a.x,d-a.y]}else c.setLeftTop(a.x+this.deltaSetXY[0],a.y+this.deltaSetXY[1]);this.cachePosition(a.x,a.y);this.autoScroll(a.x,a.y,b.offsetHeight,b.offsetWidth);return a},cachePosition:function(a,c){if(a){this.lastPageX=a;this.lastPageY=c}else{var b=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=b[0];this.lastPageY=b[1]}},autoScroll:function(f,e,i,m){if(this.scroll){var h=Ext.lib.Dom.getViewHeight(),g=Ext.lib.Dom.getViewWidth(),b=this.DDM.getScrollTop(),a=this.DDM.getScrollLeft(),l=i+e,n=m+f,k=h+b-e-this.deltaY,j=g+a-f-this.deltaX,d=40,c=document.all?80:30;if(l>h&&k<d)window.scrollTo(a,b+c);if(e<b&&b>0&&e-b<d)window.scrollTo(a,b-c);if(n>g&&j<d)window.scrollTo(a+c,b);if(f<a&&a>0&&f-a<d)window.scrollTo(a-c,b)}},getTargetCoord:function(d,c){var a=d-this.deltaX,b=c-this.deltaY;if(this.constrainX){if(a<this.minX)a=this.minX;if(a>this.maxX)a=this.maxX}if(this.constrainY){if(b<this.minY)b=this.minY;if(b>this.maxY)b=this.maxY}a=this.getTick(a,this.xTicks);b=this.getTick(b,this.yTicks);return {x:a,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,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(d,c){var e=this.getEl(),a=this.getDragEl(),b=a.style;this._resizeProxy();if(this.centerFrame)this.setDelta(Math.round(parseInt(b.width,10)/2),Math.round(parseInt(b.height,10)/2));this.setDragElPos(d,c);Ext.fly(a).show()},_resizeProxy:function(){if(this.resizeFrame){var a=this.getEl();Ext.fly(this.getDragEl()).setSize(a.offsetWidth,a.offsetHeight)}},b4MouseDown:function(b){var a=b.getPageX(),c=b.getPageY();this.autoOffset(a,c);this.setDragElPos(a,c)},b4StartDrag:function(a,b){this.showFrame(a,b)},b4EndDrag:function(){Ext.fly(this.getDragEl()).hide()},endDrag:function(){var b=this.getEl(),a=this.getDragEl();a.style.visibility="";this.beforeMove();b.style.visibility="hidden";Ext.dd.DDM.moveToEl(b,a);a.style.visibility="hidden";b.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);delete this.el},onMouseDown:function(a,b){if(this.fireEvent("mousedown",this,a)!==false&&this.onBeforeStart(a)!==false){this.startXY=this.lastXY=a.getXY();this.dragTarget=this.delegate?b:this.el.dom;if(this.preventDefault!==false)a.preventDefault();Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart)this.timer=this.triggerStart.defer(this.autoStart===true?1e3:this.autoStart,this,[a])}},onMouseMove:function(a){if(this.active&&Ext.isIE&&!a.browserEvent.button){a.preventDefault();this.onMouseUp(a);return}a.preventDefault();var b=a.getXY(),c=this.startXY;this.lastXY=b;if(!this.active)if(Math.abs(c[0]-b[0])>this.tolerance||Math.abs(c[1]-b[1])>this.tolerance)this.triggerStart(a);else return;this.fireEvent("mousemove",this,a);this.onDrag(a);this.fireEvent("drag",this,a)},onMouseUp:function(a){var b=Ext.getDoc(),c=this.active;b.un("mousemove",this.onMouseMove,this);b.un("mouseup",this.onMouseUp,this);b.un("selectstart",this.stopSelect,this);a.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,a);if(c){this.onEnd(a);this.fireEvent("dragend",this,a)}},triggerStart:function(a){this.clearStart();this.active=true;this.onStart(a);this.fireEvent("dragstart",this,a)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(a){a.stopEvent();return false},onBeforeStart:function(){},onStart:function(){},onDrag:function(){},onEnd:function(){},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(c){var b=this.getXY(c),a=this.startXY;return [a[0]-b[0],a[1]-b[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 b=Ext.dd.DragDropMgr,c={},d=null,a={},i=function(){d=null;f()},g=function(){if(b.dragCurrent)b.refreshCache(b.dragCurrent.groups)},h=function(){if(b.dragCurrent){var c=Ext.dd.ScrollManager,d=a.el.ddScrollConfig?a.el.ddScrollConfig.increment:c.increment;if(!c.animate){if(a.el.scroll(a.dir,d))g()}else a.el.scroll(a.dir,d,true,c.animDuration,g)}},f=function(){if(a.id)clearInterval(a.id);a.id=0;a.el=null;a.dir=""},e=function(c,e){f();a.el=c;a.dir=e;var d=c.ddScrollConfig?c.ddScrollConfig.ddGroup:undefined,g=c.ddScrollConfig&&c.ddScrollConfig.frequency?c.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;if(d===undefined||b.dragCurrent.ddGroup==d)a.id=setInterval(h,g)},j=function(n,o){if(o||!b.dragCurrent)return;var k=Ext.dd.ScrollManager;if(!d||d!=b.dragCurrent){d=b.dragCurrent;k.refreshCache()}var l=Ext.lib.Event.getXY(n),i=new Ext.lib.Point(l[0],l[1]);for(var m in c){var g=c[m],h=g._region,j=g.ddScrollConfig?g.ddScrollConfig:k;if(h&&h.contains(i)&&g.isScrollable())if(h.bottom-i.y<=j.vthresh){if(a.el!=g)e(g,"down");return}else if(h.right-i.x<=j.hthresh){if(a.el!=g)e(g,"left");return}else if(i.y-h.top<=j.vthresh){if(a.el!=g)e(g,"up");return}else if(i.x-h.left<=j.hthresh){if(a.el!=g)e(g,"right");return}}f()};b.fireEvents=b.fireEvents.createSequence(j,b);b.stopDrag=b.stopDrag.createSequence(i,b);return {register:function(a){if(Ext.isArray(a))for(var b=0,d=a.length;b<d;b++)this.register(a[b]);else{a=Ext.get(a);c[a.id]=a}},unregister:function(a){if(Ext.isArray(a))for(var b=0,d=a.length;b<d;b++)this.unregister(a[b]);else{a=Ext.get(a);delete c[a.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:.4,ddGroup:undefined,refreshCache:function(){for(var a in c)if(typeof c[a]=="object")c[a]._region=c[a].getRegion()}}}();Ext.dd.Registry=function(){var b={},a={},d=0,c=function(a,c){if(typeof a=="string")return a;var b=a.id;if(!b&&c!==false){b="extdd-"+ ++d;a.id=b}return b};return {register:function(e,d){d=d||{};if(typeof e=="string")e=document.getElementById(e);d.ddel=e;b[c(e)]=d;if(d.isHandle!==false)a[d.ddel.id]=d;if(d.handles){var g=d.handles;for(var f=0,h=g.length;f<h;f++)a[c(g[f])]=d}},unregister:function(i){var g=c(i,false),e=b[g];if(e){delete b[g];if(e.handles){var f=e.handles;for(var d=0,h=f.length;d<h;d++)delete a[c(f[d],false)]}}},getHandle:function(b){if(typeof b!="string")b=b.id;return a[b]},getHandleFromEvent:function(c){var b=Ext.lib.Event.getTarget(c);return b?a[b.id]:null},getTarget:function(a){if(typeof a!="string")a=a.id;return b[a]},getTargetFromEvent:function(d){var c=Ext.lib.Event.getTarget(d);return c?b[c.id]||a[c.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(a,c,b){this.callback=c;this.scope=b;if(a&&this.animRepair!==false){this.el.addClass("x-dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||.5,easing:"easeOut",xy:a,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(){return this.dragData},onDragEnter:function(b,c){var a=Ext.dd.DragDropMgr.getDDById(c);this.cachedTarget=a;if(this.beforeDragEnter(a,b,c)!==false){if(a.isNotifyTarget){var d=a.notifyEnter(this,b,this.dragData);this.proxy.setStatus(d)}else this.proxy.setStatus(this.dropAllowed);if(this.afterDragEnter)this.afterDragEnter(a,b,c)}},beforeDragEnter:function(){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(b,c){var a=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(c);if(this.beforeDragOver(a,b,c)!==false){if(a.isNotifyTarget){var d=a.notifyOver(this,b,this.dragData);this.proxy.setStatus(d)}if(this.afterDragOver)this.afterDragOver(a,b,c)}},beforeDragOver:function(){return true},onDragOut:function(b,c){var a=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(c);if(this.beforeDragOut(a,b,c)!==false){if(a.isNotifyTarget)a.notifyOut(this,b,this.dragData);this.proxy.reset();if(this.afterDragOut)this.afterDragOut(a,b,c)}this.cachedTarget=null},beforeDragOut:function(){return true},onDragDrop:function(b,c){var a=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(c);if(this.beforeDragDrop(a,b,c)!==false){if(a.isNotifyTarget)if(a.notifyDrop(this,b,this.dragData))this.onValidDrop(a,b,c);else this.onInvalidDrop(a,b,c);else this.onValidDrop(a,b,c);if(this.afterDragDrop)this.afterDragDrop(a,b,c)}delete this.cachedTarget},beforeDragDrop:function(){return true},onValidDrop:function(b,a,c){this.hideProxy();if(this.afterValidDrop)this.afterValidDrop(b,a,c)},getRepairXY:function(){return this.el.getXY()},onInvalidDrop:function(c,a,b){this.beforeInvalidDrop(c,a,b);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget)this.cachedTarget.notifyOut(this,a,this.dragData);this.cacheTarget=null}this.proxy.repair(this.getRepairXY(a,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop)this.afterInvalidDrop(a,b)},afterRepair:function(){if(Ext.enableFx)this.el.highlight(this.hlColor||"c3daf9");this.dragging=false},beforeInvalidDrop:function(){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(){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,c){var a=this.el.dom.cloneNode(true);a.id=Ext.id();this.proxy.update(a);this.onStartDrag(b,c);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(){},endDrag:function(a){this.onEndDrag(this.dragData,a)},onEndDrag:function(){},autoOffset:function(){this.setDelta(-12,-20)},destroy:function(){Ext.dd.DragSource.superclass.destroy.call(this);Ext.destroy(this.proxy)}});Ext.dd.DropTarget=Ext.extend(Ext.dd.DDTarget,{constructor:function(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})},dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(){if(this.overClass)this.el.addClass(this.overClass);return this.dropAllowed},notifyOver:function(){return this.dropAllowed},notifyOut:function(){if(this.overClass)this.el.removeClass(this.overClass)},notifyDrop:function(){return false},destroy:function(){Ext.dd.DropTarget.superclass.destroy.call(this);if(this.containerScroll)Ext.dd.ScrollManager.unregister(this.el)}});Ext.dd.DragZone=Ext.extend(Ext.dd.DragSource,{constructor:function(b,a){Ext.dd.DragZone.superclass.constructor.call(this,b,a);if(this.containerScroll)Ext.dd.ScrollManager.register(this.el)},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(){return Ext.Element.fly(this.dragData.ddel).getXY()},destroy:function(){Ext.dd.DragZone.superclass.destroy.call(this);if(this.containerScroll)Ext.dd.ScrollManager.unregister(this.el)}});Ext.dd.DropZone=function(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(){},onNodeOver:function(){return this.dropAllowed},onNodeOut:function(){},onNodeDrop:function(){return false},onContainerOver:function(){return this.dropNotAllowed},onContainerDrop:function(){return false},notifyEnter:function(){return this.dropNotAllowed},notifyOver:function(b,a,c){var d=this.getTargetFromEvent(a);if(!d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,b,a,c);this.lastOverNode=null}return this.onContainerOver(b,a,c)}if(this.lastOverNode!=d){if(this.lastOverNode)this.onNodeOut(this.lastOverNode,b,a,c);this.onNodeEnter(d,b,a,c);this.lastOverNode=d}return this.onNodeOver(d,b,a,c)},notifyOut:function(a,c,b){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,a,c,b);this.lastOverNode=null}},notifyDrop:function(b,a,c){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,b,a,c);this.lastOverNode=null}var d=this.getTargetFromEvent(a);return d?this.onNodeDrop(d,b,a,c):this.onContainerDrop(b,a,c)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.Element.addMethods({initDD:function(c,b,d){var a=new Ext.dd.DD(Ext.id(this.dom),c,b);return Ext.apply(a,d)},initDDProxy:function(c,b,d){var a=new Ext.dd.DDProxy(Ext.id(this.dom),c,b);return Ext.apply(a,d)},initDDTarget:function(c,b,d){var a=new Ext.dd.DDTarget(Ext.id(this.dom),c,b);return Ext.apply(a,d)}});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(a){return Ext.data.Api.actions[a]?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(c){var a=[],d=this.actions;for(var b in c)if(!(b in d))a.push(b);return !a.length?true:a},hasUniqueUrl:function(a,b){var e=a.api[b]?a.api[b].url:null,d=true;for(var c in a.api)if((d=c===b?true:a.api[c].url!=e?true:false)===false)break;return d},prepare:function(a){if(!a.api)a.api={};for(var c in this.actions){var b=this.actions[c];a.api[b]=a.api[b]||a.url||a.directFn;if(typeof a.api[b]=="string")a.api[b]={url:a.api[b],method:a.restful===true?Ext.data.Api.restActions[b]:undefined}}},restify:function(a){a.restful=true;for(var b in this.restActions)a.api[this.actions[b]].method||(a.api[this.actions[b]].method=this.restActions[b]);a.onWrite=a.onWrite.createInterceptor(function(c,b,e,d){var f=b.reader,a=new Ext.data.Response({action:c,raw:e});switch(e.status){case 200:return true;break;case 201:if(Ext.isEmpty(a.raw.responseText))a.success=true;else return true;break;case 204:a.success=true;a.data=null;break;default:return true}if(a.success===true)this.fireEvent("write",this,c,a.data,a,d,b.request.arg);else this.fireEvent("exception",this,"remote",c,b,a,d);b.request.callback.call(b.request.scope,a.data,a,a.success);return false},a)}}}();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(b){var a=parseFloat(String(b).replace(/,/g,""));return isNaN(a)?0:a},asInt:function(b){var a=parseInt(String(b).replace(/,/g,""),10);return isNaN(a)?0:a}};Ext.data.Record=function(b,a){this.id=a||a===0?a:Ext.data.Record.id(this);this.data=b||{}};Ext.data.Record.create=function(d){var b=Ext.extend(Ext.data.Record,{}),c=b.prototype;c.fields=new Ext.util.MixedCollection(false,function(a){return a.name});for(var a=0,e=d.length;a<e;a++)c.fields.add(new Ext.data.Field(d[a]));b.getField=function(a){return c.fields.get(a)};return b};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(a,b){var c=Ext.isPrimitive(b)?String:Ext.encode;if(c(this.data[a])==c(b))return;this.dirty=true;if(!this.modified)this.modified={};if(this.modified[a]===undefined)this.modified[a]=this.data[a];this.data[a]=b;if(!this.editing)this.afterEdit()},afterEdit:function(){if(this.store!=undefined&&typeof this.store.afterEdit=="function")this.store.afterEdit(this)},afterReject:function(){if(this.store)this.store.afterReject(this)},afterCommit:function(){if(this.store)this.store.afterCommit(this)},"get":function(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 a=this.modified;for(var b in a)if(typeof a[b]!="function")this.data[b]=a[b];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(a){if(Ext.isArray(a)){var c=["field1"],d=!Ext.isArray(a[0]);if(!d)for(var b=2,e=a[0].length;b<=e;++b)c.push("field"+b);return new Ext.data.ArrayStore({fields:c,data:a,expandData:d,autoDestroy:true,autoCreated:true})}return Ext.isObject(a)?a.events?a:Ext.create(a,"store"):this.get(a)},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"},isDestroyed:false,hasMultiSort:false,batchKey:"_ext_batch_",constructor:function(a){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(a){return a.id};this.removed=[];if(a&&a.data){this.inlineData=a.data;delete a.data}Ext.apply(this,a);this.baseParams=Ext.isObject(this.baseParams)?this.baseParams:{};this.paramNames=Ext.applyIf(this.paramNames||{},this.defaultParamNames);if((this.url||this.api)&&!this.proxy)this.proxy=new Ext.data.HttpProxy({url:this.url,api:this.api});if(this.restful===true&&this.proxy){this.batch=false;Ext.data.Api.restify(this.proxy)}if(this.reader){if(!this.recordType)this.recordType=this.reader.recordType;if(this.reader.onMetaChange)this.reader.onMetaChange=this.reader.onMetaChange.createSequence(this.onMetaChange,this);if(this.writer){if(this.writer instanceof Ext.data.DataWriter===false)this.writer=this.buildWriter(this.writer);this.writer.meta=this.reader.meta;this.pruneModifiedRecords=true}}if(this.recordType)this.fields=this.recordType.prototype.fields;this.modified=[];this.addEvents("datachanged","metachange","add","remove","update","clear","exception","beforeload","load","loadexception","beforewrite","write","beforesave","save");if(this.proxy)this.relayEvents(this.proxy,["loadexception","exception"]);if(this.writer)this.on({scope:this,add:this.createRecords,remove:this.destroyRecord,update:this.updateRecord,clear:this.onClear});this.sortToggle={};if(this.sortField)this.setDefaultSort(this.sortField,this.sortDir);else if(this.sortInfo)this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction);Ext.data.Store.superclass.constructor.call(this);if(this.id){this.storeId=this.id;delete this.id}if(this.storeId)Ext.StoreMgr.register(this);if(this.inlineData){this.loadData(this.inlineData);delete this.inlineData}else if(this.autoLoad)this.load.defer(10,this,[typeof this.autoLoad=="object"?this.autoLoad:undefined]);this.batchCounter=0;this.batches={}},buildWriter:function(b){var a=undefined,c=(b.format||"json").toLowerCase();switch(c){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(a){var c,b,d;a=[].concat(a);if(a.length<1)return;for(c=0,len=a.length;c<len;c++){b=a[c];b.join(this);if(b.dirty||b.phantom)this.modified.push(b)}d=this.data.length;this.data.addAll(a);if(this.snapshot)this.snapshot.addAll(a);this.fireEvent("add",this,a,d)},addSorted:function(a){var b=this.findInsertIndex(a);this.insert(b,a)},doUpdate:function(a){this.data.replace(a.id,a);if(this.snapshot)this.snapshot.replace(a.id,a);this.fireEvent("update",this,a,Ext.data.Record.COMMIT)},remove:function(a){if(Ext.isArray(a)){Ext.each(a,function(a){this.remove(a)},this);return}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(b){a.push(b)});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(b,a){this.destroyRecord(this,b,a)},this)},insert:function(d,b){var c,a;b=[].concat(b);for(c=0,len=b.length;c<len;c++){a=b[c];this.data.insert(d+c,a);a.join(this);if(a.dirty||a.phantom)this.modified.push(a)}if(this.snapshot)this.snapshot.addAll(b);this.fireEvent("add",this,b,d)},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(a){a=Ext.apply({},a);this.storeOptions(a);if(this.sortInfo&&this.remoteSort){var b=this.paramNames;a.params=Ext.apply({},a.params);a.params[b.sort]=this.sortInfo.field;a.params[b.dir]=this.sortInfo.direction}try{return this.execute("read",null,a)}catch(c){this.handleException(c);return false}},updateRecord:function(c,a,b){if(b==Ext.data.Record.EDIT&&this.autoSave===true&&(!a.phantom||a.phantom&&a.isValid()))this.save()},createRecords:function(f,c){var d=this.modified,e=c.length,a,b;for(b=0;b<e;b++){a=c[b];if(a.phantom&&a.isValid()){a.markDirty();if(d.indexOf(a)==-1)d.push(a)}}if(this.autoSave===true)this.save()},destroyRecord:function(c,a,b){if(this.modified.indexOf(a)!=-1)this.modified.remove(a);if(!a.phantom){this.removed.push(a);a.lastIndex=b;if(this.autoSave===true)this.save()}},execute:function(c,a,b,e){if(!Ext.data.Api.isAction(c))throw new Ext.data.Api.Error("execute",c);b=Ext.applyIf(b||{},{params:{}});if(e!==undefined)this.addToBatch(e);var d=true;if(c==="read"){d=this.fireEvent("beforeload",this,b);Ext.applyIf(b.params,this.baseParams)}else{if(this.writer.listful===true&&this.restful!==true)a=Ext.isArray(a)?a:[a];else if(Ext.isArray(a)&&a.length==1)a=a.shift();if((d=this.fireEvent("beforewrite",this,c,a,b))!==false)this.writer.apply(b.params,this.baseParams,c,a)}if(d!==false){if(this.writer&&this.proxy.url&&!this.proxy.restful&&!Ext.data.Api.hasUniqueUrl(this.proxy,c))b.params.xaction=c;this.proxy.request(Ext.data.Api.actions[c],a,b.params,this.reader,this.createCallback(c,a,e),this,b)}return d},save:function(){if(!this.writer)throw new Ext.data.Store.Error("writer-undefined");var c=[],e,d,f,i={},a;if(this.removed.length)c.push(["destroy",this.removed]);var b=[].concat(this.getModifiedRecords());if(b.length){var g=[];for(a=b.length-1;a>=0;a--)if(b[a].phantom===true){var h=b.splice(a,1).shift();if(h.isValid())g.push(h)}else if(!b[a].isValid())b.splice(a,1);if(g.length)c.push(["create",g]);if(b.length)c.push(["update",b])}e=c.length;if(e){f=++this.batchCounter;for(a=0;a<e;++a){d=c[a];i[d[0]]=d[1]}if(this.fireEvent("beforesave",this,i)!==false){for(a=0;a<e;++a){d=c[a];this.doTransaction(d[0],d[1],f)}return f}}return -1},doTransaction:function(f,a,e){function c(a){try{this.execute(f,a,undefined,e)}catch(b){this.handleException(b)}}if(this.batch===false)for(var b=0,d=a.length;b<d;b++)c.call(this,a[b]);else c.call(this,a)},addToBatch:function(c){var b=this.batches,d=this.batchKey+c,a=b[d];if(!a)b[d]=a={id:c,count:0,data:{}};++a.count},removeFromBatch:function(e,g,b){var d=this.batches,f=this.batchKey+e,a=d[f],c;if(a){c=a.data[g]||[];a.data[g]=c.concat(b);if(a.count===1){b=a.data;delete d[f];this.fireEvent("save",this,e,b)}else--a.count}},createCallback:function(a,b,c){var d=Ext.data.Api.actions;return a=="read"?this.loadRecords:function(d,f,e){this["on"+Ext.util.Format.capitalize(a)+"Records"](e,b,[].concat(d));if(e===true)this.fireEvent("write",this,a,d,f,b);this.removeFromBatch(c,a,d)}},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(a){if(Ext.isArray(a))for(var b=0,c=a.length;b<c;b++)this.reMap(a[b]);else{delete this.data.map[a._phid];this.data.map[a.id]=a;var d=this.data.keys.indexOf(a._phid);this.data.keys.splice(d,1,a.id);delete a._phid}},onCreateRecords:function(c,a,b){if(c===true)try{this.reader.realize(a,b);this.reMap(a)}catch(d){this.handleException(d);if(Ext.isArray(a))this.onCreateRecords(c,a,b)}},onUpdateRecords:function(c,a,b){if(c===true)try{this.reader.update(a,b)}catch(d){this.handleException(d);if(Ext.isArray(a))this.onUpdateRecords(c,a,b)}},onDestroyRecords:function(d,a){a=a instanceof Ext.data.Record?[a]:[].concat(a);for(var b=0,c=a.length;b<c;b++)this.removed.splice(this.removed.indexOf(a[b]),1);if(d===false)for(b=a.length-1;b>=0;b--)this.insert(a[b].lastIndex,a[b])},handleException:function(a){Ext.handleError(a)},reload:function(a){this.load(Ext.applyIf(a||{},this.lastOptions))},loadRecords:function(d,a,g){var c;if(this.isDestroyed===true)return;if(!d||g===false){if(g!==false)this.fireEvent("load",this,[],a);if(a.callback)a.callback.call(a.scope||this,[],a,false,d);return}var b=d.records,h=d.totalRecords||b.length;if(!a||a.add!==true){if(this.pruneModifiedRecords)this.modified=[];for(c=0,len=b.length;c<len;c++)b[c].join(this);if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.clearData();this.data.addAll(b);this.totalLength=h;this.applySort();this.fireEvent("datachanged",this)}else{var i=[],e,f=0;for(c=0,len=b.length;c<len;++c){e=b[c];if(this.indexOfId(e.id)>-1)this.doUpdate(e);else{i.push(e);++f}}this.totalLength=Math.max(h,this.data.length+f);this.add(i)}this.fireEvent("load",this,b,a);if(a.callback)a.callback.call(a.scope||this,b,a,true)},loadData:function(c,a){var b=this.reader.readRecords(c);this.loadRecords(b,{add:a},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if((this.sortInfo||this.multiSortInfo)&&!this.remoteSort)this.sortData()},sortData:function(){var e=this.hasMultiSort?this.multiSortInfo:this.sortInfo,d=e.direction||"ASC",c=e.sorters,a=[];if(!this.hasMultiSort)c=[{direction:d,field:e.field}];for(var b=0,g=c.length;b<g;b++)a.push(this.createSortFunction(c[b].field,c[b].direction));if(a.length==0)return;var h=d.toUpperCase()=="DESC"?-1:1,f=function(e,d){var b=a[0].call(this,e,d);if(a.length>1)for(var c=1,f=a.length;c<f;c++)b=b||a[c].call(this,e,d);return h*b};this.data.sort(d,f);if(this.snapshot&&this.snapshot!=this.data)this.snapshot.sort(d,f)},createSortFunction:function(b,a){a=a||"ASC";var d=a.toUpperCase()=="DESC"?-1:1,c=this.fields.get(b).sortType;return function(g,f){var e=c(g.data[b]),a=c(f.data[b]);return d*(e>a?1:e<a?-1:0)}},setDefaultSort:function(b,a){a=a?a.toUpperCase():"ASC";this.sortInfo={field:b,direction:a};this.sortToggle[b]=a},sort:function(b,a){if(Ext.isArray(arguments[0]))return this.multiSort.call(this,b,a);else return this.singleSort(b,a)},singleSort:function(f,b){var d=this.fields.get(f);if(!d)return false;var a=d.name,c=this.sortInfo||null,e=this.sortToggle?this.sortToggle[a]:null;if(!b)if(c&&c.field==a)b=(this.sortToggle[a]||"ASC").toggle("ASC","DESC");else b=d.sortDir;this.sortToggle[a]=b;this.sortInfo={field:a,direction:b};this.hasMultiSort=false;if(this.remoteSort){if(!this.load(this.lastOptions)){if(e)this.sortToggle[a]=e;if(c)this.sortInfo=c}}else{this.applySort();this.fireEvent("datachanged",this)}return true},multiSort:function(b,a){this.hasMultiSort=true;a=a||"ASC";if(this.multiSortInfo&&a==this.multiSortInfo.direction)a=a.toggle("ASC","DESC");this.multiSortInfo={sorters:b,direction:a};if(this.remoteSort)this.singleSort(b[0].field,b[0].direction);else{this.applySort();this.fireEvent("datachanged",this)}},each:function(b,a){this.data.each(b,a)},getModifiedRecords:function(){return this.modified},sum:function(f,c,a){var e=this.data.items,d=0;c=c||0;a=a||a===0?a:e.length-1;for(var b=c;b<=a;b++)d+=e[b].data[f]||0;return d},createFilterFn:function(d,a,e,b,c){if(Ext.isEmpty(a,false))return false;a=this.data.createValueMatcher(a,e,b,c);return function(b){return a.test(b.data[d])}},createMultipleFilterFn:function(a){return function(e){var c=true;for(var b=0,f=a.length;b<f;b++){var d=a[b],h=d.fn,g=d.scope;c=c&&h.call(g,e)}return c}},filter:function(b,k,i,j,h){var c;if(Ext.isObject(b))b=[b];if(Ext.isArray(b)){var f=[];for(var e=0,g=b.length;e<g;e++){var a=b[e],d=a.fn,l=a.scope||this;if(!Ext.isFunction(d))d=this.createFilterFn(a.property,a.value,a.anyMatch,a.caseSensitive,a.exactMatch);f.push({fn:d,scope:l})}c=this.createMultipleFilterFn(f)}else c=this.createFilterFn(b,k,i,j,h);return c?this.filterBy(c):this.clearFilter()},filterBy:function(b,a){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(b,a||this);this.fireEvent("datachanged",this)},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},query:function(d,c,e,b){var a=this.createFilterFn(d,c,e,b);return a?this.queryBy(a):this.data.clone()},queryBy:function(b,a){var c=this.snapshot||this.data;return c.filterBy(b,a||this)},find:function(d,c,f,e,b){var a=this.createFilterFn(d,c,e,b);return a?this.data.findIndexBy(a,null,f):-1},findExact:function(b,a,c){return this.data.findIndexBy(function(c){return c.get(b)===a},this,c)},findBy:function(b,a,c){return this.data.findIndexBy(b,a,c)},collect:function(i,j,g){var f=g===true&&this.snapshot?this.snapshot.items:this.data.items,a,d,b=[],e={};for(var c=0,h=f.length;c<h;c++){a=f[c].data[i];d=String(a);if((j||!Ext.isEmpty(a))&&!e[d]){e[d]=true;b[b.length]=a}}return b},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 b=this.modified.slice(0),c=b.length,a;for(a=0;a<c;a++)b[a].commit();this.modified=[];this.removed=[]},rejectChanges:function(){var c=this.modified.slice(0),b=this.removed.slice(0).reverse(),d=c.length,e=b.length,a;for(a=0;a<d;a++)c[a].reject();for(a=0;a<e;a++){this.insert(b[a].lastIndex||0,b[a]);b[a].reject()}this.modified=[];this.removed=[]},onMetaChange:function(){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(a){this.suspendEvents();var c=this.data.clone();this.data.add(a);this.applySort();var b=this.data.indexOf(a);this.data=c;this.resumeEvents();return b},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=Ext.extend(Object,{constructor:function(a){if(Ext.isString(a))a={name:a};Ext.apply(this,a);var c=Ext.data.Types,b=this.sortType,d;if(this.type){if(Ext.isString(this.type))this.type=Ext.data.Types[this.type.toUpperCase()]||c.AUTO}else this.type=c.AUTO;if(Ext.isString(b))this.sortType=Ext.data.SortTypes[b];else if(Ext.isEmpty(b))this.sortType=this.type.sortType;if(!this.convert)this.convert=this.type.convert},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true});Ext.data.DataReader=function(b,a){this.meta=b;this.recordType=Ext.isArray(a)?Ext.data.Record.create(a):a;if(this.recordType)this.buildExtractors()};Ext.data.DataReader.prototype={getTotal:Ext.emptyFn,getRoot:Ext.emptyFn,getMessage:Ext.emptyFn,getSuccess:Ext.emptyFn,getId:Ext.emptyFn,buildExtractors:Ext.emptyFn,extractValues:Ext.emptyFn,realize:function(a,b){if(Ext.isArray(a))for(var c=a.length-1;c>=0;c--)if(Ext.isArray(b))this.realize(a.splice(c,1).shift(),b.splice(c,1).shift());else this.realize(a.splice(c,1).shift(),b);else{if(Ext.isArray(b)&&b.length==1)b=b.shift();if(!this.isData(b))throw new Ext.data.DataReader.Error("realize",a);a.phantom=false;a._phid=a.id;a.id=this.getId(b);a.data=b;a.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.data=Ext.apply(b.data,a);b.commit()}},extractData:function(a,j){var k=this instanceof Ext.data.JsonReader?"json":"node",d=[];if(this.isData(a)&&!(this instanceof Ext.data.XmlReader))a=[a];var g=this.recordType.prototype.fields,i=g.items,h=g.length,d=[];if(j===true){var l=this.recordType;for(var b=0;b<a.length;b++){var c=a[b],f=new l(this.extractValues(c,i,h),this.getId(c));f[k]=c;d.push(f)}}else for(var b=0;b<a.length;b++){var e=this.extractValues(a[b],i,h);e[this.meta.idProperty]=this.getId(a[b]);d.push(e)}return d},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(e,f,d,a){var b=[],c=d+"Record";if(Ext.isArray(a))Ext.each(a,function(a){b.push(this[c](a))},this);else if(a instanceof Ext.data.Record)b=this[c](a);this.render(e,f,b)},render:Ext.emptyFn,updateRecord:Ext.emptyFn,createRecord:Ext.emptyFn,destroyRecord:Ext.emptyFn,toHash:function(a){var e=a.fields.map,c={},d=this.writeAllFields===false&&a.phantom===false?a.getChanges():a.data,b;Ext.iterate(d,function(d,a){if(b=e[d])c[b.mapping?b.mapping:b.name]=a});if(a.phantom){if(a.fields.containsKey(this.meta.idProperty)&&Ext.isEmpty(a.data[this.meta.idProperty]))delete c[this.meta.idProperty]}else c[this.meta.idProperty]=a.id;return c},toArray:function(b){var a=[];Ext.iterate(b,function(c,b){a.push({name:c,value:b})},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(a,c,b,g,f,e,d){if(!this.api[a]&&!this.load)throw new Ext.data.DataProxy.Error("action-undefined",a);b=b||{};if(a===Ext.data.Api.actions.read?this.fireEvent("beforeload",this,b):this.fireEvent("beforewrite",this,a,c,b)!==false)this.doRequest.apply(this,arguments);else f.call(e||this,null,d,false)},load:null,doRequest:function(g,f,d,a,e,c,b){this.load(d,a,e,c,b)},onRead:Ext.emptyFn,onWrite:Ext.emptyFn,buildUrl:function(d,b){b=b||null;var a=this.conn&&this.conn.url?this.conn.url:this.api[d]?this.api[d].url:this.url;if(!a)throw new Ext.data.Api.Error("invalid-url",d);var e=null,c=a.match(/(.*)(\.json|\.xml|\.html)$/);if(c){e=c[2];a=c[1]}if((this.restful===true||this.prettyUrls===true)&&b instanceof Ext.data.Record&&!b.phantom)a+="/"+b.id;return e===null?a:a+e},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=1e3;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:3e4,callbackParam:"callback",nocache:true,doRequest:function(e,g,f,i,j,k,l){var h=Ext.urlEncode(Ext.apply(f,this.extraParams)),a=this.buildUrl(e,g);if(!a)throw new Ext.data.Api.Error("invalid-url",a);a=Ext.urlAppend(a,h);if(this.nocache)a=Ext.urlAppend(a,"_dc="+(new Date).getTime());var d=++Ext.data.ScriptTagProxy.TRANS_ID,b={id:d,action:e,cb:"stcCallback"+d,scriptId:"stcScript"+d,params:f,arg:l,url:a,callback:j,scope:k,reader:i};window[b.cb]=this.createCallback(e,g,b);a+=String.format("&{0}={1}",this.callbackParam,b.cb);if(this.autoAbort!==false)this.abort();b.timeoutId=this.handleFailure.defer(this.timeout,this,[b]);var c=document.createElement("script");c.setAttribute("src",a);c.setAttribute("type","text/javascript");c.setAttribute("id",b.scriptId);this.head.appendChild(c);this.trans=b},createCallback:function(c,d,b){var a=this;return function(e){a.trans=false;a.destroyTrans(b,true);if(c===Ext.data.Api.actions.read)a.onRead.call(a,c,b,e);else a.onWrite.call(a,c,b,e,d)}},onRead:function(d,a,b){var c;try{c=a.reader.readRecords(b)}catch(e){this.fireEvent("loadexception",this,a,b,e);this.fireEvent("exception",this,"response",d,a,b,e);a.callback.call(a.scope||window,null,a.arg,false);return}if(c.success===false){this.fireEvent("loadexception",this,a,b);this.fireEvent("exception",this,"remote",d,a,b,null)}else this.fireEvent("load",this,b,a.arg);a.callback.call(a.scope||window,c,a.arg,c.success)},onWrite:function(c,a,f,d){var e=a.reader;try{var b=e.readResponse(c,f)}catch(g){this.fireEvent("exception",this,"response",c,a,b,g);a.callback.call(a.scope||window,null,b,false);return}if(!b.success===true){this.fireEvent("exception",this,"remote",c,a,b,d);a.callback.call(a.scope||window,null,b,false);return}this.fireEvent("write",this,c,b.data,b,d,a.arg);a.callback.call(a.scope||window,b.data,b,true)},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading())this.destroyTrans(this.trans)},destroyTrans:function(a,b){this.head.removeChild(document.getElementById(a.scriptId));clearTimeout(a.timeoutId);if(b){window[a.cb]=undefined;try{delete window[a.cb]}catch(c){}}else window[a.cb]=function(){window[a.cb]=undefined;try{delete window[a.cb]}catch(b){}}},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(a){Ext.data.HttpProxy.superclass.constructor.call(this,a);this.conn=a;this.conn.url=null;this.useAjax=!a||!a.events;var b=Ext.data.Api.actions;this.activeRequest={};for(var c in b)this.activeRequest[b[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(a,d,c,g,f,h,e){var b={method:this.api[a]?this.api[a]["method"]:undefined,request:{callback:f,scope:h,arg:e},reader:g,callback:this.createCallback(a,d),scope:this};if(c.jsonData)b.jsonData=c.jsonData;else if(c.xmlData)b.xmlData=c.xmlData;else b.params=c||{};this.conn.url=this.buildUrl(a,d);if(this.useAjax){Ext.applyIf(b,this.conn);if(this.activeRequest[a]);this.activeRequest[a]=Ext.Ajax.request(b)}else this.conn.request(b);this.conn.url=null},createCallback:function(a,b){return function(c,e,d){this.activeRequest[a]=undefined;if(!e){if(a===Ext.data.Api.actions.read)this.fireEvent("loadexception",this,c,d);this.fireEvent("exception",this,"response",a,c,d);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);else this.onWrite(a,c,d,b)}},onRead:function(d,a,b){var c;try{c=a.reader.read(b)}catch(f){this.fireEvent("loadexception",this,a,b,f);this.fireEvent("exception",this,"response",d,a,b,f);a.request.callback.call(a.request.scope,null,a.request.arg,false);return}if(c.success===false){this.fireEvent("loadexception",this,a,b);var e=a.reader.readResponse(d,b);this.fireEvent("exception",this,"remote",d,a,e,null)}else this.fireEvent("load",this,a,a.request.arg);a.request.callback.call(a.request.scope,c,a.request.arg,c.success)},onWrite:function(c,a,e,d){var f=a.reader,b;try{b=f.readResponse(c,e)}catch(g){this.fireEvent("exception",this,"response",c,a,e,g);a.request.callback.call(a.request.scope,null,a.request.arg,false);return}if(b.success===true)this.fireEvent("write",this,c,b.data,b,d,a.request.arg);else this.fireEvent("exception",this,"remote",c,a,b,d);a.request.callback.call(a.request.scope,b.data,b,b.success)},destroy:function(){if(!this.useAjax)this.conn.abort();else if(this.activeRequest){var a=Ext.data.Api.actions;for(var b in a)if(this.activeRequest[a[b]])Ext.Ajax.abort(this.activeRequest[a[b]])}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(f,h,b,g,c,d,a){b=b||{};var e;try{e=g.readRecords(this.data)}catch(i){this.fireEvent("loadexception",this,null,a,i);this.fireEvent("exception",this,"response",f,a,null,i);c.call(d,null,a,false);return}c.call(d,e,a,true)}});Ext.data.Types=new function(){var a=Ext.data.SortTypes;Ext.apply(this,{stripRe:/[\$,%]/g,AUTO:{convert:function(a){return a},sortType:a.none,type:"auto"},STRING:{convert:function(a){return a===undefined||a===null?"":String(a)},sortType:a.asUCString,type:"string"},INT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(Ext.data.Types.stripRe,""),10):this.useNull?null:0},sortType:a.none,type:"int"},FLOAT:{convert:function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(Ext.data.Types.stripRe,""),10):this.useNull?null:0},sortType:a.none,type:"float"},BOOL:{convert:function(a){return a===true||a==="true"||a==1},sortType:a.none,type:"bool"},DATE:{convert:function(a){var b=this.dateFormat;if(!a)return null;if(Ext.isDate(a))return a;if(b){if(b=="timestamp")return new Date(a*1e3);if(b=="time")return new Date(parseInt(a,10));return Date.parseDate(a,b)}var c=Date.parse(a);return c?new Date(c):null},sortType:a.asDate,type:"date"}});Ext.apply(this,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})};Ext.data.JsonWriter=Ext.extend(Ext.data.DataWriter,{encode:true,encodeDelete:false,constructor:function(a){Ext.data.JsonWriter.superclass.constructor.call(this,a)},render:function(a,d,c){if(this.encode===true){Ext.apply(a,d);a[this.meta.root]=Ext.encode(c)}else{var b=Ext.apply({},d);b[this.meta.root]=c;a.jsonData=b}},createRecord:function(a){return this.toHash(a)},updateRecord:function(a){return this.toHash(a)},destroyRecord:function(b){if(this.encodeDelete){var a={};a[this.meta.idProperty]=b.id;return a}else return b.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,a=Ext.decode(c);if(!a)throw{message:"JsonReader.read: Json object not found"};return this.readRecords(a)},readResponse:function(f,c){var a=c.responseText!==undefined?Ext.decode(c.responseText):c;if(!a)throw new Ext.data.JsonReader.Error("response");var b=this.getRoot(a);if(f===Ext.data.Api.actions.create){var e=Ext.isDefined(b);if(e&&Ext.isEmpty(b))throw new Ext.data.JsonReader.Error("root-empty",this.meta.root);else if(!e)throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}var d=new Ext.data.Response({action:f,success:this.getSuccess(a),data:b?this.extractData(b,false):[],message:this.getMessage(a),raw:a});if(Ext.isEmpty(d.success))throw new Ext.data.JsonReader.Error("successProperty-response",this.meta.successProperty);return d},readRecords:function(a){this.jsonData=a;if(a.metaData)this.onMetaChange(a.metaData);var g=this.meta,i=this.recordType,c=i.prototype.fields,k=c.items,j=c.length,b,e=this.getRoot(a),h=e.length,d=h,f=true;if(g.totalProperty){b=parseInt(this.getTotal(a),10);if(!isNaN(b))d=b}if(g.successProperty){b=this.getSuccess(a);if(b===false||b==="false")f=false}return {success:f,records:this.extractData(e,true),totalRecords:d}},buildExtractors:function(){if(this.ef)return;var a=this.meta,g=this.recordType,b=g.prototype.fields,i=b.items,h=b.length;if(a.totalProperty)this.getTotal=this.createAccessor(a.totalProperty);if(a.successProperty)this.getSuccess=this.createAccessor(a.successProperty);if(a.messageProperty)this.getMessage=this.createAccessor(a.messageProperty);this.getRoot=a.root?this.createAccessor(a.root):function(a){return a};if(a.id||a.idProperty){var f=this.createAccessor(a.id||a.idProperty);this.getId=function(b){var a=f(b);return a===undefined||a===""?null:a}}else this.getId=function(){return null};var d=[];for(var c=0;c<h;c++){b=i[c];var e=b.mapping!==undefined&&b.mapping!==null?b.mapping:b.name;d.push(this.createAccessor(e))}this.ef=d},simpleAccess:function(b,a){return b[a]},createAccessor:function(){var a=/[\[\.]/;return function(b){if(Ext.isEmpty(b))return Ext.emptyFn;if(Ext.isFunction(b))return b;var c=String(b).search(a);if(c>=0)return new Function("obj","return obj"+(c>0?".":"")+b);return function(a){return a[b]}}}(),extractValues:function(e,g,f){var b,d={};for(var a=0;a<f;a++){b=g[a];var c=this.ef[a](e);d[b.name]=b.convert(c!==undefined?c:b.defaultValue,e)}return d}});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(g){this.arrayData=g;var e=this.meta,d=e?Ext.num(e.idIndex,e.id):null,k=this.recordType,o=k.prototype.fields,f=[],m=true,a,p=this.getRoot(g);for(var i=0,r=p.length;i<r;i++){var b=p[i],j={},t=(d||d===0)&&b[d]!==undefined&&b[d]!==""?b[d]:null;for(var h=0,s=o.length;h<s;h++){var c=o.items[h],q=c.mapping!==undefined&&c.mapping!==null?c.mapping:h;a=b[q]!==undefined?b[q]:c.defaultValue;a=c.convert(a,b);j[c.name]=a}var l=new k(j,t);l.json=b;f[f.length]=l}var n=f.length;if(e.totalProperty){a=parseInt(this.getTotal(g),10);if(!isNaN(a))n=a}if(e.successProperty){a=this.getSuccess(g);if(a===false||a==="false")m=false}return {success:m,records:f,totalRecords:n}}});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(a,e){if(this.expandData===true){var c=[];for(var b=0,d=a.length;b<d;b++)c[c.length]=[a[b]];a=c}Ext.data.ArrayStore.superclass.loadData.call(this,a,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(){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(b){var a=b.responseXML;if(!a)throw{message:"XmlReader.read: XML Document not available"};return this.readRecords(a)},readRecords:function(b){this.xmlData=b;var a=b.documentElement||b,f=Ext.DomQuery,e=0,d=true;if(this.meta.totalProperty)e=this.getTotal(a,0);if(this.meta.successProperty)d=this.getSuccess(a);var c=this.extractData(f.select(this.meta.record,a),true);return {success:d,records:c,totalRecords:e||c.length}},readResponse:function(f,g){var e=Ext.DomQuery,c=g.responseXML,a=c.documentElement||c,b=new Ext.data.Response({action:f,success:this.getSuccess(a),message:this.getMessage(a),data:this.extractData(e.select(this.meta.record,a)||e.select(this.meta.root,a),false),raw:c});if(Ext.isEmpty(b.success))throw new Ext.data.DataReader.Error("successProperty-response",this.meta.successProperty);if(f===Ext.data.Api.actions.create){var d=Ext.isDefined(b.data);if(d&&Ext.isEmpty(b.data))throw new Ext.data.JsonReader.Error("root-empty",this.meta.root);else if(!d)throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}return b},getSuccess:function(){return true},buildExtractors:function(){if(this.ef)return;var a=this.meta,g=this.recordType,b=g.prototype.fields,i=b.items,h=b.length;if(a.totalProperty)this.getTotal=this.createAccessor(a.totalProperty);if(a.successProperty)this.getSuccess=this.createAccessor(a.successProperty);if(a.messageProperty)this.getMessage=this.createAccessor(a.messageProperty);this.getRoot=function(a){return !Ext.isEmpty(a[this.meta.record])?a[this.meta.record]:a[this.meta.root]};if(a.idPath||a.idProperty){var f=this.createAccessor(a.idPath||a.idProperty);this.getId=function(b){var a=f(b)||b.id;return a===undefined||a===""?null:a}}else this.getId=function(){return null};var d=[];for(var c=0;c<h;c++){b=i[c];var e=b.mapping!==undefined&&b.mapping!==null?b.mapping:b.name;d.push(this.createAccessor(e))}this.ef=d},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){var c=a.selectValue(b,d,true),e=c!==false&&c!=="false";return e};break;default:return function(c,d){return a.selectValue(b,c,d)}}}}(),extractValues:function(e,g,f){var b,d={};for(var a=0;a<f;a++){b=g[a];var c=this.ef[a](e);d[b.name]=b.convert(c!==undefined?c:b.defaultValue,e)}return d}});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){a=a||{};this.hasMultiSort=true;this.multiSortInfo=this.multiSortInfo||{sorters:[]};var d=this.multiSortInfo.sorters,c=a.groupField||this.groupField,b=a.sortInfo||this.sortInfo,e=a.groupDir||this.groupDir;if(c)d.push({field:c,direction:e});if(b)d.push(b);Ext.data.GroupingStore.superclass.constructor.call(this,a);this.addEvents("groupchange");this.applyGroupField()},remoteGroup:false,groupOnSort:false,groupDir:"ASC",clearGrouping:function(){this.groupField=false;if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy;delete this.baseParams.groupDir}var a=this.lastOptions;if(a&&a.params){delete a.params.groupBy;delete a.params.groupDir}this.reload()}else{this.sort();this.fireEvent("datachanged",this)}},groupBy:function(d,e,a){a=a?String(a).toUpperCase()=="DESC"?"DESC":"ASC":this.groupDir;if(this.groupField==d&&this.groupDir==a&&!e)return;var b=this.multiSortInfo.sorters;if(b.length>0&&b[0].field==this.groupField)b.shift();this.groupField=d;this.groupDir=a;this.applyGroupField();var c=function(){this.fireEvent("groupchange",this,this.getGroupState())};if(this.groupOnSort){this.sort(d,a);c.call(this);return}if(this.remoteGroup){this.on("load",c,this,{single:true});this.reload()}else{this.sort(b);c.call(this)}},sort:function(e,a){if(this.remoteSort)return Ext.data.GroupingStore.superclass.sort.call(this,e,a);var c=[];if(Ext.isArray(arguments[0]))c=arguments[0];else if(e==undefined)c=this.sortInfo?[this.sortInfo]:[];else{var d=this.fields.get(e);if(!d)return false;var b=d.name,f=this.sortInfo||null,g=this.sortToggle?this.sortToggle[b]:null;if(!a)if(f&&f.field==b)a=(this.sortToggle[b]||"ASC").toggle("ASC","DESC");else a=d.sortDir;this.sortToggle[b]=a;this.sortInfo={field:b,direction:a};c=[this.sortInfo]}if(this.groupField)c.unshift({direction:this.groupDir,field:this.groupField});return this.multiSort.call(this,c,a)},applyGroupField:function(){if(this.remoteGroup){if(!this.baseParams)this.baseParams={};Ext.apply(this.baseParams,{groupBy:this.groupField,groupDir:this.groupDir});var a=this.lastOptions;if(a&&a.params){a.params.groupDir=this.groupDir;delete a.params.groupBy}}},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(c,f,b,g,i,j,l){var a=[],e=this.api[c]||this.directFn;switch(c){case Ext.data.Api.actions.create:a.push(b.jsonData);break;case Ext.data.Api.actions.read:if(e.directCfg.method.len>0)if(this.paramOrder)for(var d=0,h=this.paramOrder.length;d<h;d++)a.push(b[this.paramOrder[d]]);else if(this.paramsAsHash)a.push(b);break;case Ext.data.Api.actions.update:a.push(b.jsonData);break;case Ext.data.Api.actions.destroy:a.push(b.jsonData)}var k={params:b||{},request:{callback:i,scope:j,arg:l},reader:g};a.push(this.createCallback(c,f,k),this);e.apply(window,a)},createCallback:function(c,d,a){var b=this;return function(f,e){if(!e.status){if(c===Ext.data.Api.actions.read)b.fireEvent("loadexception",b,a,e,null);b.fireEvent("exception",b,"remote",c,a,e,null);a.request.callback.call(a.request.scope,null,a.request.arg,false);return}if(c===Ext.data.Api.actions.read)b.onRead(c,a,f,e);else b.onWrite(c,a,f,e,d)}},onRead:function(e,a,d,b){var c;try{c=a.reader.readRecords(d)}catch(f){this.fireEvent("loadexception",this,a,b,f);this.fireEvent("exception",this,"response",e,a,b,f);a.request.callback.call(a.request.scope,null,a.request.arg,false);return}this.fireEvent("load",this,b,a.request.arg);a.request.callback.call(a.request.scope,c,a.request.arg,true)},onWrite:function(g,a,c,e,d){var f=a.reader.extractData(a.reader.getRoot(c),false),b=a.reader.getSuccess(c);b=b!==false;if(b)this.fireEvent("write",this,g,f,e,d,a.request.arg);else this.fireEvent("exception",this,"remote",g,a,c,d);a.request.callback.call(a.request.scope,f,e,b)}});Ext.data.DirectStore=Ext.extend(Ext.data.Store,{constructor:function(b){var a=Ext.apply({},{batchTransactions:false},b);Ext.data.DirectStore.superclass.constructor.call(this,Ext.apply(a,{proxy:Ext.isDefined(a.proxy)?a.proxy:new Ext.data.DirectProxy(Ext.copyTo({},a,"paramOrder,paramsAsHash,directFn,api")),reader:!Ext.isDefined(a.reader)&&a.fields?new Ext.data.JsonReader(Ext.copyTo({},a,"totalProperty,root,idProperty"),a.fields):a.reader}))}});Ext.reg("directstore",Ext.data.DirectStore);Ext.Direct=Ext.extend(Ext.util.Observable,{exceptions:{TRANSPORT:"xhr",PARSE:"parse",LOGIN:"login",SERVER:"exception"},constructor:function(){this.addEvents("event","exception");this.transactions={};this.providers={}},addProvider:function(a){var b=arguments;if(b.length>1){for(var c=0,d=b.length;c<d;c++)this.addProvider(b[c]);return}if(!a.events)a=new Ext.Direct.PROVIDERS[a.type](a);a.id=a.id||Ext.id();this.providers[a.id]=a;a.on("data",this.onProviderData,this);a.on("exception",this.onProviderException,this);if(!a.isConnected())a.connect();return a},getProvider:function(a){return this.providers[a]},removeProvider:function(b){var a=b.id?b:this.providers[b];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(c,a){if(Ext.isArray(a)){for(var b=0,d=a.length;b<d;b++)this.onProviderData(c,a[b]);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,c)},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(d){var a=null;try{a=this.parseResponse(d)}catch(g){var f=new Ext.Direct.ExceptionEvent({data:g,xhr:d,code:Ext.Direct.exceptions.PARSE,message:"Error parsing json response: \n\n "+a});return [f]}var c=[];if(Ext.isArray(a))for(var b=0,e=a.length;b<e;b++)c.push(Ext.Direct.createEvent(a[b]));else c.push(Ext.Direct.createEvent(a));return c}});Ext.direct.PollingProvider=Ext.extend(Ext.direct.JsonProvider,{priority:3,interval:3e3,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(g,f,d){if(f){var c=this.getEvents(d);for(var a=0,e=c.length;a<e;a++){var b=c[a];this.fireEvent("data",this,b)}}else{var b=new Ext.Direct.ExceptionEvent({data:b,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:d});this.fireEvent("data",this,b)}}});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 e=this.actions;for(var a in e){var g=this.namespace[a]||(this.namespace[a]={}),d=e[a];for(var b=0,f=d.length;b<f;b++){var c=d[b];g[c.name]=this.createMethod(a,c)}}},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(h,i,f){if(i){var g=this.getEvents(f);for(var b=0,d=g.length;b<d;b++){var c=g[b],a=this.getTransaction(c);this.fireEvent("data",this,c);if(a){this.doCallback(a,c,true);Ext.Direct.removeTransaction(a)}}}else{var e=[].concat(h.ts);for(var b=0,d=e.length;b<d;b++){var a=this.getTransaction(e[b]);if(a&&a.retryCount<this.maxRetries)a.retry();else{var c=new Ext.Direct.ExceptionEvent({data:c,transaction:a,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:f});this.fireEvent("data",this,c);if(a){this.doCallback(a,c,false);Ext.Direct.removeTransaction(a)}}}}},getCallData:function(a){return {action:a.action,method:a.method,data:a.data,type:"rpc",tid:a.tid}},doSend:function(b){var d={url:this.url,callback:this.onData,scope:this,ts:b,timeout:this.timeout},a;if(Ext.isArray(b)){a=[];for(var c=0,f=b.length;c<f;c++)a.push(this.getCallData(b[c]))}else a=this.getCallData(b);if(this.enableUrlEncode){var e={};e[Ext.isString(this.enableUrlEncode)?this.enableUrlEncode:"data"]=Ext.encode(a);d.params=e}else d.jsonData=a;Ext.Ajax.request(d)},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(g,a,b){var f=null,d=b[a.len],e=b[a.len+1];if(a.len!==0)f=b.slice(0,a.len);var c=new Ext.Direct.Transaction({provider:this,args:b,action:g,method:a.name,data:f,cb:e&&Ext.isFunction(d)?d.createDelegate(e):d});if(this.fireEvent("beforecall",this,c,a)!==false){Ext.Direct.addTransaction(c);this.queueTransaction(c);this.fireEvent("call",this,c,a)}},doForm:function(h,c,e,a,d){var b=new Ext.Direct.Transaction({provider:this,action:h,method:c.name,args:[e,a,d],cb:d&&Ext.isFunction(a)?a.createDelegate(d):a,isForm:true});if(this.fireEvent("beforecall",this,b,c)!==false){Ext.Direct.addTransaction(b);var f=String(e.getAttribute("enctype")).toLowerCase()=="multipart/form-data",g={extTID:b.tid,extAction:h,extMethod:c.name,extType:"rpc",extUpload:String(f)};Ext.apply(b,{form:Ext.getDom(e),isUpload:f,params:a&&Ext.isObject(a.params)?Ext.apply(g,a.params):g});this.fireEvent("call",this,b,c);this.processForm(b)}},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(c,a){var b;if(!a.formHandler)b=function(){this.doCall(c,a,Array.prototype.slice.call(arguments,0))}.createDelegate(this);else b=function(d,e,b){this.doForm(c,a,d,e,b)}.createDelegate(this);b.directCfg={action:c,method:a};return b},getTransaction:function(a){return a&&a.tid?Ext.Direct.getTransaction(a.tid):null},doCallback:function(d,a){var e=a.status?"success":"failure";if(d&&d.cb){var b=d.cb,c=Ext.isDefined(a.result)?a.result:a.data;if(Ext.isFunction(b))b(c,a);else{Ext.callback(b[e],b.scope,[c,a]);Ext.callback(b.callback,b.scope,[c,a])}}}});Ext.Direct.PROVIDERS.remoting=Ext.direct.RemotingProvider;Ext.Resizable=Ext.extend(Ext.util.Observable,{constructor:function(l,a){this.el=Ext.get(l);if(a&&a.wrap){a.resizeChild=this.el;this.el=this.el.wrap(typeof a.wrap=="object"?a.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=a.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(a.resizeChild.getPositioning());a.resizeChild.clearPositioning();if(!a.width||!a.height){var h=a.resizeChild.getSize();this.el.setSize(h.width,h.height)}if(a.pinned&&!a.adjustments)a.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,a);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var j=this.el.getStyle("position");if(j!="absolute"&&j!="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 b=this.handles.split(/\s*?[,;]\s*?| /),g=Ext.Resizable.positions;for(var d=0,m=b.length;d<m;d++)if(b[d]&&g[b[d]]){var k=g[b[d]];this[k]=new Ext.Resizable.Handle(this,k,this.disableTrackOver,this.transparent,this.handleCls)}this.corner=this.southeast;if(this.handles.indexOf("n")!=-1||this.handles.indexOf("w")!=-1)this.updateBox=true;this.activeHandle=null;if(this.resizeChild)if(typeof this.resizeChild=="boolean")this.resizeChild=Ext.get(this.el.dom.firstChild,true);else this.resizeChild=Ext.get(this.resizeChild,true);if(this.adjustments=="auto"){var f=this.resizeChild,e=this.west,i=this.east,c=this.north,b=this.south;if(f&&(e||c)){f.position("relative");f.setLeft(e?e.el.getWidth():0);f.setTop(c?c.el.getHeight():0)}this.adjustments=[(i?-i.el.getWidth():0)+(e?-e.el.getWidth():0),(c?-c.el.getHeight():0)+(b?-b.el.getHeight():0)-1]}if(this.draggable){this.dd=this.dynamic?this.el.initDD(null):this.el.initDDProxy(null,{dragElId:this.proxy.id});this.dd.setHandleElId(this.resizeChild?this.resizeChild.id:this.el.id);if(this.constrainTo)this.dd.constrainTo(this.constrainTo)}this.addEvents("beforeresize","resize");if(this.width!==null&&this.height!==null)this.resizeTo(this.width,this.height);else this.updateChildSize();if(Ext.isIE)this.el.dom.style.zoom=1;Ext.Resizable.superclass.constructor.call(this)},adjustments:[0,0],animate:false,disableTrackOver:false,draggable:false,duration:.35,dynamic:false,easing:"easeOutStrong",enabled:true,handles:false,multiDirectional:false,height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:5,minWidth:5,maxHeight:1e4,maxWidth:1e4,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(b,c){this.fireEvent("beforeresize",this,b);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=b.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 a=Ext.get(this.constrainTo);this.resizeRegion=a.getRegion().adjust(a.getFrameWidth("t"),a.getFrameWidth("l"),-a.getFrameWidth("b"),-a.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 b=this.el,d=this.resizeChild,a=this.adjustments;if(b.dom.offsetWidth){var c=b.getSize(true);d.setSize(c.width+a[0],c.height+a[1])}if(Ext.isIE)setTimeout(function(){if(b.dom.offsetWidth){var c=b.getSize(true);d.setSize(c.width+a[0],c.height+a[1])}},10)}},snap:function(a,c,e){if(!c||!a)return a;var d=a,b=a%c;if(b>0)if(b>c/2)d=a+(c-b);else d=a-b;return Math.max(e,d)},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(b,a,c,d){if(b-a<c)a=b-c;else if(b-a>d)a=b-d;return a},onMouseMove:function(r){if(this.enabled&&this.activeHandle)try{if(this.resizeRegion&&!this.resizeRegion.contains(r.getPoint()))return;var t=this.curSize||this.startBox,g=this.startBox.x,j=this.startBox.y,x=g,w=j,a=t.width,b=t.height,e=a,f=b,k=this.minWidth,h=this.minHeight,l=this.maxWidth,i=this.maxHeight,v=this.widthIncrement,u=this.heightIncrement,s=r.getXY(),d=-(this.startPoint[0]-Math.max(this.minX,s[0])),c=-(this.startPoint[1]-Math.max(this.minY,s[1])),q=this.activeHandle.position,m,p;switch(q){case "east":a+=d;a=Math.min(Math.max(k,a),l);break;case "south":b+=c;b=Math.min(Math.max(h,b),i);break;case "southeast":a+=d;b+=c;a=Math.min(Math.max(k,a),l);b=Math.min(Math.max(h,b),i);break;case "north":c=this.constrain(b,c,h,i);j+=c;b-=c;break;case "west":d=this.constrain(a,d,k,l);g+=d;a-=d;break;case "northeast":a+=d;a=Math.min(Math.max(k,a),l);c=this.constrain(b,c,h,i);j+=c;b-=c;break;case "northwest":d=this.constrain(a,d,k,l);c=this.constrain(b,c,h,i);j+=c;b-=c;g+=d;a-=d;break;case "southwest":d=this.constrain(a,d,k,l);b+=c;b=Math.min(Math.max(h,b),i);g+=d;a-=d}var o=this.snap(a,v,k),n=this.snap(b,u,h);if(o!=a||n!=b){switch(q){case "northeast":j-=n-b;break;case "north":j-=n-b;break;case "southwest":g-=o-a;break;case "west":g-=o-a;break;case "northwest":g-=o-a;j-=n-b}a=o;b=n}if(this.preserveRatio)switch(q){case "southeast":case "east":b=f*(a/e);b=Math.min(Math.max(h,b),i);a=e*(b/f);break;case "south":a=e*(b/f);a=Math.min(Math.max(k,a),l);b=f*(a/e);break;case "northeast":a=e*(b/f);a=Math.min(Math.max(k,a),l);b=f*(a/e);break;case "north":m=a;a=e*(b/f);a=Math.min(Math.max(k,a),l);b=f*(a/e);g+=(m-a)/2;break;case "southwest":b=f*(a/e);b=Math.min(Math.max(h,b),i);m=a;a=e*(b/f);g+=m-a;break;case "west":p=b;b=f*(a/e);b=Math.min(Math.max(h,b),i);j+=(p-b)/2;m=a;a=e*(b/f);g+=m-a;break;case "northwest":m=a;p=b;b=f*(a/e);b=Math.min(Math.max(h,b),i);a=e*(b/f);j+=p-b;g+=m-a}this.proxy.setBounds(g,j,a,b);if(this.dynamic)this.resizeElement()}catch(y){}},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=Ext.extend(Object,{constructor:function(c,f,d,e,a){if(!this.tpl){var b=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});b.compile();Ext.Resizable.Handle.prototype.tpl=b}this.position=f;this.rz=c;this.el=this.tpl.append(c.el.dom,[this.position],true);this.el.unselectable();if(e)this.el.setOpacity(0);if(!Ext.isEmpty(a))this.el.addClass(a);this.el.on("mousedown",this.onMouseDown,this);if(!d)this.el.on({scope:this,mouseover:this.onMouseOver,mouseout:this.onMouseOut})},afterResize:function(){},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,showAnimDuration:.25,hideAnimDuration:.25,collapsible:false,initHidden:undefined,hidden:true,elements:"header,body",frame:true,floating:true,initComponent:function(){this.initTools();Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore");if(Ext.isDefined(this.initHidden))this.hidden=this.initHidden;if(this.hidden===false){this.hidden=true;this.show()}},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox(true))},onRender:function(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,handleCls:"x-window-handle"});this.resizer.window=this;this.mon(this.resizer,"beforeresize",this.beforeResize,this)}if(this.draggable)this.header.addClass("x-window-draggable");this.mon(this.el,"mousedown",this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);if(this.maximized){this.maximized=false;this.maximize()}if(this.closable){var a=this.getKeyMap();a.on(27,this.onEsc,this);a.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(b,a){a.stopEvent();this[this.closeAction]()},beforeDestroy:function(){if(this.rendered){this.hide();this.clearAnchor();Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask)}Ext.Window.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.manager)this.manager.unregister(this);Ext.Window.superclass.onDestroy.call(this)},initTools:function(){if(this.minimizable)this.addTool({id:"minimize",handler:this.minimize.createDelegate(this,[])});if(this.maximizable){this.addTool({id:"maximize",handler:this.maximize.createDelegate(this,[])});this.addTool({id:"restore",handler:this.restore.createDelegate(this,[]),hidden:true})}if(this.closable)this.addTool({id:"close",handler:this[this.closeAction].createDelegate(this,[])})},resizerAction:function(){var 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(a){var b=this.resizeBox;if(b.x!=a.x||b.y!=a.y)this.updateBox(a);else{this.setSize(a);if(Ext.isIE6&&Ext.isStrict)this.doLayout()}this.focus();this.updateHandles();this.saveState()},focus:function(){var a=this.focusEl,b=this.defaultButton,e=typeof b,d,c;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;d=a.getEl();c=Ext.getDom(this.container);if(d&&c)if(c!=document.body&&!Ext.lib.Region.getRegion(c).contains(Ext.lib.Region.getRegion(d.dom)))return}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"),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(b,a,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(a)this.on("show",a,c,{single:true});this.hidden=false;if(Ext.isDefined(b))this.setAnimateTarget(b);this.beforeShow();if(this.animateTarget)this.animShow();else this.afterShow();return this},afterShow:function(b){if(this.isDestroyed)return false;this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized)this.fitContainer();if(Ext.isMac&&Ext.isGecko2)this.cascade(this.setAutoScroll);if(this.monitorResize||this.modal||this.constrain||this.constrainHeader)Ext.EventManager.onWindowResize(this.onWindowResize,this);this.doConstrain();this.doLayout();if(this.keyMap)this.keyMap.enable();this.toFront();this.updateHandles();if(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:this.showAnimDuration,opacity:.5}))},hide:function(b,a,c){if(this.hidden||this.fireEvent("beforehide",this)===false)return this;if(a)this.on("hide",a,c,{single:true});this.hidden=true;if(b!==undefined)this.setAnimateTarget(b);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(.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:this.hideAnimDuration,easing:"easeNone",opacity:0}))},onShow:Ext.emptyFn,onHide:Ext.emptyFn,onWindowResize:function(){if(this.maximized)this.fitContainer();if(this.modal){this.mask.setSize("100%","100%");var 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 a;if(this.constrain)a={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset};else{var c=this.getSize();a={right:-(c.width-100),bottom:-(c.height-25)}}var b=this.el.getConstrainToXY(this.container,true,a);if(b)this.setPosition(b[0],b[1])}},ghost:function(c){var a=this.createGhost(c),b=this.getBox(true);a.setLeftTop(b.x,b.y);a.setWidth(b.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.defer(10,this);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(c,b,d){var a=this.el.getAlignToXY(c,b,d);this.setPagePosition(a[0],a[1]);return this},anchorTo:function(c,e,d,b){this.clearAnchor();this.anchorTarget={el:c,alignment:e,offsets:d};Ext.EventManager.onWindowResize(this.doAnchor,this);var a=typeof b;if(a!="undefined")Ext.EventManager.on(window,"scroll",this.doAnchor,this,{buffer:a=="number"?b:50});return this.doAnchor()},doAnchor:function(){var a=this.anchorTarget;this.alignTo(a.el,a.alignment,a.offsets);return this},clearAnchor:function(){if(this.anchorTarget){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this);delete this.anchorTarget}return this},toFront:function(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=Ext.extend(Ext.dd.DD,{constructor: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},moveOnly:true,headerOffsets:[100,25],startDrag:function(){var a=this.win;this.proxy=a.ghost(a.initialConfig.cls);if(a.constrain!==false){var b=a.el.shadowOffset;this.constrainTo(a.container,{right:b,left:b,bottom:b})}else if(a.constrainHeader!==false){var c=this.proxy.getSize();this.constrainTo(a.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(){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var a={},b=[],c=null,g=function(a,b){return !a._lastAccess||a._lastAccess<b._lastAccess?-1:1},f=function(){var a=b,f=a.length;if(f>0){a.sort(g);var h=a[0].manager.zseed;for(var c=0;c<f;c++){var e=a[c];if(e&&!e.hidden)e.setZIndex(h+c*10)}}d()},e=function(a){if(a!=c){if(c)c.setActive(false);c=a;if(a)a.setActive(true)}},d=function(){for(var a=b.length-1;a>=0;--a)if(!b[a].hidden){e(b[a]);return}e(null)};return {zseed:9e3,register:function(c){if(c.manager)c.manager.unregister(c);c.manager=this;a[c.id]=c;b.push(c);c.on("hide",d)},unregister:function(c){delete c.manager;delete a[c.id];c.un("hide",d);b.remove(c)},"get":function(b){return typeof b=="object"?b:a[b]},bringToFront:function(a){a=this.get(a);if(a!=c){a._lastAccess=(new Date).getTime();f();return true}return false},sendToBack:function(a){a=this.get(a);a._lastAccess=-(new Date).getTime();f();return a},hideAll:function(){for(var b in a)if(a[b]&&typeof a[b]!="function"&&a[b].isVisible())a[b].hide()},getActive:function(){return c},getBy:function(f,e){var d=[];for(var a=b.length-1;a>=0;--a){var c=b[a];if(f.call(e||c,c)!==false)d.push(c)}return d},each:function(d,c){for(var b in a)if(a[b]&&typeof a[b]!="function")if(d.call(c||a[b],a[b])===false)return}}};Ext.WindowMgr=new Ext.WindowGroup;Ext.MessageBox=function(){var b,a,q,v,d,l,f,c,h,u,g,t,e,i,n,m="",k="",p=["ok","yes","no","cancel"],j=function(c){e[c].blur();if(b.isVisible()){b.hide();o();Ext.callback(a.fn,a.scope||window,[c,i.dom.value,a],1)}},o=function(){if(a&&a.cls)b.el.removeClass(a.cls);h.reset()},s=function(d,e,c){if(a&&a.closable!==false){b.hide();o()}if(c)c.stopEvent()},r=function(d){var c=0,a;if(!d){Ext.each(p,function(a){e[a].hide()});return c}b.footer.dom.style.display="";Ext.iterate(e,function(e,b){a=d[e];if(a){b.show();b.setText(Ext.isString(a)?a:Ext.MessageBox.buttonText[e]);c+=b.getEl().getWidth()+15}else b.hide()});return c};return {getDialog:function(m){if(!b){var k=[];e={};Ext.each(p,function(a){k.push(e[a]=new Ext.Button({text:this.buttonText[a],handler:j.createCallback(a),hideMode:"offsets"}))},this);b=new Ext.Window({autoCreate:true,title:m,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(a&&a.buttons&&a.buttons.no&&!a.buttons.cancel)j("no");else j("cancel")},fbar:new Ext.Toolbar({items:k,enableOverflow:false})});b.render(document.body);b.getEl().addClass("x-window-dlg");q=b.mask;d=b.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>'});g=Ext.get(d.dom.firstChild);var i=d.dom.childNodes[1];l=Ext.get(i.firstChild);f=Ext.get(i.childNodes[2].firstChild);f.enableDisplayMode();f.addKeyListener([10,13],function(){if(b.isVisible()&&a&&a.buttons)if(a.buttons.ok)j("ok");else if(a.buttons.yes)j("yes")});c=Ext.get(i.childNodes[2].childNodes[1]);c.enableDisplayMode();h=new Ext.ProgressBar({renderTo:d});d.createChild({cls:"x-clear"})}return b},updateText:function(f){if(!b.isVisible()&&!a.width)b.setSize(this.maxWidth,100);l.update(f?f+" ":"&#160;");var d=k!=""?g.getWidth()+g.getMargins("lr"):0,m=l.getWidth()+l.getMargins("lr"),e=b.getFrameWidth("lr"),j=b.body.getFrameWidth("lr"),c;c=Math.max(Math.min(a.width||d+m+e+j,a.maxWidth||this.maxWidth),Math.max(a.minWidth||this.minWidth,n||0));if(a.prompt===true)i.setWidth(c-d-e-j);if(a.progress===true||a.wait===true)h.setSize(c-d-e-j);if(Ext.isIE&&c==n)c+=4;l.update(f||"&#160;");b.setSize(c,"auto").center();return this},updateProgress:function(b,c,a){h.updateProgress(b,c);if(a)this.updateText(a);return this},isVisible:function(){return b&&b.isVisible()},hide:function(){var a=b?b.activeGhost:null;if(this.isVisible()||a){b.hide();o();if(a)b.unghost(false,false)}return this},show:function(l){if(this.isVisible())this.hide();a=l;var d=this.getDialog(a.title||"&#160;");d.setTitle(a.title||"&#160;");var k=a.closable!==false&&a.progress!==true&&a.wait!==true;d.tools.close.setDisplayed(k);i=f;a.prompt=a.prompt||(a.multiline?true:false);if(a.prompt)if(a.multiline){f.hide();c.show();c.setHeight(Ext.isNumber(a.multiline)?a.multiline:this.defaultTextHeight);i=c}else{f.show();c.hide()}else{f.hide();c.hide()}i.dom.value=a.value||"";if(a.prompt)d.focusEl=i;else{var j=a.buttons,g=null;if(j&&j.ok)g=e.ok;else if(j&&j.yes)g=e.yes;if(g)d.focusEl=g}if(Ext.isDefined(a.iconCls))d.setIconClass(a.iconCls);this.setIcon(Ext.isDefined(a.icon)?a.icon:m);n=r(a.buttons);h.setVisible(a.progress===true||a.wait===true);this.updateProgress(0,a.progressText);this.updateText(a.msg);if(a.cls)d.el.addClass(a.cls);d.proxyDrag=a.proxyDrag===true;d.modal=a.modal!==false;d.mask=a.modal!==false?q:false;if(!d.isVisible()){document.body.appendChild(b.el.dom);d.setAnimateTarget(a.animEl);d.on("show",function(){if(k===true)d.keyMap.enable();else d.keyMap.disable()},this,{single:true});d.show(a.animEl)}if(a.wait===true)h.wait(a.waitConfig);return this},setIcon:function(a){if(!b){m=a;return}m=undefined;if(a&&a!=""){g.removeClass("x-hidden");g.replaceClass(k,a);d.addClass("x-dlg-icon");k=a}else{g.replaceClass(k,"x-hidden");d.removeClass("x-dlg-icon");k=""}return this},progress:function(b,a,c){this.show({title:b,msg:a,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:c});return this},wait:function(b,a,c){this.show({title:a,msg:b,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:c});return this},alert:function(c,b,a,d){this.show({title:c,msg:b,buttons:this.OK,fn:a,scope:d,minWidth:this.minWidth});return this},confirm:function(c,b,a,d){this.show({title:c,msg:b,buttons:this.YESNO,fn:a,scope:d,icon:this.QUESTION,minWidth:this.minWidth});return this},prompt:function(e,d,b,a,f,c){this.show({title:e,msg:d,buttons:this.OKCANCEL,fn:b,minWidth:this.minPromptWidth,scope:a,prompt:true,multiline:f,value:c});return this},OK:{ok:true},CANCEL:{cancel:true},OKCANCEL:{ok:true,cancel:true},YESNO:{yes:true,no:true},YESNOCANCEL:{yes:true,no:true,cancel:true},INFO:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,minPromptWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox;Ext.dd.PanelProxy=Ext.extend(Object,{constructor:function(a,b){this.panel=a;this.id=this.panel.id+"-ddproxy";Ext.apply(this,b)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.el.dom.style.display="";this.ghost.remove();delete this.ghost}},show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(this.panel.initialConfig.cls,undefined,Ext.getBody());this.ghost.setXY(this.panel.el.getXY());if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer"});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display="none"}},repair:function(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=Ext.extend(Ext.dd.DragSource,{constructor:function(a,b){this.panel=a;this.dragData={panel:a};this.proxy=new Ext.dd.PanelProxy(a,b);Ext.Panel.DD.superclass.constructor.call(this,a.el,b);var d=a.header,c=a.body;if(d){this.setHandleElId(d.id);c=a.header}c.setStyle("cursor","move");this.scroll=false},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(){this.proxy.show()},b4MouseDown:function(a){var b=a.getPageX(),c=a.getPageY();this.autoOffset(b,c)},onInitDrag:function(a,b){this.onStartDrag(a,b);return true},createFrame:Ext.emptyFn,getDragEl:function(){return this.proxy.ghost.dom},endDrag:function(){this.proxy.hide();this.panel.saveState()},autoOffset:function(a,b){a-=this.startPageX;b-=this.startPageY;this.setDelta(a,b)}});Ext.state.Provider=Ext.extend(Ext.util.Observable,{constructor:function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)},"get":function(a,b){return typeof this.state[a]=="undefined"?b:this.state[a]},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(f){var g=/^(a|n|d|b|s|o|e)\:(.*)$/,c=g.exec(unescape(f)),b,e,a,d;if(!c||!c[1])return;e=c[1];a=c[2];switch(e){case "e":return null;case "n":return parseFloat(a);case "d":return new Date(Date.parse(a));case "b":return a=="1";case "a":b=[];if(a!="")Ext.each(a.split("^"),function(a){b.push(this.decodeValue(a))},this);return b;case "o":b={};if(a!="")Ext.each(a.split("^"),function(a){d=a.split("=");b[d[0]]=this.decodeValue(d[1])},this);return b;default:return a}},encodeValue:function(a){var b,c="",e=0,f,d;if(a==null)return "e:1";else if(typeof a=="number")b="n:"+a;else if(typeof a=="boolean")b="b:"+(a?"1":"0");else if(Ext.isDate(a))b="d:"+a.toGMTString();else if(Ext.isArray(a)){for(f=a.length;e<f;e++){c+=this.encodeValue(a[e]);if(e!=f-1)c+="^"}b="a:"+c}else if(typeof a=="object"){for(d in a)if(typeof a[d]!="function"&&a[d]!==undefined)c+=d+"="+this.encodeValue(a[d])+"^";b="o:"+c.substring(0,c.length-1)}else b="s:"+a;return escape(b)}});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=Ext.extend(Ext.state.Provider,{constructor:function(a){Ext.state.CookieProvider.superclass.constructor.call(this);this.path="/";this.expires=new Date((new Date).getTime()+1e3*60*60*24*7);this.domain=null;this.secure=false;Ext.apply(this,a);this.state=this.readCookies()},"set":function(b,a){if(typeof a=="undefined"||a===null){this.clear(b);return}this.setCookie(b,a);Ext.state.CookieProvider.superclass.set.call(this,b,a)},clear:function(a){this.clearCookie(a);Ext.state.CookieProvider.superclass.clear.call(this,a)},readCookies:function(){var c={},f=document.cookie+";",e=/\s?(.*?)=(.*?);/g,b,a,d;while((b=e.exec(f))!=null){a=b[1];d=b[2];if(a&&a.substring(0,3)=="ys-")c[a.substr(3)]=this.decodeValue(d)}return c},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,blockRefresh:false,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(Ext.isString(this.tpl)||Ext.isArray(this.tpl))this.tpl=new Ext.XTemplate(this.tpl);this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","containercontextmenu","selectionchange","beforeselect");this.store=Ext.StoreMgr.lookup(this.store);this.all=new Ext.CompositeElementLite;this.selected=new Ext.CompositeElementLite},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.mon(this.getTemplateTarget(),{click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass||this.trackOver)this.mon(this.getTemplateTarget(),{mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this});if(this.store)this.bindStore(this.store,true)},refresh:function(){this.clearSelections(false,true);var a=this.getTemplateTarget(),b=this.store.getRange();a.update("");if(b.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText)a.update(this.emptyText);this.all.clear()}else{this.tpl.overwrite(a,this.collectData(b,0));this.all.fill(Ext.query(this.itemSelector,a.dom));this.updateIndexes(0)}this.hasSkippedEmptyText=true},getTemplateTarget:function(){return this.el},prepareData:function(a){return a},collectData:function(b,e){var c=[],a=0,d=b.length;for(;a<d;a++)c[c.length]=this.prepareData(b[a].data,e+a,b[a]);return c},bufferRender:function(b,c){var a=document.createElement("div");this.tpl.overwrite(a,this.collectData(b,c));return Ext.query(this.itemSelector,a)},onUpdate:function(f,b){var a=this.store.indexOf(b);if(a>-1){var e=this.isSelected(a),d=this.all.elements[a],c=this.bufferRender([b],a)[0];this.all.replaceElement(a,c,true);if(e){this.selected.replaceElement(d,c);this.all.item(a).addClass(this.selectedClass)}this.updateIndexes(a,a)}},onAdd:function(f,e,a){if(this.all.getCount()===0){this.refresh();return}var c=this.bufferRender(e,a),d,b=this.all.elements;if(a<this.all.getCount()){d=this.all.item(a).insertSibling(c,"before",true);b.splice.apply(b,[a,0].concat(c))}else{d=this.all.last().insertSibling(c,"after",true);b.push.apply(b,c)}this.updateIndexes(a)},onRemove:function(c,b,a){this.deselect(a);this.all.removeElement(a,true);this.updateIndexes(a);if(this.store.getCount()===0)this.refresh()},refreshNode:function(a){this.onUpdate(this.store,this.store.getAt(a))},updateIndexes:function(c,b){var d=this.all.elements;c=c||0;b=b||(b===0?0:d.length-1);for(var a=c;a<=b;a++)d[a].viewIndex=a},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.onDataChanged,this);this.store.un("add",this.onAdd,this);this.store.un("remove",this.onRemove,this);this.store.un("update",this.onUpdate,this);this.store.un("clear",this.refresh,this)}if(!a)this.store=null}if(a){a=Ext.StoreMgr.lookup(a);a.on({scope:this,beforeload:this.onBeforeLoad,datachanged:this.onDataChanged,add:this.onAdd,remove:this.onRemove,update:this.onUpdate,clear:this.refresh})}this.store=a;if(a)this.refresh()},onDataChanged:function(){if(this.blockRefresh!==true)this.refresh.apply(this,arguments)},findItemFromChild:function(a){return Ext.fly(a).findParent(this.itemSelector,this.getTemplateTarget())},onClick:function(a){var b=a.getTarget(this.itemSelector,this.getTemplateTarget()),c;if(b){c=this.indexOf(b);if(this.onItemClick(b,c,a)!==false)this.fireEvent("click",this,c,b,a)}else if(this.fireEvent("containerclick",this,a)!==false)this.onContainerClick(a)},onContainerClick:function(){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,a,b){if(b.ctrlKey&&this.isSelected(a))this.deselect(a);else this.select(a,false)},doMultiSelection:function(d,b,a){if(a.shiftKey&&this.last!==false){var c=this.last;this.selectRange(c,b,a.ctrlKey);this.last=c}else if((a.ctrlKey||this.simpleSelect)&&this.isSelected(b))this.deselect(b);else this.select(b,a.ctrlKey||a.shiftKey||this.simpleSelect)},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var b=[],c=this.selected.elements,a=0,d=c.length;for(;a<d;a++)b.push(c[a].viewIndex);return b},getSelectedRecords:function(){return this.getRecords(this.selected.elements)},getRecords:function(c){var a=[],b=0,d=c.length;for(;b<d;b++)a[a.length]=this.store.getAt(c[b].viewIndex);return a},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(b,e,d){if(Ext.isArray(b)){if(!e)this.clearSelections(true);for(var c=0,f=b.length;c<f;c++)this.select(b[c],true,true);if(!d)this.fireEvent("selectionchange",this,this.selected.elements)}else{var a=this.getNode(b);if(!e)this.clearSelections(true);if(a&&!this.isSelected(a))if(this.fireEvent("beforeselect",this,a,this.selected.elements)!==false){Ext.fly(a).addClass(this.selectedClass);this.selected.add(a);this.last=a.viewIndex;if(!d)this.fireEvent("selectionchange",this,this.selected.elements)}}},selectRange:function(c,a,b){if(!b)this.clearSelections(true);this.select(this.getNodes(c,a),true)},getNode:function(a){if(Ext.isString(a))return document.getElementById(a);else if(Ext.isNumber(a))return this.all.elements[a];else if(a instanceof Ext.data.Record){var b=this.store.indexOf(a);return this.all.elements[b]}return a},getNodes:function(d,b){var c=this.all.elements,e=[],a;d=d||0;b=!Ext.isDefined(b)?Math.max(c.length-1,0):b;if(d<=b)for(a=d;a<=b&&c[a];a++)e.push(c[a]);else for(a=d;a>=b&&c[a];a--)e.push(c[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,maxColumnWidth:Ext.isIE?99:100,initComponent:function(){if(this.columnResize){this.colResizer=new Ext.list.ColumnResizer(this.colResizer);this.colResizer.init(this)}if(this.columnSort){this.colSorter=new Ext.list.Sorter(this.columnSort);this.colSorter.init(this)}if(!this.internalTpl)this.internalTpl=new Ext.XTemplate('<div class="x-list-header"><div class="x-list-header-inner">','<tpl for="columns">','<div style="width:{[values.width*100]}%;text-align:{align};"><em unselectable="on" id="',this.id,'-xlhd-{#}">',"{header}","</em></div>","</tpl>",'<div class="x-clear"></div>',"</div></div>",'<div class="x-list-body"><div class="x-list-body-inner">',"</div></div>");if(!this.tpl)this.tpl=new Ext.XTemplate('<tpl for="rows">',"<dl>",'<tpl for="parent.columns">','<dt style="width:{[values.width*100]}%;text-align:{align};">','<em unselectable="on"<tpl if="cls"> class="{cls}</tpl>">',"{[values.tpl.apply(parent)]}","</em></dt>","</tpl>",'<div class="x-clear"></div>',"</dl>","</tpl>");var c=this.columns,b=0,g=0,d=c.length,h=[];for(var f=0;f<d;f++){var a=c[f];if(!a.isColumn){a.xtype=a.xtype?/^lv/.test(a.xtype)?a.xtype:"lv"+a.xtype:"lvcolumn";a=Ext.create(a)}if(a.width){b+=a.width*100;if(b>this.maxColumnWidth)a.width-=(b-this.maxColumnWidth)/100;g++}h.push(a)}c=this.columns=h;if(g<d){var j=d-g;if(b<this.maxColumnWidth){var i=(this.maxColumnWidth-b)/j/100;for(var e=0;e<d;e++){var a=c[e];if(!a.width)a.width=i}}}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(c,f){var b=this.innerBody.dom,e=this.innerHd.dom,d=c-Ext.num(this.scrollOffset,Ext.getScrollBarWidth())+"px",a;if(!b)return;a=b.parentNode;if(Ext.isNumber(c))if(this.reserveScrollOffset||a.offsetWidth-a.clientWidth>10){b.style.width=d;e.style.width=d}else{b.style.width=c+"px";e.style.width=c+"px";setTimeout(function(){if(a.offsetWidth-a.clientWidth>10){b.style.width=d;e.style.width=d}},10)}if(Ext.isNumber(f))a.style.height=Math.max(0,f-e.parentNode.offsetHeight)+"px"},updateIndexes:function(){Ext.list.ListView.superclass.updateIndexes.apply(this,arguments);this.verifyInternalSize()},findHeaderIndex:function(a){a=a.dom||a;var c=a.parentNode,e=c.parentNode.childNodes,b=0,d;for(;d=e[b];b++)if(d==c)return b;return -1},setHdWidths:function(){var d=this.innerHd.dom.getElementsByTagName("div"),a=0,b=this.columns,c=b.length;for(;a<c;a++)d[a].style.width=b[a].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(a){a.tpl=a.tpl||new Ext.XTemplate("{"+a.dataIndex+":this.format}");var c=this.trueText,d=this.falseText,b=this.undefinedText;a.tpl.format=function(a){if(a===undefined)return b;if(!a||a==="false")return d;return c};Ext.list.DateColumn.superclass.constructor.call(this,a)}});Ext.reg("lvbooleancolumn",Ext.list.BooleanColumn);Ext.list.ColumnResizer=Ext.extend(Ext.util.Observable,{minPct:.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(g){var e=5,d=g.getPageX(),b=g.getTarget("em",3,true);if(b){var f=b.getRegion(),c=b.dom.style,a=b.dom.parentNode;if(d-f.left<=e&&a!=a.parentNode.firstChild){this.activeHd=Ext.get(a.previousSibling.firstChild);c.cursor=Ext.isWebKit?"e-resize":"col-resize"}else if(f.right-d<=e&&a!=a.parentNode.lastChild.previousSibling){this.activeHd=b;c.cursor=Ext.isWebKit?"w-resize":"col-resize"}else{delete this.activeHd;c.cursor=""}}},onBeforeStart:function(){this.dragHd=this.activeHd;return !!this.dragHd},onStart:function(){var a=this,b=a.view,c=a.dragHd,d=a.tracker.getXY()[0];a.proxy=b.el.createChild({cls:"x-list-resizer"});a.dragX=c.getX();a.headerIndex=b.findHeaderIndex(c);a.headersDisabled=b.disableHeaders;b.disableHeaders=true;a.proxy.setHeight(b.el.getHeight());a.proxy.setX(a.dragX);a.proxy.setWidth(d-a.dragX);this.setBoundaries()},setBoundaries:function(j){var c=this.view,b=this.headerIndex,f=c.innerHd.getWidth(),j=c.innerHd.getX(),a=Math.ceil(f*this.minPct),k=f-a,h=c.columns.length,g=c.innerHd.select("em",true),i=a+j,d=k+j,e;if(h==2){this.minX=i;this.maxX=d}else{e=g.item(b+2);this.minX=g.item(b).getX()+a;this.maxX=e?e.getX()-a:d;if(b==0)this.minX=i;else if(b==h-2)this.maxX=d}},onDrag:function(){var a=this,b=a.tracker.getXY()[0].constrain(a.minX,a.maxX);a.proxy.setWidth(b-this.dragX)},onEnd:function(){var j=this.proxy.getWidth(),c=this.headerIndex,a=this.view,b=a.columns,h=a.innerHd.getWidth(),e=Math.ceil(j*a.maxColumnWidth/h)/100,i=this.headersDisabled,f=b[c],d=b[c+1],g=f.width+d.width;this.proxy.remove();f.width=e;d.width=g-e;delete this.dragHd;a.setHdWidths();a.refresh();setTimeout(function(){a.disableHeaders=i},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(g){var b=g.getSortState();if(!b)return;this.sortState=b;var d=this.view.columns,c=-1;for(var a=0,e=d.length;a<e;a++)if(d[a].dataIndex==b.field){c=a;break}if(c!=-1){var f=b.direction;this.updateSortIcon(c,f)}},updateSortIcon:function(c,b){var a=this.sortClasses,d=this.view.innerHd.select("em").removeClass(a);d.item(c).addClass(a[b=="DESC"?1:0])},onHdClick:function(c){var a=c.getTarget("em",3);if(a&&!this.view.disableHeaders){var b=this.view.findHeaderIndex(a);this.view.store.sort(this.view.columns[b].dataIndex)}}});Ext.ListView.Sorter=Ext.list.Sorter;Ext.TabPanel=Ext.extend(Ext.Panel,{deferredRender:true,tabWidth:120,minTabWidth:30,resizeTabs:false,enableTabScroll:false,scrollIncrement:0,scrollRepeatInterval:400,scrollDuration:.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(e,d){Ext.TabPanel.superclass.onRender.call(this,e,d);if(this.plain){var c=this.tabPosition=="top"?"header":"footer";this[c].addClass("x-tab-panel-"+c+"-plain")}var b=this[this.stripTarget];this.stripWrap=b.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});var f=this.tabPosition=="bottom"?this.stripWrap:null;b.createChild({cls:"x-tab-strip-spacer"},f);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(c){var b=null,a=c.getTarget("li:not(.x-tab-edge)",this.strip);if(a){b=this.getComponent(a.id.split(this.idDelimiter)[1]);if(b.disabled)return {close:null,item:null,el:null}}return {close:c.getTarget(".x-tab-strip-close",this.strip),item:b,el:a}},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(a){a.preventDefault();var b=this.findTargets(a);if(b.item)this.fireEvent("contextmenu",this,b.item,a)},readTabs:function(e){if(e===true)this.items.each(function(a){this.remove(a)},this);var c=this.el.query(this.autoTabSelector);for(var a=0,d=c.length;a<d;a++){var b=c[a],f=b.getAttribute("title");b.removeAttribute("title");this.add({title:f,contentEl:b})}},initTab:function(a,g){var e=this.strip.dom.childNodes[g],f=this.getTemplateArgs(a),d=e?this.itemTpl.insertBefore(e,f):this.itemTpl.append(this.strip,f),c="x-tab-strip-over",b=Ext.get(d);b.hover(function(){if(!a.disabled)b.addClass(c)},function(){b.removeClass(c)});if(a.tabTip)b.child("span.x-tab-strip-text",true).qtip=a.tabTip;a.tabEl=d;b.select("a").on("click",function(a){if(!a.getPageX())this.onStripMouseDown(a)},this,{preventDefault:true});a.on({scope:this,disable:this.onItemDisabled,enable:this.onItemEnabled,titlechange:this.onItemTitleChanged,iconchange:this.onItemIconChanged,beforeshow:this.onBeforeShowItem})},getTemplateArgs:function(a){var b=a.closable?"x-tab-strip-closable":"";if(a.disabled)b+=" x-item-disabled";if(a.iconCls)b+=" x-tab-with-icon";if(a.tabCls)b+=" "+a.tabCls;return {id:this.id+this.idDelimiter+a.getItemId(),text:a.title,cls:b,iconCls:a.iconCls||""}},onAdd:function(a){Ext.TabPanel.superclass.onAdd.call(this,a);if(this.rendered){var b=this.items;this.initTab(a,b.indexOf(a));this.delegateUpdates()}},onBeforeAdd:function(a){var c=a.events?this.items.containsKey(a.getItemId())?a:null:this.items.get(a);if(c){this.setActiveTab(a);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var b=a.elements;a.elements=b?b.replace(",header",""):b;a.border=a.border===true},onRemove:function(a){var b=Ext.get(a.tabEl);if(b){b.select("a").removeAllListeners();Ext.destroy(b)}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 c=this.stack.next();if(c)this.setActiveTab(c);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(d,b,c){var a=this.getTabEl(d);if(a){a=Ext.get(a);a.child("span.x-tab-strip-text").replaceClass(c,b);a[Ext.isEmpty(b)?"removeClass":"addClass"]("x-tab-with-icon")}},getTabEl:function(b){var a=this.getComponent(b);return a?a.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(a){a=this.getComponent(a);var b=this.getTabEl(a);if(b){b.style.display="none";this.delegateUpdates()}this.stack.remove(a)},unhideTabStripItem:function(a){a=this.getComponent(a);var b=this.getTabEl(a);if(b){b.style.display="";this.delegateUpdates()}},delegateUpdates:function(){var a=this.rendered;if(this.suspendUpdates)return;if(this.resizeTabs&&a)this.autoSizeTabs();if(this.enableTabScroll&&a)this.autoScrollTabs()},autoSizeTabs:function(){var d=this.items.length,c=this.tabPosition!="bottom"?"header":"footer",l=this[c].dom.offsetWidth,b=this[c].dom.clientWidth;if(!this.resizeTabs||d<1||!b)return;var e=Math.max(Math.min(Math.floor((b-4)/d)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=e;var g=this.strip.query("li:not(.x-tab-edge)");for(var a=0,k=g.length;a<k;a++){var f=g[a],h=Ext.fly(f).child(".x-tab-strip-inner",true),j=f.offsetWidth,i=h.offsetWidth;h.style.width=e-(j-i)+"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")}this.activeTab=a;if(a){var c=this.getTabEl(a);Ext.fly(c).addClass("x-tab-strip-active");this.stack.add(a);this.layout.setActiveItem(a);this.delegateUpdates();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 g=this.items.length,h=this.pos.dom.offsetWidth,a=this.pos.dom.clientWidth,c=this.stripWrap,b=c.dom,f=b.offsetWidth,e=this.getScrollPos(),d=this.edge.getOffsetsTo(this.stripWrap)[0]+e;if(!this.enableTabScroll||f<20)return;if(g==0||d<=a){b.scrollLeft=0;c.setWidth(a);if(this.scrolling){this.scrolling=false;this.pos.removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir||Ext.isWebKit){b.style.marginLeft="";b.style.marginRight=""}}}else{if(!this.scrolling){this.pos.addClass("x-tab-scrolling");if(Ext.isAir||Ext.isWebKit){b.style.marginLeft="18px";b.style.marginRight="18px"}}a-=c.getMargins("lr");c.setWidth(a>20?a:20);if(!this.scrolling)if(!this.scrollLeft)this.createScrollers();else{this.scrollLeft.show();this.scrollRight.show()}this.scrolling=true;if(e>d-a)b.scrollLeft=d-a;else this.scrollToTab(this.activeTab,false);this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass("x-tab-scrolling-"+this.tabPosition);var c=this.stripWrap.dom.offsetHeight,a=this.pos.insertFirst({cls:"x-tab-scroller-left"});a.setHeight(c);a.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(a,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=a;var b=this.pos.insertFirst({cls:"x-tab-scroller-right"});b.setHeight(c);b.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(b,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=b},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(g,c){if(!g)return;var e=this.getTabEl(g),b=this.getScrollPos(),f=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+f)this.scrollTo(d-f,c)},scrollTo:function(b,a){this.stripWrap.scrollTo("left",b,a?this.getScrollAnim():false);if(!a)this.updateScrollButtons()},onWheel:function(b){var f=b.getWheelDelta()*this.wheelIncrement*-1;b.stopEvent();var c=this.getScrollPos(),e=c+f,d=this.getScrollWidth()-this.getScrollArea(),a=Math.max(0,Math.min(d,e));if(a!=c)this.scrollTo(a,false)},onScrollRight:function(){var c=this.getScrollWidth()-this.getScrollArea(),b=this.getScrollPos(),a=Math.min(c,b+this.getScrollIncrement());if(a!=b)this.scrollTo(a,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 c=[];for(var b=0,d=a.length;b<d;b++)if(a[b]!=e)c.push(a[b]);a=c},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(d,b){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 a,c=this.getTemplateArgs();if(b)a=this.template.insertBefore(b,c,true);else a=this.template.append(d,c,true);this.btnEl=a.child(this.buttonSelector);this.mon(this.btnEl,{scope:this,focus:this.onFocus,blur:this.onBlur});this.initButtonEl(a,this.btnEl);Ext.ButtonToggleMgr.register(this)},initButtonEl:function(a,c){this.el=a;this.setIcon(this.icon);this.setText(this.text);this.setIconClass(this.iconCls);if(Ext.isDefined(this.tabIndex))c.dom.tabIndex=this.tabIndex;if(this.tooltip)this.setTooltip(this.tooltip,true);if(this.handleMouseEvents)this.mon(a,{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(a,Ext.isObject(this.repeat)?this.repeat:{});this.mon(b,"click",this.onRepeatClick,this)}else this.mon(a,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(a,b){if(this.rendered){if(!b)this.clearTip();if(Ext.isObject(a)){Ext.QuickTips.register(Ext.apply({target:this.btnEl.id},a));this.tooltip=a}else this.btnEl.dom[this.tooltipType]=a}else this.tooltip=a;return this},clearTip:function(){if(Ext.isObject(this.tooltip))Ext.QuickTips.unregister(this.btnEl)},beforeDestroy:function(){if(this.rendered)this.clearTip();if(this.menu&&this.destroyMenu!==false)Ext.destroy(this.btnEl,this.menu);Ext.destroy(this.repeater)},onDestroy:function(){if(this.rendered){this.doc.un("mouseover",this.monitorMouseOver,this);this.doc.un("mouseup",this.onMouseUp,this);delete this.doc;delete this.btnEl;Ext.ButtonToggleMgr.unregister(this)}Ext.Button.superclass.onDestroy.call(this)},doAutoWidth:function(){if(this.autoWidth!==false&&this.el&&this.text&&this.width===undefined){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var 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(a,b){a=a===undefined?!this.pressed:!!a;if(a!=this.pressed){if(this.rendered)this.el[a?"addClass":"removeClass"]("x-btn-pressed");this.pressed=a;if(!b){this.fireEvent("toggle",this,a);if(this.toggleHandler)this.toggleHandler.call(this.scope||this,this,a)}}return this},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);if(this.menu.isVisible())this.menu.hide();this.menu.ownerCt=this;this.menu.show(this.el,this.menuAlign)}return this},hideMenu:function(){if(this.hasVisibleMenu())this.menu.hide();return this},hasVisibleMenu:function(){return this.menu&&this.menu.ownerCt==this&&this.menu.isVisible()},onRepeatClick:function(b,a){this.onClick(a)},onClick:function(a){if(a)a.preventDefault();if(a.button!==0)return;if(!this.disabled){this.doToggle();if(this.menu&&!this.hasVisibleMenu()&&!this.ignoreNextClick)this.showMenu();this.fireEvent("click",this,a);if(this.handler)this.handler.call(this.scope||this,this,a)}},doToggle:function(){if(this.enableToggle&&(this.allowDepress!==false||!this.pressed))this.toggle()},isMenuTriggerOver:function(b,a){return this.menu&&!a},isMenuTriggerOut:function(b,a){return this.menu&&!a},onMouseOver:function(a){if(!this.disabled){var b=a.within(this.el,true);if(!b){this.el.addClass("x-btn-over");if(!this.monitoringMouseOver){this.doc.on("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=true}this.fireEvent("mouseover",this,a)}if(this.isMenuTriggerOver(a,b))this.fireEvent("menutriggerover",this,this.menu,a)}},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(a){var b=a.within(this.el)&&a.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent("mouseout",this,a);if(this.isMenuTriggerOut(a,b))this.fireEvent("menutriggerout",this,this.menu,a)},focus:function(){this.btnEl.focus()},blur:function(){this.btnEl.blur()},onFocus:function(){if(!this.disabled)this.el.addClass("x-btn-focus")},onBlur:function(){this.el.removeClass("x-btn-focus")},getClickEl:function(){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(){if(this.menu.ownerCt==this){this.menu.ownerCt=this;this.ignoreNextClick=0;this.el.addClass("x-btn-menu-active");this.fireEvent("menushow",this,this.menu)}},onMenuHide:function(){if(this.menu.ownerCt==this){this.el.removeClass("x-btn-menu-active");this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent("menuhide",this,this.menu);delete this.menu.ownerCt}},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg("button",Ext.Button);Ext.ButtonToggleMgr=function(){var a={};function b(d,f){if(f){var c=a[d.toggleGroup];for(var b=0,e=c.length;b<e;b++)if(c[b]!=d)c[b].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(e){var c=a[e];if(c)for(var b=0,d=c.length;b<d;b++)if(c[b].pressed===true)return c[b];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(b){if(this.arrowAlign!="bottom"){var a=this.el.child("em.x-btn-split"),c=a.getRegion().right-a.getPadding("r");return b.getPageX()>c}else return b.getPageY()>this.btnEl.getRegion().bottom},onClick:function(a){a.preventDefault();if(!this.disabled)if(this.isClickOnArrow(a)){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick)this.showMenu();this.fireEvent("arrowclick",this,a);if(this.arrowHandler)this.arrowHandler.call(this.scope||this,this,a)}else{this.doToggle();this.fireEvent("click",this,a);if(this.handler)this.handler.call(this.scope||this,this,a)}},isMenuTriggerOver:function(a){return this.menu&&a.target.tagName==this.arrowSelector},isMenuTriggerOut:function(a){return this.menu&&a.target.tagName!=this.arrowSelector}});Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(b){if(b&&this.showText===true){var a="";if(this.prependText)a+=this.prependText;a+=b.text;return a}return undefined},setActiveItem:function(a,c){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 b=this.getItemText(a);if(b)this.setText(b);this.setIconClass(a.iconCls)}this.activeItem=a;if(!a.checked)a.setChecked(true,false);if(this.forceIcon)this.setIconClass(this.forceIcon);if(!c)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=0;Ext.each(this.items,function(b,c){Ext.apply(b,{group:b.group||this.id,itemIndex:c,checkHandler:this.checkHandler,scope:this,checked:b.checked||false});this.menu.items.push(b);if(b.checked)a=c},this);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this);this.setActiveItem(a,true)},checkHandler:function(a,b){if(b)this.setActiveItem(a)},toggleSelected:function(){var a=this.menu;a.render();if(!a.hasLayout)a.doLayout();var d,b;for(var c=1;c<this.itemCount;c++){d=(this.activeItem.itemIndex+c)%this.itemCount;b=a.items.itemAt(d);if(!b.disabled){b.setChecked(true);break}}}});Ext.reg("cycle",Ext.CycleButton);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",enableOverflow:false,trackMenus:true,internalDefaults:{removeMode:"container",hideParent:true},toolbarCls:"x-toolbar",initComponent:function(){a.superclass.initComponent.call(this);this.addEvents("overflowchange")},onRender:function(b,a){if(!this.el){if(!this.autoCreate)this.autoCreate={cls:this.toolbarCls+" x-small-editor"};this.el=b.createChild(Ext.apply({id:this.id},this.autoCreate),a);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(a){if(!Ext.isString(a)){a=Ext.Toolbar.superclass.applyDefaults.call(this,a);var b=this.internalDefaults;if(a.events){Ext.applyIf(a.initialConfig,b);Ext.apply(a,b)}else Ext.applyIf(a,b)}return a},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(){return this.add.apply(this,arguments)},addButton:function(a){if(Ext.isArray(a)){var c=[];for(var b=0,d=a.length;b<d;b++)c.push(this.addButton(a[b]));return c}return this.add(this.constructButton(a))},addText:function(b){return this.addItem(new a.TextItem(b))},addDom:function(b){return this.add(new a.Item({autoEl:b}))},addField:function(a){return this.add(a)},insertButton:function(c,b){if(Ext.isArray(b)){var d=[];for(var a=0,e=b.length;a<e;a++)d.push(this.insertButton(c+a,b[a]));return d}return Ext.Toolbar.superclass.insert.call(this,c,b)},trackMenu:function(a,c){if(this.trackMenus&&a.menu){var b=c?"mun":"mon";this[b](a,"menutriggerover",this.onButtonTriggerOver,this);this[b](a,"menushow",this.onButtonMenuShow,this);this[b](a,"menuhide",this.onButtonMenuHide,this)}},constructButton:function(a){var b=a.events?a:this.createComponent(a,a.split?"splitbutton":this.defaultType);return b},onAdd:function(a){Ext.Toolbar.superclass.onAdd.call(this);this.trackMenu(a);if(this.disabled)a.disable()},onRemove:function(a){Ext.Toolbar.superclass.onRemove.call(this);if(a==this.activeMenuBtn)delete this.activeMenuBtn;this.trackMenu(a,true)},onDisable:function(){this.items.each(function(a){if(a.disable)a.disable()})},onEnable:function(){this.items.each(function(a){if(a.enable)a.enable()})},onButtonTriggerOver:function(a){if(this.activeMenuBtn&&this.activeMenuBtn!=a){this.activeMenuBtn.hideMenu();a.showMenu();this.activeMenuBtn=a}},onButtonMenuShow:function(a){this.activeMenuBtn=a},onButtonMenuHide:function(){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(b,a){this.el=b.createChild({tag:"span",cls:"xtb-sep"},a)}});Ext.reg("tbseparator",a.Separator);a.Spacer=Ext.extend(a.Item,{onRender:function(b,a){this.el=b.createChild({tag:"div",cls:"xtb-spacer",style:this.width?"width:"+this.width+"px":""},a)}});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(a){if(this.rendered)this.el.update(a);else this.text=a}});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(a){a=Ext.ButtonGroup.superclass.applyDefaults.call(this,a);var b=this.internalDefaults;if(a.events){Ext.applyIf(a.initialConfig,b);Ext.apply(a,b)}else Ext.applyIf(a,b);return a},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})],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 a=this.store.getCount(),b=a==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+a,this.store.getTotalCount());this.displayItem.setText(b)}},onLoad:function(f,g,c){if(!this.rendered){this.dsLoaded=[f,g,c];return}var d=this.getParams();this.cursor=c.params&&c.params[d.start]?c.params[d.start]:0;var b=this.getPageData(),a=b.activePage,e=b.pages;this.afterTextItem.setText(String.format(this.afterPageText,b.pages));this.inputItem.setValue(a);this.first.setDisabled(a==1);this.prev.setDisabled(a==1);this.next.setDisabled(a==e);this.last.setDisabled(a==e);this.refresh.enable();this.updateInfo();this.fireEvent("change",this,b)},getPageData:function(){var a=this.store.getTotalCount();return {total:a,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:a<this.pageSize?1:Math.ceil(a/this.pageSize)}},changePage:function(a){this.doLoad(((a-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onLoadError:function(){if(!this.rendered)return;this.refresh.enable()},readPage:function(c){var a=this.inputItem.getValue(),b;if(!a||isNaN(b=parseInt(a,10))){this.inputItem.setValue(c.activePage);return false}return b},onPagingFocus:function(){this.inputItem.select()},onPagingBlur:function(){this.inputItem.setValue(this.getPageData().activePage)},onPagingKeyDown:function(f,a){var c=a.getKey(),d=this.getPageData(),b;if(c==a.RETURN){a.stopEvent();b=this.readPage(d);if(b!==false){b=Math.min(Math.max(1,b),d.pages)-1;this.doLoad(b*this.pageSize)}}else if(c==a.HOME||c==a.END){a.stopEvent();b=c==a.HOME?1:d.pages;f.setValue(b)}else if(c==a.UP||c==a.PAGEUP||c==a.DOWN||c==a.PAGEDOWN){a.stopEvent();if(b=this.readPage(d)){var e=a.shiftKey?10:1;if(c==a.DOWN||c==a.PAGEDOWN)e*=-1;b+=e;if(b>=1&b<=d.pages)f.setValue(b)}}},getParams:function(){return this.paramNames||this.store.paramNames},beforeLoad:function(){if(this.rendered&&this.refresh)this.refresh.disable()},doLoad:function(c){var a={},b=this.getParams();a[b.start]=c;a[b.limit]=this.pageSize;if(this.fireEvent("beforechange",this,a)!==false)this.store.load({params:a})},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 a=this.store.getTotalCount(),b=a%this.pageSize;this.doLoad(b?a-b:a-this.pageSize)},doRefresh:function(){this.doLoad(this.cursor)},bindStore:function(a,c){var b;if(!c&&this.store){if(a!==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(!a)this.store=null}if(a){a=Ext.StoreMgr.lookup(a);a.on({scope:this,beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError});b=true}this.store=a;if(b)this.onLoad(a,null,{})},unbind:function(){this.bindStore(null)},bind:function(a){this.bindStore(a)},onDestroy:function(){this.bindStore(null);Ext.PagingToolbar.superclass.onDestroy.call(this)}})})();Ext.reg("paging",Ext.PagingToolbar);Ext.History=function(){var a,c,e=false,d;function b(){var a=location.href,b=a.indexOf("#");return b>=0?a.substr(b+1):null}function f(){c.value=d}function h(a){d=a;Ext.History.fireEvent("change",a)}function i(d){var c=['<html><body><div id="state">',Ext.util.Format.htmlEncode(d),"</div></body></html>"].join("");try{var b=a.contentWindow.document;b.open();b.write(c);b.close();return true}catch(e){return false}}function g(){if(!a.contentWindow||!a.contentWindow.document){setTimeout(g,10);return}var k=a.contentWindow.document,d=k.getElementById("state"),c=d?d.innerText:null,j=b();setInterval(function(){k=a.contentWindow.document;d=k.getElementById("state");var g=d?d.innerText:null,e=b();if(g!==c){c=g;h(c);top.location.hash=c;j=c;f()}else if(e!==j){j=e;i(e)}},50);e=true;Ext.History.fireEvent("ready",Ext.History)}function j(){d=c.value?c.value:b();if(Ext.isIE)g();else{var a=b();setInterval(function(){var c=b();if(c!==a){a=c;h(a);f()}},50);e=true;Ext.History.fireEvent("ready",Ext.History)}}return {fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(b,d){if(e){Ext.callback(b,d,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(b,d)});return}c=Ext.getDom(Ext.History.fieldId);if(Ext.isIE)a=Ext.getDom(Ext.History.iframeId);this.addEvents("ready","change");if(b)this.on("ready",b,d,{single:true});j()},add:function(a,b){if(b!==false)if(this.getToken()==a)return true;if(Ext.isIE)return i(a);else{top.location.hash=a;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return e?d: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(b){b=b||0;var a=this.body.getTextWidth();if(this.title)a=Math.max(a,this.header.child("span").getTextWidth(this.title));a+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr")+b;this.setWidth(a.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(a,b){Ext.apply(this,b);this.tip=a;Ext.Tip.DD.superclass.constructor.call(this,a.el.id,"WindowDD-"+a.id);this.setHandleElId(a.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(){this.tip.el.enableShadow(true)}});Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5e3,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).setVisibilityMode(Ext.Element.DISPLAY)},initTarget:function(c){var a;if(a=Ext.get(c)){if(this.target){var b=Ext.get(this.target);this.mun(b,"mouseover",this.onTargetOver,this);this.mun(b,"mouseout",this.onTargetOut,this);this.mun(b,"mousemove",this.onMouseMove,this)}this.mon(a,{mouseover:this.onTargetOver,mouseout:this.onTargetOut,mousemove:this.onMouseMove,scope:this});this.target=a}if(this.anchor)this.anchorTarget=this.target},onMouseMove:function(a){var b=this.delegate?a.getTarget(this.delegate):(this.triggerElement=true);if(b){this.targetXY=a.getXY();if(b===this.triggerElement){if(!this.hidden&&this.trackMouse)this.setPagePosition(this.getTargetXY())}else{this.hide();this.lastActive=new Date(0);this.onTargetOver(a)}}else if(!this.closable&&this.isVisible())this.hide()},getTargetXY:function(){if(this.delegate)this.anchorTarget=this.triggerElement;if(this.anchor){this.targetCounter++;var b=this.getOffsets(),g=this.anchorToTarget&&!this.trackMouse?this.el.getAlignToXY(this.anchorTarget,this.getAnchorAlign()):this.targetXY,h=Ext.lib.Dom.getViewWidth()-5,i=Ext.lib.Dom.getViewHeight()-5,f=document.documentElement,d=document.body,k=(f.scrollLeft||d.scrollLeft||0)+5,j=(f.scrollTop||d.scrollTop||0)+5,a=[g[0]+b[0],g[1]+b[1]],e=this.getSize();this.anchorEl.removeClass(this.anchorCls);if(this.targetCounter<2){if(a[0]<k){if(this.anchorToTarget){this.defaultAlign="l-r";if(this.mouseOffset)this.mouseOffset[0]*=-1}this.anchor="left";return this.getTargetXY()}if(a[0]+e.width>h){if(this.anchorToTarget){this.defaultAlign="r-l";if(this.mouseOffset)this.mouseOffset[0]*=-1}this.anchor="right";return this.getTargetXY()}if(a[1]<j){if(this.anchorToTarget){this.defaultAlign="t-b";if(this.mouseOffset)this.mouseOffset[1]*=-1}this.anchor="top";return this.getTargetXY()}if(a[1]+e.height>i){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 a}else{var c=this.getMouseOffset();return [this.targetXY[0]+c[0],this.targetXY[1]+c[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 a,b=this.getAnchorPosition().charAt(0);if(this.anchorToTarget&&!this.trackMouse)switch(b){case "t":a=[0,9];break;case "b":a=[0,-13];break;case "r":a=[-13,0];break;default:a=[9,0]}else switch(b){case "t":a=[-15-this.anchorOffset,30];break;case "b":a=[-19-this.anchorOffset,-13-this.el.dom.offsetHeight];break;case "r":a=[-15-this.el.dom.offsetWidth,-13-this.anchorOffset];break;default:a=[25,-13-this.anchorOffset]}var c=this.getMouseOffset();a[0]+=c[0];a[1]+=c[1];return a},onTargetOver:function(a){if(this.disabled||a.within(this.target.dom,true))return;var b=a.getTarget(this.delegate);if(b){this.triggerElement=b;this.clearTimer("hide");this.targetXY=a.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([-1e3,-1e3]);this.origConstrainPosition=this.constrainPosition;this.constrainPosition=false;this.anchor=this.origAnchor}this.showAt(this.getTargetXY());if(this.anchor){this.anchorEl.show();this.syncAnchor();this.constrainPosition=this.origConstrainPosition}else this.anchorEl.hide()},showAt:function(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()}else this.anchorEl.hide()},syncAnchor:function(){var a,b,c;switch(this.tipAnchor.charAt(0)){case "t":a="b";b="tl";c=[20+this.anchorOffset,2];break;case "r":a="l";b="tr";c=[-2,11+this.anchorOffset];break;case "b":a="t";b="bl";c=[20+this.anchorOffset,-2];break;default:a="r";b="tl";c=[2,11+this.anchorOffset]}this.anchorEl.alignTo(this.el,a+"-"+b,c)},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.doEnable.defer(100,this)}},doEnable:function(){if(!this.isDestroyed)this.enable()},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(d,a){if(this.contstrainPosition){var b=this.targetXY[1],c=this.getSize().height;if(a<=b&&a+c>=b)a=b-c-5}return {x:d,y:a}},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 f=Ext.isArray(e)?e:arguments;for(var c=0,g=f.length;c<g;c++){var d=f[c],a=d.target;if(a)if(Ext.isArray(a))for(var b=0,h=a.length;b<h;b++)this.targets[Ext.id(a[b])]=d;else this.targets[Ext.id(a)]=d}},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(d){var a=d.getTarget(),b,c;if(this.interceptTitles&&a.title&&Ext.isString(a.title)){b=a.title;a.qtip=b;a.removeAttribute("title");d.preventDefault()}else{c=this.tagConfig;b=a.qtip||Ext.fly(a).getAttribute(c.attribute,c.namespace)}return b},onTargetOver:function(e){if(this.disabled)return;this.targetXY=e.getXY();var a=e.getTarget();if(!a||a.nodeType!==1||a==document||a==document.body)return;if(this.activeTarget&&(a==this.activeTarget.el||Ext.fly(this.activeTarget.el).contains(a))){this.clearTimer("hide");this.show();return}if(a&&this.targets[a.id]){this.activeTarget=this.targets[a.id];this.activeTarget.el=a;this.anchor=this.activeTarget.anchor;if(this.anchor)this.anchorTarget=a;this.delayShow();return}var g,d=Ext.fly(a),b=this.tagConfig,c=b.namespace;if(g=this.getTipCfg(e)){var f=d.getAttribute(b.hide,c);this.activeTarget={el:a,text:g,width:d.getAttribute(b.width,c),autoHide:f!="user"&&f!=="false",title:d.getAttribute(b.title,c),cls:d.getAttribute(b.cls,c),align:d.getAttribute(b.align,c)};this.anchor=d.getAttribute(b.anchor,c);if(this.anchor)this.anchorTarget=a;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 a,b=false;return {init:function(c){if(!a){if(!Ext.isReady){Ext.onReady(function(){Ext.QuickTips.init(c)});return}a=new Ext.QuickTip({elements:"header,body",disabled:b});if(c!==false)a.render(Ext.getBody())}},ddDisable:function(){if(a&&!b)a.disable()},ddEnable:function(){if(a&&!b)a.enable()},enable:function(){if(a)a.enable();b=false},disable:function(){if(a)a.disable();b=true},isEnabled:function(){return a!==undefined&&!a.disabled},getQuickTip:function(){return a},register:function(){a.register.apply(a,arguments)},unregister:function(){a.unregister.apply(a,arguments)},tips:function(){a.register.apply(a,arguments)}}}();Ext.slider.Tip=Ext.extend(Ext.Tip,{minWidth:10,offsets:[0,-10],init:function(a){a.on({scope:this,dragstart:this.onSlide,drag:this.onSlide,dragend:this.hide,destroy:this.destroy})},onSlide:function(b,c,a){this.show();this.body.update(this.getText(a));this.doAutoWidth();this.el.alignTo(a.el,"b-t?",this.offsets)},getText:function(a){return String(a.value)}});Ext.ux.SliderTip=Ext.slider.Tip;Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:"/",bubbleEvents:[],initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel)this.eventModel=new Ext.tree.TreeEventModel(this);var 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(a,c,b,g,f,e,d){if(a=="collapse"||a=="expand"||a=="beforecollapse"||a=="beforeexpand"||a=="move"||a=="beforemove")a=a+"node";return this.fireEvent(a,c,b,g,f,e,d)},getRootNode:function(){return this.root},setRootNode:function(a){this.destroyRoot();if(!a.render)a=this.loader.createNode(a);this.root=a;a.ownerTree=this;a.isRoot=true;this.registerNode(a);if(!this.rootVisible){var b=a.attributes.uiProvider;a.ui=b?new b(a):new Ext.tree.RootTreeNodeUI(a)}if(this.innerCt){this.clearInnerCt();this.renderRoot()}return a},clearInnerCt:function(){this.innerCt.update("")},renderRoot:function(){this.root.render();if(!this.rootVisible)this.root.renderChildren()},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(b){var a=b.parentNode;if(a){if(a.expandedChild&&a.expandedChild.parentNode==a)a.expandedChild.collapse();a.expandedChild=b}},getChecked:function(a,b){b=b||this.root;var c=[],d=function(){if(this.attributes.checked)c.push(!a?this:a=="id"?this.id:this.attributes[a])};b.cascade(d);return c},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(g,c,a){if(Ext.isEmpty(g)){if(a)a(false,undefined);return}c=c||"id";var d=g.split(this.pathSeparator),b=this.root;if(b.attributes[c]!=d[1]){if(a)a(false,null);return}var e=1,f=function(){if(++e==d.length){if(a)a(true,b);return}var g=b.findChild(c,d[e]);if(!g){if(a)a(false,b);return}b=g;g.expand(false,false,f)};b.expand(false,false,f)},selectPath:function(d,b,a){if(Ext.isEmpty(d)){if(a)a(false,undefined);return}b=b||"id";var c=d.split(this.pathSeparator),e=c.pop();if(c.length>1){var f=function(f,d){if(f&&d){var c=d.findChild(b,e);if(c){c.select();if(a)a(true,c)}else if(a)a(false,c)}else if(a)a(false,c)};this.expandPath(c.join(this.pathSeparator),b,f)}else{this.root.select();if(a)a(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.renderRoot()},beforeDestroy:function(){if(this.rendered){Ext.dd.ScrollManager.unregister(this.body);Ext.destroy(this.dropZone,this.dragZone)}this.destroyRoot();Ext.destroy(this.loader);this.nodeHash=this.root=this.loader=null;Ext.tree.TreePanel.superclass.beforeDestroy.call(this)},destroyRoot:function(){if(this.root&&this.root.destroy)this.root.destroy(true)}});Ext.tree.TreePanel.nodeTypes={};Ext.reg("treepanel",Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(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 a;if(a=c.getTarget(".x-tree-node-el",10)){var b=Ext.fly(a,"_treeEvents").getAttribute("tree-node-id","ext");if(b)return this.tree.getNodeById(b)}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(a,b){if(!this.beforeEvent(a))return;if(a.getTarget(".x-tree-ec-icon",1)){var c=this.getNode(a);this.onIconOut(a,c);if(c==this.lastEcOver)delete this.lastEcOver}if((b=this.getNodeTarget(a))&&!a.within(b,true))this.onNodeOut(a,this.getNode(a))},delegateOver:function(a,b){if(!this.beforeEvent(a))return;if(Ext.isGecko&&!this.trackingDoc){Ext.getBody().on("mouseover",this.trackExit,this);this.trackingDoc=true}if(this.lastEcOver){this.onIconOut(a,this.lastEcOver);delete this.lastEcOver}if(a.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(a);this.onIconOver(a,this.lastEcOver)}if(b=this.getNodeTarget(a))this.onNodeOver(a,this.getNode(a))},trackExit:function(a){if(this.lastOverNode){if(this.lastOverNode.ui&&!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(a){if(this.beforeEvent(a)){if(a.getTarget("input[type=checkbox]",1))this.onCheckboxClick(a,this.getNode(a));else if(a.getTarget(".x-tree-ec-icon",1))this.onIconClick(a,this.getNode(a));else if(this.getNodeTarget(a))this.onNodeClick(a,this.getNode(a))}else this.checkContainerEvent(a,"click")},delegateDblClick:function(a){if(this.beforeEvent(a)){if(this.getNodeTarget(a))this.onNodeDblClick(a,this.getNode(a))}else this.checkContainerEvent(a,"dblclick")},delegateContextMenu:function(a){if(this.beforeEvent(a)){if(this.getNodeTarget(a))this.onNodeContextMenu(a,this.getNode(a))}else this.checkContainerEvent(a,"contextmenu")},checkContainerEvent:function(a,b){if(this.disabled){a.stopEvent();return false}this.onContainerEvent(a,b)},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(b){var a=this.getNode(b);if(this.disabled||!a||!a.ui){b.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(a){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,a);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)},init:function(a){this.tree=a;a.mon(a.getTreeEl(),"keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(a){this.select(a)},select:function(a,c){if(!Ext.fly(a.ui.wrap).isVisible()&&c)return c.call(this,a);var b=this.selNode;if(a==b)a.ui.onSelectedChange(true);else if(this.fireEvent("beforeselect",this,a,b)!==false){if(b&&b.ui)b.ui.onSelectedChange(false);this.selNode=a;a.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,a,b)}return a},unselect:function(b,a){if(this.selNode==b)this.clearSelections(a)},clearSelections:function(b){var a=this.selNode;if(a){a.ui.onSelectedChange(false);this.selNode=null;if(b!==true)this.fireEvent("selectionchange",this,null)}return a},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 c=b.previousSibling;if(c)if(!c.isExpanded()||c.childNodes.length<1)return this.select(c,this.selectPrevious);else{var a=c.lastChild;while(a&&a.isExpanded()&&Ext.fly(a.ui.wrap).isVisible()&&a.childNodes.length>0)a=a.lastChild;return this.select(a,this.selectPrevious)}else if(b.parentNode&&(this.tree.rootVisible||!b.parentNode.isRoot))return this.select(b.parentNode,this.selectPrevious);return null},selectNext:function(a){if(!(a=a||this.selNode||this.lastSelNode))return null;if(a.firstChild&&a.isExpanded()&&Ext.fly(a.ui.wrap).isVisible())return this.select(a.firstChild,this.selectNext);else if(a.nextSibling)return this.select(a.nextSibling,this.selectNext);else if(a.parentNode){var b=null;a.parentNode.bubble(function(){if(this.nextSibling){b=this.getOwnerTree().selModel.select(this.nextSibling,this.selectNext);return false}});return b}return null},onKeyDown:function(b){var a=this.selNode||this.lastSelNode,d=this;if(!a)return;var c=b.getKey();switch(c){case b.DOWN:b.stopEvent();this.selectNext();break;case b.UP:b.stopEvent();this.selectPrevious();break;case b.RIGHT:b.preventDefault();if(a.hasChildNodes())if(!a.isExpanded())a.expand();else if(a.firstChild)this.select(a.firstChild,b);break;case b.LEFT:b.preventDefault();if(a.hasChildNodes()&&a.isExpanded())a.collapse();else if(a.parentNode&&(this.tree.rootVisible||a.parentNode!=this.tree.getRootNode()))this.select(a.parentNode,b)}}});Ext.tree.MultiSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(a){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,a);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)},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(a,c,b){if(b!==true)this.clearSelections(true);if(this.isSelected(a)){this.lastSelNode=a;return a}this.selNodes.push(a);this.selMap[a.id]=a;this.lastSelNode=a;a.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return a},unselect:function(a){if(this.selMap[a.id]){a.ui.onSelectedChange(false);var c=this.selNodes,b=c.indexOf(a);if(b!=-1)this.selNodes.splice(b,1);delete this.selMap[a.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.concat([])},onKeyDown:Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:Ext.tree.DefaultSelectionModel.prototype.selectPrevious});Ext.data.Tree=Ext.extend(Ext.util.Observable,{constructor:function(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)},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=Ext.extend(Ext.util.Observable,{constructor: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=[];this.parentNode=null;this.firstChild=null;this.lastChild=null;this.previousSibling=null;this.nextSibling=null;this.addEvents({append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true});this.listeners=this.attributes.listeners;Ext.data.Node.superclass.constructor.call(this)},fireEvent:function(){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(a){var d=false;if(Ext.isArray(a))d=a;else if(arguments.length>1)d=arguments;if(d)for(var e=0,g=d.length;e<g;e++)this.appendChild(d[e]);else{if(this.fireEvent("beforeappend",this.ownerTree,this,a)===false)return false;var b=this.childNodes.length,c=a.parentNode;if(c){if(a.fireEvent("beforemove",a.getOwnerTree(),a,c,this,b)===false)return false;c.removeChild(a)}b=this.childNodes.length;if(b===0)this.setFirstChild(a);this.childNodes.push(a);a.parentNode=this;var f=this.childNodes[b-1];if(f){a.previousSibling=f;f.nextSibling=a}else a.previousSibling=null;a.nextSibling=null;this.setLastChild(a);a.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,a,b);if(c)a.fireEvent("move",this.ownerTree,a,c,this,b);return a}},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);this.fireEvent("remove",this.ownerTree,this,a);if(c)a.destroy(true);else a.clear();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(a){if(a===true){this.purgeListeners();this.clear(true);Ext.each(this.childNodes,function(a){a.destroy(true)});this.childNodes=null}else this.remove(true)},insertBefore:function(a,b){if(!b)return this.appendChild(a);if(a==b)return false;if(this.fireEvent("beforeinsert",this.ownerTree,this,a,b)===false)return false;var e=this.childNodes.indexOf(b),c=a.parentNode,d=e;if(c==this&&this.childNodes.indexOf(a)<e)d--;if(c){if(a.fireEvent("beforemove",a.getOwnerTree(),a,c,this,e,b)===false)return false;c.removeChild(a)}if(d===0)this.setFirstChild(a);this.childNodes.splice(d,0,a);a.parentNode=this;var f=this.childNodes[d-1];if(f){a.previousSibling=f;f.nextSibling=a}else a.previousSibling=null;a.nextSibling=b;b.previousSibling=a;a.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,a,b);if(c)a.fireEvent("move",this.ownerTree,a,c,this,d,b);return a},remove:function(a){if(this.parentNode)this.parentNode.removeChild(this,a);return this},removeAll:function(b){var c=this.childNodes,a;while(a=c[0])this.removeChild(a,b);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,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(b){b.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(a){a=a||"id";var b=this.parentNode,c=[this.attributes[a]];while(b){c.unshift(b.attributes[a]);b=b.parentNode}var d=this.getOwnerTree().pathSeparator;return d+c.join(d)},bubble:function(d,c,b){var a=this;while(a){if(d.apply(c||a,b||[a])===false)break;a=a.parentNode}},cascade:function(e,d,b){if(e.apply(d||this,b||[this])!==false){var c=this.childNodes;for(var a=0,f=c.length;a<f;a++)c[a].cascade(e,d,b)}},eachChild:function(f,e,d){var b=this.childNodes;for(var a=0,c=b.length;a<c;a++)if(f.apply(e||b[a],d||[b[a]])===false)break},findChild:function(b,c,a){return this.findChildBy(function(){return this.attributes[b]==c},null,a)},findChildBy:function(g,f,d){var e=this.childNodes,h=e.length,c=0,a,b;for(;c<h;c++){a=e[c];if(g.call(f||a,a)===true)return a;else if(d){b=a.findChildBy(g,f,d);if(b!=null)return b}}return null},sort:function(f,e){var b=this.childNodes,d=b.length;if(d>0){var g=e?function(){f.apply(e,arguments)}:f;b.sort(g);for(var a=0;a<d;a++){var c=b[a];c.previousSibling=b[a-1];c.nextSibling=b[a+1];if(a===0)this.setFirstChild(c);if(a==d-1)this.setLastChild(c)}}},contains:function(a){return a.isAncestor(this)},isAncestor:function(b){var a=this.parentNode;while(a){if(a==b)return true;a=a.parentNode}return false},toString:function(){return "[Node"+(this.id?" "+this.id:"")+"]"}});Ext.tree.TreeNode=Ext.extend(Ext.data.Node,{constructor: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)},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(b){var a=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,b);if(this.childrenRendered&&a&&b!=a)a.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(a){if(!a.render&&!Ext.isArray(a))a=this.getLoader().createNode(a);var b=Ext.tree.TreeNode.superclass.appendChild.call(this,a);if(b&&this.childrenRendered)b.render();this.ui.updateExpandIcon();return b},removeChild:function(a,c){this.ownerTree.getSelectionModel().unselect(a);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(!c){var b=a.ui.rendered;if(b)a.ui.remove();if(b&&this.childNodes.length<1)this.collapse(false,false);else this.ui.updateExpandIcon();if(!this.firstChild&&!this.isHiddenRoot())this.childrenRendered=false}return a},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(a){var b=this.text;this.text=this.attributes.text=a;if(this.rendered)this.ui.onTextChange(this,a,b);this.fireEvent("textchange",this,a,b)},setIconCls:function(a){var b=this.attributes.iconCls;this.attributes.iconCls=a;if(this.rendered)this.ui.onIconClsChange(this,a,b)},setTooltip:function(a,b){this.attributes.qtip=a;this.attributes.qtipTitle=b;if(this.rendered)this.ui.onTipChange(this,a,b)},setIcon:function(a){this.attributes.icon=a;if(this.rendered)this.ui.onIconChange(this,a)},setHref:function(a,b){this.attributes.href=a;this.attributes.hrefTarget=b;if(this.rendered)this.ui.onHrefChange(this,a,b)},setCls:function(a){var b=this.attributes.cls;this.attributes.cls=a;if(this.rendered)this.ui.onClsChange(this,a,b)},select:function(){var a=this.getOwnerTree();if(a)a.getSelectionModel().select(this)},unselect:function(b){var a=this.getOwnerTree();if(a)a.getSelectionModel().unselect(this,b)},isSelected:function(){var a=this.getOwnerTree();return a?a.getSelectionModel().isSelected(this):false},expand:function(a,c,d,b){if(!this.expanded){if(this.fireEvent("beforeexpand",this,a,c)===false)return;if(!this.childrenRendered)this.renderChildren();this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&c!==false)||c){this.ui.animExpand(function(){this.fireEvent("expand",this);this.runCallback(d,b||this,[this]);if(a===true)this.expandChildNodes(true,true)}.createDelegate(this));return}else{this.ui.expand();this.fireEvent("expand",this);this.runCallback(d,b||this,[this])}}else this.runCallback(d,b||this,[this]);if(a===true)this.expandChildNodes(true)},runCallback:function(a,c,b){if(Ext.isFunction(a))a.apply(c,b)},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible},collapse:function(a,d,e,c){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,a,d)===false)return;this.expanded=false;if(this.getOwnerTree().animate&&d!==false||d){this.ui.animCollapse(function(){this.fireEvent("collapse",this);this.runCallback(e,c||this,[this]);if(a===true)this.collapseChildNodes(true)}.createDelegate(this));return}else{this.ui.collapse();this.fireEvent("collapse",this);this.runCallback(e,c||this,[this])}}else if(!this.expanded)this.runCallback(e,c||this,[this]);if(a===true){var f=this.childNodes;for(var b=0,g=f.length;b<g;b++)f[b].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(c,b){var a=this.getOwnerTree();a.expandPath(this.parentNode?this.parentNode.getPath():this.getPath(),false,function(){var d=a.getNodeById(this.id);a.getTreeEl().scrollChildIntoView(d.ui.anchor);this.runCallback(c,b||this,[this])}.createDelegate(this))},expandChildNodes:function(d,e){var b=this.childNodes,a,c=b.length;for(a=0;a<c;a++)b[a].expand(d,e)},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(){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var b=this.childNodes;for(var a=0,c=b.length;a<c;a++)b[a].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(a){if(a===true)this.unselect(true);Ext.tree.TreeNode.superclass.destroy.call(this,a);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(a,c,d,b){if(this.loading){var f,g=function(){if(!this.loading){clearInterval(f);this.expand(a,c,d,b)}}.createDelegate(this);f=setInterval(g,200);return}if(!this.loaded){if(this.fireEvent("beforeload",this)===false)return;this.loading=true;this.ui.beforeLoad(this);var e=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(e){e.load(this,this.loadComplete.createDelegate(this,[a,c,d,b]),this);return}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,a,c,d,b)},isLoading:function(){return this.loading},loadComplete:function(a,c,d,b){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(a,c,d,b)},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=Ext.extend(Object,{constructor:function(a){Ext.apply(this,{node:a,rendered:false,animating:false,wasLeaf:true,ecc:"x-tree-ec-icon x-tree-elbow",emptyIcon:Ext.BLANK_IMAGE_URL})},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){if(this.rendered)this.textNode.innerHTML=a},onIconClsChange:function(c,a,b){if(this.rendered)Ext.fly(this.iconNode).replaceClass(b,a)},onIconChange:function(c,a){if(this.rendered){var b=Ext.isEmpty(a);this.iconNode.src=b?this.emptyIcon:a;Ext.fly(this.iconNode)[b?"removeClass":"addClass"]("x-tree-node-inline-icon")}},onTipChange:function(d,c,a){if(this.rendered){var b=Ext.isDefined(a);if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",c);if(b)this.textNode.setAttributeNS("ext","qtitle",a)}else{this.textNode.setAttribute("ext:qtip",c);if(b)this.textNode.setAttribute("ext:qtitle",a)}}},onHrefChange:function(c,b,a){if(this.rendered){this.anchor.href=this.getHref(b);if(Ext.isDefined(a))this.anchor.target=a}},onClsChange:function(c,a,b){if(this.rendered)Ext.fly(this.elNode).replaceClass(b,a)},onDisableChange:function(b,a){this.disabled=a;if(this.checkbox)this.checkbox.disabled=a;this[a?"addClass":"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(f,h,e,d,g,b){this.childIndent=null;if(this.rendered){var a=d.ui.getContainer();if(!a){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return}var c=b?b.ui.getEl():null;if(c)a.insertBefore(this.wrap,c);else a.appendChild(this.wrap);this.node.renderIndent(true,e!=d)}},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 a=this.node.getOwnerTree(),b=a.enableDD||a.enableDrag||a.enableDrop;if(b&&(!this.node.isRoot||a.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(a){if(this.dropping){a.stopEvent();return}if(this.fireEvent("beforeclick",this.node,a)!==false){var b=a.getTarget("a");if(!this.disabled&&this.node.attributes.href&&b){this.fireEvent("click",this.node,a);return}else if(b&&a.ctrlKey)a.stopEvent();a.preventDefault();if(this.disabled)return;if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.isExpandable())this.node.toggle();this.fireEvent("click",this.node,a)}else a.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(){this.addClass("x-tree-node-over")},onOut:function(){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(){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(c){}else try{var a=this.node.getOwnerTree().getTreeEl().dom,b=a.scrollLeft;this.anchor.focus();a.scrollLeft=b}catch(c){}},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||.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||.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 b=this.node,a=b.attributes,d=b.parentNode?b.parentNode.ui.getContainer():b.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(b,a,d,c);if(a.qtip)this.onTipChange(b,a.qtip,a.qtipTitle);else if(a.qtipCfg){a.qtipCfg.target=Ext.id(this.textNode);Ext.QuickTips.register(a.qtipCfg)}this.initEvents();if(!this.node.expanded)this.updateExpandIcon(true)}else if(c===true)d.appendChild(this.wrap)},renderElements:function(b,a,i,j){this.indentMarkup=b.parentNode?b.parentNode.ui.getChildIndent():"";var g=Ext.isBoolean(a.checked),e,h=this.getHref(a.href),f=['<li class="x-tree-node"><div ext:tree-node-id="',b.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',a.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img alt="" src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img alt="" src="',a.icon||this.emptyIcon,'" class="x-tree-node-icon',a.icon?" x-tree-node-inline-icon":"",a.iconCls?" "+a.iconCls:"",'" unselectable="on" />',g?'<input class="x-tree-node-cb" type="checkbox" '+(a.checked?'checked="checked" />':"/>"):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',h,'" tabIndex="1" ',a.hrefTarget?' target="'+a.hrefTarget+'"':"",'><span unselectable="on">',b.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");if(j!==true&&b.nextSibling&&(e=b.nextSibling.ui.getEl()))this.wrap=Ext.DomHelper.insertHtml("beforeBegin",e,f);else this.wrap=Ext.DomHelper.insertHtml("beforeEnd",i,f);this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var c=this.elNode.childNodes;this.indentNode=c[0];this.ecNode=c[1];this.iconNode=c[2];var d=3;if(g){this.checkbox=c[3];this.checkbox.defaultChecked=this.checkbox.checked;d++}this.anchor=c[d];this.textNode=c[d].firstChild},getHref:function(a){return Ext.isEmpty(a)?Ext.isGecko?"":"#":a},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,b,a,d=c.isLast()?"x-tree-elbow-end":"x-tree-elbow",f=c.hasChildNodes();if(f||c.attributes.expandable){if(c.expanded){d+="-minus";b="x-tree-node-collapsed";a="x-tree-node-expanded"}else{d+="-plus";b="x-tree-node-expanded";a="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=b||this.c2!=a){Ext.fly(this.elNode).replaceClass(b,a);this.c1=b;this.c2=a}}else if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-collapsed");delete this.c1;delete this.c2;this.wasLeaf=true}var 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 b=[],a=this.node;while(a){if(!a.isRoot||a.isRoot&&a.ownerTree.rootVisible)if(!a.isLast())b.unshift('<img alt="" src="'+this.emptyIcon+'" class="x-tree-elbow-line" />');else b.unshift('<img alt="" src="'+this.emptyIcon+'" class="x-tree-icon" />');a=a.parentNode}this.childIndent=b.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(a,c,b){if(this.clearOnLoad)while(a.firstChild)a.removeChild(a.firstChild);if(this.doPreload(a))this.runCallback(c,b||a,[a]);else if(this.directFn||this.dataUrl||this.url)this.requestData(a,c,b||a)},doPreload:function(a){if(a.attributes.children){if(a.childNodes.length<1){var c=a.attributes.children;a.beginUpdate();for(var b=0,d=c.length;b<d;b++){var e=a.appendChild(this.createNode(c[b]));if(this.preloadChildren)this.doPreload(e)}a.endUpdate()}return true}return false},getParams:function(f){var c=Ext.apply({},this.baseParams),d=this.nodeParameter,a=this.paramOrder;d&&(c[d]=f.id);if(this.directFn){var b=[f.id];if(a){if(d&&a.indexOf(d)>-1)b=[];for(var e=0,g=a.length;e<g;e++)b.push(c[a[e]])}else if(this.paramsAsHash)b=[c];return b}else return c},requestData:function(a,b,c){if(this.fireEvent("beforeload",this,a,b)!==false)if(this.directFn){var d=this.getParams(a);d.push(this.processDirectResponse.createDelegate(this,[{callback:b,node:a,scope:c}],true));this.directFn.apply(window,d)}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:c},params:this.getParams(a)});else this.runCallback(b,c||a,[])},processDirectResponse:function(a,c,b){if(c.status)this.handleResponse({responseData:Ext.isArray(a)?a:null,responseText:a,argument:b});else this.handleFailure({argument:b})},runCallback:function(a,c,b){if(Ext.isFunction(a))a.apply(c,b)},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(b,a,g,h){var i=b.responseText;try{var d=b.responseData||Ext.decode(i);a.beginUpdate();for(var c=0,f=d.length;c<f;c++){var e=this.createNode(d[c]);if(e)a.appendChild(e)}a.endUpdate();this.runCallback(g,h||a,[a])}catch(j){this.handleFailure(b)}},handleResponse:function(b){this.transId=false;var a=b.argument;this.processResponse(b,a.node,a.callback,a.scope);this.fireEvent("load",this,a.node,b)},handleFailure:function(b){this.transId=false;var a=b.argument;this.fireEvent("loadexception",this,a.node,b);this.runCallback(a.callback,a.scope||a.node,[a.node])},destroy:function(){this.abort();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(a,b,e){b=b||"text";var c;if(typeof a=="string"){var d=a.length;if(d==0&&this.clearBlank){this.clear();return}a=a.toLowerCase();c=function(c){return c.attributes[b].substr(0,d).toLowerCase()==a}}else if(a.exec)c=function(c){return a.test(c.attributes[b])};else throw"Illegal filter type, must be string or regex";this.filterBy(c,null,e)},filterBy:function(f,e,b){b=b||this.tree.root;if(this.autoClear)this.clear();var a=this.filtered,h=this.reverse,g=function(c){if(c==b)return true;if(a[c.id])return false;var d=f.call(e||c,c);if(!d||h){a[c.id]=c;c.ui.hide();return false}return true};b.cascade(g);if(this.remove)for(var d in a)if(typeof d!="function"){var c=a[d];if(c&&c.parentNode)c.parentNode.removeChild(c)}},clear:function(){var d=this.tree,a=this.filtered;for(var c in a)if(typeof c!="function"){var b=a[c];if(b)b.ui.show()}this.filtered={}}};Ext.tree.TreeSorter=Ext.extend(Object,{constructor:function(c,d){Ext.apply(this,d);c.on({scope:this,beforechildrenrendered:this.doSort,append:this.updateSort,insert:this.updateSort,textchange:this.updateSortParent});var a=this.dir&&this.dir.toLowerCase()=="desc",b=this.property||"text";sortType=this.sortType;folderSort=this.folderSort;caseSensitive=this.caseSensitive===true;leafAttr=this.leafAttr||"leaf";if(Ext.isString(sortType))sortType=Ext.data.SortTypes[sortType];this.sortFn=function(i,h){var d=i.attributes,c=h.attributes;if(folderSort){if(d[leafAttr]&&!c[leafAttr])return 1;if(!d[leafAttr]&&c[leafAttr])return -1}var f=d[b],e=c[b],g=sortType?sortType(f):caseSensitive?f:f.toUpperCase();v2=sortType?sortType(e):caseSensitive?e:e.toUpperCase();if(g<v2)return a?1:-1;else if(g>v2)return a?-1:1;return 0}},doSort:function(a){a.sort(this.sortFn)},updateSort:function(b,a){if(a.childrenRendered)this.doSort.defer(1,this,[a])},updateSortParent:function(b){var a=b.parentNode;if(a&&a.childrenRendered)this.doSort.defer(1,this,[a])}});if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(b,a){this.allowParentInsert=a.allowParentInsert||false;this.allowContainerDrop=a.allowContainerDrop||false;this.appendOnly=a.appendOnly||false;Ext.tree.TreeDropZone.superclass.constructor.call(this,b.getTreeEl(),a);this.tree=b;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1e3,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(f,c,h,g,e){if(!f||!e)return false;var b=f.node,d=e.node;if(!(b&&b.isTarget&&c))return false;if(c=="append"&&b.allowChildren===false)return false;if((c=="above"||c=="below")&&(b.parentNode&&b.parentNode.allowChildren===false))return false;if(d&&(b==d||d.contains(b)))return false;var a=this.dragOverData;a.tree=this.tree;a.target=b;a.data=e;a.point=c;a.source=h;a.rawEvent=g;a.dropNode=d;a.cancel=false;var i=this.tree.fireEvent("nodedragover",a);return a.cancel===false&&i!==false},getDropPoint:function(j,i){var a=i.node;if(a.isRoot)return a.allowChildren!==false?"append":false;var g=i.ddel,c=Ext.lib.Dom.getY(g),d=c+g.offsetHeight,b=Ext.lib.Event.getPageY(j),e=a.allowChildren===false||a.isLeaf();if(this.appendOnly||a.parentNode.allowChildren===false)return e?false:"append";var h=false;if(!this.allowParentInsert)h=a.hasChildNodes()&&a.isExpanded();var f=(d-c)/(e?2:3);if(b>=c&&b<c+f)return "above";else if(!h&&(e||b>=d-f&&b<=d))return "below";else return "append"},onNodeEnter:function(){this.cancelExpand()},onContainerOver:function(a,c,b){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",a,c,b))return this.dropAllowed;return this.dropNotAllowed},onNodeOver:function(a,g,f,i){var c=this.getDropPoint(f,a,g),e=a.node;if(!this.expandProcId&&c=="append"&&e.hasChildNodes()&&!a.node.isExpanded())this.queueExpand(e);else if(c!="append")this.cancelExpand();var d=this.dropNotAllowed;if(this.isValidDropPoint(a,c,g,f,i))if(c){var h=a.ddel,b;if(c=="above"){d=a.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";b="x-tree-drag-insert-above"}else if(c=="below"){d=a.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";b="x-tree-drag-insert-below"}else{d="x-tree-drop-ok-append";b="x-tree-drag-append"}if(this.lastInsertClass!=b){Ext.fly(h).replaceClass(this.lastInsertClass,b);this.lastInsertClass=b}}return d},onNodeOut:function(a){this.cancelExpand();this.removeDropIndicators(a)},onNodeDrop:function(f,a,d,b){var e=this.getDropPoint(d,f,a),c=f.node;c.ui.startDrop();if(!this.isValidDropPoint(f,e,a,d,b)){c.ui.endDrop();return false}var g=b.node||(a.getTreeNode?a.getTreeNode(b,c,e,d):null);return this.processDrop(c,b,e,a,d,g)},onContainerDrop:function(a,d,b){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",a,d,b)){var c=this.tree.getRootNode();c.ui.startDrop();var e=b.node||(a.getTreeNode?a.getTreeNode(b,c,"append",d):null);return this.processDrop(c,b,"append",a,d,e)}return false},processDrop:function(b,g,c,e,h,d){var a={tree:this.tree,target:b,data:g,point:c,source:e,rawEvent:h,dropNode:d,cancel:!d,dropStatus:false},f=this.tree.fireEvent("beforenodedrop",a);if(f===false||a.cancel===true||!a.dropNode){b.ui.endDrop();return a.dropStatus}b=a.target;if(c=="append"&&!b.isExpanded())b.expand(false,null,function(){this.completeDrop(a)}.createDelegate(this));else this.completeDrop(a);return true},completeDrop:function(d){var c=d.dropNode,f=d.point,a=d.target;if(!Ext.isArray(c))c=[c];var b;for(var e=0,g=c.length;e<g;e++){b=c[e];if(f=="above")a.parentNode.insertBefore(b,a);else if(f=="below")a.parentNode.insertBefore(b,a.nextSibling);else a.appendChild(b)}b.ui.focus();if(Ext.enableFx&&this.tree.hlDrop)b.ui.highlight();a.ui.endDrop();this.tree.fireEvent("nodedrop",d)},afterNodeMoved:function(b,c,e,d,a){if(Ext.enableFx&&this.tree.hlDrop){a.ui.focus();a.ui.highlight()}this.tree.fireEvent("nodedrop",this.tree,d,c,b,e)},getTree:function(){return this.tree},removeDropIndicators:function(a){if(a&&a.ddel){var b=a.ddel;Ext.fly(b).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass"}},beforeDragDrop:function(){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){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(a,b){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,a,b);this.hideProxy()},beforeInvalidDrop:function(){var a=this.tree.getSelectionModel();a.clearSelections();a.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(b,a,c){a=a||{};var d=a.events?a:new Ext.form.TextField(a);Ext.tree.TreeEditor.superclass.constructor.call(this,d,c);this.tree=b;if(!b.rendered)b.on("render",this.initEditor,this);else this.initEditor(b)};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,d){var a=this.tree.getTreeEl().dom,b=d.dom;if(a.scrollLeft>b.offsetLeft)a.scrollLeft=b.offsetLeft;var c=Math.min(this.maxWidth,(a.clientWidth>20?a.clientWidth:a.offsetWidth)-Math.max(0,b.offsetLeft-a.scrollLeft)-5);this.setSize(c,"")},triggerEdit:function(a){this.completeEdit();if(a.attributes.editable!==false){this.editNode=a;if(this.tree.autoScroll)Ext.fly(a.ui.getEl()).scrollIntoView(this.tree.body);var b=a.text||"";if(!Ext.isGecko&&Ext.isEmpty(a.text))a.setText("&#160;");this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[a.ui.textNode,b]);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(){clearTimeout(this.autoEditTimer)},updateNode:function(b,a){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(a)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode)this.editNode.ui.focus.defer(50,this.editNode.ui)},onSpecialKey:function(c,a){var b=a.getKey();if(b==a.ESC){a.stopEvent();this.cancelEdit()}else if(b==a.ENTER&&!a.hasModifier()){a.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 c="undefined",g="object",K="Shockwave Flash",U="ShockwaveFlash.ShockwaveFlash",t="application/x-shockwave-flash",J="SWFObjectExprInst",D="onreadystatechange",d=window,b=document,j=navigator,M=false,u=[Q],i=[],r=[],n=[],o,s,x,F,k=false,p=false,f,z,I=true,a=function(){var l=typeof b.getElementById!=c&&typeof b.getElementsByTagName!=c&&typeof b.createElement!=c,h=j.userAgent.toLowerCase(),f=j.platform.toLowerCase(),n=f?/win/.test(f):/win/.test(h),m=f?/mac/.test(f):/mac/.test(h),o=/webkit/.test(h)?parseFloat(h.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=!+"\131",e=[0,0,0],a=null;if(typeof j.plugins!=c&&typeof j.plugins[K]==g){a=j.plugins[K].description;if(a&&!(typeof j.mimeTypes!=c&&j.mimeTypes[t]&&!j.mimeTypes[t].enabledPlugin)){M=true;i=false;a=a.replace(/^.*\s+(\S+\s+\S+$)/,"$1");e[0]=parseInt(a.replace(/^(.*)\..*$/,"$1"),10);e[1]=parseInt(a.replace(/^.*\.(.*)\s.*$/,"$1"),10);e[2]=/[a-zA-Z]/.test(a)?parseInt(a.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else if(typeof d.ActiveXObject!=c)try{var k=new ActiveXObject(U);if(k){a=k.GetVariable("$version");if(a){i=true;a=a.split(" ")[1].split(",");e=[parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10)]}}}catch(p){}return {w3:l,pv:e,wk:o,ie:i,win:n,mac:m}}(),W=function(){if(!a.w3)return;if(typeof b.readyState!=c&&b.readyState=="complete"||typeof b.readyState==c&&(b.getElementsByTagName("body")[0]||b.body))m();if(!k){if(typeof b.addEventListener!=c)b.addEventListener("DOMContentLoaded",m,false);if(a.ie&&a.win){b.attachEvent(D,function(){if(b.readyState=="complete"){b.detachEvent(D,arguments.callee);m()}});if(d==top)(function(){if(k)return;try{b.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}m()})()}if(a.wk)(function(){if(k)return;if(!/loaded|complete/.test(b.readyState)){setTimeout(arguments.callee,0);return}m()})();L(m)}}();function m(){if(k)return;try{var c=b.getElementsByTagName("body")[0].appendChild(h("span"));c.parentNode.removeChild(c)}catch(e){return}k=true;var d=u.length;for(var a=0;a<d;a++)u[a]()}function G(a){if(k)a();else u[u.length]=a}function L(a){if(typeof d.addEventListener!=c)d.addEventListener("load",a,false);else if(typeof b.addEventListener!=c)b.addEventListener("load",a,false);else if(typeof d.attachEvent!=c)R(d,"onload",a);else if(typeof d.onload=="function"){var e=d.onload;d.onload=function(){e();a()}}else d.onload=a}function Q(){if(M)T();else A()}function T(){var f=b.getElementsByTagName("body")[0],e=h(g);e.setAttribute("type",t);var d=f.appendChild(e);if(d){var i=0;(function(){if(typeof d.GetVariable!=c){var b=d.GetVariable("$version");if(b){b=b.split(" ")[1].split(",");a.pv=[parseInt(b[0],10),parseInt(b[1],10),parseInt(b[2],10)]}}else if(i<10){i++;setTimeout(arguments.callee,10);return}f.removeChild(e);d=null;A()})()}else A()}function A(){var o=i.length;if(o>0)for(var h=0;h<o;h++){var d=i[h].id,g=i[h].callbackFn,f={success:false,id:d};if(a.pv[0]>0){var b=e(d);if(b)if(q(i[h].swfVersion)&&!(a.wk&&a.wk<312)){l(d,true);if(g){f.success=true;f.ref=v(d);g(f)}}else if(i[h].expressInstall&&w()){var j={};j.data=i[h].expressInstall;j.width=b.getAttribute("width")||"0";j.height=b.getAttribute("height")||"0";if(b.getAttribute("class"))j.styleclass=b.getAttribute("class");if(b.getAttribute("align"))j.align=b.getAttribute("align");var p={},m=b.getElementsByTagName("param"),r=m.length;for(var k=0;k<r;k++)if(m[k].getAttribute("name").toLowerCase()!="movie")p[m[k].getAttribute("name")]=m[k].getAttribute("value");B(j,p,d,g)}else{S(b);if(g)g(f)}}else{l(d,true);if(g){var n=v(d);if(n&&typeof n.SetVariable!=c){f.success=true;f.ref=n}g(f)}}}}function v(f){var b=null,a=e(f);if(a&&a.nodeName=="OBJECT")if(typeof a.SetVariable!=c)b=a;else{var d=a.getElementsByTagName(g)[0];if(d)b=d}return b}function w(){return !p&&q("6.0.65")&&(a.win||a.mac)&&!(a.wk&&a.wk<312)}function B(g,j,i,m){p=true;x=m||null;F={success:false,id:i};var f=e(i);if(f){if(f.nodeName=="OBJECT"){o=y(f);s=null}else{o=f;s=i}g.id=J;if(typeof g.width==c||!/%$/.test(g.width)&&parseInt(g.width,10)<310)g.width="310";if(typeof g.height==c||!/%$/.test(g.height)&&parseInt(g.height,10)<137)g.height="137";b.title=b.title.slice(0,47)+" - Flash Player Installation";var n=a.ie&&a.win?"ActiveX":"PlugIn",l="MMredirectURL="+d.location.toString().replace(/&/g,"%26")+"&MMplayerType="+n+"&MMdoctitle="+b.title;if(typeof j.flashvars!=c)j.flashvars+="&"+l;else j.flashvars=l;if(a.ie&&a.win&&f.readyState!=4){var k=h("div");i+="SWFObjectNew";k.setAttribute("id",i);f.parentNode.insertBefore(k,f);f.style.display="none";(function(){if(f.readyState==4)f.parentNode.removeChild(f);else setTimeout(arguments.callee,10)})()}C(g,j,i)}}function S(b){if(a.ie&&a.win&&b.readyState!=4){var c=h("div");b.parentNode.insertBefore(c,b);c.parentNode.replaceChild(y(b),c);b.style.display="none";(function(){if(b.readyState==4)b.parentNode.removeChild(b);else setTimeout(arguments.callee,10)})()}else b.parentNode.replaceChild(y(b),b)}function y(f){var d=h("div");if(a.win&&a.ie)d.innerHTML=f.innerHTML;else{var e=f.getElementsByTagName(g)[0];if(e){var c=e.childNodes;if(c){var i=c.length;for(var b=0;b<i;b++)if(!(c[b].nodeType==1&&c[b].nodeName=="PARAM")&&!(c[b].nodeType==8))d.appendChild(c[b].cloneNode(true))}}}return d}function C(b,i,p){var l,m=e(p);if(a.wk&&a.wk<312)return l;if(m){if(typeof b.id==c)b.id=p;if(a.ie&&a.win){var o="";for(var d in b)if(b[d]!=Object.prototype[d])if(d.toLowerCase()=="data")i.movie=b[d];else if(d.toLowerCase()=="styleclass")o+=' class="'+b[d]+'"';else if(d.toLowerCase()!="classid")o+=" "+d+'="'+b[d]+'"';var q="";for(var n in i)if(i[n]!=Object.prototype[n])q+='<param name="'+n+'" value="'+i[n]+'" />';m.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+o+">"+q+"</object>";r[r.length]=b.id;l=e(b.id)}else{var j=h(g);j.setAttribute("type",t);for(var f in b)if(b[f]!=Object.prototype[f])if(f.toLowerCase()=="styleclass")j.setAttribute("class",b[f]);else if(f.toLowerCase()!="classid")j.setAttribute(f,b[f]);for(var k in i)if(i[k]!=Object.prototype[k]&&k.toLowerCase()!="movie")P(j,k,i[k]);m.parentNode.replaceChild(j,m);l=j}}return l}function P(d,b,c){var a=h("param");a.setAttribute("name",b);a.setAttribute("value",c);d.appendChild(a)}function E(c){var b=e(c);if(b&&b.nodeName=="OBJECT")if(a.ie&&a.win){b.style.display="none";(function(){if(b.readyState==4)O(c);else setTimeout(arguments.callee,10)})()}else b.parentNode.removeChild(b)}function O(c){var a=e(c);if(a){for(var b in a)if(typeof a[b]=="function")a[b]=null;a.parentNode.removeChild(a)}}function e(c){var a=null;try{a=b.getElementById(c)}catch(d){}return a}function h(a){return b.createElement(a)}function R(c,a,b){c.attachEvent(a,b);n[n.length]=[c,a,b]}function q(d){var c=a.pv,b=d.split(".");b[0]=parseInt(b[0],10);b[1]=parseInt(b[1],10)||0;b[2]=parseInt(b[2],10)||0;return c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?true:false}function N(l,j,i,m){if(a.ie&&a.mac)return;var k=b.getElementsByTagName("head")[0];if(!k)return;var d=i&&typeof i=="string"?i:"screen";if(m){f=null;z=null}if(!f||z!=d){var e=h("style");e.setAttribute("type","text/css");e.setAttribute("media",d);f=k.appendChild(e);if(a.ie&&a.win&&typeof b.styleSheets!=c&&b.styleSheets.length>0)f=b.styleSheets[b.styleSheets.length-1];z=d}if(a.ie&&a.win){if(f&&typeof f.addRule==g)f.addRule(l,j)}else if(f&&typeof b.createTextNode!=c)f.appendChild(b.createTextNode(l+" {"+j+"}"))}function l(a,c){if(!I)return;var b=c?"visible":"hidden";if(k&&e(a))e(a).style.visibility=b;else N("#"+a,"visibility:"+b)}function H(a){var d=/[\\\"<>\.;]/,b=d.exec(a)!=null;return b&&typeof encodeURIComponent!=c?encodeURIComponent(a):a}var V=function(){if(a.ie&&a.win)window.attachEvent("onunload",function(){var g=n.length;for(var b=0;b<g;b++)n[b][0].detachEvent(n[b][1],n[b][2]);var f=r.length;for(var c=0;c<f;c++)E(r[c]);for(var e in a)a[e]=null;a=null;for(var d in swfobject)swfobject[d]=null;swfobject=null})}();return {registerObject:function(c,e,f,d){if(a.w3&&c&&e){var b={};b.id=c;b.swfVersion=e;b.expressInstall=f;b.callbackFn=d;i[i.length]=b;l(c,false)}else if(d)d({success:false,id:c})},getObjectById:function(b){if(a.w3)return v(b)},embedSWF:function(o,b,j,k,m,n,d,h,i,e){var f={success:false,id:b};if(a.w3&&!(a.wk&&a.wk<312)&&o&&b&&j&&k&&m){l(b,false);G(function(){j+="";k+="";var a={};if(i&&typeof i===g)for(var t in i)a[t]=i[t];a.data=o;a.width=j;a.height=k;var p={};if(h&&typeof h===g)for(var s in h)p[s]=h[s];if(d&&typeof d===g)for(var r in d)if(typeof p.flashvars!=c)p.flashvars+="&"+r+"="+d[r];else p.flashvars=r+"="+d[r];if(q(m)){var u=C(a,p,b);if(a.id==b)l(b,true);f.success=true;f.ref=u}else if(n&&w()){a.data=n;B(a,p,b,e);return}else l(b,true);if(e)e(f)})}else if(e)e(f)},switchOffAutoHideShow:function(){I=false},ua:a,getFlashPlayerVersion:function(){return {major:a.pv[0],minor:a.pv[1],release:a.pv[2]}},hasFlashPlayerVersion:q,createSWF:function(d,c,b){if(a.w3)return C(d,c,b);else return undefined},showExpressInstall:function(d,e,b,c){if(a.w3&&w())B(d,e,b,c)},removeSWF:function(b){if(a.w3)E(b)},createCSS:function(e,d,c,b){if(a.w3)N(e,d,c,b)},addDomLoadEvent:G,addLoadEvent:L,getQueryParamValue:function(e){var c=b.location.search||b.location.hash;if(c){if(/\?/.test(c))c=c.split("?")[1];if(e==null)return H(c);var d=c.split("&");for(var a=0;a<d.length;a++)if(d[a].substring(0,d[a].indexOf("="))==e)return H(d[a].substring(d[a].indexOf("=")+1))}return ""},expressInstallCallback:function(){if(p){var b=e(J);if(b&&o){b.parentNode.replaceChild(o,b);if(s){l(s,true);if(a.ie&&a.win)o.style.display="block"}if(x)x(F)}p=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,YUISwfId:this.getId(),YUIBridgeCallback:"Ext.FlashEventProxy.onEvent"},this.flashVars);new swfobject.embedSWF(this.url,this.id,this.swfWidth,this.swfHeight,this.flashVersion,this.expressInstall?Ext.FlashComponent.EXPRESS_INSTALL_URL:undefined,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(c,b){var a=Ext.getCmp(c);if(a)a.onFlashEvent(b);else arguments.callee.defer(10,this,[c,b])}};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:.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(b){a.push(Ext.encode(b))});this.swf.setSeriesStyles(a)},setCategoryNames:function(a){this.swf.setCategoryNames(a)},setLegendRenderer:function(c,b){var a=this;b=b||a;a.removeFnProxy(a.legendFnName);a.legendFnName=a.createFnProxy(function(a){return c.call(b,a)});a.swf.setLegendLabelFunction(a.legendFnName)},setTipRenderer:function(c,b){var a=this;b=b||a;a.removeFnProxy(a.tipFnName);a.tipFnName=a.createFnProxy(function(g,d,f){var e=a.store.getAt(d);return c.call(b,a,e,d,f)});a.swf.setDataTipFunction(a.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(b){Ext.chart.Chart.superclass.onSwfReady.call(this,b);var 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){a=this.getFunctionRef(this.tipRenderer);this.setTipRenderer(a.fn,a.scope)}if(this.legendRenderer){a=this.getFunctionRef(this.legendRenderer);this.setLegendRenderer(a.fn,a.scope)}if(!b)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 k=false,h=[],i=this.store.data.items;for(var e=0,j=i.length;e<j;e++)h[e]=i[e].data;var d=[],c=0,a=null,b=0;if(this.series){c=this.series.length;for(b=0;b<c;b++){a=this.series[b];var g={};for(var f in a)if(f=="style"&&a.style!==null){g.style=Ext.encode(a.style);k=true}else g[f]=a[f];d.push(g)}}if(c>0)for(b=0;b<c;b++){a=d[b];if(!a.type)a.type=this.type;a.dataProvider=h}else d.push({type:this.type,dataProvider:h});this.swf.setDataProvider(d);if(this.seriesStyles)this.setSeriesStyles(this.seriesStyles);this.fireEvent("refresh",this)}},createFnProxy:function(b){var a="extFnProxy"+ ++Ext.chart.Chart.PROXY_FN_ID;Ext.chart.Chart.proxyFunction[a]=b;return "Ext.chart.Chart.proxyFunction."+a},removeFnProxy:function(a){if(!Ext.isEmpty(a)){a=a.replace("Ext.chart.Chart.proxyFunction.","");delete Ext.chart.Chart.proxyFunction[a]}},getFunctionRef:function(a){if(Ext.isFunction(a))return {fn:a,scope:this};else return {fn:a.fn,scope:a.scope||this}},onDestroy:function(){if(this.refreshTask&&this.refreshTask.cancel)this.refreshTask.cancel();Ext.chart.Chart.superclass.onDestroy.call(this);this.bindStore(null);this.removeFnProxy(this.tipFnName);this.removeFnProxy(this.legendFnName)}});Ext.reg("chart",Ext.chart.Chart);Ext.chart.Chart.PROXY_FN_ID=0;Ext.chart.Chart.proxyFunction={};Ext.chart.Chart.CHART_URL="http://yui.yahooapis.com/2.8.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);this.labelFn=[];if(this.xField)this.setXField(this.xField);if(this.yField)this.setYField(this.yField);if(this.xAxis)this.setXAxis(this.xAxis);if(this.xAxes)this.setXAxes(this.xAxes);if(this.yAxis)this.setYAxis(this.yAxis);if(this.yAxes)this.setYAxes(this.yAxes);if(Ext.isDefined(this.constrainViewport))this.swf.setConstrainViewport(this.constrainViewport)},setXField:function(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)},setXAxes:function(c){var b;for(var a=0;a<c.length;a++){b=this.createAxis("xAxis"+a,c[a]);this.swf.setHorizontalAxis(b)}},setYAxis:function(a){this.yAxis=this.createAxis("yAxis",a);this.swf.setVerticalAxis(this.yAxis)},setYAxes:function(c){var b;for(var a=0;a<c.length;a++){b=this.createAxis("yAxis"+a,c[a]);this.swf.setVerticalAxis(b)}},createAxis:function(c,e){var a=Ext.apply({},e),d,b;if(this[c]){b=this[c].labelFunction;this.removeFnProxy(b);this.labelFn.remove(b)}if(a.labelRenderer){d=this.getFunctionRef(a.labelRenderer);a.labelFunction=this.createFnProxy(function(a){return d.fn.call(d.scope,a)});delete a.labelRenderer;this.labelFn.push(a.labelFunction)}if(c.indexOf("xAxis")>-1&&a.position=="left")a.position="bottom";return a},onDestroy:function(){Ext.chart.CartesianChart.superclass.onDestroy.call(this);Ext.each(this.labelFn,function(a){this.removeFnProxy(a)},this)}});Ext.reg("cartesianchart",Ext.chart.CartesianChart);Ext.chart.LineChart=Ext.extend(Ext.chart.CartesianChart,{type:"line"});Ext.reg("linechart",Ext.chart.LineChart);Ext.chart.ColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"column"});Ext.reg("columnchart",Ext.chart.ColumnChart);Ext.chart.StackedColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackcolumn"});Ext.reg("stackedcolumnchart",Ext.chart.StackedColumnChart);Ext.chart.BarChart=Ext.extend(Ext.chart.CartesianChart,{type:"bar"});Ext.reg("barchart",Ext.chart.BarChart);Ext.chart.StackedBarChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackbar"});Ext.reg("stackedbarchart",Ext.chart.StackedBarChart);Ext.chart.Axis=function(a){Ext.apply(this,a)};Ext.chart.Axis.prototype={type:null,orientation:"horizontal",reverse:false,labelFunction:null,hideOverlappingLabels:true,labelSpacing:2};Ext.chart.NumericAxis=Ext.extend(Ext.chart.Axis,{type:"numeric",minimum:NaN,maximum:NaN,majorUnit:NaN,minorUnit:NaN,snapToUnits:true,alwaysShowZero:true,scale:"linear",roundMajorUnit:true,calculateByLabelSize:true,position:"left",adjustMaximumByMajorUnit:true,adjustMinimumByMajorUnit:true});Ext.chart.TimeAxis=Ext.extend(Ext.chart.Axis,{type:"time",minimum:null,maximum:null,majorUnit:NaN,majorTimeUnit:null,minorUnit:NaN,minorTimeUnit:null,snapToUnits:true,stackingEnabled:false,calculateByLabelSize:true});Ext.chart.CategoryAxis=Ext.extend(Ext.chart.Axis,{type:"category",categoryNames:null,calculateCategoryCount:false});Ext.chart.Series=function(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,showInLegend:true,axis:"primary"});Ext.chart.ColumnSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"column"});Ext.chart.LineSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"line"});Ext.chart.BarSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"bar"});Ext.chart.PieSeries=Ext.extend(Ext.chart.Series,{type:"pie",dataField:null,categoryField:null});Ext.menu.Menu=Ext.extend(Ext.Container,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,enableScrolling:true,maxHeight:null,scrollIncrement:24,showSeparator:true,defaultOffsets:[0,0],plain:false,floating:true,zIndex:15000,hidden:true,layout:"menu",hideMode:"offsets",scrollerHeight:8,autoLayout:true,defaultType:"menuitem",bufferResize:false,initComponent:function(){if(Ext.isArray(this.initialConfig))Ext.apply(this,{items:this.initialConfig});this.addEvents("click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);if(this.floating)Ext.EventManager.onWindowResize(this.hide,this);else{if(this.initialConfig.hidden!==false)this.hidden=false;this.internalDefaults={hideOnClick:false}}Ext.menu.Menu.superclass.initComponent.call(this);if(this.autoLayout){var a=this.doLayout.createDelegate(this,[]);this.on({add:a,remove:a})}},getLayoutTarget:function(){return this.ul},onRender:function(a,c){if(!a)a=Ext.getBody();var b={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:b,constrain:false,parentEl:a,zindex:this.zIndex});else this.el=a.createChild(b);Ext.menu.Menu.superclass.onRender.call(this,a,c);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 a=this.activeItem;if(a){if(a.isFormField){if(a.collapse)a.collapse()}else a.deactivate();delete this.activeItem}},tryActivate:function(f,e){var c=this.items;for(var b=f,d=c.length;b>=0&&b<d;b+=e){var a=c.get(b);if(a.isVisible()&&!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(d,b){if(d)d.stopEvent();var a=this.ul.dom,c=Ext.fly(b).is(".x-menu-scroller-top");a.scrollTop+=this.scrollIncrement*(c?-1:1);if(c?a.scrollTop<=0:a.scrollTop+this.activeMax>=a.scrollHeight)this.onScrollerOut(null,b)},onScrollerIn:function(d,b){var a=this.ul.dom,c=Ext.fly(b).is(".x-menu-scroller-top");if(c?a.scrollTop>0:a.scrollTop+this.activeMax<a.scrollHeight)Ext.fly(b).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(b,c,a){if(this.floating){this.parentMenu=a;if(!this.el){this.render();this.doLayout(false,true)}this.showAt(this.el.getAlignToXY(b,c||this.defaultAlign,this.defaultOffsets),a)}else Ext.menu.Menu.superclass.show.call(this)},showAt:function(a,b){if(this.fireEvent("beforeshow",this)!==false){this.parentMenu=b;if(!this.el)this.render();if(this.enableScrolling){this.el.setXY(a);a[1]=this.constrainScroll(a[1]);a=[this.el.adjustForConstraints(a)[0],a[1]]}else a=this.el.adjustForConstraints(a);this.el.setXY(a);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(d){var a,b=this.ul.setHeight("auto").getHeight(),e=d,g,f,h,c;if(this.floating){f=Ext.fly(this.el.dom.parentNode);h=f.getScroll().top;c=f.getViewSize().height;g=d-h;a=this.maxHeight?this.maxHeight:c-g;if(b>c){a=c;e=d-g}else if(a<b){e=d-(b-a);a=b}}else a=this.getHeight();if(this.maxHeight)a=Math.min(this.maxHeight,a);if(b>a&&a>0){this.activeMax=a-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(b);this.el.select(".x-menu-scroller").setDisplayed("none")}this.ul.dom.scrollTop=0;return e},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){if(!this.isDestroyed){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(a){if(!Ext.isString(a)){a=Ext.menu.Menu.superclass.applyDefaults.call(this,a);var b=this.internalDefaults;if(b)if(a.events){Ext.applyIf(a.initialConfig,b);Ext.apply(a,b)}else Ext.applyIf(a,b)}return a},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({el: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(){Ext.EventManager.removeResizeListener(this.hide,this);var b=this.parentMenu;if(b&&b.activeChild==this)delete b.activeChild;delete this.parentMenu;Ext.menu.Menu.superclass.onDestroy.call(this);Ext.menu.MenuMgr.unregister(this);if(this.keyNav)this.keyNav.disable();var a=this.scroller;if(a)Ext.destroy(a.topRepeater,a.bottomRepeater,a.top,a.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(b,a){if(!a.tryActivate(a.items.indexOf(a.activeItem)-1,-1))a.tryActivate(a.items.length-1,-1)}function b(b,a){if(!a.tryActivate(a.items.indexOf(a.activeItem)+1,1))a.tryActivate(0,1)}return {constructor:function(a){Ext.menu.MenuNav.superclass.constructor.call(this,a.el);this.scope=this.menu=a},doRelay:function(a,c){var b=a.getKey();if(this.menu.activeItem&&this.menu.activeItem.isFormField&&b!=a.TAB)return false;if(!this.menu.activeItem&&a.isNavKeyPress()&&b!=a.SPACE&&b!=a.RETURN){this.menu.tryActivate(0,1);return false}return c.call(this.scope||this,a,this.menu)},tab:function(c,d){c.stopEvent();if(c.shiftKey)a(c,d);else b(c,d)},up:a,down:b,right:function(b,a){if(a.activeItem)a.activeItem.expandMenu(true)},left:function(b,a){a.hide();if(a.parentMenu&&a.parentMenu.activeItem)a.parentMenu.activeItem.activate()},enter:function(b,a){if(a.activeItem){b.stopPropagation();a.activeItem.onClick(b);a.fireEvent("click",this,a.activeItem);return true}}}}());Ext.menu.MenuMgr=function(){var c,a,b={},e=false,j=new Date;function l(){c={};a=new Ext.util.MixedCollection;Ext.getDoc().addKeyListener(27,function(){if(a.length>0)d()})}function d(){if(a&&a.length>0){var b=a.clone();b.each(function(a){a.hide()});return true}return false}function g(b){a.remove(b);if(a.length<1){Ext.getDoc().un("mousedown",k);e=false}}function i(b){var c=a.last();j=new Date;a.add(b);if(!e){Ext.getDoc().on("mousedown",k);e=true}if(b.parentMenu){b.getEl().setZIndex(parseInt(b.parentMenu.getEl().getStyle("z-index"),10)+3);b.parentMenu.activeChild=b}else if(c&&!c.isDestroyed&&c.isVisible())b.getEl().setZIndex(parseInt(c.getEl().getStyle("z-index"),10)+3)}function f(a){if(a.activeChild)a.activeChild.hide();if(a.autoHideTimer){clearTimeout(a.autoHideTimer);delete a.autoHideTimer}}function h(b){var a=b.parentMenu;if(!a&&!b.allowOtherMenus)d();else if(a&&a.activeChild)a.activeChild.hide()}function k(b){if(j.getElapsed()>50&&a.length>0&&!b.getTarget(".x-menu"))d()}return {hideAll:function(){return d()},register:function(a){if(!c)l();c[a.id]=a;a.on({beforehide:f,hide:g,beforeshow:h,show:i})},"get":function(a){if(typeof a=="string"){if(!c)return null;return c[a]}else if(a.events)return a;else if(typeof a.length=="number")return new Ext.menu.Menu({items:a});else return Ext.create(a,"menu")},unregister:function(a){delete c[a.id];a.un("beforehide",f);a.un("hide",g);a.un("beforeshow",h);a.un("show",i)},registerCheckable:function(c){var a=c.group;if(a){if(!b[a])b[a]=[];b[a].push(c)}},unregisterCheckable:function(a){var c=a.group;if(c)b[c].remove(a)},onCheckChange:function(c,g){if(c.group&&g){var e=b[c.group],a=0,f=e.length,d;for(;a<f;a++){d=e[a];if(d!=c)d.setChecked(false)}}},getCheckedItem:function(e){var c=b[e];if(c)for(var a=0,d=c.length;a<d;a++)if(c[a].checked)return c[a];return null},setCheckedItem:function(e,f){var c=b[e];if(c)for(var a=0,d=c.length;a<d;a++)if(c[a].id==f)c[a].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(){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(){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(b){var a=document.createElement("span");a.className=this.itemCls;a.innerHTML="&#160;";this.el=a;b.addClass("x-menu-sep-li");Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.reg("menuseparator",Ext.menu.Separator);Ext.menu.Item=Ext.extend(Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,altText:"",hideDelay:200,ctype:"Ext.menu.Item",initComponent:function(){Ext.menu.Item.superclass.initComponent.call(this);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu);this.menu.ownerCt=this}},onRender:function(c,a){if(!this.itemTpl)this.itemTpl=Ext.menu.Item.prototype.itemTpl=new Ext.XTemplate('<a id="{id}" class="{cls}" hidefocus="true" unselectable="on" href="{href}"','<tpl if="hrefTarget">',' target="{hrefTarget}"',"</tpl>",">",'<img alt="{altText}" src="{icon}" class="x-menu-item-icon {iconCls}"/>','<span class="x-menu-item-text">{text}</span>',"</a>");var b=this.getTemplateArgs();this.el=a?this.itemTpl.insertBefore(a,b,true):this.itemTpl.append(c,b,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,c,a)},getTemplateArgs:function(){return {id:this.id,cls:this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:""),href:this.href||"#",hrefTarget:this.hrefTarget,icon:this.icon||Ext.BLANK_IMAGE_URL,iconCls:this.iconCls||"",text:this.itemText||this.text||"&#160;",altText:this.altText||""}},setText:function(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(){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(a,c){var b=c===true;if(this.checked!=a&&(b||this.fireEvent("beforecheckchange",this,a)!==false)){Ext.menu.MenuMgr.onCheckChange(this,a);if(this.container)this.container[a?"addClass":"removeClass"]("x-menu-item-checked");this.checked=a;if(!b)this.fireEvent("checkchange",this,a)}},handleClick:function(){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(d,c){if(!this.el){var a=this.getAutoCreate();if(!a.name)a.name=this.name||this.id;if(this.inputType)a.type=this.inputType;this.autoEl=a}Ext.form.Field.superclass.onRender.call(this,d,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.getKeyEvent(),this.fireKey,this);this.mon(this.el,"focus",this.onFocus,this);this.mon(this.el,"blur",this.onBlur,this,this.inEditor?{buffer:10}:null)},preFocus:Ext.emptyFn,onFocus:function(){this.preFocus();if(this.focusClass)this.el.addClass(this.focusClass);if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass)this.el.removeClass(this.focusClass);this.hasFocus=false;if(this.validationEvent!==false&&(this.validateOnBlur||this.validationEvent=="blur"))this.validate();var 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(a){if(this.disabled)return true;var c=this.preventMark;this.preventMark=a===true;var b=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=c;return b},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(a){return a},validateValue:function(b){var a=this.getErrors(b)[0];if(a==undefined)return true;else{this.markInvalid(a);return false}},getErrors:function(){return []},getActiveError:function(){return this.activeError||""},markInvalid:function(a){if(this.rendered&&!this.preventMark){a=a||this.invalidText;var c=this.getMessageHandler();if(c)c.mark(this,a);else if(this.msgTarget){this.el.addClass(this.invalidClass);var b=Ext.getDom(this.msgTarget);if(b){b.innerHTML=a;b.style.display=this.msgDisplay}}}this.setActiveError(a)},clearInvalid:function(){if(this.rendered&&!this.preventMark){this.el.removeClass(this.invalidClass);var b=this.getMessageHandler();if(b)b.clear(this);else if(this.msgTarget){this.el.removeClass(this.invalidClass);var a=Ext.getDom(this.msgTarget);if(a){a.innerHTML="";a.style.display="none"}}}this.unsetActiveError()},setActiveError:function(a,b){this.activeError=a;if(b!==true)this.fireEvent("invalid",this,a)},unsetActiveError:function(a){delete this.activeError;if(a!==true)this.fireEvent("valid",this)},getMessageHandler:function(){return Ext.form.MessageTargets[this.msgTarget]},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorEl:function(){this.errorEl.setWidth(this.getErrorCt().getWidth(true)-20)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},getRawValue:function(){var 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(a,c){a.el.addClass(a.invalidClass);if(!a.errorEl){var b=a.getErrorCt();if(!b){a.el.dom.title=c;return}a.errorEl=b.createChild({cls:"x-form-invalid-msg"});a.on("resize",a.alignErrorEl,a);a.on("destroy",function(){Ext.destroy(this.errorEl)},a)}a.alignErrorEl();a.errorEl.update(c);Ext.form.Field.msgFx[a.msgFx].show(a.errorEl,a)},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(a,c){a.el.addClass(a.invalidClass);if(!a.errorIcon){var b=a.getErrorCt();if(!b){a.el.dom.title=c;return}a.errorIcon=b.createChild({cls:"x-form-invalid-icon"});if(a.ownerCt){a.ownerCt.on("afterlayout",a.alignErrorIcon,a);a.ownerCt.on("expand",a.alignErrorIcon,a)}a.on("resize",a.alignErrorIcon,a);a.on("destroy",function(){Ext.destroy(this.errorIcon)},a)}a.alignErrorIcon();a.errorIcon.dom.qtip=c;a.errorIcon.dom.qclass="x-form-invalid-tip";a.errorIcon.show()},clear:function(a){a.el.removeClass(a.invalidClass);if(a.errorIcon){a.errorIcon.dom.qtip="";a.errorIcon.hide()}else a.el.dom.title=""}}};Ext.form.Field.msgFx={normal:{show:function(a){a.setDisplayed("block")},hide:function(a){a.setDisplayed(false).update("")}},slide:{show:function(a){a.slideIn("t",{stopFx:true})},hide:function(a){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){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(){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,b;if(this.emptyText){if(a.dom.value==this.emptyText){this.setRawValue("");b=true}a.removeClass(this.emptyClass)}if(this.selectOnFocus||b)a.dom.select()},postBlur:function(){this.applyEmptyText()},filterKeys:function(a){if(a.ctrlKey)return;var b=a.getKey();if(Ext.isGecko&&(a.isNavKeyPress()||b==a.BACKSPACE||b==a.DELETE&&a.button==-1))return;var c=String.fromCharCode(a.getCharCode());if(!Ext.isGecko&&a.isSpecialKey()&&!c)return;if(!this.maskRe.test(c))a.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},getErrors:function(a){var b=Ext.form.TextField.superclass.getErrors.apply(this,arguments);a=Ext.isDefined(a)?a:this.processValue(this.getRawValue());if(Ext.isFunction(this.validator)){var d=this.validator(a);if(d!==true)b.push(d)}if(a.length<1||a===this.emptyText)if(this.allowBlank)return b;else b.push(this.blankText);if(!this.allowBlank&&(a.length<1||a===this.emptyText))b.push(this.blankText);if(a.length<this.minLength)b.push(String.format(this.minLengthText,this.minLength));if(a.length>this.maxLength)b.push(String.format(this.maxLengthText,this.maxLength));if(this.vtype){var c=Ext.form.VTypes;if(!c[this.vtype](a,this))b.push(this.vtypeText||c[this.vtype+"Text"])}if(this.regex&&!this.regex.test(a))b.push(this.regexText);return b},selectText:function(b,a){var e=this.getRawValue(),f=false;if(e.length>0){b=b===undefined?0:b;a=a===undefined?e.length:a;var c=this.el.dom;if(c.setSelectionRange)c.setSelectionRange(b,a);else if(c.createTextRange){var d=c.createTextRange();d.moveStart("character",b);d.moveEnd("character",a-e.length);d.select()}f=Ext.isGecko||Ext.isOpera}else f=true;if(f)this.focus()},autoSize:function(){if(!this.grow||!this.rendered)return;if(!this.metrics)this.metrics=Ext.util.TextMetrics.createInstance(this.el);var d=this.el,a=d.dom.value,b=document.createElement("div");b.appendChild(document.createTextNode(a));a=b.innerHTML;Ext.removeNode(b);b=null;a+="&#160;";var c=Math.min(this.growMax,Math.max(this.metrics.getWidth(a)+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",defaultTriggerWidth:17,onResize:function(a,c){Ext.form.TriggerField.superclass.onResize.call(this,a,c);var b=this.getTriggerWidth();if(Ext.isNumber(a))this.el.setWidth(a-b);this.wrap.setWidth(this.el.getWidth()+b)},getTriggerWidth:function(){var a=this.trigger.getWidth();if(!this.hideTrigger&&!this.readOnly&&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,alt:"",cls:"x-form-trigger "+this.triggerClass});this.initTrigger();if(!this.width)this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth());this.resizeEl=this.positionEl=this.wrap},getWidth:function(){return this.el.getWidth()+this.trigger.getWidth()},updateEditState:function(){if(this.rendered){if(this.readOnly){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this);this.trigger.setDisplayed(false)}else{if(!this.editable){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mon(this.el,"click",this.onTriggerClick,this)}else{this.el.dom.readOnly=false;this.el.removeClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this)}this.trigger.setDisplayed(!this.hideTrigger)}this.onResize(this.width||this.wrap.getWidth())}},setHideTrigger:function(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);this.updateEditState()},initTrigger:function(){this.mon(this.trigger,"click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){Ext.destroy(this.trigger,this.wrap);if(this.mimicing)this.doc.un("mousedown",this.mimicBlur,this);delete this.doc;Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass(this.wrapFocusClass);this.mimicing=true;this.doc.on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab)this.on("specialkey",this.checkTab,this)}},checkTab:function(b,a){if(a.getKey()==a.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(){return true},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(a){return this.triggers[a]},afterRender:function(){Ext.form.TwinTriggerField.superclass.afterRender.call(this);var b=this.triggers,a=0,c=b.length;for(;a<c;++a)if(this["hideTrigger"+(a+1)])b[a].hide()},initTrigger:function(){var b=this.trigger.select(".x-form-trigger",true),a=this;b.each(function(b,e,d){var c="Trigger"+(d+1);b.hide=function(){var b=a.wrap.getWidth();this.dom.style.display="none";a.el.setWidth(b-a.trigger.getWidth());a["hidden"+c]=true};b.show=function(){var b=a.wrap.getWidth();this.dom.style.display="";a.el.setWidth(b-a.trigger.getWidth());a["hidden"+c]=false};this.mon(b,"click",this["on"+c+"Click"],this,{preventDefault:true});b.addClassOnOver("x-form-trigger-over");b.addClassOnClick("x-form-trigger-click")},this);this.triggers=b.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:1e3,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},filterValidation:function(a){if(!a.isNavKeyPress()||!this.enterIsSpecial&&a.keyCode==a.ENTER)this.validationTask.delay(this.validationDelay)},autoSize:function(){if(!this.grow||!this.textSizeEl)return;var d=this.el,a=Ext.util.Format.htmlEncode(d.dom.value),c=this.textSizeEl,b;Ext.fly(c).setWidth(this.el.getWidth());if(a.length<1)a="&#160;&#160;";else{a+=this.growAppend;if(Ext.isIE)a=a.replace(/\n/g,"&#160;<br />")}c.innerHTML=a;b=Math.min(this.growMax,Math.max(c.offsetHeight,this.growMin));if(b!=this.lastHeight){this.lastHeight=b;this.el.setHeight(b);this.fireEvent("autosize",this,b)}}});Ext.reg("textarea",Ext.form.TextArea);Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:"x-form-field x-form-num-field",allowDecimals:true,decimalSeparator:".",decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",baseChars:"0123456789",autoStripChars:false,initEvents:function(){var a=this.baseChars+"";if(this.allowDecimals)a+=this.decimalSeparator;if(this.allowNegative)a+="-";a=Ext.escapeRe(a);this.maskRe=new RegExp("["+a+"]");if(this.autoStripChars)this.stripCharsRe=new RegExp("[^"+a+"]","gi");Ext.form.NumberField.superclass.initEvents.call(this)},getErrors:function(a){var b=Ext.form.NumberField.superclass.getErrors.apply(this,arguments);a=Ext.isDefined(a)?a:this.processValue(this.getRawValue());if(a.length<1)return b;a=String(a).replace(this.decimalSeparator,".");if(isNaN(a))b.push(String.format(this.nanText,a));var c=this.parseValue(a);if(c<this.minValue)b.push(String.format(this.minText,this.minValue));if(c>this.maxValue)b.push(String.format(this.maxText,this.maxValue));return b},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(a){a=this.fixPrecision(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(a){var b=isNaN(a);if(!this.allowDecimals||this.decimalPrecision==-1||b||!a)return b?"":a;return parseFloat(parseFloat(a).toFixed(this.decimalPrecision))},beforeBlur:function(){var a=this.parseValue(this.getRawValue());if(!Ext.isEmpty(a))this.setValue(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|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,startDay:0,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initTime:"12",initTimeFormat:"H",safeParse:function(c,a){if(/[gGhH]/.test(a.replace(/(\\.)/g,"")))return Date.parseDate(c,a);else{var b=Date.parseDate(c+" "+this.initTime,a+" "+this.initTimeFormat);if(b)return b.clearTime()}},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(Ext.isString(this.minValue))this.minValue=this.parseDate(this.minValue);if(Ext.isString(this.maxValue))this.maxValue=this.parseDate(this.maxValue);this.disabledDatesRE=null;this.initDisabledDays()},initEvents:function(){Ext.form.DateField.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{down:function(){this.onTriggerClick()},scope:this,forceKeyDown:true})},initDisabledDays:function(){if(this.disabledDates){var a=this.disabledDates,c=a.length-1,b="(?:";Ext.each(a,function(e,d){b+=Ext.isDate(e)?"^"+Ext.escapeRe(e.dateFormat(this.format))+"$":a[d];if(d!=c)b+="|"},this);this.disabledDatesRE=new RegExp(b+")")}},setDisabledDates:function(a){this.disabledDates=a;this.initDisabledDays();if(this.menu)this.menu.picker.setDisabledDates(this.disabledDatesRE)},setDisabledDays:function(a){this.disabledDays=a;if(this.menu)this.menu.picker.setDisabledDays(a)},setMinValue:function(a){this.minValue=Ext.isString(a)?this.parseDate(a):a;if(this.menu)this.menu.picker.setMinDate(this.minValue)},setMaxValue:function(a){this.maxValue=Ext.isString(a)?this.parseDate(a):a;if(this.menu)this.menu.picker.setMaxDate(this.maxValue)},getErrors:function(a){var b=Ext.form.DateField.superclass.getErrors.apply(this,arguments);a=this.formatDate(a||this.processValue(this.getRawValue()));if(a.length<1)return b;var g=a;a=this.parseDate(a);if(!a){b.push(String.format(this.invalidText,g,this.format));return b}var e=a.getTime();if(this.minValue&&e<this.minValue.clearTime().getTime())b.push(String.format(this.minText,this.formatDate(this.minValue)));if(this.maxValue&&e>this.maxValue.clearTime().getTime())b.push(String.format(this.maxText,this.formatDate(this.maxValue)));if(this.disabledDays){var f=a.getDay();for(var c=0;c<this.disabledDays.length;c++)if(f===this.disabledDays[c]){b.push(this.disabledDaysText);break}}var d=this.formatDate(a);if(this.disabledDatesRE&&this.disabledDatesRE.test(d))b.push(String.format(this.disabledDatesText,d));return b},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(a){if(!a||Ext.isDate(a))return a;var b=this.safeParse(a,this.format),e=this.altFormats,c=this.altFormatsArray;if(!b&&e){c=c||e.split("|");for(var d=0,f=c.length;d<f&&!b;d++)b=this.safeParse(a,c[d])}return b},onDestroy:function(){Ext.destroy(this.menu,this.keyNav);Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(a){return Ext.isDate(a)?a.dateFormat(this.format):a},onTriggerClick:function(){if(this.disabled)return;if(this.menu==null)this.menu=new Ext.menu.DateMenu({hideOnClick:false,focusOnSelect:false});this.onFocus();Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,startDay:this.startDay,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.picker.setValue(this.getValue()||new Date);this.menu.show(this.el,"tl-bl?");this.menuEvents("on")},menuEvents:function(a){this.menu[a]("select",this.onSelect,this);this.menu[a]("hide",this.onMenuHide,this);this.menu[a]("show",this.onFocus,this)},onSelect:function(b,a){this.setValue(a);this.fireEvent("select",this,a);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,autoSelect:true,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:"query",loadingText:"Loading...",resizable:false,handleHeight:8,allQuery:"",mode:"remote",minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,clearFilterOnReset:true,submitValue:undefined,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){var b=Ext.getDom(this.transform);if(!this.hiddenName)this.hiddenName=b.name;if(!this.store){this.mode="local";var f=[],d=b.options;for(var c=0,g=d.length;c<g;c++){var a=d[c],e=a.hasAttribute?a.hasAttribute("value"):a.getAttributeNode("value").specified?a.value:a.text;if(a.selected&&Ext.isEmpty(this.value,true))this.value=e;f.push([e,a.text])}this.store=new Ext.data.ArrayStore({idIndex:0,fields:["value","text"],data:f,autoDestroy:true});this.valueField="value";this.displayField="text"}b.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(b,this.autoCreate||this.defaultAutoCreate);this.render(this.el.parentNode,b)}Ext.removeNode(b)}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||Ext.id()},"before",true);if(Ext.isGecko)this.el.dom.setAttribute("autocomplete","off");if(!this.lazyInit)this.initList();else this.on("focus",this.initList,this,{single:true})},initValue:function(){Ext.form.ComboBox.superclass.initValue.call(this);if(this.hiddenField)this.hiddenField.value=Ext.value(Ext.isDefined(this.hiddenValue)?this.hiddenValue:this.value,"")},getParentZIndex:function(){var a;if(this.ownerCt)this.findParentBy(function(b){a=parseInt(b.getPositionEl().getStyle("z-index"),10);return !!a});return a},getZIndex:function(b){b=b||Ext.getDom(this.getListParent()||Ext.getBody());var a=parseInt(Ext.fly(b).getStyle("z-index"),10);if(!a)a=this.getParentZIndex();return (a||12000)+5},initList:function(){if(!this.list){var a="x-combo-list",c=Ext.getDom(this.getListParent()||Ext.getBody());this.list=new Ext.Layer({parentEl:c,shadow:this.shadow,cls:[a,this.listClass].join(" "),constrain:false,zindex:this.getZIndex(c)});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,deferEmptyText:false});this.mon(this.view,{containerclick:this.onViewClick,click:this.onViewClick,scope:this});this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.mon(this.resizer,"resize",function(c,a,b){this.maxHeight=b-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=a;this.innerList.setWidth(a-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(){if(this.clearFilterOnReset&&this.mode=="local")this.store.clearFilter();Ext.form.ComboBox.superclass.reset.call(this)},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(){this.inKeyMode=true;this.selectPrev()},down:function(){if(!this.isExpanded())this.onTriggerClick();else{this.inKeyMode=true;this.selectNext()}},enter:function(){this.onViewClick()},esc:function(){this.collapse()},tab:function(){if(this.forceSelection===true)this.collapse();else this.onViewClick(false);return true},scope:this,doRelay:function(b,d,a){if(a=="down"||this.scope.isExpanded()){var c=Ext.KeyNav.prototype.doRelay.apply(this,arguments);if(!Ext.isIE&&Ext.EventManager.useKeydown)this.scope.fireKey(b);return c}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){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(!isNaN(a)&&this.isVisible()&&this.list)this.doResize(a);else this.bufferSize=a},doResize:function(b){if(!Ext.isDefined(this.listWidth)){var a=Math.max(b,this.minListWidth);this.list.setWidth(a);this.innerList.setWidth(a-this.list.getFrameWidth("lr"))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField)this.hiddenField.disabled=false},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField)this.hiddenField.disabled=true},onBeforeLoad:function(){if(!this.hasFocus)return;this.innerList.update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+"</div>":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus)return;if(this.store.getCount()>0||this.listEmptyText){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable)this.el.dom.select();if(this.autoSelect!==false&&!this.selectByValue(this.value,true))this.select(0,true)}else{if(this.autoSelect!==false)this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE)this.taTask.delay(this.typeAheadDelay)}}else this.collapse()},onTypeAhead:function(){if(this.store.getCount()>0){var d=this.store.getAt(0),a=d.data[this.displayField],c=a.length,b=this.getRawValue().length;if(b!=c){this.setRawValue(a);this.selectText(b,a.length)}}},assertValue:function(){var a=this.getRawValue(),b=this.findRecord(this.displayField,a);if(!b&&this.forceSelection)if(a.length>0&&a!=this.emptyText){this.el.dom.value=Ext.value(this.lastSelectionText,"");this.applyEmptyText()}else this.clearValue();else{if(b){if(a==b.get(this.displayField)&&this.value==b.get(this.valueField))return;a=b.get(this.valueField||this.displayField)}this.setValue(a)}},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(a){var b=a;if(this.valueField){var c=this.findRecord(this.valueField,a);if(c)b=c.data[this.displayField];else if(Ext.isDefined(this.valueNotFoundText))b=this.valueNotFoundText}this.lastSelectionText=b;if(this.hiddenField)this.hiddenField.value=Ext.value(a,"");Ext.form.ComboBox.superclass.setValue.call(this,b);this.value=a;return this},findRecord:function(c,b){var a;if(this.store.getCount()>0)this.store.each(function(d){if(d.data[c]==b){a=d;return false}});return a},onViewMove:function(){this.inKeyMode=false},onViewOver:function(d,c){if(this.inKeyMode)return;var a=this.view.findItemFromChild(c);if(a){var b=this.view.indexOf(a);this.select(b,false)}},onViewClick:function(c){var a=this.view.getSelectedIndexes()[0],d=this.store,b=d.getAt(a);if(b)this.onSelect(b,a);else this.collapse();if(c!==false)this.el.focus()},restrictHeight:function(){this.innerList.dom.style.height="";var b=this.innerList.dom,d=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight,a=Math.max(b.clientHeight,b.offsetHeight,b.scrollHeight),c=this.getPosition()[1]-Ext.getBody().getScroll().top,f=Ext.lib.Dom.getViewHeight()-c-this.getSize().height,e=Math.max(c,f,this.minHeight||0)-this.list.shadowOffset-d-5;a=Math.min(a,e,this.maxHeight);this.innerList.setHeight(a);this.list.beginUpdate();this.list.setHeight(a+d);this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.endUpdate()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(a,c){if(!Ext.isEmpty(a,true)){var b=this.findRecord(this.valueField||this.displayField,a);if(b){this.select(this.store.indexOf(b),c);return true}}return false},select:function(a,c){this.selectedIndex=a;this.view.select(a);if(c!==false){var b=this.view.getNode(a);if(b)this.innerList.scrollChildIntoView(b,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(a){var b=a.getKey();if(this.editable!==false&&this.readOnly!==true&&(b==a.BACKSPACE||!a.isSpecialKey())){this.lastKey=b;this.dqTask.delay(this.queryDelay)}Ext.form.ComboBox.superclass.onKeyUp.call(this,a)},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},beforeBlur:function(){this.assertValue()},postBlur:function(){Ext.form.ComboBox.superclass.postBlur.call(this);this.collapse();this.inKeyMode=false},doQuery:function(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(){var a={},b=this.store.paramNames;if(this.pageSize){a[b.start]=0;a[b.limit]=this.pageSize}return a},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(!this.isDestroyed&&!a.within(this.wrap)&&!a.within(this.list))this.collapse()},expand:function(){if(this.isExpanded()||!this.hasFocus)return;if(this.title||this.pageSize){this.assetHeight=0;if(this.title)this.assetHeight+=this.header.getHeight();if(this.pageSize)this.assetHeight+=this.footer.getHeight()}if(this.bufferSize){this.doResize(this.bufferSize);delete this.bufferSize}this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.setZIndex(this.getZIndex());this.list.show();if(Ext.isGecko2)this.innerList.setOverflow("auto");this.mon(Ext.getDoc(),{scope:this,mousewheel:this.collapseIf,mousedown:this.collapseIf});this.fireEvent("expand",this)},onTriggerClick:function(){if(this.readOnly||this.disabled)return;if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all")this.doQuery(this.allQuery,true);else this.doQuery(this.getRawValue());this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{focusClass:undefined,fieldClass:"x-form-field",checked:false,boxLabel:"&#160;",defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},actionMode:"wrap",initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents("check")},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&&!this.fieldLabel)this.el.alignTo(this.wrap,"c-c")},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.mon(this.el,{scope:this,click:this.onClick,change:this.onClick})},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,onRender:function(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&&!Ext.isStrict)this.wrap.repaint();this.resizeEl=this.positionEl=this.wrap},onDestroy:function(){Ext.destroy(this.wrap);Ext.form.Checkbox.superclass.onDestroy.call(this)},initValue:function(){this.originalValue=this.getValue()},getValue:function(){if(this.rendered)return this.el.dom.checked;return this.checked},onClick:function(){if(this.el.dom.checked!=this.checked)this.setValue(this.el.dom.checked)},setValue:function(a){var c=this.checked,b=this.inputValue;this.checked=a===true||a==="true"||a=="1"||(b?a==b:String(a).toLowerCase()=="on");if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked}if(c!=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(i,l){if(!this.el){var f={autoEl:{id:this.id},cls:this.groupCls,layout:"column",renderTo:i,bufferResize:false},g={xtype:"container",defaultType:this.defaultType,layout:"form",defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(f,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var a=0,e=this.items.length;a<e;a++)Ext.applyIf(this.items[a],g)}else{var b,d=[];if(typeof this.columns=="string")this.columns=this.items.length;if(!Ext.isArray(this.columns)){var j=[];for(var a=0;a<this.columns;a++)j.push(100/this.columns*.01);this.columns=j}b=this.columns.length;for(var a=0;a<b;a++){var c=Ext.apply({items:[]},g);c[this.columns[a]<=1?"columnWidth":"width"]=this.columns[a];if(this.defaults)c.defaults=Ext.apply(c.defaults||{},this.defaults);d.push(c)}if(this.vertical){var o=Math.ceil(this.items.length/b),k=0;for(var a=0,e=this.items.length;a<e;a++){if(a>0&&a%o==0)k++;if(this.items[a].fieldLabel)this.items[a].hideLabel=false;d[k].items.push(this.items[a])}}else for(var a=0,e=this.items.length;a<e;a++){var n=a%b;if(this.items[a].fieldLabel)this.items[a].hideLabel=false;d[n].items.push(this.items[a])}Ext.apply(f,{layoutConfig:{columns:b},items:d})}this.panel=new Ext.Container(f);this.panel.ownerCt=this;this.el=this.panel.getEl();if(this.forId&&this.itemCls){var h=this.el.up(this.itemCls).child("label",true);if(h)h.setAttribute("htmlFor",this.forId)}var m=this.panel.findBy(function(a){return a.isFormField},this);this.items=new Ext.util.MixedCollection;this.items.addAll(m)}Ext.form.CheckboxGroup.superclass.onRender.call(this,i,l)},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)},getErrors:function(){var b=Ext.form.CheckboxGroup.superclass.getErrors.apply(this,arguments);if(!this.allowBlank){var a=true;this.eachItem(function(b){if(b.checked)return a=false});if(a)b.push(this.blankText)}return b},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},setReadOnly:function(a){if(this.rendered)this.eachItem(function(b){b.setReadOnly(a)});this.readOnly=a},onDisable:function(){this.eachItem(function(a){a.disable()})},onEnable:function(){this.eachItem(function(a){a.enable()})},onResize:function(a,b){this.panel.setSize(a,b);this.panel.doLayout()},reset:function(){if(this.originalValue){this.eachItem(function(a){if(a.setValue){a.setValue(false);a.originalValue=a.getValue()}});this.resetOriginal=true;this.setValue(this.originalValue);delete this.resetOriginal}else 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(a,d){if(arguments.length==1)if(Ext.isArray(a))Ext.each(a,function(a,c){if(Ext.isObject(a)&&a.setValue){a.setValue(true);if(this.resetOriginal===true)a.originalValue=a.getValue()}else{var b=this.items.itemAt(c);if(b)b.setValue(a)}},this);else if(Ext.isObject(a))for(var c in a){var b=this.getBox(c);if(b)b.setValue(a[c])}else this.setValueForItem(a);else{var b=this.getBox(a);if(b)b.setValue(d)}},beforeDestroy:function(){Ext.destroy(this.panel);if(!this.rendered)Ext.destroy(this.items);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(a){var b=null;this.eachItem(function(c){if(a==c||c.dataIndex==a||c.id==a||c.getName()==a){b=c;return false}});return b},getValue:function(){var a=[];this.eachItem(function(b){if(b.checked)a.push(b)});return a},eachItem:function(b,a){if(this.items&&this.items.each)this.items.each(b,a||this)},getRawValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg("checkboxgroup",Ext.form.CheckboxGroup);Ext.form.CompositeField=Ext.extend(Ext.form.Field,{defaultMargins:"0 5 0 0",skipLastItemMargin:true,isComposite:true,combineErrors:true,labelConnector:", ",initComponent:function(){var e=[],c=this.items,b;for(var a=0,d=c.length;a<d;a++){b=c[a];e.push(b.fieldLabel);Ext.applyIf(b,this.defaults);if(!(a==d-1&&this.skipLastItemMargin))Ext.applyIf(b,{margins:this.defaultMargins})}this.fieldLabel=this.fieldLabel||this.buildLabel(e);this.fieldErrors=new Ext.util.MixedCollection(true,function(a){return a.field});this.fieldErrors.on({scope:this,add:this.updateInvalidMark,remove:this.updateInvalidMark,replace:this.updateInvalidMark});Ext.form.CompositeField.superclass.initComponent.apply(this,arguments);this.innerCt=new Ext.Container({layout:"hbox",items:this.items,cls:"x-form-composite",defaultMargins:"0 3 0 0"});var f=this.innerCt.findBy(function(a){return a.isFormField},this);this.items=new Ext.util.MixedCollection;this.items.addAll(f)},onRender:function(c){if(!this.el){var b=this.innerCt;b.render(c);this.el=b.getEl();if(this.combineErrors)this.eachItem(function(a){Ext.apply(a,{markInvalid:this.onFieldMarkInvalid.createDelegate(this,[a],0),clearInvalid:this.onFieldClearInvalid.createDelegate(this,[a],0)})});var a=this.el.parent().parent().child("label",true);if(a)a.setAttribute("for",this.items.items[0].id)}Ext.form.CompositeField.superclass.onRender.apply(this,arguments)},onFieldMarkInvalid:function(a,d){var b=a.getName(),c={field:b,errorName:a.fieldLabel||b,error:d};this.fieldErrors.replace(b,c);a.el.addClass(a.invalidClass)},onFieldClearInvalid:function(a){this.fieldErrors.removeKey(a.getName());a.el.removeClass(a.invalidClass)},updateInvalidMark:function(){var a=Ext.isIE6&&Ext.isStrict;if(this.fieldErrors.length==0){this.clearInvalid();if(a)this.clearInvalid.defer(50,this)}else{var b=this.buildCombinedErrorMessage(this.fieldErrors.items);this.sortErrors();this.markInvalid(b);if(a)this.markInvalid(b)}},validateValue:function(){var a=true;this.eachItem(function(b){if(!b.isValid())a=false});return a},buildCombinedErrorMessage:function(d){var c=[],a;for(var b=0,e=d.length;b<e;b++){a=d[b];c.push(String.format("{0}: {1}",a.errorName,a.error))}return c.join("<br />")},sortErrors:function(){var a=this.items;this.fieldErrors.sort("ASC",function(e,c){var b=function(a){return function(b){return b.getName()==a}},f=a.findIndexBy(b(e.field)),d=a.findIndexBy(b(c.field));return f<d?-1:1})},reset:function(){this.eachItem(function(a){a.reset()});(function(){this.clearInvalid()}).defer(50,this)},clearInvalidChildren:function(){this.eachItem(function(a){a.clearInvalid()})},buildLabel:function(a){return Ext.clean(a).join(this.labelConnector)},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},eachItem:function(b,a){if(this.items&&this.items.each)this.items.each(b,a||this)},onResize:function(c,b){var a=this.innerCt;if(this.rendered&&a.rendered)a.setSize(c,b);Ext.form.CompositeField.superclass.onResize.apply(this,arguments)},doLayout:function(c,b){if(this.rendered){var a=this.innerCt;a.forceLayout=this.ownerCt.forceLayout;a.doLayout(c,b)}},beforeDestroy:function(){Ext.destroy(this.innerCt);Ext.form.CompositeField.superclass.beforeDestroy.call(this)},setReadOnly:function(a){if(a==undefined)a=true;a=!!a;if(this.rendered)this.eachItem(function(b){b.setReadOnly(a)});this.readOnly=a},onShow:function(){Ext.form.CompositeField.superclass.onShow.call(this);this.doLayout()},onDisable:function(){this.eachItem(function(a){a.disable()})},onEnable:function(){this.eachItem(function(a){a.enable()})}});Ext.reg("compositefield",Ext.form.CompositeField);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,getGroupValue:function(){var b=this.el.up("form")||Ext.getBody(),a=b.child("input[name="+this.el.dom.name+"]:checked",true);return a?a.value:null},setValue:function(b){var a,d,c;if(typeof b=="boolean")Ext.form.Radio.superclass.setValue.call(this,b);else if(this.rendered){a=this.getCheckEl();c=a.child("input[name="+this.el.dom.name+"][value="+b+"]",true);if(c)Ext.getCmp(c.id).setValue(true)}if(this.rendered&&this.checked){a=a||this.getCheckEl();d=this.getCheckEl().select("input[name="+this.el.dom.name+"]");d.each(function(a){if(a.dom.id!=this.id)Ext.getCmp(a.dom.id).setValue(false)},this)}return this},getCheckEl:function(){if(this.inGroup)return this.el.up(".x-form-radio-group");return this.el.up("form")||Ext.getBody()}});Ext.reg("radio",Ext.form.Radio);Ext.form.RadioGroup=Ext.extend(Ext.form.CheckboxGroup,{allowBlank:true,blankText:"You must select one item in this group",defaultType:"radio",groupCls:"x-form-radio-group",getValue:function(){var a=null;this.eachItem(function(b){if(b.checked){a=b;return false}});return a},onSetValue:function(b,c){if(arguments.length>1){var a=this.getBox(b);if(a){a.setValue(c);if(a.checked)this.eachItem(function(b){if(b!==a)b.setValue(false)})}}else this.setValueForItem(b)},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",shouldLayout:false,onRender:function(){Ext.form.Hidden.superclass.onRender.apply(this,arguments)},initEvents:function(){this.originalValue=this.getValue()},setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg("hidden",Ext.form.Hidden);Ext.form.BasicForm=Ext.extend(Ext.util.Observable,{constructor:function(a,b){Ext.apply(this,b);if(Ext.isString(this.paramOrder))this.paramOrder=this.paramOrder.split(/[\s,|]/);this.items=new Ext.util.MixedCollection(false,function(a){return a.getItemId()});this.addEvents("beforeaction","actionfailed","actioncomplete");if(a)this.initEl(a);Ext.form.BasicForm.superclass.constructor.call(this)},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(a){if(a!==true){this.items.each(function(a){Ext.destroy(a)});Ext.destroy(this.el)}this.items.clear();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(a,b){if(Ext.isString(a))a=new Ext.form.Action.ACTION_TYPES[a](this,b);if(this.fireEvent("beforeaction",this,a)!==false){this.beforeAction(a);a.run.defer(100,a)}return this},submit:function(a){a=a||{};if(this.standardSubmit){var c=a.clientValidation===false||this.isValid();if(c){var b=this.el.dom;if(this.url&&Ext.isEmpty(b.action))b.action=this.url;b.submit()}return c}var d=String.format("{0}submit",this.api?"direct":"");this.doAction(d,a);return this},load:function(a){var b=String.format("{0}load",this.api?"direct":"");this.doAction(b,a);return this},updateRecord:function(a){a.beginEdit();var b=a.fields;b.each(function(d){var c=this.findField(d.name);if(c){var b=c.getValue();if(b.getGroupValue)b=b.getGroupValue();else if(c.eachItem){b=[];c.eachItem(function(a){b.push(a.getValue())})}a.set(d.name,b)}},this);a.endEdit();return this},loadRecord:function(a){this.setValues(a.data);return this},beforeAction:function(b){this.items.each(function(a){if(a.isFormField&&a.syncValue)a.syncValue()});var a=b.options;if(a.waitMsg)if(this.waitMsgTarget===true)this.el.mask(a.waitMsg,"x-mask-loading");else if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(a.waitMsg,"x-mask-loading")}else Ext.MessageBox.wait(a.waitMsg,a.waitTitle||this.waitTitle)},afterAction:function(b,c){this.activeAction=null;var a=b.options;if(a.waitMsg)if(this.waitMsgTarget===true)this.el.unmask();else if(this.waitMsgTarget)this.waitMsgTarget.unmask();else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}if(c){if(a.reset)this.reset();Ext.callback(a.success,a.scope,[this,b]);this.fireEvent("actioncomplete",this,b)}else{Ext.callback(a.failure,a.scope,[this,b]);this.fireEvent("actionfailed",this,b)}},findField:function(a){var c=this.items.get(a);if(!Ext.isObject(c)){var b=function(d){if(d.isFormField)if(d.dataIndex==a||d.id==a||d.getName()==a){c=d;return false}else if(d.isComposite)return d.items.each(b);else if(d instanceof Ext.form.CheckboxGroup&&d.rendered)return d.eachItem(b)};this.items.each(b)}return c||null},markInvalid:function(a){if(Ext.isArray(a))for(var c=0,g=a.length;c<g;c++){var d=a[c],e=this.findField(d.id);if(e)e.markInvalid(d.msg)}else{var f,b;for(b in a)if(!Ext.isFunction(a[b])&&(f=this.findField(b)))f.markInvalid(a[b])}return this},setValues:function(a){if(Ext.isArray(a))for(var e=0,g=a.length;e<g;e++){var f=a[e],b=this.findField(f.id);if(b){b.setValue(f.value);if(this.trackResetOnLoad)b.originalValue=b.getValue()}}else{var c,d;for(d in a)if(!Ext.isFunction(a[d])&&(c=this.findField(d))){c.setValue(a[d]);if(this.trackResetOnLoad)c.originalValue=c.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(e){var a={},b,c,d;this.items.each(function(f){if(!f.disabled&&(e!==true||f.isDirty())){b=f.getName();c=a[b];d=f.getValue();if(Ext.isDefined(c))if(Ext.isArray(c))a[b].push(d);else a[b]=[c,d];else a[b]=d}});return a},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},cleanDestroyed:function(){this.items.filterBy(function(a){return !!a.isDestroyed}).each(this.remove,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 c=this.form,a=this,b=function(d){if(a.isField(d))c.add(d);else if(d.findBy&&d!=a){a.applySettings(d);if(d.items&&d.items.each)d.items.each(b,this)}};this.items.each(b,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();this.form.destroy(true);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(a){if(!this.destroying)if(this.isField(a))this.form.remove(a);else if(a.findBy){Ext.each(a.findBy(this.isField),this.form.remove,this.form);this.form.cleanDestroyed()}},startMonitoring:function(){if(!this.validTask){this.validTask=new Ext.util.TaskRunner;this.validTask.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){if(this.validTask){this.validTask.stopAll();this.validTask=null}},load:function(){this.form.load.apply(this.form,arguments)},onDisable:function(){Ext.FormPanel.superclass.onDisable.call(this);if(this.form)this.form.items.each(function(){this.disable()})},onEnable:function(){Ext.FormPanel.superclass.onEnable.call(this);if(this.form)this.form.items.each(function(){this.enable()})},bindHandler:function(){var a=true;this.form.items.each(function(b){if(!b.isValid(true)){a=false;return false}});if(this.fbar){var d=this.fbar.items.items;for(var c=0,e=d.length;c<e;c++){var b=d[c];if(b.formBind===true&&b.disabled===a)b.setDisabled(!a)}}this.fireEvent("clientvalidation",this,a)}});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(b,a){if(!this.el){this.el=document.createElement("fieldset");this.el.id=this.id;if(this.title||this.header||this.checkboxToggle)this.el.appendChild(document.createElement("legend")).className=this.baseCls+"-header"}Ext.form.FieldSet.superclass.onRender.call(this,b,a);if(this.checkboxToggle){var c=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};this.checkbox=this.header.insertFirst(c);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");Ext.form.HtmlEditor.superclass.initComponent.call(this)},createFontOptions:function(){var e=[],d=this.fontFamilies,a,c;for(var b=0,f=d.length;b<f;b++){a=d[b];c=a.toLowerCase();e.push('<option value="',c,'" style="font-family:',a,';"',this.defaultFont==c?' selected="true">':">",a,"</option>")}return e.join("")},createToolbar:function(c){var b=[],d=Ext.QuickTips&&Ext.QuickTips.isEnabled();function a(a,b,e){return {itemId:a,cls:"x-btn-icon",iconCls:"x-edit-"+a,enableToggle:b!==false,scope:c,handler:e||c.relayBtnCmd,clickEvent:"mousedown",tooltip:d?c.buttonTips[a]||undefined:undefined,overflowText:c.buttonTips[a].title||undefined,tabIndex:-1}}if(this.enableFont&&!Ext.isSafari2){var e=new Ext.Toolbar.Item({autoEl:{tag:"select",cls:"x-font-select",html:this.createFontOptions()}});b.push(e,"-")}if(this.enableFormat)b.push(a("bold"),a("italic"),a("underline"));if(this.enableFontSize)b.push("-",a("increasefontsize",false,this.adjustFont),a("decreasefontsize",false,this.adjustFont));if(this.enableColors)b.push("-",{itemId:"forecolor",cls:"x-btn-icon",iconCls:"x-edit-forecolor",clickEvent:"mousedown",tooltip:d?c.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(b,a){this.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+a:a);this.deferFocus()}},clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon",iconCls:"x-edit-backcolor",clickEvent:"mousedown",tooltip:d?c.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(b,a){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",a);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+a:a);this.deferFocus()}}},clickEvent:"mousedown"})});if(this.enableAlignments)b.push("-",a("justifyleft"),a("justifycenter"),a("justifyright"));if(!Ext.isSafari2){if(this.enableLinks)b.push("-",a("createlink",false,this.createLink));if(this.enableLists)b.push("-",a("insertorderedlist"),a("insertunorderedlist"));if(this.enableSourceEdit)b.push("-",a("sourceedit",true,function(){this.toggleSourceEdit(!this.sourceEditMode)}))}var f=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild,items:b});if(e){this.fontSelect=e.el;this.mon(this.fontSelect,"change",function(){var a=this.fontSelect.dom.value;this.relayCmd("fontname",a);this.deferFocus()},this)}this.mon(f.el,"click",function(a){a.preventDefault()});this.tb=f;this.tb.doLayout()},onDisable:function(){this.wrap.mask();Ext.form.HtmlEditor.superclass.onDisable.call(this)},onEnable:function(){this.wrap.unmask();Ext.form.HtmlEditor.superclass.onEnable.call(this)},setReadOnly:function(a){Ext.form.HtmlEditor.superclass.setReadOnly.call(this,a);if(this.initialized){if(Ext.isIE)this.getEditorBody().contentEditable=!a;else this.setDesignMode(!a);var b=this.getEditorBody();if(b)b.style.cursor=this.readOnly?"default":"text";this.disableItems(a)}},getDocMarkup:function(){var a=Ext.fly(this.iframe).getHeight()-this.iframePad*2;return String.format('<html><head><style type="text/css">body{border: 0; margin: 0; padding: {0}px; height: {1}px; cursor: text}</style></head><body></body></html>',this.iframePad,a)},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.tb.doLayout();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.style.overflow="auto";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 a=this.getDoc();this.win=this.getWin();a.open();a.write(this.getDocMarkup());a.close();var b={run:function(){var a=this.getDoc();if(a.body||a.readyState=="complete"){Ext.TaskMgr.stop(b);this.setDesignMode(true);this.initEditor.defer(10,this)}},interval:10,duration:1e4,scope:this};Ext.TaskMgr.start(b)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var a=this.getDoc();if(!a)return;if(!a.editorInitialized||this.getDesignMode()!="on")this.initFrame()}},setDesignMode:function(b){var a=this.getDoc();if(a){if(this.readOnly)b=false;a.designMode=/on|true/i.test(String(b).toLowerCase())?"on":"off"}},getDesignMode:function(){var a=this.getDoc();if(!a)return "";return String(a.designMode).toLowerCase()},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(c,d){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(Ext.isNumber(c)){var b=c-this.wrap.getFrameWidth("lr");this.el.setWidth(b);this.tb.setWidth(b);this.iframe.style.width=Math.max(b,0)+"px"}if(Ext.isNumber(d)){var a=d-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(a);this.iframe.style.height=Math.max(a,0)+"px";var e=this.getEditorBody();if(e)e.style.height=Math.max(a-this.iframePad*2,0)+"px"}}},toggleSourceEdit:function(a){var d,c;if(a===undefined)a=!this.sourceEditMode;this.sourceEditMode=a===true;var b=this.tb.getComponent("sourceedit");if(b.pressed!==this.sourceEditMode){b.toggle(this.sourceEditMode);if(!b.xtbHidden)return}if(this.sourceEditMode){this.previousSize=this.getSize();d=Ext.get(this.iframe).getHeight();this.disableItems(true);this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus();this.el.dom.style.height=d+"px"}else{c=parseInt(this.el.dom.style.height,10);if(this.initialized)this.disableItems(this.readOnly);this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus();this.setSize(this.previousSize);delete this.previousSize;this.iframe.style.height=c+"px"}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 c=this.getEditorBody(),a=c.innerHTML;if(Ext.isWebKit){var d=c.getAttribute("style"),b=d.match(/text-align:(.*?);/i);if(b&&b[1])a='<div style="'+b[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 a=this.el.dom.value;if(!this.activated&&a.length<1)a=this.defaultValue;if(this.fireEvent("beforepush",this,a)!==false){this.getEditorBody().innerHTML=a;if(Ext.isGecko){this.setDesignMode(false);this.setDesignMode(true)}this.fireEvent("push",this,a)}}},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 d=this.getEditorBody(),c=this.el.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),a,b;c["background-attachment"]="fixed";d.bgProperties="fixed";Ext.DomHelper.applyStyles(d,c);a=this.getDoc();if(a)try{Ext.EventManager.removeAll(a)}catch(e){}b=this.onEditorEvent.createDelegate(this);Ext.EventManager.on(a,{mousedown:b,dblclick:b,click:b,keyup:b,buffer:100});if(Ext.isGecko)Ext.EventManager.on(a,"keypress",this.applyCommand,this);if(Ext.isIE||Ext.isWebKit||Ext.isOpera)Ext.EventManager.on(a,"keydown",this.fixKeys,this);a.editorInitialized=true;this.initialized=true;this.pushValue();this.setReadOnly(this.readOnly);this.fireEvent("initialize",this)}catch(e){}},beforeDestroy:function(){if(this.monitorTask)Ext.TaskMgr.stop(this.monitorTask);if(this.rendered){Ext.destroy(this.tb);var a=this.getDoc();if(a)try{Ext.EventManager.removeAll(a);for(var b in a)delete a[b]}catch(c){}if(this.wrap){this.wrap.dom.innerHTML="";this.wrap.remove()}}Ext.form.HtmlEditor.superclass.beforeDestroy.call(this)},onFirstFocus:function(){this.activated=true;this.disableItems(this.readOnly);if(Ext.isGecko){this.win.focus();var a=this.win.getSelection();if(!a.focusNode||a.focusNode.nodeType!=3){var b=a.getRangeAt(0);b.selectNodeContents(this.getEditorBody());b.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(c){}}this.fireEvent("activate",this)},adjustFont:function(c){var b=c.getItemId()=="increasefontsize"?1:-1,d=this.getDoc(),a=parseInt(d.queryCommandValue("FontSize")||2,10);if(Ext.isSafari&&!Ext.isSafari2||Ext.isChrome||Ext.isAir){if(a<=10)a=1+b;else if(a<=13)a=2+b;else if(a<=16)a=3+b;else if(a<=18)a=4+b;else if(a<=24)a=5+b;else a=6+b;a=a.constrain(1,6)}else{if(Ext.isSafari)b*=2;a=Math.max(1,a+b)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",a)},onEditorEvent:function(){this.updateToolbar()},updateToolbar:function(){if(this.readOnly)return;if(!this.activated){this.onFirstFocus();return}var b=this.tb.items.map,a=this.getDoc();if(this.enableFont&&!Ext.isSafari2){var c=(a.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(c!=this.fontSelect.dom.value)this.fontSelect.dom.value=c}if(this.enableFormat){b.bold.toggle(a.queryCommandState("bold"));b.italic.toggle(a.queryCommandState("italic"));b.underline.toggle(a.queryCommandState("underline"))}if(this.enableAlignments){b.justifyleft.toggle(a.queryCommandState("justifyleft"));b.justifycenter.toggle(a.queryCommandState("justifycenter"));b.justifyright.toggle(a.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){b.insertorderedlist.toggle(a.queryCommandState("insertorderedlist"));b.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(b,a){var c=this.getDoc();c.execCommand(b,false,a===undefined?null:a);this.syncValue()},applyCommand:function(c){if(c.ctrlKey){var b=c.getCharCode(),a;if(b>0){b=String.fromCharCode(b);switch(b){case "b":a="bold";break;case "i":a="italic";break;case "u":a="underline"}if(a){this.win.focus();this.execCmd(a);this.deferFocus();c.preventDefault()}}}},insertAtCursor:function(b){if(!this.activated)return;if(Ext.isIE){this.win.focus();var c=this.getDoc(),a=c.selection.createRange();if(a){a.pasteHTML(b);this.syncValue();this.deferFocus()}}else{this.win.focus();this.execCmd("InsertHTML",b);this.deferFocus()}},fixKeys:function(){if(Ext.isIE)return function(b){var c=b.getKey(),e=this.getDoc(),a;if(c==b.TAB){b.stopEvent();a=e.selection.createRange();if(a){a.collapse(true);a.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else if(c==b.ENTER){a=e.selection.createRange();if(a){var d=a.parentElement();if(!d||d.tagName.toLowerCase()!="li"){b.stopEvent();a.pasteHTML("<br />");a.collapse(false);a.select()}}}};else if(Ext.isOpera)return function(a){var b=a.getKey();if(b==a.TAB){a.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}};else if(Ext.isWebKit)return function(a){var b=a.getKey();if(b==a.TAB){a.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}else if(b==a.ENTER){a.stopEvent();this.execCmd("InsertHtml","<br /><br />");this.deferFocus()}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:undefined,maxValue:undefined,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initDateFormat:"j/n/Y",initComponent:function(){if(Ext.isDefined(this.minValue))this.setMinValue(this.minValue,true);if(Ext.isDefined(this.maxValue))this.setMaxValue(this.maxValue,true);if(!this.store)this.generateStore(true);Ext.form.TimeField.superclass.initComponent.call(this)},setMinValue:function(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(b,e,d){var a;if(Ext.isString(b))a=this.parseDate(b);else if(Ext.isDate(b))a=b;if(a){var c=(new Date(this.initDate)).clearTime();c.setHours(a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds());this[e?"minValue":"maxValue"]=c;if(!d)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,formatDate:Ext.form.DateField.prototype.formatDate,parseDate:function(a){if(!a||Ext.isDate(a))return a;var g=this.initDate+" ",f=this.initDateFormat+" ",b=Date.parseDate(g+a,f+this.format),d=this.altFormats;if(!b&&d){if(!this.altFormatsArray)this.altFormatsArray=d.split("|");for(var c=0,e=this.altFormatsArray,h=e.length;c<h&&!b;c++)b=Date.parseDate(g+a,f+e[c])}return b}});Ext.reg("timefield",Ext.form.TimeField);Ext.form.SliderField=Ext.extend(Ext.form.Field,{useTips:true,tipText:null,actionMode:"wrap",initComponent:function(){var a=Ext.copyTo({id:this.id+"-slider"},this.initialConfig,["vertical","minValue","maxValue","decimalPrecision","keyIncrement","increment","clickToChange","animate"]);if(this.useTips){var b=this.tipText?{getText:this.tipText}:{};a.plugins=[new Ext.slider.Tip(b)]}this.slider=new Ext.Slider(a);Ext.form.SliderField.superclass.initComponent.call(this)},onRender:function(b,a){this.autoCreate={id:this.id,name:this.name,type:"hidden",tag:"input"};Ext.form.SliderField.superclass.onRender.call(this,b,a);this.wrap=this.el.wrap({cls:"x-form-field-wrap"});this.resizeEl=this.positionEl=this.wrap;this.slider.render(this.wrap)},onResize:function(a,b,d,c){Ext.form.SliderField.superclass.onResize.call(this,a,b,d,c);this.slider.setSize(a,b)},initEvents:function(){Ext.form.SliderField.superclass.initEvents.call(this);this.slider.on("change",this.onChange,this)},onChange:function(b,a){this.setValue(a,undefined,true)},onEnable:function(){Ext.form.SliderField.superclass.onEnable.call(this);this.slider.enable()},onDisable:function(){Ext.form.SliderField.superclass.onDisable.call(this);this.slider.disable()},beforeDestroy:function(){Ext.destroy(this.slider);Ext.form.SliderField.superclass.beforeDestroy.call(this)},alignErrorIcon:function(){this.errorIcon.alignTo(this.slider.el,"tl-tr",[2,0])},setMinValue:function(a){this.slider.setMinValue(a);return this},setMaxValue:function(a){this.slider.setMaxValue(a);return this},setValue:function(c,b,a){if(!a)this.slider.setValue(c,b);return Ext.form.SliderField.superclass.setValue.call(this,this.slider.getValue())},getValue:function(){return this.slider.getValue()}});Ext.reg("sliderfield",Ext.form.SliderField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(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(a,b){var c=b===false;this[!c?"text":"html"]=a;delete this[c?"text":"html"];if(this.rendered)this.el.dom.innerHTML=b!==false?Ext.util.Format.htmlEncode(a):a;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(){},success:function(){},handleResponse:function(){},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(c){var a=this.options.url||this.form.url||this.form.el.dom.action;if(c){var b=this.getParams();if(b)a=Ext.urlAppend(a,b)}return a},getMethod:function(){return (this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var b=this.form.baseParams,a=this.options.params;if(a){if(typeof a=="object")a=Ext.urlEncode(Ext.applyIf(a,b));else if(typeof a=="string"&&b)a+="&"+Ext.urlEncode(b)}else if(b)a=Ext.urlEncode(b);return a},createCallback:function(a){var a=a||{};return {success:this.success,failure:this.failure,scope:this,timeout:a.timeout*1e3||this.form.timeout*1e3,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 a=this.options,e=this.getMethod(),d=e=="GET";if(a.clientValidation===false||this.form.isValid()){if(a.submitEmptyText===false){var f=this.form.items,c=[],b=function(a){if(a.el.getValue()==a.emptyText){c.push(a);a.el.dom.value=""}if(a.isComposite&&a.rendered)a.items.each(b)};f.each(b)}Ext.Ajax.request(Ext.apply(this.createCallback(a),{form:this.form.el.dom,url:this.getUrl(d),method:e,headers:a.headers,params:!d?this.getParams():null,isUpload:this.form.fileUpload}));if(a.submitEmptyText===false)Ext.each(c,function(a){if(a.applyEmptyText)a.applyEmptyText()})}else if(a.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(d){if(this.form.errorReader){var a=this.form.errorReader.read(d),c=[];if(a.records)for(var b=0,e=a.records.length;b<e;b++){var f=a.records[b];c[b]=f.data}if(c.length<1)c=null;return {success:a.success,errors:c}}return Ext.decode(d.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(b){if(this.form.reader){var a=this.form.reader.read(b),c=a.records&&a.records[0]?a.records[0].data:null;return {success:a.success,data:c}}return Ext.decode(b.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 b=[],d={},f=this.form.baseParams,g=this.options.params;Ext.apply(d,g,f);var a=this.form.paramOrder;if(a)for(var c=0,e=a.length;c<e;c++)b.push(d[a[c]]);else if(this.form.paramsAsHash)b.push(d);return b},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={},b=this.form.baseParams,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 c=/^[a-zA-Z_]+$/,d=/^[a-zA-Z0-9_]+$/,b=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,a=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return {email:function(a){return b.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(b){return a.test(b)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return c.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return d.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{autoExpandColumn:false,autoExpandMax:1e3,autoExpandMin:50,columnLines:false,ddText:"{0} selected row{1}",deferRowRender:true,enableColumnHide:true,enableColumnMove:true,enableDragDrop:false,enableHdMenu:true,loadMask:false,minColumnWidth:25,stripeRows:false,trackMouseOver:true,stateEvents:["columnmove","columnresize","sortchange","groupchange"],view:null,bubbleEvents:[],rendered:false,viewReady:false,initComponent:function(){Ext.grid.GridPanel.superclass.initComponent.call(this);if(this.columnLines)this.cls=(this.cls||"")+" x-grid-with-col-lines";this.autoScroll=false;this.autoWidth=false;if(Ext.isArray(this.columns)){this.colModel=new Ext.grid.ColumnModel(this.columns);delete this.columns}if(this.ds){this.store=this.ds;delete this.ds}if(this.cm){this.colModel=this.cm;delete this.cm}if(this.sm){this.selModel=this.sm;delete this.sm}this.store=Ext.StoreMgr.lookup(this.store);this.addEvents("click","dblclick","contextmenu","mousedown","mouseup","mouseover","mouseout","keypress","keydown","cellmousedown","rowmousedown","headermousedown","groupmousedown","rowbodymousedown","containermousedown","cellclick","celldblclick","rowclick","rowdblclick","headerclick","headerdblclick","groupclick","groupdblclick","containerclick","containerdblclick","rowbodyclick","rowbodydblclick","rowcontextmenu","cellcontextmenu","headercontextmenu","groupcontextmenu","containercontextmenu","rowbodycontextmenu","bodyscroll","columnresize","columnmove","sortchange","groupchange","reconfigure","viewready")},onRender:function(){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 a=this.getView();a.init(this);a.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(d){var e=this.colModel,g=d.columns,b=this.store,a,i,h;if(g)for(var c=0,j=g.length;c<j;c++){a=g[c];i=e.getColumnById(a.id);if(i){e.setState(a.id,{hidden:a.hidden,width:a.width});h=e.getIndexById(a.id);if(h!=c)e.moveColumn(h,c)}}if(b){a=d.sort;if(a)b[b.remoteSort?"setDefaultSort":"sort"](a.field,a.direction);a=d.group;if(b.groupBy)if(a)b.groupBy(a);else b.clearGrouping()}var f=Ext.apply({},d);delete f.columns;delete f.sort;Ext.grid.GridPanel.superclass.applyState.call(this,f)},getState:function(){var a={columns:[]},b=this.store,f,e;for(var c=0,d;d=this.colModel.config[c];c++){a.columns[c]={id:d.id,width:d.width};if(d.hidden)a.columns[c].hidden=true}if(b){f=b.getSortState();if(f)a.sort=f;if(b.getGroupState){e=b.getGroupState();if(e)a.group=e}}return a},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.call(this);var a=this.view;this.on("bodyresize",a.layout,a);a.layout(true);if(this.deferRowRender){if(!this.deferRowRenderTask)this.deferRowRenderTask=new Ext.util.DelayedTask(a.afterRender,this.view);this.deferRowRenderTask.delay(10)}else a.afterRender();this.viewReady=true},reconfigure:function(a,b){var c=this.rendered;if(c)if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({},{store:a},this.initialConfig.loadMask))}if(this.view)this.view.initData(a,b);this.store=a;this.colModel=b;if(c)this.view.refresh(true);this.fireEvent("reconfigure",this,a,b)},onDestroy:function(){if(this.deferRowRenderTask&&this.deferRowRenderTask.cancel)this.deferRowRenderTask.cancel();if(this.rendered)Ext.destroy(this.view,this.loadMask);else if(this.store&&this.store.autoDestroy)this.store.destroy();Ext.destroy(this.colModel,this.selModel);this.store=this.selModel=this.colModel=this.view=this.loadMask=null;Ext.grid.GridPanel.superclass.onDestroy.call(this)},processEvent:function(a,b){this.view.processEvent(a,b)},onClick:function(a){this.processEvent("click",a)},onMouseDown:function(a){this.processEvent("mousedown",a)},onContextMenu:function(a){this.processEvent("contextmenu",a)},onDblClick:function(a){this.processEvent("dblclick",a)},walkCells:function(b,a,i,f,g){var e=this.colModel,d=e.getColumnCount(),h=this.store,j=h.getCount(),c=true;if(i<0){if(a<0){b--;c=false}while(b>=0){if(!c)a=d-1;c=false;while(a>=0){if(f.call(g||this,b,a,e)===true)return [b,a];a--}b--}}else{if(a>=d){b++;c=false}while(b<j){if(!c)a=0;c=false;while(a<d){if(f.call(g||this,b,a,e)===true)return [b,a];a++}b++}}return null},getGridEl:function(){return this.body},stopEditing:Ext.emptyFn,getSelectionModel:function(){if(!this.selModel)this.selModel=new Ext.grid.RowSelectionModel(this.disableSelection?{selectRow:Ext.emptyFn}:null);return this.selModel},getStore:function(){return this.store},getColumnModel:function(){return this.colModel},getView:function(){if(!this.view)this.view=new Ext.grid.GridView(this.viewConfig);return this.view},getDragDropText:function(){var a=this.selModel.getCount();return String.format(this.ddText,a,a==1?"":"s")}});Ext.reg("grid",Ext.grid.GridPanel);Ext.grid.PivotGrid=Ext.extend(Ext.grid.GridPanel,{aggregator:"sum",renderer:undefined,initComponent:function(){Ext.grid.PivotGrid.superclass.initComponent.apply(this,arguments);this.initAxes();this.enableColumnResize=false;this.viewConfig=Ext.apply(this.viewConfig||{},{forceFit:true});this.colModel=new Ext.grid.ColumnModel({})},getAggregator:function(){if(typeof this.aggregator=="string")return Ext.grid.PivotAggregatorMgr.types[this.aggregator];else return this.aggregator},setAggregator:function(a){this.aggregator=a},setMeasure:function(a){this.measure=a},setLeftAxis:function(b,a){this.leftAxis=b;if(a)this.view.refresh()},setTopAxis:function(b,a){this.topAxis=b;if(a)this.view.refresh()},initAxes:function(){var a=Ext.grid.PivotAxis;if(!(this.leftAxis instanceof a))this.setLeftAxis(new a({orientation:"vertical",dimensions:this.leftAxis||[],store:this.store}));if(!(this.topAxis instanceof a))this.setTopAxis(new a({orientation:"horizontal",dimensions:this.topAxis||[],store:this.store}))},extractData:function(){var f=this.store.data.items,k=f.length,c=[],e,b,a,d;if(k==0)return [];var g=this.leftAxis.getTuples(),o=g.length,h=this.topAxis.getTuples(),l=h.length,m=this.getAggregator();for(b=0;b<k;b++){e=f[b];for(a=0;a<o;a++){c[a]=c[a]||[];if(g[a].matcher(e)===true)for(d=0;d<l;d++){c[a][d]=c[a][d]||[];if(h[d].matcher(e))c[a][d].push(e)}}}var n=c.length,i,j;for(b=0;b<n;b++){j=c[b];i=j.length;for(a=0;a<i;a++)c[b][a]=m(c[b][a],this.measure)}return c},getView:function(){if(!this.view)this.view=new Ext.grid.PivotGridView(this.viewConfig);return this.view}});Ext.reg("pivotgrid",Ext.grid.PivotGrid);Ext.grid.PivotAggregatorMgr=new Ext.AbstractManager;Ext.grid.PivotAggregatorMgr.registerType("sum",function(b,d){var e=b.length,c=0,a;for(a=0;a<e;a++)c+=b[a].get(d);return c});Ext.grid.PivotAggregatorMgr.registerType("avg",function(b,e){var d=b.length,c=0,a;for(a=0;a<d;a++)c+=b[a].get(e);return c/d||"n/a"});Ext.grid.PivotAggregatorMgr.registerType("min",function(b,d){var c=[],e=b.length,a;for(a=0;a<e;a++)c.push(b[a].get(d));return Math.min.apply(this,c)||"n/a"});Ext.grid.PivotAggregatorMgr.registerType("max",function(b,d){var c=[],e=b.length,a;for(a=0;a<e;a++)c.push(b[a].get(d));return Math.max.apply(this,c)||"n/a"});Ext.grid.PivotAggregatorMgr.registerType("count",function(a){return a.length});Ext.grid.GridView=Ext.extend(Ext.util.Observable,{deferEmptyText:true,scrollOffset:undefined,autoFill:false,forceFit:false,sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",columnsText:"Columns",selectedRowClass:"x-grid3-row-selected",borderWidth:2,tdClass:"x-grid3-cell",hdCls:"x-grid3-hd",markDirty:true,cellSelectorDepth:4,rowSelectorDepth:10,rowBodySelectorDepth:10,cellSelector:"td.x-grid3-cell",rowSelector:"div.x-grid3-row",rowBodySelector:"div.x-grid3-row-body",firstRowCls:"x-grid3-row-first",lastRowCls:"x-grid3-row-last",rowClsRe:/(?:^|\s+)x-grid3-row-(first|last|alt)(?:\s+|$)/g,headerMenuOpenCls:"x-grid3-hd-menu-open",rowOverCls:"x-grid3-row-over",constructor:function(a){Ext.apply(this,a);this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");Ext.grid.GridView.superclass.constructor.call(this)},masterTpl:new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header">','<div class="x-grid3-header-inner">','<div class="x-grid3-header-offset" style="{ostyle}">{header}</div>',"</div>",'<div class="x-clear"></div>',"</div>",'<div class="x-grid3-scroller">','<div class="x-grid3-body" style="{bstyle}">{body}</div>','<a href="#" class="x-grid3-focus" tabIndex="-1"></a>',"</div>","</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>"),headerTpl:new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<thead>",'<tr class="x-grid3-hd-row">{cells}</tr>',"</thead>","</table>"),bodyTpl:new Ext.Template("{rows}"),cellTpl:new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',"</td>"),initTemplates:function(){var b=this.templates||{},a,c,f=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}" style="{style}">','<div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"","{value}",'<img alt="" class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div>","</td>"),e=['<tr class="x-grid3-row-body-tr" style="{bodyStyle}">','<td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on">','<div class="x-grid3-row-body">{body}</div>',"</td>","</tr>"].join(""),d=['<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody>","<tr>{cells}</tr>",this.enableRowBody?e:"","</tbody>","</table>"].join("");Ext.applyIf(b,{hcell:f,cell:this.cellTpl,body:this.bodyTpl,header:this.headerTpl,master:this.masterTpl,row:new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}">'+d+"</div>"),rowInner:new Ext.Template(d)});for(c in b){a=b[c];if(a&&Ext.isFunction(a.compile)&&!a.compiled){a.disableFormats=true;a.compile()}}this.templates=b;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,c=Ext.get(this.grid.getGridEl().dom.firstChild),e=new a(c.child("div.x-grid3-viewport")),d=new a(e.child("div.x-grid3-header")),b=new a(e.child("div.x-grid3-scroller"));if(this.grid.hideHeaders)d.setDisplayed(false);if(this.forceFit)b.setStyle("overflow-x","hidden");Ext.apply(this,{el:c,mainWrap:e,scroller:b,mainHd:d,innerHd:d.child("div.x-grid3-header-inner").dom,mainBody:new a(a.fly(b).child("div.x-grid3-body")),focusEl:new a(a.fly(b).child("a")),resizeMarker:new a(c.child("div.x-grid3-resize-marker")),resizeProxy:new a(c.child("div.x-grid3-resize-proxy"))});this.focusEl.swallowEvent("click",true)},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(d,c){var a=this.findCell(d),b;if(a){b=this.fly(a).hasClass(c);if(!c||b)return this.getCellIndex(a)}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(b){var a=this.findRow(b);return a?a.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 Ext.fly(this.getRow(b)).query(this.cellSelector)[a]},getHeaderCell:function(a){return this.mainHd.dom.getElementsByTagName("td")[a]},addRowClass:function(c,b){var a=this.getRow(c);if(a)this.fly(a).addClass(b)},removeRowClass:function(c,b){var a=this.getRow(c);if(a)this.fly(a).removeClass(b)},removeRow:function(a){Ext.removeNode(this.getRow(a));this.syncFocusEl(a)},removeRows:function(a,c){var d=this.mainBody.dom,b;for(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(){var a=this.scroller.dom;a.scrollTop=0;a.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var a=this.scroller.dom;this.grid.fireEvent("bodyscroll",a.scrollLeft,a.scrollTop)},syncHeaderScroll:function(){var a=this.innerHd,b=this.scroller.dom.scrollLeft;a.scrollLeft=b;a.scrollLeft=b},updateSortIcon:function(d,c){var a=this.sortClasses,b=a[c=="DESC"?1:0],e=this.mainHd.select("td").removeClass(a);e.item(d).addClass(b)},updateAllColumnWidths:function(){var e=this.getTotalWidth(),h=this.cm.getColumnCount(),i=this.getRows(),j=i.length,d=[],f,c,g,a,b;for(a=0;a<h;a++){d[a]=this.getColumnWidth(a);this.getHeaderCell(a).style.width=d[a]}this.updateHeaderWidth();for(a=0;a<j;a++){f=i[a];f.style.width=e;c=f.firstChild;if(c){c.style.width=e;g=c.rows[0];for(b=0;b<h;b++)g.childNodes[b].style.width=d[b]}}this.onAllColumnWidthsUpdated(d,e)},updateColumnWidth:function(a){var d=this.getColumnWidth(a),e=this.getTotalWidth(),i=this.getHeaderCell(a),g=this.getRows(),h=g.length,f,b,c;this.updateHeaderWidth();i.style.width=d;for(b=0;b<h;b++){f=g[b];c=f.firstChild;f.style.width=e;if(c){c.style.width=e;c.rows[0].childNodes[a].style.width=d}}this.onColumnWidthUpdated(a,d,e)},updateColumnHidden:function(c,g){var d=this.getTotalWidth(),h=g?"none":"",j=this.getHeaderCell(c),f=this.getRows(),i=f.length,e,a,b;this.updateHeaderWidth();j.style.display=h;for(b=0;b<i;b++){e=f[b];e.style.width=d;a=e.firstChild;if(a){a.style.width=d;a.rows[0].childNodes[c].style.display=h}}this.onColumnHiddenUpdated(c,g,d);delete this.lastViewWidth;this.layout()},doRender:function(r,n,m,o,k,t){var l=this.templates,q=l.cell,v=l.row,s=k-1,p="width:"+this.getTotalWidth()+";",j=[],h=[],e={tstyle:p},a={},u=n.length,g,c,b,d,f,i;for(f=0;f<u;f++){b=n[f];h=[];i=f+o;for(d=0;d<k;d++){c=r[d];a.id=c.id;a.css=d===0?"x-grid3-cell-first ":d==s?"x-grid3-cell-last ":"";a.attr=a.cellAttr="";a.style=c.style;a.value=c.renderer.call(c.scope,b.data[c.name],a,b,i,d,m);if(Ext.isEmpty(a.value))a.value="&#160;";if(this.markDirty&&b.dirty&&typeof b.modified[c.name]!="undefined")a.css+=" x-grid3-dirty-cell";h[h.length]=q.apply(a)}g=[];if(t&&(i+1)%2===0)g[0]="x-grid3-row-alt";if(b.dirty)g[1]=" x-grid3-dirty-row";e.cols=k;if(this.getRowClass)g[2]=this.getRowClass(b,i,e,m);e.alt=g.join(" ");e.cells=h.join("");j[j.length]=v.apply(e)}return j.join("")},processRows:function(d,e){if(!this.ds||this.ds.getCount()<1)return;var c=this.getRows(),f=c.length,b,a;e=e||!this.grid.stripeRows;d=d||0;for(a=0;a<f;a++){b=c[a];if(b){b.rowIndex=a;if(!e){b.className=b.className.replace(this.rowClsRe," ");if((a+1)%2===0)b.className+=" x-grid3-row-alt"}}}if(d===0)Ext.fly(c[0]).addClass(this.firstRowCls);Ext.fly(c[f-1]).addClass(this.lastRowCls)},afterRender:function(){if(!this.ds||!this.cm)return;this.mainBody.dom.innerHTML=this.renderBody()||"&#160;";this.processRows(0,true);if(this.deferEmptyText!==true)this.applyEmptyText();this.grid.fireEvent("viewready",this.grid)},afterRenderUI:function(){var a=this.grid;this.initElements();Ext.fly(this.innerHd).on("click",this.handleHdDown,this);this.mainHd.on({scope:this,mouseover:this.handleHdOver,mouseout:this.handleHdOut,mousemove:this.handleHdMove});this.scroller.on("scroll",this.syncScroll,this);if(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()},renderUI:function(){var a=this.templates;return a.master.apply({body:a.body.apply({rows:"&#160;"}),header:this.renderHeaders(),ostyle:"width:"+this.getOffsetWidth()+";",bstyle:"width:"+this.getTotalWidth()+";"})},processEvent:function(c,b){var g=b.getTarget(),a=this.grid,h=this.findHeaderIndex(g),d,e,f,i;a.fireEvent(c,b);if(h!==false)a.fireEvent("header"+c,a,h,b);else{d=this.findRowIndex(g);if(d!==false){e=this.findCellIndex(g);if(e!==false){f=a.colModel.getColumnAt(e);if(a.fireEvent("cell"+c,a,d,e,b)!==false)if(!f||f.processEvent&&f.processEvent(c,b,a,d,e)!==false)a.fireEvent("row"+c,a,d,b)}else if(a.fireEvent("row"+c,a,d,b)!==false)(i=this.findRowBody(g))&&a.fireEvent("rowbody"+c,a,d,b)}else a.fireEvent("container"+c,a,b)}},layout:function(j){if(!this.mainBody)return;var e=this.grid,i=e.getGridEl(),f=i.getSize(true),a=f.width,b=f.height,h=this.scroller,c,g,d;if(a<20||b<20)return;if(e.autoHeight){c=h.dom.style;c.overflow="visible";if(Ext.isWebKit)c.position="static"}else{this.el.setSize(a,b);g=this.mainHd.getHeight();d=b-g;h.setSize(a,d);if(this.innerHd)this.innerHd.style.width=a+"px"}if(this.forceFit||j===true&&this.autoFill){if(this.lastViewWidth!=a){this.fitColumns(false,false);this.lastViewWidth=a}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(a,d)},onLayout:function(){},onColumnWidthUpdated:function(){},onAllColumnWidthsUpdated:function(){},onColumnHiddenUpdated:function(){},updateColumnText:function(){},afterMove:function(){},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 c=this.cm,e=this.templates,h=e.hcell,b={},f=c.getColumnCount(),i=f-1,g=[],a,d;for(a=0;a<f;a++){if(a==0)d="x-grid3-cell-first ";else d=a==i?"x-grid3-cell-last ":"";b={id:c.getColumnId(a),value:c.getColumnHeader(a)||"",style:this.getColumnStyle(a,true),css:d,tooltip:this.getColumnTooltip(a)};if(c.config[a].align=="right")b.istyle="padding-right: 16px;";else delete b.istyle;g[a]=h.apply(b)}return e.header.apply({cells:g.join(""),tstyle:String.format("width: {0};",this.getTotalWidth())})},getColumnTooltip:function(b){var a=this.cm.getColumnTooltip(b);if(a)if(Ext.QuickTips.isEnabled())return 'ext:qtip="'+a+'"';else return 'title="'+a+'"';return ""},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders();this.updateHeaderWidth(false)},updateHeaderWidth:function(c){var b=this.innerHd.firstChild,a=this.getTotalWidth();b.style.width=this.getOffsetWidth();b.firstChild.style.width=a;if(c!==false)this.mainBody.dom.style.width=a},focusRow:function(a){this.focusCell(a,0,false)},focusCell:function(d,b,c){this.syncFocusEl(this.ensureVisible(d,b,c));var a=this.focusEl;if(Ext.isGecko)a.focus();else a.focus.defer(1,a)},resolveCell:function(b,a,g){if(!Ext.isNumber(b))b=b.rowIndex;if(!this.ds)return null;if(b<0||b>=this.ds.getCount())return null;a=a!==undefined?a:0;var e=this.getRow(b),d=this.cm,f=d.getColumnCount(),c;if(!(g===false&&a===0)){while(a<f&&d.isHidden(a))a++;c=this.getCell(b,a)}return {row:e,cell:c}},getResolvedXY:function(a){if(!a)return null;var b=a.cell,c=a.row;if(b)return Ext.fly(b).getXY();else return [this.el.getX(),Ext.fly(c).getY()]},syncFocusEl:function(a,c,d){var b=a;if(!Ext.isArray(b)){a=Math.min(a,Math.max(0,this.getRows().length-1));if(isNaN(a))return;b=this.getResolvedXY(this.resolveCell(a,c,d))}this.focusEl.setXY(b||this.scroller.getXY())},ensureVisible:function(q,o,h){var c=this.resolveCell(q,o,h);if(!c||!c.row)return null;var l=c.row,i=c.cell,a=this.scroller.dom,b=l,d=0,e=this.el.dom;while(b&&b!=e){d+=b.offsetTop;b=b.offsetParent}d-=this.mainHd.dom.offsetHeight;e=parseInt(a.scrollTop,10);var m=d+l.offsetHeight,g=a.clientHeight,p=e+g;if(d<e)a.scrollTop=d;else if(m>p)a.scrollTop=m-g;if(h!==false){var f=parseInt(i.offsetLeft,10),k=f+i.offsetWidth,j=parseInt(a.scrollLeft,10),n=j+a.clientWidth;if(f<j)a.scrollLeft=f;else if(k>n)a.scrollLeft=k-a.clientWidth}return this.getResolvedXY(c)},insertRows:function(h,a,b,d){var c=h.getCount()-1;if(!d&&a===0&&b>=c){this.fireEvent("beforerowsinserted",this,a,b);this.refresh();this.fireEvent("rowsinserted",this,a,b)}else{if(!d)this.fireEvent("beforerowsinserted",this,a,b);var e=this.renderRows(a,b),g=this.getRow(a);if(g){if(a===0)Ext.fly(this.getRow(0)).removeClass(this.firstRowCls);Ext.DomHelper.insertHtml("beforeBegin",g,e)}else{var f=this.getRow(c-1);if(f)Ext.fly(f).removeClass(this.lastRowCls);Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,e)}if(!d){this.fireEvent("rowsinserted",this,a,b);this.processRows(a)}else if(a===0||a>=c)Ext.fly(this.getRow(a)).addClass(a===0?this.firstRowCls:this.lastRowCls)}this.syncFocusEl(a)},deleteRows:function(c,a,b){if(c.getRowCount()<1)this.refresh();else{this.fireEvent("beforerowsdeleted",this,a,b);this.removeRows(a,b);this.processRows(a);this.fireEvent("rowsdeleted",this,a,b)}},getColumnStyle:function(a,f){var c=this.cm,e=c.config,b=f?"":e[a].css||"",d=e[a].align;b+=String.format("width: {0};",this.getColumnWidth(a));if(c.isHidden(a))b+="display: none; ";if(d)b+=String.format("text-align: {0};",d);return b},getColumnWidth:function(c){var a=this.cm.getColumnWidth(c),b=this.borderWidth;if(Ext.isNumber(a))if(Ext.isBorderBox||Ext.isWebKit&&!Ext.isSafari2)return a+"px";else return Math.max(a-b,0)+"px";else return a},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(o,s,f){var n=this.grid,a=this.cm,g=a.getTotalWidth(false),d=this.getGridInnerWidth(),r=d-g,e=[],l=0,k=0,c,i,b;if(d<20||r===0)return false;var j=a.getColumnCount(true),q=a.getColumnCount(false),h=j-(Ext.isNumber(f)?1:0);if(h===0){h=1;f=undefined}for(b=0;b<q;b++)if(!a.isFixed(b)&&b!==f){c=a.getColumnWidth(b);e.push(b,c);if(!a.isHidden(b)){l=b;k+=c}}i=(d-a.getTotalWidth())/k;while(e.length){c=e.pop();b=e.pop();a.setColumnWidth(b,Math.max(n.minColumnWidth,Math.floor(c+c*i)),true)}g=a.getTotalWidth(false);if(g>d){var m=h==j?l:f,p=Math.max(1,a.getColumnWidth(m)-(g-d));a.setColumnWidth(m,p,true)}if(o!==true)this.updateAllColumnWidths();return true},autoExpand:function(j){var b=this.grid,a=this.cm,g=this.getGridInnerWidth(),f=a.getTotalWidth(false),h=b.autoExpandColumn;if(!this.userResized&&h)if(g!=f){var d=a.getIndexById(h),e=a.getColumnWidth(d),i=g-f+e,c=Math.min(Math.max(i,b.autoExpandMin),b.autoExpandMax);if(e!=c){a.setColumnWidth(d,c,true);if(j!==true)this.updateColumnWidth(d,c)}}},getGridInnerWidth:function(){return this.grid.getGridEl().getWidth(true)-this.getScrollOffset()},getColumnData:function(){var e=[],b=this.cm,f=b.getColumnCount(),d=this.ds.fields,a,c;for(a=0;a<f;a++){c=b.getDataIndex(a);e[a]={name:Ext.isDefined(c)?c:d.get(a)?d.get(a).name:undefined,renderer:b.getRenderer(a),scope:b.getRendererScope(a),id:b.getColumnId(a),style:this.getColumnStyle(a)}}return e},renderRows:function(b,a){var c=this.grid,d=c.store,i=c.stripeRows,g=c.colModel,h=g.getColumnCount(),f=d.getCount(),e;if(f<1)return "";b=b||0;a=Ext.isDefined(a)?a:f-1;e=d.getRange(b,a);return this.doRender(this.getColumnData(),e,d,b,h,i)},renderBody:function(){var a=this.renderRows()||"&#160;";return this.templates.body.apply({rows:a})},refreshRow:function(a){var g=this.ds,j=this.cm.getColumnCount(),m=this.getColumnData(),o=j-1,k=["x-grid3-row"],f={tstyle:String.format("width: {0};",this.getTotalWidth())},l=[],n=this.templates.cell,b,h,d,e,i,c;if(Ext.isNumber(a)){b=a;a=g.getAt(b)}else b=g.indexOf(a);if(!a||b<0)return;for(c=0;c<j;c++){d=m[c];if(c==0)i="x-grid3-cell-first";else i=c==o?"x-grid3-cell-last ":"";e={id:d.id,style:d.style,css:i,attr:"",cellAttr:""};e.value=d.renderer.call(d.scope,a.data[d.name],e,a,b,c,g);if(Ext.isEmpty(e.value))e.value="&#160;";if(this.markDirty&&a.dirty&&typeof a.modified[d.name]!="undefined")e.css+=" x-grid3-dirty-cell";l[c]=n.apply(e)}h=this.getRow(b);h.className="";if(this.grid.stripeRows&&(b+1)%2===0)k.push("x-grid3-row-alt");if(this.getRowClass){f.cols=j;k.push(this.getRowClass(a,b,f,g))}this.fly(h).addClass(k).setStyle(f.tstyle);f.cells=l.join("");h.innerHTML=this.templates.rowInner.apply(f);this.fireEvent("rowupdated",this,b,a)},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 a=this.ds.getSortState();if(!a)return;if(!this.sortState||(this.sortState.field!=a.field||this.sortState.direction!=a.direction))this.grid.fireEvent("sortchange",this.grid,a);this.sortState=a;var b=this.cm.findColumnIndex(a.field);if(b!=-1){var c=a.direction;this.updateSortIcon(b,c)}},clearHeaderSortState:function(){if(!this.sortState)return;this.grid.fireEvent("sortchange",this.grid,null);this.mainHd.select("td").removeClass(this.sortClasses);delete this.sortState},destroy:function(){var a=this,g=a.grid,h=g.getGridEl(),i=a.dragZone,f=a.splitZone,d=a.columnDrag,b=a.columnDrop,j=a.scrollToTopTask,e,c;if(j&&j.cancel)j.cancel();Ext.destroyMembers(a,"colMenu","hmenu");a.initData(null,null);a.purgeListeners();Ext.fly(a.innerHd).un("click",a.handleHdDown,a);if(g.enableColumnMove){e=d.dragData;c=d.proxy;Ext.destroy(d.el,c.ghost,c.el,b.el,b.proxyTop,b.proxyBottom,e.ddel,e.header);if(c.anim)Ext.destroy(c.anim);delete c.ghost;delete e.ddel;delete e.header;d.destroy();delete Ext.dd.DDM.locationCache[d.id];delete d._domRef;delete b.proxyTop;delete b.proxyBottom;b.destroy();delete Ext.dd.DDM.locationCache["gridHeader"+h.id];delete b._domRef;delete Ext.dd.DDM.ids[b.ddGroup]}if(f){f.destroy();delete f._domRef;delete Ext.dd.DDM.ids["gridSplitters"+h.id]}Ext.fly(a.innerHd).removeAllListeners();Ext.removeNode(a.innerHd);delete a.innerHd;Ext.destroy(a.el,a.mainWrap,a.mainHd,a.scroller,a.mainBody,a.focusEl,a.resizeMarker,a.resizeProxy,a.activeHdBtn,a._flyweight,i,f);delete g.container;if(i)i.destroy();Ext.dd.DDM.currentTarget=null;delete Ext.dd.DDM.locationCache[h.id];Ext.EventManager.removeResizeListener(a.onWindowResize,a)},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.updateHeaderSortState()},this,{single:true})}else if(this.forceFit)this.fitColumns(true,false);else if(this.grid.autoExpandColumn)this.autoExpand(true);this.grid.getGridEl().dom.innerHTML=this.renderUI();this.afterRenderUI()},initData:function(d,e){var a=this;if(a.ds){var b=a.ds;b.un("add",a.onAdd,a);b.un("load",a.onLoad,a);b.un("clear",a.onClear,a);b.un("remove",a.onRemove,a);b.un("update",a.onUpdate,a);b.un("datachanged",a.onDataChange,a);if(b!==d&&b.autoDestroy)b.destroy()}if(d)d.on({scope:a,load:a.onLoad,add:a.onAdd,remove:a.onRemove,update:a.onUpdate,clear:a.onClear,datachanged:a.onDataChange});if(a.cm){var c=a.cm;c.un("configchange",a.onColConfigChange,a);c.un("widthchange",a.onColWidthChange,a);c.un("headerchange",a.onHeaderChange,a);c.un("hiddenchange",a.onHiddenChange,a);c.un("columnmoved",a.onColumnMove,a)}if(e){delete a.lastViewWidth;e.on({scope:a,configchange:a.onColConfigChange,widthchange:a.onColWidthChange,headerchange:a.onHeaderChange,hiddenchange:a.onHiddenChange,columnmoved:a.onColumnMove})}a.ds=d;a.cm=e},onDataChange:function(){this.refresh(true);this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(b,a){this.refreshRow(a)},onAdd:function(c,b,a){this.insertRows(c,a,a+(b.length-1))},onRemove:function(d,b,a,c){if(c!==true)this.fireEvent("beforerowremoved",this,a,b);this.removeRow(a);if(c!==true){this.processRows(a);this.applyEmptyText();this.fireEvent("rowremoved",this,a,b)}},onLoad:function(){if(Ext.isGecko){if(!this.scrollToTopTask)this.scrollToTopTask=new Ext.util.DelayedTask(this.scrollToTop,this);this.scrollToTopTask.delay(1)}else this.scrollToTop()},onColWidthChange:function(c,a,b){this.updateColumnWidth(a,b)},onHeaderChange:function(){this.updateHeaders()},onHiddenChange:function(c,a,b){this.updateColumnHidden(a,b)},onColumnMove:function(c,b,a){this.indexMap=null;this.refresh(true);this.restoreScroll(this.getScrollState());this.afterMove(a);this.grid.fireEvent("columnmove",b,a)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(a){a.on("headerclick",this.onHeaderClick,this)},initEvents:Ext.emptyFn,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=this.findRowIndex(b);if(a!==false)this.addRowClass(a,this.rowOverCls)},onRowOut:function(c,b){var a=this.findRowIndex(b);if(a!==false&&!c.within(this.getRow(a),true))this.removeRowClass(a,this.rowOverCls)},onRowSelect:function(a){this.addRowClass(a,this.selectedRowClass)},onRowDeselect:function(a){this.removeRowClass(a,this.selectedRowClass)},onCellSelect:function(c,b){var a=this.getCell(c,b);if(a)this.fly(a).addClass("x-grid3-cell-selected")},onCellDeselect:function(c,b){var a=this.getCell(c,b);if(a)this.fly(a).removeClass("x-grid3-cell-selected")},handleWheel:function(a){a.stopPropagation()},onColumnSplitterMoved:function(a,b){this.userResized=true;this.grid.colModel.setColumnWidth(a,b,true);if(this.forceFit){this.fitColumns(true,false,a);this.updateAllColumnWidths()}else{this.updateColumnWidth(a,b);this.syncHeaderScroll()}this.grid.fireEvent("columnresize",a,b)},beforeColMenuShow:function(){var b=this.cm,d=b.getColumnCount(),c=this.colMenu,a;c.removeAll();for(a=0;a<d;a++)if(b.config[a].hideable!==false)c.add(new Ext.menu.CheckItem({text:b.getColumnHeader(a),itemId:"col-"+b.getColumnId(a),checked:!b.isHidden(a),disabled:b.config[a].hideable===false,hideOnClick:false}))},handleHdMenuClick:function(c){var a=this.ds,b=this.cm.getDataIndex(this.hdCtxIndex);switch(c.getItemId()){case "asc":a.sort(b,"ASC");break;case "desc":a.sort(b,"DESC");break;default:this.handleHdMenuClickDefault(c)}return true},handleHdMenuClickDefault:function(b){var a=this.cm,d=b.getItemId(),c=a.getIndexById(d.substr(4));if(c!=-1){if(b.checked&&a.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return}a.setHidden(c,b.checked)}},handleHdDown:function(h,c){if(Ext.fly(c).hasClass("x-grid3-hd-btn")){h.stopEvent();var i=this.cm,b=this.findHeaderCell(c),g=this.getCellIndex(b),f=i.isSortable(g),a=this.hmenu,e=a.items,d=this.headerMenuOpenCls;this.hdCtxIndex=g;Ext.fly(b).addClass(d);e.get("asc").setDisabled(!f);e.get("desc").setDisabled(!f);a.on("hide",function(){Ext.fly(b).removeClass(d)},this,{single:true});a.show(c,"tl-bl?")}},handleHdMove:function(l){var e=this.findHeaderCell(this.activeHdRef);if(e&&!this.headersDisabled){var g=this.splitHandleWidth||5,f=this.activeHdRegion,n=e.style,h=this.cm,a="",d=l.getPageX();if(this.grid.enableColumnResize!==false){var b=this.activeHdIndex,c=this.getPreviousVisible(b),m=h.isResizable(b),i=c&&h.isResizable(c),j=d-f.left<=g,k=f.right-d<=(!this.activeHdBtn?g:2);if(j&&i)a=Ext.isAir?"move":Ext.isWebKit?"e-resize":"col-resize";else if(k&&m)a=Ext.isAir?"move":Ext.isWebKit?"w-resize":"col-resize"}n.cursor=a}},getPreviousVisible:function(a){while(a>0){if(!this.cm.isHidden(a-1))return a;a--}return undefined},handleHdOver:function(d,c){var b=this.findHeaderCell(c);if(b&&!this.headersDisabled){var a=this.fly(b);this.activeHdRef=c;this.activeHdIndex=this.getCellIndex(b);this.activeHdRegion=a.getRegion();if(!this.isMenuDisabled(this.activeHdIndex,a)){a.addClass("x-grid3-hd-over");this.activeHdBtn=a.child(".x-grid3-hd-btn");if(this.activeHdBtn)this.activeHdBtn.dom.style.height=b.firstChild.offsetHeight-1+"px"}}},handleHdOut:function(c,b){var a=this.findHeaderCell(b);if(a&&(!Ext.isIE||!c.within(a,true))){this.activeHdRef=null;this.fly(a).removeClass("x-grid3-hd-over");a.style.cursor=""}},isMenuDisabled:function(a){return this.cm.isMenuDisabled(a)},hasRows:function(){var a=this.mainBody.dom.firstChild;return a&&a.nodeType==1&&a.className!="x-grid-empty"},isHideableColumn:function(a){return !a.hidden},bind:function(a,b){this.initData(a,b)}});Ext.grid.GridView.SplitDragZone=Ext.extend(Ext.dd.DDProxy,{constructor: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},b4StartDrag:function(a,e){this.dragHeadersDisabled=this.view.headersDisabled;this.view.headersDisabled=true;var c=this.view.mainWrap.getHeight();this.marker.setHeight(c);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(c);var d=this.cm.getColumnWidth(this.cellIndex),b=Math.max(d-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(b,1e3);this.setYConstraint(0,0);this.minX=a-b;this.maxX=a+1e3;this.startPos=a;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,a,e)},allowHeaderDrag:function(){return true},handleMouseDown:function(c){var b=this.view.findHeaderCell(c.getTarget());if(b&&this.allowHeaderDrag(c)){var i=this.view.fly(b).getXY(),f=i[0],h=c.getXY(),e=h[0],g=b.offsetWidth,a=false;if(e-f<=this.hw)a=-1;else if(f+g-e<=this.hw)a=0;if(a!==false){this.cm=this.grid.colModel;var d=this.view.getCellIndex(b);if(a==-1){if(d+a<0)return;while(this.cm.isHidden(d+a)){--a;if(d+a<0)return}}this.cellIndex=d+a;this.split=b.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(c)}},endDrag:function(e){this.marker.hide();var a=this.view,c=Math.max(this.minX,e.getPageX()),d=c-this.startPos,b=this.dragHeadersDisabled;a.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+d);setTimeout(function(){a.headersDisabled=b},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.PivotGridView=Ext.extend(Ext.grid.GridView,{colHeaderCellCls:"grid-hd-group-cell",title:"",getColumnHeaders:function(){return this.grid.topAxis.buildHeaders()},getRowHeaders:function(){return this.grid.leftAxis.buildHeaders()},renderRows:function(d,f){var g=this.grid,i=g.extractData(),k=i.length,h=this.templates,l=g.renderer,p=typeof l=="function",m=this.getCellCls,q=typeof m=="function",o=h.cell,r=h.row,e=[],a={},n="width:"+this.getGridInnerWidth()+"px;",c,s,b;d=d||0;f=Ext.isDefined(f)?f:k-1;for(b=0;b<k;b++){row=i[b];colCount=row.length;c=[];rowIndex=d+b;for(j=0;j<colCount;j++){cell=row[j];a.css=j===0?"x-grid3-cell-first ":j==colCount-1?"x-grid3-cell-last ":"";a.attr=a.cellAttr="";a.value=cell;if(Ext.isEmpty(a.value))a.value="&#160;";if(p)a.value=l(a.value);if(q)a.css+=m(a.value)+" ";c[c.length]=o.apply(a)}e[e.length]=r.apply({tstyle:n,cols:colCount,cells:c.join(""),alt:""})}return e.join("")},masterTpl:new Ext.Template('<div class="x-grid3 x-pivotgrid" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header">','<div class="x-grid3-header-title"><span>{title}</span></div>','<div class="x-grid3-header-inner">','<div class="x-grid3-header-offset" style="{ostyle}"></div>',"</div>",'<div class="x-clear"></div>',"</div>",'<div class="x-grid3-scroller">','<div class="x-grid3-row-headers"></div>','<div class="x-grid3-body" style="{bstyle}">{body}</div>','<a href="#" class="x-grid3-focus" tabIndex="-1"></a>',"</div>","</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>"),initTemplates:function(){Ext.grid.PivotGridView.superclass.initTemplates.apply(this,arguments);var a=this.templates||{};if(!a.gcell)a.gcell=new Ext.XTemplate('<td class="x-grid3-hd x-grid3-gcell x-grid3-td-{id} ux-grid-hd-group-row-{row} '+this.colHeaderCellCls+'" style="{style}">','<div {tooltip} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"","{value}","</div>","</td>");this.templates=a;this.hrowRe=new RegExp("ux-grid-hd-group-row-(\\d+)","")},initElements:function(){Ext.grid.PivotGridView.superclass.initElements.apply(this,arguments);this.rowHeadersEl=new Ext.Element(this.scroller.child("div.x-grid3-row-headers"));this.headerTitleEl=new Ext.Element(this.mainHd.child("div.x-grid3-header-title"))},getGridInnerWidth:function(){var a=Ext.grid.PivotGridView.superclass.getGridInnerWidth.apply(this,arguments);return a-this.getTotalRowHeaderWidth()},getTotalRowHeaderWidth:function(){var c=this.getRowHeaders(),d=c.length,b=0,a;for(a=0;a<d;a++)b+=c[a].width;return b},getTotalColumnHeaderHeight:function(){return this.getColumnHeaders().length*21},renderUI:function(){var b=this.templates,a=this.getGridInnerWidth();return b.master.apply({body:b.body.apply({rows:"&#160;"}),ostyle:"width:"+a+"px",bstyle:"width:"+a+"px"})},onLayout:function(a){Ext.grid.PivotGridView.superclass.onLayout.apply(this,arguments);var a=this.getGridInnerWidth();this.resizeColumnHeaders(a);this.resizeAllRows(a)},refresh:function(b){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var a=this.renderBody();this.mainBody.update(a).setWidth(this.getGridInnerWidth());if(b===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},renderHeaders:Ext.emptyFn,fitColumns:Ext.emptyFn,resizeColumnHeaders:function(b){var a=this.grid.topAxis;if(a.rendered)a.el.setWidth(b)},resizeRowHeaders:function(){var a=this.getTotalRowHeaderWidth(),b=String.format("margin-left: {0}px;",a);this.rowHeadersEl.setWidth(a);this.mainBody.applyStyles(b);Ext.fly(this.innerHd).applyStyles(b);this.headerTitleEl.setWidth(a);this.headerTitleEl.setHeight(this.getTotalColumnHeaderHeight())},resizeAllRows:function(c){var b=this.getRows(),d=b.length,a;for(a=0;a<d;a++){Ext.fly(b[a]).setWidth(c);Ext.fly(b[a]).child("table").setWidth(c)}},updateHeaders:function(){this.renderGroupRowHeaders();this.renderGroupColumnHeaders()},renderGroupRowHeaders:function(){var a=this.grid.leftAxis;this.resizeRowHeaders();a.rendered=false;a.render(this.rowHeadersEl);this.setTitle(this.title)},setTitle:function(a){this.headerTitleEl.child("span").dom.innerHTML=a},renderGroupColumnHeaders:function(){var a=this.grid.topAxis;a.rendered=false;a.render(this.innerHd.firstChild)},isMenuDisabled:function(){return true}});Ext.grid.PivotAxis=Ext.extend(Ext.Component,{orientation:"horizontal",defaultHeaderWidth:80,paddingWidth:7,setDimensions:function(a){this.dimensions=a},onRender:function(a){var b=this.orientation=="horizontal"?this.renderHorizontalRows():this.renderVerticalRows();this.el=Ext.DomHelper.overwrite(a.dom,{tag:"table",cn:b},true)},renderHorizontalRows:function(){var g=this.buildHeaders(),h=g.length,f=[],d,c,e,b,a;for(b=0;b<h;b++){d=[];c=g[b].items;e=c.length;for(a=0;a<e;a++)d.push({tag:"td",html:c[a].header,colspan:c[a].span});f[b]={tag:"tr",cn:d}}return f},renderVerticalRows:function(){var h=this.buildHeaders(),j=h.length,c=[],i=[],f,d,b,g,a,e;for(a=0;a<j;a++){d=h[a];g=d.width||80;f=d.items.length;for(e=0;e<f;e++){b=d.items[e];c[b.start]=c[b.start]||[];c[b.start].push({tag:"td",html:b.header,rowspan:b.span,width:Ext.isBorderBox?g:g-this.paddingWidth})}}f=c.length;for(a=0;a<f;a++)i[a]={tag:"tr",cn:c[a]};return i},getTuples:function(){var b=new Ext.data.Store({});b.data=this.store.data.clone();b.fields=this.store.fields;var j=[],d=this.dimensions,e=d.length,a;for(a=0;a<e;a++)j.push({field:d[a].dataIndex,direction:d[a].direction||"ASC"});b.sort(j);var h=b.data.items,l=[],i=[],m,c,f,g,k;e=h.length;for(a=0;a<e;a++){f=this.getRecordInfo(h[a]);g=f.data;c="";for(k in g)c+=g[k]+"---";if(l.indexOf(c)==-1){l.push(c);i.push(f)}}b.destroy();return i},getRecordInfo:function(f){var d=this.dimensions,g=d.length,c={},e,b,a;for(a=0;a<g;a++){e=d[a];b=e.dataIndex;c[b]=f.get(b)}var h=function(a){return function(c){for(var b in a)if(c.get(b)!=a[b])return false;return true}};return {data:c,matcher:h(c)}},buildHeaders:function(){var j=this.getTuples(),n=j.length,f=this.dimensions,o=f.length,l=[],k,i,h,e,a,d,m,g,c,b;for(c=0;c<o;c++){dimension=f[c];i=[];a=0;d=0;for(b=0;b<n;b++){k=j[b];m=b==n-1;h=k.data[dimension.dataIndex];g=e!=undefined&&e!=h;if(c>0&&b>0)g=g||k.data[f[c-1].dataIndex]!=j[b-1].data[f[c-1].dataIndex];if(g){i.push({header:e,span:a,start:d});d+=a;a=0}if(m){i.push({header:h,span:a+1,start:d});d+=a;a=0}e=h;a++}l.push({items:i,width:dimension.width||this.defaultHeaderWidth});e=undefined}return l}});Ext.grid.HeaderDragZone=Ext.extend(Ext.dd.DragZone,{maxDragWidth:120,constructor:function(a,c,b){this.grid=a;this.view=a.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,c);if(b){this.setHandleElId(Ext.id(c));this.setOuterHandleElId(Ext.id(b))}this.scroll=false},getDragData:function(c){var b=Ext.lib.Event.getTarget(c),a=this.view.findHeaderCell(b);if(a)return {ddel:a.firstChild,header:a};return false},onInitDrag:function(){this.dragHeadersDisabled=this.view.headersDisabled;this.view.headersDisabled=true;var a=this.dragData.ddel.cloneNode(true);a.id=Ext.id();a.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(a);return true},afterValidDrop:function(){this.completeDrop()},afterInvalidDrop:function(){this.completeDrop()},completeDrop:function(){var a=this.view,b=this.dragHeadersDisabled;setTimeout(function(){a.headersDisabled=b},50)}});Ext.grid.HeaderDropZone=Ext.extend(Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,constructor:function(a){this.grid=a;this.view=a.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,a.getGridEl().dom)},getTargetFromEvent:function(c){var b=Ext.lib.Event.getTarget(c),a=this.view.findCellIndex(b);if(a!==false)return this.view.getHeaderCell(a)},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(h,e,g){var f=Ext.lib.Event.getPageX(g),a=Ext.lib.Dom.getRegion(e.firstChild),b,c,d=a.top+this.proxyOffsets[1];if(a.right-f<=(a.right-a.left)/2){b=a.right+this.view.borderWidth;c="after"}else{b=a.left;c="before"}if(this.grid.colModel.isFixed(this.view.getCellIndex(e)))return false;b+=this.proxyOffsets[0];this.proxyTop.setLeftTop(b,d);this.proxyTop.show();if(!this.bottomOffset)this.bottomOffset=this.view.mainHd.getHeight();this.proxyBottom.setLeftTop(b,d+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return c},onNodeEnter:function(b,d,c,a){if(a.header!=b)this.positionIndicator(a.header,b,c)},onNodeOver:function(c,e,d,b){var a=false;if(b.header!=c)a=this.positionIndicator(b.header,c,d);if(!a){this.proxyTop.hide();this.proxyBottom.hide()}return a?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(c,k,g,f){var d=f.header;if(d!=c){var i=this.grid.colModel,h=Ext.lib.Event.getPageX(g),b=Ext.lib.Dom.getRegion(c.firstChild),j=b.right-h<=(b.right-b.left)/2?"after":"before",e=this.view.getCellIndex(d),a=this.view.getCellIndex(c);if(j=="after")a++;if(e<a)a--;i.moveColumn(e,a);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(){},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(a,b,c){this.grid=a;this.view=a.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,b,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(b));this.setOuterHandleElId(Ext.id(c));this.scroll=false},b4StartDrag:function(a,d){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var c=this.cm.getColumnWidth(this.cellIndex),b=Math.max(c-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(b,1e3);this.setYConstraint(0,0);this.minX=a-b;this.maxX=a+1e3;this.startPos=a;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,a,d)},handleMouseDown:function(c){var b=Ext.EventObject.setEvent(c),a=this.fly(b.getTarget());if(a.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(a.dom);this.split=a.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(c){this.view.headersDisabled=false;var a=Math.max(this.minX,Ext.lib.Event.getPageX(c)),b=a-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+b)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(a,b){this.view=a.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,b);this.scroll=false;this.grid=a;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(b){var d=Ext.lib.Event.getTarget(b),a=this.view.findRowIndex(d);if(a!==false){var c=this.grid.selModel;if(!c.isSelected(a)||b.hasModifier())c.handleMouseDown(this.grid,a,b);return {grid:this.grid,ddel:this.ddel,rowIndex:a,selections:c.getSelections()}}return false},onInitDrag:function(){var a=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(){return false},onEndDrag:function(){},onValidDrop:function(){this.hideProxy()},beforeInvalidDrop:function(){}});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(d,e){var b,a,c;if(!e){delete this.totalWidth;for(b=0,c=this.config.length;b<c;b++){a=this.config[b];if(a.setEditor)a.setEditor(null)}}this.defaults=Ext.apply({width:this.defaultWidth,sortable:this.defaultSortable},this.defaults);this.config=d;this.lookup={};for(b=0,c=d.length;b<c;b++){a=Ext.applyIf(d[b],this.defaults);if(Ext.isEmpty(a.id))a.id=b;if(!a.isColumn){var f=Ext.grid.Column.types[a.xtype||"gridcolumn"];a=new f(a);d[b]=a}this.lookup[a.id]=a}if(!e)this.fireEvent("configchange",this)},getColumnById:function(a){return this.lookup[a]},getIndexById:function(c){for(var a=0,b=this.config.length;a<b;a++)if(this.config[a].id==c)return a;return -1},moveColumn:function(b,c){var a=this.config,d=a[b];a.splice(b,1);a.splice(c,0,d);this.dataMap=null;this.fireEvent("columnmoved",this,b,c)},getColumnCount:function(d){var b=this.config.length,c=0,a;if(d===true){for(a=0;a<b;a++)if(!this.isHidden(a))c++;return c}return b},getColumnsBy:function(f,e){var d=this.config,g=d.length,b=[],a,c;for(a=0;a<g;a++){c=d[a];if(f.call(e||this,c,a)===true)b[b.length]=c}return b},isSortable:function(a){return !!this.config[a].sortable},isMenuDisabled:function(a){return !!this.config[a].menuDisabled},getRenderer:function(a){return this.config[a].renderer||Ext.grid.ColumnModel.defaultRenderer},getRendererScope:function(a){return this.config[a].scope},setRenderer:function(a,b){this.config[a].renderer=b},getColumnWidth:function(b){var a=this.config[b].width;if(typeof a!="number")a=this.defaultWidth;return a},setColumnWidth:function(a,b,c){this.config[a].width=b;this.totalWidth=null;if(!c)this.fireEvent("widthchange",this,a,b)},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(d){var b=this.config;for(var a=0,c=b.length;a<c;a++)if(b[a].dataIndex==d)return a;return -1},isCellEditable:function(c){var b=this.config[c],a=b.editable;return !!(a||!Ext.isDefined(a)&&b.editor)},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,a){var c=this.config[b];if(c.hidden!==a){c.hidden=a;this.totalWidth=null;this.fireEvent("hiddenchange",this,b,a)}},setEditor:function(a,b){this.config[a].setEditor(b)},destroy:function(){var b=this.config.length,a=0;for(;a<b;a++)this.config[a].destroy();delete this.config;delete this.lookup;this.purgeListeners()},setState:function(b,a){a=Ext.applyIf(a,this.defaults);Ext.apply(this.config[b],a)}});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;if(this.lockOnInit){delete this.lockOnInit;this.locked=false;this.lock()}this.initEvents()},lock:function(){if(!this.locked){this.locked=true;var a=this.grid;if(a)a.getView().on({scope:this,beforerefresh:this.sortUnLock,refresh:this.sortLock});else this.lockOnInit=true}},sortLock:function(){this.locked=true},sortUnLock:function(){this.locked=false},unlock:function(){if(this.locked){this.locked=false;var b=this.grid,a;if(b){a=b.getView();a.un("beforerefresh",this.sortUnLock,this);a.un("refresh",this.sortLock,this)}else delete this.lockOnInit}},isLocked:function(){return this.locked},destroy:function(){this.unlock();this.purgeListeners()}});Ext.grid.RowSelectionModel=Ext.extend(Ext.grid.AbstractSelectionModel,{singleSelect:false,constructor:function(a){Ext.apply(this,a);this.selections=new Ext.util.MixedCollection(false,function(a){return a.id});this.last=false;this.lastActive=false;this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");Ext.grid.RowSelectionModel.superclass.constructor.call(this)},initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag)this.grid.on("rowmousedown",this.handleMouseDown,this);this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:this.onKeyPress,down:this.onKeyPress,scope:this});this.grid.getView().on({scope:this,refresh:this.onRefresh,rowupdated:this.onRowUpdated,rowremoved:this.onRemove})},onKeyPress:function(e,c){var b=c=="up",f=b?"selectPrevious":"selectNext",d=b?-1:1,a;if(!e.shiftKey||this.singleSelect)this[f](false);else if(this.last!==false&&this.lastActive!==false){a=this.last;this.selectRange(this.last,this.lastActive+d);this.grid.getView().focusRow(this.lastActive);if(a!==false)this.last=a}else this.selectFirstRow()},onRefresh:function(){var e=this.grid.store,b=this.getSelections(),a=0,d=b.length,c;this.silent=true;this.clearSelections(true);for(;a<d;a++){r=b[a];if((c=e.indexOfId(r.id))!=-1)this.selectRow(c,true)}if(b.length!=this.selections.getCount())this.fireEvent("selectionchange",this);this.silent=false},onRemove:function(b,c,a){if(this.selections.remove(a)!==false)this.fireEvent("selectionchange",this)},onRowUpdated:function(a,b,c){if(this.isSelected(c))a.onRowSelect(b)},selectRecords:function(b,e){if(!e)this.clearSelections();var d=this.grid.store,a=0,c=b.length;for(;a<c;a++)this.selectRow(d.indexOf(b[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(e,d){var b=this.getSelections(),a=0,c=b.length;for(;a<c;a++)if(e.call(d||this,b[a],a)===false)return false;return true},clearSelections:function(b){if(this.isLocked())return;if(b!==true){var c=this.grid.store,a=this.selections;a.each(function(a){this.deselectRow(c.indexOfId(a.id))},this);a.clear()}else this.selections.clear();this.last=false},selectAll:function(){if(this.isLocked())return;this.selections.clear();for(var a=0,b=this.grid.store.getCount();a<b;a++)this.selectRow(a,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(f,b,a){if(a.button!==0||this.isLocked())return;var c=this.grid.getView();if(a.shiftKey&&!this.singleSelect&&this.last!==false){var e=this.last;this.selectRange(e,b,a.ctrlKey);this.last=e;c.focusRow(b)}else{var d=this.isSelected(b);if(a.ctrlKey&&d)this.deselectRow(b);else if(!d||this.getCount()>1){this.selectRow(b,a.ctrlKey||a.shiftKey);c.focusRow(b)}}},selectRows:function(b,d){if(!d)this.clearSelections();for(var a=0,c=b.length;a<c;a++)this.selectRow(b[a],true)},selectRange:function(c,b,d){var a;if(this.isLocked())return;if(!d)this.clearSelections();if(c<=b)for(a=c;a<=b;a++)this.selectRow(a,true);else for(a=c;a>=b;a--)this.selectRow(a,true)},deselectRange:function(d,c,b){if(this.isLocked())return;for(var a=d;a<=c;a++)this.deselectRow(a,b)},selectRow:function(a,c,d){if(this.isLocked()||(a<0||a>=this.grid.store.getCount())||c&&this.isSelected(a))return;var b=this.grid.store.getAt(a);if(b&&this.fireEvent("beforerowselect",this,a,c,b)!==false){if(!c||this.singleSelect)this.clearSelections();this.selections.add(b);this.last=this.lastActive=a;if(!d)this.grid.getView().onRowSelect(a);if(!this.silent){this.fireEvent("rowselect",this,a,b);this.fireEvent("selectionchange",this)}}},deselectRow:function(a,c){if(this.isLocked())return;if(this.last==a)this.last=false;if(this.lastActive==a)this.lastActive=false;var b=this.grid.store.getAt(a);if(b){this.selections.remove(b);if(!c)this.grid.getView().onRowDeselect(a);this.fireEvent("rowdeselect",this,a,b);this.fireEvent("selectionchange",this)}},acceptsNav:function(c,b,a){return !a.isHidden(b)&&a.isCellEditable(b,c)},onEditorKey:function(k,d){var i=d.getKey(),b,a=this.grid,e=a.lastEdit,c=a.activeEditor,h=d.shiftKey,g,e,f,j;if(i==d.TAB){d.stopEvent();c.completeEdit();if(h)b=a.walkCells(c.row,c.col-1,-1,this.acceptsNav,this);else b=a.walkCells(c.row,c.col+1,1,this.acceptsNav,this)}else if(i==d.ENTER)if(this.moveEditorOnEnter!==false)if(h)b=a.walkCells(e.row-1,e.col,-1,this.acceptsNav,this);else b=a.walkCells(e.row+1,e.col,1,this.acceptsNav,this);if(b){f=b[0];j=b[1];if(e.row!=f)this.selectRow(f);if(a.isEditor&&a.editing){g=a.activeEditor;if(g&&g.field.triggerBlur)g.field.triggerBlur()}a.startEditing(f,j)}},destroy:function(){Ext.destroy(this.rowNav);this.rowNav=null;Ext.grid.RowSelectionModel.superclass.destroy.call(this)}});Ext.grid.Column=Ext.extend(Ext.util.Observable,{isColumn:true,constructor:function(b){Ext.apply(this,b);if(Ext.isString(this.renderer))this.renderer=Ext.util.Format[this.renderer];else if(Ext.isObject(this.renderer)){this.scope=this.renderer.scope;this.renderer=this.renderer.fn}if(!this.scope)this.scope=this;var a=this.editor;delete this.editor;this.setEditor(a);this.addEvents("click","contextmenu","dblclick","mousedown");Ext.grid.Column.superclass.constructor.call(this)},processEvent:function(a,c,b,d){return this.fireEvent(a,this,b,d,c)},destroy:function(){if(this.setEditor)this.setEditor(null);this.purgeListeners()},renderer:function(a){return a},getEditor:function(){return this.editable!==false?this.editor:null},setEditor:function(b){var a=this.editor;if(a)if(a.gridEditor){a.gridEditor.destroy();delete a.gridEditor}else a.destroy();this.editor=null;if(b){if(!b.isXType)b=Ext.create(b,"textfield");this.editor=b}},getCellEditor:function(b){var a=this.getEditor(b);if(a)if(!a.startEdit){if(!a.gridEditor)a.gridEditor=new Ext.grid.GridEditor(a);a=a.gridEditor}return a}});Ext.grid.BooleanColumn=Ext.extend(Ext.grid.Column,{trueText:"true",falseText:"false",undefinedText:"&#160;",constructor:function(a){Ext.grid.BooleanColumn.superclass.constructor.call(this,a);var c=this.trueText,d=this.falseText,b=this.undefinedText;this.renderer=function(a){if(a===undefined)return b;if(!a||a==="false")return d;return c}}});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(b){Ext.grid.TemplateColumn.superclass.constructor.call(this,b);var a=!Ext.isPrimitive(this.tpl)&&this.tpl.compile?this.tpl:new Ext.XTemplate(this.tpl);this.renderer=function(c,d,b){return a.apply(b.data)};this.tpl=a}});Ext.grid.ActionColumn=Ext.extend(Ext.grid.Column,{header:"&#160;",actionIdRe:/x-action-col-(\d+)/,altText:"",constructor:function(d){var c=this,e=d.items||(c.items=[c]),f=e.length,b,a;Ext.grid.ActionColumn.superclass.constructor.call(c,d);c.renderer=function(g,h){g=Ext.isFunction(d.renderer)?d.renderer.apply(this,arguments)||"":"";h.css+=" x-action-col-cell";for(b=0;b<f;b++){a=e[b];g+='<img alt="'+c.altText+'" src="'+(a.icon||Ext.BLANK_IMAGE_URL)+'" class="x-action-col-icon x-action-col-'+String(b)+" "+(a.iconCls||"")+" "+(Ext.isFunction(a.getClass)?a.getClass.apply(a.scope||this.scope||this,arguments):"")+'"'+(a.tooltip?' ext:qtip="'+a.tooltip+'"':"")+" />"}return g}},destroy:function(){delete this.items;delete this.renderer;return Ext.grid.ActionColumn.superclass.destroy.apply(this,arguments)},processEvent:function(c,e,g,h,f){var b=e.getTarget().className.match(this.actionIdRe),a,d;if(b&&(a=this.items[parseInt(b[1],10)]))if(c=="click")(d=a.handler||this.handler)&&d.call(a.scope||this.scope||this,g,h,f,a,e);else if(c=="mousedown"&&a.stopSelection!==false)return false;return Ext.grid.ActionColumn.superclass.processEvent.apply(this,arguments)}});Ext.grid.Column.types={gridcolumn:Ext.grid.Column,booleancolumn:Ext.grid.BooleanColumn,numbercolumn:Ext.grid.NumberColumn,datecolumn:Ext.grid.DateColumn,templatecolumn:Ext.grid.TemplateColumn,actioncolumn:Ext.grid.ActionColumn};Ext.grid.RowNumberer=Ext.extend(Object,{header:"",width:23,sortable:false,constructor:function(a){Ext.apply(this,a);if(this.rowspan)this.renderer=this.renderer.createDelegate(this)},fixed:true,hideable:false,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,hideable:false,dataIndex:"",id:"checker",isColumn:true,constructor:function(){Ext.grid.CheckboxSelectionModel.superclass.constructor.apply(this,arguments);if(this.checkOnly)this.handleMouseDown=Ext.emptyFn},initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){Ext.fly(this.grid.getView().innerHd).on("mousedown",this.onHdMouseDown,this)},this)},processEvent:function(b,a){if(b=="mousedown"){this.onMouseDown(a,a.getTarget());return false}else return Ext.grid.Column.prototype.processEvent.apply(this,arguments)},onMouseDown:function(b,d){if(b.button===0&&d.className=="x-grid3-row-checker"){b.stopEvent();var c=b.getTarget(".x-grid3-row");if(c){var a=c.rowIndex;if(this.isSelected(a))this.deselectRow(a);else{this.selectRow(a,true);this.grid.getView().focusRow(a)}}}},onHdMouseDown:function(c,b){if(b.className=="x-grid3-hd-checker"){c.stopEvent();var a=Ext.fly(b.parentNode),d=a.hasClass("x-grid3-hd-checker-on");if(d){a.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{a.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(){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.getKeyEvent(),this.handleKeyDown,this);this.grid.getView().on({scope:this,refresh:this.onViewChange,rowupdated:this.onRowUpdated,beforerowremoved:this.clearSelections,beforerowsinserted:this.clearSelections});if(this.grid.isEditor)this.grid.on("beforeedit",this.beforeEdit,this)},beforeEdit:function(a){this.select(a.row,a.column,false,true,a.record)},onRowUpdated:function(a,b,c){if(this.selection&&this.selection.record==c)a.onCellSelect(b,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,c,a,b){if(b.button!==0||this.isLocked())return;this.select(c,a)},select:function(a,b,e,f,c){if(this.fireEvent("beforecellselect",this,a,b)!==false){this.clearSelections();c=c||this.grid.store.getAt(a);this.selection={record:c,cell:[a,b]};if(!e){var d=this.grid.getView();d.onCellSelect(a,b);if(f!==true)d.focusCell(a,b)}this.fireEvent("cellselect",this,a,b);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(c,b,a){return !a.isHidden(b)},onEditorKey:function(b,a){if(a.getKey()==a.TAB)this.handleKeyDown(a)},handleKeyDown:function(a){if(!a.isNavKeyPress())return;var j=a.getKey(),d=this.grid,k=this.selection,i=this,f=function(c,a,b){return d.walkCells(c,a,b,d.isEditor&&d.editing?i.acceptsNav:i.isSelectable,i)},g,e,b,c,h;switch(j){case a.ESC:case a.PAGE_UP:case a.PAGE_DOWN:break;default:a.stopEvent()}if(!k){g=f(0,0,1);if(g)this.select(g[0],g[1]);return}g=k.cell;b=g[0];c=g[1];switch(j){case a.TAB:if(a.shiftKey)e=f(b,c-1,-1);else e=f(b,c+1,1);break;case a.DOWN:e=f(b+1,c,1);break;case a.UP:e=f(b-1,c,-1);break;case a.RIGHT:e=f(b,c+1,1);break;case a.LEFT:e=f(b,c-1,-1);break;case a.ENTER:if(d.isEditor&&!d.editing){d.startEditing(b,c);return}}if(e){b=e[0];c=e[1];this.select(b,c);if(d.isEditor&&d.editing){h=d.activeEditor;if(h&&h.field.triggerBlur)h.field.triggerBlur();d.startEditing(b,c)}}},acceptsNav:function(c,b,a){return !a.isHidden(b)&&a.isCellEditable(b,c)}});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,b,a){this.startEditing(b,a)},onAutoEditClick:function(e,d){if(e.button!==0)return;var a=this.view.findRowIndex(d),b=this.view.findCellIndex(d);if(a!==false&&b!==false){this.stopEditing();if(this.selModel.getSelectedCell){var c=this.selModel.getSelectedCell();if(c&&c[0]===a&&c[1]===b)this.startEditing(a,b)}else if(this.selModel.isSelected(a))this.startEditing(a,b)}},onEditComplete:function(a,b,d){this.editing=false;this.lastActiveEditor=this.activeEditor;this.activeEditor=null;var e=a.record,f=this.colModel.getDataIndex(a.col);b=this.postEditValue(b,d,e,f);if(this.forceValidation===true||String(b)!==String(d)){var c={grid:this,record:e,field:f,originalValue:d,value:b,row:a.row,column:a.col,cancel:false};if(this.fireEvent("validateedit",c)!==false&&!c.cancel&&String(b)!==String(d)){e.set(f,c.value);delete c.cancel;this.fireEvent("afteredit",c)}}this.view.focusCell(a.row,a.col)},startEditing:function(c,b){this.stopEditing();if(this.colModel.isCellEditable(b,c)){this.view.ensureVisible(c,b,true);var d=this.store.getAt(c),e=this.colModel.getDataIndex(b),g={grid:this,record:d,field:e,value:d.data[e],row:c,column:b,cancel:false};if(this.fireEvent("beforeedit",g)!==false&&!g.cancel){this.editing=true;var a=this.colModel.getCellEditor(b,c);if(!a)return;if(!a.rendered){a.parentEl=this.view.getEditorParent(a);a.on({scope:this,render:{fn:function(a){a.field.focus(false,true)},single:true,scope:this},specialkey:function(b,a){this.getSelectionModel().onEditorKey(b,a)},complete:this.onEditComplete,canceledit:this.stopEditing.createDelegate(this,[true])})}Ext.apply(a,{row:c,col:b,record:d});this.lastEdit={row:c,col:b};this.activeEditor=a;a.selectSameEditor=this.activeEditor==this.lastActiveEditor;var f=this.preEditValue(d,e);a.startEdit(this.view.getCell(c,b).firstChild,Ext.isDefined(f)?f:"");(function(){delete a.selectSameEditor}).defer(50)}}},preEditValue:function(b,c){var a=b.data[c];return this.autoEncode&&Ext.isString(a)?Ext.util.Format.htmlDecode(a):a},postEditValue:function(a){return this.autoEncode&&Ext.isString(a)?Ext.util.Format.htmlEncode(a):a},stopEditing:function(b){if(this.editing){var a=this.lastActiveEditor=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(a,b){Ext.grid.GridEditor.superclass.constructor.call(this,a,b);a.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(b,a){this.grid=b;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(a)this.setSource(a);Ext.grid.PropertyStore.superclass.constructor.call(this)},setSource:function(b){this.source=b;this.store.removeAll();var c=[];for(var a in b)if(this.isEditableValue(b[a]))c.push(new Ext.grid.PropertyRecord({name:a,value:b[a]},a));this.store.loadRecords({records:c},{},true)},onUpdate:function(e,a,d){if(d==Ext.data.Record.EDIT){var b=a.data.value,c=a.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,a.id,b,c)!==false){this.source[a.id]=b;a.commit();this.grid.fireEvent("propertychange",this.source,a.id,b,c)}else a.reject()}},getProperty:function(a){return this.store.getAt(a)},isEditableValue:function(a){return Ext.isPrimitive(a)||Ext.isDate(a)},setValue:function(a,c,d){var b=this.getRec(a);if(b){b.set("value",c);this.source[a]=c}else if(d){this.source[a]=c;b=new Ext.grid.PropertyRecord({name:a,value:c},a);this.store.add(b)}},remove:function(b){var a=this.getRec(b);if(a){this.store.remove(a);delete this.source[b]}},getRec:function(a){return this.store.getById(a)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=Ext.extend(Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",constructor:function(e,d){var a=Ext.grid,b=Ext.form;this.grid=e;a.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=d;var c=new b.Field({autoCreate:{tag:"select",children:[{tag:"option",value:"true",html:this.trueText},{tag:"option",value:"false",html:this.falseText}]},getValue:function(){return this.el.dom.value=="true"}});this.editors={date:new a.GridEditor(new b.DateField({selectOnFocus:true})),string:new a.GridEditor(new b.TextField({selectOnFocus:true})),number:new a.GridEditor(new b.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new a.GridEditor(c,{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 this[a?"trueText":"falseText"]},isCellEditable:function(a){return a==1},getRenderer:function(a){return a==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(a){return this.getPropertyName(a)},renderCell:function(a,e,d){var c=this.grid.customRenderers[d.get("name")];if(c)return c.apply(this,arguments);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(e,d){var b=this.store.getProperty(d),c=b.data.name,a=b.data.value;if(this.grid.customEditors[c])return this.grid.customEditors[c];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);this.destroyEditors(this.editors);this.destroyEditors(this.grid.customEditors)},destroyEditors:function(a){for(var b in a)Ext.destroy(a[b])}});Ext.grid.PropertyGrid=Ext.extend(Ext.grid.EditorGridPanel,{enableColumnMove:false,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,viewConfig:{forceFit:true},initComponent:function(){this.customRenderers=this.customRenderers||{};this.customEditors=this.customEditors||{};this.lastEditRow=null;var a=new Ext.grid.PropertyStore(this);this.propStore=a;var b=new Ext.grid.PropertyColumnModel(this,a);a.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=b;this.ds=a.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.mon(this.selModel,"beforecellselect",function(c,b,a){if(a===0){this.startEditing.defer(200,this,[b,1]);return false}},this)},onRender:function(){Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);this.getGridEl().addClass("x-props-grid")},afterRender:function(){Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);if(this.source)this.setSource(this.source)},setSource:function(a){this.propStore.setSource(a)},getSource:function(){return this.propStore.getSource()},setProperty:function(c,b,a){this.propStore.setValue(c,b,a)},removeProperty:function(a){this.propStore.remove(a)}});Ext.reg("propertygrid",Ext.grid.PropertyGrid);Ext.grid.GroupingView=Ext.extend(Ext.grid.GridView,{groupByText:"Group By This Field",showGroupsText:"Show in Groups",hideGroupedColumn:false,showGroupName:true,startCollapsed:false,enableGrouping:true,enableGroupingMenu:true,enableNoGroups:true,emptyGroupText:"(None)",ignoreAdd:false,groupTextTpl:"{text}",groupMode:"value",cancelEditOnToggle:true,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var 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>"},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(c,b,a){if(this.canGroup()&&!this.ignoreAdd){var d=this.getScrollState();this.fireEvent("beforerowsinserted",c,a,a+(b.length-1));this.refresh();this.restoreScroll(d);this.fireEvent("rowsinserted",c,a,a+(b.length-1))}else if(!this.canGroup())Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)},onRemove:function(e,b){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var a=document.getElementById(b._groupId);if(a&&a.childNodes[1].childNodes.length<1)Ext.removeNode(a);this.applyEmptyText()},refreshRow:function(){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.canGroup(),true)}},renderUI:function(){var a=Ext.grid.GroupingView.superclass.renderUI.call(this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{itemId:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups)this.hmenu.add({itemId:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this});this.hmenu.on("beforeshow",this.beforeMenuShow,this)}return a},processEvent:function(d,c){Ext.grid.GroupingView.superclass.processEvent.call(this,d,c);var b=c.getTarget(".x-grid-group-hd",this.mainBody);if(b){var e=this.getGroupField(),g=this.getPrefix(e),a=b.id.substring(g.length),f=new RegExp("gp-"+Ext.escapeRe(e)+"--hd");a=a.substr(0,a.length-3);if(a||f.test(b.id))this.grid.fireEvent("group"+d,this.grid,e,a,c);if(d=="mousedown"&&c.button==0)this.toggleGroup(b.parentNode)}},onGroupByClick:function(){this.enableGrouping=true;this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.grid.fireEvent("groupchange",this,this.grid.store.getGroupState());this.beforeMenuShow();this.refresh()},onShowGroupsClick:function(b,a){this.enableGrouping=a;if(a)this.onGroupByClick();else{this.grid.store.clearGrouping();this.grid.fireEvent("groupchange",this,null)}},toggleRowIndex:function(c,b){if(!this.canGroup())return;var a=this.getRow(c);if(a)this.toggleGroup(this.findGroup(a),b)},toggleGroup:function(c,a){var b=Ext.get(c);a=Ext.isDefined(a)?a:b.hasClass("x-grid-group-collapsed");if(this.state[b.id]!==a){if(this.cancelEditOnToggle!==false)this.grid.stopEditing(true);this.state[b.id]=a;b[a?"removeClass":"addClass"]("x-grid-group-collapsed")}},toggleAllGroups:function(d){var b=this.getGroups();for(var a=0,c=b.length;a<c;a++)this.toggleGroup(b[a],d)},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},getGroup:function(b,f,e,h,c,g){var d=this.cm.config[c],a=e?e.call(d.scope,b,{},f,h,c,g):String(b);if(a===""||a==="&#160;")a=d.emptyGroupText||this.emptyGroupText;return a},getGroupField:function(){return this.grid.store.getGroupState()},afterRender:function(){if(!this.ds||!this.cm)return;Ext.grid.GroupingView.superclass.afterRender.call(this);if(this.grid.deferRowRender)this.updateGroupWidths()},afterRenderUI:function(){Ext.grid.GroupingView.superclass.afterRenderUI.call(this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{itemId:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups)this.hmenu.add({itemId:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this});this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},renderRows:function(){var a=this.getGroupField(),c=!!a;if(this.hideGroupedColumn){var d=this.cm.findColumnIndex(a),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=a;this.cm.setHidden(d,true)}else if(c&&b&&a!==this.lastGroupField){this.mainBody.update("");var e=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(e,false);this.lastGroupField=a;this.cm.setHidden(d,true)}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(k,m,h,r,o,u){if(m.length<1)return "";if(!this.canGroup()||this.isUpdating)return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments);var j=this.getGroupField(),n=this.cm.findColumnIndex(j),b,t="width:"+this.getTotalWidth()+";",g=this.cm.config[n],s=g.groupRenderer||g.renderer,v=this.showGroupName?(g.groupName||g.header)+": ":"",p=[],d,a,i,c;for(a=0,i=m.length;a<i;a++){var q=r+a,e=m[a],l=e.data[j];b=this.getGroup(l,e,s,q,n,h);if(!d||d.group!=b){c=this.constructId(l,j,n);this.state[c]=!(Ext.isDefined(this.state[c])?!this.state[c]:this.startCollapsed);d={group:b,gvalue:l,text:v+b,groupId:c,startRow:q,rs:[e],cls:this.state[c]?"":"x-grid-group-collapsed",style:t};p.push(d)}else d.rs.push(e);e._groupId=c}var f=[];for(a=0,i=p.length;a<i;a++){b=p[a];this.doGroupStart(f,b,k,h,o);f[f.length]=Ext.grid.GroupingView.superclass.doRender.call(this,k,b.rs,h,b.startRow,o,u);this.doGroupEnd(f,b,k,h,o)}return f.join("")},getGroupId:function(b){var a=this.getGroupField();return this.constructId(b,a,this.cm.findColumnIndex(a))},constructId:function(c,e,a){var b=this.cm.config[a],d=b.groupRenderer||b.renderer,f=this.groupMode=="value"?c:this.getGroup(c,{data:{}},d,0,a,this.ds);return this.getPrefix(e)+Ext.util.Format.htmlEncode(f)},canGroup:function(){return this.enableGrouping&&!!this.getGroupField()},getPrefix:function(a){return this.grid.getGridEl().id+"-gp-"+a+"-"},doGroupStart:function(a,b){a[a.length]=this.startGroup.apply(b)},doGroupEnd:function(a){a[a.length]=this.endGroup},getRows:function(){if(!this.canGroup())return Ext.grid.GroupingView.superclass.getRows.call(this);var d=[],f=this.getGroups(),a,c=0,g=f.length,b,e;for(;c<g;++c){a=f[c].childNodes[1];if(a){a=a.childNodes;for(b=0,e=a.length;b<e;++b)d[d.length]=a[b]}}return d},updateGroupWidths:function(){if(!this.canGroup()||!this.hasRows())return;var d=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.getScrollOffset())+"px",b=this.getGroups();for(var a=0,c=b.length;a<c;a++)b[a].firstChild.style.width=d},onColumnWidthUpdated:function(c,a,b){Ext.grid.GroupingView.superclass.onColumnWidthUpdated.call(this,c,a,b);this.updateGroupWidths()},onAllColumnWidthsUpdated:function(a,b){Ext.grid.GroupingView.superclass.onAllColumnWidthsUpdated.call(this,a,b);this.updateGroupWidths()},onColumnHiddenUpdated:function(b,c,a){Ext.grid.GroupingView.superclass.onColumnHiddenUpdated.call(this,b,c,a);this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(b,a){this.toggleRowIndex(a,true)}});Ext.grid.GroupingView.GROUP_ID=1e3
