window.undefined=window.undefined;Ext={version:"3.0"};Ext.apply=function(j,h,c){if(c){Ext.apply(j,c)}if(j&&h&&typeof h=="object"){for(var g in h){j[g]=h[g]}}return j};(function(){var Y=0,I=Object.prototype.toString,J=function(a){if(Ext.isArray(a)||a.callee){return true}if(/NodeList|HTMLCollection/.test(I.call(a))){return true}return((a.nextNode||a.item)&&Ext.isNumber(a.length))},H=navigator.userAgent.toLowerCase(),e=function(a){return a.test(H)},W=document,T=W.compatMode=="CSS1Compat",N=e(/opera/),X=e(/chrome/),G=e(/webkit/),D=!X&&e(/safari/),Z=D&&e(/applewebkit\/4/),ac=D&&e(/version\/3/),K=D&&e(/version\/4/),L=!N&&e(/msie/),P=L&&e(/msie 7/),Q=L&&e(/msie 8/),M=L&&!P&&!Q,R=!G&&e(/gecko/),aa=R&&e(/rv:1\.8/),ad=R&&e(/rv:1\.9/),F=L&&!T,O=e(/windows|win32/),U=e(/macintosh|mac os x/),V=e(/adobeair/),S=e(/linux/),ab=/^https/i.test(window.location.protocol);if(M){try{W.execCommand("BackgroundImageCache",false,true)}catch(E){}}Ext.apply(Ext,{SSL_SECURE_URL:"javascript:false",isStrict:T,isSecure:ab,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,USE_NATIVE_JSON:false,applyIf:function(c,a){if(c){for(var b in a){if(Ext.isEmpty(c[b])){c[b]=a[b]}}}return c},id:function(b,a){return(b=Ext.getDom(b)||{}).id=b.id||(a||"ext-gen")+(++Y)},extend:function(){var b=function(c){for(var d in c){this[d]=c[d]}};var a=Object.prototype.constructor;return function(c,h,d){if(Ext.isObject(h)){d=h;h=c;c=d.constructor!=a?d.constructor:function(){h.apply(this,arguments)}}var j=function(){},g,k=h.prototype;j.prototype=k;g=c.prototype=new j();g.constructor=c;c.superclass=k;if(k.constructor==a){k.constructor=h}c.override=function(l){Ext.override(c,l)};g.superclass=g.supr=(function(){return k});g.override=b;Ext.override(c,d);c.extend=function(l){Ext.extend(c,l)};return c}}(),override:function(c,a){if(a){var b=c.prototype;Ext.apply(b,a);if(Ext.isIE&&a.toString!=c.toString){b.toString=a.toString}}},namespace:function(){var b,a;Ext.each(arguments,function(c){a=c.split(".");b=window[a[0]]=window[a[0]]||{};Ext.each(a.slice(1),function(d){b=b[d]=b[d]||{}})});return b},urlEncode:function(a,b){var d,h=[],g,c=encodeURIComponent;for(g in a){d=!Ext.isDefined(a[g]);Ext.each(d?g:a[g],function(j,k){h.push("&",c(g),"=",(j!=g||!d)?c(j):"")})}if(!b){h.shift();b=""}return b+h.join("")},urlDecode:function(g,j){var b={},c=g.split("&"),a=decodeURIComponent,h,d;Ext.each(c,function(k){k=k.split("=");h=a(k[0]);d=a(k[1]);b[h]=j||!b[h]?d:[].concat(b[h]).concat(d)});return b},urlAppend:function(b,a){if(!Ext.isEmpty(a)){return b+(b.indexOf("?")===-1?"?":"&")+a}return b},toArray:function(){return L?function(d,a,c,b){b=[];Ext.each(d,function(g){b.push(g)});return b.slice(a||0,c||b.length)}:function(c,a,b){return Array.prototype.slice.call(c,a||0,b||c.length)}}(),each:function(a,b,c){if(Ext.isEmpty(a,true)){return}if(!J(a)||Ext.isPrimitive(a)){a=[a]}for(var g=0,d=a.length;g<d;g++){if(b.call(c||a[g],a[g],g,a)===false){return g}}},iterate:function(b,d,c){if(J(b)){Ext.each(b,d,c);return}else{if(Ext.isObject(b)){for(var a in b){if(b.hasOwnProperty(a)){if(d.call(c||b,a,b[a])===false){return}}}}}},getDom:function(a){if(!a||!W){return null}return a.dom?a.dom:(Ext.isString(a)?W.getElementById(a):a)},getBody:function(){return Ext.get(W.body||W.documentElement)},removeNode:L?function(){var a;return function(b){if(b&&b.tagName!="BODY"){a=a||W.createElement("div");a.appendChild(b);a.innerHTML=""}}}():function(a){if(a&&a.parentNode&&a.tagName!="BODY"){a.parentNode.removeChild(a)}},isEmpty:function(b,a){return b===null||b===undefined||((Ext.isArray(b)&&!b.length))||(!a?b==="":false)},isArray:function(a){return I.apply(a)==="[object Array]"},isObject:function(a){return a&&typeof a=="object"},isPrimitive:function(a){return Ext.isString(a)||Ext.isNumber(a)||Ext.isBoolean(a)},isFunction:function(a){return I.apply(a)==="[object Function]"},isNumber:function(a){return typeof a==="number"&&isFinite(a)},isString:function(a){return typeof a==="string"},isBoolean:function(a){return typeof a==="boolean"},isDefined:function(a){return typeof a!=="undefined"},isOpera:N,isWebKit:G,isChrome:X,isSafari:D,isSafari3:ac,isSafari4:K,isSafari2:Z,isIE:L,isIE6:M,isIE7:P,isIE8:Q,isGecko:R,isGecko2:aa,isGecko3:ad,isBorderBox:F,isLinux:S,isWindows:O,isMac:U,isAir:V});Ext.ns=Ext.namespace})();Ext.ns("Ext","Ext.util","Ext.lib","Ext.data");Ext.apply(Function.prototype,{createInterceptor:function(d,e){var g=this;return !Ext.isFunction(d)?this:function(){var a=this,b=arguments;d.target=a;d.method=g;return(d.apply(e||a||window,b)!==false)?g.apply(a||window,b):null}},createCallback:function(){var d=arguments,c=this;return function(){return c.apply(window,d)}},createDelegate:function(j,e,g){var h=this;return function(){var a=e||arguments;if(g===true){a=Array.prototype.slice.call(arguments,0);a=a.concat(e)}else{if(Ext.isNumber(g)){a=Array.prototype.slice.call(arguments,0);var b=[g,0].concat(e);Array.prototype.splice.apply(a,b)}}return h.apply(j||window,a)}},defer:function(l,j,g,h){var k=this.createDelegate(j,g,h);if(l>0){return setTimeout(k,l)}k();return 0}});Ext.applyIf(String,{format:function(c){var d=Ext.toArray(arguments,1);return c.replace(/\{(\d+)\}/g,function(b,a){return d[a]})}});Ext.applyIf(Array.prototype,{indexOf:function(g){for(var d=0,e=this.length;d<e;d++){if(this[d]==g){return d}}return -1},remove:function(c){var d=this.indexOf(c);if(d!=-1){this.splice(d,1)}return this}});Ext.ns("Ext.grid","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 c=Ext,d=0;return{emptyFn:function(){},BLANK_IMAGE_URL:Ext.isIE6||Ext.isIE7?"http://extjs.com/s.gif":"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",extendX:function(b,a){return Ext.extend(b,a(b.prototype))},getDoc:function(){return Ext.get(document)},isDate:function(a){return Object.prototype.toString.apply(a)==="[object Date]"},num:function(a,b){a=Number(a===null||typeof a=="boolean"?NaN:a);return isNaN(a)?b:a},value:function(a,g,b){return Ext.isEmpty(a,b)?g:a},escapeRe:function(a){return a.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},sequence:function(a,h,b,g){a[h]=a[h].createSequence(b,g)},addBehaviors:function(a){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(a)})}else{var j={},b,k,h;for(k in a){if((b=k.split("@"))[1]){h=b[0];if(!j[h]){j[h]=Ext.select(h)}j[h].on(b[1],a[k])}}j=null}},combine:function(){var h=arguments,j=h.length,a=[];for(var b=0;b<j;b++){var k=h[b];if(Ext.isArray(k)){a=a.concat(k)}else{if(k.length!==undefined&&!k.substr){a=a.concat(Array.prototype.slice.call(k,0))}else{a.push(k)}}}return a},copyTo:function(g,b,a){if(typeof a=="string"){a=a.split(/[,;\s]/)}Ext.each(a,function(e){if(b.hasOwnProperty(e)){g[e]=b[e]}},this);return g},destroy:function(){Ext.each(arguments,function(a){if(a){if(Ext.isArray(a)){this.destroy.apply(this,a)}else{if(Ext.isFunction(a.destroy)){a.destroy()}else{if(a.dom){a.remove()}}}}},this)},destroyMembers:function(a,k,m,l){for(var b=1,n=arguments,o=n.length;b<o;b++){Ext.destroy(a[n[b]]);delete a[n[b]]}},clean:function(b){var a=[];Ext.each(b,function(g){if(!!g){a.push(g)}});return a},unique:function(g){var b=[],a={};Ext.each(g,function(e){if(!a[e]){b.push(e)}a[e]=true});return b},flatten:function(g){var a=[];function b(e){Ext.each(e,function(h){if(Ext.isArray(h)){b(h)}else{a.push(h)}});return a}return b(g)},min:function(g,b){var a=g[0];b=b||function(e,h){return e<h?-1:1};Ext.each(g,function(e){a=b(a,e)==-1?a:e});return a},max:function(g,b){var a=g[0];b=b||function(e,h){return e>h?1:-1};Ext.each(g,function(e){a=b(a,e)==1?a:e});return a},mean:function(a){return Ext.sum(a)/a.length},sum:function(b){var a=0;Ext.each(b,function(g){a+=g});return a},partition:function(g,b){var a=[[],[]];Ext.each(g,function(j,e,k){a[(b&&b(j,e,k))||(!b&&j)?0:1].push(j)});return a},invoke:function(h,g){var a=[],b=Array.prototype.slice.call(arguments,2);Ext.each(h,function(j,e){if(j&&typeof j[g]=="function"){a.push(j[g].apply(j,b))}else{a.push(undefined)}});return a},pluck:function(g,a){var b=[];Ext.each(g,function(e){b.push(e[a])});return b},zip:function(){var a=Ext.partition(arguments,function(e){return !Ext.isFunction(e)}),m=a[0],b=a[1][0],q=Ext.max(Ext.pluck(m,"length")),n=[];for(var j=0;j<q;j++){n[j]=[];if(b){n[j]=b.apply(b,Ext.pluck(m,j))}else{for(var o=0,p=m.length;o<p;o++){n[j].push(m[o][j])}}}return n},getCmp:function(a){return Ext.ComponentMgr.get(a)},useShims:c.isIE6||(c.isMac&&c.isGecko2),type:function(a){if(a===undefined||a===null){return false}if(a.htmlElement){return"element"}var b=typeof a;if(b=="object"&&a.nodeName){switch(a.nodeType){case 1:return"element";case 3:return(/\S/).test(a.nodeValue)?"textnode":"whitespace"}}if(b=="object"||b=="function"){switch(a.constructor){case Array:return"array";case RegExp:return"regexp";case Date:return"date"}if(typeof a.length=="number"&&typeof a.item=="function"){return"nodelist"}}return b},intercept:function(a,h,b,g){a[h]=a[h].createInterceptor(b,g)},callback:function(h,a,b,g){if(Ext.isFunction(h)){if(g){h.defer(g,a,b||[])}else{h.apply(a,b||[])}}}}}());Ext.apply(Function.prototype,{createSequence:function(d,e){var g=this;return !Ext.isFunction(d)?this:function(){var a=g.apply(this||window,arguments);d.apply(e||this||window,arguments);return a}}});Ext.applyIf(String,{escape:function(b){return b.replace(/('|\\)/g,"\\$1")},leftPad:function(h,e,j){var g=String(h);if(!j){j=" "}while(g.length<e){g=j+g}return g}});String.prototype.toggle=function(c,d){return this==c?d:c};String.prototype.trim=function(){var b=/^\s+|\s+$/g;return function(){return this.replace(b,"")}}();Date.prototype.getElapsed=function(b){return Math.abs((b||new Date()).getTime()-this.getTime())};Ext.applyIf(Number.prototype,{constrain:function(c,d){return Math.min(Math.max(this,c),d)}});Ext.util.TaskRunner=function(n){n=n||10;var m=[],r=[],q=0,l=false,o=function(){l=false;clearInterval(q);q=0},k=function(){if(!l){l=true;q=setInterval(j,n)}},p=function(a){r.push(a);if(a.onStop){a.onStop.apply(a.scope||a)}},j=function(){var b=r.length,h=new Date().getTime();if(b>0){for(var e=0;e<b;e++){m.remove(r[e])}r=[];if(m.length<1){o();return}}for(var e=0,g,c,a,d=m.length;e<d;++e){g=m[e];c=h-g.taskRunTime;if(g.interval<=c){a=g.run.apply(g.scope||g,g.args||[++g.taskRunCount]);g.taskRunTime=h;if(a===false||g.taskRunCount===g.repeat){p(g);return}}if(g.duration&&g.duration<=(h-g.taskStartTime)){p(g)}}};this.start=function(a){m.push(a);a.taskStartTime=new Date().getTime();a.taskRunTime=0;a.taskRunCount=0;k();return a};this.stop=function(a){p(a);return a};this.stopAll=function(){o();for(var a=0,b=m.length;a<b;a++){if(m[a].onStop){m[a].onStop()}}m=[];r=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();(function(){var d;function g(a){if(!d){d=new Ext.Element.Flyweight()}d.dom=a;return d}(function(){var b=document,h=b.compatMode=="CSS1Compat",c=Math.max,a=parseInt;Ext.lib.Dom={isAncestor:function(l,k){var m=false;l=Ext.getDom(l);k=Ext.getDom(k);if(l&&k){if(l.contains){return l.contains(k)}else{if(l.compareDocumentPosition){return !!(l.compareDocumentPosition(k)&16)}else{while(k=k.parentNode){m=k==l||m}}}}return m},getViewWidth:function(j){return j?this.getDocumentWidth():this.getViewportWidth()},getViewHeight:function(j){return j?this.getDocumentHeight():this.getViewportHeight()},getDocumentHeight:function(){return c(!h?b.body.scrollHeight:b.documentElement.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return c(!h?b.body.scrollWidth:b.documentElement.scrollWidth,this.getViewportWidth())},getViewportHeight:function(){return Ext.isIE?(Ext.isStrict?b.documentElement.clientHeight:b.body.clientHeight):self.innerHeight},getViewportWidth:function(){return !Ext.isStrict&&!Ext.isOpera?b.body.clientWidth:Ext.isIE?b.documentElement.clientWidth:self.innerWidth},getY:function(j){return this.getXY(j)[1]},getX:function(j){return this.getXY(j)[0]},getXY:function(B){var C,w,p,E,A,z,F=0,v=0,G,D,y=(b.body||b.documentElement),x=[0,0];B=Ext.getDom(B);if(B!=y){if(B.getBoundingClientRect){p=B.getBoundingClientRect();G=g(document).getScroll();x=[p.left+G.left,p.top+G.top]}else{C=B;D=g(B).isStyle("position","absolute");while(C){w=g(C);F+=C.offsetLeft;v+=C.offsetTop;D=D||w.isStyle("position","absolute");if(Ext.isGecko){v+=E=a(w.getStyle("borderTopWidth"),10)||0;F+=A=a(w.getStyle("borderLeftWidth"),10)||0;if(C!=B&&!w.isStyle("overflow","visible")){F+=A;v+=E}}C=C.offsetParent}if(Ext.isSafari&&D){F-=y.offsetLeft;v-=y.offsetTop}if(Ext.isGecko&&!D){z=g(y);F+=a(z.getStyle("borderLeftWidth"),10)||0;v+=a(z.getStyle("borderTopWidth"),10)||0}C=B.parentNode;while(C&&C!=y){if(!Ext.isOpera||(C.tagName!="TR"&&!g(C).isStyle("display","inline"))){F-=C.scrollLeft;v-=C.scrollTop}C=C.parentNode}x=[F,v]}}return x},setXY:function(p,o){(p=Ext.fly(p,"_setXY")).position();var n=p.translatePoints(o),q=p.dom.style,m;for(m in n){if(!isNaN(n[m])){q[m]=n[m]+"px"}}},setX:function(j,k){this.setXY(j,[k,false])},setY:function(k,j){this.setXY(k,[false,j])}}})();Ext.lib.Dom.getRegion=function(a){return Ext.lib.Region.getRegion(a)};Ext.lib.Event=function(){var L=false,P=[],am=[],X=0,ab=[],ap,R=false,ai=window,a=document,ah=200,V=20,U=0,W=1,ak=2,ag=3,T=3,b=4,Q="scrollLeft",Z="scrollTop",an="unload",aa="mouseover",c="mouseout",ao=function(){var h;if(ai.addEventListener){h=function(j,l,k,m){if(l=="mouseenter"){k=k.createInterceptor(ae);j.addEventListener(aa,k,(m))}else{if(l=="mouseleave"){k=k.createInterceptor(ae);j.addEventListener(c,k,(m))}else{j.addEventListener(l,k,(m))}}return k}}else{if(ai.attachEvent){h=function(j,l,k,m){j.attachEvent("on"+l,k);return k}}else{h=function(){}}}return h}(),al=function(){var h;if(ai.removeEventListener){h=function(j,l,k,m){if(l=="mouseenter"){l=aa}else{if(l=="mouseleave"){l=c}}j.removeEventListener(l,k,(m))}}else{if(ai.detachEvent){h=function(j,l,k){j.detachEvent("on"+l,k)}}else{h=function(){}}}return h}();var S=Ext.isGecko?function(h){return Object.prototype.toString.call(h)=="[object XULElement]"}:function(){};var ad=Ext.isGecko?function(h){try{return h.nodeType==3}catch(j){return false}}:function(h){return h.nodeType==3};function ae(j){var h=ac.getRelatedTarget(j);return !(S(h)||N(j.currentTarget,h))}function N(h,j){if(h&&h.firstChild){while(j){if(j===h){return true}try{j=j.parentNode}catch(k){return false}if(j&&(j.nodeType!=1)){j=null}}}return false}function Y(j,h,k){var l=-1;Ext.each(P,function(n,m){if(n&&n[ak]==k&&n[U]==j&&n[W]==h){l=m}});return l}function O(){var h=false,j=[],l,k=!L||(X>0);if(!R){R=true;Ext.each(ab,function(n,m,o){if(n&&(l=a.getElementById(n.id))){if(!n.checkReady||L||l.nextSibling||(a&&a.body)){l=n.override?(n.override===true?n.obj:n.override):l;n.fn.call(l,n.obj);ab[m]=null}else{j.push(n)}}});X=(j.length===0)?0:X-1;if(k){af()}else{clearInterval(ap);ap=null}h=!(R=false)}return h}function af(){if(!ap){var h=function(){O()};ap=setInterval(h,V)}}function M(){var h=a.documentElement,j=a.body;if(h&&(h[Z]||h[Q])){return[h[Q],h[Z]]}else{if(j){return[j[Q],j[Z]]}else{return[0,0]}}}function aj(h,k){h=h.browserEvent||h;var j=h["page"+k];if(!j&&j!==0){j=h["client"+k]||0;if(Ext.isIE){j+=M()[k=="X"?0:1]}}return j}var ac={onAvailable:function(k,h,j,l){ab.push({id:k,fn:h,obj:j,override:l,checkReady:false});X=ah;af()},addListener:function(j,h,k){var l;j=Ext.getDom(j);if(j&&k){if(an==h){l=!!(am[am.length]=[j,h,k])}else{P.push([j,h,k,l=ao(j,h,k,false)])}}return !!l},removeListener:function(j,n,k){var l=false,m,h;j=Ext.getDom(j);if(!k){l=this.purgeElement(j,false,n)}else{if(an==n){Ext.each(am,function(p,o,q){if(p&&p[0]==j&&p[1]==n&&p[2]==k){am.splice(o,1);l=true}})}else{m=arguments[3]||Y(j,n,k);h=P[m];if(j&&h){al(j,n,h[ag],false);h[ag]=h[ak]=null;P.splice(m,1);l=true}}}return l},getTarget:function(h){h=h.browserEvent||h;return this.resolveTextNode(h.target||h.srcElement)},resolveTextNode:function(h){return h&&!S(h)&&ad(h)?h.parentNode:h},getRelatedTarget:function(h){h=h.browserEvent||h;return this.resolveTextNode(h.relatedTarget||(h.type==c?h.toElement:h.type==aa?h.fromElement:null))},getPageX:function(h){return aj(h,"X")},getPageY:function(h){return aj(h,"Y")},getXY:function(h){return[this.getPageX(h),this.getPageY(h)]},stopEvent:function(h){this.stopPropagation(h);this.preventDefault(h)},stopPropagation:function(h){h=h.browserEvent||h;if(h.stopPropagation){h.stopPropagation()}else{h.cancelBubble=true}},preventDefault:function(h){h=h.browserEvent||h;if(h.preventDefault){h.preventDefault()}else{h.returnValue=false}},getEvent:function(h){h=h||ai.event;if(!h){var j=this.getEvent.caller;while(j){h=j.arguments[0];if(h&&Event==h.constructor){break}j=j.caller}}return h},getCharCode:function(h){h=h.browserEvent||h;return h.charCode||h.keyCode||0},_load:function(j){L=true;var h=Ext.lib.Event;if(Ext.isIE&&j!==true){al(ai,"load",arguments.callee)}},purgeElement:function(l,j,h){var k=this;Ext.each(k.getListeners(l,h),function(m){if(m){k.removeListener(l,m.type,m.fn)}});if(j&&l&&l.childNodes){Ext.each(l.childNodes,function(m){k.purgeElement(m,j,h)})}},getListeners:function(k,m){var j=this,l=[],h;if(m){h=m==an?am:P}else{h=P.concat(am)}Ext.each(h,function(o,n){if(o&&o[U]==k&&(!m||m==o[W])){l.push({type:o[W],fn:o[ak],obj:o[T],adjust:o[b],index:n})}});return l.length?l:null},_unload:function(j){var k=Ext.lib.Event,m,n,p,h,o,l;Ext.each(am,function(r){if(r){try{l=r[b]?(r[b]===true?r[T]:r[b]):ai;r[ak].call(l,k.getEvent(j),r[T])}catch(q){}}});am=null;if(P&&(n=P.length)){while(n){if((p=P[o=--n])){k.removeListener(p[U],p[W],p[ak],o)}}}al(ai,an,k._unload)}};ac.on=ac.addListener;ac.un=ac.removeListener;if(a&&a.body){ac._load(true)}else{ao(ai,"load",ac._load)}ao(ai,an,ac._unload);O();return ac}();Ext.lib.Ajax=function(){var w=["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],z="Content-Type";function v(j){var k=j.conn,h;function l(n,m){for(h in m){if(m.hasOwnProperty(h)){n.setRequestHeader(h,m[h])}}}if(s.defaultHeaders){l(k,s.defaultHeaders)}if(s.headers){l(k,s.headers);s.headers=null}}function y(h,j,k,l){return{tId:h,status:k?-1:0,statusText:k?"transaction aborted":"communication failure",isAbort:true,isTimeout:true,argument:j}}function t(j,h){(s.headers=s.headers||{})[j]=h}function b(o,h){var m={},k,j=o.conn,n,l;try{k=o.conn.getAllResponseHeaders();Ext.each(k.replace(/\r\n/g,"\n").split("\n"),function(A){n=A.indexOf(":");if(n>=0){l=A.substr(0,n).toLowerCase();if(A.charAt(n+1)==" "){++n}m[l]=A.substr(n+1)}})}catch(p){}return{tId:o.tId,status:j.status,statusText:j.statusText,getResponseHeader:function(A){return m[A.toLowerCase()]},getAllResponseHeaders:function(){return k},responseText:j.responseText,responseXML:j.responseXML,argument:h}}function c(h){h.conn=null;h=null}function x(j,h,n,o){if(!h){c(j);return}var l,m;try{if(j.conn.status!==undefined&&j.conn.status!=0){l=j.conn.status}else{l=13030}}catch(k){l=13030}if((l>=200&&l<300)||(Ext.isIE&&l==1223)){m=b(j,h.argument);if(h.success){if(!h.scope){h.success(m)}else{h.success.apply(h.scope,[m])}}}else{switch(l){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:m=y(j.tId,h.argument,(n?n:false),o);if(h.failure){if(!h.scope){h.failure(m)}else{h.failure.apply(h.scope,[m])}}break;default:m=b(j,h.argument);if(h.failure){if(!h.scope){h.failure(m)}else{h.failure.apply(h.scope,[m])}}}}c(j);m=null}function q(l,h){h=h||{};var n=l.conn,j=l.tId,m=s.poll,k=h.timeout||null;if(k){s.timeout[j]=setTimeout(function(){s.abort(l,h,true)},k)}m[j]=setInterval(function(){if(n&&n.readyState==4){clearInterval(m[j]);m[j]=null;if(k){clearTimeout(s.timeout[j]);s.timeout[j]=null}x(l,h)}},s.pollInterval)}function u(h,l,j,m){var k=r()||null;if(k){k.conn.open(h,l,true);if(s.useDefaultXhrHeader){t("X-Requested-With",s.defaultXhrHeader)}if(m&&s.useDefaultHeader&&(!s.headers||!s.headers[z])){t(z,s.defaultPostHeader)}if(s.defaultHeaders||s.headers){v(k)}q(k,j);k.conn.send(m||null)}return k}function r(){var h;try{if(h=a(s.transactionId)){s.transactionId++}}catch(j){}finally{return h}}function a(h){var l;try{l=new XMLHttpRequest()}catch(j){for(var k=0;k<w.length;++k){try{l=new ActiveXObject(w[k]);break}catch(j){}}}finally{return{conn:l,tId:h}}}var s={request:function(j,A,p,o,k){if(k){var n=this,h=k.xmlData,m=k.jsonData,l;Ext.applyIf(n,k);if(h||m){l=n.headers;if(!l||!l[z]){t(z,h?"text/xml":"application/json")}o=h||(Ext.isObject(m)?Ext.encode(m):m)}}return u(j||k.method||"POST",A,p,o)},serializeForm:function(h){var B=h.elements||(document.forms[h]||Ext.getDom(h)).elements,l=false,m=encodeURIComponent,o,k,j,A,p="",n;Ext.each(B,function(C){j=C.name;n=C.type;if(!C.disabled&&j){if(/select-(one|multiple)/i.test(n)){Ext.each(C.options,function(D){if(D.selected){p+=String.format("{0}={1}&",m(j),(D.hasAttribute?D.hasAttribute("value"):D.getAttributeNode("value").specified)?D.value:D.text)}})}else{if(!/file|undefined|reset|button/i.test(n)){if(!(/radio|checkbox/i.test(n)&&!C.checked)&&!(n=="submit"&&l)){p+=m(j)+"="+m(C.value)+"&";l=/submit/i.test(n)}}}}});return p.substr(0,p.length-1)},useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",poll:{},timeout:{},pollInterval:50,transactionId:0,abort:function(k,h,n){var l=this,j=k.tId,m=false;if(l.isCallInProgress(k)){k.conn.abort();clearInterval(l.poll[j]);l.poll[j]=null;if(n){l.timeout[j]=null}x(k,h,(m=true),n)}return m},isCallInProgress:function(h){return h.conn&&!{0:true,4:true}[h.conn.readyState]}};return s}();Ext.lib.Region=function(c,a,k,j){var b=this;b.top=c;b[1]=c;b.right=a;b.bottom=k;b.left=j;b[0]=j};Ext.lib.Region.prototype={contains:function(a){var b=this;return(a.left>=b.left&&a.right<=b.right&&a.top>=b.top&&a.bottom<=b.bottom)},getArea:function(){var a=this;return((a.bottom-a.top)*(a.right-a.left))},intersect:function(a){var b=this,j=Math.max(b.top,a.top),c=Math.min(b.right,a.right),l=Math.min(b.bottom,a.bottom),k=Math.max(b.left,a.left);if(l>=j&&c>=k){return new Ext.lib.Region(j,c,l,k)}},union:function(a){var b=this,j=Math.min(b.top,a.top),c=Math.max(b.right,a.right),l=Math.max(b.bottom,a.bottom),k=Math.min(b.left,a.left);return new Ext.lib.Region(j,c,l,k)},constrainTo:function(a){var b=this;b.top=b.top.constrain(a.top,a.bottom);b.bottom=b.bottom.constrain(a.top,a.bottom);b.left=b.left.constrain(a.left,a.right);b.right=b.right.constrain(a.left,a.right);return b},adjust:function(c,j,k,a){var b=this;b.top+=c;b.left+=j;b.right+=a;b.bottom+=k;return b}};Ext.lib.Region.getRegion=function(c){var a=Ext.lib.Dom.getXY(c),j=a[1],b=a[0]+c.offsetWidth,l=a[1]+c.offsetHeight,k=a[0];return new Ext.lib.Region(j,b,l,k)};Ext.lib.Point=function(c,a){if(Ext.isArray(c)){a=c[1];c=c[0]}var b=this;b.x=b.right=b.left=b[0]=c;b.y=b.top=b.bottom=b[1]=a};Ext.lib.Point.prototype=new Ext.lib.Region();(function(){var k=Ext.lib,b=/width|height|opacity|padding/i,l=/^((width|height)|(top|left))$/,n=/width|height|top$|bottom$|left$|right$/i,c=/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i,a=function(h){return typeof h!=="undefined"},m=function(){return new Date()};k.Anim={motion:function(t,j,s,r,q,h){return this.run(t,j,s,r,q,h,Ext.lib.Motion)},run:function(w,j,u,t,s,x,h){h=h||Ext.lib.AnimBase;if(typeof t=="string"){t=Ext.lib.Easing[t]}var v=new h(w,j,u,t);v.animateX(function(){if(Ext.isFunction(s)){s.call(x)}});return v}};k.AnimBase=function(j,o,h,p){if(j){this.init(j,o,h,p)}};k.AnimBase.prototype={doMethod:function(o,p,j){var h=this;return h.method(h.curFrame,p,j-p,h.totalFrames)},setAttr:function(o,h,j){if(b.test(o)&&h<0){h=0}Ext.fly(this.el,"_anim").setStyle(o,h+j)},getAttr:function(o){var h=Ext.fly(this.el),p=h.getStyle(o),j=l.exec(o)||[];if(p!=="auto"&&!c.test(p)){return parseFloat(p)}return(!!(j[2])||(h.getStyle("position")=="absolute"&&!!(j[3])))?h.dom["offset"+j[0].charAt(0).toUpperCase()+j[0].substr(1)]:0},getDefaultUnit:function(h){return n.test(h)?"px":""},animateX:function(p,o){var j=this,h=function(){j.onComplete.removeListener(h);if(Ext.isFunction(p)){p.call(o||j,j)}};j.onComplete.addListener(h,j);j.animate()},setRunAttr:function(w){var u=this,j=this.attributes[w],h=j.to,v=j.by,B=j.from,A=j.unit,y=(this.runAttrs[w]={}),x;if(!a(h)&&!a(v)){return false}var z=a(B)?B:u.getAttr(w);if(a(h)){x=h}else{if(a(v)){if(Ext.isArray(z)){x=[];Ext.each(z,function(p,o){x[o]=p+v[o]})}else{x=z+v}}}Ext.apply(y,{start:z,end:x,unit:a(A)?A:u.getDefaultUnit(w)})},init:function(y,u,v,z){var h=this,w=0,B=k.AnimMgr;Ext.apply(h,{isAnimated:false,startTime:null,el:Ext.getDom(y),attributes:u||{},duration:v||1,method:z||k.Easing.easeNone,useSec:true,curFrame:0,totalFrames:B.fps,runAttrs:{},animate:function(){var p=this,o=p.duration;if(p.isAnimated){return false}p.curFrame=0;p.totalFrames=p.useSec?Math.ceil(B.fps*o):o;B.registerElement(p)},stop:function(p){var o=this;if(p){o.curFrame=o.totalFrames;o._onTween.fire()}B.stop(o)}});var A=function(){var o=this,p;o.onStart.fire();o.runAttrs={};for(p in this.attributes){this.setRunAttr(p)}o.isAnimated=true;o.startTime=m();w=0};var j=function(){var p=this;p.onTween.fire({duration:m()-p.startTime,curFrame:p.curFrame});var o=p.runAttrs;for(var q in o){this.setAttr(q,p.doMethod(q,o[q].start,o[q].end),o[q].unit)}++w};var x=function(){var q=this,o=(m()-q.startTime)/1000,p={duration:o,frames:w,fps:w/o};q.isAnimated=false;w=0;q.onComplete.fire(p)};h.onStart=new Ext.util.Event(h);h.onTween=new Ext.util.Event(h);h.onComplete=new Ext.util.Event(h);(h._onStart=new Ext.util.Event(h)).addListener(A);(h._onTween=new Ext.util.Event(h)).addListener(j);(h._onComplete=new Ext.util.Event(h)).addListener(x)}};Ext.lib.AnimMgr=new function(){var s=this,h=null,j=[],q=0;Ext.apply(s,{fps:1000,delay:1,registerElement:function(o){j.push(o);++q;o._onStart.fire();s.start()},unRegister:function(o,p){o._onComplete.fire();p=p||r(o);if(p!=-1){j.splice(p,1)}if(--q<=0){s.stop()}},start:function(){if(h===null){h=setInterval(s.run,s.delay)}},stop:function(o){if(!o){clearInterval(h);for(var p=0,u=j.length;p<u;++p){if(j[0].isAnimated){s.unRegister(j[0],0)}}j=[];h=null;q=0}else{s.unRegister(o)}},run:function(){var o;Ext.each(j,function(p){if(p&&p.isAnimated){o=p.totalFrames;if(p.curFrame<o||o===null){++p.curFrame;if(p.useSec){t(p)}p._onTween.fire()}else{s.stop(p)}}},s)}});var r=function(o){var p=-1;Ext.each(j,function(u,v){if(u==o){p=v;return false}});return p};var t=function(A){var p=A.totalFrames,x=A.curFrame,y=A.duration,z=(x*y*1000/p),B=(m()-A.startTime),o=0;if(B<y*1000){o=Math.round((B/z-1)*x)}else{o=p-(x+1)}if(o>0&&isFinite(o)){if(A.curFrame+o>=p){o=p-(x+1)}A.curFrame+=o}}};k.Bezier=new function(){this.getPosition=function(v,w){var t=v.length,h=[],u=1-w,j,s;for(j=0;j<t;++j){h[j]=[v[j][0],v[j][1]]}for(s=1;s<t;++s){for(j=0;j<t-s;++j){h[j][0]=u*h[j][0]+w*h[parseInt(j+1,10)][0];h[j][1]=u*h[j][1]+w*h[parseInt(j+1,10)][1]}}return[h[0][0],h[0][1]]}};k.Easing={easeNone:function(j,o,p,h){return p*j/h+o},easeIn:function(j,o,p,h){return p*(j/=h)*j+o},easeOut:function(j,o,p,h){return -p*(j/=h)*(j-2)+o}};(function(){k.Motion=function(u,v,t,s){if(u){k.Motion.superclass.constructor.call(this,u,v,t,s)}};Ext.extend(k.Motion,Ext.lib.AnimBase);var p=k.Motion.superclass,h=k.Motion.prototype,j=/^points$/i;Ext.apply(k.Motion.prototype,{setAttr:function(x,t,u){var v=this,w=p.setAttr;if(j.test(x)){u=u||"px";w.call(v,"left",t[0],u);w.call(v,"top",t[1],u)}else{w.call(v,x,t,u)}},getAttr:function(t){var r=this,s=p.getAttr;return j.test(t)?[s.call(r,"left"),s.call(r,"top")]:s.call(r,t)},doMethod:function(v,s,u){var t=this;return j.test(v)?k.Bezier.getPosition(t.runAttrs[v],t.method(t.curFrame,0,100,t.totalFrames)/100):p.doMethod.call(t,v,s,u)},setRunAttr:function(M){if(j.test(M)){var K=this,D=this.el,H=this.attributes.points,O=H.control||[],J=H.from,I=H.to,L=H.by,F=k.Dom,E,P,C,N,G;if(O.length>0&&!Ext.isArray(O[0])){O=[O]}else{}Ext.fly(D,"_anim").position();F.setXY(D,a(J)?J:F.getXY(D));E=K.getAttr("points");if(a(I)){C=o.call(K,I,E);for(P=0,N=O.length;P<N;++P){O[P]=o.call(K,O[P],E)}}else{if(a(L)){C=[E[0]+L[0],E[1]+L[1]];for(P=0,N=O.length;P<N;++P){O[P]=[E[0]+O[P][0],E[1]+O[P][1]]}}}G=this.runAttrs[M]=[E];if(O.length>0){G=G.concat(O)}G[G.length]=C}else{p.setRunAttr.call(this,M)}}});var o=function(t,r){var s=k.Dom.getXY(this.el);return[t[0]-s[0]+r[0],t[1]-s[1]+r[1]]}})()})();(function(){var l=Math.abs,a=Math.PI,b=Math.asin,c=Math.pow,k=Math.sin,j=Ext.lib;Ext.apply(j.Easing,{easeBoth:function(o,p,h,n){return((o/=n/2)<1)?h/2*o*o+p:-h/2*((--o)*(o-2)-1)+p},easeInStrong:function(o,p,h,n){return h*(o/=n)*o*o*o+p},easeOutStrong:function(o,p,h,n){return -h*((o=o/n-1)*o*o*o-1)+p},easeBothStrong:function(o,p,h,n){return((o/=n/2)<1)?h/2*o*o*o*o+p:-h/2*((o-=2)*o*o*o-2)+p},elasticIn:function(p,s,t,u,r,v){if(p==0||(p/=u)==1){return p==0?s:s+t}v=v||(u*0.3);var h;if(r>=l(t)){h=v/(2*a)*b(t/r)}else{r=t;h=v/4}return -(r*c(2,10*(p-=1))*k((p*u-h)*(2*a)/v))+s},elasticOut:function(p,s,t,u,r,v){if(p==0||(p/=u)==1){return p==0?s:s+t}v=v||(u*0.3);var h;if(r>=l(t)){h=v/(2*a)*b(t/r)}else{r=t;h=v/4}return r*c(2,-10*p)*k((p*u-h)*(2*a)/v)+t+s},elasticBoth:function(p,s,t,u,r,v){if(p==0||(p/=u/2)==2){return p==0?s:s+t}v=v||(u*(0.3*1.5));var h;if(r>=l(t)){h=v/(2*a)*b(t/r)}else{r=t;h=v/4}return p<1?-0.5*(r*c(2,10*(p-=1))*k((p*u-h)*(2*a)/v))+s:r*c(2,-10*(p-=1))*k((p*u-h)*(2*a)/v)*0.5+t+s},backIn:function(p,q,r,h,o){o=o||1.70158;return r*(p/=h)*p*((o+1)*p-o)+q},backOut:function(p,q,r,h,o){if(!o){o=1.70158}return r*((p=p/h-1)*p*((o+1)*p+o)+1)+q},backBoth:function(p,q,r,h,o){o=o||1.70158;return((p/=h/2)<1)?r/2*(p*p*(((o*=(1.525))+1)*p-o))+q:r/2*((p-=2)*p*(((o*=(1.525))+1)*p+o)+2)+q},bounceIn:function(o,p,h,n){return h-j.Easing.bounceOut(n-o,0,h,n)+p},bounceOut:function(o,p,h,n){if((o/=n)<(1/2.75)){return h*(7.5625*o*o)+p}else{if(o<(2/2.75)){return h*(7.5625*(o-=(1.5/2.75))*o+0.75)+p}else{if(o<(2.5/2.75)){return h*(7.5625*(o-=(2.25/2.75))*o+0.9375)+p}}}return h*(7.5625*(o-=(2.625/2.75))*o+0.984375)+p},bounceBoth:function(o,p,h,n){return(o<n/2)?j.Easing.bounceIn(o*2,0,h,n)*0.5+p:j.Easing.bounceOut(o*2-n,0,h,n)*0.5+h*0.5+p}})})();(function(){var n=Ext.lib;n.Anim.color=function(l,t,k,j,h,s){return n.Anim.run(l,t,k,j,h,s,n.ColorAnim)};n.ColorAnim=function(l,h,k,j){n.ColorAnim.superclass.constructor.call(this,l,h,k,j)};Ext.extend(n.ColorAnim,n.AnimBase);var c=n.ColorAnim.superclass,m=/color$/i,p=/^transparent|rgba\(0, 0, 0, 0\)$/,a=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,r=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,q=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i,o=function(h){return typeof h!=="undefined"};function b(s){var k=parseInt,l,h=null,j;if(s.length==3){return s}Ext.each([r,a,q],function(t,u){l=(u%2==0)?16:10;j=t.exec(s);if(j&&j.length==4){h=[k(j[1],l),k(j[2],l),k(j[3],l)];return false}});return h}Ext.apply(n.ColorAnim.prototype,{getAttr:function(h){var k=this,l=k.el,j;if(m.test(h)){while(l&&p.test(j=Ext.fly(l).getStyle(h))){l=l.parentNode;j="fff"}}else{j=c.getAttr.call(k,h)}return j},doMethod:function(h,j,t){var l=this,k,s=Math.floor;if(m.test(h)){k=[];Ext.each(j,function(v,u){k[u]=c.doMethod.call(l,h,v,t[u])});k="rgb("+s(k[0])+","+s(k[1])+","+s(k[2])+")"}else{k=c.doMethod.call(l,h,j,t)}return k},setRunAttr:function(h){var v=this,w=v.attributes[h],j=w.to,u=w.by,l;c.setRunAttr.call(v,h);l=v.runAttrs[h];if(m.test(h)){var k=b(l.start),x=b(l.end);if(!o(j)&&o(u)){x=b(u);Ext.each(k,function(s,t){x[t]=s+x[t]})}l.start=k;l.end=x}}})})();(function(){var c=Ext.lib;c.Anim.scroll=function(o,q,n,m,r,p){return c.Anim.run(o,q,n,m,r,p,c.Scroll)};c.Scroll=function(m,n,l,k){if(m){c.Scroll.superclass.constructor.call(this,m,n,l,k)}};Ext.extend(c.Scroll,c.ColorAnim);var a=c.Scroll.superclass,b="scroll";Ext.apply(c.Scroll.prototype,{doMethod:function(t,n,s){var p,q=this,o=q.curFrame,r=q.totalFrames;if(t==b){p=[q.method(o,n[0],s[0]-n[0],r),q.method(o,n[1],s[1]-n[1],r)]}else{p=a.doMethod.call(q,t,n,s)}return p},getAttr:function(k){var j=this;if(k==b){return[j.el.scrollLeft,j.el.scrollTop]}else{return a.getAttr.call(j,k)}},setAttr:function(n,k,l){var m=this;if(n==b){m.el.scrollLeft=k[0];m.el.scrollTop=k[1]}else{a.setAttr.call(m,n,k,l)}}})})();if(Ext.isIE){function e(){var a=Function.prototype;delete a.createSequence;delete a.defer;delete a.createDelegate;delete a.createCallback;delete a.createInterceptor;window.detachEvent("onunload",e)}window.attachEvent("onunload",e)}})();Ext.DomHelper=function(){var t=null,C=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,A=/^table|tbody|tr|td$/i,w,z="afterbegin",y="afterend",I="beforebegin",x="beforeend",K="<table>",E="</table>",J=K+"<tbody>",D="</tbody>"+E,B=J+"<tr>",u="</tr>"+D;function F(b,h,a,g,c,e){var d=w.insertHtml(g,Ext.getDom(b),v(h));return a?Ext.get(d,true):d}function v(h){var c="",d,a,b,e,g;if(typeof h=="string"){c=h}else{if(Ext.isArray(h)){Ext.each(h,function(j){c+=v(j)})}else{c+="<"+(h.tag=h.tag||"div");Ext.iterate(h,function(j,k){if(!/tag|children|cn|html$/i.test(j)){if(Ext.isObject(k)){c+=" "+j+"='";Ext.iterate(k,function(l,m){c+=l+":"+m+";"});c+="'"}else{c+=" "+({cls:"class",htmlFor:"for"}[j]||j)+"='"+k+"'"}}});if(C.test(h.tag)){c+="/>"}else{c+=">";if((g=h.children||h.cn)){c+=v(g)}else{if(h.html){c+=h.html}}c+="</"+h.tag+">"}}}return c}function G(g,b,c,a){t.innerHTML=[b,c,a].join("");var e=-1,d=t;while(++e<g){d=d.firstChild}return d}function H(e,d,b,c){var a,g;t=t||document.createElement("div");if(e=="td"&&(d==z||d==x)||!/td|tr|tbody/i.test(e)&&(d==I||d==y)){return}g=d==I?b:d==y?b.nextSibling:d==z?b.firstChild:null;if(d==I||d==y){b=b.parentNode}if(e=="td"||(e=="tr"&&(d==x||d==z))){a=G(4,B,c,u)}else{if((e=="tbody"&&(d==x||d==z))||(e=="tr"&&(d==I||d==y))){a=G(3,J,c,D)}else{a=G(2,K,c,E)}}b.insertBefore(a,g);return a}w={markup:function(a){return v(a)},insertHtml:function(e,l,d){var g={},j,b,c,a,h,k;e=e.toLowerCase();g[I]=["BeforeBegin","previousSibling"];g[y]=["AfterEnd","nextSibling"];if(l.insertAdjacentHTML){if(A.test(l.tagName)&&(k=H(l.tagName.toLowerCase(),e,l,d))){return k}g[z]=["AfterBegin","firstChild"];g[x]=["BeforeEnd","lastChild"];if((j=g[e])){l.insertAdjacentHTML(j[0],d);return l[j[1]]}}else{c=l.ownerDocument.createRange();b="setStart"+(/end/i.test(e)?"After":"Before");if(g[e]){c[b](l);a=c.createContextualFragment(d);l.parentNode.insertBefore(a,e==I?l:l.nextSibling);return l[(e==I?"previous":"next")+"Sibling"]}else{h=(e==z?"first":"last")+"Child";if(l.firstChild){c[b](l[h]);a=c.createContextualFragment(d);if(e==z){l.insertBefore(a,l.firstChild)}else{l.appendChild(a)}}else{l.innerHTML=d}return l[h]}}throw'Illegal insertion point -> "'+e+'"'},insertBefore:function(c,a,b){return F(c,a,b,I)},insertAfter:function(c,a,b){return F(c,a,b,y,"nextSibling")},insertFirst:function(c,a,b){return F(c,a,b,z,"firstChild")},append:function(c,a,b){return F(c,a,b,x,"",true)},overwrite:function(c,a,b){c=Ext.getDom(c);c.innerHTML=v(a);return b?Ext.get(c.firstChild):c.firstChild},createHtml:v};return w}();Ext.apply(Ext.DomHelper,function(){var o,k="afterbegin",m="afterend",l="beforebegin",p="beforeend";function n(b,h,a,g,c,e){b=Ext.getDom(b);var d;if(o.useDom){d=j(h,null);if(e){b.appendChild(d)}else{(c=="firstChild"?b:b.parentNode).insertBefore(d,b[c]||b)}}else{d=Ext.DomHelper.insertHtml(g,b,Ext.DomHelper.createHtml(h))}return a?Ext.get(d,true):d}function j(h,d){var b,a=document,c,e,r,g;if(Ext.isArray(h)){b=a.createDocumentFragment();Ext.each(h,function(q){j(q,b)})}else{if(Ext.isString(h)){b=a.createTextNode(h)}else{b=a.createElement(h.tag||"div");c=!!b.setAttribute;Ext.iterate(h,function(s,q){if(!/tag|children|cn|html|style/.test(s)){if(s=="cls"){b.className=q}else{if(c){b.setAttribute(s,q)}else{b[s]=q}}}});o.applyStyles(b,h.style);if((g=h.children||h.cn)){j(g,b)}else{if(h.html){b.innerHTML=h.html}}}}if(d){d.appendChild(b)}return b}o={createTemplate:function(a){var b=Ext.DomHelper.createHtml(a);return new Ext.Template(b)},useDom:false,applyStyles:function(a,e){if(e){var c=0,d,b;a=Ext.fly(a);if(Ext.isFunction(e)){e=e.call()}if(Ext.isString(e)){e=e.trim().split(/\s*(?::|;)\s*/);for(d=e.length;c<d;){a.setStyle(e[c++],e[c++])}}else{if(Ext.isObject(e)){a.setStyle(e)}}}},insertBefore:function(c,a,b){return n(c,a,b,l)},insertAfter:function(c,a,b){return n(c,a,b,m,"nextSibling")},insertFirst:function(c,a,b){return n(c,a,b,k,"firstChild")},append:function(c,a,b){return n(c,a,b,p,"",true)},createDom:j};return o}());Ext.Template=function(h){var g=this,a=arguments,j=[];if(Ext.isArray(h)){h=h.join("")}else{if(a.length>1){Ext.each(a,function(b){if(Ext.isObject(b)){Ext.apply(g,b)}else{j.push(b)}});h=j.join("")}}g.html=h;if(g.compiled){g.compile()}};Ext.Template.prototype={applyTemplate:function(d){var c=this;return c.compiled?c.compiled(d):c.html.replace(c.re,function(b,a){return d[a]!==undefined?d[a]:""})},set:function(e,g){var d=this;d.html=e;d.compiled=null;return g?d.compile():d},re:/\{([\w-]+)\}/g,compile:function(){var me=this,sep=Ext.isGecko?"+":",";function fn(m,name){name="values['"+name+"']";return"'"+sep+"("+name+" == undefined ? '' : "+name+")"+sep+"'"}eval("this.compiled = function(values){ return "+(Ext.isGecko?"'":"['")+me.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+(Ext.isGecko?"';};":"'].join('');};"));return me},insertFirst:function(d,e,g){return this.doInsert("afterBegin",d,e,g)},insertBefore:function(d,e,g){return this.doInsert("beforeBegin",d,e,g)},insertAfter:function(d,e,g){return this.doInsert("afterEnd",d,e,g)},append:function(d,e,g){return this.doInsert("beforeEnd",d,e,g)},doInsert:function(l,j,g,h){j=Ext.getDom(j);var k=Ext.DomHelper.insertHtml(l,j,this.applyTemplate(g));return h?Ext.get(k,true):k},overwrite:function(d,e,g){d=Ext.getDom(d);d.innerHTML=this.applyTemplate(e);return g?Ext.get(d.firstChild,true):d.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.Template.from=function(c,d){c=Ext.getDom(c);return new Ext.Template(c.value||c.innerHTML,d||"")};Ext.apply(Ext.Template.prototype,{applyTemplate:function(h){var k=this,j=k.disableFormats!==true,l=Ext.util.Format,n=k;if(k.compiled){return k.compiled(h)}function m(c,a,e,b){if(e&&j){if(e.substr(0,5)=="this."){return n.call(e.substr(5),h[a],h)}else{if(b){var g=/^\s*['"](.*)["']\s*$/;b=b.split(",");for(var q=0,d=b.length;q<d;q++){b[q]=b[q].replace(g,"$1")}b=[h[a]].concat(b)}else{b=[h[a]]}return l[e].apply(l,b)}}else{return h[a]!==undefined?h[a]:""}}return k.html.replace(k.re,m)},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var me=this,fm=Ext.util.Format,useF=me.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(m,name,format,args){if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'"}if(Ext.isGecko){body="this.compiled = function(values){ return '"+me.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+"';};"}else{body=["this.compiled = function(values){ return ['"];body.push(me.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return me},call:function(g,d,e){return this[g](d,e)}});Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={},nonSpace=/\S/,trimRe=/^\s+|\s+$/g,tplRe=/\{(\d+)\}/g,modeRe=/^(\s?[\/>+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w-\*]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,isIE=window.ActiveXObject?true:false,isOpera=Ext.isOpera,key=30803;eval("var batch = 30803;");function child(p,index){var i=0,n=p.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null}function next(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n}function children(d){var n=d.firstChild,ni=-1,nx;while(n){nx=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=isOpera?ni.childNodes:(ni.children||ni.childNodes);for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i<l;i++){a[a.length]=b[i]}return a}function byTag(cs,tagName){if(cs.tagName||cs==document){cs=[cs]}if(!tagName){return cs}var r=[],ri=-1;tagName=tagName.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){r[++ri]=ci}}return r}function byId(cs,attr,id){if(cs.tagName||cs==document){cs=[cs]}if(!id){return cs}var r=[],ri=-1;for(var i=0,ci;ci=cs[i];i++){if(ci&&ci.id==id){r[++ri]=ci;return r}}return r}function byAttribute(cs,attr,value,op,custom){var r=[],ri=-1,st=custom=="{",f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType!=1){continue}var a;if(st){a=Ext.DomQuery.getStyle(ci,attr)}else{if(attr=="class"||attr=="className"){a=ci.className}else{if(attr=="for"){a=ci.htmlFor}else{if(attr=="href"){a=ci.getAttribute("href",2)}else{a=ci.getAttribute(attr)}}}}if((f&&f(a,value))||(!f&&a)){r[++ri]=ci}}return r}function byPseudo(cs,name,value){return Ext.DomQuery.pseudos[name](cs,value)}function nodupIEXml(cs){var d=++key,r;cs[0].setAttribute("_nodup",d);r=[cs[0]];for(var i=1,len=cs.length;i<len;i++){var c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(var i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs)}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(var j=0;j<i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key,r=[];for(var i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}for(var i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length,d=++key,r=[];if(!len1){return c2}if(isIE&&c1[0].selectSingleNode){return quickDiffIEXml(c1,c2)}for(var i=0;i<len1;i++){c1[i]._qdiff=d}for(var i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,null,id)}return{getStyle:function(el,name){return Ext.fly(el).getStyle(name)},compile:function(path,type){type=type||"select";var fn=["var f = function(root){\n var mode; ++batch; var n = root || document;\n"],q=path,mode,lq,tk=Ext.DomQuery.matchers,tklen=tk.length,mm,lmode=q.match(modeRe);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';q=q.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(q&&lq!=q){lq=q;var tm=q.match(tagTokenRe);if(type=="select"){if(tm){if(tm[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tm[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tm[2]+'");'}q=q.replace(tm[0],"")}else{if(q.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tm){if(tm[1]=="#"){fn[fn.length]='n = byId(n, null, "'+tm[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tm[2]+'");'}q=q.replace(tm[0],"")}}while(!(mm=q.match(modeRe))){var matched=false;for(var j=0;j<tklen;j++){var t=tk[j];var m=q.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});q=q.replace(m[0],"");matched=true;break}}if(!matched){throw'Error parsing selector, parsing failed at "'+q+'"'}}if(mm[1]){fn[fn.length]='mode="'+mm[1].replace(trimRe,"")+'";';q=q.replace(mm[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},select:function(path,root,type){if(!root||root==document){root=document}if(typeof root=="string"){root=document.getElementById(root)}var paths=path.split(","),results=[];for(var i=0,len=paths.length;i<len;i++){var p=paths[i].replace(trimRe,"");if(!cache[p]){cache[p]=Ext.DomQuery.compile(p);if(!cache[p]){throw p+" is not a valid selector"}}var result=cache[p](root);if(result&&result!=document){results=results.concat(result)}}if(paths.length>1){return nodup(results)}return results},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root),v;n=n[0]?n[0]:n;v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el),result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, null, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, null, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;(function(){var p=Ext.util,m=Ext.toArray,n=Ext.each,w=Ext.isObject,q=true,o=false;p.Observable=function(){var a=this,b=a.events;if(a.listeners){a.on(a.listeners);delete a.listeners}a.events=b||{}};p.Observable.prototype=function(){var b=/^(?:scope|delay|buffer|single)$/,a=function(c){return c.toLowerCase()};return{fireEvent:function(){var k=m(arguments),h=a(k[0]),g=this,j=q,d=g.events[h],e,c;if(g.eventsSuspended===q){if(e=g.suspendedEventsQueue){e.push(k)}}else{if(w(d)&&d.bubble){if(d.fire.apply(d,k.slice(1))===o){return o}c=g.getBubbleTarget&&g.getBubbleTarget();if(c&&c.enableBubble){c.enableBubble(h);return c.fireEvent.apply(c,k)}}else{if(w(d)){k.shift();j=d.fire.apply(d,k)}}}return j},addListener:function(c,k,h,d){var l=this,y,g,j,e;if(w(c)){d=c;for(y in d){g=d[y];if(!b.test(y)){l.addListener(y,g.fn||g,g.scope||d.scope,g.fn?g:d)}}}else{c=a(c);e=l.events[c]||q;if(typeof e=="boolean"){l.events[c]=e=new p.Event(l,c)}e.addListener(k,h,w(d)?d:{})}},removeListener:function(g,d,e){var c=this.events[a(g)];if(w(c)){c.removeListener(d,e)}},purgeListeners:function(){var c=this.events,e,d;for(d in c){e=c[d];if(w(e)){e.clearListeners()}}},addEvents:function(c){var d=this;d.events=d.events||{};if(typeof c=="string"){n(arguments,function(e){d.events[e]=d.events[e]||q})}else{Ext.applyIf(d.events,c)}},hasListener:function(d){var c=this.events[d];return w(c)&&c.listeners.length>0},suspendEvents:function(c){this.eventsSuspended=q;if(c){this.suspendedEventsQueue=[]}},resumeEvents:function(){var c=this;c.eventsSuspended=!delete c.suspendedEventQueue;n(c.suspendedEventsQueue,function(d){c.fireEvent.apply(c,d)})}}}();var s=p.Observable.prototype;s.on=s.addListener;s.un=s.removeListener;p.Observable.releaseCapture=function(a){a.fireEvent=s.fireEvent};function r(c,b,a){return function(){if(b.target==arguments[0]){c.apply(a,m(arguments))}}}function u(c,b,d){var a=new p.DelayedTask();return function(){a.delay(b.buffer,c,d,m(arguments))}}function t(c,b,d,a){return function(){b.removeListener(d,a);return c.apply(a,arguments)}}function v(c,b,a){return function(){var d=m(arguments);(function(){c.apply(a,d)}).defer(b.delay||10)}}p.Event=function(b,a){this.name=a;this.obj=b;this.listeners=[]};p.Event.prototype={addListener:function(c,d,e){var b=this,a;d=d||b.obj;if(!b.isListening(c,d)){a=b.createListener(c,d,e);if(b.firing){b.listeners=b.listeners.slice(0)}b.listeners.push(a)}},createListener:function(c,d,b){b=b||{},d=d||this.obj;var a={fn:c,scope:d,options:b},e=c;if(b.target){e=r(e,b,d)}if(b.delay){e=v(e,b,d)}if(b.single){e=t(e,this,c,d)}if(b.buffer){e=u(e,b,d)}a.fireFn=e;return a},findListener:function(b,c){var d,a=-1;n(this.listeners,function(g,e){d=g.scope;if(g.fn==b&&(d==c||d==this.obj)){a=e;return o}},this);return a},isListening:function(b,a){return this.findListener(b,a)!=-1},removeListener:function(c,d){var e,b=this,a=o;if((e=b.findListener(c,d))!=-1){if(b.firing){b.listeners=b.listeners.slice(0)}b.listeners.splice(e,1);a=q}return a},clearListeners:function(){this.listeners=[]},fire:function(){var b=this,c=m(arguments),a=q;n(b.listeners,function(d){b.firing=q;if(d.fireFn.apply(d.scope||b.obj||window,c)===o){return a=b.firing=o}});b.firing=o;return a}}})();Ext.apply(Ext.util.Observable.prototype,function(){function b(e){var k=(this.methodEvents=this.methodEvents||{})[e],n,o,m,l=this;if(!k){this.methodEvents[e]=k={};k.originalFn=this[e];k.methodName=e;k.before=[];k.after=[];var a=function(c,d,g){if(!Ext.isEmpty(o=c.apply(d||l,g))){if(Ext.isObject(o)){n=!Ext.isEmpty(o.returnValue)?o.returnValue:o;m=!!o.cancel}else{if(o===false){m=true}else{n=o}}}};this[e]=function(){var c=Ext.toArray(arguments);n=o=undefined;m=false;Ext.each(k.before,function(d){a(d.fn,d.scope,c);if(m){return n}});if(!Ext.isEmpty(o=k.originalFn.apply(l,c))){n=o}Ext.each(k.after,function(d){a(d.fn,d.scope,c);if(m){return n}});return n}}return k}return{beforeMethod:function(e,g,a){b.call(this,e).before.push({fn:g,scope:a})},afterMethod:function(e,g,a){b.call(this,e).after.push({fn:g,scope:a})},removeMethodListener:function(e,l,a){var j=b.call(this,e),k=false;Ext.each(j.before,function(d,c,g){if(d.fn==l&&d.scope==a){g.splice(c,1);k=true;return false}});if(!k){Ext.each(j.after,function(d,c,g){if(d.fn==l&&d.scope==a){g.splice(c,1);return false}})}},relayEvents:function(g,a){var h=this;function j(c){return function(){return h.fireEvent.apply(h,[c].concat(Ext.toArray(arguments)))}}Ext.each(a,function(c){h.events[c]=h.events[c]||true;g.on(c,j(c),h)})},enableBubble:function(a){var d=this;a=Ext.isArray(a)?a:Ext.toArray(arguments);Ext.each(a,function(g){g=g.toLowerCase();var c=d.events[g]||true;if(typeof c=="boolean"){c=new Ext.util.Event(d,g);d.events[g]=c}c.bubble=true})}}}());Ext.util.Observable.capture=function(g,d,e){g.fireEvent=g.fireEvent.createInterceptor(d,e)};Ext.util.Observable.observeClass=function(b){Ext.apply(b,new Ext.util.Observable());b.prototype.fireEvent=function(){return(b.fireEvent.apply(b,arguments)!==false)&&(Ext.util.Observable.prototype.fireEvent.apply(this,arguments)!==false)}};Ext.EventManager=function(){var w,D,G=false,E=Ext.lib.Event,C=Ext.lib.Dom,N=document,v=window,J="ie-deferred-loader",B="DOMContentLoaded",K={},I=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;function F(b,c,g,j,a){var e=Ext.id(b),h=K[e]=K[e]||{};(h[c]=h[c]||[]).push([g,j,a]);E.on(b,c,j);if(c=="mousewheel"&&b.addEventListener){var d=["DOMMouseScroll",j,false];b.addEventListener.apply(b,d);E.on(window,"unload",function(){b.removeEventListener.apply(b,d)})}if(c=="mousedown"&&b==document){Ext.EventManager.stoppedMouseDownEvent.addListener(j)}}function M(){if(!G){Ext.isReady=G=true;if(D){clearInterval(D)}if(Ext.isGecko||Ext.isOpera){N.removeEventListener(B,M,false)}if(Ext.isIE){var a=N.getElementById(J);if(a){a.onreadystatechange=null;a.parentNode.removeChild(a)}}if(w){w.fire();w.clearListeners()}}}function O(){var a="complete";w=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){N.addEventListener(B,M,false)}else{if(Ext.isIE){N.write("<script id="+J+' defer="defer" src="//:"><\/script>');N.getElementById(J).onreadystatechange=function(){if(this.readyState==a){M()}}}else{if(Ext.isWebKit){D=setInterval(function(){if(N.readyState==a){M()}},10)}}}E.on(v,"load",M)}function y(b,a){return function(){var c=Ext.toArray(arguments);if(a.target==Ext.EventObject.setEvent(c[0]).target){b.apply(this,c)}}}function x(b,a){var c=new Ext.util.DelayedTask(b);return function(d){c.delay(a.buffer,b,null,[new Ext.EventObjectImpl(d)])}}function A(d,e,c,a,b){return function(g){Ext.EventManager.removeListener(e,c,a,b);d(g)}}function L(b,a){return function(c){c=new Ext.EventObjectImpl(c);setTimeout(function(){b(c)},a.delay||10)}}function H(b,c,d,j,a){var g=!Ext.isObject(d)?{}:d,e=Ext.getDom(b);j=j||g.fn;a=a||g.scope;if(!e){throw'Error listening for "'+c+'". Element "'+b+"\" doesn't exist."}function h(k){if(!Ext){return}k=Ext.EventObject.setEvent(k);var l;if(g.delegate){if(!(l=k.getTarget(g.delegate,e))){return}}else{l=k.target}if(g.stopEvent){k.stopEvent()}if(g.preventDefault){k.preventDefault()}if(g.stopPropagation){k.stopPropagation()}if(g.normalized){k=k.browserEvent}j.call(a||e,k,l,g)}if(g.target){h=y(h,g)}if(g.delay){h=L(h,g)}if(g.single){h=A(h,e,c,j,a)}if(g.buffer){h=x(h,g)}F(e,c,j,h,a);return h}var z={addListener:function(b,d,g,j,c){if(Ext.isObject(d)){var e=d,a,h;for(a in e){h=e[a];if(!I.test(a)){if(Ext.isFunction(h)){H(b,a,e,h,e.scope)}else{H(b,a,h)}}}}else{H(b,d,c,g,j)}},removeListener:function(c,d,b,e){var h=Ext.getDom(c),g=Ext.id(h),a;Ext.each((K[g]||{})[d],function(k,j,l){if(Ext.isArray(k)&&k[0]==b&&(!e||k[2]==e)){E.un(h,d,a=k[1]);l.splice(j,1);return false}});if(d=="mousewheel"&&h.addEventListener&&a){h.removeEventListener("DOMMouseScroll",a,false)}if(d=="mousedown"&&h==N&&a){Ext.EventManager.stoppedMouseDownEvent.removeListener(a)}},removeAll:function(b){var d=Ext.id(b=Ext.getDom(b)),a=K[d],c;for(c in a){if(a.hasOwnProperty(c)){Ext.each(a[c],function(e){E.un(b,c,e.wrap)})}}K[d]=null},onDocumentReady:function(a,b,c){if(G){w.addListener(a,b,c);w.fire();w.clearListeners()}else{if(!w){O()}c=c||{};c.delay=c.delay||1;w.addListener(a,b,c)}},elHash:K};z.on=z.addListener;z.un=z.removeListener;z.stoppedMouseDownEvent=new Ext.util.Event();return z}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var b=function(){var g=document.body||document.getElementsByTagName("body")[0];if(!g){return false}var a=[" ",Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":(Ext.isIE7?"ext-ie7":"ext-ie8")):Ext.isGecko?"ext-gecko "+(Ext.isGecko2?"ext-gecko2":"ext-gecko3"):Ext.isOpera?"ext-opera":Ext.isWebKit?"ext-webkit":""];if(Ext.isSafari){a.push("ext-safari "+(Ext.isSafari2?"ext-safari2":(Ext.isSafari3?"ext-safari3":"ext-safari4")))}else{if(Ext.isChrome){a.push("ext-chrome")}}if(Ext.isMac){a.push("ext-mac")}if(Ext.isLinux){a.push("ext-linux")}if(Ext.isStrict||Ext.isBorderBox){var e=g.parentNode;if(e){e.className+=Ext.isStrict?" ext-strict":" ext-border-box"}}g.className+=a.join(" ");return true};if(!b()){Ext.onReady(b)}})();Ext.EventObject=function(){var d=Ext.lib.Event,e={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},g=Ext.isIE?{1:0,4:1,2:2}:(Ext.isWebKit?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(a){if(a){this.setEvent(a.browserEvent||a)}};Ext.EventObjectImpl.prototype={setEvent:function(a){var b=this;if(a==b||(a&&a.browserEvent)){return a}b.browserEvent=a;if(a){b.button=a.button?g[a.button]:(a.which?a.which-1:-1);if(a.type=="click"&&b.button==-1){b.button=0}b.type=a.type;b.shiftKey=a.shiftKey;b.ctrlKey=a.ctrlKey||a.metaKey||false;b.altKey=a.altKey;b.keyCode=a.keyCode;b.charCode=a.charCode;b.target=d.getTarget(a);b.xy=d.getXY(a)}else{b.button=-1;b.shiftKey=false;b.ctrlKey=false;b.altKey=false;b.keyCode=0;b.charCode=0;b.target=null;b.xy=[0,0]}return b},stopEvent:function(){var a=this;if(a.browserEvent){if(a.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(a)}d.stopEvent(a.browserEvent)}},preventDefault:function(){if(this.browserEvent){d.preventDefault(this.browserEvent)}},stopPropagation:function(){var a=this;if(a.browserEvent){if(a.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(a)}d.stopPropagation(a.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(a){return Ext.isSafari?(e[a]||a):a},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getXY:function(){return this.xy},getTarget:function(b,a,c){return b?Ext.fly(this.target).findParent(b,a,c):(c?Ext.get(this.target):this.target)},getRelatedTarget:function(){return this.browserEvent?d.getRelatedTarget(this.browserEvent):null},getWheelDelta:function(){var b=this.browserEvent;var a=0;if(b.wheelDelta){a=b.wheelDelta/120}else{if(b.detail){a=-b.detail/3}}return a},within:function(b,a,j){if(b){var c=this[a?"getRelatedTarget":"getTarget"]();return c&&((j?(c==Ext.getDom(b)):false)||Ext.fly(b).contains(c))}return false}};return new Ext.EventObjectImpl()}();Ext.apply(Ext.EventManager,function(){var s,m,q,t,u=Ext.lib.Dom,l=Ext.lib.Event,n=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,o=0,p=0,r=Ext.isSafari?Ext.num(navigator.userAgent.toLowerCase().match(/version\/(\d+\.\d)/)[1]||2)>=3.1:!((Ext.isGecko&&!Ext.isWindows)||Ext.isOpera);return{doResizeEvent:function(){var a=u.getViewHeight(),b=u.getViewWidth();if(p!=a||o!=b){s.fire(o=b,p=a)}},onWindowResize:function(c,a,b){if(!s){s=new Ext.util.Event();m=new Ext.util.DelayedTask(this.doResizeEvent);l.on(window,"resize",this.fireWindowResize,this)}s.addListener(c,a,b)},fireWindowResize:function(){if(s){if((Ext.isIE||Ext.isAir)&&m){m.delay(50)}else{s.fire(u.getViewWidth(),u.getViewHeight())}}},onTextResize:function(c,d,b){if(!q){q=new Ext.util.Event();var a=new Ext.Element(document.createElement("div"));a.dom.className="x-text-resize";a.dom.innerHTML="X";a.appendTo(document.body);t=a.dom.offsetHeight;setInterval(function(){if(a.dom.offsetHeight!=t){q.fire(t,t=a.dom.offsetHeight)}},this.textResizeInterval)}q.addListener(c,d,b)},removeResizeListener:function(a,b){if(s){s.removeListener(a,b)}},fireResize:function(){if(s){s.fire(u.getViewWidth(),u.getViewHeight())}},textResizeInterval:50,ieDeferSrc:false,useKeydown:r}}());Ext.EventManager.on=Ext.EventManager.addListener;Ext.apply(Ext.EventObjectImpl.prototype,{BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,CONTROL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGEUP:33,PAGE_DOWN:34,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,isNavKeyPress:function(){var c=this,d=this.normalizeKey(c.keyCode);return(d>=33&&d<=40)||d==c.RETURN||d==c.TAB||d==c.ESC},isSpecialKey:function(){var b=this.normalizeKey(this.keyCode);return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(b==this.BACKSPACE)||(b>=16&&b<=20)||(b>=44&&b<=45)},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)}});(function(){var r=document;Ext.Element=function(d,c){var b=typeof d=="string"?r.getElementById(d):d,a;if(!b){return null}a=b.id;if(!c&&a&&Ext.Element.cache[a]){return Ext.Element.cache[a]}this.dom=b;this.id=a||Ext.id(b)};var y=Ext.lib.Dom,u=Ext.DomHelper,o=Ext.lib.Event,v=Ext.lib.Anim,t=Ext.Element;t.prototype={set:function(a,d){var c=this.dom,e,b;for(e in a){b=a[e];if(e!="style"&&!Ext.isFunction(b)){if(e=="cls"){c.className=b}else{if(a.hasOwnProperty(e)){if(d||!!c.setAttribute){c.setAttribute(e,b)}else{c[e]=b}}}}}if(a.style){Ext.DomHelper.applyStyles(c,a.style)}return this},defaultUnit:"px",is:function(a){return Ext.DomQuery.is(this.dom,a)},focus:function(a,b){var d=this,b=b||d.dom;try{if(Number(a)){d.focus.defer(a,null,[null,b])}else{b.focus()}}catch(c){}return d},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(d,a,b,c){Ext.EventManager.on(this.dom,d,a,b||this,c);return this},removeListener:function(c,a,b){Ext.EventManager.removeListener(this.dom,c,a,b||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},addUnits:function(a){if(a===""||a=="auto"||a===undefined){a=a||""}else{if(!isNaN(a)||!q.test(a)){a=a+(this.defaultUnit||"px")}}return a},load:function(b,a,c){Ext.Ajax.request(Ext.apply({params:a,url:b.url||b,callback:c,el:this.dom,indicatorText:b.indicatorText||""},Ext.isObject(b)?b:{}));return this},isBorderBox:function(){return s[(this.dom.tagName||"").toLowerCase()]||Ext.isBorderBox},remove:function(){var b=this,a=b.dom;b.removeAllListeners();delete t.cache[a.id];delete t.dataCache[a.id];Ext.removeNode(a)},hover:function(d,e,b,c){var a=this;a.on("mouseenter",d,b||a.dom,c);a.on("mouseleave",e,b||a.dom,c);return a},contains:function(a){return !a?false:Ext.lib.Dom.isAncestor(this.dom,a.dom?a.dom:a)},getAttributeNS:function(a,b){return this.getAttribute(b,a)},getAttribute:Ext.isIE?function(d,b){var a=this.dom,c=typeof a[b+":"+d];if(["undefined","unknown"].indexOf(c)==-1){return a[b+":"+d]}return a[d]}:function(c,b){var a=this.dom;return a.getAttributeNS(b,c)||a.getAttribute(b+":"+c)||a.getAttribute(c)||a[c]},update:function(a){this.dom.innerHTML=a;return this}};var n=t.prototype;t.addMethods=function(a){Ext.apply(n,a)};n.on=n.addListener;n.un=n.removeListener;n.autoBoxAdjust=true;var q=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,w;t.cache={};t.dataCache={};t.get=function(d){var e,a,b;if(!d){return null}if(typeof d=="string"){if(!(a=r.getElementById(d))){return null}if(e=t.cache[d]){e.dom=a}else{e=t.cache[d]=new t(a)}return e}else{if(d.tagName){if(!(b=d.id)){b=Ext.id(d)}if(e=t.cache[b]){e.dom=d}else{e=t.cache[b]=new t(d)}return e}else{if(d instanceof t){if(d!=w){d.dom=r.getElementById(d.id)||d.dom;t.cache[d.id]=d}return d}else{if(d.isComposite){return d}else{if(Ext.isArray(d)){return t.select(d)}else{if(d==r){if(!w){var c=function(){};c.prototype=t.prototype;w=new c();w.dom=r}return w}}}}}}return null};t.data=function(c,d,b){var a=t.dataCache[c.id];if(!a){a=t.dataCache[c.id]={}}if(arguments.length==2){return a[d]}else{a[d]=b}};function p(){if(!Ext.enableGarbageCollector){clearInterval(t.collectorThread)}else{var c,b,a;for(c in t.cache){b=t.cache[c];a=b.dom;if(!a||!a.parentNode||(!a.offsetParent&&!r.getElementById(c))){delete t.cache[c];if(a&&Ext.enableListenerCollection){Ext.EventManager.removeAll(a)}}}}}t.collectorThreadId=setInterval(p,30000);var x=function(){};x.prototype=t.prototype;t.Flyweight=function(a){this.dom=a};t.Flyweight.prototype=new x();t.Flyweight.prototype.isFlyweight=true;t._flyweights={};t.fly=function(a,c){var b=null;c=c||"_global";if(a=Ext.getDom(a)){(t._flyweights[c]=t._flyweights[c]||new t.Flyweight()).dom=a;b=t._flyweights[c]}return b};Ext.get=t.get;Ext.fly=t.fly;var s=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){s.button=1}Ext.EventManager.on(window,"unload",function(){delete t.cache;delete t.dataCache;delete t._flyweights})})();Ext.Element.addMethods({swallowEvent:function(g,e){var h=this;function j(a){a.stopPropagation();if(e){a.preventDefault()}}if(Ext.isArray(g)){Ext.each(g,function(a){h.on(a,j)});return h}h.on(g,j);return h},relayEvent:function(d,c){this.on(d,function(a){c.fireEvent(d,a)})},clean:function(h){var m=this,l=m.dom,k=l.firstChild,n=-1;if(Ext.Element.data(l,"isCleaned")&&h!==true){return m}while(k){var j=k.nextSibling;if(k.nodeType==3&&!/\S/.test(k.nodeValue)){l.removeChild(k)}else{k.nodeIndex=++n}k=j}Ext.Element.data(l,"isCleaned",true);return m},load:function(){var b=this.getUpdater();b.update.apply(b,arguments);return this},getUpdater:function(){return this.updateManager||(this.updateManager=new Ext.Updater(this))},update:function(html,loadScripts,callback){html=html||"";if(loadScripts!==true){this.dom.innerHTML=html;if(Ext.isFunction(callback)){callback()}return this}var id=Ext.id(),dom=this.dom;html+='<span id="'+id+'"></span>';Ext.lib.Event.onAvailable(id,function(){var DOC=document,hd=DOC.getElementsByTagName("head")[0],re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,srcRe=/\ssrc=([\'\"])(.*?)\1/i,typeRe=/\stype=([\'\"])(.*?)\1/i,match,attrs,srcMatch,typeMatch,el,s;while((match=re.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){s=DOC.createElement("script");s.src=srcMatch[2];typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}el=DOC.getElementById(id);if(el){Ext.removeNode(el)}if(Ext.isFunction(callback)){callback()}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},createProxy:function(h,j,k){h=Ext.isObject(h)?h:{tag:"div",cls:h};var l=this,g=j?Ext.DomHelper.append(j,h,true):Ext.DomHelper.insertBefore(l.dom,h,true);if(k&&l.setBox&&l.getBox){g.setBox(l.getBox())}return g}});Ext.Element.prototype.getUpdateManager=Ext.Element.prototype.getUpdater;Ext.Element.uncache=function(g){for(var h=0,j=arguments,a=j.length;h<a;h++){if(j[h]){delete Ext.Element.cache[j[h].id||j[h]]}}};Ext.Element.addMethods({getAnchorXY:function(y,t,h){y=(y||"tl").toLowerCase();h=h||{};var u=this,B=u.dom==document.body||u.dom==document,r=h.width||B?Ext.lib.Dom.getViewWidth():u.getWidth(),w=h.height||B?Ext.lib.Dom.getViewHeight():u.getHeight(),o,C=Math.round,A=u.getXY(),s=u.getScroll(),v=B?s.left:!t?A[0]:0,x=B?s.top:!t?A[1]:0,z={c:[C(r*0.5),C(w*0.5)],t:[C(r*0.5),0],l:[0,C(w*0.5)],r:[r,C(w*0.5)],b:[C(r*0.5),w],tl:[0,0],bl:[0,w],br:[r,w],tr:[r,0]};o=z[y];return[o[0]+v,o[1]+x]},anchorTo:function(r,n,q,s,l,k){var m=this,o=m.dom;function p(){Ext.fly(o).alignTo(r,n,q,s);Ext.callback(k,Ext.fly(o))}Ext.EventManager.onWindowResize(p,m);if(!Ext.isEmpty(l)){Ext.EventManager.on(window,"scroll",p,m,{buffer:!isNaN(l)?l:50})}p.call(m);return m},getAlignToXY:function(ad,X,W){ad=Ext.get(ad);if(!ad||!ad.dom){throw"Element.alignToXY with an element that doesn't exist"}W=W||[0,0];X=(X=="?"?"tl-bl?":(!/-/.test(X)&&X!==""?"tl-"+X:X||"tl-bl")).toLowerCase();var o=this,w=o.dom,d,h,Y,Z,T,P,y,R=Ext.lib.Dom.getViewWidth()-10,x=Ext.lib.Dom.getViewHeight()-10,af,ac,ab,aa,O,m,c=document,p=c.documentElement,V=c.body,Q=(p.scrollLeft||V.scrollLeft||0)+5,S=(p.scrollTop||V.scrollTop||0)+5,r=false,ae="",ag="",U=X.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!U){throw"Element.alignTo with an invalid alignment "+X}ae=U[1];ag=U[2];r=!!U[3];d=o.getAnchorXY(ae,true);h=ad.getAnchorXY(ag,false);Y=h[0]-d[0]+W[0];Z=h[1]-d[1]+W[1];if(r){T=o.getWidth();P=o.getHeight();y=ad.getRegion();af=ae.charAt(0);ac=ae.charAt(ae.length-1);ab=ag.charAt(0);aa=ag.charAt(ag.length-1);O=((af=="t"&&ab=="b")||(af=="b"&&ab=="t"));m=((ac=="r"&&aa=="l")||(ac=="l"&&aa=="r"));if(Y+T>R+Q){Y=m?y.left-T:R+Q-T}if(Y<Q){Y=m?y.right:Q}if(Z+P>x+S){Z=O?y.top-P:x+S-P}if(Z<S){Z=O?y.bottom:S}}return[Y,Z]},alignTo:function(l,h,j,g){var k=this;return k.setXY(k.getAlignToXY(l,h,j),k.preanim&&!!g?k.preanim(arguments,3):false)},adjustForConstraints:function(g,e,d){return this.getConstrainToXY(e||document,false,d,g)||g},getConstrainToXY:function(g,h,l,j){var k={top:0,left:0,bottom:0,right:0};return function(K,a,I,G){K=Ext.get(K);I=I?Ext.applyIf(I,k):k;var b,e,c=0,d=0;if(K.dom==document.body||K.dom==document){b=Ext.lib.Dom.getViewWidth();e=Ext.lib.Dom.getViewHeight()}else{b=K.dom.clientWidth;e=K.dom.clientHeight;if(!a){var s=K.getXY();c=s[0];d=s[1]}}var x=K.getScroll();c+=I.left+x.left;d+=I.top+x.top;b-=I.right;e-=I.bottom;var y=c+b;var L=d+e;var J=G||(!a?this.getXY():[this.getLeft(true),this.getTop(true)]);var E=J[0],F=J[1];var D=this.dom.offsetWidth,w=this.dom.offsetHeight;var H=false;if((E+D)>y){E=y-D;H=true}if((F+w)>L){F=L-w;H=true}if(E<c){E=c;H=true}if(F<d){F=d;H=true}return H?[E,F]:false}}(),getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(b){return this.alignTo(b||document,"c-c")}});Ext.Element.addMethods(function(){var k="parentNode",g="nextSibling",l="previousSibling",j=Ext.DomQuery,h=Ext.get;return{findParent:function(a,b,n){var d=this.dom,o=document.body,c=0,e;if(Ext.isGecko&&Object.prototype.toString.call(d)=="[object XULElement]"){return null}b=b||50;if(isNaN(b)){e=Ext.getDom(b);b=Number.MAX_VALUE}while(d&&d.nodeType==1&&c<b&&d!=o&&d!=e){if(j.is(d,a)){return n?h(d):d}c++;d=d.parentNode}return null},findParentNode:function(a,b,d){var c=Ext.fly(this.dom.parentNode,"_internal");return c?c.findParent(a,b,d):null},up:function(a,b){return this.findParentNode(a,b,true)},select:function(b,a){return Ext.Element.select(b,a,this.dom)},query:function(b,a){return j.select(b,this.dom)},child:function(c,b){var a=j.selectNode(c,this.dom);return b?a:h(a)},down:function(c,b){var a=j.selectNode(" > "+c,this.dom);return b?a:h(a)},parent:function(b,a){return this.matchNode(k,k,b,a)},next:function(b,a){return this.matchNode(g,g,b,a)},prev:function(b,a){return this.matchNode(l,l,b,a)},first:function(b,a){return this.matchNode(g,"firstChild",b,a)},last:function(b,a){return this.matchNode(l,"lastChild",b,a)},matchNode:function(d,a,e,c){var b=this.dom[a];while(b){if(b.nodeType==1&&(!e||j.is(b,e))){return !c?h(b):b}b=b[d]}return null}}}());Ext.Element.addMethods(function(){var h=Ext.getDom,g=Ext.get,j=Ext.DomHelper,e=function(a){return(a.nodeType||a.dom||typeof a=="string")};return{appendChild:function(a){return g(a).appendTo(this)},appendTo:function(a){h(a).appendChild(this.dom);return this},insertBefore:function(a){(a=h(a)).parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){(a=h(a)).parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(a,b){a=a||{};if(e(a)){a=h(a);this.dom.insertBefore(a,this.dom.firstChild);return !b?g(a):a}else{return this.createChild(a,this.dom.firstChild,b)}},replace:function(a){a=g(a);this.insertBefore(a);a.remove();return this},replaceWith:function(b){var a=this,c=Ext.Element;if(e(b)){b=h(b);a.dom.parentNode.insertBefore(b,a.dom)}else{b=j.insertBefore(a.dom,b)}delete c.cache[a.id];Ext.removeNode(a.dom);a.id=Ext.id(a.dom=b);return c.cache[a.id]=a},createChild:function(b,c,a){b=b||{tag:"div"};return c?j.insertBefore(c,b,a!==true):j[!this.dom.firstChild?"overwrite":"append"](this.dom,b,a!==true)},wrap:function(c,b){var a=j.insertBefore(this.dom,c||{tag:"div"},!b);a.dom?a.dom.appendChild(this.dom):a.appendChild(this.dom);return a},insertHtml:function(c,b,d){var a=j.insertHtml(c,this.dom,b);return d?Ext.get(a):a}}}());Ext.apply(Ext.Element.prototype,function(){var g=Ext.getDom,e=Ext.get,d=Ext.DomHelper;return{insertSibling:function(b,j,c){var a=this,k;if(Ext.isArray(b)){Ext.each(b,function(h){k=a.insertSibling(h,j,c)});return k}j=(j||"before").toLowerCase();b=b||{};if(b.nodeType||b.dom){k=a.dom.parentNode.insertBefore(g(b),j=="before"?a.dom:a.dom.nextSibling);if(!c){k=e(k)}}else{if(j=="after"&&!a.dom.nextSibling){k=d.append(a.dom.parentNode,b,!c)}else{k=d[j=="after"?"insertAfter":"insertBefore"](a.dom,b,!c)}}return k}}}());Ext.Element.addMethods(function(){var ac={},G=/(-[a-z])/gi,ah={},M=document.defaultView,J=Ext.isIE?"styleFloat":"cssFloat",O=/alpha\(opacity=(.*)\)/i,Y=/^\s+|\s+$/g,S=Ext.Element,af="padding",ag="margin",F="border",K="-left",Q="-right",H="-top",V="-bottom",aa="-width",N=Math,U="hidden",ae="isClipped",Z="overflow",W="overflow-x",X="overflow-y",P="originalClip",ab={l:F+K+aa,r:F+Q+aa,t:F+H+aa,b:F+V+aa},ad={l:af+K,r:af+Q,t:af+H,b:af+V},ai={l:ag+K,r:ag+Q,t:ag+H,b:ag+V},L=Ext.Element.data;function R(b,a){return a.charAt(1).toUpperCase()}function T(b,c){var a=0;Ext.each(b.match(/\w/g),function(d){if(d=parseInt(this.getStyle(c[d]),10)){a+=N.abs(d)}},this);return a}function I(a){return ac[a]||(ac[a]=a=="float"?J:a.replace(G,R))}return{adjustWidth:function(c){var b=this;var a=(typeof c=="number");if(a&&b.autoBoxAdjust&&!b.isBorderBox()){c-=(b.getBorderWidth("lr")+b.getPadding("lr"))}return(a&&c<0)?0:c},adjustHeight:function(c){var b=this;var a=(typeof c=="number");if(a&&b.autoBoxAdjust&&!b.isBorderBox()){c-=(b.getBorderWidth("tb")+b.getPadding("tb"))}return(a&&c<0)?0:c},addClass:function(b){var a=this;Ext.each(b,function(c){a.dom.className+=(!a.hasClass(c)&&c?" "+c:"")});return a},radioClass:function(a){Ext.each(this.dom.parentNode.childNodes,function(b){if(b.nodeType==1){Ext.fly(b,"_internal").removeClass(a)}});return this.addClass(a)},removeClass:function(b){var a=this;if(a.dom.className){Ext.each(b,function(c){a.dom.className=a.dom.className.replace(ah[c]=ah[c]||new RegExp("(?:^|\\s+)"+c+"(?:\\s+|$)","g")," ")})}return 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(a,b){return this.removeClass(a).addClass(b)},isStyle:function(b,a){return this.getStyle(b)==a},getStyle:function(){return M&&M.getComputedStyle?function(a){var b=this.dom,d,c;if(b==document){return null}a=I(a);return(d=b.style[a])?d:(c=M.getComputedStyle(b,""))?c[a]:null}:function(a){var c=this.dom,e,d;if(c==document){return null}if(a=="opacity"){if(c.style.filter.match){if(e=c.style.filter.match(O)){var b=parseFloat(e[1]);if(!isNaN(b)){return b?b/100:0}}}return 1}a=I(a);return c.style[a]||((d=c.currentStyle)?d[a]:null)}}(),getColor:function(g,e,a){var c=this.getStyle(g),d=a||"#",b;if(!c||/transparent|inherit/.test(c)){return e}if(/^r/.test(c)){Ext.each(c.slice(4,c.length-1).split(","),function(h){b=parseInt(h,10);d+=(b<16?"0":"")+b.toString(16)})}else{c=c.replace("#","");d+=c.length==3?c.replace(/^(\w)(\w)(\w)$/,"$1$1$2$2$3$3"):c}return(d.length>5?d.toLowerCase():e)},setStyle:function(a,b){var d,c,e;if(!Ext.isObject(a)){d={};d[a]=b;a=d}for(c in a){b=a[c];c=="opacity"?this.setOpacity(b):this.dom.style[I(c)]=b}return this},setOpacity:function(e,g){var b=this,d=b.dom.style;if(!g||!b.anim){if(Ext.isIE){var c=e<1?"alpha(opacity="+e*100+")":"",a=d.filter.replace(O,"").replace(Y,"");d.zoom=1;d.filter=a+(a.length>0?" ":"")+c}else{d.opacity=e}}else{b.anim({opacity:{to:e}},b.preanim(arguments,1),null,0.35,"easeIn")}return b},clearOpacity:function(){var a=this.dom.style;if(Ext.isIE){if(!Ext.isEmpty(a.filter)){a.filter=a.filter.replace(O,"").replace(Y,"")}}else{a.opacity=a["-moz-opacity"]=a["-khtml-opacity"]=""}return this},getHeight:function(b){var c=this,a=c.dom,d=N.max(a.offsetHeight,a.clientHeight)||0;d=!b?d:d-c.getBorderWidth("tb")-c.getPadding("tb");return d<0?0:d},getWidth:function(c){var b=this,a=b.dom,d=N.max(a.offsetWidth,a.clientWidth)||0;d=!c?d:d-b.getBorderWidth("lr")-b.getPadding("lr");return d<0?0:d},setWidth:function(b,c){var a=this;b=a.adjustWidth(b);!c||!a.anim?a.dom.style.width=a.addUnits(b):a.anim({width:{to:b}},a.preanim(arguments,1));return a},setHeight:function(c,b){var a=this;c=a.adjustHeight(c);!b||!a.anim?a.dom.style.height=a.addUnits(c):a.anim({height:{to:c}},a.preanim(arguments,1));return a},getBorderWidth:function(a){return T.call(this,a,ab)},getPadding:function(a){return T.call(this,a,ad)},clip:function(){var b=this,a=b.dom;if(!L(a,ae)){L(a,ae,true);L(a,P,{o:b.getStyle(Z),x:b.getStyle(W),y:b.getStyle(X)});b.setStyle(Z,U);b.setStyle(W,U);b.setStyle(X,U)}return b},unclip:function(){var c=this,a=c.dom;if(L(a,ae)){L(a,ae,false);var b=L(a,P);if(b.o){c.setStyle(Z,b.o)}if(b.x){c.setStyle(W,b.x)}if(b.y){c.setStyle(X,b.y)}}return c},addStyles:T,margins:ai}}());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 b="_internal";return{applyStyles:function(a){Ext.DomHelper.applyStyles(this.dom,a);return this},getStyles:function(){var a={};Ext.each(arguments,function(d){a[d]=this.getStyle(d)},this);return a},getStyleSize:function(){var h=this,a,j,d=this.dom,k=d.style;if(k.width&&k.width!="auto"){a=parseInt(k.width,10);if(h.isBorderBox()){a-=h.getFrameWidth("lr")}}if(k.height&&k.height!="auto"){j=parseInt(k.height,10);if(h.isBorderBox()){j-=h.getFrameWidth("tb")}}return{width:a||h.getWidth(true),height:j||h.getHeight(true)}},setOverflow:function(a){var d=this.dom;if(a=="auto"&&Ext.isMac&&Ext.isGecko2){d.style.overflow="hidden";(function(){d.style.overflow="auto"}).defer(1)}else{d.style.overflow=a}},boxWrap:function(a){a=a||"x-box";var d=Ext.get(this.insertHtml("beforeBegin","<div class='"+a+"'>"+String.format(Ext.Element.boxMarkup,a)+"</div>"));Ext.DomQuery.selectNode("."+a+"-mc",d.dom).appendChild(this.dom);return d},setSize:function(h,a,j){var g=this;if(Ext.isObject(h)){a=h.height;h=h.width}h=g.adjustWidth(h);a=g.adjustHeight(a);if(!j||!g.anim){g.dom.style.width=g.addUnits(h);g.dom.style.height=g.addUnits(a)}else{g.anim({width:{to:h},height:{to:a}},g.preanim(arguments,2))}return g},getComputedHeight:function(){var d=this,a=Math.max(d.dom.offsetHeight,d.dom.clientHeight);if(!a){a=parseInt(d.getStyle("height"),10)||0;if(!d.isBorderBox()){a+=d.getFrameWidth("tb")}}return a},getComputedWidth:function(){var a=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!a){a=parseInt(this.getStyle("width"),10)||0;if(!this.isBorderBox()){a+=this.getFrameWidth("lr")}}return a},getFrameWidth:function(d,a){return a&&this.isBorderBox()?0:(this.getPadding(d)+this.getBorderWidth(d))},addClassOnOver:function(a){this.hover(function(){Ext.fly(this,b).addClass(a)},function(){Ext.fly(this,b).removeClass(a)});return this},addClassOnFocus:function(a){this.on("focus",function(){Ext.fly(this,b).addClass(a)},this.dom);this.on("blur",function(){Ext.fly(this,b).removeClass(a)},this.dom);return this},addClassOnClick:function(a){var d=this.dom;this.on("mousedown",function(){Ext.fly(d,b).addClass(a);var c=Ext.getDoc(),h=function(){Ext.fly(d,b).removeClass(a);c.removeListener("mouseup",h)};c.on("mouseup",h)});return this},getViewSize:function(){var h=document,d=this.dom,j=Ext.lib.Dom,a=(d==h||d==h.body);return{width:(a?j.getViewWidth():d.clientWidth),height:(a?j.getViewHeight():d.clientHeight)}},getSize:function(a){return{width:this.getWidth(a),height:this.getHeight(a)}},repaint:function(){var a=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.fly(a).removeClass("x-repaint")},1);return this},unselectable:function(){this.dom.unselectable="on";return this.swallowEvent("selectstart",true).applyStyles("-moz-user-select:none;-khtml-user-select:none;").addClass("x-unselectable")},getMargins:function(l){var k=this,a,j={t:"top",l:"left",r:"right",b:"bottom"},h={};if(!l){for(a in k.margins){h[j[a]]=parseInt(k.getStyle(k.margins[a]),10)||0}return h}else{return k.addStyles.call(k,l,k.margins)}}}}());(function(){var w=Ext.lib.Dom,v="left",r="right",t="top",p="bottom",q="position",u="static",s="relative",o="auto",n="z-index";function m(c,a,b){return this.preanim&&!!a?this.preanim(c,b):false}Ext.Element.addMethods({getX:function(){return w.getX(this.dom)},getY:function(){return w.getY(this.dom)},getXY:function(){return w.getXY(this.dom)},getOffsetsTo:function(a){var b=this.getXY(),c=Ext.fly(a,"_internal").getXY();return[b[0]-c[0],b[1]-c[1]]},setX:function(a,b){return this.setXY([a,this.getY()],m.call(this,arguments,b,1))},setY:function(b,a){return this.setXY([this.getX(),b],m.call(this,arguments,a,1))},setLeft:function(a){this.setStyle(v,this.addUnits(a));return this},setTop:function(a){this.setStyle(t,this.addUnits(a));return this},setRight:function(a){this.setStyle(r,this.addUnits(a));return this},setBottom:function(a){this.setStyle(p,this.addUnits(a));return this},setXY:function(b,a){var c=this;if(!a||!c.anim){w.setXY(c.dom,b)}else{c.anim({points:{to:b}},c.preanim(arguments,1),"motion")}return c},setLocation:function(a,b,c){return this.setXY([a,b],m.call(this,arguments,c,2))},moveTo:function(a,b,c){return this.setXY([a,b],m.call(this,arguments,c,2))},getLeft:function(a){return !a?this.getX():parseInt(this.getStyle(v),10)||0},getRight:function(a){var b=this;return !a?b.getX()+b.getWidth():(b.getLeft(true)+b.getWidth())||0},getTop:function(a){return !a?this.getY():parseInt(this.getStyle(t),10)||0},getBottom:function(a){var b=this;return !a?b.getY()+b.getHeight():(b.getTop(true)+b.getHeight())||0},position:function(b,c,a,d){var e=this;if(!b&&e.isStyle(q,u)){e.setStyle(q,s)}else{if(b){e.setStyle(q,b)}}if(c){e.setStyle(n,c)}if(a||d){e.setXY([a||false,d||false])}},clearPositioning:function(a){a=a||"";this.setStyle({left:a,right:a,top:a,bottom:a,"z-index":"",position:u});return this},getPositioning:function(){var a=this.getStyle(v);var b=this.getStyle(t);return{position:this.getStyle(q),left:a,right:a?"":this.getStyle(r),top:b,bottom:b?"":this.getStyle(p),"z-index":this.getStyle(n)}},setPositioning:function(a){var b=this,c=b.dom.style;b.setStyle(a);if(a.right==o){c.right=""}if(a.bottom==o){c.bottom=""}return b},translatePoints:function(a,b){b=isNaN(a[1])?b:a[1];a=isNaN(a[0])?a:a[0];var e=this,d=e.isStyle(q,s),c=e.getXY(),h=parseInt(e.getStyle(v),10),g=parseInt(e.getStyle(t),10);h=!isNaN(h)?h:(d?0:e.dom.offsetLeft);g=!isNaN(g)?g:(d?0:e.dom.offsetTop);return{left:(a-c[0]+h),top:(b-c[1]+g)}},animTest:m})})();Ext.Element.addMethods({setBox:function(l,k,h){var m=this,j=l.width,n=l.height;if((k&&!m.autoBoxAdjust)&&!m.isBorderBox()){j-=(m.getBorderWidth("lr")+m.getPadding("lr"));n-=(m.getBorderWidth("tb")+m.getPadding("tb"))}m.setBounds(l.x,l.y,j,n,m.animTest.call(m,arguments,h,2));return m},getBox:function(x,h){var t=this,E,A,l,B=t.getBorderWidth,b=t.getPadding,z,D,F,r;if(!h){E=t.getXY()}else{A=parseInt(t.getStyle("left"),10)||0;l=parseInt(t.getStyle("top"),10)||0;E=[A,l]}var C=t.dom,G=C.offsetWidth,y=C.offsetHeight,w;if(!x){w={x:E[0],y:E[1],0:E[0],1:E[1],width:G,height:y}}else{z=B.call(t,"l")+b.call(t,"l");D=B.call(t,"r")+b.call(t,"r");F=B.call(t,"t")+b.call(t,"t");r=B.call(t,"b")+b.call(t,"b");w={x:E[0]+z,y:E[1]+F,0:E[0]+z,1:E[1]+F,width:G-(z+D),height:y-(F+r)}}w.right=w.x+w.width;w.bottom=w.y+w.height;return w},move:function(q,x,w){var t=this,n=t.getXY(),p=n[0],r=n[1],v=[p-x,r],o=[p+x,r],s=[p,r-x],y=[p,r+x],u={l:v,left:v,r:o,right:o,t:s,top:s,up:s,b:y,bottom:y,down:y};q=q.toLowerCase();t.moveTo(u[q][0],u[q][1],t.animTest.call(t,arguments,w,2))},setLeftTop:function(h,j){var e=this,g=e.dom.style;g.left=e.addUnits(h);g.top=e.addUnits(j);return e},getRegion:function(){return Ext.lib.Dom.getRegion(this.dom)},setBounds:function(h,k,m,j,n){var l=this;if(!n||!l.anim){l.setSize(m,j);l.setLocation(h,k)}else{l.anim({points:{to:[h,k]},width:{to:l.adjustWidth(m)},height:{to:l.adjustHeight(j)}},l.preanim(arguments,4),"motion")}return l},setRegion:function(c,d){return this.setBounds(c.left,c.top,c.right-c.left,c.bottom-c.top,this.animTest.call(this,arguments,d,1))}});Ext.Element.addMethods({isScrollable:function(){var b=this.dom;return b.scrollHeight>b.clientHeight||b.scrollWidth>b.clientWidth},scrollTo:function(d,c){this.dom["scroll"+(/top/i.test(d)?"Top":"Left")]=c;return this},getScroll:function(){var k=this.dom,l=document,j=l.body,o=l.documentElement,d,m,n;if(k==l||k==j){if(Ext.isIE&&Ext.isStrict){d=o.scrollLeft;m=o.scrollTop}else{d=window.pageXOffset;m=window.pageYOffset}n={left:d||(j?j.scrollLeft:0),top:m||(j?j.scrollTop:0)}}else{n={left:k.scrollLeft,top:k.scrollTop}}return n}});Ext.Element.addMethods({scrollTo:function(p,n,j){var k=/top/i,l="scroll"+(k.test(p)?"Top":"Left"),o=this,m=o.dom;if(!j||!o.anim){m[l]=n}else{o.anim({scroll:{to:k.test(l)?[m[l],n]:[n,m[l]]}},o.preanim(arguments,2),"scroll")}return o},scrollIntoView:function(y,v){var c=Ext.getDom(y)||Ext.getBody().dom,w=this.dom,x=this.getOffsetsTo(c),r=x[0]+c.scrollLeft,B=x[1]+c.scrollTop,b=B+w.offsetHeight,z=r+w.offsetWidth,A=c.clientHeight,o=parseInt(c.scrollTop,10),C=parseInt(c.scrollLeft,10),t=o+A,l=C+c.clientWidth;if(w.offsetHeight>A||B<o){c.scrollTop=B}else{if(b>t){c.scrollTop=b-A}}c.scrollTop=c.scrollTop;if(v!==false){if(w.offsetWidth>c.clientWidth||r<C){c.scrollLeft=r}else{if(z>l){c.scrollLeft=z-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(c,d){Ext.fly(c,"_scrollChildIntoView").scrollIntoView(this,d)},scroll:function(r,z,x){if(!this.isScrollable()){return}var w=this.dom,v=w.scrollLeft,h=w.scrollTop,q=w.scrollWidth,s=w.scrollHeight,u=w.clientWidth,A=w.clientHeight,y=false,l,t={l:Math.min(v+z,q-u),r:l=Math.max(v-z,0),t:Math.max(h-z,0),b:Math.min(h+z,s-A)};t.d=t.b;t.u=t.t;r=r.substr(0,1);if((l=t[r])>-1){y=true;this.scrollTo(r=="l"||r=="r"?"left":"top",l,this.preanim(arguments,2))}return y}});Ext.Element.VISIBILITY=1;Ext.Element.DISPLAY=2;Ext.Element.addMethods(function(){var o="visibility",r="display",t="hidden",m="none",u="originalDisplay",s="visibilityMode",q=Ext.Element.DISPLAY,p=Ext.Element.data,n=function(a){var b=p(a,u);if(b===undefined){p(a,u,b="")}return b},l=function(b){var a=p(b,s);if(a===undefined){p(b,s,a=1)}return a};return{originalDisplay:"",visibilityMode:1,setVisibilityMode:function(a){p(this.dom,s,a);return this},animate:function(a,d,e,c,b){this.anim(a,{duration:d,callback:e,easing:c},b);return this},anim:function(h,g,a,d,j,b){a=a||"run";g=g||{};var e=this,c=Ext.lib.Anim[a](e.dom,h,(g.duration||d)||0.35,(g.easing||j)||"easeOut",function(){if(b){b.call(e)}if(g.callback){g.callback.call(g.scope||e,e,g)}},e);g.anim=c;return c},preanim:function(b,a){return !b[a]?false:(Ext.isObject(b[a])?b[a]:{duration:b[a+1],callback:b[a+2],easing:b[a+3]})},isVisible:function(){return !this.isStyle(o,t)&&!this.isStyle(r,m)},setVisible:function(c,a){var e=this,d=e.dom,b=l(this.dom)==q;if(!a||!e.anim){if(b){e.setDisplayed(c)}else{e.fixDisplay();d.style.visibility=c?"visible":t}}else{if(c){e.setOpacity(0.01);e.setVisible(true)}e.anim({opacity:{to:(c?1:0)}},e.preanim(arguments,1),null,0.35,"easeIn",function(){if(!c){d.style[b?r:o]=(b)?m:t;Ext.fly(d).setOpacity(1)}})}return e},toggle:function(b){var a=this;a.setVisible(!a.isVisible(),a.preanim(arguments,0));return a},setDisplayed:function(a){if(typeof a=="boolean"){a=a?n(this.dom):m}this.setStyle(r,a);return this},fixDisplay:function(){var a=this;if(a.isStyle(r,m)){a.setStyle(o,t);a.setStyle(r,n(this.dom));if(a.isStyle(r,m)){a.setStyle(r,"block")}}},hide:function(a){this.setVisible(false,this.preanim(arguments,0));return this},show:function(a){this.setVisible(true,this.preanim(arguments,0));return this}}}());Ext.Element.addMethods(function(){var o="visibility",j="display",k="hidden",l="none",p="x-masked",m="x-masked-relative",n=Ext.Element.data;return{isVisible:function(c){var b=!this.isStyle(o,k)&&!this.isStyle(j,l),a=this.dom.parentNode;if(c!==true||!b){return b}while(a&&!/body/i.test(a.tagName)){if(!Ext.fly(a,"_isVisible").isVisible()){return false}a=a.parentNode}return true},isDisplayed:function(){return !this.isStyle(j,l)},enableDisplayMode:function(a){this.setVisibilityMode(Ext.Element.DISPLAY);if(!Ext.isEmpty(a)){n(this.dom,"originalDisplay",a)}return this},mask:function(r,d){var b=this,g=b.dom,c=Ext.DomHelper,e="ext-el-mask-msg",s,a;if(b.getStyle("position")=="static"){b.addClass(m)}if((s=n(g,"maskMsg"))){s.remove()}if((s=n(g,"mask"))){s.remove()}a=c.append(g,{cls:"ext-el-mask"},true);n(g,"mask",a);b.addClass(p);a.setDisplayed(true);if(typeof r=="string"){var h=c.append(g,{cls:e,cn:{tag:"div"}},true);n(g,"maskMsg",h);h.dom.className=d?e+" "+d:e;h.dom.firstChild.innerHTML=r;h.setDisplayed(true);h.center(b)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&b.getStyle("height")=="auto"){a.setSize(undefined,b.getHeight())}return a},unmask:function(){var b=this,a=b.dom,d=n(a,"mask"),c=n(a,"maskMsg");if(d){if(c){c.remove();n(a,"maskMsg",undefined)}d.remove();n(a,"mask",undefined)}b.removeClass([p,m])},isMasked:function(){var a=n(this.dom,"mask");return a&&a.isVisible()},createShim:function(){var b=document.createElement("iframe"),a;b.frameBorder="0";b.className="ext-shim";if(Ext.isIE&&Ext.isSecure){b.src=Ext.SSL_SECURE_URL}a=Ext.get(this.dom.parentNode.insertBefore(b,this.dom));a.autoBoxAdjust=false;return a}}}());Ext.Element.addMethods({addKeyListener:function(e,h,j){var g;if(!Ext.isObject(e)||Ext.isArray(e)){g={key:e,fn:h,scope:j}}else{g={key:e.key,shift:e.shift,ctrl:e.ctrl,alt:e.alt,fn:h,scope:j}}return new Ext.KeyMap(this,g)},addKeyMap:function(b){return new Ext.KeyMap(this,b)}});(function(){var C=null,M=undefined,R=true,H=false,S="setX",U="setY",aa="setXY",O="left",Q="bottom",I="top",P="right",K="height",V="width",T="points",E="hidden",B="absolute",G="visible",W="motion",N="position",J="easeOut",X=new Ext.Element.Flyweight(),F={},D=function(a){return a||{}},L=function(a){X.dom=a;X.id=Ext.id(a);return X},Y=function(a){if(!F[a]){F[a]=[]}return F[a]},Z=function(a,b){F[a]=b};Ext.enableFx=R;Ext.Fx={switchStatements:function(b,a,c){return a.apply(this,c[b])},slideIn:function(m,p){p=D(p);var k=this,n=k.dom,g=n.style,d,c,h,a,b,g,l,e,j,o;m=m||"t";k.queueFx(p,function(){d=L(n).getXY();L(n).fixDisplay();c=L(n).getFxRestore();h={x:d[0],y:d[1],0:d[0],1:d[1],width:n.offsetWidth,height:n.offsetHeight};h.right=h.x+h.width;h.bottom=h.y+h.height;L(n).setWidth(h.width).setHeight(h.height);a=L(n).fxWrap(c.pos,p,E);g.visibility=G;g.position=B;function r(){L(n).fxUnwrap(a,c.pos,p);g.width=c.width;g.height=c.height;L(n).afterFx(p)}e={to:[h.x,h.y]};j={to:h.width};o={to:h.height};function q(y,ad,x,A,v,t,ae,af,s,w,z){var u={};L(y).setWidth(x).setHeight(A);if(L(y)[v]){L(y)[v](t)}ad[ae]=ad[af]="0";if(s){u.width=s}if(w){u.height=w}if(z){u.points=z}return u}l=L(n).switchStatements(m.toLowerCase(),q,{t:[a,g,h.width,0,C,C,O,Q,C,o,C],l:[a,g,0,h.height,C,C,P,I,j,C,C],r:[a,g,h.width,h.height,S,h.right,O,I,C,C,e],b:[a,g,h.width,h.height,U,h.bottom,O,I,C,o,e],tl:[a,g,0,0,C,C,P,Q,j,o,e],bl:[a,g,0,0,U,h.y+h.height,P,I,j,o,e],br:[a,g,0,0,aa,[h.right,h.bottom],O,I,j,o,e],tr:[a,g,0,0,S,h.x+h.width,O,Q,j,o,e]});g.visibility=G;L(a).show();arguments.callee.anim=L(a).fxanim(l,p,W,0.5,J,r)});return k},slideOut:function(l,a){a=D(a);var j=this,m=j.dom,e=m.style,d=j.getXY(),b,c,h,g,k={to:0};l=l||"t";j.queueFx(a,function(){c=L(m).getFxRestore();h={x:d[0],y:d[1],0:d[0],1:d[1],width:m.offsetWidth,height:m.offsetHeight};h.right=h.x+h.width;h.bottom=h.y+h.height;L(m).setWidth(h.width).setHeight(h.height);b=L(m).fxWrap(c.pos,a,G);e.visibility=G;e.position=B;L(b).setWidth(h.width).setHeight(h.height);function o(){a.useDisplay?L(m).setDisplayed(H):L(m).hide();L(m).fxUnwrap(b,c.pos,a);e.width=c.width;e.height=c.height;L(m).afterFx(a)}function n(y,q,s,p,u,r,v,t,w){var x={};y[q]=y[s]="0";x[p]=u;if(r){x[r]=v}if(t){x[t]=w}return x}g=L(m).switchStatements(l.toLowerCase(),n,{t:[e,O,Q,K,k],l:[e,P,I,V,k],r:[e,O,I,V,k,T,{to:[h.right,h.y]}],b:[e,O,I,K,k,T,{to:[h.x,h.bottom]}],tl:[e,P,Q,V,k,K,k],bl:[e,P,I,V,k,K,k,T,{to:[h.x,h.bottom]}],br:[e,O,I,V,k,K,k,T,{to:[h.x+h.width,h.bottom]}],tr:[e,O,Q,V,k,K,k,T,{to:[h.right,h.y]}]});arguments.callee.anim=L(b).fxanim(g,a,W,0.5,J,o)});return j},puff:function(a){a=D(a);var c=this,b=c.dom,g=b.style,e,h,d;c.queueFx(a,function(){e=L(b).getWidth();h=L(b).getHeight();L(b).clearOpacity();L(b).show();d=L(b).getFxRestore();function j(){a.useDisplay?L(b).setDisplayed(H):L(b).hide();L(b).clearOpacity();L(b).setPositioning(d.pos);g.width=d.width;g.height=d.height;g.fontSize="";L(b).afterFx(a)}arguments.callee.anim=L(b).fxanim({width:{to:L(b).adjustWidth(e*2)},height:{to:L(b).adjustHeight(h*2)},points:{by:[-e*0.5,-h*0.5]},opacity:{to:0},fontSize:{to:200,unit:"%"}},a,W,0.5,J,j)});return c},switchOff:function(a){a=D(a);var c=this,b=c.dom,e=b.style,d;c.queueFx(a,function(){L(b).clearOpacity();L(b).clip();d=L(b).getFxRestore();function g(){a.useDisplay?L(b).setDisplayed(H):L(b).hide();L(b).clearOpacity();L(b).setPositioning(d.pos);e.width=d.width;e.height=d.height;L(b).afterFx(a)}L(b).fxanim({opacity:{to:0.3}},C,C,0.1,C,function(){L(b).clearOpacity();(function(){L(b).fxanim({height:{to:1},points:{by:[0,L(b).getHeight()*0.5]}},a,W,0.3,"easeIn",g)}).defer(100)})});return c},highlight:function(e,a){a=D(a);var c=this,b=c.dom,h=a.attr||"backgroundColor",g={},d;c.queueFx(a,function(){L(b).clearOpacity();L(b).show();function j(){b.style[h]=d;L(b).afterFx(a)}d=b.style[h];g[h]={from:e||"ffff9c",to:a.endColor||L(b).getColor(h)||"ffffff"};arguments.callee.anim=L(b).fxanim(g,a,"color",1,"easeIn",j)});return c},frame:function(h,d,a){a=D(a);var e=this,b=e.dom,g,c;e.queueFx(a,function(){h=h||"#C3DAF9";if(h.length==6){h="#"+h}d=d||1;L(b).show();var j=L(b).getXY(),l={x:j[0],y:j[1],0:j[0],1:j[1],width:b.offsetWidth,height:b.offsetHeight},m=function(){g=L(document.body||document.documentElement).createChild({style:{visbility:E,position:B,"z-index":35000,border:"0px solid "+h}});return g.queueFx({},k)};arguments.callee.anim={isAnimated:true,stop:function(){d=0;g.stopFx()}};function k(){var n=Ext.isBorderBox?2:1;c=g.anim({top:{from:l.y,to:l.y-20},left:{from:l.x,to:l.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:l.height,to:l.height+20*n},width:{from:l.width,to:l.width+20*n}},{duration:a.duration||1,callback:function(){g.remove();--d>0?m():L(b).afterFx(a)}});arguments.callee.anim={isAnimated:true,stop:function(){c.stop()}}}m()});return e},pause:function(a){var b=this.dom,c;this.queueFx({},function(){c=setTimeout(function(){L(b).afterFx({})},a*1000);arguments.callee.anim={isAnimated:true,stop:function(){clearTimeout(c);L(b).afterFx({})}}});return this},fadeIn:function(b){b=D(b);var d=this,c=d.dom,a=b.endOpacity||1;d.queueFx(b,function(){L(c).setOpacity(0);L(c).fixDisplay();c.style.visibility=G;arguments.callee.anim=L(c).fxanim({opacity:{to:a}},b,C,0.5,J,function(){if(a==1){L(c).clearOpacity()}L(c).afterFx(b)})});return d},fadeOut:function(b){b=D(b);var d=this,c=d.dom,e=c.style,a=b.endOpacity||0;d.queueFx(b,function(){arguments.callee.anim=L(c).fxanim({opacity:{to:a}},b,C,0.5,J,function(){if(a==0){Ext.Element.data(c,"visibilityMode")==Ext.Element.DISPLAY||b.useDisplay?e.display="none":e.visibility=E;L(c).clearOpacity()}L(c).afterFx(b)})});return d},scale:function(c,b,a){this.shift(Ext.apply({},a,{width:c,height:b}));return this},shift:function(a){a=D(a);var b=this.dom,c={};this.queueFx(a,function(){for(var d in a){if(a[d]!=M){c[d]={to:a[d]}}}c.width?c.width.to=L(b).adjustWidth(a.width):c;c.height?c.height.to=L(b).adjustWidth(a.height):c;if(c.x||c.y||c.xy){c.points=c.xy||{to:[c.x?c.x.to:L(b).getX(),c.y?c.y.to:L(b).getY()]}}arguments.callee.anim=L(b).fxanim(c,a,W,0.35,J,function(){L(b).afterFx(a)})});return this},ghost:function(l,b){b=D(b);var j=this,a=j.dom,e=a.style,h={opacity:{to:0},points:{}},d=h.points,c,g,k;l=l||"b";j.queueFx(b,function(){c=L(a).getFxRestore();g=L(a).getWidth();k=L(a).getHeight();function m(){b.useDisplay?L(a).setDisplayed(H):L(a).hide();L(a).clearOpacity();L(a).setPositioning(c.pos);e.width=c.width;e.height=c.height;L(a).afterFx(b)}d.by=L(a).switchStatements(l.toLowerCase(),function(n,o){return[n,o]},{t:[0,-k],l:[-g,0],r:[g,0],b:[0,k],tl:[-g,-k],bl:[-g,k],br:[g,k],tr:[g,-k]});arguments.callee.anim=L(a).fxanim(h,b,W,0.5,J,m)});return j},syncFx:function(){var a=this;a.fxDefaults=Ext.apply(a.fxDefaults||{},{block:H,concurrent:R,stopFx:H});return a},sequenceFx:function(){var a=this;a.fxDefaults=Ext.apply(a.fxDefaults||{},{block:H,concurrent:H,stopFx:H});return a},nextFx:function(){var a=Y(this.dom.id)[0];if(a){a.call(this)}},hasActiveFx:function(){return Y(this.dom.id)[0]},stopFx:function(d){var c=this,a=c.dom.id;if(c.hasActiveFx()){var b=Y(a)[0];if(b&&b.anim){if(b.anim.isAnimated){Z(a,[b]);b.anim.stop(d!==undefined?d:R)}else{Z(a,[])}}}return c},beforeFx:function(a){if(this.hasActiveFx()&&!a.concurrent){if(a.stopFx){this.stopFx();return R}return H}return R},hasFxBlock:function(){var a=Y(this.dom.id);return a&&a[0]&&a[0].block},queueFx:function(a,d){var c=this;if(!c.hasFxBlock()){Ext.applyIf(a,c.fxDefaults);if(!a.concurrent){var b=c.beforeFx(a);d.block=a.block;Y(c.dom.id).push(d);if(b){c.nextFx()}}else{d.call(c)}}return c},fxWrap:function(a,c,e){var d=this.dom,g,h;if(!c.wrap||!(g=Ext.getDom(c.wrap))){if(c.fixPosition){h=L(d).getXY()}var b=document.createElement("div");b.style.visibility=e;g=d.parentNode.insertBefore(b,d);L(g).setPositioning(a);if(L(g).isStyle(N,"static")){L(g).position("relative")}L(d).clearPositioning("auto");L(g).clip();g.appendChild(d);if(h){L(g).setXY(h)}}return g},fxUnwrap:function(d,a,b){var c=this.dom;L(c).clearPositioning();L(c).setPositioning(a);if(!b.wrap){d.parentNode.insertBefore(c,d);L(d).remove()}},getFxRestore:function(){var a=this.dom.style;return{pos:this.getPositioning(),width:a.width,height:a.height}},afterFx:function(c){var d=this.dom,a=d.id,b=!c.concurrent;if(c.afterStyle){L(d).setStyle(c.afterStyle)}if(c.afterCls){L(d).addClass(c.afterCls)}if(c.remove==R){L(d).remove()}if(b){Y(a).shift()}if(c.callback){c.callback.call(c.scope,L(d))}if(b){L(d).nextFx()}},fxanim:function(d,c,g,b,e,h){g=g||"run";c=c||{};var a=Ext.lib.Anim[g](this.dom,d,(c.duration||b)||0.35,(c.easing||e)||J,h,this);c.anim=a;return a}};Ext.Fx.resize=Ext.Fx.scale;Ext.Element.addMethods(Ext.Fx)})();Ext.CompositeElementLite=function(c,d){this.elements=[];this.add(c,d);this.el=new Ext.Element.Flyweight()};Ext.CompositeElementLite.prototype={isComposite:true,getCount:function(){return this.elements.length},add:function(c){if(c){if(Ext.isArray(c)){this.elements=this.elements.concat(c)}else{var d=this.elements;Ext.each(c,function(a){d.push(a)})}}return this},invoke:function(h,g){var e=this.elements,j=this.el;Ext.each(e,function(a){j.dom=a;Ext.Element.prototype[h].apply(j,g)});return this},item:function(d){var c=this;if(!c.elements[d]){return null}c.el.dom=c.elements[d];return c.el},addListener:function(g,h,j,e){Ext.each(this.elements,function(a){Ext.EventManager.on(a,g,h,j||a,e)});return this},each:function(j,e){var h=this,g=h.el;Ext.each(h.elements,function(a,b){g.dom=a;return j.call(e||g,g,h,b)});return h},indexOf:function(b){return this.elements.indexOf(Ext.getDom(b))},replaceElement:function(k,l,h){var d=!isNaN(k)?k:this.indexOf(k),j;if(d>-1){l=Ext.getDom(l);if(h){j=this.elements[d];j.parentNode.insertBefore(l,j);Ext.removeNode(j)}this.elements.splice(d,1,l)}return this},clear:function(){this.elements=[]}};Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;(function(){var g,d=Ext.Element.prototype,e=Ext.CompositeElementLite.prototype;for(g in d){if(Ext.isFunction(d[g])){(function(a){e[a]=e[a]||function(){return this.invoke(a,arguments)}}).call(e,g)}}})();if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(g,h,e){var j;if(typeof g=="string"){j=Ext.Element.selectorFunction(g,e)}else{if(g.length!==undefined){j=g}else{throw"Invalid selector"}}return new Ext.CompositeElementLite(j)};Ext.select=Ext.Element.select;Ext.apply(Ext.CompositeElementLite.prototype,{addElements:function(g,e){if(!g){return this}if(typeof g=="string"){g=Ext.Element.selectorFunction(g,e)}var d=this.elements;Ext.each(g,function(a){d.push(Ext.get(a))});return this},fill:function(b){this.elements=[];this.add(b);return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(b){return this.indexOf(b)!=-1},filter:function(d){var c=[];this.each(function(a){if(a.is(d)){c[c.length]=a.dom}});this.fill(c);return this},removeElement:function(k,j){var l=this,h=this.elements,g;Ext.each(k,function(a){if((g=(h[a]||h[a=l.indexOf(a)]))){if(j){if(g.dom){g.remove()}else{Ext.removeNode(g)}}h.splice(a,1)}});return this}});Ext.CompositeElement=function(c,d){this.elements=[];this.add(c,d)};Ext.extend(Ext.CompositeElement,Ext.CompositeElementLite,{invoke:function(c,d){Ext.each(this.elements,function(a){Ext.Element.prototype[c].apply(a,d)});return this},add:function(g,e){if(!g){return this}if(typeof g=="string"){g=Ext.Element.selectorFunction(g,e)}var d=this.elements;Ext.each(g,function(a){d.push(Ext.get(a))});return this},item:function(b){return this.elements[b]||null},indexOf:function(b){return this.elements.indexOf(Ext.get(b))},filter:function(e){var g=this,d=[];Ext.each(g.elements,function(a){if(a.is(e)){d.push(Ext.get(a))}});g.elements=d;return g},each:function(c,d){Ext.each(this.elements,function(a,b){return c.call(d||a,a,this,b)},this);return this}});Ext.Element.select=function(g,h,e){var j;if(typeof g=="string"){j=Ext.Element.selectorFunction(g,e)}else{if(g.length!==undefined){j=g}else{throw"Invalid selector"}}return(h===true)?new Ext.CompositeElement(j):new Ext.CompositeElementLite(j)};Ext.select=Ext.Element.select;(function(){var u="beforerequest",m="requestcomplete",n="requestexception",s=undefined,p="load",q="POST",o="GET",r=window;Ext.data.Connection=function(a){Ext.apply(this,a);this.addEvents(u,m,n);Ext.data.Connection.superclass.constructor.call(this)};function v(a){this.transId=false;var b=a.argument.options;a.argument=b?b.argument:null;this.fireEvent(m,this,a,b);if(b.success){b.success.call(b.scope,a,b)}if(b.callback){b.callback.call(b.scope,b,true,a)}}function t(a,b){this.transId=false;var c=a.argument.options;a.argument=c?c.argument:null;this.fireEvent(n,this,a,c,b);if(c.failure){c.failure.call(c.scope,a,c)}if(c.callback){c.callback.call(c.scope,c,false,a)}}function w(B,e,d){var c=Ext.id(),g=document,A=g.createElement("iframe"),b=Ext.getDom(B.form),h=[],j,C="multipart/form-data",a={target:b.target,method:b.method,encoding:b.encoding,enctype:b.enctype,action:b.action};Ext.apply(A,{id:c,name:c,className:"x-hidden",src:Ext.SSL_SECURE_URL});g.body.appendChild(A);if(Ext.isIE){document.frames[c].name=c}Ext.apply(b,{target:c,method:q,enctype:C,encoding:C,action:d||a.action});e=Ext.urlDecode(e,false);for(var k in e){if(e.hasOwnProperty(k)){j=g.createElement("input");j.type="hidden";j.value=e[j.name=k];b.appendChild(j);h.push(j)}}function l(){var H=this,x={responseText:"",responseXML:null,argument:B.argument},y,z;try{y=A.contentWindow.document||A.contentDocument||r.frames[c].document;if(y){if(y.body){if(/textarea/i.test((z=y.body.firstChild||{}).tagName)){x.responseText=z.value}else{x.responseText=y.body.innerHTML}}x.responseXML=y.XMLDocument||y}}catch(G){}Ext.EventManager.removeListener(A,p,l,H);H.fireEvent(m,H,x,B);function F(D,E,I){if(Ext.isFunction(D)){D.apply(E,I)}}F(B.success,B.scope,[x,B]);F(B.callback,B.scope,[B,true,x]);if(!H.debugUploads){setTimeout(function(){Ext.removeNode(A)},100)}}Ext.EventManager.on(A,p,l,this);b.submit();Ext.apply(b,a);Ext.each(h,function(x){Ext.removeNode(x)})}Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(k){var g=this;if(g.fireEvent(u,g,k)){if(k.el){if(!Ext.isEmpty(k.indicatorText)){g.indicatorText='<div class="loading-indicator">'+k.indicatorText+"</div>"}if(g.indicatorText){Ext.getDom(k.el).innerHTML=g.indicatorText}k.success=(Ext.isFunction(k.success)?k.success:function(){}).createInterceptor(function(l){Ext.getDom(k.el).innerHTML=l.responseText})}var b=k.params,c=k.url||g.url,d,j={success:v,failure:t,scope:g,argument:{options:k},timeout:k.timeout||g.timeout},a,e;if(Ext.isFunction(b)){b=b.call(k.scope||r,k)}b=Ext.urlEncode(g.extraParams,Ext.isObject(b)?Ext.urlEncode(b):b);if(Ext.isFunction(c)){c=c.call(k.scope||r,k)}if((a=Ext.getDom(k.form))){c=c||a.action;if(k.isUpload||/multipart\/form-data/i.test(a.getAttribute("enctype"))){return w.call(g,k,b,c)}e=Ext.lib.Ajax.serializeForm(a);b=b?(b+"&"+e):e}d=k.method||g.method||((b||k.xmlData||k.jsonData)?q:o);if(d===o&&(g.disableCaching&&k.disableCaching!==false)||k.disableCaching===true){var h=k.disableCachingParam||g.disableCachingParam;c=Ext.urlAppend(c,h+"="+(new Date().getTime()))}k.headers=Ext.apply(k.headers||{},g.defaultHeaders||{});if(k.autoAbort===true||g.autoAbort){g.abort()}if((d==o||k.xmlData||k.jsonData)&&b){c=Ext.urlAppend(c,b);b=""}return(g.transId=Ext.lib.Ajax.request(d,c,j,b,k))}else{return k.callback?k.callback.apply(k.scope,[k,s,s]):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)}}})})();Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(b){return Ext.lib.Ajax.serializeForm(b)}});Ext.UpdateManager=Ext.Updater=Ext.extend(Ext.util.Observable,function(){var h="beforeupdate",m="update",n="failure";function j(c){var b=this;b.transaction=null;if(c.argument.form&&c.argument.reset){try{c.argument.form.reset()}catch(a){}}if(b.loadScripts){b.renderer.render(b.el,c,b,k.createDelegate(b,[c]))}else{b.renderer.render(b.el,c,b);k.call(b,c)}}function k(c,b,a){this.fireEvent(b||m,this.el,c);if(Ext.isFunction(c.argument.callback)){c.argument.callback.call(c.argument.scope,this.el,Ext.isEmpty(a)?true:false,c,c.argument.options)}}function l(a){k.call(this,a,n,!!(this.transaction=null))}return{constructor:function(b,c){var a=this;b=Ext.get(b);if(!c&&b.updateManager){return b.updateManager}a.el=b;a.defaultUrl=null;a.addEvents(h,m,n);Ext.apply(a,Ext.Updater.defaults);a.transaction=null;a.refreshDelegate=a.refresh.createDelegate(a);a.updateDelegate=a.update.createDelegate(a);a.formUpdateDelegate=(a.formUpdate||function(){}).createDelegate(a);a.renderer=a.renderer||a.getDefaultRenderer();Ext.Updater.superclass.constructor.call(a)},setRenderer:function(a){this.renderer=a},getRenderer:function(){return this.renderer},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},setDefaultUrl:function(a){this.defaultUrl=a},getEl:function(){return this.el},update:function(e,q,o,b){var c=this,g,d;if(c.fireEvent(h,c.el,e,q)!==false){if(Ext.isObject(e)){g=e;e=g.url;q=q||g.params;o=o||g.callback;b=b||g.discardUrl;d=g.scope;if(!Ext.isEmpty(g.nocache)){c.disableCaching=g.nocache}if(!Ext.isEmpty(g.text)){c.indicatorText='<div class="loading-indicator">'+g.text+"</div>"}if(!Ext.isEmpty(g.scripts)){c.loadScripts=g.scripts}if(!Ext.isEmpty(g.timeout)){c.timeout=g.timeout}}c.showLoading();if(!b){c.defaultUrl=e}if(Ext.isFunction(e)){e=e.call(c)}var a=Ext.apply({},{url:e,params:(Ext.isFunction(q)&&d)?q.createDelegate(d):q,success:j,failure:l,scope:c,callback:undefined,timeout:(c.timeout*1000),disableCaching:c.disableCaching,argument:{options:g,url:e,form:null,callback:o,scope:d||window,params:q}},g);c.transaction=Ext.Ajax.request(a)}},formUpdate:function(b,e,c,a){var d=this;if(d.fireEvent(h,d.el,b,e)!==false){if(Ext.isFunction(e)){e=e.call(d)}b=Ext.getDom(b);d.transaction=Ext.Ajax.request({form:b,url:e,success:j,failure:l,scope:d,timeout:(d.timeout*1000),argument:{url:e,form:b,callback:a,reset:c}});d.showLoading.defer(1,d)}},startAutoRefresh:function(e,d,b,a,g){var c=this;if(g){c.update(d||c.defaultUrl,b,a,true)}if(c.autoRefreshProcId){clearInterval(c.autoRefreshProcId)}c.autoRefreshProcId=setInterval(c.update.createDelegate(c,[d||c.defaultUrl,b,a,true]),e*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return !!this.autoRefreshProcId},showLoading:function(){if(this.showLoadIndicator){this.el.dom.innerHTML=this.indicatorText}},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){return this.transaction?Ext.Ajax.isLoading(this.transaction):false},refresh:function(a){if(this.defaultUrl){this.update(this.defaultUrl,null,a,true)}}}}());Ext.Updater.defaults={timeout:30,disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>',loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||"javascript:false")};Ext.Updater.updateElement=function(k,l,j,g){var h=Ext.get(k).getUpdater();Ext.apply(h,g);h.update(l,j,g?g.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(j,g,e,h){j.update(g.responseText,e.loadScripts,h)}};(function(){Date.useStrict=false;function c(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/\{(\d+)\}/g,function(j,h){return b[h]})}Date.formatCodeToRegex=function(b,g){var a=Date.parseCodes[b];if(a){a=typeof a=="function"?a():a;Date.parseCodes[b]=a}return a?Ext.applyIf({c:a.c?c(a.c,g||"{0}"):a.c},a):{g:0,c:null,s:Ext.escapeRe(b)}};var d=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{"M$":function(h,j){var b=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var a=(h||"").match(b);return a?new Date(((a[1]||"")+a[2])*1):null}},parseRegexes:[],formatFunctions:{"M$":function(){return"\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(a){return Date.monthNames[a].substring(0,3)},getShortDayName:function(a){return Date.dayNames[a].substring(0,3)},getMonthNumber:function(a){return Date.monthNumbers[a.substring(0,1).toUpperCase()+a.substring(1,3).toLowerCase()]},formatCodes:{d:"String.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"String.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"String.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"this.getFullYear()",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"String.leftPad(this.getHours(), 2, '0')",i:"String.leftPad(this.getMinutes(), 2, '0')",s:"String.leftPad(this.getSeconds(), 2, '0')",u:"String.leftPad(this.getMilliseconds(), 3, '0')",O:"this.getGMTOffset()",P:"this.getGMTOffset(true)",T:"this.getTimezone()",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var a="Y-m-dTH:i:sP",e=[],l=0,m=a.length;l<m;++l){var b=a.charAt(l);e.push(b=="T"?"'T'":Date.getFormatCode(b))}return e.join(" + ")},U:"Math.round(this.getTime() / 1000)"},isValid:function(q,s,r,b,m,h,p){b=b||0;m=m||0;h=h||0;p=p||0;var a=new Date(q,s-1,r,b,m,h,p);return q==a.getFullYear()&&s==a.getMonth()+1&&r==a.getDate()&&b==a.getHours()&&m==a.getMinutes()&&h==a.getSeconds()&&p==a.getMilliseconds()},parseDate:function(h,a,j){var b=Date.parseFunctions;if(b[a]==null){Date.createParser(a)}return b[a](h,Ext.isDefined(j)?j:Date.useStrict)},getFormatCode:function(a){var b=Date.formatCodes[a];if(b){b=typeof b=="function"?b():b;Date.formatCodes[a]=b}return b||("'"+String.escape(a)+"'")},createFormat:function(a){var b=[],l=false,j="";for(var k=0;k<a.length;++k){j=a.charAt(k);if(!l&&j=="\\"){l=true}else{if(l){l=false;b.push("'"+String.escape(j)+"'")}else{b.push(Date.getFormatCode(j))}}}Date.formatFunctions[a]=new Function("return "+b.join("+"))},createParser:function(){var a=["var dt, y, m, d, h, i, s, ms, o, z, zz, u, v,","def = Date.defaults,","results = String(input).match(Date.parseRegexes[{0}]);","if(results){","{1}","if(u != null){","v = new Date(u * 1000);","}else{","dt = (new Date()).clearTime();","y = y >= 0? y : Ext.num(def.y, dt.getFullYear());","m = m >= 0? m : Ext.num(def.m - 1, dt.getMonth());","d = d >= 0? d : Ext.num(def.d, dt.getDate());","h  = h || Ext.num(def.h, dt.getHours());","i  = i || Ext.num(def.i, dt.getMinutes());","s  = s || Ext.num(def.s, dt.getSeconds());","ms = ms || Ext.num(def.ms, dt.getMilliseconds());","if(z >= 0 && y >= 0){","v = new Date(y, 0, 1, h, i, s, ms);","v = !strict? v : (strict === true && (z <= 364 || (v.isLeapYear() && z <= 365))? v.add(Date.DAY, z) : null);","}else if(strict === true && !Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = new Date(y, m, d, h, i, s, ms);","}","}","}","if(v){","if(zz != null){","v = v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(o){var u=Date.parseRegexes.length,b=1,t=[],p=[],q=false,v="";for(var r=0;r<o.length;++r){v=o.charAt(r);if(!q&&v=="\\"){q=true}else{if(q){q=false;p.push(String.escape(v))}else{var s=d(v,b);b+=s.g;p.push(s.s);if(s.g&&s.c){t.push(s.c)}}}}Date.parseRegexes[u]=new RegExp("^"+p.join("")+"$","i");Date.parseFunctions[o]=new Function("input","strict",c(a,u,t.join("")))}}(),parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},D:function(){for(var b=[],a=0;a<7;b.push(Date.getShortDayName(a)),++a){}return{g:0,c:null,s:"(?:"+b.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:0,c:null,s:"(?:\\d{2})"},F:function(){return{g:1,c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",s:"("+Date.monthNames.join("|")+")"}},M:function(){for(var b=[],a=0;a<12;b.push(Date.getShortMonthName(a)),++a){}return Ext.applyIf({s:"("+b.join("|")+")"},d("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{2})"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{1,2})"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:function(){return d("Y")},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (results[{0}] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"},A:{g:1,c:"if (results[{0}] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"},g:function(){return d("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return d("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var b=[],j=[d("Y",1),d("m",2),d("d",3),d("h",4),d("i",5),d("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",d("P",8).c,"}else{",d("O",8).c,"}","}"].join("\n")}];for(var a=0,h=j.length;a<h;++a){b.push(j[a].c)}return{g:1,c:b.join(""),s:[j[0].s,"(?:","-",j[1].s,"(?:","-",j[2].s,"(?:","(?:T| )?",j[3].s,":",j[4].s,"(?::",j[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}}})}());Ext.apply(Date.prototype,{dateFormat:function(b){if(Date.formatFunctions[b]==null){Date.createFormat(b)}return Date.formatFunctions[b].call(this)},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(b){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+(b?":":"")+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")},getDayOfYear:function(){var j=0,d=0,h=this.clone(),g=this.getMonth();for(j=0,h.setMonth(0);j<g;h.setMonth(++j)){d+=h.getDaysInMonth()}return d+this.getDate()-1},getWeekOfYear:function(){var d=86400000,c=7*d;return function(){var b=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/d,g=Math.floor(b/7),a=new Date(g*c).getUTCFullYear();return g-Math.floor(Date.UTC(a,0,7)/c)+1}}(),isLeapYear:function(){var b=this.getFullYear();return !!((b&3)==0&&(b%100||(b%400==0&&b)))},getFirstDayOfMonth:function(){var b=(this.getDay()-(this.getDate()-1))%7;return(b<0)?(b+7):b},getLastDayOfMonth:function(){return this.getLastDateOfMonth().getDay()},getFirstDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)},getLastDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())},getDaysInMonth:function(){var b=[31,28,31,30,31,30,31,31,30,31,30,31];return function(){var a=this.getMonth();return a==1&&this.isLeapYear()?29:b[a]}}(),getSuffix:function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(){return new Date(this.getTime())},isDST:function(){return new Date(this.getFullYear(),0,1).getTimezoneOffset()!=this.getTimezoneOffset()},clearTime:function(h){if(h){return this.clone().clearTime()}var c=this.getDate();this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);if(this.getDate()!=c){for(var d=1,j=this.add(Date.HOUR,d);j.getDate()!=c;d++,j=this.add(Date.HOUR,d)){}this.setDate(c);this.setHours(j.getHours())}return this},add:function(d,j){var h=this.clone();if(!d||j===0){return h}switch(d.toLowerCase()){case Date.MILLI:h.setMilliseconds(this.getMilliseconds()+j);break;case Date.SECOND:h.setSeconds(this.getSeconds()+j);break;case Date.MINUTE:h.setMinutes(this.getMinutes()+j);break;case Date.HOUR:h.setHours(this.getHours()+j);break;case Date.DAY:h.setDate(this.getDate()+j);break;case Date.MONTH:var g=this.getDate();if(g>28){g=Math.min(g,this.getFirstDateOfMonth().add("mo",j).getLastDateOfMonth().getDate())}h.setDate(g);h.setMonth(this.getMonth()+j);break;case Date.YEAR:h.setFullYear(this.getFullYear()+j);break}return h},between:function(g,e){var d=this.getTime();return g.getTime()<=d&&d<=e.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari&&(navigator.userAgent.match(/WebKit\/(\d+)/)[1]||NaN)<420){Ext.apply(Date.prototype,{_xMonth:Date.prototype.setMonth,_xDate:Date.prototype.setDate,setMonth:function(g){if(g<=-1){var h=Math.ceil(-g),j=Math.ceil(h/12),e=(h%12)?12-h%12:0;this.setFullYear(this.getFullYear()-j);return this._xMonth(e)}else{return this._xMonth(g)}},setDate:function(b){return this.setTime(this.getTime()-(this.getDate()-b)*86400000)}})}Ext.util.DelayedTask=function(m,n,j){var l=this,k,h=function(){clearInterval(k);k=null;m.apply(n,j||[])};l.delay=function(c,a,b,d){l.cancel();m=a||m;n=b||n;j=d||j;k=setInterval(h,c)};l.cancel=function(){if(k){clearInterval(k);k=null}}};Ext.util.MixedCollection=function(c,d){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents("clear","add","replace","remove","sort");this.allowFunctions=c===true;if(d){this.getKey=d}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(d,g){if(arguments.length==1){g=arguments[0];d=this.getKey(g)}if(typeof d!="undefined"&&d!==null){var e=this.map[d];if(typeof e!="undefined"){return this.replace(d,g)}this.map[d]=g}this.length++;this.items.push(g);this.keys.push(d);this.fireEvent("add",this.length-1,g,d);return g},getKey:function(b){return b.id},replace:function(j,h){if(arguments.length==1){h=arguments[0];j=this.getKey(h)}var g=this.map[j];if(typeof j=="undefined"||j===null||typeof g=="undefined"){return this.add(j,h)}var e=this.indexOfKey(j);this.items[e]=h;this.map[j]=h;this.fireEvent("replace",j,g,h);return h},addAll:function(j){if(arguments.length>1||Ext.isArray(j)){var g=arguments.length>1?arguments:j;for(var k=0,h=g.length;k<h;k++){this.add(g[k])}}else{for(var l in j){if(this.allowFunctions||typeof j[l]!="function"){this.add(l,j[l])}}}},each:function(j,k){var g=[].concat(this.items);for(var l=0,h=g.length;l<h;l++){if(j.call(k||g[l],g[l],l,h)===false){break}}},eachKey:function(h,j){for(var e=0,g=this.keys.length;e<g;e++){h.call(j||window,this.keys[e],this.items[e],e,g)}},find:function(h,j){for(var e=0,g=this.items.length;e<g;e++){if(h.call(j||window,this.items[e],this.keys[e])){return this.items[e]}}return null},insert:function(e,d,g){if(arguments.length==2){g=arguments[1];d=this.getKey(g)}if(this.containsKey(d)){this.suspendEvents();this.removeKey(d);this.resumeEvents()}if(e>=this.length){return this.add(d,g)}this.length++;this.items.splice(e,0,g);if(typeof d!="undefined"&&d!==null){this.map[d]=g}this.keys.splice(e,0,d);this.fireEvent("add",e,g,d);return g},remove:function(b){return this.removeAt(this.indexOf(b))},removeAt:function(e){if(e<this.length&&e>=0){this.length--;var g=this.items[e];this.items.splice(e,1);var d=this.keys[e];if(typeof d!="undefined"){delete this.map[d]}this.keys.splice(e,1);this.fireEvent("remove",g,d);return g}return false},removeKey:function(b){return this.removeAt(this.indexOfKey(b))},getCount:function(){return this.length},indexOf:function(b){return this.items.indexOf(b)},indexOfKey:function(b){return this.keys.indexOf(b)},item:function(d){var e=this.map[d],g=e!==undefined?e:(typeof d=="number")?this.items[d]:undefined;return !Ext.isFunction(g)||this.allowFunctions?g:null},itemAt:function(b){return this.items[b]},key:function(b){return this.map[b]},contains:function(b){return this.indexOf(b)!=-1},containsKey:function(b){return typeof this.map[b]!="undefined"},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(c,t,k){var q,p,r=String(t).toUpperCase()=="DESC"?-1:1,n=[],s=this.keys,o=this.items;k=k||function(a,b){return a-b};for(q=0,p=o.length;q<p;q++){n[n.length]={key:s[q],value:o[q],index:q}}n.sort(function(b,d){var a=k(b[c],d[c])*r;if(a===0){a=(b.index<d.index?-1:1)}return a});for(q=0,p=n.length;q<p;q++){o[q]=n[q].value;s[q]=n[q].key}this.fireEvent("sort",this)},sort:function(d,c){this._sort("value",d,c)},keySort:function(d,c){this._sort("key",d,c||function(h,j){var a=String(h).toUpperCase(),b=String(j).toUpperCase();return a>b?1:(a<b?-1:0)})},getRange:function(j,h){var g=this.items;if(g.length<1){return[]}j=j||0;h=Math.min(typeof h=="undefined"?this.length-1:h,this.length-1);var l,k=[];if(j<=h){for(l=j;l<=h;l++){k[k.length]=g[l]}}else{for(l=j;l>=h;l--){k[k.length]=g[l]}}return k},filter:function(j,e,h,g){if(Ext.isEmpty(e,false)){return this.clone()}e=this.createValueMatcher(e,h,g);return this.filterBy(function(a){return a&&e.test(a[j])})},filterBy:function(m,n){var l=new Ext.util.MixedCollection();l.getKey=this.getKey;var j=this.keys,o=this.items;for(var p=0,k=o.length;p<k;p++){if(m.call(n||this,o[p],j[p])){l.add(j[p],o[p])}}return l},findIndex:function(l,g,j,k,h){if(Ext.isEmpty(g,false)){return -1}g=this.createValueMatcher(g,k,h);return this.findIndexBy(function(a){return a&&g.test(a[l])},null,j)},findIndexBy:function(m,n,l){var j=this.keys,o=this.items;for(var p=(l||0),k=o.length;p<k;p++){if(m.call(n||this,o[p],j[p])){return p}}return -1},createValueMatcher:function(d,g,e){if(!d.exec){d=String(d);d=new RegExp((g===true?"":"^")+Ext.escapeRe(d),e?"":"i")}return d},clone:function(){var j=new Ext.util.MixedCollection();var g=this.keys,k=this.items;for(var l=0,h=k.length;l<h;l++){j.add(g[l],k[l])}j.getKey=this.getKey;return j}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty,isNative=function(){var useNative=null;return function(){if(useNative===null){useNative=Ext.USE_NATIVE_JSON&&window.JSON&&JSON.toString()=="[object JSON]"}return useNative}}(),pad=function(n){return n<10?"0"+n:n},doDecode=function(json){return eval("("+json+")")},doEncode=function(o){if(typeof o=="undefined"||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Object.prototype.toString.apply(o)==="[object Date]"){return Ext.util.JSON.encodeDate(o)}else{if(typeof o=="string"){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(typeof o=="boolean"){return String(o)}else{var a=["{"],b,i,v;for(i in o){if(!useHasOwn||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(doEncode(i),":",v===null?"null":doEncode(v));b=true}}}a.push("}");return a.join("")}}}}}}},m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},encodeString=function(s){if(/["\\\x00-\x1f]/.test(s)){return'"'+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+s+'"'},encodeArray=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(v===null?"null":Ext.util.JSON.encode(v));b=true}}a.push("]");return a.join("")};this.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};this.encode=function(){var ec;return function(o){if(!ec){ec=isNative()?JSON.stringify:doEncode}return ec(o)}}();this.decode=function(){var dc;return function(json){if(!dc){dc=isNative()?JSON.parse:doDecode}return dc(json)}}()})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g;return{ellipsis:function(value,len,word){if(value&&value.length>len){if(word){var vs=value.substr(0,len-2);var index=Math.max(vs.lastIndexOf(" "),vs.lastIndexOf("."),vs.lastIndexOf("!"),vs.lastIndexOf("?"));if(index==-1||index<(len-15)){return value.substr(0,len-3)+"..."}else{return vs.substr(0,index)+"..."}}else{return value.substr(0,len-3)+"..."}}return value},undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},htmlDecode:function(value){return !value?value:String(value).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")},trim:function(value){return String(value).replace(trimRe,"")},substr:function(value,start,length){return String(value).substr(start,length)},lowercase:function(value){return String(value).toLowerCase()},uppercase:function(value){return String(value).toUpperCase()},capitalize:function(value){return !value?value:value.charAt(0).toUpperCase()+value.substr(1).toLowerCase()},call:function(value,fn){if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);args.unshift(value);return eval(fn).apply(window,args)}else{return eval(fn).call(window,value)}},usMoney:function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+".00":((v*10==Math.floor(v*10))?v+"0":v);v=String(v);var ps=v.split(".");var whole=ps[0];var sub=ps[1]?"."+ps[1]:".00";var r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,"$1,$2")}v=whole+sub;if(v.charAt(0)=="-"){return"-$"+v.substr(1)}return"$"+v},date:function(v,format){if(!v){return""}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(format||"m/d/Y")},dateRenderer:function(format){return function(v){return Ext.util.Format.date(v,format)}},stripTagsRE:/<\/?[^>]+>/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,"")},stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,stripScripts:function(v){return !v?v:String(v).replace(this.stripScriptsRe,"")},fileSize:function(size){if(size<1024){return size+" bytes"}else{if(size<1048576){return(Math.round(((size*10)/1024))/10)+" KB"}else{return(Math.round(((size*10)/1048576))/10)+" MB"}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function("v","return v "+a+";")}return fns[a](v)}}(),round:function(value,precision){var result=Number(value);if(typeof precision=="number"){precision=Math.pow(10,precision);result=Math.round(value*precision)/precision}return result},number:function(v,format){if(!format){return v}v=Ext.num(v,NaN);if(isNaN(v)){return""}var comma=",",dec=".",i18n=false,neg=v<0;v=Math.abs(v);if(format.substr(format.length-2)=="/i"){format=format.substr(0,format.length-2);i18n=true;comma=".";dec=","}var hasComma=format.indexOf(comma)!=-1,psplit=(i18n?format.replace(/[^\d\,]/g,""):format.replace(/[^\d\.]/g,"")).split(dec);if(1<psplit.length){v=v.toFixed(psplit[1].length)}else{if(2<psplit.length){throw ("NumberFormatException: invalid format, formats should have no more than 1 period: "+format)}else{v=v.toFixed(0)}}var fnum=v.toString();if(hasComma){psplit=fnum.split(".");var cnum=psplit[0],parr=[],j=cnum.length,m=Math.floor(j/3),n=cnum.length%3||3;for(var i=0;i<j;i+=n){if(i!=0){n=3}parr[parr.length]=cnum.substr(i,n);m-=1}fnum=parr.join(comma);if(psplit[1]){fnum+=dec+psplit[1]}}return(neg?"-":"")+format.replace(/[\d,?\.?]+/,fnum)},numberRenderer:function(format){return function(v){return Ext.util.Format.number(v,format)}},plural:function(v,s,p){return v+" "+(v==1?s:(p?p:s+"s"))},nl2br:function(v){return v===undefined||v===null?"":v.replace(/\n/g,"<br/>")}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var z=this,L=z.html,F=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,P=/^<tpl\b[^>]*?for="(.*?)"/,C=/^<tpl\b[^>]*?if="(.*?)"/,A=/^<tpl\b[^>]*?exec="(.*?)"/,E,G=0,K=[],H="values",B="parent",J="xindex",I="xcount",O="return ",Q="with(values){ ";L=["<tpl>",L,"</tpl>"].join("");while((E=L.match(F))){var R=E[0].match(P),S=E[0].match(C),m=E[0].match(A),N=null,M=null,D=null,s=R&&R[1]?R[1]:"";if(S){N=S&&S[1]?S[1]:null;if(N){M=new Function(H,B,J,I,Q+O+(Ext.util.Format.htmlDecode(N))+"; }")}}if(m){N=m&&m[1]?m[1]:null;if(N){D=new Function(H,B,J,I,Q+(Ext.util.Format.htmlDecode(N))+"; }")}}if(s){switch(s){case".":s=new Function(H,B,Q+O+H+"; }");break;case"..":s=new Function(H,B,Q+O+B+"; }");break;default:s=new Function(H,B,Q+O+s+"; }")}}K.push({id:G,target:s,exec:D,test:M,body:E[1]||""});L=L.replace(E[0],"{xtpl"+G+"}");++G}Ext.each(K,function(a){z.compileTpl(a)});z.master=K[K.length-1];z.tpls=K};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(u,n,o,r,s){var p=this,q,l=p.tpls[u],m,t=[];if((l.test&&!l.test.call(p,n,o,r,s))||(l.exec&&l.exec.call(p,n,o,r,s))){return""}m=l.target?l.target.call(p,n,o):n;q=m.length;o=l.target?n:o;if(l.target&&Ext.isArray(m)){Ext.each(m,function(b,a){t[t.length]=l.compiled.call(p,b,o,a+1,q)});return t.join("")}return l.compiled.call(p,m,o,r,s)},compileTpl:function(tpl){var fm=Ext.util.Format,useF=this.disableFormats!==true,sep=Ext.isGecko?"+":",",body;function fn(m,name,format,args,math){if(name.substr(0,4)=="xtpl"){return"'"+sep+"this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount)"+sep+"'"}var v;if(name==="."){v="values"}else{if(name==="#"){v="xindex"}else{if(name.indexOf(".")!=-1){v=name}else{v="values['"+name+"']"}}}if(math){v="("+v+math+")"}if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="("+v+" === undefined ? '' : "}return"'"+sep+format+v+args+")"+sep+"'"}function codeFn(m,code){return"'"+sep+"("+code+")"+sep+"'"}if(Ext.isGecko){body="tpl.compiled = function(values, parent, xindex, xcount){ return '"+tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn)+"';};"}else{body=["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];body.push(tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn));body.push("'].join('');};");body=body.join("")}eval(body);return this},applyTemplate:function(b){return this.master.compiled.call(this,b,{},1,1)},compile:function(){return this}});Ext.XTemplate.prototype.apply=Ext.XTemplate.prototype.applyTemplate;Ext.XTemplate.from=function(b){b=Ext.getDom(b);return new Ext.XTemplate(b.value||b.innerHTML)};Ext.util.CSS=function(){var h=null;var j=document;var e=/(-[a-z])/gi;var g=function(b,a){return a.charAt(1).toUpperCase()};return{createStyleSheet:function(d,a){var m;var n=j.getElementsByTagName("head")[0];var b=j.createElement("style");b.setAttribute("type","text/css");if(a){b.setAttribute("id",a)}if(Ext.isIE){n.appendChild(b);m=b.styleSheet;m.cssText=d}else{try{b.appendChild(j.createTextNode(d))}catch(c){b.cssText=d}n.appendChild(b);m=b.styleSheet?b.styleSheet:(b.sheet||j.styleSheets[j.styleSheets.length-1])}this.cacheStyleSheet(m);return m},removeStyleSheet:function(a){var b=j.getElementById(a);if(b){b.parentNode.removeChild(b)}},swapStyleSheet:function(a,c){this.removeStyleSheet(a);var b=j.createElement("link");b.setAttribute("rel","stylesheet");b.setAttribute("type","text/css");b.setAttribute("id",a);b.setAttribute("href",c);j.getElementsByTagName("head")[0].appendChild(b)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(c){if(!h){h={}}try{var a=c.cssRules||c.rules;for(var d=a.length-1;d>=0;--d){h[a[d].selectorText]=a[d]}}catch(b){}},getRules:function(d){if(h===null||d){h={};var b=j.styleSheets;for(var c=0,m=b.length;c<m;c++){try{this.cacheStyleSheet(b[c])}catch(a){}}}return h},getRule:function(d,b){var c=this.getRules(b);if(!Ext.isArray(d)){return c[d]}for(var a=0;a<d.length;a++){if(c[d[a]]){return c[d[a]]}}return null},updateRule:function(l,b,c){if(!Ext.isArray(l)){var a=this.getRule(l);if(a){a.style[b.replace(e,g)]=c;return true}}else{for(var d=0;d<l.length;d++){if(this.updateRule(l[d],b,c)){return true}}}return false}}}();Ext.util.ClickRepeater=function(c,d){this.el=Ext.get(c);this.el.unselectable();Ext.apply(this,d);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(b){if(b||!this.disabled){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(b){this[b?"disable":"enable"]()},eventOptions:function(b){if(this.preventDefault){b.preventDefault()}if(this.stopDefault){b.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.purgeListeners()},handleMouseDown:function(){clearTimeout(this.timer);this.el.blur();if(this.pressClass){this.el.addClass(this.pressClass)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this);this.fireEvent("click",this);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this)},click:function(){this.fireEvent("click",this);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this)},easeOutExpo:function(j,b,c,d){return(j==d)?b+c:c*(-Math.pow(2,-10*j/d)+1)+b},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",this)}});Ext.KeyNav=function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,prepareEvent:function(g){var e=g.getKey();var d=this.keyToHandler[e];if(Ext.isSafari2&&d&&e>=37&&e<=40){g.stopEvent()}},relay:function(g){var e=g.getKey();var d=this.keyToHandler[e];if(d&&this[d]){if(this.doRelay(g,this[d],d)!==true){g[this.defaultEventAction]()}}},doRelay:function(g,d,e){return d.call(this.scope||this,g)},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},enable:function(){if(this.disabled){if(this.isKeydown()){this.el.on("keydown",this.relay,this)}else{this.el.on("keydown",this.prepareEvent,this);this.el.on("keypress",this.relay,this)}this.disabled=false}},disable:function(){if(!this.disabled){if(this.isKeydown()){this.el.un("keydown",this.relay,this)}else{this.el.un("keydown",this.prepareEvent,this);this.el.un("keypress",this.relay,this)}this.disabled=true}},setDisabled:function(b){this[b?"disable":"enable"]()},isKeydown:function(){return this.forceKeyDown||Ext.EventManager.useKeydown}};Ext.KeyMap=function(g,d,e){this.el=Ext.get(g);this.eventName=e||"keydown";this.bindings=[];if(d){this.addBinding(d)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(t){if(Ext.isArray(t)){Ext.each(t,function(a){this.addBinding(a)},this);return}var m=t.key,p=t.fn||t.handler,j=t.scope;if(t.stopEvent){this.stopEvent=t.stopEvent}if(typeof m=="string"){var o=[];var q=m.toUpperCase();for(var s=0,r=q.length;s<r;s++){o.push(q.charCodeAt(s))}m=o}var u=Ext.isArray(m);var n=function(c){if(this.checkModifiers(t,c)){var a=c.getKey();if(u){for(var d=0,b=m.length;d<b;d++){if(m[d]==a){if(this.stopEvent){c.stopEvent()}p.call(j||window,a,c);return}}}else{if(a==m){if(this.stopEvent){c.stopEvent()}p.call(j||window,a,c)}}}};this.bindings.push(n)},checkModifiers:function(e,m){var l,o,n=["shift","ctrl","alt"];for(var p=0,k=n.length;p<k;++p){o=n[p];l=e[o];if(!(l===undefined||(l===m[o+"Key"]))){return false}}return true},on:function(j,o,p){var l,k,n,m;if(typeof j=="object"&&!Ext.isArray(j)){l=j.key;k=j.shift;n=j.ctrl;m=j.alt}else{l=j}this.addBinding({key:l,shift:k,ctrl:n,alt:m,fn:o,scope:p})},handleKeyDown:function(e){if(this.enabled){var j=this.bindings;for(var h=0,b=j.length;h<b;h++){j[h].call(this,e)}}},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}},setDisabled:function(b){this[b?"disable":"enable"]()}};Ext.util.TextMetrics=function(){var b;return{measure:function(a,g,e){if(!b){b=Ext.util.TextMetrics.Instance(a,e)}b.bind(a);b.setFixedWidth(e||"auto");return b.getSize(g)},createInstance:function(a,d){return Ext.util.TextMetrics.Instance(a,d)}}}();Ext.util.TextMetrics.Instance=function(e,h){var j=new Ext.Element(document.createElement("div"));document.body.appendChild(j.dom);j.position("absolute");j.setLeftTop(-1000,-1000);j.hide();if(h){j.setWidth(h)}var g={getSize:function(a){j.update(a);var b=j.getSize();j.update("");return b},bind:function(a){j.setStyle(Ext.fly(a).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(a){j.setWidth(a)},getWidth:function(a){j.dom.style.width="auto";return this.getSize(a).width},getHeight:function(a){return this.getSize(a).height}};g.bind(e);return g};Ext.Element.addMethods({getTextWidth:function(g,d,e){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(g,this.dom.innerHTML,true)).width).constrain(d||0,e||1000000)}});Ext.util.Cookies={set:function(q,o){var k=arguments;var l=arguments.length;var j=(l>2)?k[2]:null;var m=(l>3)?k[3]:"/";var p=(l>4)?k[4]:null;var n=(l>5)?k[5]:false;document.cookie=q+"="+escape(o)+((j===null)?"":("; expires="+j.toGMTString()))+((m===null)?"":("; path="+m))+((p===null)?"":("; domain="+p))+((n===true)?"; secure":"")},get:function(m){var h=m+"=";var k=h.length;var j=document.cookie.length;var l=0;var n=0;while(l<j){n=l+k;if(document.cookie.substring(l,n)==h){return Ext.util.Cookies.getCookieVal(n)}l=document.cookie.indexOf(" ",l)+1;if(l===0){break}}return null},clear:function(b){if(Ext.util.Cookies.get(b)){document.cookie=b+"=; expires=Thu, 01-Jan-70 00:00:01 GMT"}},getCookieVal:function(c){var d=document.cookie.indexOf(";",c);if(d==-1){d=document.cookie.length}return unescape(document.cookie.substring(c,d))}};Ext.handleError=function(b){throw b};Ext.Error=function(b){this.message=(this.lang[b])?this.lang[b]:b};Ext.Error.prototype=new Error();Ext.apply(Ext.Error.prototype,{lang:{},name:"Ext.Error",getName:function(){return this.name},getMessage:function(){return this.message},toJson:function(){return Ext.encode(this)}});Ext.ComponentMgr=function(){var g=new Ext.util.MixedCollection();var d={};var e={};return{register:function(a){g.add(a)},unregister:function(a){g.remove(a)},get:function(a){return g.get(a)},onAvailable:function(a,b,c){g.on("add",function(k,j){if(j.id==a){b.call(c||j,j);g.un("add",b,c)}})},all:g,isRegistered:function(a){return d[a]!==undefined},registerType:function(a,b){d[a]=b;b.xtype=a},create:function(b,a){return b.render?b:new d[b.xtype||a](b)},registerPlugin:function(a,b){e[a]=b;b.ptype=a},createPlugin:function(b,a){return new e[b.ptype||a](b)}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.preg=Ext.ComponentMgr.registerPlugin;Ext.create=Ext.ComponentMgr.create;Ext.Component=function(d){d=d||{};if(d.initialConfig){if(d.isAction){this.baseAction=d}d=d.initialConfig}else{if(d.tagName||d.dom||Ext.isString(d)){d={applyTo:d,id:d.id||d}}}this.initialConfig=d;Ext.apply(this,d);this.addEvents("disable","enable","beforeshow","show","beforehide","hide","beforerender","render","afterrender","beforedestroy","destroy","beforestaterestore","staterestore","beforestatesave","statesave");this.getId();Ext.ComponentMgr.register(this);Ext.Component.superclass.constructor.call(this);if(this.baseAction){this.baseAction.addComponent(this)}this.initComponent();if(this.plugins){if(Ext.isArray(this.plugins)){for(var g=0,e=this.plugins.length;g<e;g++){this.plugins[g]=this.initPlugin(this.plugins[g])}}else{this.plugins=this.initPlugin(this.plugins)}}if(this.stateful!==false){this.initState(d)}if(this.applyTo){this.applyToMarkup(this.applyTo);delete this.applyTo}else{if(this.renderTo){this.render(this.renderTo);delete this.renderTo}}};Ext.Component.AUTO_ID=1000;Ext.extend(Ext.Component,Ext.util.Observable,{disabled:false,hidden:false,autoEl:"div",disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,rendered:false,ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initPlugin:function(b){if(b.ptype&&!Ext.isFunction(b.init)){b=Ext.ComponentMgr.createPlugin(b)}else{if(Ext.isString(b)){b=Ext.ComponentMgr.createPlugin({ptype:b})}}b.init(this);return b},initComponent:Ext.emptyFn,render:function(c,d){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!c&&this.el){this.el=Ext.get(this.el);c=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(c);if(this.ctCls){this.container.addClass(this.ctCls)}this.rendered=true;if(d!==undefined){if(Ext.isNumber(d)){d=this.container.dom.childNodes[d]}else{d=Ext.getDom(d)}}this.onRender(this.container,d||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);this.afterRender(this.container);if(this.hidden){this.doHide()}if(this.disabled){this.disable(true)}if(this.stateful!==false){this.initStateEvents()}this.initRef();this.fireEvent("afterrender",this)}return this},initRef:function(){if(this.ref){var h=this.ref.split("/");var j=h.length,e=0;var g=this;while(e<j){if(g.ownerCt){g=g.ownerCt}e++}g[h[--e]]=this}},initState:function(e){if(Ext.state.Manager){var g=this.getStateId();if(g){var d=Ext.state.Manager.get(g);if(d){if(this.fireEvent("beforestaterestore",this,d)!==false){this.applyState(d);this.fireEvent("staterestore",this,d)}}}}},getStateId:function(){return this.stateId||((this.id.indexOf("ext-comp-")==0||this.id.indexOf("ext-gen")==0)?null:this.id)},initStateEvents:function(){if(this.stateEvents){for(var d=0,c;c=this.stateEvents[d];d++){this.on(c,this.saveState,this,{delay:100})}}},applyState:function(c,d){if(c){Ext.apply(this,c)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager&&this.stateful!==false){var c=this.getStateId();if(c){var d=this.getState();if(this.fireEvent("beforestatesave",this,d)!==false){Ext.state.Manager.set(c,d);this.fireEvent("statesave",this,d)}}}},applyToMarkup:function(b){this.allowDomMove=false;this.el=Ext.get(b);this.render(this.el.dom.parentNode)},addClass:function(b){if(this.el){this.el.addClass(b)}else{this.cls=this.cls?this.cls+" "+b:b}return this},removeClass:function(b){if(this.el){this.el.removeClass(b)}else{if(this.cls){this.cls=this.cls.split(" ").remove(b).join(" ")}}return this},onRender:function(d,e){if(!this.el&&this.autoEl){if(Ext.isString(this.autoEl)){this.el=document.createElement(this.autoEl)}else{var g=document.createElement("div");Ext.DomHelper.overwrite(g,this.autoEl);this.el=g.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){d.dom.insertBefore(this.el.dom,e)}}},getAutoCreate:function(){var b=Ext.isObject(this.autoCreate)?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!b.id){b.id=this.id}return b},afterRender:Ext.emptyFn,destroy:function(){if(this.fireEvent("beforedestroy",this)!==false){this.beforeDestroy();if(this.rendered){this.el.removeAllListeners();this.el.remove();if(this.actionMode=="container"||this.removeMode=="container"){this.container.remove()}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners()}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl:function(){return this.el},getId:function(){return this.id||(this.id="ext-comp-"+(++Ext.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.getId()},focus:function(c,d){if(d){this.focus.defer(Ext.isNumber(d)?d:10,this,[c,false]);return}if(this.rendered){this.el.focus();if(c===true){this.el.dom.select()}}return this},blur:function(){if(this.rendered){this.el.blur()}return this},disable:function(b){if(this.rendered){this.onDisable()}this.disabled=true;if(b!==true){this.fireEvent("disable",this)}return this},onDisable:function(){this.getActionEl().addClass(this.disabledClass);this.el.dom.disabled=true},enable:function(){if(this.rendered){this.onEnable()}this.disabled=false;this.fireEvent("enable",this);return this},onEnable:function(){this.getActionEl().removeClass(this.disabledClass);this.el.dom.disabled=false},setDisabled:function(b){return this[b?"disable":"enable"]()},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.autoRender){this.render(Ext.isBoolean(this.autoRender)?Ext.getBody():this.autoRender)}if(this.rendered){this.onShow()}this.fireEvent("show",this)}return this},onShow:function(){this.getVisibiltyEl().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.getVisibiltyEl().addClass("x-hide-"+this.hideMode)},getVisibiltyEl:function(){return this.hideParent?this.container:this.getActionEl()},setVisible:function(b){return this[b?"show":"hide"]()},isVisible:function(){return this.rendered&&this.getVisibiltyEl().isVisible()},cloneConfig:function(d){d=d||{};var g=d.id||Ext.id();var e=Ext.applyIf(d,this.initialConfig);e.id=g;return new this.constructor(e)},getXType:function(){return this.constructor.xtype},isXType:function(c,d){if(Ext.isFunction(c)){c=c.xtype}else{if(Ext.isObject(c)){c=c.constructor.xtype}}return !d?("/"+this.getXTypes()+"/").indexOf("/"+c+"/")!=-1:this.constructor.xtype==c},getXTypes:function(){var e=this.constructor;if(!e.xtypes){var g=[],c=this;while(c&&c.constructor.xtype){g.unshift(c.constructor.xtype);c=c.constructor.superclass}e.xtypeChain=g;e.xtypes=g.join("/")}return e.xtypes},findParentBy:function(d){for(var c=this.ownerCt;(c!=null)&&!d(c,this);c=c.ownerCt){}return c||null},findParentByType:function(b){return Ext.isFunction(b)?this.findParentBy(function(a){return a.constructor===b}):this.findParentBy(function(a){return a.constructor.xtype===b})},getDomPositionEl:function(){return this.getPositionEl?this.getPositionEl():this.getEl()},purgeListeners:function(){Ext.Component.superclass.purgeListeners.call(this);if(this.mons){this.on("beforedestroy",this.clearMons,this,{single:true})}},clearMons:function(){Ext.each(this.mons,function(b){b.item.un(b.ename,b.fn,b.scope)},this);this.mons=[]},mon:function(o,e,p,q,k){if(!this.mons){this.mons=[];this.on("beforedestroy",this.clearMons,this,{single:true})}if(Ext.isObject(e)){var l=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;var m=e;for(var n in m){if(l.test(n)){continue}if(Ext.isFunction(m[n])){this.mons.push({item:o,ename:n,fn:m[n],scope:m.scope});o.on(n,m[n],m.scope,m)}else{this.mons.push({item:o,ename:n,fn:m[n],scope:m.scope});o.on(n,m[n])}}return}this.mons.push({item:o,ename:e,fn:p,scope:q});o.on(e,p,q,k)},mun:function(n,r,o,p){var m,q;for(var k=0,l=this.mons.length;k<l;++k){q=this.mons[k];if(n===q.item&&r==q.ename&&o===q.fn&&p===q.scope){this.mons.splice(k,1);n.un(r,o,p);m=true;break}}return m},nextSibling:function(){if(this.ownerCt){var b=this.ownerCt.items.indexOf(this);if(b!=-1&&b+1<this.ownerCt.items.getCount()){return this.ownerCt.items.itemAt(b+1)}}return null},previousSibling:function(){if(this.ownerCt){var b=this.ownerCt.items.indexOf(this);if(b>0){return this.ownerCt.items.itemAt(b-1)}}return null},getBubbleTarget:function(){return this.ownerCt}});Ext.reg("component",Ext.Component);Ext.Action=function(b){this.initialConfig=b;this.itemId=b.itemId=(b.itemId||b.id||Ext.id());this.items=[]};Ext.Action.prototype={isAction:true,setText:function(b){this.initialConfig.text=b;this.callEach("setText",[b])},getText:function(){return this.initialConfig.text},setIconClass:function(b){this.initialConfig.iconCls=b;this.callEach("setIconClass",[b])},getIconClass:function(){return this.initialConfig.iconCls},setDisabled:function(b){this.initialConfig.disabled=b;this.callEach("setDisabled",[b])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(b){this.initialConfig.hidden=b;this.callEach("setVisible",[!b])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(c,d){this.initialConfig.handler=c;this.initialConfig.scope=d;this.callEach("setHandler",[c,d])},each:function(c,d){Ext.each(this.items,c,d)},callEach:function(j,g){var k=this.items;for(var l=0,h=k.length;l<h;l++){k[l][j].apply(k[l],g)}},addComponent:function(b){this.items.push(b);b.on("destroy",this.removeComponent,this)},removeComponent:function(b){this.items.remove(b)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||window,arguments)}};(function(){Ext.Layer=function(l,m){l=l||{};var k=Ext.DomHelper;var b=l.parentEl,j=b?Ext.getDom(b):document.body;if(m){this.dom=Ext.getDom(m)}if(!this.dom){var a=l.dh||{tag:"div",cls:"x-layer"};this.dom=k.append(j,a)}if(l.cls){this.addClass(l.cls)}this.constrain=l.constrain!==false;this.setVisibilityMode(Ext.Element.VISIBILITY);if(l.id){this.id=this.dom.id=l.id}else{this.id=Ext.id(this.dom)}this.zindex=l.zindex||this.getZIndex();this.position("absolute",this.zindex);if(l.shadow){this.shadowOffset=l.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:l.shadow})}else{this.shadowOffset=0}this.useShim=l.shim!==false&&Ext.useShims;this.useDisplay=l.useDisplay;this.hide()};var d=Ext.Element.prototype;var c=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt((this.getShim()||this).getStyle("z-index"),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var a=c.shift();if(!a){a=this.createShim();a.enableDisplayMode("block");a.dom.style.display="none";a.dom.style.visibility="visible"}var b=this.dom.parentNode;if(a.dom.parentNode!=b){b.insertBefore(a.dom,this.dom)}a.setStyle("z-index",this.getZIndex()-2);this.shim=a;return a},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);c.push(this.shim);delete this.shim}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;this.shadow.hide();this.lastShadowOffset=this.shadowOffset;this.shadowOffset=0}},enableShadow:function(a){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(a){this.sync(true)}}},sync:function(s){var h=this.shadow;if(!this.updating&&this.isVisible()&&(h||this.useShim)){var p=this.getShim();var l=this.getWidth(),q=this.getHeight();var r=this.getLeft(true),b=this.getTop(true);if(h&&!this.shadowDisabled){if(s&&!h.isVisible()){h.show(this)}else{h.realign(r,b,l,q)}if(p){if(s){p.show()}var o=h.adjusts,a=p.dom.style;a.left=(Math.min(r,r+o.l))+"px";a.top=(Math.min(b,b+o.t))+"px";a.width=(l+o.w)+"px";a.height=(q+o.h)+"px"}}else{if(p){if(s){p.show()}p.setSize(l,q);p.setLeftTop(r,b)}}}},destroy:function(){this.hideShim();if(this.shadow){this.shadow.hide()}this.removeAllListeners();Ext.removeNode(this.dom);Ext.Element.uncache(this.id)},remove:function(){this.destroy()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(a){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var r=Ext.lib.Dom.getViewWidth(),v=Ext.lib.Dom.getViewHeight();var a=Ext.getDoc().getScroll();var b=this.getXY();var q=b[0],s=b[1];var w=this.shadowOffset;var p=this.dom.offsetWidth+w,u=this.dom.offsetHeight+w;var t=false;if((q+p)>r+a.left){q=r-p-w;t=true}if((s+u)>v+a.top){s=v-u-w;t=true}if(q<a.left){q=a.left;t=true}if(s<a.top){s=a.top;t=true}if(t){if(this.avoidY){var h=this.avoidY;if(s<=h&&(s+u)>=h){s=h-u-5}}b=[q,s];this.storeXY(b);d.setXY.call(this,b);this.sync()}}return this},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){d.setXY.call(this,this.lastXY)}else{if(this.lastLT){d.setLeftTop.call(this,this.lastLT[0],this.lastLT[1])}}}},hideAction:function(){this.visible=false;if(this.useDisplay===true){this.setDisplayed(false)}else{this.setLeftTop(-10000,-10000)}},setVisible:function(m,n,b,a,e){if(m){this.showAction()}if(n&&m){var o=function(){this.sync(true);if(a){a()}}.createDelegate(this);d.setVisible.call(this,true,true,b,o,e)}else{if(!m){this.hideUnders(true)}var o=a;if(n){o=function(){this.hideAction();if(a){a()}}.createDelegate(this)}d.setVisible.call(this,m,n,b,o,e);if(m){this.sync(true)}else{if(!n){this.hideAction()}}}return this},storeXY:function(a){delete this.lastLT;this.lastXY=a},storeLeftTop:function(a,b){delete this.lastXY;this.lastLT=[a,b]},beforeFx:function(){this.beforeAction();return Ext.Layer.superclass.beforeFx.apply(this,arguments)},afterFx:function(){Ext.Layer.superclass.afterFx.apply(this,arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(a){this.storeLeftTop(a,this.getTop(true));d.setLeft.apply(this,arguments);this.sync();return this},setTop:function(a){this.storeLeftTop(this.getLeft(true),a);d.setTop.apply(this,arguments);this.sync();return this},setLeftTop:function(a,b){this.storeLeftTop(a,b);d.setLeftTop.apply(this,arguments);this.sync();return this},setXY:function(e,n,b,a,m){this.fixDisplay();this.beforeAction();this.storeXY(e);var o=this.createCB(a);d.setXY.call(this,e,n,b,o,m);if(!n){o()}return this},createCB:function(a){var b=this;return function(){b.constrainXY();b.sync(true);if(a){a()}}},setX:function(m,l,b,a,e){this.setXY([m,this.getY()],l,b,a,e);return this},setY:function(a,m,e,b,l){this.setXY([this.getX(),a],m,e,b,l);return this},setSize:function(h,e,o,a,q,b){this.beforeAction();var p=this.createCB(q);d.setSize.call(this,h,e,o,a,p,b);if(!o){p()}return this},setWidth:function(m,n,b,a,e){this.beforeAction();var o=this.createCB(a);d.setWidth.call(this,m,n,b,o,e);if(!n){o()}return this},setHeight:function(h,n,b,a,e){this.beforeAction();var o=this.createCB(a);d.setHeight.call(this,h,n,b,o,e);if(!n){o()}return this},setBounds:function(b,h,a,t,e,r,q,s){this.beforeAction();var u=this.createCB(q);if(!e){this.storeXY([b,h]);d.setXY.call(this,[b,h]);d.setSize.call(this,a,t,e,r,u,s);u()}else{d.setBounds.call(this,b,h,a,t,e,r,u,s)}return this},setZIndex:function(a){this.zindex=a;this.setStyle("z-index",a+2);if(this.shadow){this.shadow.setZIndex(a+1)}if(this.shim){this.shim.setStyle("z-index",a)}return this}})})();Ext.Shadow=function(h){Ext.apply(this,h);if(typeof this.mode!="string"){this.mode=this.defaultMode}var g=this.offset,j={h:0};var a=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":j.w=0;j.l=j.t=g;j.t-=1;if(Ext.isIE){j.l-=this.offset+a;j.t-=this.offset+a;j.w-=a;j.h-=a;j.t+=1}break;case"sides":j.w=(g*2);j.l=-g;j.t=g-1;if(Ext.isIE){j.l-=(this.offset-a);j.t-=this.offset+a;j.l+=1;j.w-=(this.offset-a)*2;j.w-=a+1;j.h-=1}break;case"frame":j.w=j.h=(g*2);j.l=j.t=-g;j.t+=1;j.h-=2;if(Ext.isIE){j.l-=(this.offset-a);j.t-=(this.offset-a);j.l+=1;j.w-=(this.offset+a+1);j.h-=(this.offset+a);j.h+=1}break}this.adjusts=j};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(b){b=Ext.get(b);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=b.dom){this.el.insertBefore(b)}}this.el.setStyle("z-index",this.zIndex||parseInt(b.getStyle("z-index"),10)-1);if(Ext.isIE){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"}this.realign(b.getLeft(true),b.getTop(true),b.getWidth(),b.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(B,a,d,y){if(!this.el){return}var s=this.adjusts,v=this.el.dom,C=v.style;var x=0;C.left=(B+s.l)+"px";C.top=(a+s.t)+"px";var h=(d+s.w),z=(y+s.h),w=h+"px",l=z+"px";if(C.width!=w||C.height!=l){C.width=w;C.height=l;if(!Ext.isIE){var t=v.childNodes;var A=Math.max(0,(h-12))+"px";t[0].childNodes[1].style.width=A;t[1].childNodes[1].style.width=A;t[2].childNodes[1].style.width=A;t[1].style.height=Math.max(0,(z-12))+"px"}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(b){this.zIndex=b;if(this.el){this.el.setStyle("z-index",b)}}};Ext.Shadow.Pool=function(){var c=[];var d=Ext.isIE?'<div class="x-ie-shadow"></div>':'<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';return{pull:function(){var a=c.shift();if(!a){a=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,d));a.autoBoxAdjust=false}return a},push:function(a){c.push(a)}}}();Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(h,m){if(typeof h=="object"){m=h.height;h=h.width}if(!this.boxReady){this.width=h;this.height=m;return this}if(this.cacheSizes!==false&&this.lastSize&&this.lastSize.width==h&&this.lastSize.height==m){return this}this.lastSize={width:h,height:m};var n=this.adjustSize(h,m);var k=n.width,j=n.height;if(k!==undefined||j!==undefined){var l=this.getResizeEl();if(!this.deferHeight&&k!==undefined&&j!==undefined){l.setSize(k,j)}else{if(!this.deferHeight&&j!==undefined){l.setHeight(j)}else{if(k!==undefined){l.setWidth(k)}}}this.onResize(k,j,h,m);this.fireEvent("resize",this,k,j,h,m)}return this},setWidth:function(b){return this.setSize(b)},setHeight:function(b){return this.setSize(undefined,b)},getSize:function(){return this.getResizeEl().getSize()},getWidth:function(){return this.getResizeEl().getWidth()},getHeight:function(){return this.getResizeEl().getHeight()},getOuterSize:function(){var b=this.getResizeEl();return{width:b.getWidth()+b.getMargins("lr"),height:b.getHeight()+b.getMargins("tb")}},getPosition:function(d){var c=this.getPositionEl();if(d===true){return[c.getLeft(true),c.getTop(true)]}return this.xy||c.getXY()},getBox:function(e){var g=this.getPosition(e);var d=this.getSize();d.x=g[0];d.y=g[1];return d},updateBox:function(b){this.setSize(b.width,b.height);this.setPagePosition(b.x,b.y);return this},getResizeEl:function(){return this.resizeEl||this.el},getPositionEl:function(){return this.positionEl||this.el},setPosition:function(j,k){if(j&&typeof j[1]=="number"){k=j[1];j=j[0]}this.x=j;this.y=k;if(!this.boxReady){return this}var h=this.adjustPosition(j,k);var l=h.x,m=h.y;var n=this.getPositionEl();if(l!==undefined||m!==undefined){if(l!==undefined&&m!==undefined){n.setLeftTop(l,m)}else{if(l!==undefined){n.setLeft(l)}else{if(m!==undefined){n.setTop(m)}}}this.onPosition(l,m);this.fireEvent("move",this,l,m)}return this},setPagePosition:function(e,g){if(e&&typeof e[1]=="number"){g=e[1];e=e[0]}this.pageX=e;this.pageY=g;if(!this.boxReady){return}if(e===undefined||g===undefined){return}var d=this.getPositionEl().translatePoints(e,g);this.setPosition(d.left,d.top);return this},onRender:function(c,d){Ext.BoxComponent.superclass.onRender.call(this,c,d);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);this.boxReady=true;this.setSize(this.width,this.height);if(this.x||this.y){this.setPosition(this.x,this.y)}else{if(this.pageX||this.pageY){this.setPagePosition(this.pageX,this.pageY)}}},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.getResizeEl().getWidth(),this.autoHeight?undefined:this.getResizeEl().getHeight());return this},onResize:function(h,e,g,j){},onPosition:function(d,c){},adjustSize:function(d,c){if(this.autoWidth){d="auto"}if(this.autoHeight){c="auto"}return{width:d,height:c}},adjustPosition:function(d,c){return{x:d,y:c}}});Ext.reg("box",Ext.BoxComponent);Ext.Spacer=Ext.extend(Ext.BoxComponent,{autoEl:"div"});Ext.reg("spacer",Ext.Spacer);Ext.SplitBar=function(l,j,g,k,h){this.el=Ext.get(l,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(j,true);this.orientation=g||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!h){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(h).dom}this.dd=new Ext.dd.DDProxy(this.el.dom.id,"XSplitBars",{dragElId:this.proxy.id});this.dd.b4StartDrag=this.onStartProxyDrag.createDelegate(this);this.dd.endDrag=this.onEndProxyDrag.createDelegate(this);this.dragSpecs={};this.adapter=new Ext.SplitBar.BasicLayoutAdapter();this.adapter.init(this);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.placement=k||(this.el.getX()>this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass("x-splitbar-h")}else{this.placement=k||(this.el.getY()>this.resizingEl.getY()?Ext.SplitBar.TOP:Ext.SplitBar.BOTTOM);this.el.addClass("x-splitbar-v")}this.addEvents("resize","moved","beforeresize","beforeapply");Ext.SplitBar.superclass.constructor.call(this)};Ext.extend(Ext.SplitBar,Ext.util.Observable,{onStartProxyDrag:function(h,j){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 l=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var k=l-this.activeMinSize;var g=Math.max(this.activeMaxSize-l,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?k:g,this.placement==Ext.SplitBar.LEFT?g:k,this.tickSize);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?k:g,this.placement==Ext.SplitBar.TOP?g:k,this.tickSize)}this.dragSpecs.startSize=l;this.dragSpecs.startPoint=[h,j];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,h,j)},onEndProxyDrag:function(g){Ext.get(this.proxy).setDisplayed(false);var d=Ext.lib.Event.getXY(g);if(this.overlay){Ext.destroy(this.overlay);delete this.overlay}var e;if(this.orientation==Ext.SplitBar.HORIZONTAL){e=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?d[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-d[0])}else{e=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?d[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-d[1])}e=Math.min(Math.max(e,this.activeMinSize),this.activeMaxSize);if(e!=this.dragSpecs.startSize){if(this.fireEvent("beforeapply",this,e)!==false){this.adapter.setElementSize(this,e);this.fireEvent("moved",this,e);this.fireEvent("resize",this,e)}}},getAdapter:function(){return this.adapter},setAdapter:function(b){this.adapter=b;this.adapter.init(this)},getMinimumSize:function(){return this.minSize},setMinimumSize:function(b){this.minSize=b},getMaximumSize:function(){return this.maxSize},setMaximumSize:function(b){this.maxSize=b},setCurrentSize:function(c){var d=this.animate;this.animate=false;this.adapter.setElementSize(this,c);this.animate=d},destroy:function(b){Ext.destroy(this.shim,Ext.get(this.proxy));this.dd.unreg();if(b){this.el.remove()}this.purgeListeners()}});Ext.SplitBar.createProxy=function(d){var g=new Ext.Element(document.createElement("div"));g.unselectable();var e="x-splitbar-proxy";g.addClass(e+" "+(d==Ext.SplitBar.HORIZONTAL?e+"-h":e+"-v"));document.body.appendChild(g.dom);return g.dom};Ext.SplitBar.BasicLayoutAdapter=function(){};Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(b){},getElementSize:function(b){if(b.orientation==Ext.SplitBar.HORIZONTAL){return b.resizingEl.getWidth()}else{return b.resizingEl.getHeight()}},setElementSize:function(d,e,g){if(d.orientation==Ext.SplitBar.HORIZONTAL){if(!d.animate){d.resizingEl.setWidth(e);if(g){g(d,e)}}else{d.resizingEl.setWidth(e,true,0.1,g,"easeOut")}}else{if(!d.animate){d.resizingEl.setHeight(e);if(g){g(d,e)}}else{d.resizingEl.setHeight(e,true,0.1,g,"easeOut")}}}};Ext.SplitBar.AbsoluteLayoutAdapter=function(b){this.basic=new Ext.SplitBar.BasicLayoutAdapter();this.container=Ext.get(b)};Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(b){this.basic.init(b)},getElementSize:function(b){return this.basic.getElementSize(b)},setElementSize:function(d,e,g){this.basic.setElementSize(d,e,this.moveSplitter.createDelegate(this,[d]))},moveSplitter:function(d){var c=Ext.SplitBar;switch(d.placement){case c.LEFT:d.el.setX(d.resizingEl.getRight());break;case c.RIGHT:d.el.setStyle("right",(this.container.getWidth()-d.resizingEl.getLeft())+"px");break;case c.TOP:d.el.setY(d.resizingEl.getBottom());break;case c.BOTTOM:d.el.setY(d.resizingEl.getTop()-d.el.getHeight());break}}};Ext.SplitBar.VERTICAL=1;Ext.SplitBar.HORIZONTAL=2;Ext.SplitBar.LEFT=1;Ext.SplitBar.RIGHT=2;Ext.SplitBar.TOP=3;Ext.SplitBar.BOTTOM=4;Ext.Container=Ext.extend(Ext.BoxComponent,{bufferResize:100,autoDestroy:true,forceLayout:false,defaultType:"panel",initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");this.enableBubble("add","remove");var b=this.items;if(b){delete this.items;if(Ext.isArray(b)&&b.length>0){this.add.apply(this,b)}else{this.add(b)}}},initItems:function(){if(!this.items){this.items=new Ext.util.MixedCollection(false,this.getComponentId);this.getLayout()}},setLayout:function(b){if(this.layout&&this.layout!=b){this.layout.setContainer(null)}this.initItems();this.layout=b;b.setContainer(this)},render:function(){Ext.Container.superclass.render.apply(this,arguments);if(this.layout){if(Ext.isObject(this.layout)&&!this.layout.layout){this.layoutConfig=this.layout;this.layout=this.layoutConfig.type}if(typeof this.layout=="string"){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);if(this.activeItem!==undefined){var b=this.activeItem;delete this.activeItem;this.layout.setActiveItem(b)}}if(!this.ownerCt){this.doLayout(false,true)}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(b){return b.getItemId()},add:function(g){this.initItems();var c=arguments.length>1;if(c||Ext.isArray(g)){Ext.each(c?arguments:g,function(a){this.add(a)},this);return}var h=this.lookupComponent(this.applyDefaults(g));var j=this.items.length;if(this.fireEvent("beforeadd",this,h,j)!==false&&this.onBeforeAdd(h)!==false){this.items.add(h);h.ownerCt=this;this.fireEvent("add",this,h,j)}return h},insert:function(l,m){this.initItems();var n=arguments,a=n.length;if(a>2){for(var k=a-1;k>=1;--k){this.insert(l,n[k])}return}var c=this.lookupComponent(this.applyDefaults(m));if(c.ownerCt==this&&this.items.indexOf(c)<l){--l}if(this.fireEvent("beforeadd",this,c,l)!==false&&this.onBeforeAdd(c)!==false){this.items.insert(l,c);c.ownerCt=this;this.fireEvent("add",this,c,l)}return c},applyDefaults:function(b){if(this.defaults){if(typeof b=="string"){b=Ext.ComponentMgr.get(b);Ext.apply(b,this.defaults)}else{if(!b.events){Ext.applyIf(b,this.defaults)}else{Ext.apply(b,this.defaults)}}}return b},onBeforeAdd:function(b){if(b.ownerCt){b.ownerCt.remove(b,false)}if(this.hideBorders===true){b.border=(b.border===true)}},remove:function(e,c){this.initItems();var g=this.getComponent(e);if(g&&this.fireEvent("beforeremove",this,g)!==false){this.items.remove(g);delete g.ownerCt;if(c===true||(c!==false&&this.autoDestroy)){g.destroy()}if(this.layout&&this.layout.activeItem==g){delete this.layout.activeItem}this.fireEvent("remove",this,g)}return g},removeAll:function(n){this.initItems();var l,k=[],h=[];this.items.each(function(a){k.push(a)});for(var m=0,j=k.length;m<j;++m){l=k[m];this.remove(l,n);if(l.ownerCt!==this){h.push(l)}}return h},getComponent:function(b){if(Ext.isObject(b)){return b}return this.items.get(b)},lookupComponent:function(b){if(typeof b=="string"){return Ext.ComponentMgr.get(b)}else{if(!b.events){return this.createComponent(b)}}return b},createComponent:function(b){return Ext.create(b,this.defaultType)},doLayout:function(p,q){var m=this.rendered,n=this.forceLayout;if(!this.isVisible()||this.collapsed){this.deferLayout=this.deferLayout||!p;if(!(q||n)){return}p=p&&!this.deferLayout}else{delete this.deferLayout}if(m&&this.layout){this.layout.layout()}if(p!==true&&this.items){var r=this.items.items;for(var c=0,l=r.length;c<l;c++){var o=r[c];if(o.doLayout){o.forceLayout=n;o.doLayout()}}}if(m){this.onLayout(p,q)}delete this.forceLayout},onLayout:Ext.emptyFn,onShow:function(){Ext.Container.superclass.onShow.call(this);if(this.deferLayout!==undefined){this.doLayout(true)}},getLayout:function(){if(!this.layout){var b=new Ext.layout.ContainerLayout(this.layoutConfig);this.setLayout(b)}return this.layout},beforeDestroy:function(){if(this.items){Ext.destroy.apply(Ext,this.items.items)}if(this.monitorResize){Ext.EventManager.removeResizeListener(this.doLayout,this)}Ext.destroy(this.layout);Ext.Container.superclass.beforeDestroy.call(this)},bubble:function(j,e,g){var h=this;while(h){if(j.apply(e||h,g||[h])===false){break}h=h.ownerCt}return this},cascade:function(k,l,h){if(k.apply(l||this,h||[this])!==false){if(this.items){var m=this.items.items;for(var n=0,j=m.length;n<j;n++){if(m[n].cascade){m[n].cascade(k,l,h)}else{k.apply(l||m[n],h||[m[n]])}}}}return this},findById:function(g){var e,d=this;this.cascade(function(a){if(d!=a&&a.id===g){e=a;return false}});return e||null},findByType:function(c,d){return this.findBy(function(a){return a.isXType(c,d)})},find:function(c,d){return this.findBy(function(a){return a[c]===d})},findBy:function(h,j){var g=[],e=this;this.cascade(function(a){if(e!=a&&h.call(j||a,a,e)===true){g.push(a)}});return g},get:function(b){return this.items.get(b)}});Ext.Container.LAYOUTS={};Ext.reg("container",Ext.Container);Ext.layout.ContainerLayout=function(b){Ext.apply(this,b)};Ext.layout.ContainerLayout.prototype={monitorResize:false,activeItem:null,layout:function(){var b=this.container.getLayoutTarget();this.onLayout(this.container,b);this.container.fireEvent("afterlayout",this.container,this)},onLayout:function(d,c){this.renderAll(d,c)},isValidParent:function(c,d){return d&&c.getDomPositionEl().dom.parentNode==(d.dom||d)},renderAll:function(m,l){var c=m.items.items;for(var n=0,j=c.length;n<j;n++){var k=c[n];if(k&&(!k.rendered||!this.isValidParent(k,l))){this.renderItem(k,n,l)}}},renderItem:function(g,e,c){if(g&&!g.rendered){g.render(c,e);this.configureItem(g,e)}else{if(g&&!this.isValidParent(g,c)){if(typeof e=="number"){e=c.dom.childNodes[e]}c.dom.insertBefore(g.getDomPositionEl().dom,e||null);g.container=c;this.configureItem(g,e)}}},configureItem:function(g,e){if(this.extraCls){var c=g.getPositionEl?g.getPositionEl():g;c.addClass(this.extraCls)}if(this.renderHidden&&g!=this.activeItem){g.hide()}if(g.doLayout){g.doLayout(false,this.forceLayout)}},onResize:function(){if(this.container.collapsed){return}var b=this.container.bufferResize;if(b){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.runLayout,this);this.resizeBuffer=typeof b=="number"?b:100}this.resizeTask.delay(this.resizeBuffer)}else{this.runLayout()}},runLayout:function(){this.layout();this.container.onLayout()},setContainer:function(b){if(this.monitorResize&&b!=this.container){if(this.container){this.container.un("resize",this.onResize,this);this.container.un("bodyresize",this.onResize,this)}if(b){b.on({scope:this,resize:this.onResize,bodyresize:this.onResize})}}this.container=b},parseMargins:function(d){if(typeof d=="number"){d=d.toString()}var g=d.split(" ");var e=g.length;if(e==1){g[1]=g[0];g[2]=g[0];g[3]=g[0]}if(e==2){g[2]=g[0];g[3]=g[1]}if(e==3){g[3]=g[1]}return{top:parseInt(g[0],10)||0,right:parseInt(g[1],10)||0,bottom:parseInt(g[2],10)||0,left:parseInt(g[3],10)||0}},fieldTpl:(function(){var b=new Ext.Template('<div class="x-form-item {itemCls}" tabIndex="-1">','<label for="{id}" style="{labelStyle}" class="x-form-item-label">{label}{labelSeparator}</label>','<div class="x-form-element" id="x-form-el-{id}" style="{elementStyle}">','</div><div class="{clearCls}"></div>',"</div>");b.disableFormats=true;return b.compile()})(),destroy:Ext.emptyFn};Ext.Container.LAYOUTS.auto=Ext.layout.ContainerLayout;Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,onLayout:function(e,g){Ext.layout.FitLayout.superclass.onLayout.call(this,e,g);if(!this.container.collapsed){var d=(Ext.isIE6&&Ext.isStrict&&g.dom==document.body)?g.getViewSize():g.getStyleSize();this.setItemSize(this.activeItem||e.items.itemAt(0),d)}},setItemSize:function(c,d){if(c&&d.height>0){c.setSize(d)}}});Ext.Container.LAYOUTS.fit=Ext.layout.FitLayout;Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,layoutOnCardChange:false,renderHidden:true,constructor:function(b){Ext.layout.CardLayout.superclass.constructor.call(this,b);this.forceLayout=(this.deferredRender===false)},setActiveItem:function(b){b=this.container.getComponent(b);if(this.activeItem!=b){if(this.activeItem){this.activeItem.hide()}this.activeItem=b;b.show();this.container.doLayout();if(this.layoutOnCardChange&&b.doLayout){b.doLayout()}}},renderAll:function(d,c){if(this.deferredRender){this.renderItem(this.activeItem,undefined,c)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,d,c)}}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(d,c){return c.dom==document.body?c.getViewSize():c.getStyleSize()},onLayout:function(y,v){Ext.layout.AnchorLayout.superclass.onLayout.call(this,y,v);var E=this.getAnchorViewSize(y,v);var a=E.width,z=E.height;if(a<20&&z<20){return}var C,h;if(y.anchorSize){if(typeof y.anchorSize=="number"){C=y.anchorSize}else{C=y.anchorSize.width;h=y.anchorSize.height}}else{C=y.initialConfig.width;h=y.initialConfig.height}var w=y.items.items,x=w.length,A,u,c,B,D;for(A=0;A<x;A++){u=w[A];if(u.anchor){c=u.anchorSpec;if(!c){var F=u.anchor.split(" ");u.anchorSpec=c={right:this.parseAnchor(F[0],u.initialConfig.width,C),bottom:this.parseAnchor(F[1],u.initialConfig.height,h)}}B=c.right?this.adjustWidthAnchor(c.right(a),u):undefined;D=c.bottom?this.adjustHeightAnchor(c.bottom(z),u):undefined;if(B||D){u.setSize(B||undefined,D||undefined)}}}},parseAnchor:function(n,j,a){if(n&&n!="none"){var l;if(/^(r|right|b|bottom)$/i.test(n)){var k=a-j;return function(b){if(b!==l){l=b;return b-k}}}else{if(n.indexOf("%")!=-1){var m=parseFloat(n.replace("%",""))*0.01;return function(b){if(b!==l){l=b;return Math.floor(b*m)}}}else{n=parseInt(n,10);if(!isNaN(n)){return function(b){if(b!==l){l=b;return b+n}}}}}}return false},adjustWidthAnchor:function(c,d){return c},adjustHeightAnchor:function(c,d){return c}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,extraCls:"x-column",scrollOffset:0,isValidParent:function(c,d){return(c.getPositionEl?c.getPositionEl():c.getEl()).dom.parentNode==this.innerCt.dom},onLayout:function(t,q){var s=t.items.items,r=s.length,p,v;if(!this.innerCt){q.addClass("x-column-layout-ct");this.innerCt=q.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}this.renderAll(t,this.innerCt);var c=Ext.isIE&&q.dom!=Ext.getBody().dom?q.getStyleSize():q.getViewSize();if(c.width<1&&c.height<1){return}var o=c.width-q.getPadding("lr")-this.scrollOffset,u=c.height-q.getPadding("tb"),h=o;this.innerCt.setWidth(o);for(v=0;v<r;v++){p=s[v];if(!p.columnWidth){h-=(p.getSize().width+p.getEl().getMargins("lr"))}}h=h<0?0:h;for(v=0;v<r;v++){p=s[v];if(p.columnWidth){p.setSize(Math.floor(p.columnWidth*h)-p.getEl().getMargins("lr"))}}}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,onLayout:function(W,h){var V;if(!this.rendered){h.addClass("x-border-layout-ct");var n=W.items.items;V=[];for(var P=0,N=n.length;P<N;P++){var I=n[P];var S=I.region;if(I.collapsed){V.push(I)}I.collapsed=false;if(!I.rendered){I.cls=I.cls?I.cls+" x-border-panel":"x-border-panel";I.render(h,P)}this[S]=S!="center"&&I.split?new Ext.layout.BorderLayout.SplitRegion(this,I.initialConfig,S):new Ext.layout.BorderLayout.Region(this,I.initialConfig,S);this[S].render(h,I)}this.rendered=true}var w=h.getViewSize();if(w.width<20||w.height<20){if(V){this.restoreCollapsed=V}return}else{if(this.restoreCollapsed){V=this.restoreCollapsed;delete this.restoreCollapsed}}var M=w.width,L=w.height;var O=M,b=L,R=0,Q=0;var e=this.north,J=this.south,T=this.west,K=this.east,I=this.center;if(!I&&Ext.layout.BorderLayout.WARN!==false){throw"No center region defined in BorderLayout "+W.id}if(e&&e.isVisible()){var m=e.getSize();var c=e.getMargins();m.width=M-(c.left+c.right);m.x=c.left;m.y=c.top;R=m.height+m.y+c.bottom;b-=R;e.applyLayout(m)}if(J&&J.isVisible()){var m=J.getSize();var c=J.getMargins();m.width=M-(c.left+c.right);m.x=c.left;var s=(m.height+c.top+c.bottom);m.y=L-s+c.top;b-=s;J.applyLayout(m)}if(T&&T.isVisible()){var m=T.getSize();var c=T.getMargins();m.height=b-(c.top+c.bottom);m.x=c.left;m.y=R+c.top;var X=(m.width+c.left+c.right);Q+=X;O-=X;T.applyLayout(m)}if(K&&K.isVisible()){var m=K.getSize();var c=K.getMargins();m.height=b-(c.top+c.bottom);var X=(m.width+c.left+c.right);m.x=M-X+c.left;m.y=R+c.top;O-=X;K.applyLayout(m)}if(I){var c=I.getMargins();var U={x:Q+c.left,y:R+c.top,width:O-(c.left+c.right),height:b-(c.top+c.bottom)};I.applyLayout(U)}if(V){for(var P=0,N=V.length;P<N;P++){V[P].collapse(false)}}if(Ext.isIE&&Ext.isStrict){h.repaint()}},destroy:function(){var d=["north","south","east","west"];for(var e=0;e<d.length;e++){var g=this[d[e]];if(g){if(g.destroy){g.destroy()}else{if(g.split){g.split.destroy(true)}}}}Ext.layout.BorderLayout.superclass.destroy.call(this)}});Ext.layout.BorderLayout.Region=function(d,e,g){Ext.apply(this,e);this.layout=d;this.position=g;this.state={};if(typeof this.margins=="string"){this.margins=this.layout.parseMargins(this.margins)}this.margins=Ext.applyIf(this.margins||{},this.defaultMargins);if(this.collapsible){if(typeof this.cmargins=="string"){this.cmargins=this.layout.parseMargins(this.cmargins)}if(this.collapseMode=="mini"&&!this.cmargins){this.cmargins={left:0,top:0,right:0,bottom:0}}else{this.cmargins=Ext.applyIf(this.cmargins||{},g=="north"||g=="south"?this.defaultNSCMargins:this.defaultEWCMargins)}}};Ext.layout.BorderLayout.Region.prototype={collapsible:false,split:false,floatable:true,minWidth:50,minHeight:50,defaultMargins:{left:0,top:0,right:0,bottom:0},defaultNSCMargins:{left:5,top:5,right:5,bottom:5},defaultEWCMargins:{left:5,top:0,right:5,bottom:0},floatingZIndex:100,isCollapsed:false,render:function(e,j){this.panel=j;j.el.enableDisplayMode();this.targetEl=e;this.el=j.el;var g=j.getState,h=this.position;j.getState=function(){return Ext.apply(g.call(j)||{},this.state)}.createDelegate(this);if(h!="center"){j.allowQueuedExpand=false;j.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){j.collapseEl="el";j.slideAnchor=this.getSlideAnchor()}if(j.tools&&j.tools.toggle){j.tools.toggle.addClass("x-tool-collapse-"+h);j.tools.toggle.addClassOnOver("x-tool-collapse-"+h+"-over")}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var c=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');c.disableFormats=true;c.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=c}this.collapsedEl=this.targetEl.createChild({cls:"x-layout-collapsed x-layout-collapsed-"+this.position,id:this.panel.id+"-xcollapsed"});this.collapsedEl.enableDisplayMode("block");if(this.collapseMode=="mini"){this.collapsedEl.addClass("x-layout-cmini-"+this.position);this.miniCollapsedEl=this.collapsedEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:"&#160;"});this.miniCollapsedEl.addClassOnOver("x-layout-mini-over");this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.onExpandClick,this,{stopEvent:true})}else{if(this.collapsible!==false&&!this.hideCollapseTool){var d=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);d.addClassOnOver("x-tool-expand-"+this.position+"-over");d.on("click",this.onExpandClick,this,{stopEvent:true})}if(this.floatable!==false||this.titleCollapse){this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this[this.floatable?"collapseClick":"onExpandClick"],this)}}}return this.collapsedEl},onExpandClick:function(b){if(this.isSlid){this.afterSlideIn();this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(b){this.panel.collapse()},beforeCollapse:function(c,d){this.lastAnim=d;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();this.panel.el.setStyle("z-index",100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(b){this.panel.el.setStyle("z-index",1);if(this.lastAnim===false||this.panel.animCollapse===false){this.getCollapsedEl().dom.style.visibility="visible"}else{this.getCollapsedEl().slideIn(this.panel.slideAnchor,{duration:0.2})}this.state.collapsed=true;this.panel.saveState()},beforeExpand:function(d){var c=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,c.getHeight())}else{this.panel.setSize(c.getWidth(),undefined)}c.hide();c.dom.style.visibility="hidden";this.panel.el.setStyle("z-index",this.floatingZIndex)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle("z-index",1);this.state.collapsed=false;this.panel.saveState()},collapseClick:function(b){if(this.isSlid){b.stopPropagation();this.slideIn()}else{b.stopPropagation();this.slideOut()}},onHide:function(){if(this.isCollapsed){this.getCollapsedEl().hide()}else{if(this.splitEl){this.splitEl.hide()}}},onShow:function(){if(this.isCollapsed){this.getCollapsedEl().show()}else{if(this.splitEl){this.splitEl.show()}}},isVisible:function(){return !this.panel.hidden},getMargins:function(){return this.isCollapsed&&this.cmargins?this.cmargins:this.margins},getSize:function(){return this.isCollapsed?this.getCollapsedEl().getSize():this.panel.getSize()},setPanel:function(b){this.panel=b},getMinWidth:function(){return this.minWidth},getMinHeight:function(){return this.minHeight},applyLayoutCollapsed:function(d){var c=this.getCollapsedEl();c.setLeftTop(d.x,d.y);c.setSize(d.width,d.height)},applyLayout:function(b){if(this.isCollapsed){this.applyLayoutCollapsed(b)}else{this.panel.setPosition(b.x,b.y);this.panel.setSize(b.width,b.height)}},beforeSlide:function(){this.panel.beforeEffect()},afterSlide:function(){this.panel.afterEffect()},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var b=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(a){if(!a.within(this.el,true)){b.delay(500)}},mouseover:function(a){b.cancel()},scope:this}}this.el.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.un("mouseover",this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un("click",this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return}this.isSlid=true;var b=this.panel.tools;if(b&&b.toggle){b.toggle.hide()}this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,this.collapsedEl.getHeight())}else{this.panel.setSize(this.collapsedEl.getWidth(),undefined)}this.restoreLT=[this.el.dom.style.left,this.el.dom.style.top];this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());this.el.setStyle("z-index",this.floatingZIndex+2);this.panel.el.replaceClass("x-panel-collapsed","x-panel-floating");if(this.animFloat!==false){this.beforeSlide();this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)},scope:this,block:true})}else{this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)}},afterSlideIn:function(){this.clearAutoHide();this.isSlid=false;this.clearMonitor();this.el.setStyle("z-index","");this.panel.el.replaceClass("x-panel-floating","x-panel-collapsed");this.el.dom.style.left=this.restoreLT[0];this.el.dom.style.top=this.restoreLT[1];var b=this.panel.tools;if(b&&b.toggle){b.toggle.show()}},slideIn:function(b){if(!this.isSlid||this.el.hasActiveFx()){Ext.callback(b);return}this.isSlid=false;if(this.animFloat!==false){this.beforeSlide();this.el.slideOut(this.getSlideAnchor(),{callback:function(){this.el.hide();this.afterSlide();this.afterSlideIn();Ext.callback(b)},scope:this,block:true})}else{this.el.hide();this.afterSlideIn()}},slideInIf:function(b){if(!b.within(this.el)){this.slideIn()}},anchors:{west:"left",east:"right",north:"top",south:"bottom"},sanchors:{west:"l",east:"r",north:"t",south:"b"},canchors:{west:"tl-tr",east:"tr-tl",north:"tl-bl",south:"bl-tl"},getAnchor:function(){return this.anchors[this.position]},getCollapseAnchor:function(){return this.canchors[this.position]},getSlideAnchor:function(){return this.sanchors[this.position]},getAlignAdj:function(){var b=this.cmargins;switch(this.position){case"west":return[0,0];break;case"east":return[0,0];break;case"north":return[0,0];break;case"south":return[0,0];break}},getExpandAdj:function(){var c=this.collapsedEl,d=this.cmargins;switch(this.position){case"west":return[-(d.right+c.getWidth()+d.left),0];break;case"east":return[d.right+c.getWidth()+d.left,0];break;case"north":return[0,-(d.top+d.bottom+c.getHeight())];break;case"south":return[0,d.top+d.bottom+c.getHeight()];break}}};Ext.layout.BorderLayout.SplitRegion=function(d,e,g){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,d,e,g);this.applyLayout=this.applyFns[g]};Ext.extend(Ext.layout.BorderLayout.SplitRegion,Ext.layout.BorderLayout.Region,{splitTip:"Drag to resize.",collapsibleSplitTip:"Drag to resize. Double click to hide.",useSplitTips:false,splitSettings:{north:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.TOP,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},south:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.BOTTOM,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},east:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.RIGHT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"},west:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.LEFT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"}},applyFns:{west:function(j){if(this.isCollapsed){return this.applyLayoutCollapsed(j)}var h=this.splitEl.dom,e=h.style;this.panel.setPosition(j.x,j.y);var g=h.offsetWidth;e.left=(j.x+j.width-g)+"px";e.top=(j.y)+"px";e.height=Math.max(0,j.height)+"px";this.panel.setSize(j.width-g,j.height)},east:function(j){if(this.isCollapsed){return this.applyLayoutCollapsed(j)}var h=this.splitEl.dom,e=h.style;var g=h.offsetWidth;this.panel.setPosition(j.x+g,j.y);e.left=(j.x)+"px";e.top=(j.y)+"px";e.height=Math.max(0,j.height)+"px";this.panel.setSize(j.width-g,j.height)},north:function(j){if(this.isCollapsed){return this.applyLayoutCollapsed(j)}var h=this.splitEl.dom,e=h.style;var g=h.offsetHeight;this.panel.setPosition(j.x,j.y);e.left=(j.x)+"px";e.top=(j.y+j.height-g)+"px";e.width=Math.max(0,j.width)+"px";this.panel.setSize(j.width,j.height-g)},south:function(j){if(this.isCollapsed){return this.applyLayoutCollapsed(j)}var h=this.splitEl.dom,e=h.style;var g=h.offsetHeight;this.panel.setPosition(j.x,j.y+g);e.left=(j.x)+"px";e.top=(j.y)+"px";e.width=Math.max(0,j.width)+"px";this.panel.setSize(j.width,j.height-g)}},render:function(g,j){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,g,j);var h=this.position;this.splitEl=g.createChild({cls:"x-layout-split x-layout-split-"+h,html:"&#160;",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+h,html:"&#160;"});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var e=this.splitSettings[h];this.split=new Ext.SplitBar(this.splitEl.dom,j.el,e.orientation);this.split.tickSize=this.tickSize;this.split.placement=e.placement;this.split.getMaximumSize=this[e.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[e.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[e.maxProp];if(j.hidden){this.splitEl.hide()}if(this.useSplitTips){this.splitEl.dom.title=this.collapsible?this.collapsibleSplitTip:this.splitTip}if(this.collapsible){this.splitEl.on("dblclick",this.onCollapseClick,this)}},getSize:function(){if(this.isCollapsed){return this.collapsedEl.getSize()}var b=this.panel.getSize();if(this.position=="north"||this.position=="south"){b.height+=this.splitEl.dom.offsetHeight}else{b.width+=this.splitEl.dom.offsetWidth}return b},getHMaxSize:function(){var c=this.maxSize||10000;var d=this.layout.center;return Math.min(c,(this.el.getWidth()+d.el.getWidth())-d.getMinWidth())},getVMaxSize:function(){var c=this.maxSize||10000;var d=this.layout.center;return Math.min(c,(this.el.getHeight()+d.el.getHeight())-d.getMinHeight())},onSplitMove:function(d,e){var g=this.panel.getSize();this.lastSplitSize=e;if(this.position=="north"||this.position=="south"){this.panel.setSize(g.width,e);this.state.height=e}else{this.panel.setSize(e,g.height);this.state.width=e}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split},destroy:function(){Ext.destroy(this.miniSplitEl,this.split,this.splitEl)}});Ext.Container.LAYOUTS.border=Ext.layout.BorderLayout;Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:":",setContainer:function(d){Ext.layout.FormLayout.superclass.setContainer.call(this,d);if(d.labelAlign){d.addClass("x-form-label-"+d.labelAlign)}if(d.hideLabels){this.labelStyle="display:none";this.elementStyle="padding-left:0;";this.labelAdjust=0}else{this.labelSeparator=d.labelSeparator||this.labelSeparator;d.labelWidth=d.labelWidth||100;if(typeof d.labelWidth=="number"){var c=(typeof d.labelPad=="number"?d.labelPad:5);this.labelAdjust=d.labelWidth+c;this.labelStyle="width:"+d.labelWidth+"px;";this.elementStyle="padding-left:"+(d.labelWidth+c)+"px"}if(d.labelAlign=="top"){this.labelStyle="width:auto;";this.labelAdjust=0;this.elementStyle="padding-left:0;"}}},getLabelStyle:function(j){var g="",l=[this.labelStyle,j];for(var k=0,h=l.length;k<h;++k){if(l[k]){g+=l[k];if(g.substr(-1,1)!=";"){g+=";"}}}return g},renderItem:function(h,g,j){if(h&&!h.rendered&&(h.isFormField||h.fieldLabel)&&h.inputType!="hidden"){var c=this.getTemplateArgs(h);if(typeof g=="number"){g=j.dom.childNodes[g]||null}if(g){this.fieldTpl.insertBefore(g,c)}else{this.fieldTpl.append(j,c)}h.render("x-form-el-"+h.id)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},getTemplateArgs:function(c){var d=!c.fieldLabel||c.hideLabel;return{id:c.id,label:c.fieldLabel,labelStyle:c.labelStyle||this.labelStyle||"",elementStyle:this.elementStyle||"",labelSeparator:d?"":(typeof c.labelSeparator=="undefined"?this.labelSeparator:c.labelSeparator),itemCls:(c.itemCls||this.container.itemCls||"")+(c.hideLabel?" x-hide-label":""),clearCls:c.clearCls||"x-form-clear-left"}},adjustWidthAnchor:function(c,d){return c-(d.isFormField||d.fieldLabel?(d.hideLabel?0:this.labelAdjust):0)},isValidParent:function(c,d){return true}});Ext.Container.LAYOUTS.form=Ext.layout.FormLayout;Ext.layout.AccordionLayout=Ext.extend(Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,renderItem:function(b){if(this.animate===false){b.animCollapse=false}b.collapsible=true;if(this.autoWidth){b.autoWidth=true}if(this.titleCollapse){b.titleCollapse=true}if(this.hideCollapseTool){b.hideCollapseTool=true}if(this.collapseFirst!==undefined){b.collapseFirst=this.collapseFirst}if(!this.activeItem&&!b.collapsed){this.activeItem=b}else{if(this.activeItem&&this.activeItem!=b){b.collapsed=true}}Ext.layout.AccordionLayout.superclass.renderItem.apply(this,arguments);b.header.addClass("x-accordion-hd");b.on("beforeexpand",this.beforeExpand,this)},beforeExpand:function(g,d){var e=this.activeItem;if(e){if(this.sequence){delete this.activeItem;if(!e.collapsed){e.collapse({callback:function(){g.expand(d||true)},scope:this});return false}}else{e.collapse(this.animate)}}this.activeItem=g;if(this.activeOnTop){g.el.dom.parentNode.insertBefore(g.el.dom,g.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(g,d){if(this.fill&&g){var e=0;this.container.items.each(function(a){if(a!=g){e+=a.header.getHeight()}});d.height-=e;g.setSize(d)}},setActiveItem:function(b){b=this.container.getComponent(b);if(this.activeItem!=b){if(b.rendered&&b.collapsed){b.expand()}else{this.activeItem=b}}}});Ext.Container.LAYOUTS.accordion=Ext.layout.AccordionLayout;Ext.layout.Accordion=Ext.layout.AccordionLayout;Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,tableAttrs:null,setContainer:function(b){Ext.layout.TableLayout.superclass.setContainer.call(this,b);this.currentRow=0;this.currentColumn=0;this.cells=[]},onLayout:function(n,l){var m=n.items.items,j=m.length,k,c;if(!this.table){l.addClass("x-table-layout-ct");this.table=l.createChild(Ext.apply({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true)}this.renderAll(n,l)},getRow:function(d){var c=this.table.tBodies[0].childNodes[d];if(!c){c=document.createElement("tr");this.table.tBodies[0].appendChild(c)}return c},getNextCell:function(l){var k=this.getNextNonSpan(this.currentColumn,this.currentRow);var o=this.currentColumn=k[0],p=this.currentRow=k[1];for(var m=p;m<p+(l.rowspan||1);m++){if(!this.cells[m]){this.cells[m]=[]}for(var q=o;q<o+(l.colspan||1);q++){this.cells[m][q]=true}}var n=document.createElement("td");if(l.cellId){n.id=l.cellId}var c="x-table-layout-cell";if(l.cellCls){c+=" "+l.cellCls}n.className=c;if(l.colspan){n.colSpan=l.colspan}if(l.rowspan){n.rowSpan=l.rowspan}this.getRow(p).appendChild(n);return n},getNextNonSpan:function(e,g){var d=this.columns;while((d&&e>=d)||(this.cells[g]&&this.cells[g][e])){if(d&&e>=d){g++;e=0}else{e++}}return[e,g]},renderItem:function(h,g,j){if(h&&!h.rendered){h.render(this.getNextCell(h));if(this.extraCls){var c=h.getPositionEl?h.getPositionEl():h;c.addClass(this.extraCls)}}},isValidParent:function(c,d){return true}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",onLayout:function(d,c){c.position();this.paddingLeft=c.getPadding("l");this.paddingTop=c.getPadding("t");Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,d,c)},adjustWidthAnchor:function(c,d){return c?c-d.getPosition(true)[0]+this.paddingLeft:c},adjustHeightAnchor:function(c,d){return c?c-d.getPosition(true)[1]+this.paddingTop:c}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;Ext.layout.BoxLayout=Ext.extend(Ext.layout.ContainerLayout,{defaultMargins:{left:0,top:0,right:0,bottom:0},padding:"0",pack:"start",monitorResize:true,scrollOffset:0,extraCls:"x-box-item",ctCls:"x-box-layout-ct",innerCls:"x-box-inner",isValidParent:function(c,d){return c.getEl().dom.parentNode==this.innerCt.dom},onLayout:function(q,n){var p=q.items.items,c=p.length,m,r,o=c-1,l;if(!this.innerCt){n.addClass(this.ctCls);this.innerCt=n.createChild({cls:this.innerCls});this.padding=this.parseMargins(this.padding)}this.renderAll(q,this.innerCt)},renderItem:function(b){if(typeof b.margins=="string"){b.margins=this.parseMargins(b.margins)}else{if(!b.margins){b.margins=this.defaultMargins}}Ext.layout.BoxLayout.superclass.renderItem.apply(this,arguments)},getTargetSize:function(b){return(Ext.isIE6&&Ext.isStrict&&b.dom==document.body)?b.getStyleSize():b.getViewSize()},getItems:function(c){var d=[];c.items.each(function(a){if(a.isVisible()){d.push(a)}});return d}});Ext.layout.VBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"left",onLayout:function(W,G){Ext.layout.VBoxLayout.superclass.onLayout.call(this,W,G);var V=this.getItems(W),T,R,M,K=this.getTargetSize(G),S=K.width-G.getPadding("lr")-this.scrollOffset,l=K.height-G.getPadding("tb"),I=this.padding.left,Q=this.padding.top,U=this.pack=="start",w=["stretch","stretchmax"].indexOf(this.align)==-1,L=S-(this.padding.left+this.padding.right),P=0,O=0,F=0,J=0,X=0;Ext.each(V,function(a){T=a.margins;F+=a.flex||0;R=a.getHeight();M=T.top+T.bottom;P+=R+M;J+=M+(a.flex?0:R);O=Math.max(O,a.getWidth()+T.left+T.right)});P=l-P-this.padding.top-this.padding.bottom;var aa=O+this.padding.left+this.padding.right;switch(this.align){case"stretch":this.innerCt.setSize(S,l);break;case"stretchmax":case"left":this.innerCt.setSize(aa,l);break;case"center":this.innerCt.setSize(S=Math.max(S,aa),l);break}var Y=Math.max(0,l-this.padding.top-this.padding.bottom-J),H=Y,h=[],t=[],N=0,Z=Math.max(0,S-this.padding.left-this.padding.right);Ext.each(V,function(a){if(U&&a.flex){R=Math.floor(Y*(a.flex/F));H-=R;h.push(R)}});if(this.pack=="center"){Q+=P?P/2:0}else{if(this.pack=="end"){Q+=P}}Ext.each(V,function(a){T=a.margins;Q+=T.top;a.setPosition(I+T.left,Q);if(U&&a.flex){R=Math.max(0,h[N++]+(H-->0?1:0));if(w){t.push(a.getWidth())}a.setSize(Z,R)}else{R=a.getHeight()}Q+=R+T.bottom});N=0;Ext.each(V,function(a){T=a.margins;if(this.align=="stretch"){a.setWidth((L-(T.left+T.right)).constrain(a.minWidth||0,a.maxWidth||1000000))}else{if(this.align=="stretchmax"){a.setWidth((O-(T.left+T.right)).constrain(a.minWidth||0,a.maxWidth||1000000))}else{if(this.align=="center"){var b=Z-(a.getWidth()+T.left+T.right);if(b>0){a.setPosition(I+T.left+(b/2),a.y)}}if(U&&a.flex){a.setWidth(t[N++])}}}},this)}});Ext.Container.LAYOUTS.vbox=Ext.layout.VBoxLayout;Ext.layout.HBoxLayout=Ext.extend(Ext.layout.BoxLayout,{align:"top",onLayout:function(X,G){Ext.layout.HBoxLayout.superclass.onLayout.call(this,X,G);var W=this.getItems(X),T,Y,M,K=this.getTargetSize(G),R=K.width-G.getPadding("lr")-this.scrollOffset,L=K.height-G.getPadding("tb"),F=this.padding.left,P=this.padding.top,U=this.pack=="start",h=["stretch","stretchmax"].indexOf(this.align)==-1,Q=L-(this.padding.top+this.padding.bottom),J=0,I=0,w=0,Z=0,V=0;Ext.each(W,function(a){T=a.margins;w+=a.flex||0;Y=a.getWidth();M=T.left+T.right;J+=Y+M;Z+=M+(a.flex?0:Y);I=Math.max(I,a.getHeight()+T.top+T.bottom)});J=R-J-this.padding.left-this.padding.right;var l=I+this.padding.top+this.padding.bottom;switch(this.align){case"stretch":this.innerCt.setSize(R,L);break;case"stretchmax":case"top":this.innerCt.setSize(R,l);break;case"middle":this.innerCt.setSize(R,L=Math.max(L,l));break}var t=Math.max(0,R-this.padding.left-this.padding.right-Z),H=t,S=[],O=[],N=0,aa=Math.max(0,L-this.padding.top-this.padding.bottom);Ext.each(W,function(a){if(U&&a.flex){Y=Math.floor(t*(a.flex/w));H-=Y;S.push(Y)}});if(this.pack=="center"){F+=J?J/2:0}else{if(this.pack=="end"){F+=J}}Ext.each(W,function(a){T=a.margins;F+=T.left;a.setPosition(F,P+T.top);if(U&&a.flex){Y=Math.max(0,S[N++]+(H-->0?1:0));if(h){O.push(a.getHeight())}a.setSize(Y,aa)}else{Y=a.getWidth()}F+=Y+T.right});N=0;Ext.each(W,function(b){var c=b.margins;if(this.align=="stretch"){b.setHeight((Q-(c.top+c.bottom)).constrain(b.minHeight||0,b.maxHeight||1000000))}else{if(this.align=="stretchmax"){b.setHeight((I-(c.top+c.bottom)).constrain(b.minHeight||0,b.maxHeight||1000000))}else{if(this.align=="middle"){var a=aa-(b.getHeight()+c.top+c.bottom);if(a>0){b.setPosition(b.x,P+c.top+(a/2))}}if(U&&b.flex){b.setHeight(O[N++])}}}},this)}});Ext.Container.LAYOUTS.hbox=Ext.layout.HBoxLayout;Ext.Viewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.Viewport.superclass.initComponent.call(this);document.getElementsByTagName("html")[0].className+=" x-viewport";this.el=Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll="no";this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el},fireResize:function(d,c){this.fireEvent("resize",this,d,c,d,c)}});Ext.reg("viewport",Ext.Viewport);Ext.Panel=Ext.extend(Ext.Container,{baseCls:"x-panel",collapsedCls:"x-panel-collapsed",maskDisabled:true,animCollapse:Ext.enableFx,headerAsText:true,buttonAlign:"right",collapsed:false,collapseFirst:true,minButtonWidth:75,elements:"body",preventBodyReset:false,toolTarget:"header",collapseEl:"bwrap",slideAnchor:"t",disabledClass:"",deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","iconchange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.unstyled){this.baseCls="x-plain"}if(this.tbar){this.elements+=",tbar";if(Ext.isObject(this.tbar)){this.topToolbar=this.tbar}delete this.tbar}if(this.bbar){this.elements+=",bbar";if(Ext.isObject(this.bbar)){this.bottomToolbar=this.bbar}delete this.bbar}if(this.header===true){this.elements+=",header";delete this.header}else{if(this.headerCfg||(this.title&&this.header!==false)){this.elements+=",header"}}if(this.footerCfg||this.footer===true){this.elements+=",footer";delete this.footer}if(this.buttons){this.elements+=",footer";var g=this.buttons;this.buttons=[];for(var d=0,e=g.length;d<e;d++){if(g[d].render){this.buttons.push(g[d])}else{if(g[d].xtype){this.buttons.push(Ext.create(g[d],"button"))}else{this.addButton(g[d])}}}}if(this.fbar){this.elements+=",footer"}if(this.autoLoad){this.on("render",this.doAutoLoad,this,{delay:10})}},createElement:function(e,g){if(this[e]){g.appendChild(this[e].dom);return}if(e==="bwrap"||this.elements.indexOf(e)!=-1){if(this[e+"Cfg"]){this[e]=Ext.fly(g).createChild(this[e+"Cfg"])}else{var d=document.createElement("div");d.className=this[e+"Cls"];this[e]=Ext.get(g.appendChild(d))}if(this[e+"CssClass"]){this[e].addClass(this[e+"CssClass"])}if(this[e+"Style"]){this[e].applyStyles(this[e+"Style"])}}},onRender:function(s,t){Ext.Panel.superclass.onRender.call(this,s,t);this.createClasses();var w=this.el,q=w.dom,o;w.addClass(this.baseCls);if(q.firstChild){this.header=w.down("."+this.headerCls);this.bwrap=w.down("."+this.bwrapCls);var p=this.bwrap?this.bwrap:w;this.tbar=p.down("."+this.tbarCls);this.body=p.down("."+this.bodyCls);this.bbar=p.down("."+this.bbarCls);this.footer=p.down("."+this.footerCls);this.fromMarkup=true}if(this.preventBodyReset===true){w.addClass("x-panel-reset")}if(this.cls){w.addClass(this.cls)}if(this.buttons){this.elements+=",footer"}if(this.frame){w.insertHtml("afterBegin",String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement("header",q.firstChild.firstChild.firstChild);this.createElement("bwrap",q);o=this.bwrap.dom;var u=q.childNodes[1],v=q.childNodes[2];o.appendChild(u);o.appendChild(v);var n=o.firstChild.firstChild.firstChild;this.createElement("tbar",n);this.createElement("body",n);this.createElement("bbar",n);this.createElement("footer",o.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=" x-panel-nofooter"}}else{this.createElement("header",q);this.createElement("bwrap",q);o=this.bwrap.dom;this.createElement("tbar",o);this.createElement("body",o);this.createElement("bbar",o);this.createElement("footer",o);if(!this.header){this.body.addClass(this.bodyCls+"-noheader");if(this.tbar){this.tbar.addClass(this.tbarCls+"-noheader")}}}if(this.padding!==undefined){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.tools=this.tools?this.tools.slice(0):[];if(!this.hideCollapseTool){this.tools[this.collapseFirst?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})}if(this.titleCollapse&&this.header){this.mon(this.header,"click",this.toggleCollapse,this);this.header.setStyle("cursor","pointer")}}if(this.tools){var r=this.tools;this.tools={};this.addTool.apply(this,r)}else{this.tools={}}if(this.buttons&&this.buttons.length>0){this.fbar=new Ext.Toolbar({items:this.buttons,toolbarCls:"x-panel-fbar"})}this.toolbars=[];if(this.fbar){this.fbar=Ext.create(this.fbar,"toolbar");this.fbar.enableOverflow=false;if(this.fbar.items){this.fbar.items.each(function(a){a.minWidth=a.minWidth||this.minButtonWidth},this)}this.fbar.toolbarCls="x-panel-fbar";var d=this.footer.createChild({cls:"x-panel-btns x-panel-btns-"+this.buttonAlign});this.fbar.ownerCt=this;this.fbar.render(d);d.createChild({cls:"x-clear"});this.toolbars.push(this.fbar)}if(this.tbar&&this.topToolbar){if(Ext.isArray(this.topToolbar)){this.topToolbar=new Ext.Toolbar(this.topToolbar)}else{if(!this.topToolbar.events){this.topToolbar=Ext.create(this.topToolbar,"toolbar")}}this.topToolbar.ownerCt=this;this.topToolbar.render(this.tbar);this.toolbars.push(this.topToolbar)}if(this.bbar&&this.bottomToolbar){if(Ext.isArray(this.bottomToolbar)){this.bottomToolbar=new Ext.Toolbar(this.bottomToolbar)}else{if(!this.bottomToolbar.events){this.bottomToolbar=Ext.create(this.bottomToolbar,"toolbar")}}this.bottomToolbar.ownerCt=this;this.bottomToolbar.render(this.bbar);this.toolbars.push(this.bottomToolbar)}Ext.each(this.toolbars,function(a){a.on({scope:this,afterlayout:this.syncHeight,remove:this.syncHeight})},this)},setIconClass:function(e){var g=this.iconCls;this.iconCls=e;if(this.rendered&&this.header){if(this.frame){this.header.addClass("x-panel-icon");this.header.replaceClass(g,this.iconCls)}else{var h=this.header.dom;var j=h.firstChild&&String(h.firstChild.tagName).toLowerCase()=="img"?h.firstChild:null;if(j){Ext.fly(j).replaceClass(g,this.iconCls)}else{Ext.DomHelper.insertBefore(h.firstChild,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})}}}this.fireEvent("iconchange",this,e,g)},makeFloating:function(b){this.floating=true;this.el=new Ext.Layer(Ext.isObject(b)?b:{shadow:this.shadow!==undefined?this.shadow:"sides",shadowOffset:this.shadowOffset,constrain:false,shim:this.shim===false?false:undefined},this.el)},getTopToolbar:function(){return this.topToolbar},getBottomToolbar:function(){return this.bottomToolbar},addButton:function(h,k,l){var j={handler:k,scope:l,minWidth:this.minButtonWidth,hideParent:true};if(typeof h=="string"){j.text=h}else{Ext.apply(j,h)}var g=new Ext.Button(j);if(!this.buttons){this.buttons=[]}this.buttons.push(g);return g},addTool:function(){if(!this[this.toolTarget]){return}if(!this.toolTemplate){var l=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');l.disableFormats=true;l.compile();Ext.Panel.prototype.toolTemplate=l}for(var m=0,o=arguments,p=o.length;m<p;m++){var a=o[m];if(!this.tools[a.id]){var k="x-tool-"+a.id+"-over";var n=this.toolTemplate.insertFirst((a.align!=="left")?this[this.toolTarget]:this[this.toolTarget].child("span"),a,true);this.tools[a.id]=n;n.enableDisplayMode("block");this.mon(n,"click",this.createToolHandler(n,a,k,this));if(a.on){this.mon(n,a.on)}if(a.hidden){n.hide()}if(a.qtip){if(Ext.isObject(a.qtip)){Ext.QuickTips.register(Ext.apply({target:n.id},a.qtip))}else{n.dom.qtip=a.qtip}}n.addClassOnOver(k)}}},onLayout:function(){if(this.toolbars.length>0){this.duringLayout=true;Ext.each(this.toolbars,function(b){b.doLayout()});delete this.duringLayout;this.syncHeight()}},syncHeight:function(){if(!(this.autoHeight||this.duringLayout)){var m=this.lastSize;if(m&&!Ext.isEmpty(m.height)){var h=m.height,n=this.el.getHeight();if(h!="auto"&&h!=n){var l=this.body,j=l.getHeight();n=Math.max(j+h-n,0);if(j>0&&j!=n){l.setHeight(n);if(Ext.isIE&&n<=0){return}var k=l.getSize();this.fireEvent("bodyresize",k.width,k.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(j,g,h,e){return function(a){j.removeClass(h);if(g.stopEvent!==false){a.stopEvent()}if(g.handler){g.handler.call(g.scope||j,a,j,e,g)}}},afterRender:function(){if(this.floating&&!this.hidden){this.el.show()}if(this.title){this.setTitle(this.title)}this.setAutoScroll();if(this.html){this.body.update(Ext.isObject(this.html)?Ext.DomHelper.markup(this.html):this.html);delete this.html}if(this.contentEl){var b=Ext.getDom(this.contentEl);Ext.fly(b).removeClass(["x-hidden","x-hide-display"]);this.body.dom.appendChild(b)}if(this.collapsed){this.collapsed=false;this.collapse(false)}Ext.Panel.superclass.afterRender.call(this);this.initEvents()},setAutoScroll:function(){if(this.rendered&&this.autoScroll){var b=this.body||this.el;if(b){b.setOverflow("auto")}}},getKeyMap:function(){if(!this.keyMap){this.keyMap=new Ext.KeyMap(this.el,this.keys)}return this.keyMap},initEvents:function(){if(this.keys){this.getKeyMap()}if(this.draggable){this.initDraggable()}},initDraggable:function(){this.dd=new Ext.Panel.DD(this,typeof this.draggable=="boolean"?null:this.draggable)},beforeEffect:function(){if(this.floating){this.el.beforeAction()}this.el.addClass("x-panel-animated")},afterEffect:function(){this.syncShadow();this.el.removeClass("x-panel-animated")},createEffect:function(j,a,h){var g={scope:h,block:true};if(j===true){g.callback=a;return g}else{if(!j.callback){g.callback=a}else{g.callback=function(){a.call(h);Ext.callback(j.callback,j.scope)}}}return Ext.applyIf(g,j)},collapse:function(c){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,c)===false){return}var d=c===true||(c!==false&&this.animCollapse);this.beforeEffect();this.onCollapse(d,c);return this},onCollapse:function(d,c){if(d){this[this.collapseEl].slideOut(this.slideAnchor,Ext.apply(this.createEffect(c||true,this.afterCollapse,this),this.collapseDefaults))}else{this[this.collapseEl].hide();this.afterCollapse()}},afterCollapse:function(){this.collapsed=true;this.el.addClass(this.collapsedCls);this.afterEffect();this.fireEvent("collapse",this)},expand:function(c){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,c)===false){return}var d=c===true||(c!==false&&this.animCollapse);this.el.removeClass(this.collapsedCls);this.beforeEffect();this.onExpand(d,c);return this},onExpand:function(d,c){if(d){this[this.collapseEl].slideIn(this.slideAnchor,Ext.apply(this.createEffect(c||true,this.afterExpand,this),this.expandDefaults))}else{this[this.collapseEl].show();this.afterExpand()}},afterExpand:function(){this.collapsed=false;this.afterEffect();if(this.deferLayout!==undefined){this.doLayout(true)}this.fireEvent("expand",this)},toggleCollapse:function(b){this[this.collapsed?"expand":"collapse"](b);return this},onDisable:function(){if(this.rendered&&this.maskDisabled){this.el.mask()}Ext.Panel.superclass.onDisable.call(this)},onEnable:function(){if(this.rendered&&this.maskDisabled){this.el.unmask()}Ext.Panel.superclass.onEnable.call(this)},onResize:function(g,l){if(g!==undefined||l!==undefined){if(!this.collapsed){if(typeof g=="number"){g=this.adjustBodyWidth(g-this.getFrameWidth());if(this.tbar){this.tbar.setWidth(g);if(this.topToolbar){this.topToolbar.setSize(g)}}if(this.bbar){this.bbar.setWidth(g);if(this.bottomToolbar){this.bottomToolbar.setSize(g)}}if(this.fbar){var k=this.fbar,j=1,h=Ext.isStrict;if(this.buttonAlign=="left"){j=g-k.container.getFrameWidth("lr")}else{if(Ext.isIE||Ext.isWebKit){if(!(this.buttonAlign=="center"&&Ext.isWebKit)&&(!h||(!Ext.isIE8&&h))){(function(){k.setWidth(k.getEl().child(".x-toolbar-ct").getWidth())}).defer(1)}else{j="auto"}}else{j="auto"}}k.setWidth(j)}this.body.setWidth(g)}else{if(g=="auto"){this.body.setWidth(g)}}if(typeof l=="number"){l=Math.max(0,this.adjustBodyHeight(l-this.getFrameHeight()));this.body.setHeight(l)}else{if(l=="auto"){this.body.setHeight(l)}}if(this.disabled&&this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight())}}else{this.queuedBodySize={width:g,height:l};if(!this.queuedExpand&&this.allowQueuedExpand!==false){this.queuedExpand=true;this.on("expand",function(){delete this.queuedExpand;this.onResize(this.queuedBodySize.width,this.queuedBodySize.height);this.doLayout()},this,{single:true})}}this.fireEvent("bodyresize",this,g,l)}this.syncShadow()},adjustBodyHeight:function(b){return b},adjustBodyWidth:function(b){return b},onPosition:function(){this.syncShadow()},getFrameWidth:function(){var d=this.el.getFrameWidth("lr")+this.bwrap.getFrameWidth("lr");if(this.frame){var e=this.bwrap.dom.firstChild;d+=(Ext.fly(e).getFrameWidth("l")+Ext.fly(e.firstChild).getFrameWidth("r"));var g=this.bwrap.dom.firstChild.firstChild.firstChild;d+=Ext.fly(g).getFrameWidth("lr")}return d},getFrameHeight:function(){var g=this.el.getFrameWidth("tb")+this.bwrap.getFrameWidth("tb");g+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);if(this.frame){var j=this.el.dom.firstChild;var h=this.bwrap.dom.lastChild;g+=(j.offsetHeight+h.offsetHeight);var e=this.bwrap.dom.firstChild.firstChild.firstChild;g+=Ext.fly(e).getFrameWidth("tb")}else{g+=(this.header?this.header.getHeight():0)+(this.footer?this.footer.getHeight():0)}return g},getInnerWidth:function(){return this.getSize().width-this.getFrameWidth()},getInnerHeight:function(){return this.getSize().height-this.getFrameHeight()},syncShadow:function(){if(this.floating){this.el.sync(true)}},getLayoutTarget:function(){return this.body},setTitle:function(c,d){this.title=c;if(this.header&&this.headerAsText){this.header.child("span").update(c)}if(d){this.setIconClass(d)}this.fireEvent("titlechange",this,c);return this},getUpdater:function(){return this.body.getUpdater()},load:function(){var b=this.body.getUpdater();b.update.apply(b,arguments);return this},beforeDestroy:function(){if(this.header){this.header.removeAllListeners();if(this.headerAsText){Ext.Element.uncache(this.header.child("span"))}}Ext.Element.uncache(this.header,this.tbar,this.bbar,this.footer,this.body,this.bwrap);if(this.tools){for(var d in this.tools){Ext.destroy(this.tools[d])}}if(this.buttons){for(var b in this.buttons){Ext.destroy(this.buttons[b])}}Ext.destroy(this.toolbars);Ext.Panel.superclass.beforeDestroy.call(this)},createClasses:function(){this.headerCls=this.baseCls+"-header";this.headerTextCls=this.baseCls+"-header-text";this.bwrapCls=this.baseCls+"-bwrap";this.tbarCls=this.baseCls+"-tbar";this.bodyCls=this.baseCls+"-body";this.bbarCls=this.baseCls+"-bbar";this.footerCls=this.baseCls+"-footer"},createGhost:function(h,j,g){var k=document.createElement("div");k.className="x-panel-ghost "+(h?h:"");if(this.header){k.appendChild(this.el.dom.firstChild.cloneNode(true))}Ext.fly(k.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());k.style.width=this.el.dom.offsetWidth+"px";if(!g){this.container.dom.appendChild(k)}else{Ext.getDom(g).appendChild(k)}if(j!==false&&this.el.useShim!==false){var l=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},k);l.show();return l}else{return new Ext.Element(k)}},doAutoLoad:function(){var b=this.body.getUpdater();if(this.renderer){b.setRenderer(this.renderer)}b.update(Ext.isObject(this.autoLoad)?this.autoLoad:{url:this.autoLoad})},getTool:function(b){return this.tools[b]}});Ext.reg("panel",Ext.Panel);Ext.Editor=function(c,d){if(c.field){this.field=Ext.create(c.field,"textfield");d=Ext.apply({},c);delete d.field}else{this.field=c}Ext.Editor.superclass.constructor.call(this,d)};Ext.extend(Ext.Editor,Ext.Component,{value:"",alignment:"c-c?",shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:false,cancelOnEsc:false,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onRender:function(c,d){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:c,shim:this.shim,shadowOffset:this.shadowOffset||4,id:this.id,constrain:this.constrain});if(this.zIndex){this.el.setZIndex(this.zIndex)}this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute("autocomplete","off")}this.mon(this.field,"specialkey",this.onSpecialKey,this);if(this.swallowKeys){this.field.el.swallowEvent(["keydown","keypress"])}this.field.show();this.mon(this.field,"blur",this.onBlur,this);if(this.field.grow){this.mon(this.field,"autosize",this.el.sync,this.el,{delay:1})}},onSpecialKey:function(g,d){var e=d.getKey();if(this.completeOnEnter&&e==d.ENTER){d.stopEvent();this.completeEdit()}else{if(this.cancelOnEsc&&e==d.ESC){this.cancelEdit()}else{this.fireEvent("specialkey",g,d)}}if(this.field.triggerBlur&&(e==d.ENTER||e==d.ESC||e==d.TAB)){this.field.triggerBlur()}},startEdit:function(d,g){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(d);var e=g!==undefined?g:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,e)===false){return}this.startValue=e;this.field.setValue(e);this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show()},doAutoSize:function(){if(this.autoSize){var b=this.boundEl.getSize();switch(this.autoSize){case"width":this.setSize(b.width,"");break;case"height":this.setSize("",b.height);break;default:this.setSize(b.width,b.height)}}},setSize:function(d,c){delete this.field.lastSize;this.field.setSize(d,c);if(this.el){if(Ext.isGecko2||Ext.isOpera){this.el.setSize(d,c)}this.el.sync()}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)},completeEdit:function(d){if(!this.editing){return}var c=this.getValue();if(!this.field.isValid()){if(this.revertInvalid!==false){this.cancelEdit(d)}return}if(String(c)===String(this.startValue)&&this.ignoreNoChange){this.hideEdit(d);return}if(this.fireEvent("beforecomplete",this,c,this.startValue)!==false){c=this.getValue();if(this.updateEl&&this.boundEl){this.boundEl.update(c)}this.hideEdit(d);this.fireEvent("complete",this,c,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show();if(Ext.isIE&&!this.fixIEFocus){this.fixIEFocus=true;this.deferredFocus.defer(50,this)}else{this.field.focus()}this.fireEvent("startedit",this.boundEl,this.startValue)},deferredFocus:function(){if(this.editing){this.field.focus()}},cancelEdit:function(d){if(this.editing){var c=this.getValue();this.setValue(this.startValue);this.hideEdit(d);this.fireEvent("canceledit",this,c,this.startValue)}},hideEdit:function(b){if(b!==true){this.editing=false;this.hide()}},onBlur:function(){if(this.allowBlur!==true&&this.editing){this.completeEdit()}},onHide:function(){if(this.editing){this.completeEdit();return}this.field.blur();if(this.field.collapse){this.field.collapse()}this.el.hide();if(this.hideEl!==false){this.boundEl.show()}},setValue:function(b){this.field.setValue(b)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){Ext.destroy(this.field);this.field=null}});Ext.reg("editor",Ext.Editor);Ext.ColorPalette=function(b){Ext.ColorPalette.superclass.constructor.call(this,b);this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope,true)}};Ext.extend(Ext.ColorPalette,Ext.Component,{itemCls:"x-color-palette",value:null,clickEvent:"click",ctype:"Ext.ColorPalette",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],onRender:function(e,g){var j=this.tpl||new Ext.XTemplate('<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>');var h=document.createElement("div");h.id=this.getId();h.className=this.itemCls;j.overwrite(h,this.colors);e.dom.insertBefore(h,g);this.el=Ext.get(h);this.mon(this.el,this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.mon(this.el,"click",Ext.emptyFn,this,{delegate:"a",preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var b=this.value;this.value=null;this.select(b)}},handleClick:function(c,e){c.preventDefault();if(!this.disabled){var g=e.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(g.toUpperCase())}},select:function(d){d=d.replace("#","");if(d!=this.value||this.allowReselect){var c=this.el;if(this.value){c.child("a.color-"+this.value).removeClass("x-color-palette-sel")}c.child("a.color-"+d).addClass("x-color-palette-sel");this.value=d;this.fireEvent("select",this,d)}}});Ext.reg("colorpalette",Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.BoxComponent,{todayText:"Today",okText:"&#160;OK&#160;",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDaysText:"Disabled",disabledDatesText:"Disabled",monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime():new Date().clearTime();this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var d=this.disabledDates,e=d.length-1,g="(?:";Ext.each(d,function(a,b){g+=Ext.isDate(a)?"^"+Ext.escapeRe(a.dateFormat(this.format))+"$":d[b];if(b!=e){g+="|"}},this);this.disabledDatesRE=new RegExp(g+")")}},setDisabledDates:function(b){if(Ext.isArray(b)){this.disabledDates=b;this.disabledDatesRE=null}else{this.disabledDatesRE=b}this.initDisabledDays();this.update(this.value,true)},setDisabledDays:function(b){this.disabledDays=b;this.update(this.value,true)},setMinDate:function(b){this.minDate=b;this.update(this.value,true)},setMaxDate:function(b){this.maxDate=b;this.update(this.value,true)},setValue:function(c){var d=this.value;this.value=c.clearTime(true);if(this.el){this.update(this.value)}},getValue:function(){return this.value},focus:function(){if(this.el){this.update(this.activeDate)}},onEnable:function(b){Ext.DatePicker.superclass.onEnable.call(this);this.doDisabled(false);this.update(b?this.value:this.activeDate);if(Ext.isIE){this.el.repaint()}},onDisable:function(){Ext.DatePicker.superclass.onDisable.call(this);this.doDisabled(true);if(Ext.isIE&&!Ext.isIE8){Ext.each([].concat(this.textNodes,this.el.query("th span")),function(b){Ext.fly(b).repaint()})}},doDisabled:function(b){this.keyNav.setDisabled(b);this.prevRepeater.setDisabled(b);this.nextRepeater.setDisabled(b);if(this.showToday){this.todayKeyListener.setDisabled(b);this.todayBtn.setDisabled(b)}},onRender:function(q,d){var l=['<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>'],r=this.dayNames,o;for(o=0;o<7;o++){var m=this.startDay+o;if(m>6){m=m-7}l.push("<th><span>",r[m].substr(0,1),"</span></th>")}l[l.length]="</tr></thead><tbody><tr>";for(o=0;o<42;o++){if(o%7===0&&o!==0){l[l.length]="</tr><tr>"}l[l.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'}l.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 n=document.createElement("div");n.className="x-date-picker";n.innerHTML=l.join("");q.dom.insertBefore(n,d);this.el=Ext.get(n);this.eventEl=Ext.get(n.firstChild);this.prevRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.nextRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");this.keyNav=new Ext.KeyNav(this.eventEl,{left:function(a){if(a.ctrlKey){this.showPrevMonth()}else{this.update(this.activeDate.add("d",-1))}},right:function(a){if(a.ctrlKey){this.showNextMonth()}else{this.update(this.activeDate.add("d",1))}},up:function(a){if(a.ctrlKey){this.showNextYear()}else{this.update(this.activeDate.add("d",-7))}},down:function(a){if(a.ctrlKey){this.showPrevYear()}else{this.update(this.activeDate.add("d",7))}},pageUp:function(a){this.showNextMonth()},pageDown:function(a){this.showPrevMonth()},enter:function(a){a.stopPropagation();return true},scope:this});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:"&#160;",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.el.child("em").addClass("x-btn-arrow");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var p=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,p),tooltip:String.format(this.todayTip,p),handler:this.selectToday,scope:this})}this.mon(this.eventEl,"mousewheel",this.handleMouseWheel,this);this.mon(this.eventEl,"click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.mon(this.mbtn,"click",this.showMonthPicker,this);this.onEnable(true)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var d=['<table border="0" cellspacing="0">'];for(var c=0;c<6;c++){d.push('<tr><td class="x-date-mp-month"><a href="#">',Date.getShortMonthName(c),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',Date.getShortMonthName(c+6),"</a></td>",c===0?'<td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-prev"></a></td><td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-next"></a></td></tr>':'<td class="x-date-mp-year"><a href="#"></a></td><td class="x-date-mp-year"><a href="#"></a></td></tr>')}d.push('<tr class="x-date-mp-btns"><td colspan="4"><button type="button" class="x-date-mp-ok">',this.okText,'</button><button type="button" class="x-date-mp-cancel">',this.cancelText,"</button></td></tr>","</table>");this.monthPicker.update(d.join(""));this.mon(this.monthPicker,"click",this.onMonthClick,this);this.mon(this.monthPicker,"dblclick",this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select("td.x-date-mp-month");this.mpYears=this.monthPicker.select("td.x-date-mp-year");this.mpMonths.each(function(g,b,a){a+=1;if((a%2)===0){g.dom.xmonth=5+Math.round(a*0.5)}else{g.dom.xmonth=Math.round((a-1)*0.5)}})}},showMonthPicker:function(){if(!this.disabled){this.createMonthPicker();var b=this.el.getSize();this.monthPicker.setSize(b);this.monthPicker.child("table").setSize(b);this.mpSelMonth=(this.activeDate||this.value).getMonth();this.updateMPMonth(this.mpSelMonth);this.mpSelYear=(this.activeDate||this.value).getFullYear();this.updateMPYear(this.mpSelYear);this.monthPicker.slideIn("t",{duration:0.2})}},updateMPYear:function(j){this.mpyear=j;var l=this.mpYears.elements;for(var g=1;g<=10;g++){var k=l[g-1],h;if((g%2)===0){h=j+Math.round(g*0.5);k.firstChild.innerHTML=h;k.xyear=h}else{h=j-(5-Math.round(g*0.5));k.firstChild.innerHTML=h;k.xyear=h}this.mpYears.item(g-1)[h==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(b){this.mpMonths.each(function(a,g,e){a[a.dom.xmonth==b?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(b){},onMonthClick:function(k,d){k.stopEvent();var l=new Ext.Element(d),e;if(l.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(l.is("button.x-date-mp-ok")){var j=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(j.getMonth()!=this.mpSelMonth){j=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(j);this.hideMonthPicker()}else{if((e=l.up("td.x-date-mp-month",2))){this.mpMonths.removeClass("x-date-mp-sel");e.addClass("x-date-mp-sel");this.mpSelMonth=e.dom.xmonth}else{if((e=l.up("td.x-date-mp-year",2))){this.mpYears.removeClass("x-date-mp-sel");e.addClass("x-date-mp-sel");this.mpSelYear=e.dom.xyear}else{if(l.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(l.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(h,e){h.stopEvent();var j=new Ext.Element(e),g;if((g=j.up("td.x-date-mp-month",2))){this.update(new Date(this.mpSelYear,g.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if((g=j.up("td.x-date-mp-year",2))){this.update(new Date(g.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(b){if(this.monthPicker){if(b===true){this.monthPicker.hide()}else{this.monthPicker.slideOut("t",{duration:0.2})}}},showPrevMonth:function(b){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(b){this.update(this.activeDate.add("mo",1))},showPrevYear:function(){this.update(this.activeDate.add("y",-1))},showNextYear:function(){this.update(this.activeDate.add("y",1))},handleMouseWheel:function(d){d.stopEvent();if(!this.disabled){var c=d.getWheelDelta();if(c>0){this.showPrevMonth()}else{if(c<0){this.showNextMonth()}}}},handleDateClick:function(c,d){c.stopEvent();if(!this.disabled&&d.dateValue&&!Ext.fly(d.parentNode).hasClass("x-date-disabled")){this.setValue(new Date(d.dateValue));this.fireEvent("select",this,this.value)}},selectToday:function(){if(this.todayBtn&&!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)}},update:function(M,W){var al=this.activeDate,Z=this.isVisible();this.activeDate=M;if(!W&&al&&this.el){var aa=M.getTime();if(al.getMonth()==M.getMonth()&&al.getFullYear()==M.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(a){if(a.dom.firstChild.dateValue==aa){a.addClass("x-date-selected");if(Z){Ext.fly(a.dom.firstChild).focus(50)}return false}});return}}var ae=M.getDaysInMonth();var X=M.getFirstDateOfMonth();var ah=X.getDay()-this.startDay;if(ah<=this.startDay){ah+=7}var U=M.add("mo",-1);var ag=U.getDaysInMonth()-ah;var ai=this.cells.elements;var V=this.textNodes;ae+=ah;var d=86400000;var R=(new Date(U.getFullYear(),U.getMonth(),ag)).clearTime();var T=new Date().clearTime().getTime();var O=M.clearTime().getTime();var Q=this.minDate?this.minDate.clearTime():Number.NEGATIVE_INFINITY;var w=this.maxDate?this.maxDate.clearTime():Number.POSITIVE_INFINITY;var N=this.disabledDatesRE;var S=this.disabledDatesText;var t=this.disabledDays?this.disabledDays.join(""):false;var P=this.disabledDaysText;var Y=this.format;if(this.showToday){var ac=new Date().clearTime();var aj=(ac<Q||ac>w||(N&&Y&&N.test(ac.dateFormat(Y)))||(t&&t.indexOf(ac.getDay())!=-1));if(!this.disabled){this.todayBtn.setDisabled(aj);this.todayKeyListener[aj?"disable":"enable"]()}}var ad=function(b,e){e.title="";var c=R.getTime();e.firstChild.dateValue=c;if(c==T){e.className+=" x-date-today";e.title=b.todayText}if(c==O){e.className+=" x-date-selected";if(Z){Ext.fly(e.firstChild).focus(50)}}if(c<Q){e.className=" x-date-disabled";e.title=b.minText;return}if(c>w){e.className=" x-date-disabled";e.title=b.maxText;return}if(t){if(t.indexOf(R.getDay())!=-1){e.title=P;e.className=" x-date-disabled"}}if(N&&Y){var a=R.dateFormat(Y);if(N.test(a)){e.title=S.replace("%0",a);e.className=" x-date-disabled"}}};var L=0;for(;L<ah;L++){V[L].innerHTML=(++ag);R.setDate(R.getDate()+1);ai[L].className="x-date-prevday";ad(this,ai[L])}for(;L<ae;L++){var ak=L-ah+1;V[L].innerHTML=(ak);R.setDate(R.getDate()+1);ai[L].className="x-date-active";ad(this,ai[L])}var K=0;for(;L<42;L++){V[L].innerHTML=(++K);R.setDate(R.getDate()+1);ai[L].className="x-date-nextday";ad(this,ai[L])}this.mbtn.setText(this.monthNames[M.getMonth()]+" "+M.getFullYear());if(!this.internalRender){var af=this.el.dom.firstChild;var ab=af.offsetWidth;this.el.setWidth(ab+this.el.getBorderWidth("lr"));Ext.fly(af).setWidth(ab);this.internalRender=true;if(Ext.isOpera&&!this.secondPass){af.rows[0].cells[1].style.width=(ab-(af.rows[0].cells[0].offsetWidth+af.rows[0].cells[2].offsetWidth))+"px";this.secondPass=true;this.update.defer(10,this,[M])}}},beforeDestroy:function(){if(this.rendered){this.keyNav.disable();this.keyNav=null;Ext.destroy(this.leftClickRpt,this.rightClickRpt,this.monthPicker,this.eventEl,this.mbtn,this.todayBtn)}}});Ext.reg("datepicker",Ext.DatePicker);Ext.LoadMask=function(g,d){this.el=Ext.get(g);Ext.apply(this,d);if(this.store){this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("exception",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,false)}else{var e=this.el.getUpdater();e.showLoadIndicator=false;e.on("beforeupdate",this.onBeforeLoad,this);e.on("update",this.onLoad,this);e.on("failure",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,true)}};Ext.LoadMask.prototype={msg:"Loading...",msgCls:"x-mask-loading",disabled:false,disable:function(){this.disabled=true},enable:function(){this.disabled=false},onLoad:function(){this.el.unmask(this.removeMask)},onBeforeLoad:function(){if(!this.disabled){this.el.mask(this.msg,this.msgCls)}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){if(this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.onLoad,this)}else{var b=this.el.getUpdater();b.un("beforeupdate",this.onBeforeLoad,this);b.un("update",this.onLoad,this);b.un("failure",this.onLoad,this)}}};Ext.Slider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,dragging:false,initComponent:function(){if(!Ext.isDefined(this.value)){this.value=this.minValue}Ext.Slider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend");if(this.vertical){Ext.apply(this,Ext.Slider.Vertical)}},onRender:function(){this.autoEl={cls:"x-slider "+(this.vertical?"x-slider-vert":"x-slider-horz"),cn:{cls:"x-slider-end",cn:{cls:"x-slider-inner",cn:[{cls:"x-slider-thumb"},{tag:"a",cls:"x-slider-focus",href:"#",tabIndex:"-1",hidefocus:"on"}]}}};Ext.Slider.superclass.onRender.apply(this,arguments);this.endEl=this.el.first();this.innerEl=this.endEl.first();this.thumb=this.innerEl.first();this.halfThumb=(this.vertical?this.thumb.getHeight():this.thumb.getWidth())/2;this.focusEl=this.thumb.next();this.initEvents()},initEvents:function(){this.thumb.addClassOnOver("x-slider-thumb-over");this.mon(this.el,{scope:this,mousedown:this.onMouseDown,keydown:this.onKeyDown});this.focusEl.swallowEvent("click",true);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeDragStart.createDelegate(this),onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(this.thumb);this.on("beforedestroy",this.tracker.destroy,this.tracker)},onMouseDown:function(c){if(this.disabled){return}if(this.clickToChange&&c.target!=this.thumb.dom){var d=this.innerEl.translatePoints(c.getXY());this.onClickChange(d)}this.focus()},onClickChange:function(b){if(b.top>this.clickRange[0]&&b.top<this.clickRange[1]){this.setValue(Ext.util.Format.round(this.reverseValue(b.left),this.decimalPrecision),undefined,true)}},onKeyDown:function(c){if(this.disabled){c.preventDefault();return}var d=c.getKey();switch(d){case c.UP:case c.RIGHT:c.stopEvent();if(c.ctrlKey){this.setValue(this.maxValue,undefined,true)}else{this.setValue(this.value+this.keyIncrement,undefined,true)}break;case c.DOWN:case c.LEFT:c.stopEvent();if(c.ctrlKey){this.setValue(this.minValue,undefined,true)}else{this.setValue(this.value-this.keyIncrement,undefined,true)}break;default:c.preventDefault()}},doSnap:function(e){if(!this.increment||this.increment==1||!e){return e}var h=e,j=this.increment;var g=e%j;if(g!=0){h-=g;if(g*2>j){h+=j}else{if(g*2<-j){h-=j}}}return h.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.Slider.superclass.afterRender.apply(this,arguments);if(this.value!==undefined){var b=this.normalizeValue(this.value);if(b!==this.value){delete this.value;this.setValue(b,false)}else{this.moveThumb(this.translateValue(b),false)}}},getRatio:function(){var d=this.innerEl.getWidth();var c=this.maxValue-this.minValue;return c==0?d:(d/c)},normalizeValue:function(b){b=this.doSnap(b);b=Ext.util.Format.round(b,this.decimalPrecision);b=b.constrain(this.minValue,this.maxValue);return b},setValue:function(d,e,g){d=this.normalizeValue(d);if(d!==this.value&&this.fireEvent("beforechange",this,d,this.value)!==false){this.value=d;this.moveThumb(this.translateValue(d),e!==false);this.fireEvent("change",this,d);if(g){this.fireEvent("changecomplete",this,d)}}},translateValue:function(d){var c=this.getRatio();return(d*c)-(this.minValue*c)-this.halfThumb},reverseValue:function(c){var d=this.getRatio();return(c+this.halfThumb+(this.minValue*d))/d},moveThumb:function(c,d){if(!d||this.animate===false){this.thumb.setLeft(c)}else{this.thumb.shift({left:c,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onBeforeDragStart:function(b){return !this.disabled},onDragStart:function(b){this.thumb.addClass("x-slider-thumb-drag");this.dragging=true;this.dragStartValue=this.value;this.fireEvent("dragstart",this,b)},onDrag:function(d){var c=this.innerEl.translatePoints(this.tracker.getXY());this.setValue(Ext.util.Format.round(this.reverseValue(c.left),this.decimalPrecision),false);this.fireEvent("drag",this,d)},onDragEnd:function(b){this.thumb.removeClass("x-slider-thumb-drag");this.dragging=false;this.fireEvent("dragend",this,b);if(this.dragStartValue!=this.value){this.fireEvent("changecomplete",this,this.value)}},onResize:function(d,c){this.innerEl.setWidth(d-(this.el.getPadding("l")+this.endEl.getPadding("r")));this.syncThumb()},onDisable:function(){Ext.Slider.superclass.onDisable.call(this);this.thumb.addClass(this.disabledClass);if(Ext.isIE){var b=this.thumb.getXY();this.thumb.hide();this.innerEl.addClass(this.disabledClass).dom.disabled=true;if(!this.thumbHolder){this.thumbHolder=this.endEl.createChild({cls:"x-slider-thumb "+this.disabledClass})}this.thumbHolder.show().setXY(b)}},onEnable:function(){Ext.Slider.superclass.onEnable.call(this);this.thumb.removeClass(this.disabledClass);if(Ext.isIE){this.innerEl.removeClass(this.disabledClass).dom.disabled=false;if(this.thumbHolder){this.thumbHolder.hide()}this.thumb.show();this.syncThumb()}},syncThumb:function(){if(this.rendered){this.moveThumb(this.translateValue(this.value))}},getValue:function(){return this.value}});Ext.reg("slider",Ext.Slider);Ext.Slider.Vertical={onResize:function(d,c){this.innerEl.setHeight(c-(this.el.getPadding("t")+this.endEl.getPadding("b")));this.syncThumb()},getRatio:function(){var c=this.innerEl.getHeight();var d=this.maxValue-this.minValue;return c/d},moveThumb:function(c,d){if(!d||this.animate===false){this.thumb.setBottom(c)}else{this.thumb.shift({bottom:c,stopFx:true,duration:0.35})}},onDrag:function(d){var g=this.innerEl.translatePoints(this.tracker.getXY());var e=this.innerEl.getHeight()-g.top;this.setValue(this.minValue+Ext.util.Format.round(e/this.getRatio(),this.decimalPrecision),false);this.fireEvent("drag",this,d)},onClickChange:function(c){if(c.left>this.clickRange[0]&&c.left<this.clickRange[1]){var d=this.innerEl.getHeight()-c.top;this.setValue(this.minValue+Ext.util.Format.round(d/this.getRatio(),this.decimalPrecision),undefined,true)}}};Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",animate:false,waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(k,h){var l=new Ext.Template('<div class="{cls}-wrap">','<div class="{cls}-inner">','<div class="{cls}-bar">','<div class="{cls}-text">',"<div>&#160;</div>","</div>","</div>",'<div class="{cls}-text {cls}-text-back">',"<div>&#160;</div>","</div>","</div>","</div>");this.el=h?l.insertBefore(h,{cls:this.baseCls},true):l.append(k,{cls:this.baseCls},true);if(this.id){this.el.dom.id=this.id}var g=this.el.dom.firstChild;this.progressBar=Ext.get(g.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var j=Ext.get(g.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,j.dom.firstChild]);this.textEl.setWidth(g.offsetWidth)}this.progressBar.setHeight(g.offsetHeight)},afterRender:function(){Ext.ProgressBar.superclass.afterRender.call(this);if(this.value){this.updateProgress(this.value,this.text)}else{this.updateText(this.text)}},updateProgress:function(j,h,e){this.value=j||0;if(h){this.updateText(h)}if(this.rendered){var g=Math.floor(j*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(g,e===true||(e!==false&&this.animate));if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(g)}}this.fireEvent("update",this,j,h);return this},wait:function(c){if(!this.waitTimer){var d=this;c=c||{};this.updateText(c.text);this.waitTimer=Ext.TaskMgr.start({run:function(b){var a=c.increment||10;this.updateProgress(((((b+a)%a)+1)*(100/a))*0.01,null,c.animate)},interval:c.interval||1000,duration:c.duration,onStop:function(){if(c.fn){c.fn.apply(c.scope||this)}this.reset()},scope:d})}return this},isWaiting:function(){return this.waitTimer!==null},updateText:function(b){this.text=b||"&#160;";if(this.rendered){this.textEl.update(this.text)}return this},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)}return this},setSize:function(e,g){Ext.ProgressBar.superclass.setSize.call(this,e,g);if(this.textTopEl){var d=this.el.dom.firstChild;this.textEl.setSize(d.offsetWidth,d.offsetHeight)}this.syncProgressBar();return this},reset:function(b){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass("x-hidden")}if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}if(b===true){this.hide()}return this}});Ext.reg("progress",Ext.ProgressBar);(function(){var d=Ext.EventManager;var c=Ext.lib.Dom;Ext.dd.DragDrop=function(a,g,b){if(a){this.init(a,g,b)}};Ext.dd.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(b,a){},startDrag:function(b,a){},b4Drag:function(a){},onDrag:function(a){},onDragEnter:function(b,a){},b4DragOver:function(a){},onDragOver:function(b,a){},b4DragOut:function(a){},onDragOut:function(b,a){},b4DragDrop:function(a){},onDragDrop:function(b,a){},onInvalidDrop:function(a){},b4EndDrag:function(a){},endDrag:function(a){},b4MouseDown:function(a){},onMouseDown:function(a){},onMouseUp:function(a){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(s,u,a){if(typeof u=="number"){u={left:u,right:u,top:u,bottom:u}}u=u||this.defaultPadding;var q=Ext.get(this.getEl()).getBox();var x=Ext.get(s);var b=x.getScroll();var r,w=x.dom;if(w==document.body){r={x:b.left,y:b.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var p=x.getXY();r={x:p[0]+b.left,y:p[1]+b.top,width:w.clientWidth,height:w.clientHeight}}var t=q.y-r.y;var v=q.x-r.x;this.resetConstraints();this.setXConstraint(v-(u.left||0),r.width-v-q.width-(u.right||0),this.xTickSize);this.setYConstraint(t-(u.top||0),r.height-t-q.height-(u.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(a,g,b){this.initTarget(a,g,b);d.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(a,g,b){this.config=b||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof a!=="string"){a=Ext.id(a)}this.id=a;this.addToGroup((g)?g:"default");this.handleElId=a;this.setDragElId(a);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(b,j,a,h){if(!j&&0!==j){this.padding=[b,b,b,b]}else{if(!a&&0!==a){this.padding=[b,j,b,j]}else{this.padding=[b,j,a,h]}}},setInitPosition:function(j,k){var b=this.getEl();if(!this.DDM.verifyEl(b)){return}var l=j||0;var m=k||0;var a=c.getXY(b);this.initPageX=a[0]-l;this.initPageY=a[1]-m;this.lastPageX=a[0];this.lastPageY=a[1];this.setStartPosition(a)},setStartPosition:function(a){var b=a||c.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=b[0];this.startPageY=b[1]},addToGroup:function(a){this.groups[a]=true;this.DDM.regDragDrop(this,a)},removeFromGroup:function(a){if(this.groups[a]){delete this.groups[a]}this.DDM.removeDDFromGroup(this,a)},setDragElId:function(a){this.dragElId=a},setHandleElId:function(a){if(typeof a!=="string"){a=Ext.id(a)}this.handleElId=a;this.DDM.regHandle(this.id,a)},setOuterHandleElId:function(a){if(typeof a!=="string"){a=Ext.id(a)}d.on(a,"mousedown",this.handleMouseDown,this);this.setHandleElId(a);this.hasOuterHandles=true},unreg:function(){d.un(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDM.isLocked()||this.locked)},handleMouseDown:function(a,b){if(this.primaryButtonOnly&&a.button!=0){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var e=new Ext.lib.Point(Ext.lib.Event.getPageX(a),Ext.lib.Event.getPageY(a));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(e,this)){}else{if(this.clickValidator(a)){this.setStartPosition();this.b4MouseDown(a);this.onMouseDown(a);this.DDM.handleMouseDown(a,this);this.DDM.stopEvent(a)}else{}}},clickValidator:function(a){var b=a.getTarget();return(this.isValidHandleChild(b)&&(this.id==this.handleElId||this.DDM.handleWasClicked(b,this.id)))},addInvalidHandleType:function(b){var a=b.toUpperCase();this.invalidHandleTypes[a]=a},addInvalidHandleId:function(a){if(typeof a!=="string"){a=Ext.id(a)}this.invalidHandleIds[a]=a},addInvalidHandleClass:function(a){this.invalidHandleClasses.push(a)},removeInvalidHandleType:function(b){var a=b.toUpperCase();delete this.invalidHandleTypes[a]},removeInvalidHandleId:function(a){if(typeof a!=="string"){a=Ext.id(a)}delete this.invalidHandleIds[a]},removeInvalidHandleClass:function(b){for(var a=0,g=this.invalidHandleClasses.length;a<g;++a){if(this.invalidHandleClasses[a]==b){delete this.invalidHandleClasses[a]}}},isValidHandleChild:function(e){var l=true;var a;try{a=e.nodeName.toUpperCase()}catch(b){a=e.nodeName}l=l&&!this.invalidHandleTypes[a];l=l&&!this.invalidHandleIds[e.id];for(var m=0,n=this.invalidHandleClasses.length;l&&m<n;++m){l=!Ext.fly(e).hasClass(this.invalidHandleClasses[m])}return l},setXTicks:function(a,j){this.xTicks=[];this.xTickSize=j;var b={};for(var h=this.initPageX;h>=this.minX;h=h-j){if(!b[h]){this.xTicks[this.xTicks.length]=h;b[h]=true}}for(h=this.initPageX;h<=this.maxX;h=h+j){if(!b[h]){this.xTicks[this.xTicks.length]=h;b[h]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(a,j){this.yTicks=[];this.yTickSize=j;var b={};for(var h=this.initPageY;h>=this.minY;h=h-j){if(!b[h]){this.yTicks[this.yTicks.length]=h;b[h]=true}}for(h=this.initPageY;h<=this.maxY;h=h+j){if(!b[h]){this.yTicks[this.yTicks.length]=h;b[h]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(a,b,g){this.leftConstraint=a;this.rightConstraint=b;this.minX=this.initPageX-a;this.maxX=this.initPageX+b;if(g){this.setXTicks(this.initPageX,g)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(g,a,b){this.topConstraint=g;this.bottomConstraint=a;this.minY=this.initPageY-g;this.maxY=this.initPageY+a;if(b){this.setYTicks(this.initPageY,b)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var a=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var b=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(a,b)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(a,m){if(!m){return a}else{if(m[0]>=a){return m[0]}else{for(var o=0,p=m.length;o<p;++o){var n=o+1;if(m[n]&&m[n]>=a){var b=a-m[o];var l=m[n]-a;return(l>b)?m[o]:m[n]}}return m[m.length-1]}}},toString:function(){return("DragDrop "+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var b=Ext.EventManager;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(k,l){for(var j in this.ids){for(var a in this.ids[j]){var h=this.ids[j][a];if(!this.isTypeOfDD(h)){continue}h[k].apply(h,l)}}},_onLoad:function(){this.init();b.on(document,"mouseup",this.handleMouseUp,this,true);b.on(document,"mousemove",this.handleMouseMove,this,true);b.on(window,"unload",this._onUnload,this,true);b.on(window,"resize",this._onResize,this,true)},_onResize:function(a){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(d,a){if(!this.initialized){this.init()}if(!this.ids[a]){this.ids[a]={}}this.ids[a][d.id]=d},removeDDFromGroup:function(e,a){if(!this.ids[a]){this.ids[a]={}}var g=this.ids[a];if(g&&g[e.id]){delete g[e.id]}},_remove:function(d){for(var a in d.groups){if(a&&this.ids[a]&&this.ids[a][d.id]){delete this.ids[a][d.id]}}delete this.handleIds[d.id]},regHandle:function(d,a){if(!this.handleIds[d]){this.handleIds[d]={}}this.handleIds[d][a]=a},isDragDrop:function(a){return(this.getDDById(a))?true:false},getRelated:function(j,n){var k=[];for(var l in j.groups){for(var m in this.ids[l]){var a=this.ids[l][m];if(!this.isTypeOfDD(a)){continue}if(!n||a.isTarget){k[k.length]=a}}}return k},isLegalTarget:function(h,j){var l=this.getRelated(h,true);for(var k=0,a=l.length;k<a;++k){if(l[k].id==j.id){return true}}return false},isTypeOfDD:function(a){return(a&&a.__ygDragDrop)},isHandle:function(d,a){return(this.handleIds[d]&&this.handleIds[d][a])},getDDById:function(d){for(var a in this.ids){if(this.ids[a][d]){return this.ids[a][d]}}return null},handleMouseDown:function(e,g){if(Ext.QuickTips){Ext.QuickTips.disable()}if(this.dragCurrent){this.handleMouseUp(e)}this.currentTarget=e.getTarget();this.dragCurrent=g;var a=g.getEl();this.startX=e.getPageX();this.startY=e.getPageY();this.deltaX=this.startX-a.offsetLeft;this.deltaY=this.startY-a.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var c=Ext.dd.DDM;c.startDrag(c.startX,c.startY)},this.clickTimeThresh)},startDrag:function(a,d){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(a,d);this.dragCurrent.startDrag(a,d)}this.dragThreshMet=true},handleMouseUp:function(a){if(Ext.QuickTips){Ext.QuickTips.enable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(a,true)}else{}this.stopDrag(a);this.stopEvent(a)},stopEvent:function(a){if(this.stopPropagation){a.stopPropagation()}if(this.preventDefault){a.preventDefault()}},stopDrag:function(a){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(a);this.dragCurrent.endDrag(a)}this.dragCurrent.onMouseUp(a)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(e){if(!this.dragCurrent){return true}if(Ext.isIE&&(e.button!==0&&e.button!==1&&e.button!==2)){this.stopEvent(e);return this.handleMouseUp(e)}if(!this.dragThreshMet){var g=Math.abs(this.startX-e.getPageX());var a=Math.abs(this.startY-e.getPageY());if(g>this.clickPixelThresh||a>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);if(!this.dragCurrent.moveOnly){this.fireEvents(e,false)}}this.stopEvent(e);return true},fireEvents:function(u,t){var e=this.dragCurrent;if(!e||e.isLocked()){return}var a=u.getPoint();var D=[];var A=[];var w=[];var y=[];var B=[];for(var z in this.dragOvers){var C=this.dragOvers[z];if(!this.isTypeOfDD(C)){continue}if(!this.isOverTarget(a,C,this.mode)){A.push(C)}D[z]=true;delete this.dragOvers[z]}for(var s in e.groups){if("string"!=typeof s){continue}for(z in this.ids[s]){var x=this.ids[s][z];if(!this.isTypeOfDD(x)){continue}if(x.isTarget&&!x.isLocked()&&((x!=e)||(e.ignoreSelf===false))){if(this.isOverTarget(a,x,this.mode)){if(t){y.push(x)}else{if(!D[x.id]){B.push(x)}else{w.push(x)}this.dragOvers[x.id]=x}}}}}if(this.mode){if(A.length){e.b4DragOut(u,A);e.onDragOut(u,A)}if(B.length){e.onDragEnter(u,B)}if(w.length){e.b4DragOver(u,w);e.onDragOver(u,w)}if(y.length){e.b4DragDrop(u,y);e.onDragDrop(u,y)}}else{var v=0;for(z=0,v=A.length;z<v;++z){e.b4DragOut(u,A[z].id);e.onDragOut(u,A[z].id)}for(z=0,v=B.length;z<v;++z){e.onDragEnter(u,B[z].id)}for(z=0,v=w.length;z<v;++z){e.b4DragOver(u,w[z].id);e.onDragOver(u,w[z].id)}for(z=0,v=y.length;z<v;++z){e.b4DragDrop(u,y[z].id);e.onDragDrop(u,y[z].id)}}if(t&&!y.length){e.onInvalidDrop(u)}},getBestMatch:function(k){var h=null;var l=k.length;if(l==1){h=k[0]}else{for(var j=0;j<l;++j){var a=k[j];if(a.cursorIsOver){h=a;break}else{if(!h||h.overlap.getArea()<a.overlap.getArea()){h=a}}}}return h},refreshCache:function(l){for(var a in l){if("string"!=typeof a){continue}for(var k in this.ids[a]){var j=this.ids[a][k];if(this.isTypeOfDD(j)){var h=this.getLocation(j);if(h){this.locationCache[j.id]=h}else{delete this.locationCache[j.id]}}}}},verifyEl:function(g){if(g){var a;if(Ext.isIE){try{a=g.offsetParent}catch(e){}}else{a=g.offsetParent}if(a){return true}}return false},getLocation:function(u){if(!this.isTypeOfDD(u)){return null}var w=u.getEl(),r,x,y,e,l,a,z,s,v;try{r=Ext.lib.Dom.getXY(w)}catch(t){}if(!r){return null}x=r[0];y=x+w.offsetWidth;e=r[1];l=e+w.offsetHeight;a=e-u.padding[0];z=y+u.padding[1];s=l+u.padding[2];v=x-u.padding[3];return new Ext.lib.Region(a,z,s,v)},isOverTarget:function(a,s,q){var o=this.locationCache[s.id];if(!o||!this.useCache){o=this.getLocation(s);this.locationCache[s.id]=o}if(!o){return false}s.cursorIsOver=o.contains(a);var l=this.dragCurrent;if(!l||!l.getTargetCoord||(!q&&!l.constrainX&&!l.constrainY)){return s.cursorIsOver}s.overlap=null;var n=l.getTargetCoord(a.x,a.y);var r=l.getDragEl();var p=new Ext.lib.Region(n.y,n.x+r.offsetWidth,n.y+r.offsetHeight,n.x);var m=p.intersect(o);if(m){s.overlap=m;return(q)?true:s.cursorIsOver}else{return false}},_onUnload:function(d,a){Ext.dd.DragDropMgr.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var a in this.elementCache){delete this.elementCache[a]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(d){var a=this.elementCache[d];if(!a||!a.el){a=this.elementCache[d]=new this.ElementWrapper(Ext.getDom(d))}return a},getElement:function(a){return Ext.getDom(a)},getCss:function(d){var a=Ext.getDom(d);return(a)?a.style:null},ElementWrapper:function(a){this.el=a||null;this.id=this.el&&a.id;this.css=this.el&&a.style},getPosX:function(a){return Ext.lib.Dom.getX(a)},getPosY:function(a){return Ext.lib.Dom.getY(a)},swapNode:function(h,a){if(h.swapNode){h.swapNode(a)}else{var g=a.parentNode;var j=a.nextSibling;if(j==h){g.insertBefore(h,a)}else{if(a==h.nextSibling){g.insertBefore(a,h)}else{h.parentNode.replaceChild(a,h);g.insertBefore(h,j)}}}},getScroll:function(){var h,a,g=document.documentElement,j=document.body;if(g&&(g.scrollTop||g.scrollLeft)){h=g.scrollTop;a=g.scrollLeft}else{if(j){h=j.scrollTop;a=j.scrollLeft}else{}}return{top:h,left:a}},getStyle:function(d,a){return Ext.fly(d).getStyle(a)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(a,e){var g=Ext.lib.Dom.getXY(e);Ext.lib.Dom.setXY(a,g)},numericSort:function(a,e){return(a-e)},_timeoutCount:0,_addListeners:function(){var a=Ext.dd.DDM;if(Ext.lib.Event&&document){a._onLoad()}else{if(a._timeoutCount>2000){}else{setTimeout(a._addListeners,10);if(document&&document.body){a._timeoutCount+=1}}}},handleWasClicked:function(a,e){if(this.isHandle(e,a.id)){return true}else{var g=a.parentNode;while(g){if(this.isHandle(e,g.id)){return true}else{g=g.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(g,e,d){if(g){this.init(g,e,d)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(j,e){var g=j-this.startPageX;var h=e-this.startPageY;this.setDelta(g,h)},setDelta:function(c,d){this.deltaX=c;this.deltaY=d},setDragElPos:function(g,d){var e=this.getDragEl();this.alignElWithMouse(e,g,d)},alignElWithMouse:function(q,m,n){var o=this.getTargetCoord(m,n);var j=q.dom?q:Ext.fly(q,"_dd");if(!this.deltaSetXY){var l=[o.x,o.y];j.setXY(l);var p=j.getLeft(true);var k=j.getTop(true);this.deltaSetXY=[p-o.x,k-o.y]}else{j.setLeftTop(o.x+this.deltaSetXY[0],o.y+this.deltaSetXY[1])}this.cachePosition(o.x,o.y);this.autoScroll(o.x,o.y,q.offsetHeight,q.offsetWidth);return o},cachePosition:function(d,e){if(d){this.lastPageX=d;this.lastPageY=e}else{var g=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=g[0];this.lastPageY=g[1]}},autoScroll:function(t,u,y,s){if(this.scroll){var r=Ext.lib.Dom.getViewHeight();var B=Ext.lib.Dom.getViewWidth();var h=this.DDM.getScrollTop();var z=this.DDM.getScrollLeft();var v=y+u;var q=s+t;var w=(r+h-u-this.deltaY);var x=(B+z-t-this.deltaX);var A=40;var C=(document.all)?80:30;if(v>r&&w<A){window.scrollTo(z,h+C)}if(u<h&&h>0&&u-h<A){window.scrollTo(z,h-C)}if(q>B&&x<A){window.scrollTo(z+C,h)}if(t<z&&z>0&&t-z<A){window.scrollTo(z-C,h)}}},getTargetCoord:function(j,e){var g=j-this.deltaX;var h=e-this.deltaY;if(this.constrainX){if(g<this.minX){g=this.minX}if(g>this.maxX){g=this.maxX}}if(this.constrainY){if(h<this.minY){h=this.minY}if(h>this.maxY){h=this.maxY}}g=this.getTick(g,this.xTicks);h=this.getTick(h,this.yTicks);return{x:g,y:h}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(b){this.autoOffset(b.getPageX(),b.getPageY())},b4Drag:function(b){this.setDragElPos(b.getPageX(),b.getPageY())},toString:function(){return("DD "+this.id)}});Ext.dd.DDProxy=function(g,e,d){if(g){this.init(g,e,d);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var e=this;var g=document.body;if(!g||!g.firstChild){setTimeout(function(){e.createFrame()},50);return}var h=this.getDragEl();if(!h){h=document.createElement("div");h.id=this.dragElId;var j=h.style;j.position="absolute";j.visibility="hidden";j.cursor="move";j.border="2px solid #aaa";j.zIndex=999;g.insertBefore(h,g.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){Ext.dd.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(j,k){var l=this.getEl();var h=this.getDragEl();var g=h.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(g.width,10)/2),Math.round(parseInt(g.height,10)/2))}this.setDragElPos(j,k);Ext.fly(h).show()},_resizeProxy:function(){if(this.resizeFrame){var b=this.getEl();Ext.fly(this.getDragEl()).setSize(b.offsetWidth,b.offsetHeight)}},b4MouseDown:function(d){var e=d.getPageX();var g=d.getPageY();this.autoOffset(e,g);this.setDragElPos(e,g)},b4StartDrag:function(d,c){this.showFrame(d,c)},b4EndDrag:function(b){Ext.fly(this.getDragEl()).hide()},endDrag:function(g){var d=this.getEl();var e=this.getDragEl();e.style.visibility="";this.beforeMove();d.style.visibility="hidden";Ext.dd.DDM.moveToEl(d,e);e.style.visibility="hidden";d.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.dd.DDTarget=function(g,e,d){if(g){this.initTarget(g,e,d)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{toString:function(){return("DDTarget "+this.id)}});Ext.dd.DragTracker=function(b){Ext.apply(this,b);this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}};Ext.extend(Ext.dd.DragTracker,Ext.util.Observable,{active:false,tolerance:5,autoStart:false,initEl:function(b){this.el=Ext.get(b);b.on("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un("mousedown",this.onMouseDown,this)},onMouseDown:function(g,d){if(this.fireEvent("mousedown",this,g)!==false&&this.onBeforeStart(g)!==false){this.startXY=this.lastXY=g.getXY();this.dragTarget=this.delegate?d:this.el.dom;if(this.preventDefault!==false){g.preventDefault()}var e=Ext.getDoc();e.on("mouseup",this.onMouseUp,this);e.on("mousemove",this.onMouseMove,this);e.on("selectstart",this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(h,j){if(this.active&&Ext.isIE&&!h.browserEvent.button){h.preventDefault();this.onMouseUp(h);return}h.preventDefault();var e=h.getXY(),g=this.startXY;this.lastXY=e;if(!this.active){if(Math.abs(g[0]-e[0])>this.tolerance||Math.abs(g[1]-e[1])>this.tolerance){this.triggerStart()}else{return}}this.fireEvent("mousemove",this,h);this.onDrag(h);this.fireEvent("drag",this,h)},onMouseUp:function(g){var d=Ext.getDoc();d.un("mousemove",this.onMouseMove,this);d.un("mouseup",this.onMouseUp,this);d.un("selectstart",this.stopSelect,this);g.preventDefault();this.clearStart();var e=this.active;this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,g);if(e){this.onEnd(g);this.fireEvent("dragend",this,g)}},triggerStart:function(b){this.clearStart();this.active=true;this.onStart(this.startXY);this.fireEvent("dragstart",this,this.startXY)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(b){b.stopEvent();return false},onBeforeStart:function(b){},onStart:function(b){},onDrag:function(b){},onEnd:function(b){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(b){return b?this.constrainModes[b].call(this,this.lastXY):this.lastXY},getOffset:function(g){var d=this.getXY(g);var e=this.startXY;return[e[0]-d[0],e[1]-d[1]]},constrainModes:{point:function(c){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var d=this.dragRegion;d.left=c[0];d.top=c[1];d.right=c[0];d.bottom=c[1];d.constrainTo(this.elRegion);return[d.left,d.top]}}});Ext.dd.ScrollManager=function(){var s=Ext.dd.DragDropMgr;var q={};var t=null;var n={};var o=function(a){t=null;u()};var m=function(){if(s.dragCurrent){s.refreshCache(s.dragCurrent.groups)}};var r=function(){if(s.dragCurrent){var b=Ext.dd.ScrollManager;var a=n.el.ddScrollConfig?n.el.ddScrollConfig.increment:b.increment;if(!b.animate){if(n.el.scroll(n.dir,a)){m()}}else{n.el.scroll(n.dir,a,true,b.animDuration,m)}}};var u=function(){if(n.id){clearInterval(n.id)}n.id=0;n.el=null;n.dir=""};var p=function(a,b){u();n.el=a;n.dir=b;var c=(a.ddScrollConfig&&a.ddScrollConfig.frequency)?a.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;n.id=setInterval(r,c)};var l=function(c,a){if(a||!s.dragCurrent){return}var k=Ext.dd.ScrollManager;if(!t||t!=s.dragCurrent){t=s.dragCurrent;k.refreshCache()}var j=Ext.lib.Event.getXY(c);var h=new Ext.lib.Point(j[0],j[1]);for(var e in q){var d=q[e],g=d._region;var b=d.ddScrollConfig?d.ddScrollConfig:k;if(g&&g.contains(h)&&d.isScrollable()){if(g.bottom-h.y<=b.vthresh){if(n.el!=d){p(d,"down")}return}else{if(g.right-h.x<=b.hthresh){if(n.el!=d){p(d,"left")}return}else{if(h.y-g.top<=b.vthresh){if(n.el!=d){p(d,"up")}return}else{if(h.x-g.left<=b.hthresh){if(n.el!=d){p(d,"right")}return}}}}}}u()};s.fireEvents=s.fireEvents.createSequence(l,s);s.stopDrag=s.stopDrag.createSequence(o,s);return{register:function(c){if(Ext.isArray(c)){for(var a=0,b=c.length;a<b;a++){this.register(c[a])}}else{c=Ext.get(c);q[c.id]=c}},unregister:function(c){if(Ext.isArray(c)){for(var a=0,b=c.length;a<b;a++){this.unregister(c[a])}}else{c=Ext.get(c);delete q[c.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var a in q){if(typeof q[a]=="object"){q[a]._region=q[a].getRegion()}}}}}();Ext.dd.Registry=function(){var h={};var e={};var g=0;var j=function(b,c){if(typeof b=="string"){return b}var a=b.id;if(!a&&c!==false){a="extdd-"+(++g);b.id=a}return a};return{register:function(b,a){a=a||{};if(typeof b=="string"){b=document.getElementById(b)}a.ddel=b;h[j(b)]=a;if(a.isHandle!==false){e[a.ddel.id]=a}if(a.handles){var c=a.handles;for(var d=0,l=c.length;d<l;d++){e[j(c[d])]=a}}},unregister:function(c){var a=j(c,false);var b=h[a];if(b){delete h[a];if(b.handles){var d=b.handles;for(var m=0,n=d.length;m<n;m++){delete e[j(d[m],false)]}}}},getHandle:function(a){if(typeof a!="string"){a=a.id}return e[a]},getHandleFromEvent:function(a){var b=Ext.lib.Event.getTarget(a);return b?e[b.id]:null},getTarget:function(a){if(typeof a!="string"){a=a.id}return h[a]},getTargetFromEvent:function(a){var b=Ext.lib.Event.getTarget(a);return b?h[b.id]||e[b.id]:null}}}();Ext.dd.StatusProxy=function(b){Ext.apply(this,b);this.id=this.id||Ext.id();this.el=new Ext.Layer({dh:{id:this.id,tag:"div",cls:"x-dd-drag-proxy "+this.dropNotAllowed,children:[{tag:"div",cls:"x-dd-drop-icon"},{tag:"div",cls:"x-dd-drag-ghost"}]},shadow:!b||b.shadow!==false});this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed};Ext.dd.StatusProxy.prototype={dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",setStatus:function(b){b=b||this.dropNotAllowed;if(this.dropStatus!=b){this.el.replaceClass(this.dropStatus,b);this.dropStatus=b}},reset:function(b){this.el.dom.className="x-dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(b){this.ghost.update("")}},update:function(d){if(typeof d=="string"){this.ghost.update(d)}else{this.ghost.update("");d.style.margin="0";this.ghost.dom.appendChild(d)}var c=this.ghost.dom.firstChild;if(c){Ext.fly(c).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(b){this.el.hide();if(b){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.el.show()},sync:function(){this.el.sync()},repair:function(d,g,e){this.callback=g;this.scope=e;if(d&&this.animRepair!==false){this.el.addClass("x-dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||0.5,easing:"easeOut",xy:d,stopFx:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null}};Ext.dd.DragSource=function(c,d){this.el=Ext.get(c);if(!this.dragData){this.dragData={}}Ext.apply(this,d);if(!this.proxy){this.proxy=new Ext.dd.StatusProxy()}Ext.dd.DragSource.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true});this.dragging=false};Ext.extend(Ext.dd.DragSource,Ext.dd.DDProxy,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",getDragData:function(b){return this.dragData},onDragEnter:function(j,h){var e=Ext.dd.DragDropMgr.getDDById(h);this.cachedTarget=e;if(this.beforeDragEnter(e,j,h)!==false){if(e.isNotifyTarget){var g=e.notifyEnter(this,j,this.dragData);this.proxy.setStatus(g)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(e,j,h)}}},beforeDragEnter:function(d,e,g){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(j,h){var e=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(h);if(this.beforeDragOver(e,j,h)!==false){if(e.isNotifyTarget){var g=e.notifyOver(this,j,this.dragData);this.proxy.setStatus(g)}if(this.afterDragOver){this.afterDragOver(e,j,h)}}},beforeDragOver:function(d,e,g){return true},onDragOut:function(d,g){var e=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(g);if(this.beforeDragOut(e,d,g)!==false){if(e.isNotifyTarget){e.notifyOut(this,d,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(e,d,g)}}this.cachedTarget=null},beforeDragOut:function(d,e,g){return true},onDragDrop:function(d,g){var e=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(g);if(this.beforeDragDrop(e,d,g)!==false){if(e.isNotifyTarget){if(e.notifyDrop(this,d,this.dragData)){this.onValidDrop(e,d,g)}else{this.onInvalidDrop(e,d,g)}}else{this.onValidDrop(e,d,g)}if(this.afterDragDrop){this.afterDragDrop(e,d,g)}}delete this.cachedTarget},beforeDragDrop:function(d,e,g){return true},onValidDrop:function(d,e,g){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(d,e,g)}},getRepairXY:function(c,d){return this.el.getXY()},onInvalidDrop:function(d,e,g){this.beforeInvalidDrop(d,e,g);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,g)}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||"c3daf9")}this.dragging=false},beforeInvalidDrop:function(d,e,g){return true},handleMouseDown:function(c){if(this.dragging){return}var d=this.getDragData(c);if(d&&this.onBeforeDrag(d,c)!==false){this.dragData=d;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)}},onBeforeDrag:function(d,c){return true},onStartDrag:Ext.emptyFn,startDrag:function(d,c){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(d,c);this.proxy.show()},onInitDrag:function(e,g){var d=this.el.dom.cloneNode(true);d.id=Ext.id();this.proxy.update(d);this.onStartDrag(e,g);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(b){},endDrag:function(b){this.onEndDrag(this.dragData,b)},onEndDrag:function(d,c){},autoOffset:function(d,c){this.setDelta(-12,-20)}});Ext.dd.DropTarget=function(c,d){this.el=Ext.get(c);Ext.apply(this,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true})};Ext.extend(Ext.dd.DropTarget,Ext.dd.DDTarget,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(e,g,d){if(this.overClass){this.el.addClass(this.overClass)}return this.dropAllowed},notifyOver:function(e,g,d){return this.dropAllowed},notifyOut:function(e,g,d){if(this.overClass){this.el.removeClass(this.overClass)}},notifyDrop:function(e,g,d){return false}});Ext.dd.DragZone=function(c,d){Ext.dd.DragZone.superclass.constructor.call(this,c,d);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}};Ext.extend(Ext.dd.DragZone,Ext.dd.DragSource,{getDragData:function(b){return Ext.dd.Registry.getHandleFromEvent(b)},onInitDrag:function(d,c){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(d,c);return true},afterRepair:function(){if(Ext.enableFx){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false},getRepairXY:function(b){return Ext.Element.fly(this.dragData.ddel).getXY()}});Ext.dd.DropZone=function(c,d){Ext.dd.DropZone.superclass.constructor.call(this,c,d)};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(b){return Ext.dd.Registry.getTargetFromEvent(b)},onNodeEnter:function(h,g,j,e){},onNodeOver:function(h,g,j,e){return this.dropAllowed},onNodeOut:function(h,g,j,e){},onNodeDrop:function(h,g,j,e){return false},onContainerOver:function(e,g,d){return this.dropNotAllowed},onContainerDrop:function(e,g,d){return false},notifyEnter:function(e,g,d){return this.dropNotAllowed},notifyOver:function(g,j,e){var h=this.getTargetFromEvent(j);if(!h){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,g,j,e);this.lastOverNode=null}return this.onContainerOver(g,j,e)}if(this.lastOverNode!=h){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,g,j,e)}this.onNodeEnter(h,g,j,e);this.lastOverNode=h}return this.onNodeOver(h,g,j,e)},notifyOut:function(e,g,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,e,g,d);this.lastOverNode=null}},notifyDrop:function(g,j,e){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,g,j,e);this.lastOverNode=null}var h=this.getTargetFromEvent(j);return h?this.onNodeDrop(h,g,j,e):this.onContainerDrop(g,j,e)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.Element.addMethods({initDD:function(j,e,h){var g=new Ext.dd.DD(Ext.id(this.dom),j,e);return Ext.apply(g,h)},initDDProxy:function(j,e,h){var g=new Ext.dd.DDProxy(Ext.id(this.dom),j,e);return Ext.apply(g,h)},initDDTarget:function(j,e,h){var g=new Ext.dd.DDTarget(Ext.id(this.dom),j,e);return Ext.apply(g,h)}});Ext.data.Api=(function(){var b={};return{actions:{create:"create",read:"read",update:"update",destroy:"destroy"},restActions:{create:"POST",read:"GET",update:"PUT",destroy:"DELETE"},isAction:function(a){return(Ext.data.Api.actions[a])?true:false},getVerb:function(a){if(b[a]){return b[a]}for(var d in this.actions){if(this.actions[d]===a){b[a]=d;break}}return(b[a]!==undefined)?b[a]:null},isValid:function(a){var g=[];var h=this.actions;for(var j in a){if(!(j in h)){g.push(j)}}return(!g.length)?true:g},hasUniqueUrl:function(l,h){var a=(l.api[h])?l.api[h].url:null;var j=true;for(var k in l.api){if((j=(k===h)?true:(l.api[k].url!=a)?true:false)===false){break}}return j},prepare:function(a){if(!a.api){a.api={}}for(var e in this.actions){var g=this.actions[e];a.api[g]=a.api[g]||a.url||a.directFn;if(typeof(a.api[g])=="string"){a.api[g]={url:a.api[g]}}}},restify:function(a){a.restful=true;for(var d in this.restActions){a.api[this.actions[d]].method=this.restActions[d]}}}})();Ext.data.Api.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.Api"});Ext.apply(Ext.data.Api.Error.prototype,{lang:{"action-url-undefined":"No fallback url defined for this action.  When defining a DataProxy api, please be sure to define an url for each CRUD action in Ext.data.Api.actions or define a default url in addition to your api-configuration.",invalid:"received an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions defined in Ext.data.Api.actions","invalid-url":"Invalid url.  Please review your proxy configuration.",execute:'Attempted to execute an unknown action.  Valid API actions are defined in Ext.data.Api.actions"'}});Ext.data.SortTypes={none:function(b){return b},stripTagsRE:/<\/?[^>]+>/gi,asText:function(b){return String(b).replace(this.stripTagsRE,"")},asUCText:function(b){return String(b).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(b){return String(b).toUpperCase()},asDate:function(b){if(!b){return 0}if(Ext.isDate(b)){return b.getTime()}return Date.parse(String(b))},asFloat:function(d){var c=parseFloat(String(d).replace(/,/g,""));return isNaN(c)?0:c},asInt:function(d){var c=parseInt(String(d).replace(/,/g,""),10);return isNaN(c)?0:c}};Ext.data.Record=function(d,c){this.id=(c||c===0)?c:Ext.data.Record.id(this);this.data=d||{}};Ext.data.Record.create=function(j){var l=Ext.extend(Ext.data.Record,{});var k=l.prototype;k.fields=new Ext.util.MixedCollection(false,function(a){return a.name});for(var g=0,h=j.length;g<h;g++){k.fields.add(new Ext.data.Field(j[g]))}l.getField=function(a){return k.fields.get(a)};return l};Ext.data.Record.PREFIX="ext-record";Ext.data.Record.AUTO_ID=1;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.id=function(b){b.phantom=true;return[Ext.data.Record.PREFIX,"-",Ext.data.Record.AUTO_ID++].join("")};Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,phantom:false,join:function(b){this.store=b},set:function(d,g){var e=(typeof g==="object");if(!e&&String(this.data[d])===String(g)){return}else{if(e&&Ext.encode(this.data[d])===Ext.encode(g)){return}}this.dirty=true;if(!this.modified){this.modified={}}if(typeof this.modified[d]=="undefined"){this.modified[d]=this.data[d]}this.data[d]=g;if(!this.editing){this.afterEdit()}},afterEdit:function(){if(this.store){this.store.afterEdit(this)}},afterReject:function(){if(this.store){this.store.afterReject(this)}},afterCommit:function(){if(this.store){this.store.afterCommit(this)}},get:function(b){return this.data[b]},beginEdit:function(){this.editing=true;this.modified=this.modified||{}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty){this.afterEdit()}},reject:function(d){var e=this.modified;for(var g in e){if(typeof e[g]!="function"){this.data[g]=e[g]}}this.dirty=false;delete this.modified;this.editing=false;if(d!==true){this.afterReject()}},commit:function(b){this.dirty=false;delete this.modified;this.editing=false;if(b!==true){this.afterCommit()}},getChanges:function(){var e=this.modified,d={};for(var g in e){if(e.hasOwnProperty(g)){d[g]=this.data[g]}}return d},hasError:function(){return this.error!==null},clearError:function(){this.error=null},copy:function(b){return new this.constructor(Ext.apply({},this.data),b||this.id)},isModified:function(b){return !!(this.modified&&this.modified.hasOwnProperty(b))},isValid:function(){return this.fields.find(function(b){return(b.allowBlank===false&&Ext.isEmpty(this.data[b.name]))?true:false},this)?false:true},markDirty:function(){this.dirty=true;if(!this.modified){this.modified={}}this.fields.each(function(b){this.modified[b.name]=this.data[b.name]},this)}};Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var d=0,c;(c=arguments[d]);d++){this.add(c)}},unregister:function(){for(var d=0,c;(c=arguments[d]);d++){this.remove(this.lookup(c))}},lookup:function(j){if(Ext.isArray(j)){var g=["field1"],k=!Ext.isArray(j[0]);if(!k){for(var l=2,h=j[0].length;l<=h;++l){g.push("field"+l)}}return new Ext.data.ArrayStore({fields:g,data:j,expandData:k,autoDestroy:true,autoCreated:true})}return Ext.isObject(j)?(j.events?j:Ext.create(j,"store")):this.get(j)},getKey:function(b){return b.storeId}});Ext.data.Store=function(b){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(a){return a.id};this.baseParams={};this.removed=[];if(b&&b.data){this.inlineData=b.data;delete b.data}Ext.apply(this,b);this.paramNames=Ext.applyIf(this.paramNames||{},this.defaultParamNames);if(this.url&&!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url})}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.onMetaChange.createDelegate(this)}if(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");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})}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])}}};Ext.extend(Ext.data.Store,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"},destroy:function(){if(this.storeId){Ext.StoreMgr.unregister(this)}this.data=null;Ext.destroy(this.proxy);this.reader=this.writer=null;this.purgeListeners()},add:function(e){e=[].concat(e);if(e.length<1){return}for(var h=0,g=e.length;h<g;h++){e[h].join(this)}var j=this.data.length;this.data.addAll(e);if(this.snapshot){this.snapshot.addAll(e)}this.fireEvent("add",this,e,j)},addSorted:function(d){var c=this.findInsertIndex(d);this.insert(c,d)},remove:function(d){var c=this.data.indexOf(d);if(c>-1){this.data.removeAt(c);if(this.pruneModifiedRecords){this.modified.remove(d)}if(this.snapshot){this.snapshot.remove(d)}this.fireEvent("remove",this,d,c)}},removeAt:function(b){this.remove(this.getAt(b))},removeAll:function(){this.data.clear();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}this.fireEvent("clear",this)},insert:function(j,e){e=[].concat(e);for(var h=0,g=e.length;h<g;h++){this.data.insert(j,e[h]);e[h].join(this)}this.fireEvent("add",this,e,j)},indexOf:function(b){return this.data.indexOf(b)},indexOfId:function(b){return this.data.indexOfKey(b)},getById:function(b){return this.data.key(b)},getAt:function(b){return this.data.itemAt(b)},getRange:function(c,d){return this.data.getRange(c,d)},storeOptions:function(b){b=Ext.apply({},b);delete b.callback;delete b.scope;this.lastOptions=b},load:function(d){d=d||{};this.storeOptions(d);if(this.sortInfo&&this.remoteSort){var e=this.paramNames;d.params=d.params||{};d.params[e.sort]=this.sortInfo.field;d.params[e.dir]=this.sortInfo.direction}try{return this.execute("read",null,d)}catch(g){this.handleException(g);return false}},updateRecord:function(d,e,g){if(g==Ext.data.Record.EDIT&&this.autoSave===true&&(!e.phantom||(e.phantom&&e.isValid))){this.save()}},createRecords:function(l,g,k){for(var j=0,h=g.length;j<h;j++){if(g[j].phantom&&g[j].isValid()){g[j].markDirty();this.modified.push(g[j])}}if(this.autoSave===true){this.save()}},destroyRecord:function(d,e,g){if(this.modified.indexOf(e)!=-1){this.modified.remove(e)}if(!e.phantom){this.removed.push(e);e.lastIndex=g;if(this.autoSave===true){this.save()}}},execute:function(k,h,g){if(!Ext.data.Api.isAction(k)){throw new Ext.data.Api.Error("execute",k)}g=Ext.applyIf(g||{},{params:{}});var l=true;if(k==="read"){l=this.fireEvent("beforeload",this,g)}else{if(this.writer.listful===true&&this.restful!==true){h=(Ext.isArray(h))?h:[h]}else{if(Ext.isArray(h)&&h.length==1){h=h.shift()}}if((l=this.fireEvent("beforewrite",this,k,h,g))!==false){this.writer.write(k,g.params,h)}}if(l!==false){var j=Ext.apply({},g.params,this.baseParams);if(this.writer&&this.proxy.url&&!this.proxy.restful&&!Ext.data.Api.hasUniqueUrl(this.proxy,k)){j.xaction=k}this.proxy.request(Ext.data.Api.actions[k],h,j,this.reader,this.createCallback(k,h),this,g)}return l},save:function(){if(!this.writer){throw new Ext.data.Store.Error("writer-undefined")}if(this.removed.length){this.doTransaction("destroy",this.removed)}var g=[].concat(this.getModifiedRecords());if(!g.length){return true}var j=[];for(var e=g.length-1;e>=0;e--){if(g[e].phantom===true){var h=g.splice(e,1).shift();if(h.isValid()){j.push(h)}}else{if(!g[e].isValid()){g.splice(e,1)}}}if(j.length){this.doTransaction("create",j)}if(g.length){this.doTransaction("update",g)}return true},doTransaction:function(k,g){function j(b){try{this.execute(k,b)}catch(a){this.handleException(a)}}if(this.batch===false){for(var l=0,h=g.length;l<h;l++){j.call(this,g[l])}}else{j.call(this,g)}},createCallback:function(d,e){var g=Ext.data.Api.actions;return(d=="read")?this.loadRecords:function(b,c,a){this["on"+Ext.util.Format.capitalize(d)+"Records"](a,e,b);if(a===true){this.fireEvent("write",this,d,b,c,e)}}},clearModified:function(d){if(Ext.isArray(d)){for(var c=d.length-1;c>=0;c--){this.modified.splice(this.modified.indexOf(d[c]),1)}}else{this.modified.splice(this.modified.indexOf(d),1)}},reMap:function(e){if(Ext.isArray(e)){for(var h=0,g=e.length;h<g;h++){this.reMap(e[h])}}else{delete this.data.map[e._phid];this.data.map[e.id]=e;var j=this.data.keys.indexOf(e._phid);this.data.keys.splice(j,1,e.id);delete e._phid}},onCreateRecords:function(h,g,e){if(h===true){try{this.reader.realize(g,e);this.reMap(g)}catch(j){this.handleException(j);if(Ext.isArray(g)){this.onCreateRecords(h,g,e)}}}},onUpdateRecords:function(h,g,e){if(h===true){try{this.reader.update(g,e)}catch(j){this.handleException(j);if(Ext.isArray(g)){this.onUpdateRecords(h,g,e)}}}},onDestroyRecords:function(j,g,k){g=(g instanceof Ext.data.Record)?[g]:g;for(var l=0,h=g.length;l<h;l++){this.removed.splice(this.removed.indexOf(g[l]),1)}if(j===false){for(l=g.length-1;l>=0;l--){this.insert(g[l].lastIndex,g[l])}}},handleException:function(b){Ext.handleError(b)},reload:function(b){this.load(Ext.applyIf(b||{},this.lastOptions))},loadRecords:function(l,j,m){if(!l||m===false){if(m!==false){this.fireEvent("load",this,[],j)}if(j.callback){j.callback.call(j.scope||this,[],j,false,l)}return}var n=l.records,o=l.totalRecords||n.length;if(!j||j.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var p=0,k=n.length;p<k;p++){n[p].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(n);this.totalLength=o;this.applySort();this.fireEvent("datachanged",this)}else{this.totalLength=Math.max(o,this.data.length+n.length);this.add(n)}this.fireEvent("load",this,n,j);if(j.callback){j.callback.call(j.scope||this,n,j,true)}},loadData:function(g,e){var d=this.reader.readRecords(g);this.loadRecords(d,{add:e},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if(this.sortInfo&&!this.remoteSort){var d=this.sortInfo,c=d.field;this.sortData(c,d.direction)}},sortData:function(j,h){h=h||"ASC";var g=this.fields.get(j).sortType;var e=function(c,d){var a=g(c.data[j]),b=g(d.data[j]);return a>b?1:(a<b?-1:0)};this.data.sort(h,e);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(h,e)}},setDefaultSort:function(c,d){d=d?d.toUpperCase():"ASC";this.sortInfo={field:c,direction:d};this.sortToggle[c]=d},sort:function(j,l){var k=this.fields.get(j);if(!k){return false}if(!l){if(this.sortInfo&&this.sortInfo.field==k.name){l=(this.sortToggle[k.name]||"ASC").toggle("ASC","DESC")}else{l=k.sortDir}}var g=(this.sortToggle)?this.sortToggle[k.name]:null;var h=(this.sortInfo)?this.sortInfo:null;this.sortToggle[k.name]=l;this.sortInfo={field:k.name,direction:l};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this)}else{if(!this.load(this.lastOptions)){if(g){this.sortToggle[k.name]=g}if(h){this.sortInfo=h}}}},each:function(c,d){this.data.each(c,d)},getModifiedRecords:function(){return this.modified},createFilterFn:function(j,e,h,g){if(Ext.isEmpty(e,false)){return false}e=this.data.createValueMatcher(e,h,g);return function(a){return e.test(a.data[j])}},sum:function(l,k,j){var n=this.data.items,h=0;k=k||0;j=(j||j===0)?j:n.length-1;for(var m=k;m<=j;m++){h+=(n[m].data[l]||0)}return h},filter:function(k,l,j,h){var g=this.createFilterFn(k,l,j,h);return g?this.filterBy(g):this.clearFilter()},filterBy:function(c,d){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(c,d||this);this.fireEvent("datachanged",this)},query:function(k,l,j,h){var g=this.createFilterFn(k,l,j,h);return g?this.queryBy(g):this.data.clone()},queryBy:function(d,e){var g=this.snapshot||this.data;return g.filterBy(d,e||this)},find:function(m,n,k,l,j){var h=this.createFilterFn(m,n,l,j);return h?this.data.findIndexBy(h,null,k):-1},findExact:function(d,e,g){return this.data.findIndexBy(function(a){return a.get(d)===e},this,g)},findBy:function(d,e,g){return this.data.findIndexBy(d,e,g)},collect:function(p,o,u){var q=(u===true&&this.snapshot)?this.snapshot.items:this.data.items;var l,d,v=[],t={};for(var s=0,r=q.length;s<r;s++){l=q[s].data[p];d=String(l);if((o||!Ext.isEmpty(l))&&!t[d]){t[d]=true;v[v.length]=l}}return v},clearFilter:function(b){if(this.isFiltered()){this.data=this.snapshot;delete this.snapshot;if(b!==true){this.fireEvent("datachanged",this)}}},isFiltered:function(){return this.snapshot&&this.snapshot!=this.data},afterEdit:function(b){if(this.modified.indexOf(b)==-1){this.modified.push(b)}this.fireEvent("update",this,b,Ext.data.Record.EDIT)},afterReject:function(b){this.modified.remove(b);this.fireEvent("update",this,b,Ext.data.Record.REJECT)},afterCommit:function(b){this.modified.remove(b);this.fireEvent("update",this,b,Ext.data.Record.COMMIT)},commitChanges:function(){var d=this.modified.slice(0);this.modified=[];for(var g=0,e=d.length;g<e;g++){d[g].commit()}},rejectChanges:function(){var d=this.modified.slice(0);this.modified=[];for(var g=0,e=d.length;g<e;g++){d[g].reject()}},onMetaChange:function(d,e,g){this.recordType=e;this.fields=e.prototype.fields;delete this.snapshot;if(d.sortInfo){this.sortInfo=d.sortInfo}else{if(this.sortInfo&&!this.fields.get(this.sortInfo.field)){delete this.sortInfo}}this.modified=[];this.fireEvent("metachange",this,this.reader.meta)},findInsertIndex:function(e){this.suspendEvents();var g=this.data.clone();this.data.add(e);this.applySort();var d=this.data.indexOf(e);this.data=g;this.resumeEvents();return d},setBaseParam:function(d,c){this.baseParams=this.baseParams||{};this.baseParams[d]=c}});Ext.reg("store",Ext.data.Store);Ext.data.Store.Error=Ext.extend(Ext.Error,{name:"Ext.data.Store"});Ext.apply(Ext.data.Store.Error.prototype,{lang:{"writer-undefined":"Attempted to execute a write-action without a DataWriter installed."}});Ext.data.Field=function(k){if(typeof k=="string"){k={name:k}}Ext.apply(this,k);if(!this.type){this.type="auto"}var l=Ext.data.SortTypes;if(typeof this.sortType=="string"){this.sortType=l[this.sortType]}if(!this.sortType){switch(this.type){case"string":this.sortType=l.asUCString;break;case"date":this.sortType=l.asDate;break;default:this.sortType=l.none}}var j=/[\$,%]/g;if(!this.convert){var g,h=this.dateFormat;switch(this.type){case"":case"auto":case undefined:g=function(a){return a};break;case"string":g=function(a){return(a===undefined||a===null)?"":String(a)};break;case"int":g=function(a){return a!==undefined&&a!==null&&a!==""?parseInt(String(a).replace(j,""),10):""};break;case"float":g=function(a){return a!==undefined&&a!==null&&a!==""?parseFloat(String(a).replace(j,""),10):""};break;case"bool":case"boolean":g=function(a){return a===true||a==="true"||a==1};break;case"date":g=function(a){if(!a){return""}if(Ext.isDate(a)){return a}if(h){if(h=="timestamp"){return new Date(a*1000)}if(h=="time"){return new Date(parseInt(a,10))}return Date.parseDate(a,h)}var b=Date.parse(a);return b?new Date(b):null};break}this.convert=g}};Ext.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true};Ext.data.DataReader=function(d,c){this.meta=d;this.recordType=Ext.isArray(c)?Ext.data.Record.create(c):c};Ext.data.DataReader.prototype={buildExtractors:Ext.emptyFn,realize:function(e,h){if(Ext.isArray(e)){for(var j=e.length-1;j>=0;j--){if(Ext.isArray(h)){this.realize(e.splice(j,1).shift(),h.splice(j,1).shift())}else{this.realize(e.splice(j,1).shift(),h)}}}else{if(Ext.isArray(h)&&h.length==1){h=h.shift()}if(!this.isData(h)){throw new Ext.data.DataReader.Error("realize",e)}this.buildExtractors();var g=this.extractValues(h,e.fields.items,e.fields.items.length);e.phantom=false;e._phid=e.id;e.id=h[this.meta.idProperty];e.data=g;e.commit()}},update:function(e,g){if(Ext.isArray(e)){for(var d=e.length-1;d>=0;d--){if(Ext.isArray(g)){this.update(e.splice(d,1).shift(),g.splice(d,1).shift())}else{this.update(e.splice(d,1).shift(),g)}}}else{if(Ext.isArray(g)&&g.length==1){g=g.shift()}if(!this.isData(g)){e.commit();throw new Ext.data.DataReader.Error("update",e)}this.buildExtractors();e.data=this.extractValues(Ext.apply(e.data,g),e.fields.items,e.fields.items.length);e.commit()}},isData:function(b){return(b&&Ext.isObject(b)&&!Ext.isEmpty(b[this.meta.idProperty]))?true:false}};Ext.data.DataReader.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.DataReader"});Ext.apply(Ext.data.DataReader.Error.prototype,{lang:{update:"#update received invalid data from server.  Please see docs for DataReader#update and review your DataReader configuration.",realize:"#realize was called with invalid remote-data.  Please see the docs for DataReader#realize and review your DataReader configuration.","invalid-response":"#readResponse received an invalid response from the server."}});Ext.data.DataWriter=function(b){Ext.apply(this,b)};Ext.data.DataWriter.prototype={writeAllFields:false,listful:false,write:function(d,g,e){this.render(d,e,g,this[d](e))},render:Ext.emptyFn,update:function(g){var h={};if(Ext.isArray(g)){var j=[],e=[];Ext.each(g,function(a){e.push(a.id);j.push(this.updateRecord(a))},this);h[this.meta.idProperty]=e;h[this.meta.root]=j}else{if(g instanceof Ext.data.Record){h[this.meta.idProperty]=g.id;h[this.meta.root]=this.updateRecord(g)}}return h},updateRecord:Ext.emptyFn,create:function(e){var g={};if(Ext.isArray(e)){var d=[];Ext.each(e,function(a){d.push(this.createRecord(a))},this);g[this.meta.root]=d}else{if(e instanceof Ext.data.Record){g[this.meta.root]=this.createRecord(e)}}return g},createRecord:Ext.emptyFn,destroy:function(g){var h={};if(Ext.isArray(g)){var j=[],e=[];Ext.each(g,function(a){j.push(this.destroyRecord(a))},this);h[this.meta.root]=j}else{if(g instanceof Ext.data.Record){h[this.meta.root]=this.destroyRecord(g)}}return h},destroyRecord:Ext.emptyFn,toHash:function(j){var k=j.fields.map,l={},g=(this.writeAllFields===false&&j.phantom===false)?j.getChanges():j.data,h;Ext.iterate(g,function(a,b){if((h=k[a])){l[h.mapping?h.mapping:h.name]=b}});l[this.meta.idProperty]=j.id;return l}};Ext.data.DataProxy=function(d){d=d||{};this.api=d.api;this.url=d.url;this.restful=d.restful;this.listeners=d.listeners;this.prettyUrls=d.prettyUrls;try{Ext.data.Api.prepare(this)}catch(c){if(c instanceof Ext.data.Api.Error){c.toConsole()}}this.addEvents("exception","beforeload","load","loadexception","beforewrite","write");Ext.data.DataProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.DataProxy,Ext.util.Observable,{restful:false,setApi:function(){if(arguments.length==1){var b=Ext.data.Api.isValid(arguments[0]);if(b===true){this.api=arguments[0]}else{throw new Ext.data.Api.Error("invalid",b)}}else{if(arguments.length==2){if(!Ext.data.Api.isAction(arguments[0])){throw new Ext.data.Api.Error("invalid",arguments[0])}this.api[arguments[0]]=arguments[1]}}Ext.data.Api.prepare(this)},isApiAction:function(b){return(this.api[b])?true:false},request:function(n,j,m,k,l,o,p){if(!this.api[n]&&!this.load){throw new Ext.data.DataProxy.Error("action-undefined",n)}m=m||{};if((n===Ext.data.Api.actions.read)?this.fireEvent("beforeload",this,m):this.fireEvent("beforewrite",this,n,j,m)!==false){this.doRequest.apply(this,arguments)}else{l.call(o||this,null,p,false)}},load:null,doRequest:function(n,j,m,k,l,o,p){this.load(m,k,l,o,p)},buildUrl:function(k,g){g=g||null;var l=(this.api[k])?this.api[k].url:this.url;if(!l){throw new Ext.data.Api.Error("invalid-url",k)}var j=null;var h=l.match(/(.*)(\.\w+)$/);if(h){j=h[2];l=h[1]}if((this.prettyUrls===true||this.restful===true)&&g instanceof Ext.data.Record&&!g.phantom){l+="/"+g.id}if(j){l+=j}return l},destroy:function(){this.purgeListeners()}});Ext.data.DataProxy.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.DataProxy"});Ext.apply(Ext.data.DataProxy.Error.prototype,{lang:{"action-undefined":"DataProxy attempted to execute an API-action but found an undefined url / function.  Please review your Proxy url/api-configuration.","api-invalid":"Recieved an invalid API-configuration.  Please ensure your proxy API-configuration contains only the actions from Ext.data.Api.actions."}});Ext.data.ScriptTagProxy=function(b){Ext.apply(this,b);Ext.data.ScriptTagProxy.superclass.constructor.call(this,b);this.head=document.getElementsByTagName("head")[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,doRequest:function(u,t,v,s,q,p,o){var w=Ext.urlEncode(Ext.apply(v,this.extraParams));var x=this.buildUrl(u,t);if(!x){throw new Ext.data.Api.Error("invalid-url",x)}x=Ext.urlAppend(x,w);if(this.nocache){x=Ext.urlAppend(x,"_dc="+(new Date().getTime()))}var y=++Ext.data.ScriptTagProxy.TRANS_ID;var n={id:y,action:u,cb:"stcCallback"+y,scriptId:"stcScript"+y,params:v,arg:o,url:x,callback:q,scope:p,reader:s};window[n.cb]=this.createCallback(u,t,n);x+=String.format("&{0}={1}",this.callbackParam,n.cb);if(this.autoAbort!==false){this.abort()}n.timeoutId=this.handleFailure.defer(this.timeout,this,[n]);var r=document.createElement("script");r.setAttribute("src",x);r.setAttribute("type","text/javascript");r.setAttribute("id",n.scriptId);this.head.appendChild(r);this.trans=n},createCallback:function(h,e,j){var g=this;return function(a){g.trans=false;g.destroyTrans(j,true);if(h===Ext.data.Api.actions.read){g.onRead.call(g,h,j,a)}else{g.onWrite.call(g,h,j,a,e)}}},onRead:function(k,l,e){var h;try{h=l.reader.readRecords(e)}catch(j){this.fireEvent("loadexception",this,l,e,j);this.fireEvent("exception",this,"response",k,l,e,j);l.callback.call(l.scope||window,null,l.arg,false);return}if(h.success===false){this.fireEvent("loadexception",this,l,e);this.fireEvent("exception",this,"remote",k,l,e,null)}else{this.fireEvent("load",this,e,l.arg)}l.callback.call(l.scope||window,h,l.arg,h.success)},onWrite:function(l,m,n,e){var j=m.reader;try{j.readResponse(l,n)}catch(k){this.fireEvent("exception",this,"response",l,m,n,k);m.callback.call(m.scope||window,null,n,false);return}if(!n[j.meta.successProperty]===true){this.fireEvent("exception",this,"remote",l,m,n,e);m.callback.call(m.scope||window,null,n,false);return}this.fireEvent("write",this,l,n[j.meta.root],n,e,m.arg);m.callback.call(m.scope||window,n[j.meta.root],n,true)},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(d,e){this.head.removeChild(document.getElementById(d.scriptId));clearTimeout(d.timeoutId);if(e){window[d.cb]=undefined;try{delete window[d.cb]}catch(g){}}else{window[d.cb]=function(){window[d.cb]=undefined;try{delete window[d.cb]}catch(a){}}}},handleFailure:function(b){this.trans=false;this.destroyTrans(b,false);if(b.action===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,null,b.arg)}this.fireEvent("exception",this,"response",b.action,{response:null,options:b.arg});b.callback.call(b.scope||window,null,b.arg,false)},destroy:function(){this.abort();Ext.data.ScriptTagProxy.superclass.destroy.call(this)}});Ext.data.HttpProxy=function(e){Ext.data.HttpProxy.superclass.constructor.call(this,e);this.conn=e;this.conn.url=null;this.useAjax=!e||!e.events;var g=Ext.data.Api.actions;this.activeRequest={};for(var d in g){this.activeRequest[g[d]]=undefined}};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},setUrl:function(d,c){this.conn.url=d;if(c===true){this.url=d;Ext.data.Api.prepare(this)}},doRequest:function(n,p,l,q,j,o,k){var m={method:(this.api[n])?this.api[n]["method"]:undefined,request:{callback:j,scope:o,arg:k},reader:q,callback:this.createCallback(n,p),scope:this};if(typeof(l[q.meta.root])==="object"){m.jsonData=l}else{m.params=l||{}}if(this.conn.url===null){this.conn.url=this.buildUrl(n,p)}else{if(this.restful===true&&p instanceof Ext.data.Record&&!p.phantom){this.conn.url+="/"+p.id}}if(this.useAjax){Ext.applyIf(m,this.conn);if(this.activeRequest[n]){}this.activeRequest[n]=Ext.Ajax.request(m)}else{this.conn.request(m)}this.conn.url=null},createCallback:function(c,d){return function(a,b,g){this.activeRequest[c]=undefined;if(!b){if(c===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,a,g)}this.fireEvent("exception",this,"response",c,a,g);a.request.callback.call(a.request.scope,null,a.request.arg,false);return}if(c===Ext.data.Api.actions.read){this.onRead(c,a,g)}else{this.onWrite(c,a,g,d)}}},onRead:function(m,k,e){var j;try{j=k.reader.read(e)}catch(l){this.fireEvent("loadexception",this,k,e,l);this.fireEvent("exception",this,"response",m,k,e,l);k.request.callback.call(k.request.scope,null,k.request.arg,false);return}if(j.success===false){this.fireEvent("loadexception",this,k,e);var n=k.reader.readResponse(m,e);this.fireEvent("exception",this,"remote",m,k,n,null)}else{this.fireEvent("load",this,k,k.request.arg)}k.request.callback.call(k.request.scope,j,k.request.arg,j.success)},onWrite:function(m,k,o,e){var j=k.reader;var n;try{n=j.readResponse(m,o)}catch(l){this.fireEvent("exception",this,"response",m,k,o,l);k.request.callback.call(k.request.scope,null,k.request.arg,false);return}if(n[j.meta.successProperty]===false){this.fireEvent("exception",this,"remote",m,k,n,e)}else{this.fireEvent("write",this,m,n[j.meta.root],n,e,k.request.arg)}k.request.callback.call(k.request.scope,n[j.meta.root],n,n[j.meta.successProperty])},destroy:function(){if(!this.useAjax){this.conn.abort()}else{if(this.activeRequest){var c=Ext.data.Api.actions;for(var d in c){if(this.activeRequest[c[d]]){Ext.Ajax.abort(this.activeRequest[c[d]])}}}}Ext.data.HttpProxy.superclass.destroy.call(this)}});Ext.data.MemoryProxy=function(c){var d={};d[Ext.data.Api.actions.read]=true;Ext.data.MemoryProxy.superclass.constructor.call(this,{api:d});this.data=c};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{doRequest:function(r,q,s,p,n,m,l){s=s||{};var e;try{e=p.readRecords(this.data)}catch(o){this.fireEvent("loadexception",this,null,l,o);this.fireEvent("exception",this,"response",r,l,null,o);n.call(m,null,l,false);return}n.call(m,e,l,true)}});Ext.data.JsonWriter=function(b){Ext.data.JsonWriter.superclass.constructor.call(this,b);if(this.returnJson!=undefined){this.encode=this.returnJson}};Ext.extend(Ext.data.JsonWriter,Ext.data.DataWriter,{returnJson:undefined,encode:true,render:function(j,g,h,e){Ext.apply(h,e);if(this.encode===true){if(Ext.isArray(g)&&e[this.meta.idProperty]){h[this.meta.idProperty]=Ext.encode(h[this.meta.idProperty])}h[this.meta.root]=Ext.encode(h[this.meta.root])}},createRecord:function(b){return this.toHash(b)},updateRecord:function(b){return this.toHash(b)},destroyRecord:function(b){return b.id}});Ext.data.JsonReader=function(d,c){d=d||{};Ext.applyIf(d,{idProperty:"id",successProperty:"success",totalProperty:"total"});Ext.data.JsonReader.superclass.constructor.call(this,d,c||d.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(e){var d=e.responseText;var g=Ext.decode(d);if(!g){throw {message:"JsonReader.read: Json object not found"}}return this.readRecords(g)},onMetaChange:function(e,g,d){},simpleAccess:function(c,d){return c[d]},getJsonAccessor:function(){var b=/[\[\.]/;return function(d){try{return(b.test(d))?new Function("obj","return obj."+d):function(c){return c[d]}}catch(a){}return Ext.emptyFn}}(),readRecords:function(D){this.jsonData=D;if(D.metaData){delete this.ef;this.meta=D.metaData;this.recordType=Ext.data.Record.create(D.metaData.fields);this.onMetaChange(this.meta,this.recordType,D)}var E=this.meta,s=this.recordType,y=s.prototype.fields,F=y.items,o=y.length,n;this.buildExtractors();var v=this.getRoot(D),w=v.length,x=w,c=true;if(E.totalProperty){n=parseInt(this.getTotal(D),10);if(!isNaN(n)){x=n}}if(E.successProperty){n=this.getSuccess(D);if(n===false||n==="false"){c=false}}var B=[];for(var A=0;A<w;A++){var C=v[A];var z=new s(this.extractValues(C,F,o),this.getId(C));z.json=C;B[A]=z}return{success:c,records:B,totalRecords:x}},buildExtractors:function(){if(this.ef){return}var g=this.meta,o=this.recordType,p=o.prototype.fields,m=p.items,n=p.length;if(g.totalProperty){this.getTotal=this.getJsonAccessor(g.totalProperty)}if(g.successProperty){this.getSuccess=this.getJsonAccessor(g.successProperty)}this.getRoot=g.root?this.getJsonAccessor(g.root):function(a){return a};if(g.id||g.idProperty){var q=this.getJsonAccessor(g.id||g.idProperty);this.getId=function(a){var b=q(a);return(b===undefined||b==="")?null:b}}else{this.getId=function(){return null}}var r=[];for(var s=0;s<n;s++){p=m[s];var t=(p.mapping!==undefined&&p.mapping!==null)?p.mapping:p.name;r.push(this.getJsonAccessor(t))}this.ef=r},extractValues:function(l,o,k){var m,p={};for(var n=0;n<k;n++){m=o[n];var j=this.ef[n](l);p[m.name]=m.convert((j!==undefined)?j:m.defaultValue,l)}return p},readResponse:function(d,e){var g=(e.responseText!==undefined)?Ext.decode(e.responseText):e;if(!g){throw new Ext.data.JsonReader.Error("response")}if(Ext.isEmpty(g[this.meta.successProperty])){throw new Ext.data.JsonReader.Error("successProperty-response",this.meta.successProperty)}if((d===Ext.data.Api.actions.create||d===Ext.data.Api.actions.update)){if(Ext.isEmpty(g[this.meta.root])){throw new Ext.data.JsonReader.Error("root-emtpy",this.meta.root)}else{if(g[this.meta.root]===undefined){throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}}}this.ef=this.buildExtractors();return g}});Ext.data.JsonReader.Error=Ext.extend(Ext.Error,{constructor:function(c,d){this.arg=d;Ext.Error.call(this,c)},name:"Ext.data.JsonReader"});Ext.apply(Ext.data.JsonReader.Error.prototype,{lang:{response:"An error occurred while json-decoding your server response","successProperty-response":'Could not locate your "successProperty" in your server response.  Please review your JsonReader config to ensure the config-property "successProperty" matches the property in your server-response.  See the JsonReader docs.',"root-undefined-response":'Could not locate your "root" property in your server response.  Please review your JsonReader config to ensure the config-property "root" matches the property 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-emtpy":'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(B){this.arrayData=B;var F=this.meta,I=F?Ext.num(F.idIndex,F.id):null,K=this.recordType,C=K.prototype.fields,k=[],H;if(!this.getRoot){this.getRoot=F.root?this.getJsonAccessor(F.root):function(a){return a};if(F.totalProperty){this.getTotal=this.getJsonAccessor(F.totalProperty)}}var v=this.getRoot(B);for(var n=0;n<v.length;n++){var A=v[n];var L={};var D=((I||I===0)&&A[I]!==undefined&&A[I]!==""?A[I]:null);for(var o=0,E=C.length;o<E;o++){var j=C.items[o];var s=j.mapping!==undefined&&j.mapping!==null?j.mapping:o;H=A[s]!==undefined?A[s]:j.defaultValue;H=j.convert(H,A);L[j.name]=H}var J=new K(L,D);J.json=A;k[k.length]=J}var G=k.length;if(F.totalProperty){H=parseInt(this.getTotal(B),10);if(!isNaN(H)){G=H}}return{records:k,totalRecords:G}}});Ext.data.ArrayStore=Ext.extend(Ext.data.Store,{constructor:function(b){Ext.data.ArrayStore.superclass.constructor.call(this,Ext.apply(b,{reader:new Ext.data.ArrayReader(b)}))},loadData:function(j,g){if(this.expandData===true){var k=[];for(var l=0,h=j.length;l<h;l++){k[k.length]=[j[l]]}j=k}Ext.data.ArrayStore.superclass.loadData.call(this,j,g)}});Ext.reg("arraystore",Ext.data.ArrayStore);Ext.data.SimpleStore=Ext.data.ArrayStore;Ext.reg("simplestore",Ext.data.SimpleStore);Ext.data.JsonStore=Ext.extend(Ext.data.Store,{constructor:function(b){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(b,{reader:new Ext.data.JsonReader(b)}))}});Ext.reg("jsonstore",Ext.data.JsonStore);Ext.data.XmlWriter=Ext.extend(Ext.data.DataWriter,{render:function(j,g,h,e){},createRecord:function(b){},updateRecord:function(b){},destroyRecord:function(b){}});Ext.data.XmlReader=function(d,c){d=d||{};Ext.data.XmlReader.superclass.constructor.call(this,d,c||d.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(d){var c=d.responseXML;if(!c){throw {message:"XmlReader.read: XML Document not available"}}return this.readRecords(c)},readRecords:function(j){this.xmlData=j;var D=j.documentElement||j;var J=Ext.DomQuery;var Q=this.recordType,G=Q.prototype.fields;var O=this.meta.idPath||this.meta.id;var L=0,N=true;if(this.meta.totalRecords){L=J.selectNumber(this.meta.totalRecords,D,0)}if(this.meta.success){var H=J.selectValue(this.meta.success,D,true);N=H!==false&&H!=="false"}var v=[];var F=J.select(this.meta.record,D);for(var B=0,q=F.length;B<q;B++){var E=F[B];var R={};var I=O?J.selectValue(O,E):undefined;for(var C=0,K=G.length;C<K;C++){var n=G.items[C];var M=J.selectValue(Ext.value(n.mapping,n.name,true),E,n.defaultValue);M=n.convert(M,E);R[n.name]=M}var P=new Q(R,I);P.node=E;v[v.length]=P}return{success:N,records:v,totalRecords:L||v.length}},readResponse:Ext.emptyFn});Ext.data.XmlStore=Ext.extend(Ext.data.Store,{constructor:function(b){Ext.data.XmlStore.superclass.constructor.call(this,Ext.apply(b,{reader:new Ext.data.XmlReader(b)}))}});Ext.reg("xmlstore",Ext.data.XmlStore);Ext.data.GroupingStore=Ext.extend(Ext.data.Store,{constructor:function(b){Ext.data.GroupingStore.superclass.constructor.call(this,b);this.applyGroupField()},remoteGroup:false,groupOnSort:false,groupDir:"ASC",clearGrouping:function(){this.groupField=false;if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy}var b=this.lastOptions;if(b&&b.params){delete b.params.groupBy}this.reload()}else{this.applySort();this.fireEvent("datachanged",this)}},groupBy:function(h,e,j){j=j?(String(j).toUpperCase()=="DESC"?"DESC":"ASC"):this.groupDir;if(this.groupField==h&&this.groupDir==j&&!e){return}this.groupField=h;this.groupDir=j;this.applyGroupField();if(this.groupOnSort){this.sort(h,j);return}if(this.remoteGroup){this.reload()}else{var g=this.sortInfo||{};if(g.field!=h||g.direction!=j){this.applySort()}else{this.sortData(h,j)}this.fireEvent("datachanged",this)}},applyGroupField:function(){if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}this.baseParams.groupBy=this.groupField;this.baseParams.groupDir=this.groupDir}},applySort:function(){Ext.data.GroupingStore.superclass.applySort.call(this);if(!this.groupOnSort&&!this.remoteGroup){var b=this.getGroupState();if(b&&(b!=this.sortInfo.field||this.groupDir!=this.sortInfo.direction)){this.sortData(this.groupField,this.groupDir)}}},applyGrouping:function(b){if(this.groupField!==false){this.groupBy(this.groupField,true,this.groupDir);return true}else{if(b===true){this.fireEvent("datachanged",this)}return false}},getGroupState:function(){return this.groupOnSort&&this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField}});Ext.reg("groupingstore",Ext.data.GroupingStore);Ext.data.DirectProxy=function(b){Ext.apply(this,b);if(typeof this.paramOrder=="string"){this.paramOrder=this.paramOrder.split(/[\s,|]/)}Ext.data.DirectProxy.superclass.constructor.call(this,b)};Ext.extend(Ext.data.DirectProxy,Ext.data.DataProxy,{paramOrder:undefined,paramsAsHash:true,directFn:undefined,doRequest:function(y,x,z,v,r,q,o){var s=[];var t=this.api[y]||this.directFn;switch(y){case Ext.data.Api.actions.create:s.push(z[v.meta.root]);break;case Ext.data.Api.actions.read:if(this.paramOrder){for(var w=0,u=this.paramOrder.length;w<u;w++){s.push(z[this.paramOrder[w]])}}else{if(this.paramsAsHash){s.push(z)}}break;case Ext.data.Api.actions.update:s.push(z[v.meta.idProperty]);s.push(z[v.meta.root]);break;case Ext.data.Api.actions.destroy:s.push(z[v.meta.root]);break}var p={params:z||{},callback:r,scope:q,arg:o,reader:v};s.push(this.createCallback(y,x,p),this);t.apply(window,s)},createCallback:function(g,e,d){return function(b,a){if(!a.status){if(g===Ext.data.Api.actions.read){this.fireEvent("loadexception",this,d,a,null)}this.fireEvent("exception",this,"remote",g,d,a,null);d.callback.call(d.scope,null,d.arg,false);return}if(g===Ext.data.Api.actions.read){this.onRead(g,d,b,a)}else{this.onWrite(g,d,b,a,e)}}},onRead:function(k,l,j,m){var h;try{h=l.reader.readRecords(j)}catch(n){this.fireEvent("loadexception",this,l,m,n);this.fireEvent("exception",this,"response",k,l,m,n);l.callback.call(l.scope,null,l.arg,false);return}this.fireEvent("load",this,m,l.arg);l.callback.call(l.scope,h,l.arg,true)},onWrite:function(j,k,h,l,g){this.fireEvent("write",this,j,h,l,g,k.arg);k.callback.call(k.scope,h,l,true)}});Ext.data.DirectStore=function(b){b.batchTransactions=false;Ext.data.DirectStore.superclass.constructor.call(this,Ext.apply(b,{proxy:(typeof(b.proxy)=="undefined")?new Ext.data.DirectProxy(Ext.copyTo({},b,"paramOrder,paramsAsHash,directFn,api")):b.proxy,reader:(typeof(b.reader)=="undefined"&&typeof(b.fields)=="object")?new Ext.data.JsonReader(Ext.copyTo({},b,"totalProperty,root,idProperty"),b.fields):b.reader}))};Ext.extend(Ext.data.DirectStore,Ext.data.Store,{});Ext.reg("directstore",Ext.data.DirectStore);Ext.Direct=Ext.extend(Ext.util.Observable,{exceptions:{TRANSPORT:"xhr",PARSE:"parse",LOGIN:"login",SERVER:"exception"},constructor:function(){this.addEvents("event","exception");this.transactions={};this.providers={}},addProvider:function(g){var j=arguments;if(j.length>1){for(var h=0,a=j.length;h<a;h++){this.addProvider(j[h])}return}if(!g.events){g=new Ext.Direct.PROVIDERS[g.type](g)}g.id=g.id||Ext.id();this.providers[g.id]=g;g.on("data",this.onProviderData,this);g.on("exception",this.onProviderException,this);if(!g.isConnected()){g.connect()}return g},getProvider:function(b){return this.providers[b]},removeProvider:function(c){var d=c.id?c:this.providers[c.id];d.un("data",this.onProviderData,this);d.un("exception",this.onProviderException,this);delete this.providers[d.id];return d},addTransaction:function(b){this.transactions[b.tid]=b;return b},removeTransaction:function(b){delete this.transactions[b.tid||b];return b},getTransaction:function(b){return this.transactions[b.tid||b]},onProviderData:function(h,j){if(Ext.isArray(j)){for(var e=0,g=j.length;e<g;e++){this.onProviderData(h,j[e])}return}if(j.name&&j.name!="event"&&j.name!="exception"){this.fireEvent(j.name,j)}else{if(j.type=="exception"){this.fireEvent("exception",j)}}this.fireEvent("event",j,h)},createEvent:function(d,c){return new Ext.Direct.eventTypes[d.type](Ext.apply(d,c))}});Ext.Direct=new Ext.Direct();Ext.Direct.TID=1;Ext.Direct.PROVIDERS={};Ext.Direct.Transaction=function(b){Ext.apply(this,b);this.tid=++Ext.Direct.TID;this.retryCount=0};Ext.Direct.Transaction.prototype={send:function(){this.provider.queueTransaction(this)},retry:function(){this.retryCount++;this.send()},getProvider:function(){return this.provider}};Ext.Direct.Event=function(b){Ext.apply(this,b)};Ext.Direct.Event.prototype={status:true,getData:function(){return this.data}};Ext.Direct.RemotingEvent=Ext.extend(Ext.Direct.Event,{type:"rpc",getTransaction:function(){return this.transaction||Ext.Direct.getTransaction(this.tid)}});Ext.Direct.ExceptionEvent=Ext.extend(Ext.Direct.RemotingEvent,{status:false,type:"exception"});Ext.Direct.eventTypes={rpc:Ext.Direct.RemotingEvent,event:Ext.Direct.Event,exception:Ext.Direct.ExceptionEvent};Ext.direct.Provider=Ext.extend(Ext.util.Observable,{priority:1,constructor:function(b){Ext.apply(this,b);this.addEvents("connect","disconnect","data","exception");Ext.direct.Provider.superclass.constructor.call(this,b)},isConnected:function(){return false},connect:Ext.emptyFn,disconnect:Ext.emptyFn});Ext.direct.JsonProvider=Ext.extend(Ext.direct.Provider,{parseResponse:function(b){if(!Ext.isEmpty(b.responseText)){if(typeof b.responseText=="object"){return b.responseText}return Ext.decode(b.responseText)}return null},getEvents:function(l){var n=null;try{n=this.parseResponse(l)}catch(m){var o=new Ext.Direct.ExceptionEvent({data:m,xhr:l,code:Ext.Direct.exceptions.PARSE,message:"Error parsing json response: \n\n "+n});return[o]}var p=[];if(Ext.isArray(n)){for(var e=0,k=n.length;e<k;e++){p.push(Ext.Direct.createEvent(n[e]))}}else{p.push(Ext.Direct.createEvent(n))}return p}});Ext.direct.PollingProvider=Ext.extend(Ext.direct.JsonProvider,{priority:3,interval:3000,constructor:function(b){Ext.direct.PollingProvider.superclass.constructor.call(this,b);this.addEvents("beforepoll","poll")},isConnected:function(){return !!this.pollTask},connect:function(){if(this.url&&!this.pollTask){this.pollTask=Ext.TaskMgr.start({run:function(){if(this.fireEvent("beforepoll",this)!==false){if(typeof this.url=="function"){this.url(this.baseParams)}else{Ext.Ajax.request({url:this.url,callback:this.onData,scope:this,params:this.baseParams})}}},interval:this.interval,scope:this});this.fireEvent("connect",this)}else{if(!this.url){throw"Error initializing PollingProvider, no url configured."}}},disconnect:function(){if(this.pollTask){Ext.TaskMgr.stop(this.pollTask);delete this.pollTask;this.fireEvent("disconnect",this)}},onData:function(o,l,m){if(l){var p=this.getEvents(m);for(var e=0,k=p.length;e<k;e++){var n=p[e];this.fireEvent("data",this,n)}}else{var n=new Ext.Direct.ExceptionEvent({data:n,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:m});this.fireEvent("data",this,n)}}});Ext.Direct.PROVIDERS.polling=Ext.direct.PollingProvider;Ext.direct.RemotingProvider=Ext.extend(Ext.direct.JsonProvider,{enableBuffer:10,maxRetries:1,constructor:function(b){Ext.direct.RemotingProvider.superclass.constructor.call(this,b);this.addEvents("beforecall","call");this.namespace=(typeof this.namespace==="string")?Ext.ns(this.namespace):this.namespace||window;this.transactions={};this.callBuffer=[]},initAPI:function(){var m=this.actions;for(var l in m){var p=this.namespace[l]||(this.namespace[l]={});var o=m[l];for(var n=0,c=o.length;n<c;n++){var k=o[n];p[k.name]=this.createMethod(l,k)}}},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(t,o,n){if(o){var m=this.getEvents(n);for(var s=0,r=m.length;s<r;s++){var q=m[s];var e=this.getTransaction(q);this.fireEvent("data",this,q);if(e){this.doCallback(e,q,true);Ext.Direct.removeTransaction(e)}}}else{var p=[].concat(t.ts);for(var s=0,r=p.length;s<r;s++){var e=this.getTransaction(p[s]);if(e&&e.retryCount<this.maxRetries){e.retry()}else{var q=new Ext.Direct.ExceptionEvent({data:q,transaction:e,code:Ext.Direct.exceptions.TRANSPORT,message:"Unable to connect to the server.",xhr:n});this.fireEvent("data",this,q);if(e){this.doCallback(e,q,false);Ext.Direct.removeTransaction(e)}}}}},getCallData:function(b){return{action:b.action,method:b.method,data:b.data,type:"rpc",tid:b.tid}},doSend:function(m){var k={url:this.url,callback:this.onData,scope:this,ts:m};var h;if(Ext.isArray(m)){h=[];for(var n=0,j=m.length;n<j;n++){h.push(this.getCallData(m[n]))}}else{h=this.getCallData(m)}if(this.enableUrlEncode){var l={};l[typeof this.enableUrlEncode=="string"?this.enableUrlEncode:"data"]=Ext.encode(h);k.params=l}else{k.jsonData=h}Ext.Ajax.request(k)},combineAndSend:function(){var b=this.callBuffer.length;if(b>0){this.doSend(b==1?this.callBuffer[0]:this.callBuffer);this.callBuffer=[]}},queueTransaction:function(b){if(b.form){this.processForm(b);return}this.callBuffer.push(b);if(this.enableBuffer){if(!this.callTask){this.callTask=new Ext.util.DelayedTask(this.combineAndSend,this)}this.callTask.delay(typeof this.enableBuffer=="number"?this.enableBuffer:10)}else{this.combineAndSend()}},doCall:function(k,j,c){var l=null,n=c[j.len],m=c[j.len+1];if(j.len!==0){l=c.slice(0,j.len)}var o=new Ext.Direct.Transaction({provider:this,args:c,action:k,method:j.name,data:l,cb:m&&Ext.isFunction(n)?n.createDelegate(m):n});if(this.fireEvent("beforecall",this,o)!==false){Ext.Direct.addTransaction(o);this.queueTransaction(o);this.fireEvent("call",this,o)}},doForm:function(l,c,o,m,p){var q=new Ext.Direct.Transaction({provider:this,action:l,method:c.name,args:[o,m,p],cb:p&&Ext.isFunction(m)?m.createDelegate(p):m,isForm:true});if(this.fireEvent("beforecall",this,q)!==false){Ext.Direct.addTransaction(q);var k=String(o.getAttribute("enctype")).toLowerCase()=="multipart/form-data",n={extTID:q.tid,extAction:l,extMethod:c.name,extType:"rpc",extUpload:String(k)};Ext.apply(q,{form:Ext.getDom(o),isUpload:k,params:m&&Ext.isObject(m.params)?Ext.apply(n,m.params):n});this.fireEvent("call",this,q);this.processForm(q)}},processForm:function(b){Ext.Ajax.request({url:this.url,params:b.params,callback:this.onData,scope:this,form:b.form,isUpload:b.isUpload,ts:b})},createMethod:function(g,e){var c;if(!e.formHandler){c=function(){this.doCall(g,e,Array.prototype.slice.call(arguments,0))}.createDelegate(this)}else{c=function(b,a,d){this.doForm(g,e,b,a,d)}.createDelegate(this)}c.directCfg={action:g,method:e};return c},getTransaction:function(b){return b&&b.tid?Ext.Direct.getTransaction(b.tid):null},doCallback:function(l,j){var k=j.status?"success":"failure";if(l&&l.cb){var e=l.cb;var h=j.result||j.data;if(Ext.isFunction(e)){e(h,j)}else{Ext.callback(e[k],e.scope,[h,j]);Ext.callback(e.callback,e.scope,[h,j])}}}});Ext.Direct.PROVIDERS.remoting=Ext.direct.RemotingProvider;Ext.Resizable=function(y,x){this.el=Ext.get(y);if(x&&x.wrap){x.resizeChild=this.el;this.el=this.el.wrap(typeof x.wrap=="object"?x.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=x.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(x.resizeChild.getPositioning());x.resizeChild.clearPositioning();if(!x.width||!x.height){var w=x.resizeChild.getSize();this.el.setSize(w.width,w.height)}if(x.pinned&&!x.adjustments){x.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,x);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var t=this.el.getStyle("position");if(t!="absolute"&&t!="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 p=this.handles.split(/\s*?[,;]\s*?| /);var z=Ext.Resizable.positions;for(var u=0,s=p.length;u<s;u++){if(p[u]&&z[p[u]]){var q=z[p[u]];this[q]=new Ext.Resizable.Handle(this,q,this.disableTrackOver,this.transparent)}}this.corner=this.southeast;if(this.handles.indexOf("n")!=-1||this.handles.indexOf("w")!=-1){this.updateBox=true}this.activeHandle=null;if(this.resizeChild){if(typeof this.resizeChild=="boolean"){this.resizeChild=Ext.get(this.el.dom.firstChild,true)}else{this.resizeChild=Ext.get(this.resizeChild,true)}}if(this.adjustments=="auto"){var A=this.resizeChild;var r=this.west,v=this.east,B=this.north,p=this.south;if(A&&(r||B)){A.position("relative");A.setLeft(r?r.el.getWidth():0);A.setTop(B?B.el.getHeight():0)}this.adjustments=[(v?-v.el.getWidth():0)+(r?-r.el.getWidth():0),(B?-B.el.getHeight():0)+(p?-p.el.getHeight():0)-1]}if(this.draggable){this.dd=this.dynamic?this.el.initDD(null):this.el.initDDProxy(null,{dragElId:this.proxy.id});this.dd.setHandleElId(this.resizeChild?this.resizeChild.id:this.el.id)}this.addEvents("beforeresize","resize");if(this.width!==null&&this.height!==null){this.resizeTo(this.width,this.height)}else{this.updateChildSize()}if(Ext.isIE){this.el.dom.style.zoom=1}Ext.Resizable.superclass.constructor.call(this)};Ext.extend(Ext.Resizable,Ext.util.Observable,{adjustments:[0,0],animate:false,disableTrackOver:false,draggable:false,duration:0.35,dynamic:false,easing:"easeOutStrong",enabled:true,handles:false,multiDirectional:false,height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:5,minWidth:5,maxHeight:10000,maxWidth:10000,minX:0,minY:0,pinned:false,preserveRatio:false,resizeChild:false,transparent:false,resizeTo:function(c,d){this.el.setSize(c,d);this.updateChildSize();this.fireEvent("resize",this,c,d,null)},startSizing:function(g,d){this.fireEvent("beforeresize",this,g);if(this.enabled){if(!this.overlay){this.overlay=this.el.createProxy({tag:"div",cls:"x-resizable-overlay",html:"&#160;"},Ext.getBody());this.overlay.unselectable();this.overlay.enableDisplayMode("block");this.overlay.on({scope:this,mousemove:this.onMouseMove,mouseup:this.onMouseUp})}this.overlay.setStyle("cursor",d.el.getStyle("cursor"));this.resizing=true;this.startBox=this.el.getBox();this.startPoint=g.getXY();this.offsets=[(this.startBox.x+this.startBox.width)-this.startPoint[0],(this.startBox.y+this.startBox.height)-this.startPoint[1]];this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();if(this.constrainTo){var e=Ext.get(this.constrainTo);this.resizeRegion=e.getRegion().adjust(e.getFrameWidth("t"),e.getFrameWidth("l"),-e.getFrameWidth("b"),-e.getFrameWidth("r"))}this.proxy.setStyle("visibility","hidden");this.proxy.show();this.proxy.setBox(this.startBox);if(!this.dynamic){this.proxy.setStyle("visibility","visible")}}},onMouseDown:function(d,c){if(this.enabled){c.stopEvent();this.activeHandle=d;this.startSizing(c,d)}},onMouseUp:function(c){this.activeHandle=null;var d=this.resizeElement();this.resizing=false;this.handleOut();this.overlay.hide();this.proxy.hide();this.fireEvent("resize",this,d.width,d.height,c)},updateChildSize:function(){if(this.resizeChild){var h=this.el;var g=this.resizeChild;var j=this.adjustments;if(h.dom.offsetWidth){var b=h.getSize(true);g.setSize(b.width+j[0],b.height+j[1])}if(Ext.isIE){setTimeout(function(){if(h.dom.offsetWidth){var a=h.getSize(true);g.setSize(a.width+j[0],a.height+j[1])}},10)}}},snap:function(l,j,g){if(!j||!l){return l}var k=l;var h=l%j;if(h>0){if(h>(j/2)){k=l+(j-h)}else{k=l-h}}return Math.max(g,k)},resizeElement:function(){var b=this.proxy.getBox();if(this.updateBox){this.el.setBox(b,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(b.width,b.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}return b},constrain:function(e,j,g,h){if(e-j<g){j=e-g}else{if(e-j>h){j=e-h}}return j},onMouseMove:function(e){if(this.enabled&&this.activeHandle){try{if(this.resizeRegion&&!this.resizeRegion.contains(e.getPoint())){return}var y=this.curSize||this.startBox,Q=this.startBox.x,R=this.startBox.y,W=Q,X=R,P=y.width,w=y.height,V=P,N=w,O=this.minWidth,M=this.minHeight,F=this.maxWidth,G=this.maxHeight,T=this.widthIncrement,Y=this.heightIncrement,K=e.getXY(),I=-(this.startPoint[0]-Math.max(this.minX,K[0])),L=-(this.startPoint[1]-Math.max(this.minY,K[1])),S=this.activeHandle.position,x,U;switch(S){case"east":P+=I;P=Math.min(Math.max(O,P),F);break;case"south":w+=L;w=Math.min(Math.max(M,w),G);break;case"southeast":P+=I;w+=L;P=Math.min(Math.max(O,P),F);w=Math.min(Math.max(M,w),G);break;case"north":L=this.constrain(w,L,M,G);R+=L;w-=L;break;case"west":I=this.constrain(P,I,O,F);Q+=I;P-=I;break;case"northeast":P+=I;P=Math.min(Math.max(O,P),F);L=this.constrain(w,L,M,G);R+=L;w-=L;break;case"northwest":I=this.constrain(P,I,O,F);L=this.constrain(w,L,M,G);R+=L;w-=L;Q+=I;P-=I;break;case"southwest":I=this.constrain(P,I,O,F);w+=L;w=Math.min(Math.max(M,w),G);Q+=I;P-=I;break}var J=this.snap(P,T,O);var H=this.snap(w,Y,M);if(J!=P||H!=w){switch(S){case"northeast":R-=H-w;break;case"north":R-=H-w;break;case"southwest":Q-=J-P;break;case"west":Q-=J-P;break;case"northwest":Q-=J-P;R-=H-w;break}P=J;w=H}if(this.preserveRatio){switch(S){case"southeast":case"east":w=N*(P/V);w=Math.min(Math.max(M,w),G);P=V*(w/N);break;case"south":P=V*(w/N);P=Math.min(Math.max(O,P),F);w=N*(P/V);break;case"northeast":P=V*(w/N);P=Math.min(Math.max(O,P),F);w=N*(P/V);break;case"north":x=P;P=V*(w/N);P=Math.min(Math.max(O,P),F);w=N*(P/V);Q+=(x-P)/2;break;case"southwest":w=N*(P/V);w=Math.min(Math.max(M,w),G);x=P;P=V*(w/N);Q+=x-P;break;case"west":U=w;w=N*(P/V);w=Math.min(Math.max(M,w),G);R+=(U-w)/2;x=P;P=V*(w/N);Q+=x-P;break;case"northwest":x=P;U=w;w=N*(P/V);w=Math.min(Math.max(M,w),G);P=V*(w/N);R+=U-w;Q+=x-P;break}}this.proxy.setBounds(Q,R,P,w);if(this.dynamic){this.resizeElement()}}catch(h){}}},handleOver:function(){if(this.enabled){this.el.addClass("x-resizable-over")}},handleOut:function(){if(!this.resizing){this.el.removeClass("x-resizable-over")}},getEl:function(){return this.el},getResizeChild:function(){return this.resizeChild},destroy:function(d){Ext.destroy(this.dd,this.overlay,this.proxy);this.overlay=null;this.proxy=null;var g=Ext.Resizable.positions;for(var e in g){if(typeof g[e]!="function"&&this[g[e]]){this[g[e]].destroy()}}if(d){this.el.update("");Ext.destroy(this.el);this.el=null}this.purgeListeners()},syncHandleHeight:function(){var b=this.el.getHeight(true);if(this.west){this.west.el.setHeight(b)}if(this.east){this.east.el.setHeight(b)}}});Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};Ext.Resizable.Handle=function(l,j,g,k){if(!this.tpl){var h=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});h.compile();Ext.Resizable.Handle.prototype.tpl=h}this.position=j;this.rz=l;this.el=this.tpl.append(l.el.dom,[this.position],true);this.el.unselectable();if(k){this.el.setOpacity(0)}this.el.on("mousedown",this.onMouseDown,this);if(!g){this.el.on({scope:this,mouseover:this.onMouseOver,mouseout:this.onMouseOut})}};Ext.Resizable.Handle.prototype={afterResize:function(b){},onMouseDown:function(b){this.rz.onMouseDown(this,b)},onMouseOver:function(b){this.rz.handleOver(this,b)},onMouseOut:function(b){this.rz.handleOut(this,b)},destroy:function(){Ext.destroy(this.el);this.el=null}};Ext.Window=Ext.extend(Ext.Panel,{baseCls:"x-window",resizable:true,draggable:true,closable:true,closeAction:"close",constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,collapsible:false,initHidden:true,monitorResize:true,elements:"header,body",frame:true,floating:true,initComponent:function(){Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore");if(this.initHidden===false){this.show()}else{this.hidden=true}},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox(true))},onRender:function(c,d){Ext.Window.superclass.onRender.call(this,c,d);if(this.plain){this.el.addClass("x-window-plain")}this.focusEl=this.el.createChild({tag:"a",href:"#",cls:"x-dlg-focus",tabIndex:"-1",html:"&#160;"});this.focusEl.swallowEvent("click",true);this.proxy=this.el.createProxy("x-window-proxy");this.proxy.enableDisplayMode("block");if(this.modal){this.mask=this.container.createChild({cls:"ext-el-mask"},this.el.dom);this.mask.enableDisplayMode("block");this.mask.hide();this.mon(this.mask,"click",this.focus,this)}this.initTools()},initEvents:function(){Ext.Window.superclass.initEvents.call(this);if(this.animateTarget){this.setAnimateTarget(this.animateTarget)}if(this.resizable){this.resizer=new Ext.Resizable(this.el,{minWidth:this.minWidth,minHeight:this.minHeight,handles:this.resizeHandles||"all",pinned:true,resizeElement:this.resizerAction});this.resizer.window=this;this.mon(this.resizer,"beforeresize",this.beforeResize,this)}if(this.draggable){this.header.addClass("x-window-draggable")}this.mon(this.el,"mousedown",this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);if(this.maximized){this.maximized=false;this.maximize()}if(this.closable){var b=this.getKeyMap();b.on(27,this.onEsc,this);b.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(){this[this.closeAction]()},beforeDestroy:function(){if(this.rendered){this.hide();if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this)}Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask)}Ext.Window.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.manager){this.manager.unregister(this)}Ext.Window.superclass.onDestroy.call(this)},initTools:function(){if(this.minimizable){this.addTool({id:"minimize",handler:this.minimize.createDelegate(this,[])})}if(this.maximizable){this.addTool({id:"maximize",handler:this.maximize.createDelegate(this,[])});this.addTool({id:"restore",handler:this.restore.createDelegate(this,[]),hidden:true});this.mon(this.header,"dblclick",this.toggleMaximize,this)}if(this.closable){this.addTool({id:"close",handler:this[this.closeAction].createDelegate(this,[])})}},resizerAction:function(){var b=this.proxy.getBox();this.proxy.hide();this.window.handleResize(b);return b},beforeResize:function(){this.resizer.minHeight=Math.max(this.minHeight,this.getFrameHeight()+40);this.resizer.minWidth=Math.max(this.minWidth,this.getFrameWidth()+40);this.resizeBox=this.el.getBox()},updateHandles:function(){if(Ext.isIE&&this.resizer){this.resizer.syncHandleHeight();this.el.repaint()}},handleResize:function(c){var d=this.resizeBox;if(d.x!=c.x||d.y!=c.y){this.updateBox(c)}else{this.setSize(c)}this.focus();this.updateHandles();this.saveState();this.doLayout();this.fireEvent("resize",this,c.width,c.height)},focus:function(){var g=this.focusEl,e=this.defaultButton,d=typeof e;if(d!="undefined"){if(d=="number"&&this.fbar){g=this.fbar.items.get(e)}else{if(d=="string"){g=Ext.getCmp(e)}else{g=e}}}g=g||this.focusEl;g.focus.defer(10,g)},setAnimateTarget:function(b){b=Ext.get(b);this.animateTarget=b},beforeShow:function(){delete this.el.lastXY;delete this.el.lastLT;if(this.x===undefined||this.y===undefined){var d=this.el.getAlignToXY(this.container,"c-c");var c=this.el.translatePoints(d[0],d[1]);this.x=this.x===undefined?c.left:this.x;this.y=this.y===undefined?c.top:this.y}this.el.setLeftTop(this.x,this.y);if(this.expandOnShow){this.expand(false)}if(this.modal){Ext.getBody().addClass("x-body-masked");this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.mask.show()}},show:function(g,e,d){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return this}if(this.fireEvent("beforeshow",this)===false){return this}if(e){this.on("show",e,d,{single:true})}this.hidden=false;if(g!==undefined){this.setAnimateTarget(g)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}return this},afterShow:function(c){this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&&Ext.isGecko){this.cascade(this.setAutoScroll)}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.onWindowResize(this.onWindowResize,this)}this.doConstrain();this.doLayout();if(this.keyMap){this.keyMap.enable()}this.toFront();this.updateHandles();if(c&&(Ext.isIE||Ext.isWebKit)){var d=this.getSize();this.onResize(d.width,d.height)}this.fireEvent("show",this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var b=this.getBox(false);b.callback=this.afterShow.createDelegate(this,[true],false);b.scope=this;b.duration=0.25;b.easing="easeNone";b.opacity=0.5;b.block=true;this.el.setStyle("display","none");this.proxy.shift(b)},hide:function(g,e,d){if(this.hidden||this.fireEvent("beforehide",this)===false){return this}if(e){this.on("hide",e,d,{single:true})}this.hidden=true;if(g!==undefined){this.setAnimateTarget(g)}if(this.modal){this.mask.hide();Ext.getBody().removeClass("x-body-masked")}if(this.animateTarget){this.animHide()}else{this.el.hide();this.afterHide()}return this},afterHide:function(){this.proxy.hide();if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.removeResizeListener(this.onWindowResize,this)}if(this.keyMap){this.keyMap.disable()}this.fireEvent("hide",this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var d=this.getBox(false);this.proxy.setBox(d);this.el.hide();var b=this.animateTarget.getBox();b.callback=this.afterHide;b.scope=this;b.duration=0.25;b.easing="easeNone";b.block=true;b.opacity=0;this.proxy.shift(b)},onWindowResize:function(){if(this.maximized){this.fitContainer()}if(this.modal){this.mask.setSize("100%","100%");var b=this.mask.dom.offsetHeight;this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true))}this.doConstrain()},doConstrain:function(){if(this.constrain||this.constrainHeader){var d;if(this.constrain){d={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var e=this.getSize();d={right:-(e.width-100),bottom:-(e.height-25)}}var g=this.el.getConstrainToXY(this.container,true,d);if(g){this.setPosition(g[0],g[1])}}},ghost:function(e){var g=this.createGhost(e);var d=this.getBox(true);g.setLeftTop(d.x,d.y);g.setWidth(d.width);this.el.hide();this.activeGhost=g;return g},unghost:function(c,d){if(!this.activeGhost){return}if(c!==false){this.el.show();this.focus();if(Ext.isMac&&Ext.isGecko){this.cascade(this.setAutoScroll)}}if(d!==false){this.setPosition(this.activeGhost.getLeft(true),this.activeGhost.getTop(true))}this.activeGhost.hide();this.activeGhost.remove();delete this.activeGhost},minimize:function(){this.fireEvent("minimize",this);return this},close:function(){if(this.fireEvent("beforeclose",this)!==false){this.hide(null,function(){this.fireEvent("close",this);this.destroy()},this)}},maximize:function(){if(!this.maximized){this.expand(false);this.restoreSize=this.getSize();this.restorePos=this.getPosition(true);if(this.maximizable){this.tools.maximize.hide();this.tools.restore.show()}this.maximized=true;this.el.disableShadow();if(this.dd){this.dd.lock()}if(this.collapsible){this.tools.toggle.hide()}this.el.addClass("x-window-maximized");this.container.addClass("x-window-maximized-ct");this.setPosition(0,0);this.fitContainer();this.fireEvent("maximize",this)}return this},restore:function(){if(this.maximized){this.el.removeClass("x-window-maximized");this.tools.restore.hide();this.tools.maximize.show();this.setPosition(this.restorePos[0],this.restorePos[1]);this.setSize(this.restoreSize.width,this.restoreSize.height);delete this.restorePos;delete this.restoreSize;this.maximized=false;this.el.enableShadow(true);if(this.dd){this.dd.unlock()}if(this.collapsible){this.tools.toggle.show()}this.container.removeClass("x-window-maximized-ct");this.doConstrain();this.fireEvent("restore",this)}return this},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()},fitContainer:function(){var b=this.container.getViewSize();this.setSize(b.width,b.height)},setZIndex:function(b){if(this.modal){this.mask.setStyle("z-index",b)}this.el.setZIndex(++b);b+=5;if(this.resizer){this.resizer.proxy.setStyle("z-index",++b)}this.lastZIndex=b},alignTo:function(e,g,j){var h=this.el.getAlignToXY(e,g,j);this.setPagePosition(h[0],h[1]);return this},anchorTo:function(l,j,k,g){if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this)}this.doAnchor=function(){this.alignTo(l,j,k)};Ext.EventManager.onWindowResize(this.doAnchor,this);var h=typeof g;if(h!="undefined"){Ext.EventManager.on(window,"scroll",this.doAnchor,this,{buffer:h=="number"?g:50})}this.doAnchor();return this},toFront:function(b){if(this.manager.bringToFront(this)){if(!b||!b.getTarget().focus){this.focus()}}return this},setActive:function(b){if(b){if(!this.maximized){this.el.enableShadow(true)}this.fireEvent("activate",this)}else{this.el.disableShadow();this.fireEvent("deactivate",this)}},toBack:function(){this.manager.sendToBack(this);return this},center:function(){var b=this.el.getAlignToXY(this.container,"c-c");this.setPagePosition(b[0],b[1]);return this}});Ext.reg("window",Ext.Window);Ext.Window.DD=function(b){this.win=b;Ext.Window.DD.superclass.constructor.call(this,b.el.id,"WindowDD-"+b.id);this.setHandleElId(b.header.id);this.scroll=false};Ext.extend(Ext.Window.DD,Ext.dd.DD,{moveOnly:true,headerOffsets:[100,25],startDrag:function(){var e=this.win;this.proxy=e.ghost();if(e.constrain!==false){var g=e.el.shadowOffset;this.constrainTo(e.container,{right:g,left:g,bottom:g})}else{if(e.constrainHeader!==false){var d=this.proxy.getSize();this.constrainTo(e.container,{right:-(d.width-this.headerOffsets[0]),bottom:-(d.height-this.headerOffsets[1])})}}},b4Drag:Ext.emptyFn,onDrag:function(b){this.alignElWithMouse(this.proxy,b.getPageX(),b.getPageY())},endDrag:function(b){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var m={};var o=[];var n=null;var p=function(a,b){return(!a._lastAccess||a._lastAccess<b._lastAccess)?-1:1};var l=function(){var b=o,d=b.length;if(d>0){b.sort(p);var c=b[0].manager.zseed;for(var a=0;a<d;a++){var e=b[a];if(e&&!e.hidden){e.setZIndex(c+(a*10))}}}k()};var j=function(a){if(a!=n){if(n){n.setActive(false)}n=a;if(a){a.setActive(true)}}};var k=function(){for(var a=o.length-1;a>=0;--a){if(!o[a].hidden){j(o[a]);return}}j(null)};return{zseed:9000,register:function(a){m[a.id]=a;o.push(a);a.on("hide",k)},unregister:function(a){delete m[a.id];a.un("hide",k);o.remove(a)},get:function(a){return typeof a=="object"?a:m[a]},bringToFront:function(a){a=this.get(a);if(a!=n){a._lastAccess=new Date().getTime();l();return true}return false},sendToBack:function(a){a=this.get(a);a._lastAccess=-(new Date().getTime());l();return a},hideAll:function(){for(var a in m){if(m[a]&&typeof m[a]!="function"&&m[a].isVisible()){m[a].hide()}}},getActive:function(){return n},getBy:function(b,c){var a=[];for(var d=o.length-1;d>=0;--d){var e=o[d];if(b.call(c||e,e)!==false){a.push(e)}}return a},each:function(b,c){for(var a in m){if(m[a]&&typeof m[a]!="function"){if(b.call(c||m[a],m[a])===false){return}}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.MessageBox=function(){var x,N,B,y;var I,F,z,O,E,C,H,J;var A,w,D,M="";var L=function(a){if(x.isVisible()){x.hide();v();Ext.callback(N.fn,N.scope||window,[a,w.dom.value,N],1)}};var v=function(){if(N&&N.cls){x.el.removeClass(N.cls)}E.reset()};var K=function(a,c,b){if(N&&N.closable!==false){x.hide();v()}if(b){b.stopEvent()}};var G=function(c){var a=0;if(!c){A.ok.hide();A.cancel.hide();A.yes.hide();A.no.hide();return a}x.footer.dom.style.display="";for(var b in A){if(typeof A[b]!="function"){if(c[b]){A[b].show();A[b].setText(typeof c[b]=="string"?c[b]:Ext.MessageBox.buttonText[b]);a+=A[b].el.getWidth()+15}else{A[b].hide()}}}return a};return{getDialog:function(c){if(!x){x=new Ext.Window({autoCreate:true,title:c,resizable:false,constrain:true,constrainHeader:true,minimizable:false,maximizable:false,stateful:false,modal:true,shim:true,buttonAlign:"center",width:400,height:100,minHeight:80,plain:true,footer:true,closable:true,close:function(){if(N&&N.buttons&&N.buttons.no&&!N.buttons.cancel){L("no")}else{L("cancel")}}});A={};var b=this.buttonText;A.ok=x.addButton(b.ok,L.createCallback("ok"));A.yes=x.addButton(b.yes,L.createCallback("yes"));A.no=x.addButton(b.no,L.createCallback("no"));A.cancel=x.addButton(b.cancel,L.createCallback("cancel"));A.ok.hideMode=A.yes.hideMode=A.no.hideMode=A.cancel.hideMode="offsets";x.render(document.body);x.getEl().addClass("x-window-dlg");B=x.mask;I=x.body.createChild({html:'<div class="ext-mb-icon"></div><div class="ext-mb-content"><span class="ext-mb-text"></span><br /><div class="ext-mb-fix-cursor"><input type="text" class="ext-mb-input" /><textarea class="ext-mb-textarea"></textarea></div></div>'});H=Ext.get(I.dom.firstChild);var a=I.dom.childNodes[1];F=Ext.get(a.firstChild);z=Ext.get(a.childNodes[2].firstChild);z.enableDisplayMode();z.addKeyListener([10,13],function(){if(x.isVisible()&&N&&N.buttons){if(N.buttons.ok){L("ok")}else{if(N.buttons.yes){L("yes")}}}});O=Ext.get(a.childNodes[2].childNodes[1]);O.enableDisplayMode();E=new Ext.ProgressBar({renderTo:I});I.createChild({cls:"x-clear"})}return x},updateText:function(d){if(!x.isVisible()&&!N.width){x.setSize(this.maxWidth,100)}F.update(d||"&#160;");var b=M!=""?(H.getWidth()+H.getMargins("lr")):0;var g=F.getWidth()+F.getMargins("lr");var e=x.getFrameWidth("lr");var a=x.body.getFrameWidth("lr");if(Ext.isIE&&b>0){b+=3}var c=Math.max(Math.min(N.width||b+g+e+a,this.maxWidth),Math.max(N.minWidth||this.minWidth,D||0));if(N.prompt===true){w.setWidth(c-b-e-a)}if(N.progress===true||N.wait===true){E.setSize(c-b-e-a)}if(Ext.isIE&&c==D){c+=4}x.setSize(c,"auto").center();return this},updateProgress:function(b,c,a){E.updateProgress(b,c);if(a){this.updateText(a)}return this},isVisible:function(){return x&&x.isVisible()},hide:function(){var a=x?x.activeGhost:null;if(this.isVisible()||a){x.hide();v();if(a){x.unghost(false,false)}}return this},show:function(e){if(this.isVisible()){this.hide()}N=e;var d=this.getDialog(N.title||"&#160;");d.setTitle(N.title||"&#160;");var c=(N.closable!==false&&N.progress!==true&&N.wait!==true);d.tools.close.setDisplayed(c);w=z;N.prompt=N.prompt||(N.multiline?true:false);if(N.prompt){if(N.multiline){z.hide();O.show();O.setHeight(typeof N.multiline=="number"?N.multiline:this.defaultTextHeight);w=O}else{z.show();O.hide()}}else{z.hide();O.hide()}w.dom.value=N.value||"";if(N.prompt){d.focusEl=w}else{var a=N.buttons;var b=null;if(a&&a.ok){b=A.ok}else{if(a&&a.yes){b=A.yes}}if(b){d.focusEl=b}}if(N.iconCls){d.setIconClass(N.iconCls)}this.setIcon(N.icon);if(N.cls){d.el.addClass(N.cls)}d.proxyDrag=N.proxyDrag===true;d.modal=N.modal!==false;d.mask=N.modal!==false?B:false;d.on("show",function(){d.keyMap.setDisabled(c!==true);d.doLayout();this.setIcon(N.icon);D=G(N.buttons);E.setVisible(N.progress===true||N.wait===true);this.updateProgress(0,N.progressText);this.updateText(N.msg);if(N.wait===true){E.wait(N.waitConfig)}},this,{single:true});if(!d.isVisible()){document.body.appendChild(x.el.dom);d.setAnimateTarget(N.animEl);d.show(N.animEl)}return this},setIcon:function(a){if(a&&a!=""){H.removeClass("x-hidden");H.replaceClass(M,a);I.addClass("x-dlg-icon");M=a}else{H.replaceClass(M,"x-hidden");I.removeClass("x-dlg-icon");M=""}return this},progress:function(a,b,c){this.show({title:a,msg:b,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:c});return this},wait:function(a,b,c){this.show({title:b,msg:a,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:c});return this},alert:function(d,a,b,c){this.show({title:d,msg:a,buttons:this.OK,fn:b,scope:c});return this},confirm:function(d,a,b,c){this.show({title:d,msg:a,buttons:this.YESNO,fn:b,scope:c,icon:this.QUESTION});return this},prompt:function(b,e,a,c,d,g){this.show({title:b,msg:e,buttons:this.OKCANCEL,fn:a,minWidth:250,scope:c,prompt:true,multiline:d,value:g});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:110,minProgressWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox;Ext.dd.PanelProxy=function(d,c){this.panel=d;this.id=this.panel.id+"-ddproxy";Ext.apply(this,c)};Ext.dd.PanelProxy.prototype={insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.el.dom.style.display="";this.ghost.remove();delete this.ghost}},show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(undefined,undefined,Ext.getBody());this.ghost.setXY(this.panel.el.getXY());if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer"});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display="none"}},repair:function(d,g,e){this.hide();if(typeof g=="function"){g.call(e||this)}},moveProxy:function(d,c){if(this.proxy){d.insertBefore(this.proxy.dom,c)}}};Ext.Panel.DD=function(d,e){this.panel=d;this.dragData={panel:d};this.proxy=new Ext.dd.PanelProxy(d,e);Ext.Panel.DD.superclass.constructor.call(this,d.el,e);var g=d.header;if(g){this.setHandleElId(g.id)}(g?g:this.panel.body).setStyle("cursor","move");this.scroll=false};Ext.extend(Ext.Panel.DD,Ext.dd.DragSource,{showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(d,c){this.proxy.show()},b4MouseDown:function(d){var e=d.getPageX();var g=d.getPageY();this.autoOffset(e,g)},onInitDrag:function(d,c){this.onStartDrag(d,c);return true},createFrame:Ext.emptyFn,getDragEl:function(b){return this.proxy.ghost.dom},endDrag:function(b){this.proxy.hide();this.panel.saveState()},autoOffset:function(d,c){d-=this.startPageX;c-=this.startPageY;this.setDelta(d,c)}});Ext.state.Provider=function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)};Ext.extend(Ext.state.Provider,Ext.util.Observable,{get:function(c,d){return typeof this.state[c]=="undefined"?d:this.state[c]},clear:function(b){delete this.state[b];this.fireEvent("statechange",this,b,null)},set:function(d,c){this.state[d]=c;this.fireEvent("statechange",this,d,c)},decodeValue:function(v){var m=/^(a|n|d|b|s|o)\:(.*)$/;var t=m.exec(unescape(v));if(!t||!t[1]){return}var q=t[1];var o=t[2];switch(q){case"n":return parseFloat(o);case"d":return new Date(Date.parse(o));case"b":return(o=="1");case"a":var p=[];var n=o.split("^");for(var u=0,s=n.length;u<s;u++){p.push(this.decodeValue(n[u]))}return p;case"o":var p={};var n=o.split("^");for(var u=0,s=n.length;u<s;u++){var r=n[u].split("=");p[r[0]]=this.decodeValue(r[1])}return p;default:return o}},encodeValue:function(n){var h;if(typeof n=="number"){h="n:"+n}else{if(typeof n=="boolean"){h="b:"+(n?"1":"0")}else{if(Ext.isDate(n)){h="d:"+n.toGMTString()}else{if(Ext.isArray(n)){var k="";for(var l=0,j=n.length;l<j;l++){k+=this.encodeValue(n[l]);if(l!=j-1){k+="^"}}h="a:"+k}else{if(typeof n=="object"){var k="";for(var m in n){if(typeof n[m]!="function"&&n[m]!==undefined){k+=m+"="+this.encodeValue(n[m])+"^"}}h="o:"+k.substring(0,k.length-1)}else{h="s:"+n}}}}}return escape(h)}});Ext.state.Manager=function(){var b=new Ext.state.Provider();return{setProvider:function(a){b=a},get:function(d,a){return b.get(d,a)},set:function(a,d){b.set(a,d)},clear:function(a){b.clear(a)},getProvider:function(){return b}}}();Ext.state.CookieProvider=function(b){Ext.state.CookieProvider.superclass.constructor.call(this);this.path="/";this.expires=new Date(new Date().getTime()+(1000*60*60*24*7));this.domain=null;this.secure=false;Ext.apply(this,b);this.state=this.readCookies()};Ext.extend(Ext.state.CookieProvider,Ext.state.Provider,{set:function(d,c){if(typeof c=="undefined"||c===null){this.clear(d);return}this.setCookie(d,c);Ext.state.CookieProvider.superclass.set.call(this,d,c)},clear:function(b){this.clearCookie(b);Ext.state.CookieProvider.superclass.clear.call(this,b)},readCookies:function(){var n={};var k=document.cookie+";";var c=/\s?(.*?)=(.*?);/g;var l;while((l=c.exec(k))!=null){var j=l[1];var m=l[2];if(j&&j.substring(0,3)=="ys-"){n[j.substr(3)]=this.decodeValue(m)}}return n},setCookie:function(d,c){document.cookie="ys-"+d+"="+this.encodeValue(c)+((this.expires==null)?"":("; expires="+this.expires.toGMTString()))+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")},clearCookie:function(b){document.cookie="ys-"+b+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")}});Ext.DataView=Ext.extend(Ext.BoxComponent,{selectedClass:"x-view-selected",emptyText:"",deferEmptyText:true,trackOver:false,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(Ext.isString(this.tpl)||Ext.isArray(this.tpl)){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","containercontextmenu","selectionchange","beforeselect");this.store=Ext.StoreMgr.lookup(this.store);this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.mon(this.getTemplateTarget(),{click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass||this.trackOver){this.mon(this.getTemplateTarget(),{mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this})}if(this.store){this.bindStore(this.store,true)}},refresh:function(){this.clearSelections(false,true);var c=this.getTemplateTarget();c.update("");var d=this.store.getRange();if(d.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){c.update(this.emptyText)}this.all.clear()}else{this.tpl.overwrite(c,this.collectData(d,0));this.all.fill(Ext.query(this.itemSelector,c.dom));this.updateIndexes(0)}this.hasSkippedEmptyText=true},getTemplateTarget:function(){return this.el},prepareData:function(b){return b},collectData:function(g,j){var k=[];for(var l=0,h=g.length;l<h;l++){k[k.length]=this.prepareData(g[l].data,j+l,g[l])}return k},bufferRender:function(d){var c=document.createElement("div");this.tpl.overwrite(c,this.collectData(d));return Ext.query(this.itemSelector,c)},onUpdate:function(k,j){var h=this.store.indexOf(j);var l=this.isSelected(h);var n=this.all.elements[h];var m=this.bufferRender([j],h)[0];this.all.replaceElement(h,m,true);if(l){this.selected.replaceElement(n,m);this.all.item(h).addClass(this.selectedClass)}this.updateIndexes(h,h)},onAdd:function(k,m,l){if(this.all.getCount()===0){this.refresh();return}var n=this.bufferRender(m,l),j,a=this.all.elements;if(l<this.all.getCount()){j=this.all.item(l).insertSibling(n,"before",true);a.splice.apply(a,[l,0].concat(n))}else{j=this.all.last().insertSibling(n,"after",true);a.push.apply(a,n)}this.updateIndexes(l)},onRemove:function(g,e,d){this.deselect(d);this.all.removeElement(d,true);this.updateIndexes(d);if(this.store.getCount()===0){this.refresh()}},refreshNode:function(b){this.onUpdate(this.store,this.store.getAt(b))},updateIndexes:function(h,j){var e=this.all.elements;h=h||0;j=j||((j===0)?0:(e.length-1));for(var g=h;g<=j;g++){e[g].viewIndex=g}},getStore:function(){return this.store},bindStore:function(d,c){if(!c&&this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("datachanged",this.refresh,this);this.store.un("add",this.onAdd,this);this.store.un("remove",this.onRemove,this);this.store.un("update",this.onUpdate,this);this.store.un("clear",this.refresh,this);if(d!==this.store&&this.store.autoDestroy){this.store.destroy()}}if(d){d=Ext.StoreMgr.lookup(d);d.on({scope:this,beforeload:this.onBeforeLoad,datachanged:this.refresh,add:this.onAdd,remove:this.onRemove,update:this.onUpdate,clear:this.refresh})}this.store=d;if(d){this.refresh()}},findItemFromChild:function(b){return Ext.fly(b).findParent(this.itemSelector,this.getTemplateTarget())},onClick:function(g){var d=g.getTarget(this.itemSelector,this.getTemplateTarget());if(d){var e=this.indexOf(d);if(this.onItemClick(d,e,g)!==false){this.fireEvent("click",this,e,d,g)}}else{if(this.fireEvent("containerclick",this,g)!==false){this.onContainerClick(g)}}},onContainerClick:function(b){this.clearSelections()},onContextMenu:function(c){var d=c.getTarget(this.itemSelector,this.getTemplateTarget());if(d){this.fireEvent("contextmenu",this,this.indexOf(d),d,c)}else{this.fireEvent("containercontextmenu",this,c)}},onDblClick:function(c){var d=c.getTarget(this.itemSelector,this.getTemplateTarget());if(d){this.fireEvent("dblclick",this,this.indexOf(d),d,c)}},onMouseOver:function(c){var d=c.getTarget(this.itemSelector,this.getTemplateTarget());if(d&&d!==this.lastItem){this.lastItem=d;Ext.fly(d).addClass(this.overClass);this.fireEvent("mouseenter",this,this.indexOf(d),d,c)}},onMouseOut:function(b){if(this.lastItem){if(!b.within(this.lastItem,true,true)){Ext.fly(this.lastItem).removeClass(this.overClass);this.fireEvent("mouseleave",this,this.indexOf(this.lastItem),this.lastItem,b);delete this.lastItem}}},onItemClick:function(d,e,g){if(this.fireEvent("beforeclick",this,e,d,g)===false){return false}if(this.multiSelect){this.doMultiSelection(d,e,g);g.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(d,e,g);g.preventDefault()}}return true},doSingleSelection:function(d,e,g){if(g.ctrlKey&&this.isSelected(e)){this.deselect(e)}else{this.select(e,false)}},doMultiSelection:function(j,g,h){if(h.shiftKey&&this.last!==false){var e=this.last;this.selectRange(e,g,h.ctrlKey);this.last=e}else{if((h.ctrlKey||this.simpleSelect)&&this.isSelected(g)){this.deselect(g)}else{this.select(g,h.ctrlKey||h.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var e=[],h=this.selected.elements;for(var j=0,g=h.length;j<g;j++){e.push(h[j].viewIndex)}return e},getSelectedRecords:function(){var h=[],j=this.selected.elements;for(var e=0,g=j.length;e<g;e++){h[h.length]=this.store.getAt(j[e].viewIndex)}return h},getRecords:function(g){var j=[],k=g;for(var l=0,h=k.length;l<h;l++){j[j.length]=this.store.getAt(k[l].viewIndex)}return j},getRecord:function(b){return this.store.getAt(b.viewIndex)},clearSelections:function(d,c){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!c){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!d){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(b){return this.selected.contains(this.getNode(b))},deselect:function(b){if(this.isSelected(b)){b=this.getNode(b);this.selected.removeElement(b);if(this.last==b.viewIndex){this.last=false}Ext.fly(b).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(m,k,h){if(Ext.isArray(m)){if(!k){this.clearSelections(true)}for(var n=0,j=m.length;n<j;n++){this.select(m[n],true,true)}if(!h){this.fireEvent("selectionchange",this,this.selected.elements)}}else{var l=this.getNode(m);if(!k){this.clearSelections(true)}if(l&&!this.isSelected(l)){if(this.fireEvent("beforeselect",this,l,this.selected.elements)!==false){Ext.fly(l).addClass(this.selectedClass);this.selected.add(l);this.last=l.viewIndex;if(!h){this.fireEvent("selectionchange",this,this.selected.elements)}}}}},selectRange:function(g,e,d){if(!d){this.clearSelections(true)}this.select(this.getNodes(g,e),true)},getNode:function(b){if(Ext.isString(b)){return document.getElementById(b)}else{if(Ext.isNumber(b)){return this.all.elements[b]}}return b},getNodes:function(j,h){var k=this.all.elements;j=j||0;h=!Ext.isDefined(h)?Math.max(k.length-1,0):h;var g=[],l;if(j<=h){for(l=j;l<=h&&k[l];l++){g.push(k[l])}}else{for(l=j;l>=h&&k[l];l--){g.push(k[l])}}return g},indexOf:function(b){b=this.getNode(b);if(Ext.isNumber(b.viewIndex)){return b.viewIndex}return this.all.indexOf(b)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.getTemplateTarget().update('<div class="loading-indicator">'+this.loadingText+"</div>");this.all.clear()}},onDestroy:function(){Ext.DataView.superclass.onDestroy.call(this);this.bindStore(null)}});Ext.DataView.prototype.setStore=Ext.DataView.prototype.bindStore;Ext.reg("dataview",Ext.DataView);Ext.ListView=Ext.extend(Ext.DataView,{itemSelector:"dl",selectedClass:"x-list-selected",overClass:"x-list-over",scrollOffset:19,columnResize:true,columnSort:true,initComponent:function(){if(this.columnResize){this.colResizer=new Ext.ListView.ColumnResizer(this.colResizer);this.colResizer.init(this)}if(this.columnSort){this.colSorter=new Ext.ListView.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:{width}%;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:{width}%;text-align:{align};"><em unselectable="on">',"{[values.tpl.apply(parent)]}","</em></dt>","</tpl>",'<div class="x-clear"></div>',"</dl>","</tpl>")}var n=this.columns,p=0,o=0,j=n.length;for(var q=0;q<j;q++){var c=n[q];if(!c.tpl){c.tpl=new Ext.XTemplate("{"+c.dataIndex+"}")}else{if(Ext.isString(c.tpl)){c.tpl=new Ext.XTemplate(c.tpl)}}c.align=c.align||"left";if(Ext.isNumber(c.width)){c.width*=100;p+=c.width;o++}}if(o<j){var s=j-o;if(p<100){var t=((100-p)/s);for(var r=0;r<j;r++){var c=n[r];if(!Ext.isNumber(c.width)){c.width=t}}}}Ext.ListView.superclass.initComponent.call(this)},onRender:function(){Ext.ListView.superclass.onRender.apply(this,arguments);this.internalTpl.overwrite(this.el,{columns:this.columns});this.innerBody=Ext.get(this.el.dom.childNodes[1].firstChild);this.innerHd=Ext.get(this.el.dom.firstChild.firstChild);if(this.hideHeaders){this.el.dom.firstChild.style.display="none"}},getTemplateTarget:function(){return this.innerBody},collectData:function(){var b=Ext.ListView.superclass.collectData.apply(this,arguments);return{columns:this.columns,rows:b}},verifyInternalSize:function(){if(this.lastSize){this.onResize(this.lastSize.width,this.lastSize.height)}},onResize:function(h,m){var l=this.innerBody.dom;var k=this.innerHd.dom;if(!l){return}var n=l.parentNode;if(Ext.isNumber(h)){var j=h-this.scrollOffset;if(this.reserveScrollOffset||((n.offsetWidth-n.clientWidth)>10)){l.style.width=j+"px";k.style.width=j+"px"}else{l.style.width=h+"px";k.style.width=h+"px";setTimeout(function(){if((n.offsetWidth-n.clientWidth)>10){l.style.width=j+"px";k.style.width=j+"px"}},10)}}if(Ext.isNumber(m=="number")){n.style.height=(m-k.parentNode.offsetHeight)+"px"}},updateIndexes:function(){Ext.ListView.superclass.updateIndexes.apply(this,arguments);this.verifyInternalSize()},findHeaderIndex:function(k){k=k.dom||k;var h=k.parentNode,l=h.parentNode.childNodes;for(var c=0,j;j=l[c];c++){if(j==h){return c}}return -1},setHdWidths:function(){var j=this.innerHd.dom.getElementsByTagName("div");for(var e=0,h=this.columns,g=h.length;e<g;e++){j[e].style.width=h[e].width+"%"}}});Ext.reg("listview",Ext.ListView);Ext.ListView.ColumnResizer=Ext.extend(Ext.util.Observable,{minPct:0.05,constructor:function(b){Ext.apply(this,b);Ext.ListView.ColumnResizer.superclass.constructor.call(this)},init:function(b){this.view=b;b.on("render",this.initEvents,this)},initEvents:function(b){b.mon(b.innerHd,"mousemove",this.handleHdMove,this);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeStart.createDelegate(this),onStart:this.onStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(b.innerHd);b.on("beforedestroy",this.tracker.destroy,this.tracker)},handleHdMove:function(l,o){var e=5;var k=l.getPageX();var m=l.getTarget("em",3,true);if(m){var n=m.getRegion();var p=m.dom.style;var q=m.dom.parentNode;if(k-n.left<=e&&q!=q.parentNode.firstChild){this.activeHd=Ext.get(q.previousSibling.firstChild);p.cursor=Ext.isWebKit?"e-resize":"col-resize"}else{if(n.right-k<=e&&q!=q.parentNode.lastChild.previousSibling){this.activeHd=m;p.cursor=Ext.isWebKit?"w-resize":"col-resize"}else{delete this.activeHd;p.cursor=""}}}},onBeforeStart:function(b){this.dragHd=this.activeHd;return !!this.dragHd},onStart:function(g){this.view.disableHeaders=true;this.proxy=this.view.el.createChild({cls:"x-list-resizer"});this.proxy.setHeight(this.view.el.getHeight());var e=this.tracker.getXY()[0];var d=this.view.innerHd.getWidth();this.hdX=this.dragHd.getX();this.hdIndex=this.view.findHeaderIndex(this.dragHd);this.proxy.setX(this.hdX);this.proxy.setWidth(e-this.hdX);this.minWidth=d*this.minPct;this.maxWidth=d-(this.minWidth*(this.view.columns.length-1-this.hdIndex))},onDrag:function(c){var d=this.tracker.getXY()[0];this.proxy.setWidth((d-this.hdX).constrain(this.minWidth,this.maxWidth))},onEnd:function(x){var z=this.proxy.getWidth();this.proxy.remove();var A=this.hdIndex;var u=this.view,B=u.columns,y=B.length;var s=this.view.innerHd.getWidth(),C=this.minPct*100;var e=Math.ceil((z*100)/s);var t=B[A].width-e;var v=Math.floor(t/(y-1-A));var w=t-(v*(y-1-A));for(var D=A+1;D<y;D++){var E=B[D].width+v;var F=Math.max(C,E);if(E!=F){w+=E-F}B[D].width=F}B[A].width=e;B[A+1].width+=w;delete this.dragHd;this.view.setHdWidths();this.view.refresh();setTimeout(function(){u.disableHeaders=false},100)}});Ext.ListView.Sorter=Ext.extend(Ext.util.Observable,{sortClasses:["sort-asc","sort-desc"],constructor:function(b){Ext.apply(this,b);Ext.ListView.Sorter.superclass.constructor.call(this)},init:function(b){this.view=b;b.on("render",this.initEvents,this)},initEvents:function(b){b.mon(b.innerHd,"click",this.onHdClick,this);b.innerHd.setStyle("cursor","pointer");b.mon(b.store,"datachanged",this.updateSortState,this);this.updateSortState.defer(10,this,[b.store])},updateSortState:function(p){var m=p.getSortState();if(!m){return}this.sortState=m;var n=this.view.columns,l=-1;for(var o=0,k=n.length;o<k;o++){if(n[o].dataIndex==m.field){l=o;break}}if(l!=-1){var j=m.direction;this.updateSortIcon(l,j)}},updateSortIcon:function(e,g){var h=this.sortClasses;var j=this.view.innerHd.select("em").removeClass(h);j.item(e).addClass(h[g=="DESC"?1:0])},onHdClick:function(g){var d=g.getTarget("em",3);if(d&&!this.view.disableHeaders){var e=this.view.findHeaderIndex(d);this.view.store.sort(this.view.columns[e].dataIndex)}}});Ext.TabPanel=Ext.extend(Ext.Panel,{monitorResize:true,deferredRender:true,tabWidth:120,minTabWidth:30,resizeTabs:false,enableTabScroll:false,scrollIncrement:0,scrollRepeatInterval:400,scrollDuration:0.35,animScroll:true,tabPosition:"top",baseCls:"x-tab-panel",autoTabs:false,autoTabSelector:"div.x-tab",activeTab:null,tabMargin:2,plain:false,wheelIncrement:20,idDelimiter:"__",itemCls:"x-tab-item",elements:"body",headerAsText:false,frame:false,hideBorders:true,initComponent:function(){this.frame=false;Ext.TabPanel.superclass.initComponent.call(this);this.addEvents("beforetabchange","tabchange","contextmenu");this.setLayout(new Ext.layout.CardLayout(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(n,j){Ext.TabPanel.superclass.onRender.call(this,n,j);if(this.plain){var k=this.tabPosition=="top"?"header":"footer";this[k].addClass("x-tab-panel-"+k+"-plain")}var h=this[this.stripTarget];this.stripWrap=h.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});var l=(this.tabPosition=="bottom"?this.stripWrap:null);this.stripSpacer=h.createChild({cls:"x-tab-strip-spacer"},l);this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:"li",cls:"x-tab-edge"});this.strip.createChild({cls:"x-clear"});this.body.addClass("x-tab-panel-body-"+this.tabPosition);if(!this.itemTpl){var m=new Ext.Template('<li class="{cls}" id="{id}"><a class="x-tab-strip-close" onclick="return false;"></a>','<a class="x-tab-right" href="#" onclick="return false;"><em class="x-tab-left">','<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',"</em></a></li>");m.disableFormats=true;m.compile();Ext.TabPanel.prototype.itemTpl=m}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}if(this.activeTab!==undefined){var b=Ext.isObject(this.activeTab)?this.activeTab:this.items.get(this.activeTab);delete this.activeTab;this.setActiveTab(b)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.on("add",this.onAdd,this,{target:this});this.on("remove",this.onRemove,this,{target:this});this.mon(this.strip,"mousedown",this.onStripMouseDown,this);this.mon(this.strip,"contextmenu",this.onStripContextMenu,this);if(this.enableTabScroll){this.mon(this.strip,"mousewheel",this.onWheel,this)}},findTargets:function(g){var d=null;var e=g.getTarget("li",this.strip);if(e){d=this.getComponent(e.id.split(this.idDelimiter)[1]);if(d.disabled){return{close:null,item:null,el:null}}}return{close:g.getTarget(".x-tab-strip-close",this.strip),item:d,el:e}},onStripMouseDown:function(c){if(c.button!==0){return}c.preventDefault();var d=this.findTargets(c);if(d.close){if(d.item.fireEvent("beforeclose",d.item)!==false){d.item.fireEvent("close",d.item);this.remove(d.item)}return}if(d.item&&d.item!=this.activeTab){this.setActiveTab(d.item)}},onStripContextMenu:function(c){c.preventDefault();var d=this.findTargets(c);if(d.item){this.fireEvent("contextmenu",this,d.item,c)}},readTabs:function(m){if(m===true){this.items.each(function(a){this.remove(a)},this)}var n=this.el.query(this.autoTabSelector);for(var h=0,j=n.length;h<j;h++){var l=n[h];var k=l.getAttribute("title");l.removeAttribute("title");this.add({title:k,contentEl:l})}},initTab:function(l,h){var k=this.strip.dom.childNodes[h];var j=this.getTemplateArgs(l);var g=k?this.itemTpl.insertBefore(k,j):this.itemTpl.append(this.strip,j);Ext.fly(g).addClassOnOver("x-tab-strip-over");if(l.tabTip){Ext.fly(g).child("span.x-tab-strip-text",true).qtip=l.tabTip}l.tabEl=g;l.on("disable",this.onItemDisabled,this);l.on("enable",this.onItemEnabled,this);l.on("titlechange",this.onItemTitleChanged,this);l.on("iconchange",this.onItemIconChanged,this);l.on("beforeshow",this.onBeforeShowItem,this)},getTemplateArgs:function(c){var d=c.closable?"x-tab-strip-closable":"";if(c.disabled){d+=" x-item-disabled"}if(c.iconCls){d+=" x-tab-with-icon"}if(c.tabCls){d+=" "+c.tabCls}return{id:this.id+this.idDelimiter+c.getItemId(),text:c.title,cls:d,iconCls:c.iconCls||""}},onAdd:function(g,d,e){this.initTab(d,e);if(this.items.getCount()==1){this.syncSize()}this.delegateUpdates()},onBeforeAdd:function(d){var e=d.events?(this.items.containsKey(d.getItemId())?d:null):this.items.get(d);if(e){this.setActiveTab(d);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var g=d.elements;d.elements=g?g.replace(",header",""):g;d.border=(d.border===true)},onRemove:function(g,d){Ext.destroy(Ext.get(this.getTabEl(d)));this.stack.remove(d);d.un("disable",this.onItemDisabled,this);d.un("enable",this.onItemEnabled,this);d.un("titlechange",this.onItemTitleChanged,this);d.un("iconchange",this.onItemIconChanged,this);d.un("beforeshow",this.onBeforeShowItem,this);if(d==this.activeTab){var e=this.stack.next();if(e){this.setActiveTab(e)}else{if(this.items.getCount()>0){this.setActiveTab(0)}else{this.activeTab=null}}}this.delegateUpdates()},onBeforeShowItem:function(b){if(b!=this.activeTab){this.setActiveTab(b);return false}},onItemDisabled:function(c){var d=this.getTabEl(c);if(d){Ext.fly(d).addClass("x-item-disabled")}this.stack.remove(c)},onItemEnabled:function(c){var d=this.getTabEl(c);if(d){Ext.fly(d).removeClass("x-item-disabled")}},onItemTitleChanged:function(c){var d=this.getTabEl(c);if(d){Ext.fly(d).child("span.x-tab-strip-text",true).innerHTML=c.title}},onItemIconChanged:function(h,g,j){var e=this.getTabEl(h);if(e){Ext.fly(e).child("span.x-tab-strip-text").replaceClass(j,g)}},getTabEl:function(b){return document.getElementById(this.id+this.idDelimiter+this.getComponent(b).getItemId())},onResize:function(){Ext.TabPanel.superclass.onResize.apply(this,arguments);this.delegateUpdates()},beginUpdate:function(){this.suspendUpdates=true},endUpdate:function(){this.suspendUpdates=false;this.delegateUpdates()},hideTabStripItem:function(c){c=this.getComponent(c);var d=this.getTabEl(c);if(d){d.style.display="none";this.delegateUpdates()}this.stack.remove(c)},unhideTabStripItem:function(c){c=this.getComponent(c);var d=this.getTabEl(c);if(d){d.style.display="";this.delegateUpdates()}},delegateUpdates:function(){if(this.suspendUpdates){return}if(this.resizeTabs&&this.rendered){this.autoSizeTabs()}if(this.enableTabScroll&&this.rendered){this.autoScrollTabs()}},autoSizeTabs:function(){var t=this.items.length;var y=this.tabPosition!="bottom"?"header":"footer";var x=this[y].dom.offsetWidth;var z=this[y].dom.clientWidth;if(!this.resizeTabs||t<1||!z){return}var r=Math.max(Math.min(Math.floor((z-4)/t)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=r;var p=this.strip.query("li:not([className^=x-tab-edge])");for(var v=0,s=p.length;v<s;v++){var q=p[v];var o=Ext.fly(q).child(".x-tab-strip-inner",true);var u=q.offsetWidth;var w=o.offsetWidth;o.style.width=(r-(u-w))+"px"}},adjustBodyWidth:function(b){if(this.header){this.header.setWidth(b)}if(this.footer){this.footer.setWidth(b)}return b},setActiveTab:function(g){g=this.getComponent(g);if(!g||this.fireEvent("beforetabchange",this,g,this.activeTab)===false){return}if(!this.rendered){this.activeTab=g;return}if(this.activeTab!=g){if(this.activeTab){var e=this.getTabEl(this.activeTab);if(e){Ext.fly(e).removeClass("x-tab-strip-active")}this.activeTab.fireEvent("deactivate",this.activeTab)}var d=this.getTabEl(g);Ext.fly(d).addClass("x-tab-strip-active");this.activeTab=g;this.stack.add(g);this.layout.setActiveItem(g);if(this.scrolling){this.scrollToTab(g,this.animScroll)}g.fireEvent("activate",g);this.fireEvent("tabchange",this,g)}},getActiveTab:function(){return this.activeTab||null},getItem:function(b){return this.getComponent(b)},autoScrollTabs:function(){this.pos=this.tabPosition=="bottom"?this.footer:this.header;var m=this.items.length;var p=this.pos.dom.offsetWidth;var q=this.pos.dom.clientWidth;var n=this.stripWrap;var o=n.dom;var j=o.offsetWidth;var l=this.getScrollPos();var k=this.edge.getOffsetsTo(this.stripWrap)[0]+l;if(!this.enableTabScroll||m<1||j<20){return}if(k<=q){o.scrollLeft=0;n.setWidth(q);if(this.scrolling){this.scrolling=false;this.pos.removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir||Ext.isWebKit){o.style.marginLeft="";o.style.marginRight=""}}}else{if(!this.scrolling){this.pos.addClass("x-tab-scrolling");if(Ext.isAir||Ext.isWebKit){o.style.marginLeft="18px";o.style.marginRight="18px"}}q-=n.getMargins("lr");n.setWidth(q>20?q:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(l>(k-q)){o.scrollLeft=k-q}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass("x-tab-scrolling-"+this.tabPosition);var g=this.stripWrap.dom.offsetHeight;var e=this.pos.insertFirst({cls:"x-tab-scroller-left"});e.setHeight(g);e.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(e,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=e;var d=this.pos.insertFirst({cls:"x-tab-scroller-right"});d.setHeight(g);d.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(d,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=d},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[0]+this.getScrollPos()},getScrollPos:function(){return parseInt(this.stripWrap.dom.scrollLeft,10)||0},getScrollArea:function(){return parseInt(this.stripWrap.dom.clientWidth,10)||0},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},getScrollIncrement:function(){return this.scrollIncrement||(this.resizeTabs?this.lastTabWidth+2:100)},scrollToTab:function(n,k){if(!n){return}var p=this.getTabEl(n);var l=this.getScrollPos(),o=this.getScrollArea();var m=Ext.fly(p).getOffsetsTo(this.stripWrap)[0]+l;var j=m+p.offsetWidth;if(m<l){this.scrollTo(m,k)}else{if(j>(l+o)){this.scrollTo(j-o,k)}}},scrollTo:function(c,d){this.stripWrap.scrollTo("left",c,d?this.getScrollAnim():false);if(!d){this.updateScrollButtons()}},onWheel:function(l){var k=l.getWheelDelta()*this.wheelIncrement*-1;l.stopEvent();var j=this.getScrollPos();var m=j+k;var e=this.getScrollWidth()-this.getScrollArea();var d=Math.max(0,Math.min(e,m));if(d!=j){this.scrollTo(d,false)}},onScrollRight:function(){var e=this.getScrollWidth()-this.getScrollArea();var g=this.getScrollPos();var d=Math.min(e,g+this.getScrollIncrement());if(d!=g){this.scrollTo(d,this.animScroll)}},onScrollLeft:function(){var c=this.getScrollPos();var d=Math.max(0,c-this.getScrollIncrement());if(d!=c){this.scrollTo(d,this.animScroll)}},updateScrollButtons:function(){var b=this.getScrollPos();this.scrollLeft[b===0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");this.scrollRight[b>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")},beforeDestroy:function(){if(this.items){this.items.each(function(b){if(b&&b.tabEl){Ext.get(b.tabEl).removeAllListeners();b.tabEl=null}},this)}if(this.strip){this.strip.removeAllListeners()}Ext.TabPanel.superclass.beforeDestroy.apply(this)}});Ext.reg("tabpanel",Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var b=[];return{add:function(a){b.push(a);if(b.length>10){b.shift()}},remove:function(g){var h=[];for(var j=0,a=b.length;j<a;j++){if(b[j]!=g){h.push(b[j])}}b=h},next:function(){return b.pop()}}};Ext.Button=Ext.extend(Ext.BoxComponent,{hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",type:"button",menuClassTarget:"tr:nth(2)",clickEvent:"click",handleMouseEvents:true,tooltipType:"qtip",buttonSelector:"button:first-child",scale:"small",iconAlign:"left",arrowAlign:"right",initComponent:function(){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(){var b=(this.cls||"");b+=(this.iconCls||this.icon)?(this.text?" x-btn-text-icon":" x-btn-icon"):" x-btn-noicon";if(this.pressed){b+=" x-btn-pressed"}return[this.text||"&#160;",this.type,this.iconCls||"",b,"x-btn-"+this.scale+" x-btn-icon-"+this.scale+"-"+this.iconAlign,this.getMenuClass()]},getMenuClass:function(){return this.menu?(this.arrowAlign!="bottom"?"x-btn-arrow":"x-btn-arrow-bottom"):""},onRender:function(j,g){if(!this.template){if(!Ext.Button.buttonTemplate){Ext.Button.buttonTemplate=new Ext.Template('<table cellspacing="0" class="x-btn {3}"><tbody class="{4}">','<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="{5}" unselectable="on"><button class="x-btn-text {2}" type="{1}">{0}</button></em></td><td class="x-btn-mr"><i>&#160;</i></td></tr>','<tr><td class="x-btn-bl"><i>&#160;</i></td><td class="x-btn-bc"></td><td class="x-btn-br"><i>&#160;</i></td></tr>',"</tbody></table>");Ext.Button.buttonTemplate.compile()}this.template=Ext.Button.buttonTemplate}var e,h=this.getTemplateArgs();if(g){e=this.template.insertBefore(g,h,true)}else{e=this.template.append(j,h,true)}this.btnEl=e.child(this.buttonSelector);this.mon(this.btnEl,{scope:this,focus:this.onFocus,blur:this.onBlur});this.initButtonEl(e,this.btnEl);Ext.ButtonToggleMgr.register(this)},initButtonEl:function(d,g){this.el=d;if(this.id){this.el.dom.id=this.el.id=this.id}if(this.icon){g.setStyle("background-image","url("+this.icon+")")}if(this.tabIndex!==undefined){g.dom.tabIndex=this.tabIndex}if(this.tooltip){this.setTooltip(this.tooltip,true)}if(this.handleMouseEvents){this.mon(d,{scope:this,mouseover:this.onMouseOver,mousedown:this.onMouseDown})}if(this.menu){this.mon(this.menu,{scope:this,show:this.onMenuShow,hide:this.onMenuHide})}if(this.repeat){var e=new Ext.util.ClickRepeater(d,Ext.isObject(this.repeat)?this.repeat:{});this.mon(e,"click",this.onClick,this)}this.mon(d,this.clickEvent,this.onClick,this)},afterRender:function(){Ext.Button.superclass.afterRender.call(this);this.doAutoWidth()},setIconClass:function(b){if(this.el){this.btnEl.replaceClass(this.iconCls,b)}this.iconCls=b;return this},setTooltip:function(c,d){if(this.rendered){if(!d){this.clearTip()}if(Ext.isObject(c)){Ext.QuickTips.register(Ext.apply({target:this.btnEl.id},c));this.tooltip=c}else{this.btnEl.dom[this.tooltipType]=c}}else{this.tooltip=c}return this},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.QuickTips.unregister(this.btnEl)}},beforeDestroy:function(){if(this.rendered){this.clearTip()}Ext.destroy(this.menu,this.repeater)},onDestroy:function(){var b=Ext.getDoc();b.un("mouseover",this.monitorMouseOver,this);b.un("mouseup",this.onMouseUp,this);if(this.rendered){Ext.ButtonToggleMgr.unregister(this)}},doAutoWidth:function(){if(this.el&&this.text&&this.width===undefined){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var b=this.btnEl;if(b&&b.getWidth()>20){b.clip();b.setWidth(Ext.util.TextMetrics.measure(b,this.text).width+b.getFrameWidth("lr"))}}if(this.minWidth){if(this.el.getWidth()<this.minWidth){this.el.setWidth(this.minWidth)}}}},setHandler:function(c,d){this.handler=c;this.scope=d;return this},setText:function(b){this.text=b;if(this.el){this.el.child("td.x-btn-mc "+this.buttonSelector).update(b)}this.doAutoWidth();return this},getText:function(){return this.text},toggle:function(c,d){c=c===undefined?!this.pressed:!!c;if(c!=this.pressed){this.el[c?"addClass":"removeClass"]("x-btn-pressed");this.pressed=c;if(!d){this.fireEvent("toggle",this,c);if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,c)}}}return this},focus:function(){this.btnEl.focus()},onDisable:function(){this.onDisableChange(true)},onEnable:function(){this.onDisableChange(false)},onDisableChange:function(b){if(this.el){if(!Ext.isIE6||!this.text){this.el[b?"addClass":"removeClass"](this.disabledClass)}this.el.dom.disabled=b}this.disabled=b},showMenu:function(){if(this.rendered&&this.menu){if(this.tooltip){Ext.QuickTips.getQuickTip().cancelShow(this.btnEl)}this.menu.show(this.el,this.menuAlign)}return this},hideMenu:function(){if(this.menu){this.menu.hide()}return this},hasVisibleMenu:function(){return this.menu&&this.menu.isVisible()},onClick:function(b){if(b){b.preventDefault()}if(b.button!==0){return}if(!this.disabled){if(this.enableToggle&&(this.allowDepress!==false||!this.pressed)){this.toggle()}if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("click",this,b);if(this.handler){this.handler.call(this.scope||this,this,b)}}},isMenuTriggerOver:function(c,d){return this.menu&&!d},isMenuTriggerOut:function(c,d){return this.menu&&!d},onMouseOver:function(c){if(!this.disabled){var d=c.within(this.el,true);if(!d){this.el.addClass("x-btn-over");if(!this.monitoringMouseOver){Ext.getDoc().on("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=true}this.fireEvent("mouseover",this,c)}if(this.isMenuTriggerOver(c,d)){this.fireEvent("menutriggerover",this,this.menu,c)}}},monitorMouseOver:function(b){if(b.target!=this.el.dom&&!b.within(this.el)){if(this.monitoringMouseOver){Ext.getDoc().un("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=false}this.onMouseOut(b)}},onMouseOut:function(c){var d=c.within(this.el)&&c.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent("mouseout",this,c);if(this.isMenuTriggerOut(c,d)){this.fireEvent("menutriggerout",this,this.menu,c)}},onFocus:function(b){if(!this.disabled){this.el.addClass("x-btn-focus")}},onBlur:function(b){this.el.removeClass("x-btn-focus")},getClickEl:function(c,d){return this.el},onMouseDown:function(b){if(!this.disabled&&b.button===0){this.getClickEl(b).addClass("x-btn-click");Ext.getDoc().on("mouseup",this.onMouseUp,this)}},onMouseUp:function(b){if(b.button===0){this.getClickEl(b,true).removeClass("x-btn-click");Ext.getDoc().un("mouseup",this.onMouseUp,this)}},onMenuShow:function(b){this.ignoreNextClick=0;this.el.addClass("x-btn-menu-active");this.fireEvent("menushow",this,this.menu)},onMenuHide:function(b){this.el.removeClass("x-btn-menu-active");this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent("menuhide",this,this.menu)},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg("button",Ext.Button);Ext.ButtonToggleMgr=function(){var d={};function c(g,a){if(a){var b=d[g.toggleGroup];for(var k=0,l=b.length;k<l;k++){if(b[k]!=g){b[k].toggle(false)}}}}return{register:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(!a){a=d[b.toggleGroup]=[]}a.push(b);b.on("toggle",c)},unregister:function(b){if(!b.toggleGroup){return}var a=d[b.toggleGroup];if(a){a.remove(b);b.un("toggle",c)}},getPressed:function(a){var b=d[a];if(b){for(var g=0,j=b.length;g<j;g++){if(b[g].pressed===true){return b[g]}}}return null}}}();Ext.SplitButton=Ext.extend(Ext.Button,{arrowSelector:"em",split:true,initComponent:function(){Ext.SplitButton.superclass.initComponent.call(this);this.addEvents("arrowclick")},onRender:function(){Ext.SplitButton.superclass.onRender.apply(this,arguments);if(this.arrowTooltip){this.el.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip}},setArrowHandler:function(c,d){this.arrowHandler=c;this.scope=d},getMenuClass:function(){return"x-btn-split"+(this.arrowAlign=="bottom"?"-bottom":"")},isClickOnArrow:function(b){return this.arrowAlign!="bottom"?b.getPageX()>this.el.child(this.buttonSelector).getRegion().right:b.getPageY()>this.el.child(this.buttonSelector).getRegion().bottom},onClick:function(c,d){c.preventDefault();if(!this.disabled){if(this.isClickOnArrow(c)){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("arrowclick",this,c);if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,c)}}else{if(this.enableToggle){this.toggle()}this.fireEvent("click",this,c);if(this.handler){this.handler.call(this.scope||this,this,c)}}}},isMenuTriggerOver:function(b){return this.menu&&b.target.tagName=="em"},isMenuTriggerOut:function(c,d){return this.menu&&c.target.tagName!="em"}});Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(d){if(d&&this.showText===true){var c="";if(this.prependText){c+=this.prependText}c+=d.text;return c}return undefined},setActiveItem:function(g,e){if(typeof g!="object"){g=this.menu.items.get(g)}if(g){if(!this.rendered){this.text=this.getItemText(g);this.iconCls=g.iconCls}else{var d=this.getItemText(g);if(d){this.setText(d)}this.setIconClass(g.iconCls)}this.activeItem=g;if(!g.checked){g.setChecked(true,true)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!e){this.fireEvent("change",this,g)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){this.addEvents("change");if(this.changeHandler){this.on("change",this.changeHandler,this.scope||this);delete this.changeHandler}this.itemCount=this.items.length;this.menu={cls:"x-cycle-menu",items:[]};var h;for(var e=0,g=this.itemCount;e<g;e++){var j=this.items[e];j.group=j.group||this.id;j.itemIndex=e;j.checkHandler=this.checkHandler;j.scope=this;j.checked=j.checked||false;this.menu.items.push(j);if(j.checked){h=j}}this.setActiveItem(h,true);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this)},checkHandler:function(d,c){if(c){this.setActiveItem(d)}},toggleSelected:function(){this.menu.render();var g,e;for(var d=1;d<this.itemCount;d++){g=(this.activeItem.itemIndex+d)%this.itemCount;e=this.menu.items.itemAt(g);if(!e.disabled){e.setChecked(true);break}}}});Ext.reg("cycle",Ext.CycleButton);Ext.layout.ToolbarLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,triggerWidth:18,lastOverflow:false,noItemsMenuText:'<div class="x-toolbar-no-items">(None)</div>',onLayout:function(r,p){if(!this.leftTr){p.addClass("x-toolbar-layout-ct");p.insertHtml("beforeEnd",'<table cellspacing="0" class="x-toolbar-ct"><tbody><tr><td class="x-toolbar-left" align="left"><table cellspacing="0"><tbody><tr class="x-toolbar-left-row"></tr></tbody></table></td><td class="x-toolbar-right" align="right"><table cellspacing="0" class="x-toolbar-right-ct"><tbody><tr><td><table cellspacing="0"><tbody><tr class="x-toolbar-right-row"></tr></tbody></table></td><td><table cellspacing="0"><tbody><tr class="x-toolbar-extras-row"></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table>');this.leftTr=p.child("tr.x-toolbar-left-row",true);this.rightTr=p.child("tr.x-toolbar-right-row",true);this.extrasTr=p.child("tr.x-toolbar-extras-row",true)}var o=this.leftTr;var c=0;var n=r.items.items;for(var s=0,q=n.length,m;s<q;s++,c++){m=n[s];if(m.isFill){o=this.rightTr;c=-1}else{if(!m.rendered){m.render(this.insertCell(m,o,c))}else{if(!m.xtbHidden&&!this.isValidParent(m,o.childNodes[c])){var t=this.insertCell(m,o,c);t.appendChild(m.getDomPositionEl().dom);m.container=Ext.get(t)}}}}this.cleanup(this.leftTr);this.cleanup(this.rightTr);this.cleanup(this.extrasTr);this.fitToSize(p)},cleanup:function(c){var h=c.childNodes;for(var g=h.length-1,j;g>=0&&(j=h[g]);g--){if(!j.firstChild){c.removeChild(j)}}},insertCell:function(h,g,j){var c=document.createElement("td");c.className="x-toolbar-cell";g.insertBefore(c,g.childNodes[j]||null);return c},hideItem:function(c){var d=(this.hiddens=this.hiddens||[]);d.push(c);c.xtbHidden=true;c.xtbWidth=c.getDomPositionEl().dom.parentNode.offsetWidth;c.hide()},unhideItem:function(b){b.show();b.xtbHidden=false;this.hiddens.remove(b);if(this.hiddens.length<1){delete this.hiddens}},getItemWidth:function(b){return b.hidden?(b.xtbWidth||0):b.getDomPositionEl().dom.parentNode.offsetWidth},fitToSize:function(c){if(this.container.enableOverflow===false){return}var o=c.dom.clientWidth;var w=this.lastWidth||0;this.lastWidth=o;var v=c.dom.firstChild.offsetWidth;var p=o-this.triggerWidth;var q=-1;if(v>o||(this.hiddens&&o>=w)){var u,s=this.container.items.items,t=s.length,r;var x=0;for(u=0;u<t;u++){r=s[u];if(!r.isFill){x+=this.getItemWidth(r);if(x>p){if(!r.xtbHidden){this.hideItem(r)}}else{if(r.xtbHidden){this.unhideItem(r)}}}}}if(this.hiddens){this.initMore();if(!this.lastOverflow){this.container.fireEvent("overflowchange",this.container,true);this.lastOverflow=true}}else{if(this.more){this.clearMenu();this.more.destroy();delete this.more;if(this.lastOverflow){this.container.fireEvent("overflowchange",this.container,false);this.lastOverflow=false}}}},createMenuConfig:function(h,c){var g=Ext.apply({},h.initialConfig),j=h.toggleGroup;Ext.apply(g,{text:h.overflowText||h.text,iconCls:h.iconCls,icon:h.icon,itemId:h.itemId,disabled:h.disabled,handler:h.handler,scope:h.scope,menu:h.menu,hideOnClick:c});if(j||h.enableToggle){Ext.apply(g,{group:j,checked:h.pressed,listeners:{checkchange:function(a,b){h.toggle(b)}}})}delete g.xtype;delete g.id;return g},addComponentToMenu:function(d,c){if(c instanceof Ext.Toolbar.Separator){d.add("-")}else{if(Ext.isFunction(c.isXType)){if(c.isXType("splitbutton")){d.add(this.createMenuConfig(c,true))}else{if(c.isXType("button")){d.add(this.createMenuConfig(c,!c.menu))}else{if(c.isXType("buttongroup")){c.items.each(function(a){this.addComponentToMenu(d,a)},this)}}}}}},clearMenu:function(){var b=this.moreMenu;if(b&&b.items){this.moreMenu.items.each(function(a){delete a.menu})}},beforeMoreShow:function(c){var n=this.container.items.items,h=n.length,l,m,p=function(a,b){return a.isXType("buttongroup")&&!(b instanceof Ext.Toolbar.Separator)};this.clearMenu();c.removeAll();for(var o=0;o<h;o++){l=n[o];if(l.xtbHidden){if(m&&(p(l,m)||p(m,l))){c.add("-")}this.addComponentToMenu(c,l);m=l}}if(c.items.length<1){c.add(this.noItemsMenuText)}},initMore:function(){if(!this.more){this.moreMenu=new Ext.menu.Menu({listeners:{beforeshow:this.beforeMoreShow,scope:this}});this.more=new Ext.Button({iconCls:"x-toolbar-more-icon",cls:"x-toolbar-more",menu:this.moreMenu});var b=this.insertCell(this.more,this.extrasTr,100);this.more.render(b)}},destroy:function(){Ext.destroy(this.more,this.moreMenu);Ext.layout.ToolbarLayout.superclass.destroy.call(this)}});Ext.Container.LAYOUTS.toolbar=Ext.layout.ToolbarLayout;Ext.Toolbar=function(b){if(Ext.isArray(b)){b={items:b,layout:"toolbar"}}else{b=Ext.apply({layout:"toolbar"},b);if(b.buttons){b.items=b.buttons}}Ext.Toolbar.superclass.constructor.call(this,b)};(function(){var b=Ext.Toolbar;Ext.extend(b,Ext.Container,{defaultType:"button",trackMenus:true,internalDefaults:{removeMode:"container",hideParent:true},toolbarCls:"x-toolbar",initComponent:function(){b.superclass.initComponent.call(this);this.addEvents("overflowchange")},onRender:function(d,a){if(!this.el){if(!this.autoCreate){this.autoCreate={cls:this.toolbarCls+" x-small-editor"}}this.el=d.createChild(Ext.apply({id:this.id},this.autoCreate),a)}},lookupComponent:function(a){if(Ext.isString(a)){if(a=="-"){a=new b.Separator()}else{if(a==" "){a=new b.Spacer()}else{if(a=="->"){a=new b.Fill()}else{a=new b.TextItem(a)}}}this.applyDefaults(a)}else{if(a.isFormField||a.render){a=this.constructItem(a)}else{if(a.tag){a=new b.Item({autoEl:a})}else{if(a.tagName){a=new b.Item({el:a})}else{if(Ext.isObject(a)){a=a.xtype?this.constructItem(a):this.constructButton(a)}}}}}return a},applyDefaults:function(c){if(!Ext.isString(c)){c=Ext.Toolbar.superclass.applyDefaults.call(this,c);var a=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,a);Ext.apply(c,a)}else{Ext.applyIf(c,a)}}return c},constructItem:function(d,a){return Ext.create(d,a||this.defaultType)},addSeparator:function(){return this.add(new b.Separator())},addSpacer:function(){return this.add(new b.Spacer())},addFill:function(){this.add(new b.Fill())},addElement:function(a){return this.addItem(new b.Item({el:a}))},addItem:function(a){return Ext.Toolbar.superclass.add.apply(this,arguments)},addButton:function(j){if(Ext.isArray(j)){var g=[];for(var h=0,a=j.length;h<a;h++){g.push(this.addButton(j[h]))}return g}return this.add(this.constructButton(j))},addText:function(a){return this.addItem(new b.TextItem(a))},addDom:function(a){return this.add(new b.Item({autoEl:a}))},addField:function(a){return this.add(a)},insertButton:function(l,h){if(Ext.isArray(h)){var j=[];for(var k=0,a=h.length;k<a;k++){j.push(this.insertButton(l+k,h[k]))}return j}return Ext.Toolbar.superclass.insert.call(this,l,h)},initMenuTracking:function(a){if(this.trackMenus&&a.menu){this.mon(a,{menutriggerover:this.onButtonTriggerOver,menushow:this.onButtonMenuShow,menuhide:this.onButtonMenuHide,scope:this})}},constructButton:function(a){var e=a.events?a:this.constructItem(a,a.split?"splitbutton":this.defaultType);this.initMenuTracking(e);return e},onDisable:function(){this.items.each(function(a){if(a.disable){a.disable()}})},onEnable:function(){this.items.each(function(a){if(a.enable){a.enable()}})},onButtonTriggerOver:function(a){if(this.activeMenuBtn&&this.activeMenuBtn!=a){this.activeMenuBtn.hideMenu();a.showMenu();this.activeMenuBtn=a}},onButtonMenuShow:function(a){this.activeMenuBtn=a},onButtonMenuHide:function(a){delete this.activeMenuBtn}});Ext.reg("toolbar",Ext.Toolbar);b.Item=Ext.extend(Ext.BoxComponent,{hideParent:true,enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbitem",b.Item);b.Separator=Ext.extend(b.Item,{onRender:function(d,a){this.el=d.createChild({tag:"span",cls:"xtb-sep"},a)}});Ext.reg("tbseparator",b.Separator);b.Spacer=Ext.extend(b.Item,{onRender:function(d,a){this.el=d.createChild({tag:"div",cls:"xtb-spacer",style:this.width?"width:"+this.width+"px":""},a)}});Ext.reg("tbspacer",b.Spacer);b.Fill=Ext.extend(b.Item,{render:Ext.emptyFn,isFill:true});Ext.reg("tbfill",b.Fill);b.TextItem=Ext.extend(b.Item,{constructor:function(a){if(Ext.isString(a)){a={autoEl:{cls:"xtb-text",html:a}}}else{a.autoEl={cls:"xtb-text",html:a.text||""}}b.TextItem.superclass.constructor.call(this,a)},setText:function(a){if(this.rendered){this.el.dom.innerHTML=a}else{this.autoEl.html=a}}});Ext.reg("tbtext",b.TextItem);b.Button=Ext.extend(Ext.Button,{});b.SplitButton=Ext.extend(Ext.SplitButton,{});Ext.reg("tbbutton",b.Button);Ext.reg("tbsplit",b.SplitButton)})();Ext.ButtonGroup=Ext.extend(Ext.Panel,{baseCls:"x-btn-group",layout:"table",defaultType:"button",frame:true,internalDefaults:{removeMode:"container",hideParent:true},initComponent:function(){this.layoutConfig=this.layoutConfig||{};Ext.applyIf(this.layoutConfig,{columns:this.columns});if(!this.title){this.addClass("x-btn-group-notitle")}this.on("afterlayout",this.onAfterLayout,this);Ext.ButtonGroup.superclass.initComponent.call(this)},applyDefaults:function(c){c=Ext.ButtonGroup.superclass.applyDefaults.call(this,c);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}return c},onAfterLayout:function(){var b=this.body.getFrameWidth("lr")+this.body.dom.firstChild.offsetWidth;this.body.setWidth(b);this.el.setWidth(b+this.getFrameWidth())}});Ext.reg("buttongroup",Ext.ButtonGroup);(function(){var b=Ext.Toolbar;Ext.PagingToolbar=Ext.extend(Ext.Toolbar,{pageSize:20,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",initComponent:function(){var d=[this.first=new b.Button({tooltip:this.firstText,overflowText:this.firstText,iconCls:"x-tbar-page-first",disabled:true,handler:this.moveFirst,scope:this}),this.prev=new b.Button({tooltip:this.prevText,overflowText:this.prevText,iconCls:"x-tbar-page-prev",disabled:true,handler:this.movePrevious,scope:this}),"-",this.beforePageText,this.inputItem=new Ext.form.NumberField({cls:"x-tbar-page-number",allowDecimals:false,allowNegative:false,enableKeyEvents:true,selectOnFocus:true,listeners:{scope:this,keydown:this.onPagingKeyDown,blur:this.onPagingBlur}}),this.afterTextItem=new b.TextItem({text:String.format(this.afterPageText,1)}),"-",this.next=new b.Button({tooltip:this.nextText,overflowText:this.nextText,iconCls:"x-tbar-page-next",disabled:true,handler:this.moveNext,scope:this}),this.last=new b.Button({tooltip:this.lastText,overflowText:this.lastText,iconCls:"x-tbar-page-last",disabled:true,handler:this.moveLast,scope:this}),"-",this.refresh=new b.Button({tooltip:this.refreshText,overflowText:this.refreshText,iconCls:"x-tbar-loading",handler:this.refresh,scope:this})];var a=this.items||this.buttons||[];if(this.prependButtons){this.items=a.concat(d)}else{this.items=d.concat(a)}delete this.buttons;if(this.displayInfo){this.items.push("->");this.items.push(this.displayItem=new b.TextItem({}))}Ext.PagingToolbar.superclass.initComponent.call(this);this.addEvents("change","beforechange");this.on("afterlayout",this.onFirstLayout,this,{single:true});this.cursor=0;this.bindStore(this.store)},onFirstLayout:function(){if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayItem){var a=this.store.getCount();var d=a==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+a,this.store.getTotalCount());this.displayItem.setText(d)}},onLoad:function(a,n,d){if(!this.rendered){this.dsLoaded=[a,n,d];return}var m=this.getParams();this.cursor=(d.params&&d.params[m.start])?d.params[m.start]:0;var k=this.getPageData(),o=k.activePage,l=k.pages;this.afterTextItem.setText(String.format(this.afterPageText,k.pages));this.inputItem.setValue(o);this.first.setDisabled(o==1);this.prev.setDisabled(o==1);this.next.setDisabled(o==l);this.last.setDisabled(o==l);this.refresh.enable();this.updateInfo();this.fireEvent("change",this,k)},getPageData:function(){var a=this.store.getTotalCount();return{total:a,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:a<this.pageSize?1:Math.ceil(a/this.pageSize)}},changePage:function(a){this.doLoad(((a-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onLoadError:function(){if(!this.rendered){return}this.refresh.enable()},readPage:function(d){var a=this.inputItem.getValue(),g;if(!a||isNaN(g=parseInt(a,10))){this.inputItem.setValue(d.activePage);return false}return g},onPagingFocus:function(){this.inputItem.select()},onPagingBlur:function(a){this.inputItem.setValue(this.getPageData().activePage)},onPagingKeyDown:function(e,k){var m=k.getKey(),d=this.getPageData(),l;if(m==k.RETURN){k.stopEvent();l=this.readPage(d);if(l!==false){l=Math.min(Math.max(1,l),d.pages)-1;this.doLoad(l*this.pageSize)}}else{if(m==k.HOME||m==k.END){k.stopEvent();l=m==k.HOME?1:d.pages;e.setValue(l)}else{if(m==k.UP||m==k.PAGEUP||m==k.DOWN||m==k.PAGEDOWN){k.stopEvent();if((l=this.readPage(d))){var a=k.shiftKey?10:1;if(m==k.DOWN||m==k.PAGEDOWN){a*=-1}l+=a;if(l>=1&l<=d.pages){e.setValue(l)}}}}}},getParams:function(){return this.paramNames||this.store.paramNames},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},doLoad:function(e){var g={},a=this.getParams();g[a.start]=e;g[a.limit]=this.pageSize;if(this.fireEvent("beforechange",this,g)!==false){this.store.load({params:g})}},moveFirst:function(){this.doLoad(0)},movePrevious:function(){this.doLoad(Math.max(0,this.cursor-this.pageSize))},moveNext:function(){this.doLoad(this.cursor+this.pageSize)},moveLast:function(){var d=this.store.getTotalCount(),a=d%this.pageSize;this.doLoad(a?(d-a):d-this.pageSize)},refresh:function(){this.doLoad(this.cursor)},bindStore:function(g,e){var a;if(!e&&this.store){this.store.un("beforeload",this.beforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.onLoadError,this);if(g!==this.store&&this.store.autoDestroy){this.store.destroy()}}if(g){g=Ext.StoreMgr.lookup(g);g.on({scope:this,beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError});a=g.getCount()>0}this.store=g;if(a){this.onLoad(g,null,{})}},unbind:function(a){this.bindStore(null)},bind:function(a){this.bindStore(a)},onDestroy:function(){this.bindStore(null);Ext.PagingToolbar.superclass.onDestroy.call(this)}})})();Ext.reg("paging",Ext.PagingToolbar);Ext.History=(function(){var q,s;var l=false;var r;function p(){var b=top.location.href,a=b.indexOf("#");return a>=0?b.substr(a+1):null}function u(){s.value=r}function o(a){r=a;Ext.History.fireEvent("change",a)}function n(a){var b=['<html><body><div id="state">',a,"</div></body></html>"].join("");try{var c=q.contentWindow.document;c.open();c.write(b);c.close();return true}catch(d){return false}}function t(){if(!q.contentWindow||!q.contentWindow.document){setTimeout(t,10);return}var c=q.contentWindow.document;var a=c.getElementById("state");var b=a?a.innerText:null;var d=p();setInterval(function(){c=q.contentWindow.document;a=c.getElementById("state");var e=a?a.innerText:null;var g=p();if(e!==b){b=e;o(b);top.location.hash=b;d=b;u()}else{if(g!==d){d=g;n(g)}}},50);l=true;Ext.History.fireEvent("ready",Ext.History)}function m(){r=s.value?s.value:p();if(Ext.isIE){t()}else{var a=p();setInterval(function(){var b=p();if(b!==a){a=b;o(a);u()}},50);l=true;Ext.History.fireEvent("ready",Ext.History)}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(a,b){if(l){Ext.callback(a,b,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(a,b)});return}s=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){q=Ext.getDom(Ext.History.iframeId)}this.addEvents("ready","change");if(a){this.on("ready",a,b,{single:true})}m()},add:function(b,a){if(a!==false){if(this.getToken()==b){return true}}if(Ext.isIE){return n(b)}else{top.location.hash=b;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return l?r:p()}}})();Ext.apply(Ext.History,new Ext.util.Observable());Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:"x-tip",floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,closeAction:"hide",initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&&!this.title){this.elements+=",header"}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:"close",handler:this[this.closeAction],scope:this})}},showAt:function(b){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()}if(this.constrainPosition){b=this.el.adjustForConstraints(b)}this.setPagePosition(b[0],b[1])},doAutoWidth:function(){var b=this.body.getTextWidth();if(this.title){b=Math.max(b,this.header.child("span").getTextWidth(this.title))}b+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr");this.setWidth(b.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(d,c){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(d,c||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);this.header.addClass("x-tip-draggable")}});Ext.Tip.DD=function(c,d){Ext.apply(this,d);this.tip=c;Ext.Tip.DD.superclass.constructor.call(this,c.el.id,"WindowDD-"+c.id);this.setHandleElId(c.header.id);this.scroll=false};Ext.extend(Ext.Tip.DD,Ext.dd.DD,{moveOnly:true,scroll:false,headerOffsets:[100,25],startDrag:function(){this.tip.el.disableShadow()},endDrag:function(b){this.tip.el.enableShadow(true)}});Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,constrainPosition:false,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget(this.target);this.origAnchor=this.anchor},onRender:function(c,d){Ext.ToolTip.superclass.onRender.call(this,c,d);this.anchorCls="x-tip-anchor-"+this.getAnchorPosition();this.anchorEl=this.el.createChild({cls:"x-tip-anchor "+this.anchorCls})},afterRender:function(){Ext.ToolTip.superclass.afterRender.call(this);this.anchorEl.setStyle("z-index",this.el.getZIndex()+1)},initTarget:function(c){var d;if((d=Ext.get(c))){if(this.target){this.target=Ext.get(this.target);this.target.un("mouseover",this.onTargetOver,this);this.target.un("mouseout",this.onTargetOut,this);this.target.un("mousemove",this.onMouseMove,this)}this.mon(d,{mouseover:this.onTargetOver,mouseout:this.onTargetOut,mousemove:this.onMouseMove,scope:this});this.target=d}if(this.anchor){this.anchorTarget=this.target}},onMouseMove:function(c){var d=this.delegate?c.getTarget(this.delegate):this.triggerElement=true;if(d){this.targetXY=c.getXY();if(d===this.triggerElement){if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}}else{this.hide();this.lastActive=new Date(0);this.onTargetOver(c)}}else{if(!this.closable&&this.isVisible()){this.hide()}}},getTargetXY:function(){if(this.anchor){this.targetCounter++;var q=this.getOffsets();var k=(this.anchorToTarget&&!this.trackMouse)?this.el.getAlignToXY(this.anchorTarget,this.getAnchorAlign()):this.targetXY;var s=Ext.lib.Dom.getViewWidth()-5;var n=Ext.lib.Dom.getViewHeight()-5;var l=(document.documentElement.scrollLeft||document.body.scrollLeft||0)+5;var m=(document.documentElement.scrollTop||document.body.scrollTop||0)+5;var r=[k[0]+q[0],k[1]+q[1]];var o=this.getSize();this.anchorEl.removeClass(this.anchorCls);if(this.targetCounter<2){if(r[0]<l){if(this.anchorToTarget){this.defaultAlign="l-r";if(this.mouseOffset){this.mouseOffset[0]*=-1}}this.anchor="left";return this.getTargetXY()}if(r[0]+o.width>s){if(this.anchorToTarget){this.defaultAlign="r-l";if(this.mouseOffset){this.mouseOffset[0]*=-1}}this.anchor="right";return this.getTargetXY()}if(r[1]<m){if(this.anchorToTarget){this.defaultAlign="t-b";if(this.mouseOffset){this.mouseOffset[1]*=-1}}this.anchor="top";return this.getTargetXY()}if(r[1]+o.height>n){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 r}else{var p=this.getMouseOffset();return[this.targetXY[0]+p[0],this.targetXY[1]+p[1]]}},getMouseOffset:function(){var b=this.anchor?[0,0]:[15,18];if(this.mouseOffset){b[0]+=this.mouseOffset[0];b[1]+=this.mouseOffset[1]}return b},getAnchorPosition:function(){if(this.anchor){this.tipAnchor=this.anchor.charAt(0)}else{var b=this.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!b){throw"AnchorTip.defaultAlign is invalid"}this.tipAnchor=b[1].charAt(0)}switch(this.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var d,e=this.getAnchorPosition().charAt(0);if(this.anchorToTarget&&!this.trackMouse){switch(e){case"t":d=[0,9];break;case"b":d=[0,-13];break;case"r":d=[-13,0];break;default:d=[9,0];break}}else{switch(e){case"t":d=[-15-this.anchorOffset,30];break;case"b":d=[-19-this.anchorOffset,-13-this.el.dom.offsetHeight];break;case"r":d=[-15-this.el.dom.offsetWidth,-13-this.anchorOffset];break;default:d=[25,-13-this.anchorOffset];break}}var g=this.getMouseOffset();d[0]+=g[0];d[1]+=g[1];return d},onTargetOver:function(c){if(this.disabled||c.within(this.target.dom,true)){return}var d=c.getTarget(this.delegate);if(d){this.triggerElement=d;this.clearTimer("hide");this.targetXY=c.getXY();this.delayShow()}},delayShow:function(){if(this.hidden&&!this.showTimer){if(this.lastActive.getElapsed()<this.quickShowInterval){this.show()}else{this.showTimer=this.show.defer(this.showDelay,this)}}else{if(!this.hidden&&this.autoHide!==false){this.show()}}},onTargetOut:function(b){if(this.disabled||b.within(this.target.dom,true)){return}this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},delayHide:function(){if(!this.hidden&&!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)}},hide:function(){this.clearTimer("dismiss");this.lastActive=new Date();if(this.anchorEl){this.anchorEl.hide()}Ext.ToolTip.superclass.hide.call(this);delete this.triggerElement},show:function(){if(this.anchor){this.showAt([-1000,-1000]);this.origConstrainPosition=this.constrainPosition;this.constrainPosition=false;this.anchor=this.origAnchor}this.showAt(this.getTargetXY());if(this.anchor){this.syncAnchor();this.anchorEl.show();this.constrainPosition=this.origConstrainPosition}else{this.anchorEl.hide()}},showAt:function(b){this.lastActive=new Date();this.clearTimers();Ext.ToolTip.superclass.showAt.call(this,b);if(this.dismissDelay&&this.autoHide!==false){this.dismissTimer=this.hide.defer(this.dismissDelay,this)}},syncAnchor:function(){var e,d,g;switch(this.tipAnchor.charAt(0)){case"t":e="b";d="tl";g=[20+this.anchorOffset,2];break;case"r":e="l";d="tr";g=[-2,11+this.anchorOffset];break;case"b":e="t";d="bl";g=[20+this.anchorOffset,-2];break;default:e="r";d="tl";g=[2,11+this.anchorOffset];break}this.anchorEl.alignTo(this.el,e+"-"+d,g)},setPagePosition:function(d,c){Ext.ToolTip.superclass.setPagePosition.call(this,d,c);if(this.anchor){this.syncAnchor()}},clearTimer:function(b){b=b+"Timer";clearTimeout(this[b]);delete this[b]},clearTimers:function(){this.clearTimer("show");this.clearTimer("dismiss");this.clearTimer("hide")},onShow:function(){Ext.ToolTip.superclass.onShow.call(this);Ext.getDoc().on("mousedown",this.onDocMouseDown,this)},onHide:function(){Ext.ToolTip.superclass.onHide.call(this);Ext.getDoc().un("mousedown",this.onDocMouseDown,this)},onDocMouseDown:function(b){if(this.autoHide!==true&&!this.closable&&!b.within(this.el.dom)){this.disable();this.enable.defer(100,this)}},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(g,h){if(this.contstrainPosition){var j=this.targetXY[1],e=this.getSize().height;if(h<=j&&(h+e)>=j){h=j-e-5}}return{x:g,y:h}},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);Ext.ToolTip.superclass.onDestroy.call(this)}});Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:"ext",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(q){var o=Ext.isArray(q)?q:arguments;for(var p=0,m=o.length;p<m;p++){var j=o[p];var n=j.target;if(n){if(Ext.isArray(n)){for(var r=0,c=n.length;r<c;r++){this.targets[Ext.id(n[r])]=j}}else{this.targets[Ext.id(n)]=j}}}},unregister:function(b){delete this.targets[Ext.id(b)]},cancelShow:function(c){var d=this.activeTarget;c=Ext.get(c).dom;if(this.isVisible()){if(d&&d.el==c){this.hide()}}else{if(d&&d.el==c){this.clearTimer("show")}}},onTargetOver:function(k){if(this.disabled){return}this.targetXY=k.getXY();var o=k.getTarget();if(!o||o.nodeType!==1||o==document||o==document.body){return}if(this.activeTarget&&o==this.activeTarget.el){this.clearTimer("hide");this.show();return}if(o&&this.targets[o.id]){this.activeTarget=this.targets[o.id];this.activeTarget.el=o;this.anchor=this.activeTarget.anchor;if(this.anchor){this.anchorTarget=o}this.delayShow();return}var m,l=Ext.fly(o),e=this.tagConfig;var n=e.namespace;if(this.interceptTitles&&o.title){m=o.title;o.qtip=m;o.removeAttribute("title");k.preventDefault()}else{m=o.qtip||l.getAttribute(e.attribute,n)}if(m){var j=l.getAttribute(e.hide,n);this.activeTarget={el:o,text:m,width:l.getAttribute(e.width,n),autoHide:j!="user"&&j!=="false",title:l.getAttribute(e.title,n),cls:l.getAttribute(e.cls,n),align:l.getAttribute(e.align,n)};this.anchor=l.getAttribute(e.anchor,n);if(this.anchor){this.anchorTarget=o}this.delayShow()}},onTargetOut:function(b){this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},showAt:function(c){var d=this.activeTarget;if(d){if(!this.rendered){this.render(Ext.getBody());this.activeTarget=d}if(d.width){this.setWidth(d.width);this.body.setWidth(this.adjustBodyWidth(d.width-this.getFrameWidth()));this.measureWidth=false}else{this.measureWidth=true}this.setTitle(d.title||"");this.body.update(d.text);this.autoHide=d.autoHide;this.dismissDelay=d.dismissDelay||this.dismissDelay;if(this.lastCls){this.el.removeClass(this.lastCls);delete this.lastCls}if(d.cls){this.el.addClass(d.cls);this.lastCls=d.cls}if(this.anchor){this.constrainPosition=false}else{if(d.align){c=this.el.getAlignToXY(d.el,d.align);this.constrainPosition=false}else{this.constrainPosition=true}}}Ext.QuickTip.superclass.showAt.call(this,c)},hide:function(){delete this.activeTarget;Ext.QuickTip.superclass.hide.call(this)}});Ext.QuickTips=function(){var c,d=[];return{init:function(a){if(!c){if(!Ext.isReady){Ext.onReady(function(){Ext.QuickTips.init(a)});return}c=new Ext.QuickTip({elements:"header,body"});if(a!==false){c.render(Ext.getBody())}}},enable:function(){if(c){d.pop();if(d.length<1){c.enable()}}},disable:function(){if(c){c.disable()}d.push(1)},isEnabled:function(){return c!==undefined&&!c.disabled},getQuickTip:function(){return c},register:function(){c.register.apply(c,arguments)},unregister:function(){c.unregister.apply(c,arguments)},tips:function(){c.register.apply(c,arguments)}}}();Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:"/",initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel){this.eventModel=new Ext.tree.TreeEventModel(this)}var d=this.loader;if(!d){d=new Ext.tree.TreeLoader({dataUrl:this.dataUrl,requestMethod:this.requestMethod})}else{if(typeof d=="object"&&!d.load){d=new Ext.tree.TreeLoader(d)}}this.loader=d;this.nodeHash={};if(this.root){var c=this.root;delete this.root;this.setRootNode(c)}this.addEvents("append","remove","movenode","insert","beforeappend","beforeremove","beforemovenode","beforeinsert","beforeload","load","textchange","beforeexpandnode","beforecollapsenode","expandnode","disabledchange","collapsenode","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered","startdrag","enddrag","dragdrop","beforenodedrop","nodedrop","nodedragover");if(this.singleExpand){this.on("beforeexpandnode",this.restrictExpand,this)}},proxyNodeEvent:function(p,j,k,l,m,n,o){if(p=="collapse"||p=="expand"||p=="beforecollapse"||p=="beforeexpand"||p=="move"||p=="beforemove"){p=p+"node"}return this.fireEvent(p,j,k,l,m,n,o)},getRootNode:function(){return this.root},setRootNode:function(c){Ext.destroy(this.root);if(!c.render){c=this.loader.createNode(c)}this.root=c;c.ownerTree=this;c.isRoot=true;this.registerNode(c);if(!this.rootVisible){var d=c.attributes.uiProvider;c.ui=d?new d(c):new Ext.tree.RootTreeNodeUI(c)}if(this.innerCt){this.innerCt.update("");this.afterRender()}return c},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(b){this.nodeHash[b.id]=b},unregisterNode:function(b){delete this.nodeHash[b.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"},restrictExpand:function(d){var c=d.parentNode;if(c){if(c.expandedChild&&c.expandedChild.parentNode==c){c.expandedChild.collapse()}c.expandedChild=d}},getChecked:function(a,j){j=j||this.root;var h=[];var g=function(){if(this.attributes.checked){h.push(!a?this:(a=="id"?this.id:this.attributes[a]))}};j.cascade(g);return h},getEl:function(){return this.el},getLoader:function(){return this.loader},expandAll:function(){this.root.expand(true)},collapseAll:function(){this.root.collapse(true)},getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.tree.DefaultSelectionModel()}return this.selModel},expandPath:function(m,k,l){k=k||"id";var o=m.split(this.pathSeparator);var p=this.root;if(p.attributes[k]!=o[1]){if(l){l(false,null)}return}var j=1;var n=function(){if(++j==o.length){if(l){l(true,p)}return}var a=p.findChild(k,o[j]);if(!a){if(l){l(false,p)}return}p=a;a.expand(false,false,n)};p.expand(false,false,n)},selectPath:function(l,j,k){j=j||"id";var n=l.split(this.pathSeparator);var h=n.pop();if(n.length>0){var m=function(b,c){if(b&&c){var a=c.findChild(j,h);if(a){a.select();if(k){k(true,a)}}else{if(k){k(false,a)}}}else{if(k){k(false,a)}}};this.expandPath(n.join(this.pathSeparator),j,m)}else{this.root.select();if(k){k(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(c,d){Ext.tree.TreePanel.superclass.onRender.call(this,c,d);this.el.addClass("x-tree");this.innerCt=this.body.createChild({tag:"ul",cls:"x-tree-root-ct "+(this.useArrows?"x-tree-arrows":this.lines?"x-tree-lines":"x-tree-no-lines")})},initEvents:function(){Ext.tree.TreePanel.superclass.initEvents.call(this);if(this.containerScroll){Ext.dd.ScrollManager.register(this.body)}if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true})}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",scroll:this.ddScroll})}this.getSelectionModel().init(this)},afterRender:function(){Ext.tree.TreePanel.superclass.afterRender.call(this);this.root.render();if(!this.rootVisible){this.root.renderChildren()}},onDestroy:function(){if(this.rendered){this.body.removeAllListeners();Ext.dd.ScrollManager.unregister(this.body);if(this.dropZone){this.dropZone.unreg()}if(this.dragZone){this.dragZone.unreg()}}this.root.destroy();this.nodeHash=null;Ext.tree.TreePanel.superclass.onDestroy.call(this)}});Ext.tree.TreePanel.nodeTypes={};Ext.reg("treepanel",Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(b){this.tree=b;this.tree.on("render",this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var b=this.tree.getTreeEl();b.on("click",this.delegateClick,this);if(this.tree.trackMouseOver!==false){this.tree.innerCt.on("mouseover",this.delegateOver,this);this.tree.innerCt.on("mouseout",this.delegateOut,this)}b.on("dblclick",this.delegateDblClick,this);b.on("contextmenu",this.delegateContextMenu,this)},getNode:function(d){var e;if(e=d.getTarget(".x-tree-node-el",10)){var g=Ext.fly(e,"_treeEvents").getAttribute("tree-node-id","ext");if(g){return this.tree.getNodeById(g)}}return null},getNodeTarget:function(c){var d=c.getTarget(".x-tree-node-icon",1);if(!d){d=c.getTarget(".x-tree-node-el",6)}return d},delegateOut:function(d,e){if(!this.beforeEvent(d)){return}if(d.getTarget(".x-tree-ec-icon",1)){var g=this.getNode(d);this.onIconOut(d,g);if(g==this.lastEcOver){delete this.lastEcOver}}if((e=this.getNodeTarget(d))&&!d.within(e,true)){this.onNodeOut(d,this.getNode(d))}},delegateOver:function(c,d){if(!this.beforeEvent(c)){return}if(Ext.isGecko&&!this.trackingDoc){Ext.getBody().on("mouseover",this.trackExit,this);this.trackingDoc=true}if(this.lastEcOver){this.onIconOut(c,this.lastEcOver);delete this.lastEcOver}if(c.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(c);this.onIconOver(c,this.lastEcOver)}if(d=this.getNodeTarget(c)){this.onNodeOver(c,this.getNode(c))}},trackExit:function(b){if(this.lastOverNode&&!b.within(this.lastOverNode.ui.getEl())){this.onNodeOut(b,this.lastOverNode);delete this.lastOverNode;Ext.getBody().un("mouseover",this.trackExit,this);this.trackingDoc=false}},delegateClick:function(c,d){if(!this.beforeEvent(c)){return}if(c.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(c,this.getNode(c))}else{if(c.getTarget(".x-tree-ec-icon",1)){this.onIconClick(c,this.getNode(c))}else{if(this.getNodeTarget(c)){this.onNodeClick(c,this.getNode(c))}}}},delegateDblClick:function(c,d){if(this.beforeEvent(c)&&this.getNodeTarget(c)){this.onNodeDblClick(c,this.getNode(c))}},delegateContextMenu:function(c,d){if(this.beforeEvent(c)&&this.getNodeTarget(c)){this.onNodeContextMenu(c,this.getNode(c))}},onNodeClick:function(c,d){d.ui.onClick(c)},onNodeOver:function(c,d){this.lastOverNode=d;d.ui.onOver(c)},onNodeOut:function(c,d){d.ui.onOut(c)},onIconOver:function(c,d){d.ui.addClass("x-tree-ec-over")},onIconOut:function(c,d){d.ui.removeClass("x-tree-ec-over")},onIconClick:function(c,d){d.ui.ecClick(c)},onCheckboxClick:function(c,d){d.ui.onCheckChange(c)},onNodeDblClick:function(c,d){d.ui.onDblClick(c)},onNodeContextMenu:function(c,d){d.ui.onContextMenu(c)},beforeEvent:function(b){if(this.disabled){b.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=function(b){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,b);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(b){this.tree=b;b.getTreeEl().on("keydown",this.onKeyDown,this);b.on("click",this.onNodeClick,this)},onNodeClick:function(d,c){this.select(d)},select:function(c){var d=this.selNode;if(c==d){c.ui.onSelectedChange(true)}else{if(this.fireEvent("beforeselect",this,c,d)!==false){if(d){d.ui.onSelectedChange(false)}this.selNode=c;c.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,c,d)}}return c},unselect:function(b){if(this.selNode==b){this.clearSelections()}},clearSelections:function(){var b=this.selNode;if(b){b.ui.onSelectedChange(false);this.selNode=null;this.fireEvent("selectionchange",this,null)}return b},getSelectedNode:function(){return this.selNode},isSelected:function(b){return this.selNode==b},selectPrevious:function(){var e=this.selNode||this.lastSelNode;if(!e){return null}var g=e.previousSibling;if(g){if(!g.isExpanded()||g.childNodes.length<1){return this.select(g)}else{var d=g.lastChild;while(d&&d.isExpanded()&&d.childNodes.length>0){d=d.lastChild}return this.select(d)}}else{if(e.parentNode&&(this.tree.rootVisible||!e.parentNode.isRoot)){return this.select(e.parentNode)}}return null},selectNext:function(){var c=this.selNode||this.lastSelNode;if(!c){return null}if(c.firstChild&&c.isExpanded()){return this.select(c.firstChild)}else{if(c.nextSibling){return this.select(c.nextSibling)}else{if(c.parentNode){var d=null;c.parentNode.bubble(function(){if(this.nextSibling){d=this.getOwnerTree().selModel.select(this.nextSibling);return false}});return d}}}return null},onKeyDown:function(j){var e=this.selNode||this.lastSelNode;var h=this;if(!e){return}var g=j.getKey();switch(g){case j.DOWN:j.stopEvent();this.selectNext();break;case j.UP:j.stopEvent();this.selectPrevious();break;case j.RIGHT:j.preventDefault();if(e.hasChildNodes()){if(!e.isExpanded()){e.expand()}else{if(e.firstChild){this.select(e.firstChild,j)}}}break;case j.LEFT:j.preventDefault();if(e.hasChildNodes()&&e.isExpanded()){e.collapse()}else{if(e.parentNode&&(this.tree.rootVisible||e.parentNode!=this.tree.getRootNode())){this.select(e.parentNode,j)}}break}}});Ext.tree.MultiSelectionModel=function(b){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,b);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(b){this.tree=b;b.getTreeEl().on("keydown",this.onKeyDown,this);b.on("click",this.onNodeClick,this)},onNodeClick:function(d,c){if(c.ctrlKey&&this.isSelected(d)){this.unselect(d)}else{this.select(d,c,c.ctrlKey)}},select:function(e,g,d){if(d!==true){this.clearSelections(true)}if(this.isSelected(e)){this.lastSelNode=e;return e}this.selNodes.push(e);this.selMap[e.id]=e;this.lastSelNode=e;e.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return e},unselect:function(d){if(this.selMap[d.id]){d.ui.onSelectedChange(false);var g=this.selNodes;var e=g.indexOf(d);if(e!=-1){this.selNodes.splice(e,1)}delete this.selMap[d.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(e){var h=this.selNodes;if(h.length>0){for(var j=0,g=h.length;j<g;j++){h[j].ui.onSelectedChange(false)}this.selNodes=[];this.selMap={};if(e!==true){this.fireEvent("selectionchange",this,this.selNodes)}}},isSelected:function(b){return this.selMap[b.id]?true:false},getSelectedNodes:function(){return this.selNodes},onKeyDown:Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:Ext.tree.DefaultSelectionModel.prototype.selectPrevious});Ext.data.Tree=function(b){this.nodeHash={};this.root=null;if(b){this.setRootNode(b)}this.addEvents("append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert");Ext.data.Tree.superclass.constructor.call(this)};Ext.extend(Ext.data.Tree,Ext.util.Observable,{pathSeparator:"/",proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments)},getRootNode:function(){return this.root},setRootNode:function(b){this.root=b;b.ownerTree=this;b.isRoot=true;this.registerNode(b);return b},getNodeById:function(b){return this.nodeHash[b]},registerNode:function(b){this.nodeHash[b.id]=b},unregisterNode:function(b){delete this.nodeHash[b.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"}});Ext.data.Node=function(b){this.attributes=b||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,"xnode-");this.attributes.id=this.id}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(e){for(var g=0,a=this.length;g<a;g++){if(this[g]==e){return g}}return -1}}this.parentNode=null;this.firstChild=null;this.lastChild=null;this.previousSibling=null;this.nextSibling=null;this.addEvents({append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true});this.listeners=this.attributes.listeners;Ext.data.Node.superclass.constructor.call(this)};Ext.extend(Ext.data.Node,Ext.util.Observable,{fireEvent:function(c){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false}var d=this.getOwnerTree();if(d){if(d.proxyNodeEvent.apply(d,arguments)===false){return false}}return true},isLeaf:function(){return this.leaf===true},setFirstChild:function(b){this.firstChild=b},setLastChild:function(b){this.lastChild=b},isLast:function(){return(!this.parentNode?true:this.parentNode.lastChild==this)},isFirst:function(){return(!this.parentNode?true:this.parentNode.firstChild==this)},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(n){var m=false;if(Ext.isArray(n)){m=n}else{if(arguments.length>1){m=arguments}}if(m){for(var o=0,k=m.length;o<k;o++){this.appendChild(m[o])}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,n)===false){return false}var j=this.childNodes.length;var p=n.parentNode;if(p){if(n.fireEvent("beforemove",n.getOwnerTree(),n,p,this,j)===false){return false}p.removeChild(n)}j=this.childNodes.length;if(j===0){this.setFirstChild(n)}this.childNodes.push(n);n.parentNode=this;var l=this.childNodes[j-1];if(l){n.previousSibling=l;l.nextSibling=n}else{n.previousSibling=null}n.nextSibling=null;this.setLastChild(n);n.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,n,j);if(p){n.fireEvent("move",this.ownerTree,n,p,this,j)}return n}},removeChild:function(c){var d=this.childNodes.indexOf(c);if(d==-1){return false}if(this.fireEvent("beforeremove",this.ownerTree,this,c)===false){return false}this.childNodes.splice(d,1);if(c.previousSibling){c.previousSibling.nextSibling=c.nextSibling}if(c.nextSibling){c.nextSibling.previousSibling=c.previousSibling}if(this.firstChild==c){this.setFirstChild(c.nextSibling)}if(this.lastChild==c){this.setLastChild(c.previousSibling)}c.setOwnerTree(null);c.parentNode=null;c.previousSibling=null;c.nextSibling=null;this.fireEvent("remove",this.ownerTree,this,c);return c},insertBefore:function(m,j){if(!j){return this.appendChild(m)}if(m==j){return false}if(this.fireEvent("beforeinsert",this.ownerTree,this,m,j)===false){return false}var h=this.childNodes.indexOf(j);var n=m.parentNode;var l=h;if(n==this&&this.childNodes.indexOf(m)<h){l--}if(n){if(m.fireEvent("beforemove",m.getOwnerTree(),m,n,this,h,j)===false){return false}n.removeChild(m)}if(l===0){this.setFirstChild(m)}this.childNodes.splice(l,0,m);m.parentNode=this;var k=this.childNodes[l-1];if(k){m.previousSibling=k;k.nextSibling=m}else{m.previousSibling=null}m.nextSibling=j;j.previousSibling=m;m.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,m,j);if(n){m.fireEvent("move",this.ownerTree,m,n,this,l,j)}return m},remove:function(){this.parentNode.removeChild(this);return this},item:function(b){return this.childNodes[b]},replaceChild:function(e,g){var d=g?g.nextSibling:null;this.removeChild(g);this.insertBefore(e,d);return g},indexOf:function(b){return this.childNodes.indexOf(b)},getOwnerTree:function(){if(!this.ownerTree){var b=this;while(b){if(b.ownerTree){this.ownerTree=b.ownerTree;break}b=b.parentNode}}return this.ownerTree},getDepth:function(){var c=0;var d=this;while(d.parentNode){++c;d=d.parentNode}return c},setOwnerTree:function(e){if(e!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)}this.ownerTree=e;var h=this.childNodes;for(var j=0,g=h.length;j<g;j++){h[j].setOwnerTree(e)}if(e){e.registerNode(this)}}},setId:function(c){if(c!==this.id){var d=this.ownerTree;if(d){d.unregisterNode(this)}this.id=c;if(d){d.registerNode(this)}this.onIdChange(c)}},onIdChange:Ext.emptyFn,getPath:function(j){j=j||"id";var g=this.parentNode;var b=[this.attributes[j]];while(g){b.unshift(g.attributes[j]);g=g.parentNode}var h=this.getOwnerTree().pathSeparator;return h+b.join(h)},bubble:function(j,e,g){var h=this;while(h){if(j.apply(e||h,g||[h])===false){break}h=h.parentNode}},cascade:function(k,l,h){if(k.apply(l||this,h||[this])!==false){var m=this.childNodes;for(var n=0,j=m.length;n<j;n++){m[n].cascade(k,l,h)}}},eachChild:function(k,l,h){var m=this.childNodes;for(var n=0,j=m.length;n<j;n++){if(k.apply(l||this,h||[m[n]])===false){break}}},findChild:function(k,j){var l=this.childNodes;for(var g=0,h=l.length;g<h;g++){if(l[g].attributes[k]==j){return l[g]}}return null},findChildBy:function(j,k){var l=this.childNodes;for(var g=0,h=l.length;g<h;g++){if(j.call(k||l[g],l[g])===true){return l[g]}}return null},sort:function(n,o){var p=this.childNodes;var k=p.length;if(k>0){var m=o?function(){n.apply(o,arguments)}:n;p.sort(m);for(var j=0;j<k;j++){var l=p[j];l.previousSibling=p[j-1];l.nextSibling=p[j+1];if(j===0){this.setFirstChild(l)}if(j==k-1){this.setLastChild(l)}}}},contains:function(b){return b.isAncestor(this)},isAncestor:function(d){var c=this.parentNode;while(c){if(c==d){return true}c=c.parentNode}return false},toString:function(){return"[Node"+(this.id?" "+this.id:"")+"]"}});Ext.tree.TreeNode=function(d){d=d||{};if(typeof d=="string"){d={text:d}}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,d);this.expanded=d.expanded===true;this.isTarget=d.isTarget!==false;this.draggable=d.draggable!==false&&d.allowDrag!==false;this.allowChildren=d.allowChildren!==false&&d.allowDrop!==false;this.text=d.text;this.disabled=d.disabled===true;this.hidden=d.hidden===true;this.addEvents("textchange","beforeexpand","beforecollapse","expand","disabledchange","collapse","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered");var c=this.attributes.uiProvider||this.defaultUI||Ext.tree.TreeNodeUI;this.ui=new c(this)};Ext.extend(Ext.tree.TreeNode,Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded},getUI:function(){return this.ui},getLoader:function(){var b;return this.loader||((b=this.getOwnerTree())&&b.loader?b.loader:new Ext.tree.TreeLoader())},setFirstChild:function(d){var c=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,d);if(this.childrenRendered&&c&&d!=c){c.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},setLastChild:function(c){var d=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,c);if(this.childrenRendered&&d&&c!=d){d.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},appendChild:function(c){if(!c.render&&!Ext.isArray(c)){c=this.getLoader().createNode(c)}var d=Ext.tree.TreeNode.superclass.appendChild.call(this,c);if(d&&this.childrenRendered){d.render()}this.ui.updateExpandIcon();return d},removeChild:function(b){this.ownerTree.getSelectionModel().unselect(b);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(this.childrenRendered){b.ui.remove()}if(this.childNodes.length<1){this.collapse(false,false)}else{this.ui.updateExpandIcon()}if(!this.firstChild&&!this.isHiddenRoot()){this.childrenRendered=false}return b},insertBefore:function(g,e){if(!g.render){g=this.getLoader().createNode(g)}var d=Ext.tree.TreeNode.superclass.insertBefore.call(this,g,e);if(d&&e&&this.childrenRendered){g.render()}this.ui.updateExpandIcon();return d},setText:function(c){var d=this.text;this.text=c;this.attributes.text=c;if(this.rendered){this.ui.onTextChange(this,c,d)}this.fireEvent("textchange",this,c,d)},select:function(){this.getOwnerTree().getSelectionModel().select(this)},unselect:function(){this.getOwnerTree().getSelectionModel().unselect(this)},isSelected:function(){return this.getOwnerTree().getSelectionModel().isSelected(this)},expand:function(g,j,h,e){if(!this.expanded){if(this.fireEvent("beforeexpand",this,g,j)===false){return}if(!this.childrenRendered){this.renderChildren()}this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&j!==false)||j){this.ui.animExpand(function(){this.fireEvent("expand",this);this.runCallback(h,e||this,[this]);if(g===true){this.expandChildNodes(true)}}.createDelegate(this));return}else{this.ui.expand();this.fireEvent("expand",this);this.runCallback(h,e||this,[this])}}else{this.runCallback(h,e||this,[this])}if(g===true){this.expandChildNodes(true)}},runCallback:function(e,g,d){if(Ext.isFunction(e)){e.apply(g,d)}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible},collapse:function(j,m,l,n){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,j,m)===false){return}this.expanded=false;if((this.getOwnerTree().animate&&m!==false)||m){this.ui.animCollapse(function(){this.fireEvent("collapse",this);this.runCallback(l,n||this,[this]);if(j===true){this.collapseChildNodes(true)}}.createDelegate(this));return}else{this.ui.collapse();this.fireEvent("collapse",this);this.runCallback(l,n||this,[this])}}else{if(!this.expanded){this.runCallback(l,n||this,[this])}}if(j===true){var o=this.childNodes;for(var p=0,k=o.length;p<k;p++){o[p].collapse(true,false)}}},delayedExpand:function(b){if(!this.expandProcId){this.expandProcId=this.expand.defer(b,this)}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId)}this.expandProcId=false},toggle:function(){if(this.expanded){this.collapse()}else{this.expand()}},ensureVisible:function(g,d){var e=this.getOwnerTree();e.expandPath(this.parentNode?this.parentNode.getPath():this.getPath(),false,function(){var a=e.getNodeById(this.id);e.getTreeEl().scrollChildIntoView(a.ui.anchor);this.runCallback(g,d||this,[this])}.createDelegate(this))},expandChildNodes:function(e){var h=this.childNodes;for(var j=0,g=h.length;j<g;j++){h[j].expand(e)}},collapseChildNodes:function(e){var h=this.childNodes;for(var j=0,g=h.length;j<g;j++){h[j].collapse(e)}},disable:function(){this.disabled=true;this.unselect();if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,true)}this.fireEvent("disabledchange",this,true)},enable:function(){this.disabled=false;if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,false)}this.fireEvent("disabledchange",this,false)},renderChildren:function(e){if(e!==false){this.fireEvent("beforechildrenrendered",this)}var h=this.childNodes;for(var j=0,g=h.length;j<g;j++){h[j].render(true)}this.childrenRendered=true},sort:function(j,k){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var l=this.childNodes;for(var g=0,h=l.length;g<h;g++){l[g].render(true)}}},render:function(b){this.ui.render(b);if(!this.rendered){this.getOwnerTree().registerNode(this);this.rendered=true;if(this.expanded){this.expanded=false;this.expand(false,false)}}},renderIndent:function(g,j){if(j){this.ui.childIndent=null}this.ui.renderIndent();if(g===true&&this.childrenRendered){var k=this.childNodes;for(var l=0,h=k.length;l<h;l++){k[l].renderIndent(true,j)}}},beginUpdate:function(){this.childrenRendered=false},endUpdate:function(){if(this.expanded&&this.rendered){this.renderChildren()}},destroy:function(){if(this.childNodes){for(var c=0,d=this.childNodes.length;c<d;c++){this.childNodes[c].destroy()}this.childNodes=null}if(this.ui.destroy){this.ui.destroy()}},onIdChange:function(b){this.ui.onIdChange(b)}});Ext.tree.TreePanel.nodeTypes.node=Ext.tree.TreeNode;Ext.tree.AsyncTreeNode=function(b){this.loaded=b&&b.loaded===true;this.loading=false;Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);this.addEvents("beforeload","load")};Ext.extend(Ext.tree.AsyncTreeNode,Ext.tree.TreeNode,{expand:function(j,n,l,p){if(this.loading){var m;var o=function(){if(!this.loading){clearInterval(m);this.expand(j,n,l,p)}}.createDelegate(this);m=setInterval(o,200);return}if(!this.loaded){if(this.fireEvent("beforeload",this)===false){return}this.loading=true;this.ui.beforeLoad(this);var k=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(k){k.load(this,this.loadComplete.createDelegate(this,[j,n,l,p]),this);return}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,j,n,l,p)},isLoading:function(){return this.loading},loadComplete:function(g,j,h,e){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(g,j,h,e)},isLoaded:function(){return this.loaded},hasChildNodes:function(){if(!this.isLeaf()&&!this.loaded){return true}else{return Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this)}},reload:function(c,d){this.collapse(false,false);while(this.firstChild){this.removeChild(this.firstChild).destroy()}this.childrenRendered=false;this.loaded=false;if(this.isHiddenRoot()){this.expanded=false}this.expand(false,false,c,d)}});Ext.tree.TreePanel.nodeTypes.async=Ext.tree.AsyncTreeNode;Ext.tree.TreeNodeUI=function(b){this.node=b;this.rendered=false;this.animating=false;this.wasLeaf=true;this.ecc="x-tree-ec-icon x-tree-elbow";this.emptyIcon=Ext.BLANK_IMAGE_URL};Ext.tree.TreeNodeUI.prototype={removeChild:function(b){if(this.rendered){this.ctNode.removeChild(b.ui.getEl())}},beforeLoad:function(){this.addClass("x-tree-node-loading")},afterLoad:function(){this.removeClass("x-tree-node-loading")},onTextChange:function(d,g,e){if(this.rendered){this.textNode.innerHTML=g}},onDisableChange:function(d,c){this.disabled=c;if(this.checkbox){this.checkbox.disabled=c}if(c){this.addClass("x-tree-node-disabled")}else{this.removeClass("x-tree-node-disabled")}},onSelectedChange:function(b){if(b){this.focus();this.addClass("x-tree-selected")}else{this.removeClass("x-tree-selected")}},onMove:function(k,m,o,n,p,j){this.childIndent=null;if(this.rendered){var l=n.ui.getContainer();if(!l){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return}var q=j?j.ui.getEl():null;if(q){l.insertBefore(this.wrap,q)}else{l.appendChild(this.wrap)}this.node.renderIndent(true,o!=n)}},addClass:function(b){if(this.elNode){Ext.fly(this.elNode).addClass(b)}},removeClass:function(b){if(this.elNode){Ext.fly(this.elNode).removeClass(b)}},remove:function(){if(this.rendered){this.holder=document.createElement("div");this.holder.appendChild(this.wrap)}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments)},initEvents:function(){this.node.on("move",this.onMove,this);if(this.node.disabled){this.addClass("x-tree-node-disabled");if(this.checkbox){this.checkbox.disabled=true}}if(this.node.hidden){this.hide()}var c=this.node.getOwnerTree();var d=c.enableDD||c.enableDrag||c.enableDrop;if(d&&(!this.node.isRoot||c.rootVisible)){Ext.dd.Registry.register(this.elNode,{node:this.node,handles:this.getDDHandles(),isHandle:false})}},getDDHandles:function(){return[this.iconNode,this.textNode,this.elNode]},hide:function(){this.node.hidden=true;if(this.wrap){this.wrap.style.display="none"}},show:function(){this.node.hidden=false;if(this.wrap){this.wrap.style.display=""}},onContextMenu:function(b){if(this.node.hasListener("contextmenu")||this.node.getOwnerTree().hasListener("contextmenu")){b.preventDefault();this.focus();this.fireEvent("contextmenu",this.node,b)}},onClick:function(d){if(this.dropping){d.stopEvent();return}if(this.fireEvent("beforeclick",this.node,d)!==false){var a=d.getTarget("a");if(!this.disabled&&this.node.attributes.href&&a){this.fireEvent("click",this.node,d);return}else{if(a&&d.ctrlKey){d.stopEvent()}}d.preventDefault();if(this.disabled){return}if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("click",this.node,d)}else{d.stopEvent()}},onDblClick:function(b){b.preventDefault();if(this.disabled){return}if(this.checkbox){this.toggleCheck()}if(!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("dblclick",this.node,b)},onOver:function(b){this.addClass("x-tree-node-over")},onOut:function(b){this.removeClass("x-tree-node-over")},onCheckChange:function(){var b=this.checkbox.checked;this.checkbox.defaultChecked=b;this.node.attributes.checked=b;this.fireEvent("checkchange",this.node,b)},ecClick:function(b){if(!this.animating&&this.node.isExpandable()){this.node.toggle()}},startDrop:function(){this.dropping=true},endDrop:function(){setTimeout(function(){this.dropping=false}.createDelegate(this),50)},expand:function(){this.updateExpandIcon();this.ctNode.style.display=""},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus()}catch(g){}}else{try{var d=this.node.getOwnerTree().getTreeEl().dom;var e=d.scrollLeft;this.anchor.focus();d.scrollLeft=e}catch(g){}}},toggleCheck:function(c){var d=this.checkbox;if(d){d.checked=(c===undefined?!d.checked:c);this.onCheckChange()}},blur:function(){try{this.anchor.blur()}catch(b){}},animExpand:function(c){var d=Ext.get(this.ctNode);d.stopFx();if(!this.node.isExpandable()){this.updateExpandIcon();this.ctNode.style.display="";Ext.callback(c);return}this.animating=true;this.updateExpandIcon();d.slideIn("t",{callback:function(){this.animating=false;Ext.callback(c)},scope:this,duration:this.node.ownerTree.duration||0.25})},highlight:function(){var b=this.node.getOwnerTree();Ext.fly(this.wrap).highlight(b.hlColor||"C3DAF9",{endColor:b.hlBaseColor})},collapse:function(){this.updateExpandIcon();this.ctNode.style.display="none"},animCollapse:function(c){var d=Ext.get(this.ctNode);d.enableDisplayMode("block");d.stopFx();this.animating=true;this.updateExpandIcon();d.slideOut("t",{callback:function(){this.animating=false;Ext.callback(c)},scope:this,duration:this.node.ownerTree.duration||0.25})},getContainer:function(){return this.ctNode},getEl:function(){return this.wrap},appendDDGhost:function(b){b.appendChild(this.elNode.cloneNode(true))},getDDRepairXY:function(){return Ext.lib.Dom.getXY(this.iconNode)},onRender:function(){this.render()},render:function(j){var g=this.node,a=g.attributes;var h=g.parentNode?g.parentNode.ui.getContainer():g.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(g,a,h,j);if(a.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",a.qtip);if(a.qtipTitle){this.textNode.setAttributeNS("ext","qtitle",a.qtipTitle)}}else{this.textNode.setAttribute("ext:qtip",a.qtip);if(a.qtipTitle){this.textNode.setAttribute("ext:qtitle",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(j===true){h.appendChild(this.wrap)}}},renderElements:function(r,m,n,a){this.indentMarkup=r.parentNode?r.parentNode.ui.getChildIndent():"";var q=typeof m.checked=="boolean";var t=m.href?m.href:Ext.isGecko?"":"#";var s=['<li class="x-tree-node"><div ext:tree-node-id="',r.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',m.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img src="',m.icon||this.emptyIcon,'" class="x-tree-node-icon',(m.icon?" x-tree-node-inline-icon":""),(m.iconCls?" "+m.iconCls:""),'" unselectable="on" />',q?('<input class="x-tree-node-cb" type="checkbox" '+(m.checked?'checked="checked" />':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',t,'" tabIndex="1" ',m.hrefTarget?' target="'+m.hrefTarget+'"':"",'><span unselectable="on">',r.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");var u;if(a!==true&&r.nextSibling&&(u=r.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",u,s)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",n,s)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var o=this.elNode.childNodes;this.indentNode=o[0];this.ecNode=o[1];this.iconNode=o[2];var p=3;if(q){this.checkbox=o[3];this.checkbox.defaultChecked=this.checkbox.checked;p++}this.anchor=o[p];this.textNode=o[p].firstChild},getAnchor:function(){return this.anchor},getTextEl:function(){return this.textNode},getIconEl:function(){return this.iconNode},isChecked:function(){return this.checkbox?this.checkbox.checked:false},updateExpandIcon:function(){if(this.rendered){var k=this.node,m,n;var j=k.isLast()?"x-tree-elbow-end":"x-tree-elbow";var l=k.hasChildNodes();if(l||k.attributes.expandable){if(k.expanded){j+="-minus";m="x-tree-node-collapsed";n="x-tree-node-expanded"}else{j+="-plus";m="x-tree-node-expanded";n="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=m||this.c2!=n){Ext.fly(this.elNode).replaceClass(m,n);this.c1=m;this.c2=n}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-leaf");delete this.c1;delete this.c2;this.wasLeaf=true}}var h="x-tree-ec-icon "+j;if(this.ecc!=h){this.ecNode.className=h;this.ecc=h}}},onIdChange:function(b){if(this.rendered){this.elNode.setAttribute("ext:tree-node-id",b)}},getChildIndent:function(){if(!this.childIndent){var d=[];var c=this.node;while(c){if(!c.isRoot||(c.isRoot&&c.ownerTree.rootVisible)){if(!c.isLast()){d.unshift('<img src="'+this.emptyIcon+'" class="x-tree-elbow-line" />')}else{d.unshift('<img src="'+this.emptyIcon+'" class="x-tree-icon" />')}}c=c.parentNode}this.childIndent=d.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var d="";var c=this.node.parentNode;if(c){d=c.ui.getChildIndent()}if(this.indentMarkup!=d){this.indentNode.innerHTML=d;this.indentMarkup=d}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}delete this.elNode;delete this.ctNode;delete this.indentNode;delete this.ecNode;delete this.iconNode;delete this.checkbox;delete this.anchor;delete this.textNode;if(this.holder){delete this.wrap;Ext.removeNode(this.holder);delete this.holder}else{Ext.removeNode(this.wrap);delete this.wrap}}};Ext.tree.RootTreeNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var b=this.node.ownerTree.innerCt.dom;this.node.expanded=true;b.innerHTML='<div class="x-tree-root-node"></div>';this.wrap=this.ctNode=b.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.TreeLoader=function(b){this.baseParams={};Ext.apply(this,b);this.addEvents("beforeload","load","loadexception");Ext.tree.TreeLoader.superclass.constructor.call(this);if(typeof this.paramOrder=="string"){this.paramOrder=this.paramOrder.split(/[\s,|]/)}};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,paramOrder:undefined,paramsAsHash:false,directFn:undefined,load:function(d,g,e){if(this.clearOnLoad){while(d.firstChild){d.removeChild(d.firstChild)}}if(this.doPreload(d)){this.runCallback(g,e||d,[])}else{if(this.directFn||this.dataUrl||this.url){this.requestData(d,g,e||d)}}},doPreload:function(k){if(k.attributes.children){if(k.childNodes.length<1){var l=k.attributes.children;k.beginUpdate();for(var g=0,h=l.length;g<h;g++){var j=k.appendChild(this.createNode(l[g]));if(this.preloadChildren){this.doPreload(j)}}k.endUpdate()}return true}return false},getParams:function(k){var h=[],l=this.baseParams;if(this.directFn){h.push(k.id);if(l){if(this.paramOrder){for(var m=0,j=this.paramOrder.length;m<j;m++){h.push(l[this.paramOrder[m]])}}else{if(this.paramsAsHash){h.push(l)}}}return h}else{for(var n in l){if(!Ext.isFunction(l[n])){h.push(encodeURIComponent(n),"=",encodeURIComponent(l[n]),"&")}}h.push("node=",encodeURIComponent(k.id));return h.join("")}},requestData:function(j,h,e){if(this.fireEvent("beforeload",this,j,h)!==false){if(this.directFn){var g=this.getParams(j);g.push(this.processDirectResponse.createDelegate(this,[{callback:h,node:j,scope:e}],true));this.directFn.apply(window,g)}else{this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:h,node:j,scope:e},params:this.getParams(j)})}}else{this.runCallback(h,e||j,[])}},processDirectResponse:function(e,d,g){if(d.status){this.handleResponse({responseData:Ext.isArray(e)?e:null,responseText:e,argument:g})}else{this.handleFailure({argument:g})}},runCallback:function(e,g,d){if(Ext.isFunction(e)){e.apply(g,d)}},isLoading:function(){return !!this.transId},abort:function(){if(this.isLoading()){Ext.Ajax.abort(this.transId)}},createNode:function(attr){if(this.baseAttrs){Ext.applyIf(attr,this.baseAttrs)}if(this.applyLoader!==false){attr.loader=this}if(typeof attr.uiProvider=="string"){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(s,t,o,n){var e=s.responseText;try{var v=s.responseData||Ext.decode(e);t.beginUpdate();for(var r=0,q=v.length;r<q;r++){var u=this.createNode(v[r]);if(u){t.appendChild(u)}}t.endUpdate();this.runCallback(o,n||t,[t])}catch(p){this.handleFailure(s)}},handleResponse:function(d){this.transId=false;var a=d.argument;this.processResponse(d,a.node,a.callback,a.scope);this.fireEvent("load",this,a.node,d)},handleFailure:function(d){this.transId=false;var a=d.argument;this.fireEvent("loadexception",this,a.node,d);this.runCallback(a.callback,a.scope||a.node,[a.node])}});Ext.tree.TreeFilter=function(d,c){this.tree=d;this.filtered={};Ext.apply(this,c)};Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(k,h,g){h=h||"text";var l;if(typeof k=="string"){var j=k.length;if(j==0&&this.clearBlank){this.clear();return}k=k.toLowerCase();l=function(a){return a.attributes[h].substr(0,j).toLowerCase()==k}}else{if(k.exec){l=function(a){return k.test(a.attributes[h])}}else{throw"Illegal filter type, must be string or regex"}}this.filterBy(l,null,g)},filterBy:function(p,q,j){j=j||this.tree.root;if(this.autoClear){this.clear()}var k=this.filtered,l=this.reverse;var o=function(a){if(a==j){return true}if(k[a.id]){return false}var b=p.call(q||a,a);if(!b||l){k[a.id]=a;a.ui.hide();return false}return true};j.cascade(o);if(this.remove){for(var m in k){if(typeof m!="function"){var n=k[m];if(n&&n.parentNode){n.parentNode.removeChild(n)}}}}},clear:function(){var e=this.tree;var g=this.filtered;for(var h in g){if(typeof h!="function"){var j=g[h];if(j){j.ui.show()}}}this.filtered={}}};Ext.tree.TreeSorter=function(j,q){Ext.apply(this,q);j.on("beforechildrenrendered",this.doSort,this);j.on("append",this.updateSort,this);j.on("insert",this.updateSort,this);j.on("textchange",this.updateSortParent,this);var o=this.dir&&this.dir.toLowerCase()=="desc";var n=this.property||"text";var m=this.sortType;var k=this.folderSort;var p=this.caseSensitive===true;var l=this.leafAttr||"leaf";this.sortFn=function(c,d){if(k){if(c.attributes[l]&&!d.attributes[l]){return 1}if(!c.attributes[l]&&d.attributes[l]){return -1}}var a=m?m(c):(p?c.attributes[n]:c.attributes[n].toUpperCase());var b=m?m(d):(p?d.attributes[n]:d.attributes[n].toUpperCase());if(a<b){return o?+1:-1}else{if(a>b){return o?-1:+1}else{return 0}}}};Ext.tree.TreeSorter.prototype={doSort:function(b){b.sort(this.sortFn)},compareNodes:function(c,d){return(c.text.toUpperCase()>d.text.toUpperCase()?1:-1)},updateSort:function(d,c){if(c.childrenRendered){this.doSort.defer(1,this,[c])}},updateSortParent:function(d){var c=d.parentNode;if(c&&c.childrenRendered){this.doSort.defer(1,this,[c])}}};if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(d,c){this.allowParentInsert=c.allowParentInsert||false;this.allowContainerDrop=c.allowContainerDrop||false;this.appendOnly=c.appendOnly||false;Ext.tree.TreeDropZone.superclass.constructor.call(this,d.getTreeEl(),c);this.tree=d;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(b){if(b.hasChildNodes()&&!b.isExpanded()){b.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(b){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[b])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(s,e,m,p,q){if(!s||!q){return false}var o=s.node;var n=q.node;if(!(o&&o.isTarget&&e)){return false}if(e=="append"&&o.allowChildren===false){return false}if((e=="above"||e=="below")&&(o.parentNode&&o.parentNode.allowChildren===false)){return false}if(n&&(o==n||n.contains(o))){return false}var r=this.dragOverData;r.tree=this.tree;r.target=o;r.data=q;r.point=e;r.source=m;r.rawEvent=p;r.dropNode=n;r.cancel=false;var l=this.tree.fireEvent("nodedragover",r);return r.cancel===false&&l!==false},getDropPoint:function(s,t,n){var e=t.node;if(e.isRoot){return e.allowChildren!==false?"append":false}var v=t.ddel;var b=Ext.lib.Dom.getY(v),q=b+v.offsetHeight;var r=Ext.lib.Event.getPageY(s);var p=e.allowChildren===false||e.isLeaf();if(this.appendOnly||e.parentNode.allowChildren===false){return p?false:"append"}var u=false;if(!this.allowParentInsert){u=e.hasChildNodes()&&e.isExpanded()}var w=(q-b)/(p?2:3);if(r>=b&&r<(b+w)){return"above"}else{if(!u&&(p||r>=q-w&&r<=q)){return"below"}else{return"append"}}},onNodeEnter:function(h,g,j,e){this.cancelExpand()},onContainerOver:function(e,g,d){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",e,g,d)){return this.dropAllowed}return this.dropNotAllowed},onNodeOver:function(r,m,n,o){var e=this.getDropPoint(n,r,m);var q=r.node;if(!this.expandProcId&&e=="append"&&q.hasChildNodes()&&!r.node.isExpanded()){this.queueExpand(q)}else{if(e!="append"){this.cancelExpand()}}var p=this.dropNotAllowed;if(this.isValidDropPoint(r,e,m,n,o)){if(e){var s=r.ddel;var l;if(e=="above"){p=r.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";l="x-tree-drag-insert-above"}else{if(e=="below"){p=r.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";l="x-tree-drag-insert-below"}else{p="x-tree-drop-ok-append";l="x-tree-drag-append"}}if(this.lastInsertClass!=l){Ext.fly(s).replaceClass(this.lastInsertClass,l);this.lastInsertClass=l}}}return p},onNodeOut:function(h,g,j,e){this.cancelExpand();this.removeDropIndicators(h)},onNodeDrop:function(k,e,l,n){var j=this.getDropPoint(l,k,e);var m=k.node;m.ui.startDrop();if(!this.isValidDropPoint(k,j,e,l,n)){m.ui.endDrop();return false}var o=n.node||(e.getTreeNode?e.getTreeNode(n,m,j,l):null);return this.processDrop(m,n,j,e,l,o)},onContainerDrop:function(h,j,l){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",h,j,l)){var k=this.tree.getRootNode();k.ui.startDrop();var e=l.node||(h.getTreeNode?h.getTreeNode(l,k,"append",j):null);return this.processDrop(k,l,"append",h,j,e)}return false},processDrop:function(l,n,e,k,m,p){var o={tree:this.tree,target:l,data:n,point:e,source:k,rawEvent:m,dropNode:p,cancel:!p,dropStatus:false};var q=this.tree.fireEvent("beforenodedrop",o);if(q===false||o.cancel===true||!o.dropNode){l.ui.endDrop();return o.dropStatus}l=o.target;if(e=="append"&&!l.isExpanded()){l.expand(false,null,function(){this.completeDrop(o)}.createDelegate(this))}else{this.completeDrop(o)}return true},completeDrop:function(l){var o=l.dropNode,n=l.point,p=l.target;if(!Ext.isArray(o)){o=[o]}var m;for(var j=0,k=o.length;j<k;j++){m=o[j];if(n=="above"){p.parentNode.insertBefore(m,p)}else{if(n=="below"){p.parentNode.insertBefore(m,p.nextSibling)}else{p.appendChild(m)}}}m.ui.focus();if(Ext.enableFx&&this.tree.hlDrop){m.ui.highlight()}p.ui.endDrop();this.tree.fireEvent("nodedrop",l)},afterNodeMoved:function(h,l,j,k,e){if(Ext.enableFx&&this.tree.hlDrop){e.ui.focus();e.ui.highlight()}this.tree.fireEvent("nodedrop",this.tree,k,l,h,j)},getTree:function(){return this.tree},removeDropIndicators:function(c){if(c&&c.ddel){var d=c.ddel;Ext.fly(d).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass"}},beforeDragDrop:function(d,e,g){this.cancelExpand();return true},afterRepair:function(b){if(b&&Ext.enableFx){b.node.ui.highlight()}this.hideProxy()}})}if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(d,c){Ext.tree.TreeDragZone.superclass.constructor.call(this,d.innerCt,c);this.tree=d};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(e,d){var g=e.node;return g&&g.draggable&&!g.disabled},onInitDrag:function(c){var d=this.dragData;this.tree.getSelectionModel().select(d.node);this.tree.eventModel.disable();this.proxy.update("");d.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent("startdrag",this.tree,d.node,c)},getRepairXY:function(c,d){return d.node.ui.getDDRepairXY()},onEndDrag:function(d,c){this.tree.eventModel.enable.defer(100,this.tree.eventModel);this.tree.fireEvent("enddrag",this.tree,d.node,c)},onValidDrop:function(e,d,g){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,e,d);this.hideProxy()},beforeInvalidDrop:function(e,g){var d=this.tree.getSelectionModel();d.clearSelections();d.select(this.dragData.node)},afterRepair:function(){if(Ext.enableFx&&this.tree.hlDrop){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false}})}Ext.tree.TreeEditor=function(g,j,e){j=j||{};var h=j.events?j:new Ext.form.TextField(j);Ext.tree.TreeEditor.superclass.constructor.call(this,h,e);this.tree=g;if(!g.rendered){g.on("render",this.initEditor,this)}else{this.initEditor(g)}};Ext.extend(Ext.tree.TreeEditor,Ext.Editor,{alignment:"l-l",autoSize:false,hideEl:false,cls:"x-small-editor x-tree-editor",shim:false,shadow:"frame",maxWidth:250,editDelay:350,initEditor:function(b){b.on("beforeclick",this.beforeNodeClick,this);b.on("dblclick",this.onNodeDblClick,this);this.on("complete",this.updateNode,this);this.on("beforestartedit",this.fitToTree,this);this.on("startedit",this.bindScroll,this,{delay:10});this.on("specialkey",this.onSpecialKey,this)},fitToTree:function(g,l){var j=this.tree.getTreeEl().dom,k=l.dom;if(j.scrollLeft>k.offsetLeft){j.scrollLeft=k.offsetLeft}var h=Math.min(this.maxWidth,(j.clientWidth>20?j.clientWidth:j.offsetWidth)-Math.max(0,k.offsetLeft-j.scrollLeft)-5);this.setSize(h,"")},triggerEdit:function(e,g){this.completeEdit();if(e.attributes.editable!==false){this.editNode=e;if(this.tree.autoScroll){Ext.fly(e.ui.getEl()).scrollIntoView(this.tree.body)}var d=e.text||"";if(!Ext.isGecko&&Ext.isEmpty(e.text)){e.setText("&#160;")}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[e.ui.textNode,d]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(d,c){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(d)){c.stopEvent();return this.triggerEdit(d)}},onNodeDblClick:function(d,c){clearTimeout(this.autoEditTimer)},updateNode:function(d,c){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(c)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(g,d){var e=d.getKey();if(e==d.ESC){d.stopEvent();this.cancelEdit()}else{if(e==d.ENTER&&!d.hasModifier()){d.stopEvent();this.completeEdit()}}}});var swfobject=function(){var ar="undefined",aE="object",ac="Shockwave Flash",Y="ShockwaveFlash.ShockwaveFlash",aF="application/x-shockwave-flash",ad="SWFObjectExprInst",ay="onreadystatechange",ag=window,aM=document,aC=navigator,ab=false,aa=[aO],aH=[],ah=[],am=[],aK,ae,aq,au,al=false,aV=false,aI,ao,aJ=true,ai=function(){var m=typeof aM.getElementById!=ar&&typeof aM.getElementsByTagName!=ar&&typeof aM.createElement!=ar,d=aC.userAgent.toLowerCase(),b=aC.platform.toLowerCase(),h=b?/win/.test(b):/win/.test(d),k=b?/mac/.test(b):/mac/.test(d),g=/webkit/.test(d)?parseFloat(d.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,c=!+"\v1",e=[0,0,0],l=null;if(typeof aC.plugins!=ar&&typeof aC.plugins[ac]==aE){l=aC.plugins[ac].description;if(l&&!(typeof aC.mimeTypes!=ar&&aC.mimeTypes[aF]&&!aC.mimeTypes[aF].enabledPlugin)){ab=true;c=false;l=l.replace(/^.*\s+(\S+\s+\S+$)/,"$1");e[0]=parseInt(l.replace(/^(.*)\..*$/,"$1"),10);e[1]=parseInt(l.replace(/^.*\.(.*)\s.*$/,"$1"),10);e[2]=/[a-zA-Z]/.test(l)?parseInt(l.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof ag.ActiveXObject!=ar){try{var j=new ActiveXObject(Y);if(j){l=j.GetVariable("$version");if(l){c=true;l=l.split(" ")[1].split(",");e=[parseInt(l[0],10),parseInt(l[1],10),parseInt(l[2],10)]}}}catch(a){}}}return{w3:m,pv:e,wk:g,ie:c,win:h,mac:k}}(),aL=function(){if(!ai.w3){return}if((typeof aM.readyState!=ar&&aM.readyState=="complete")||(typeof aM.readyState==ar&&(aM.getElementsByTagName("body")[0]||aM.body))){aQ()}if(!al){if(typeof aM.addEventListener!=ar){aM.addEventListener("DOMContentLoaded",aQ,false)}if(ai.ie&&ai.win){aM.attachEvent(ay,function(){if(aM.readyState=="complete"){aM.detachEvent(ay,arguments.callee);aQ()}});if(ag==top){(function(){if(al){return}try{aM.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}aQ()})()}}if(ai.wk){(function(){if(al){return}if(!/loaded|complete/.test(aM.readyState)){setTimeout(arguments.callee,0);return}aQ()})()}aD(aQ)}}();function aQ(){if(al){return}try{var c=aM.getElementsByTagName("body")[0].appendChild(at("span"));c.parentNode.removeChild(c)}catch(a){return}al=true;var d=aa.length;for(var b=0;b<d;b++){aa[b]()}}function ak(a){if(al){a()}else{aa[aa.length]=a}}function aD(a){if(typeof ag.addEventListener!=ar){ag.addEventListener("load",a,false)}else{if(typeof aM.addEventListener!=ar){aM.addEventListener("load",a,false)}else{if(typeof ag.attachEvent!=ar){aN(ag,"onload",a)}else{if(typeof ag.onload=="function"){var b=ag.onload;ag.onload=function(){b();a()}}else{ag.onload=a}}}}}function aO(){if(ab){Z()}else{an()}}function Z(){var d=aM.getElementsByTagName("body")[0];var a=at(aE);a.setAttribute("type",aF);var c=d.appendChild(a);if(c){var b=0;(function(){if(typeof c.GetVariable!=ar){var e=c.GetVariable("$version");if(e){e=e.split(" ")[1].split(",");ai.pv=[parseInt(e[0],10),parseInt(e[1],10),parseInt(e[2],10)]}}else{if(b<10){b++;setTimeout(arguments.callee,10);return}}d.removeChild(a);c=null;an()})()}else{an()}}function an(){var g=aH.length;if(g>0){for(var h=0;h<g;h++){var b=aH[h].id;var m=aH[h].callbackFn;var n={success:false,id:b};if(ai.pv[0]>0){var j=aT(b);if(j){if(ap(aH[h].swfVersion)&&!(ai.wk&&ai.wk<312)){az(b,true);if(m){n.success=true;n.ref=aw(b);m(n)}}else{if(aH[h].expressInstall&&av()){var d={};d.data=aH[h].expressInstall;d.width=j.getAttribute("width")||"0";d.height=j.getAttribute("height")||"0";if(j.getAttribute("class")){d.styleclass=j.getAttribute("class")}if(j.getAttribute("align")){d.align=j.getAttribute("align")}var e={};var c=j.getElementsByTagName("param");var l=c.length;for(var k=0;k<l;k++){if(c[k].getAttribute("name").toLowerCase()!="movie"){e[c[k].getAttribute("name")]=c[k].getAttribute("value")}}af(d,e,b,m)}else{aG(j);if(m){m(n)}}}}}else{az(b,true);if(m){var a=aw(b);if(a&&typeof a.SetVariable!=ar){n.success=true;n.ref=a}m(n)}}}}}function aw(a){var d=null;var c=aT(a);if(c&&c.nodeName=="OBJECT"){if(typeof c.SetVariable!=ar){d=c}else{var b=c.getElementsByTagName(aE)[0];if(b){d=b}}}return d}function av(){return !aV&&ap("6.0.65")&&(ai.win||ai.mac)&&!(ai.wk&&ai.wk<312)}function af(e,d,j,h){aV=true;aq=h||null;au={success:false,id:j};var a=aT(j);if(a){if(a.nodeName=="OBJECT"){aK=aP(a);ae=null}else{aK=a;ae=j}e.id=ad;if(typeof e.width==ar||(!/%$/.test(e.width)&&parseInt(e.width,10)<310)){e.width="310"}if(typeof e.height==ar||(!/%$/.test(e.height)&&parseInt(e.height,10)<137)){e.height="137"}aM.title=aM.title.slice(0,47)+" - Flash Player Installation";var b=ai.ie&&ai.win?"ActiveX":"PlugIn",c="MMredirectURL="+ag.location.toString().replace(/&/g,"%26")+"&MMplayerType="+b+"&MMdoctitle="+aM.title;if(typeof d.flashvars!=ar){d.flashvars+="&"+c}else{d.flashvars=c}if(ai.ie&&ai.win&&a.readyState!=4){var g=at("div");j+="SWFObjectNew";g.setAttribute("id",j);a.parentNode.insertBefore(g,a);a.style.display="none";(function(){if(a.readyState==4){a.parentNode.removeChild(a)}else{setTimeout(arguments.callee,10)}})()}aB(e,d,j)}}function aG(a){if(ai.ie&&ai.win&&a.readyState!=4){var b=at("div");a.parentNode.insertBefore(b,a);b.parentNode.replaceChild(aP(a),b);a.style.display="none";(function(){if(a.readyState==4){a.parentNode.removeChild(a)}else{setTimeout(arguments.callee,10)}})()}else{a.parentNode.replaceChild(aP(a),a)}}function aP(b){var c=at("div");if(ai.win&&ai.ie){c.innerHTML=b.innerHTML}else{var e=b.getElementsByTagName(aE)[0];if(e){var a=e.childNodes;if(a){var g=a.length;for(var d=0;d<g;d++){if(!(a[d].nodeType==1&&a[d].nodeName=="PARAM")&&!(a[d].nodeType==8)){c.appendChild(a[d].cloneNode(true))}}}}}return c}function aB(d,g,b){var c,n=aT(b);if(ai.wk&&ai.wk<312){return c}if(n){if(typeof d.id==ar){d.id=b}if(ai.ie&&ai.win){var e="";for(var j in d){if(d[j]!=Object.prototype[j]){if(j.toLowerCase()=="data"){g.movie=d[j]}else{if(j.toLowerCase()=="styleclass"){e+=' class="'+d[j]+'"'}else{if(j.toLowerCase()!="classid"){e+=" "+j+'="'+d[j]+'"'}}}}}var h="";for(var k in g){if(g[k]!=Object.prototype[k]){h+='<param name="'+k+'" value="'+g[k]+'" />'}}n.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+e+">"+h+"</object>";ah[ah.length]=d.id;c=aT(d.id)}else{var a=at(aE);a.setAttribute("type",aF);for(var l in d){if(d[l]!=Object.prototype[l]){if(l.toLowerCase()=="styleclass"){a.setAttribute("class",d[l])}else{if(l.toLowerCase()!="classid"){a.setAttribute(l,d[l])}}}}for(var m in g){if(g[m]!=Object.prototype[m]&&m.toLowerCase()!="movie"){aR(a,m,g[m])}}n.parentNode.replaceChild(a,n);c=a}}return c}function aR(c,d,b){var a=at("param");a.setAttribute("name",d);a.setAttribute("value",b);c.appendChild(a)}function ax(a){var b=aT(a);if(b&&b.nodeName=="OBJECT"){if(ai.ie&&ai.win){b.style.display="none";(function(){if(b.readyState==4){aU(a)}else{setTimeout(arguments.callee,10)}})()}else{b.parentNode.removeChild(b)}}}function aU(b){var a=aT(b);if(a){for(var c in a){if(typeof a[c]=="function"){a[c]=null}}a.parentNode.removeChild(a)}}function aT(b){var c=null;try{c=aM.getElementById(b)}catch(a){}return c}function at(a){return aM.createElement(a)}function aN(b,c,a){b.attachEvent(c,a);am[am.length]=[b,c,a]}function ap(b){var a=ai.pv,c=b.split(".");c[0]=parseInt(c[0],10);c[1]=parseInt(c[1],10)||0;c[2]=parseInt(c[2],10)||0;return(a[0]>c[0]||(a[0]==c[0]&&a[1]>c[1])||(a[0]==c[0]&&a[1]==c[1]&&a[2]>=c[2]))?true:false}function aA(b,g,a,c){if(ai.ie&&ai.mac){return}var d=aM.getElementsByTagName("head")[0];if(!d){return}var h=(a&&typeof a=="string")?a:"screen";if(c){aI=null;ao=null}if(!aI||ao!=h){var e=at("style");e.setAttribute("type","text/css");e.setAttribute("media",h);aI=d.appendChild(e);if(ai.ie&&ai.win&&typeof aM.styleSheets!=ar&&aM.styleSheets.length>0){aI=aM.styleSheets[aM.styleSheets.length-1]}ao=h}if(ai.ie&&ai.win){if(aI&&typeof aI.addRule==aE){aI.addRule(b,g)}}else{if(aI&&typeof aM.createTextNode!=ar){aI.appendChild(aM.createTextNode(b+" {"+g+"}"))}}}function az(b,c){if(!aJ){return}var a=c?"visible":"hidden";if(al&&aT(b)){aT(b).style.visibility=a}else{aA("#"+b,"visibility:"+a)}}function aj(b){var a=/[\\\"<>\.;]/;var c=a.exec(b)!=null;return c&&typeof encodeURIComponent!=ar?encodeURIComponent(b):b}var aS=function(){if(ai.ie&&ai.win){window.attachEvent("onunload",function(){var a=am.length;for(var b=0;b<a;b++){am[b][0].detachEvent(am[b][1],am[b][2])}var e=ah.length;for(var c=0;c<e;c++){ax(ah[c])}for(var d in ai){ai[d]=null}ai=null;for(var g in swfobject){swfobject[g]=null}swfobject=null})}}();return{registerObject:function(a,e,b,d){if(ai.w3&&a&&e){var c={};c.id=a;c.swfVersion=e;c.expressInstall=b;c.callbackFn=d;aH[aH.length]=c;az(a,false)}else{if(d){d({success:false,id:a})}}},getObjectById:function(a){if(ai.w3){return aw(a)}},embedSWF:function(l,d,h,e,b,m,a,j,g,k){var c={success:false,id:d};if(ai.w3&&!(ai.wk&&ai.wk<312)&&l&&d&&h&&e&&b){az(d,false);ak(function(){h+="";e+="";var r={};if(g&&typeof g===aE){for(var p in g){r[p]=g[p]}}r.data=l;r.width=h;r.height=e;var o={};if(j&&typeof j===aE){for(var q in j){o[q]=j[q]}}if(a&&typeof a===aE){for(var s in a){if(typeof o.flashvars!=ar){o.flashvars+="&"+s+"="+a[s]}else{o.flashvars=s+"="+a[s]}}}if(ap(b)){var n=aB(r,o,d);if(r.id==d){az(d,true)}c.success=true;c.ref=n}else{if(m&&av()){r.data=m;af(r,o,d,k);return}else{az(d,true)}}if(k){k(c)}})}else{if(k){k(c)}}},switchOffAutoHideShow:function(){aJ=false},ua:ai,getFlashPlayerVersion:function(){return{major:ai.pv[0],minor:ai.pv[1],release:ai.pv[2]}},hasFlashPlayerVersion:ap,createSWF:function(b,a,c){if(ai.w3){return aB(b,a,c)}else{return undefined}},showExpressInstall:function(c,a,d,b){if(ai.w3&&av()){af(c,a,d,b)}},removeSWF:function(a){if(ai.w3){ax(a)}},createCSS:function(a,c,b,d){if(ai.w3){aA(a,c,b,d)}},addDomLoadEvent:ak,addLoadEvent:aD,getQueryParamValue:function(a){var c=aM.location.search||aM.location.hash;if(c){if(/\?/.test(c)){c=c.split("?")[1]}if(a==null){return aj(c)}var b=c.split("&");for(var d=0;d<b.length;d++){if(b[d].substring(0,b[d].indexOf("="))==a){return aj(b[d].substring((b[d].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(aV){var a=aT(ad);if(a&&aK){a.parentNode.replaceChild(aK,a);if(ae){az(ae,true);if(ai.ie&&ai.win){aK.style.display="block"}}if(aq){aq(au)}}aV=false}}}}();Ext.FlashComponent=Ext.extend(Ext.BoxComponent,{flashVersion:"9.0.45",backgroundColor:"#ffffff",wmode:"opaque",url:undefined,swfId:undefined,swfWidth:"100%",swfHeight:"100%",expressInstall:false,initComponent:function(){Ext.FlashComponent.superclass.initComponent.call(this);this.addEvents("initialize")},onRender:function(){Ext.FlashComponent.superclass.onRender.apply(this,arguments);var c={allowScriptAccess:"always",bgcolor:this.backgroundColor,wmode:this.wmode},d={allowedDomain:document.location.hostname,elementID:this.getId(),eventHandler:"Ext.FlashEventProxy.onEvent"};new swfobject.embedSWF(this.url,this.id,this.swfWidth,this.swfHeight,this.flashVersion,this.expressInstall?Ext.FlashComponent.EXPRESS_INSTALL_URL:undefined,d,c);this.swf=Ext.getDom(this.id);this.el=Ext.get(this.swf)},getSwfId:function(){return this.swfId||(this.swfId="extswf"+(++Ext.Component.AUTO_ID))},getId:function(){return this.id||(this.id="extflashcmp"+(++Ext.Component.AUTO_ID))},onFlashEvent:function(b){switch(b.type){case"swfReady":this.initSwf();return;case"log":return}b.component=this;this.fireEvent(b.type.toLowerCase().replace(/event$/,""),b)},initSwf:function(){this.onSwfReady(!!this.isInitialized);this.isInitialized=true;this.fireEvent("initialize",this)},beforeDestroy:function(){if(this.rendered){swfobject.removeSWF(this.swf.id)}Ext.FlashComponent.superclass.beforeDestroy.call(this)},onSwfReady:Ext.emptyFn});Ext.FlashComponent.EXPRESS_INSTALL_URL="http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf";Ext.reg("flash",Ext.FlashComponent);Ext.FlashEventProxy={onEvent:function(g,d){var e=Ext.getCmp(g);if(e){e.onFlashEvent(d)}else{arguments.callee.defer(10,this,[g,d])}}};Ext.chart.Chart=Ext.extend(Ext.FlashComponent,{refreshBuffer:100,chartStyle:{padding:10,animationEnabled:true,font:{name:"Tahoma",color:4473924,size:11},dataTip:{padding:5,border:{color:10075112,size:1},background:{color:14346230,alpha:0.9},font:{name:"Tahoma",color:1393291,size:10,bold:true}}},extraStyle:null,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");this.store=Ext.StoreMgr.lookup(this.store)},setStyle:function(d,c){this.swf.setStyle(d,Ext.encode(c))},setStyles:function(b){this.swf.setStyles(Ext.encode(b))},setSeriesStyles:function(c){var d=[];Ext.each(c,function(a){d.push(Ext.encode(a))});this.swf.setSeriesStyles(d)},setCategoryNames:function(b){this.swf.setCategoryNames(b)},setTipRenderer:function(c){var d=this;this.tipFnName=this.createFnProxy(function(a,h,b){var j=d.store.getAt(h);return c(d,j,h,b)},this.tipFnName);this.swf.setDataTipFunction(this.tipFnName)},setSeries:function(b){this.series=b;this.refresh()},bindStore:function(d,c){if(!c&&this.store){this.store.un("datachanged",this.refresh,this);this.store.un("add",this.delayRefresh,this);this.store.un("remove",this.delayRefresh,this);this.store.un("update",this.delayRefresh,this);this.store.un("clear",this.refresh,this);if(d!==this.store&&this.store.autoDestroy){this.store.destroy()}}if(d){d=Ext.StoreMgr.lookup(d);d.on({scope:this,datachanged:this.refresh,add:this.delayRefresh,remove:this.delayRefresh,update:this.delayRefresh,clear:this.refresh})}this.store=d;if(d&&!c){this.refresh()}},onSwfReady:function(b){Ext.chart.Chart.superclass.onSwfReady.call(this,b);this.swf.setType(this.type);if(this.chartStyle){this.setStyles(Ext.apply(this.extraStyle||{},this.chartStyle))}if(this.categoryNames){this.setCategoryNames(this.categoryNames)}if(this.tipRenderer){this.setTipRenderer(this.tipRenderer)}if(!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(){var o=false;var q=[],v=this.store.data.items;for(var s=0,p=v.length;s<p;s++){q[s]=v[s].data}var t=[];var u=0;var j=null;var r=0;if(this.series){u=this.series.length;for(r=0;r<u;r++){j=this.series[r];var w={};for(var x in j){if(x=="style"&&j.style!==null){w.style=Ext.encode(j.style);o=true}else{w[x]=j[x]}}t.push(w)}}if(u>0){for(r=0;r<u;r++){j=t[r];if(!j.type){j.type=this.type}j.dataProvider=q}}else{t.push({type:this.type,dataProvider:q})}this.swf.setDataProvider(t)},createFnProxy:function(d,e){if(e){delete window[e]}var g="extFnProxy"+(++Ext.chart.Chart.PROXY_FN_ID);window[g]=d;return g},onDestroy:function(){Ext.chart.Chart.superclass.onDestroy.call(this);delete window[this.tipFnName]}});Ext.reg("chart",Ext.chart.Chart);Ext.chart.Chart.PROXY_FN_ID=0;Ext.chart.Chart.CHART_URL="http://yui.yahooapis.com/2.7.0/build/charts/assets/charts.swf";Ext.chart.PieChart=Ext.extend(Ext.chart.Chart,{type:"pie",onSwfReady:function(b){Ext.chart.PieChart.superclass.onSwfReady.call(this,b);this.setDataField(this.dataField);this.setCategoryField(this.categoryField)},setDataField:function(b){this.dataField=b;this.swf.setDataField(b)},setCategoryField:function(b){this.categoryField=b;this.swf.setCategoryField(b)}});Ext.reg("piechart",Ext.chart.PieChart);Ext.chart.CartesianChart=Ext.extend(Ext.chart.Chart,{onSwfReady:function(b){Ext.chart.CartesianChart.superclass.onSwfReady.call(this,b);if(this.xField){this.setXField(this.xField)}if(this.yField){this.setYField(this.yField)}if(this.xAxis){this.setXAxis(this.xAxis)}if(this.yAxis){this.setYAxis(this.yAxis)}},setXField:function(b){this.xField=b;this.swf.setHorizontalField(b)},setYField:function(b){this.yField=b;this.swf.setVerticalField(b)},setXAxis:function(b){this.xAxis=this.createAxis("xAxis",b);this.swf.setHorizontalAxis(this.xAxis)},setYAxis:function(b){this.yAxis=this.createAxis("yAxis",b);this.swf.setVerticalAxis(this.yAxis)},createAxis:function(l,k){var j=Ext.apply({},k),h=null;if(this[l]){h=this[l].labelFunction}if(j.labelRenderer){var g=j.labelRenderer;j.labelFunction=this.createFnProxy(function(a){return g(a)},h);delete j.labelRenderer}return j}});Ext.reg("cartesianchart",Ext.chart.CartesianChart);Ext.chart.LineChart=Ext.extend(Ext.chart.CartesianChart,{type:"line"});Ext.reg("linechart",Ext.chart.LineChart);Ext.chart.ColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"column"});Ext.reg("columnchart",Ext.chart.ColumnChart);Ext.chart.StackedColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackcolumn"});Ext.reg("stackedcolumnchart",Ext.chart.StackedColumnChart);Ext.chart.BarChart=Ext.extend(Ext.chart.CartesianChart,{type:"bar"});Ext.reg("barchart",Ext.chart.BarChart);Ext.chart.StackedBarChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackbar"});Ext.reg("stackedbarchart",Ext.chart.StackedBarChart);Ext.chart.Axis=function(b){Ext.apply(this,b)};Ext.chart.Axis.prototype={type:null,orientation:"horizontal",reverse:false,labelFunction:null,hideOverlappingLabels:true};Ext.chart.NumericAxis=Ext.extend(Ext.chart.Axis,{type:"numeric",minimum:NaN,maximum:NaN,majorUnit:NaN,minorUnit:NaN,snapToUnits:true,alwaysShowZero:true,scale:"linear"});Ext.chart.TimeAxis=Ext.extend(Ext.chart.Axis,{type:"time",minimum:null,maximum:null,majorUnit:NaN,majorTimeUnit:null,minorUnit:NaN,minorTimeUnit:null,snapToUnits:true});Ext.chart.CategoryAxis=Ext.extend(Ext.chart.Axis,{type:"category",categoryNames:null});Ext.chart.Series=function(b){Ext.apply(this,b)};Ext.chart.Series.prototype={type:null,displayName:null};Ext.chart.CartesianSeries=Ext.extend(Ext.chart.Series,{xField:null,yField:null});Ext.chart.ColumnSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"column"});Ext.chart.LineSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"line"});Ext.chart.BarSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"bar"});Ext.chart.PieSeries=Ext.extend(Ext.chart.Series,{type:"pie",dataField:null,categoryField:null});Ext.layout.MenuLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,setContainer:function(b){this.monitorResize=!b.floating;Ext.layout.MenuLayout.superclass.setContainer.call(this,b)},renderItem:function(c,a,h){if(!this.itemTpl){this.itemTpl=Ext.layout.MenuLayout.prototype.itemTpl=new Ext.XTemplate('<li id="{itemId}" class="{itemCls}">','<tpl if="needsIcon">','<img src="{icon}" class="{iconCls}"/>',"</tpl>","</li>")}if(c&&!c.rendered){if(Ext.isNumber(a)){a=h.dom.childNodes[a]}var j=this.getItemArgs(c);c.render(c.positionEl=a?this.itemTpl.insertBefore(a,j,true):this.itemTpl.append(h,j,true));c.positionEl.menuItemId=c.itemId||c.id;if(!j.isMenuItem&&j.needsIcon){c.positionEl.addClass("x-menu-list-item-indent")}}else{if(c&&!this.isValidParent(c,h)){if(Ext.isNumber(a)){a=h.dom.childNodes[a]}h.dom.insertBefore(c.getActionEl().dom,a||null)}}},getItemArgs:function(c){var d=c instanceof Ext.menu.Item;return{isMenuItem:d,needsIcon:!d&&(c.icon||c.iconCls),icon:c.icon||Ext.BLANK_IMAGE_URL,iconCls:"x-menu-item-icon "+(c.iconCls||""),itemId:"x-menu-el-"+c.id,itemCls:"x-menu-list-item "+(this.extraCls||"")}},isValidParent:function(c,d){return c.el.up("li.x-menu-list-item",5).dom.parentNode===(d.dom||d)},onLayout:function(d,c){this.renderAll(d,c);this.doAutoSize()},doAutoSize:function(){var j=this.container,g=j.width;if(j.floating){if(g){j.setWidth(g)}else{if(Ext.isIE){j.setWidth(Ext.isStrict&&(Ext.isIE7||Ext.isIE8)?"auto":j.minWidth);var h=j.getEl(),e=h.dom.offsetWidth;j.setWidth(j.getLayoutTarget().getWidth()+h.getFrameWidth("lr"))}}}}});Ext.Container.LAYOUTS.menu=Ext.layout.MenuLayout;Ext.menu.Menu=Ext.extend(Ext.Container,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,enableScrolling:true,maxHeight:null,scrollIncrement:24,showSeparator:true,defaultOffsets:[0,0],floating:true,hidden:true,layout:"menu",hideMode:"offsets",scrollerHeight:8,autoLayout:true,defaultType:"menuitem",initComponent:function(){if(Ext.isArray(this.initialConfig)){Ext.apply(this,{items:this.initialConfig})}this.addEvents("click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);if(this.floating){Ext.EventManager.onWindowResize(this.hide,this)}else{if(this.initialConfig.hidden!==false){this.hidden=false}this.internalDefaults={hideOnClick:false}}Ext.menu.Menu.superclass.initComponent.call(this);if(this.autoLayout){this.on({add:this.doLayout,remove:this.doLayout,scope:this})}},getLayoutTarget:function(){return this.ul},onRender:function(d,e){if(!d){d=Ext.getBody()}var g={id:this.getId(),cls:"x-menu "+((this.floating)?"x-menu-floating x-layer ":"")+(this.cls||"")+(this.plain?" x-menu-plain":"")+(this.showSeparator?"":" x-menu-nosep"),style:this.style,cn:[{tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"},{tag:"ul",cls:"x-menu-list"}]};if(this.floating){this.el=new Ext.Layer({shadow:this.shadow,dh:g,constrain:false,parentEl:d,zindex:15000})}else{this.el=d.createChild(g)}Ext.menu.Menu.superclass.onRender.call(this,d,e);if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}this.focusEl=this.el.child("a.x-menu-focus");this.ul=this.el.child("ul.x-menu-list");this.mon(this.ul,{scope:this,click:this.onClick,mouseover:this.onMouseOver,mouseout:this.onMouseOut});if(this.enableScrolling){this.mon(this.el,{scope:this,delegate:".x-menu-scroller",click:this.onScroll,mouseover:this.deactivateActive})}},findTargetItem:function(c){var d=c.getTarget(".x-menu-list-item",this.ul,true);if(d&&d.menuItemId){return this.items.get(d.menuItemId)}},onClick:function(c){var d=this.findTargetItem(c);if(d){if(d.isFormField){this.setActiveItem(d)}else{if(d.menu&&this.ignoreParentClicks){d.expandMenu();c.preventDefault()}else{if(d.onClick){d.onClick(c);this.fireEvent("click",this,d,c)}}}}},setActiveItem:function(d,c){if(d!=this.activeItem){this.deactivateActive();if((this.activeItem=d).isFormField){d.focus()}else{d.activate(c)}}else{if(c){d.expandMenu()}}},deactivateActive:function(){var a=this.activeItem;if(a){if(a.isFormField){if(a.collapse){a.collapse()}}else{a.deactivate()}delete this.activeItem}},tryActivate:function(k,l){var h=this.items;for(var n=k,j=h.length;n>=0&&n<j;n+=l){var m=h.get(n);if(!m.disabled&&(m.canActivate||m.isFormField)){this.setActiveItem(m,false);return m}}return false},onMouseOver:function(c){var d=this.findTargetItem(c);if(d){if(d.canActivate&&!d.disabled){this.setActiveItem(d,true)}}this.over=true;this.fireEvent("mouseover",this,c,d)},onMouseOut:function(c){var d=this.findTargetItem(c);if(d){if(d==this.activeItem&&d.shouldDeactivate&&d.shouldDeactivate(c)){this.activeItem.deactivate();delete this.activeItem}}this.over=false;this.fireEvent("mouseout",this,c,d)},onScroll:function(h,e){if(h){h.stopEvent()}var g=this.ul.dom,j=Ext.fly(e).is(".x-menu-scroller-top");g.scrollTop+=this.scrollIncrement*(j?-1:1);if(j?g.scrollTop<=0:g.scrollTop+this.activeMax>=g.scrollHeight){this.onScrollerOut(null,e)}},onScrollerIn:function(h,e){var g=this.ul.dom,j=Ext.fly(e).is(".x-menu-scroller-top");if(j?g.scrollTop>0:g.scrollTop+this.activeMax<g.scrollHeight){Ext.fly(e).addClass(["x-menu-item-active","x-menu-scroller-active"])}},onScrollerOut:function(c,d){Ext.fly(d).removeClass(["x-menu-item-active","x-menu-scroller-active"])},show:function(d,g,e){if(this.floating){this.parentMenu=e;if(!this.el){this.render();this.doLayout(false,true)}if(this.fireEvent("beforeshow",this)!==false){this.showAt(this.el.getAlignToXY(d,g||this.defaultAlign,this.defaultOffsets),e,false)}}else{Ext.menu.Menu.superclass.show.call(this)}},showAt:function(g,d,e){this.parentMenu=d;if(!this.el){this.render()}this.el.setXY(g);if(this.enableScrolling){this.constrainScroll(g[1])}this.el.show();Ext.menu.Menu.superclass.onShow.call(this);if(Ext.isIE){this.layout.doAutoSize();if(!Ext.isIE8){this.el.repaint()}}this.hidden=false;this.focus();this.fireEvent("show",this)},constrainScroll:function(g){var e,d=this.ul.setHeight("auto").getHeight();if(this.floating){e=this.maxHeight?this.maxHeight:Ext.fly(this.el.dom.parentNode).getViewSize().height-g}else{e=this.getHeight()}if(d>e&&e>0){this.activeMax=e-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(d);this.el.select(".x-menu-scroller").setDisplayed("none")}this.ul.dom.scrollTop=0},createScrollers:function(){if(!this.scroller){this.scroller={pos:0,top:this.el.insertFirst({tag:"div",cls:"x-menu-scroller x-menu-scroller-top",html:"&#160;"}),bottom:this.el.createChild({tag:"div",cls:"x-menu-scroller x-menu-scroller-bottom",html:"&#160;"})};this.scroller.top.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.topRepeater=new Ext.util.ClickRepeater(this.scroller.top,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.top],false)}});this.scroller.bottom.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.bottomRepeater=new Ext.util.ClickRepeater(this.scroller.bottom,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.bottom],false)}})}},onLayout:function(){if(this.isVisible()){if(this.enableScrolling){this.constrainScroll(this.el.getTop())}if(this.floating){this.el.sync()}}},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(b){this.deepHide=b;Ext.menu.Menu.superclass.hide.call(this);delete this.deepHide},onHide:function(){Ext.menu.Menu.superclass.onHide.call(this);this.deactivateActive();if(this.el&&this.floating){this.el.hide()}if(this.deepHide===true&&this.parentMenu){this.parentMenu.hide(true)}},lookupComponent:function(b){if(Ext.isString(b)){b=(b=="separator"||b=="-")?new Ext.menu.Separator():new Ext.menu.TextItem(b);this.applyDefaults(b)}else{if(Ext.isObject(b)){b=this.getMenuItem(b)}else{if(b.tagName||b.el){b=new Ext.BoxComponent({el:b})}}}return b},applyDefaults:function(c){if(!Ext.isString(c)){c=Ext.menu.Menu.superclass.applyDefaults.call(this,c);var d=this.internalDefaults;if(d){if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}}return c},getMenuItem:function(b){if(!b.isXType){if(!b.xtype&&Ext.isBoolean(b.checked)){return new Ext.menu.CheckItem(b)}return Ext.create(b,this.defaultType)}return b},addSeparator:function(){return this.add(new Ext.menu.Separator())},addElement:function(b){return this.add(new Ext.menu.BaseItem(b))},addItem:function(b){return this.add(b)},addMenuItem:function(b){return this.add(this.getMenuItem(b))},addText:function(b){return this.add(new Ext.menu.TextItem(b))},onDestroy:function(){Ext.menu.Menu.superclass.onDestroy.call(this);Ext.menu.MenuMgr.unregister(this);Ext.EventManager.removeResizeListener(this.hide,this);if(this.keyNav){this.keyNav.disable()}var b=this.scroller;if(b){Ext.destroy(b.topRepeater,b.bottomRepeater,b.top,b.bottom)}}});Ext.reg("menu",Ext.menu.Menu);Ext.menu.MenuNav=Ext.extend(Ext.KeyNav,function(){function d(a,b){if(!b.tryActivate(b.items.indexOf(b.activeItem)-1,-1)){b.tryActivate(b.items.length-1,-1)}}function c(a,b){if(!b.tryActivate(b.items.indexOf(b.activeItem)+1,1)){b.tryActivate(0,1)}}return{constructor:function(a){Ext.menu.MenuNav.superclass.constructor.call(this,a.el);this.scope=this.menu=a},doRelay:function(a,b){var e=a.getKey();if(this.menu.activeItem&&this.menu.activeItem.isFormField&&e!=a.TAB){return false}if(!this.menu.activeItem&&a.isNavKeyPress()&&e!=a.SPACE&&e!=a.RETURN){this.menu.tryActivate(0,1);return false}return b.call(this.scope||this,a,this.menu)},tab:function(a,b){a.stopEvent();if(a.shiftKey){d(a,b)}else{c(a,b)}},up:d,down:c,right:function(a,b){if(b.activeItem){b.activeItem.expandMenu(true)}},left:function(a,b){b.hide();if(b.parentMenu&&b.parentMenu.activeItem){b.parentMenu.activeItem.activate()}},enter:function(a,b){if(b.activeItem){a.stopPropagation();b.activeItem.onClick(a);b.fireEvent("click",this,b.activeItem);return true}}}}());Ext.menu.MenuMgr=function(){var v,x,y={},A=false,q=new Date();function o(){v={};x=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(x.length>0){t()}})}function t(){if(x&&x.length>0){var a=x.clone();a.each(function(b){b.hide()})}}function w(a){x.remove(a);if(x.length<1){Ext.getDoc().un("mousedown",p);A=false}}function r(b){var a=x.last();q=new Date();x.add(b);if(!A){Ext.getDoc().on("mousedown",p);A=true}if(b.parentMenu){b.getEl().setZIndex(parseInt(b.parentMenu.getEl().getStyle("z-index"),10)+3);b.parentMenu.activeChild=b}else{if(a&&a.isVisible()){b.getEl().setZIndex(parseInt(a.getEl().getStyle("z-index"),10)+3)}}}function z(a){if(a.activeChild){a.activeChild.hide()}if(a.autoHideTimer){clearTimeout(a.autoHideTimer);delete a.autoHideTimer}}function u(b){var a=b.parentMenu;if(!a&&!b.allowOtherMenus){t()}else{if(a&&a.activeChild){a.activeChild.hide()}}}function p(a){if(q.getElapsed()>50&&x.length>0&&!a.getTarget(".x-menu")){t()}}function s(d,a){if(a){var b=y[d.group];for(var c=0,e=b.length;c<e;c++){if(b[c]!=d){b[c].setChecked(false)}}}}return{hideAll:function(){t()},register:function(a){if(!v){o()}v[a.id]=a;a.on("beforehide",z);a.on("hide",w);a.on("beforeshow",u);a.on("show",r);var b=a.group;if(b&&a.events.checkchange){if(!y[b]){y[b]=[]}y[b].push(a);a.on("checkchange",onCheck)}},get:function(a){if(typeof a=="string"){if(!v){return null}return v[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 v[a.id];a.un("beforehide",z);a.un("hide",w);a.un("beforeshow",u);a.un("show",r);var b=a.group;if(b&&a.events.checkchange){y[b].remove(a);a.un("checkchange",onCheck)}},registerCheckable:function(b){var a=b.group;if(a){if(!y[a]){y[a]=[]}y[a].push(b);b.on("beforecheckchange",s)}},unregisterCheckable:function(b){var a=b.group;if(a){y[a].remove(b);b.un("beforecheckchange",s)}},getCheckedItem:function(b){var a=y[b];if(a){for(var c=0,d=a.length;c<d;c++){if(a[c].checked){return a[c]}}}return null},setCheckedItem:function(c,a){var b=y[c];if(b){for(var d=0,e=b.length;d<e;d++){if(b[d].id==a){b[d].setChecked(true)}}}return null}}}();Ext.menu.BaseItem=function(b){Ext.menu.BaseItem.superclass.constructor.call(this,b);this.addEvents("click","activate","deactivate");if(this.handler){this.on("click",this.handler,this.scope)}};Ext.extend(Ext.menu.BaseItem,Ext.Component,{canActivate:false,activeClass:"x-menu-item-active",hideOnClick:true,clickHideDelay:1,ctype:"Ext.menu.BaseItem",actionMode:"container",onRender:function(c,d){Ext.menu.BaseItem.superclass.onRender.apply(this,arguments);if(this.ownerCt&&this.ownerCt instanceof Ext.menu.Menu){this.parentMenu=this.ownerCt}else{this.container.addClass("x-menu-list-item");this.mon(this.el,"click",this.onClick,this);this.mon(this.el,"mouseenter",this.activate,this);this.mon(this.el,"mouseleave",this.deactivate,this)}},setHandler:function(c,d){if(this.handler){this.un("click",this.handler,this.scope)}this.on("click",this.handler=c,this.scope=d)},onClick:function(b){if(!this.disabled&&this.fireEvent("click",this,b)!==false&&(this.parentMenu&&this.parentMenu.fireEvent("itemclick",this,b)!==false)){this.handleClick(b)}else{b.stopEvent()}},activate:function(){if(this.disabled){return false}var b=this.container;b.addClass(this.activeClass);this.region=b.getRegion().adjust(2,2,-2,-2);this.fireEvent("activate",this);return true},deactivate:function(){this.container.removeClass(this.activeClass);this.fireEvent("deactivate",this)},shouldDeactivate:function(b){return !this.region||!this.region.contains(b.getPoint())},handleClick:function(b){if(this.hideOnClick){this.parentMenu.hide.defer(this.clickHideDelay,this.parentMenu,[true])}},expandMenu:Ext.emptyFn,hideMenu:Ext.emptyFn});Ext.reg("menubaseitem",Ext.menu.BaseItem);Ext.menu.TextItem=function(b){if(typeof b=="string"){b={text:b}}Ext.menu.TextItem.superclass.constructor.call(this,b)};Ext.extend(Ext.menu.TextItem,Ext.menu.BaseItem,{hideOnClick:false,itemCls:"x-menu-text",onRender:function(){var b=document.createElement("span");b.className=this.itemCls;b.innerHTML=this.text;this.el=b;Ext.menu.TextItem.superclass.onRender.apply(this,arguments)}});Ext.reg("menutextitem",Ext.menu.TextItem);Ext.menu.Separator=function(b){Ext.menu.Separator.superclass.constructor.call(this,b)};Ext.extend(Ext.menu.Separator,Ext.menu.BaseItem,{itemCls:"x-menu-sep",hideOnClick:false,activeClass:"",onRender:function(d){var c=document.createElement("span");c.className=this.itemCls;c.innerHTML="&#160;";this.el=c;d.addClass("x-menu-sep-li");Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.reg("menuseparator",Ext.menu.Separator);Ext.menu.Item=function(b){Ext.menu.Item.superclass.constructor.call(this,b);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}};Ext.extend(Ext.menu.Item,Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,hideDelay:200,ctype:"Ext.menu.Item",onRender:function(e,a){if(!this.itemTpl){this.itemTpl=Ext.menu.Item.prototype.itemTpl=new Ext.XTemplate('<a id="{id}" class="{cls}" hidefocus="true" unselectable="on" href="{href}"','<tpl if="hrefTarget">',' target="{hrefTarget}"',"</tpl>",">",'<img src="{icon}" class="x-menu-item-icon {iconCls}"/>','<span class="x-menu-item-text">{text}</span>',"</a>")}var g=this.getTemplateArgs();this.el=a?this.itemTpl.insertBefore(a,g,true):this.itemTpl.append(e,g,true);this.iconEl=this.el.child("img.x-menu-item-icon");this.textEl=this.el.child(".x-menu-item-text");Ext.menu.Item.superclass.onRender.call(this,e,a)},getTemplateArgs:function(){return{id:this.id,cls:this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:""),href:this.href||"#",hrefTarget:this.hrefTarget,icon:this.icon||Ext.BLANK_IMAGE_URL,iconCls:this.iconCls||"",text:this.itemText||this.text||"&#160;"}},setText:function(b){this.text=b||"&#160;";if(this.rendered){this.textEl.update(this.text);this.parentMenu.layout.doAutoSize()}},setIconClass:function(d){var c=this.iconCls;this.iconCls=d;if(this.rendered){this.iconEl.replaceClass(c,this.iconCls)}},beforeDestroy:function(){if(this.menu){this.menu.destroy()}Ext.menu.Item.superclass.beforeDestroy.call(this)},handleClick:function(b){if(!this.href){b.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(b){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(b){this.expandMenu()}}return true},shouldDeactivate:function(b){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,b)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(b.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(b){if(!this.disabled&&this.menu){clearTimeout(this.hideTimer);delete this.hideTimer;if(!this.menu.isVisible()&&!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[b])}else{if(this.menu.isVisible()&&b){this.menu.tryActivate(0,1)}}}},deferExpand:function(b){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);if(b){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&&this.menu&&this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)}},deferHide:function(){delete this.hideTimer;if(this.menu.over){this.parentMenu.setActiveItem(this,false)}else{this.menu.hide()}}});Ext.reg("menuitem",Ext.menu.Item);Ext.menu.CheckItem=function(b){Ext.menu.CheckItem.superclass.constructor.call(this,b);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)};Ext.extend(Ext.menu.CheckItem,Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",onRender:function(b){Ext.menu.CheckItem.superclass.onRender.apply(this,arguments);if(this.group){this.el.addClass(this.groupClass)}if(this.checked){this.checked=false;this.setChecked(true,true)}},destroy:function(){Ext.menu.MenuMgr.unregisterCheckable(this);Ext.menu.CheckItem.superclass.destroy.apply(this,arguments)},setChecked:function(c,d){if(this.checked!=c&&this.fireEvent("beforecheckchange",this,c)!==false){if(this.container){this.container[c?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=c;if(d!==true){this.fireEvent("checkchange",this,c)}}},handleClick:function(b){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}});Ext.reg("menucheckitem",Ext.menu.CheckItem);Ext.menu.DateMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,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.apply({internalRender:this.strict||!Ext.isIE,ctCls:"x-menu-date-item"},this.initialConfig))});this.picker.purgeListeners();Ext.menu.DateMenu.superclass.initComponent.call(this);this.relayEvents(this.picker,["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)}},onBeforeShow:function(){if(this.picker){this.picker.hideMonthPicker(true)}},onShow:function(){var b=this.picker.getEl();b.setWidth(b.getWidth())}});Ext.reg("datemenu",Ext.menu.DateMenu);Ext.menu.ColorMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,initComponent:function(){Ext.apply(this,{plain:true,showSeparator:false,items:this.palette=new Ext.ColorPalette(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,isFormField:true,hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:this.name||this.id||""},onRender:function(j,g){if(!this.el){var e=this.getAutoCreate();if(!e.name){e.name=this.name||this.id}if(this.inputType){e.type=this.inputType}this.autoEl=e}Ext.form.Field.superclass.onRender.call(this,j,g);var h=this.el.dom.type;if(h){if(h=="password"){h="text"}this.el.addClass("x-form-"+h)}if(this.readOnly){this.el.dom.readOnly=true}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)}this.el.addClass([this.fieldClass,this.cls])},getItemCt:function(){return this.el.up(".x-form-item",4)},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)},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(b){if(b.isSpecialKey()){this.fireEvent("specialkey",this,b)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.mon(this.el,Ext.EventManager.useKeydown?"keydown":"keypress",this.fireKey,this);this.mon(this.el,"focus",this.onFocus,this);var b=this.inEditor&&Ext.isWindows&&Ext.isGecko?{buffer:10}:null;this.mon(this.el,"blur",this.onBlur,this,b)},onFocus:function(){if(this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&&this.validateOnBlur&&this.validationEvent!="blur"){this.validate()}var b=this.getValue();if(String(b)!==String(this.startValue)){this.fireEvent("change",this,b,this.startValue)}this.fireEvent("blur",this)},isValid:function(e){if(this.disabled){return true}var g=this.preventMark;this.preventMark=e===true;var d=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=g;return d},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(b){return b},validateValue:function(b){return true},markInvalid:function(g){if(!this.rendered||this.preventMark){return}g=g||this.invalidText;var e=this.getMessageHandler();if(e){e.mark(this,g)}else{if(this.msgTarget){this.el.addClass(this.invalidClass);var d=Ext.getDom(this.msgTarget);if(d){d.innerHTML=g;d.style.display=this.msgDisplay}}}this.fireEvent("invalid",this,g)},clearInvalid:function(){if(!this.rendered||this.preventMark){return}this.el.removeClass(this.invalidClass);var d=this.getMessageHandler();if(d){d.clear(this)}else{if(this.msgTarget){this.el.removeClass(this.invalidClass);var c=Ext.getDom(this.msgTarget);if(c){c.innerHTML="";c.style.display="none"}}}this.fireEvent("valid",this)},getMessageHandler:function(){return Ext.form.MessageTargets[this.msgTarget]},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},getRawValue:function(){var b=this.rendered?this.el.getValue():Ext.value(this.value,"");if(b===this.emptyText){b=""}return b},getValue:function(){if(!this.rendered){return this.value}var b=this.el.getValue();if(b===this.emptyText||b===undefined){b=""}return b},setRawValue:function(b){return(this.el.dom.value=(Ext.isEmpty(b)?"":b))},setValue:function(b){this.value=b;if(this.rendered){this.el.dom.value=(Ext.isEmpty(b)?"":b);this.validate()}return this},append:function(b){this.setValue([this.getValue(),b].join(""))},adjustSize:function(g,h){var j=Ext.form.Field.superclass.adjustSize.call(this,g,h);j.width=this.adjustWidth(this.el.dom.tagName,j.width);if(this.offsetCt){var e=this.getItemCt();j.width-=e.getFrameWidth("lr");j.height-=e.getFrameWidth("tb")}return j},adjustWidth:function(d,c){if(typeof c=="number"&&(Ext.isIE&&(Ext.isIE6||!Ext.isStrict))&&/input|textarea/i.test(d)&&!this.inEditor){return c-3}return c}});Ext.form.MessageTargets={qtip:{mark:function(d,c){d.el.addClass(d.invalidClass);d.el.dom.qtip=c;d.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(b){b.el.removeClass(b.invalidClass);b.el.dom.qtip=""}},title:{mark:function(d,c){d.el.addClass(d.invalidClass);d.el.dom.title=c},clear:function(b){b.el.dom.title=""}},under:{mark:function(d,g){d.el.addClass(d.invalidClass);if(!d.errorEl){var e=d.getErrorCt();if(!e){d.el.dom.title=g;return}d.errorEl=e.createChild({cls:"x-form-invalid-msg"});d.errorEl.setWidth(e.getWidth(true)-20)}d.errorEl.update(g);Ext.form.Field.msgFx[d.msgFx].show(d.errorEl,d)},clear:function(b){b.el.removeClass(b.invalidClass);if(b.errorEl){Ext.form.Field.msgFx[b.msgFx].hide(b.errorEl,b)}else{b.el.dom.title=""}}},side:{mark:function(d,g){d.el.addClass(d.invalidClass);if(!d.errorIcon){var e=d.getErrorCt();if(!e){d.el.dom.title=g;return}d.errorIcon=e.createChild({cls:"x-form-invalid-icon"})}d.alignErrorIcon();d.errorIcon.dom.qtip=g;d.errorIcon.dom.qclass="x-form-invalid-tip";d.errorIcon.show();d.on("resize",d.alignErrorIcon,d)},clear:function(b){b.el.removeClass(b.invalidClass);if(b.errorIcon){b.errorIcon.dom.qtip="";b.errorIcon.hide();b.un("resize",b.alignErrorIcon,b)}else{b.el.dom.title=""}}}};Ext.form.Field.msgFx={normal:{show:function(d,c){d.setDisplayed("block")},hide:function(d,c){d.setDisplayed(false).update("")}},slide:{show:function(d,c){d.slideIn("t",{stopFx:true})},hide:function(d,c){d.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(d,c){d.fixDisplay();d.alignTo(c.el,"tl-tr");d.slideIn("l",{stopFx:true})},hide:function(d,c){d.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",Ext.form.Field);Ext.form.TextField=Ext.extend(Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.mon(this.el,"keyup",this.filterValidation,this)}else{if(this.validationEvent!==false){this.mon(this.el,this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.on("focus",this.preFocus,this);this.mon(this.el,"mousedown",function(){if(!this.hasFocus){this.el.on("mouseup",function(b){b.preventDefault()},this,{single:true})}},this);if(this.emptyText){this.on("blur",this.postBlur,this);this.applyEmptyText()}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.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,"keyup",this.onKeyUp,this);this.mon(this.el,"keydown",this.onKeyDown,this);this.mon(this.el,"keypress",this.onKeyPress,this)}},processValue:function(d){if(this.stripCharsRe){var c=d.replace(this.stripCharsRe,"");if(c!==d){this.setRawValue(c);return c}}return d},filterValidation:function(b){if(!b.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable="on"}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=""}},onKeyUpBuffered:function(b){if(!b.isNavKeyPress()){this.autoSize()}},onKeyUp:function(b){this.fireEvent("keyup",this,b)},onKeyDown:function(b){this.fireEvent("keydown",this,b)},onKeyPress:function(b){this.fireEvent("keypress",this,b)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){var b=this.el;if(this.emptyText){if(b.dom.value==this.emptyText){this.setRawValue("")}b.removeClass(this.emptyClass)}if(this.selectOnFocus){(function(){b.dom.select()}).defer(this.inEditor&&Ext.isIE?50:0)}},postBlur:function(){this.applyEmptyText()},filterKeys:function(b){if(b.ctrlKey||b.isSpecialKey()){return}if(!this.maskRe.test(String.fromCharCode(b.getCharCode()))){b.stopEvent()}},setValue:function(b){if(this.emptyText&&this.el&&!Ext.isEmpty(b)){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize();return this},validateValue:function(e){if(Ext.isFunction(this.validator)){var g=this.validator(e);if(g!==true){this.markInvalid(g);return false}}if(e.length<1||e===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(e.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(e.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var d=Ext.form.VTypes;if(!d[this.vtype](e,this)){this.markInvalid(this.vtypeText||d[this.vtype+"Text"]);return false}}if(this.regex&&!this.regex.test(e)){this.markInvalid(this.regexText);return false}return true},selectText:function(k,j){var n=this.getRawValue();var m=false;if(n.length>0){k=k===undefined?0:k;j=j===undefined?n.length:j;var l=this.el.dom;if(l.setSelectionRange){l.setSelectionRange(k,j)}else{if(l.createTextRange){var d=l.createTextRange();d.moveStart("character",k);d.moveEnd("character",j-n.length);d.select()}}m=Ext.isGecko||Ext.isOpera}else{m=true}if(m){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var j=this.el;var d=j.dom.value;var h=document.createElement("div");h.appendChild(document.createTextNode(d));d=h.innerHTML;h=null;Ext.removeNode(h);d+="&#160;";var g=Math.min(this.growMax,Math.max(this.metrics.getWidth(d)+10,this.growMin));this.el.setWidth(g);this.fireEvent("autosize",this,g)},onDestroy:function(){if(this.validationTask){this.validationTask.cancel();this.validationTask=null}Ext.form.TextField.superclass.onDestroy.call(this)}});Ext.reg("textfield",Ext.form.TextField);Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,editable:true,wrapFocusClass:"x-trigger-wrap-focus",autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,actionMode:"wrap",onResize:function(d,c){Ext.form.TriggerField.superclass.onResize.call(this,d,c);if(typeof d=="number"){this.el.setWidth(this.adjustWidth("input",d-this.trigger.getWidth()))}this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}},onRender:function(c,d){Ext.form.TriggerField.superclass.onRender.call(this,c,d);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-field-trigger-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.triggerClass});if(this.hideTrigger){this.trigger.setDisplayed(false)}this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}if(!this.editable){this.editable=true;this.setEditable(false)}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this)},initTrigger:function(){this.mon(this.trigger,"click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){Ext.destroy(this.trigger,this.wrap);if(this.mimicing){Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this)}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;Ext.get(Ext.isIE?document.body:document).on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.el.on("keydown",this.checkTab,this)}}},checkTab:function(b){if(b.getKey()==b.TAB){this.triggerBlur()}},onBlur:function(){},mimicBlur:function(b){if(!this.wrap.contains(b.target)&&this.validateBlur(b)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this);if(this.monitorTab&&this.el){this.el.un("keydown",this.checkTab,this)}Ext.form.TriggerField.superclass.onBlur.call(this);if(this.wrap){this.wrap.removeClass(this.wrapFocusClass)}},beforeBlur:Ext.emptyFn,setEditable:function(b){if(b==this.editable){return}this.editable=b;if(!b){this.el.addClass("x-trigger-noedit").on("click",this.onTriggerClick,this).dom.setAttribute("readOnly",true)}else{this.el.removeClass("x-trigger-noedit").un("click",this.onTriggerClick,this).dom.removeAttribute("readOnly")}},validateBlur:function(b){return true},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(b){return this.triggers[b]},initTrigger:function(){var d=this.trigger.select(".x-form-trigger",true);this.wrap.setStyle("overflow","hidden");var c=this;d.each(function(h,a,j){h.hide=function(){var e=c.wrap.getWidth();this.dom.style.display="none";c.el.setWidth(e-c.trigger.getWidth())};h.show=function(){var e=c.wrap.getWidth();this.dom.style.display="";c.el.setWidth(e-c.trigger.getWidth())};var b="Trigger"+(j+1);if(this["hide"+b]){h.dom.style.display="none"}this.mon(h,"click",this["on"+b+"Click"],this,{preventDefault:true});h.addClassOnOver("x-form-trigger-over");h.addClassOnClick("x-form-trigger-click")},this);this.triggers=d.elements},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg("trigger",Ext.form.TriggerField);Ext.form.TextArea=Ext.extend(Ext.form.TextField,{growMin:60,growMax:1000,growAppend:"&#160;\n&#160;",growPad:Ext.isWebKit?-6:0,enterIsSpecial:false,preventScrollbars:false,onRender:function(c,d){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}}Ext.form.TextArea.superclass.onRender.call(this,c,d);if(this.grow){this.textSizeEl=Ext.DomHelper.append(document.body,{tag:"pre",cls:"x-form-grow-sizer"});if(this.preventScrollbars){this.el.setStyle("overflow","hidden")}this.el.setHeight(this.growMin)}},onDestroy:function(){Ext.destroy(this.textSizeEl);Ext.form.TextArea.superclass.onDestroy.call(this)},fireKey:function(b){if(b.isSpecialKey()&&(this.enterIsSpecial||(b.getKey()!=b.ENTER||b.hasModifier()))){this.fireEvent("specialkey",this,b)}},onKeyUp:function(b){if(!b.isNavKeyPress()||b.getKey()==b.ENTER){this.autoSize()}Ext.form.TextArea.superclass.onKeyUp.call(this,b)},autoSize:function(){if(!this.grow||!this.textSizeEl){return}var j=this.el;var g=j.dom.value;var h=this.textSizeEl;h.innerHTML="";h.appendChild(document.createTextNode(g));g=h.innerHTML;Ext.fly(h).setWidth(this.el.getWidth());if(g.length<1){g="&#160;&#160;"}else{g+=this.growAppend;if(Ext.isIE){g=g.replace(/\n/g,"<br />")}}h.innerHTML=g;var e=Math.min(this.growMax,Math.max(h.offsetHeight,this.growMin)+this.growPad);if(e!=this.lastHeight){this.lastHeight=e;this.el.setHeight(e);this.fireEvent("autosize",this,e)}}});Ext.reg("textarea",Ext.form.TextArea);Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:"x-form-field x-form-num-field",allowDecimals:true,decimalSeparator:".",decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",baseChars:"0123456789",initEvents:function(){var b=this.baseChars+"";if(this.allowDecimals){b+=this.decimalSeparator}if(this.allowNegative){b+="-"}this.maskRe=new RegExp("["+Ext.escapeRe(b)+"]");Ext.form.NumberField.superclass.initEvents.call(this)},validateValue:function(c){if(!Ext.form.NumberField.superclass.validateValue.call(this,c)){return false}if(c.length<1){return true}c=String(c).replace(this.decimalSeparator,".");if(isNaN(c)){this.markInvalid(String.format(this.nanText,c));return false}var d=this.parseValue(c);if(d<this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false}if(d>this.maxValue){this.markInvalid(String.format(this.maxText,this.maxValue));return false}return true},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(b){b=typeof b=="number"?b:parseFloat(String(b).replace(this.decimalSeparator,"."));b=isNaN(b)?"":String(b).replace(".",this.decimalSeparator);return Ext.form.NumberField.superclass.setValue.call(this,b)},parseValue:function(b){b=parseFloat(String(b).replace(this.decimalSeparator,"."));return isNaN(b)?"":b},fixPrecision:function(c){var d=isNaN(c);if(!this.allowDecimals||this.decimalPrecision==-1||d||!c){return d?"":c}return parseFloat(parseFloat(c).toFixed(this.decimalPrecision))},beforeBlur:function(){var b=this.parseValue(this.getRawValue());if(!Ext.isEmpty(b)){this.setValue(this.fixPrecision(b))}}});Ext.reg("numberfield",Ext.form.NumberField);Ext.form.DateField=Ext.extend(Ext.form.TriggerField,{format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(Ext.isString(this.minValue)){this.minValue=this.parseDate(this.minValue)}if(Ext.isString(this.maxValue)){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initDisabledDays:function(){if(this.disabledDates){var d=this.disabledDates,e=d.length-1,g="(?:";Ext.each(d,function(a,b){g+=Ext.isDate(a)?"^"+Ext.escapeRe(a.dateFormat(this.format))+"$":d[b];if(b!=e){g+="|"}},this);this.disabledDatesRE=new RegExp(g+")")}},setDisabledDates:function(b){this.disabledDates=b;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(b){this.disabledDays=b;if(this.menu){this.menu.picker.setDisabledDays(b)}},setMinValue:function(b){this.minValue=(Ext.isString(b)?this.parseDate(b):b);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(b){this.maxValue=(Ext.isString(b)?this.parseDate(b):b);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},validateValue:function(l){l=this.formatDate(l);if(!Ext.form.DateField.superclass.validateValue.call(this,l)){return false}if(l.length<1){return true}var n=l;l=this.parseDate(l);if(!l){this.markInvalid(String.format(this.invalidText,n,this.format));return false}var k=l.getTime();if(this.minValue&&k<this.minValue.getTime()){this.markInvalid(String.format(this.minText,this.formatDate(this.minValue)));return false}if(this.maxValue&&k>this.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));return false}if(this.disabledDays){var j=l.getDay();for(var h=0;h<this.disabledDays.length;h++){if(j===this.disabledDays[h]){this.markInvalid(this.disabledDaysText);return false}}}var m=this.formatDate(l);if(this.disabledDatesRE&&this.disabledDatesRE.test(m)){this.markInvalid(String.format(this.disabledDatesText,m));return false}return true},validateBlur:function(){return !this.menu||!this.menu.isVisible()},getValue:function(){return this.parseDate(Ext.form.DateField.superclass.getValue.call(this))||""},setValue:function(b){return Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(b)))},parseDate:function(h){if(!h||Ext.isDate(h)){return h}var e=Date.parseDate(h,this.format);if(!e&&this.altFormats){if(!this.altFormatsArray){this.altFormatsArray=this.altFormats.split("|")}for(var j=0,g=this.altFormatsArray.length;j<g&&!e;j++){e=Date.parseDate(h,this.altFormatsArray[j])}}return e},onDestroy:function(){Ext.destroy(this.menu);Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(b){return Ext.isDate(b)?b.dateFormat(this.format):b},onTriggerClick:function(){if(this.disabled){return}if(this.menu==null){this.menu=new Ext.menu.DateMenu({hideOnClick:false})}this.onFocus();Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,"tl-bl?");this.menuEvents("on")},menuEvents:function(b){this.menu[b]("select",this.onSelect,this);this.menu[b]("hide",this.onMenuHide,this);this.menu[b]("show",this.onFocus,this)},onSelect:function(d,c){this.setValue(c);this.fireEvent("select",this,c);this.menu.hide()},onMenuHide:function(){this.focus(false,60);this.menuEvents("un")},beforeBlur:function(){var b=this.parseDate(this.getRawValue());if(b){this.setValue(b)}}});Ext.reg("datefield",Ext.form.DateField);Ext.form.DisplayField=Ext.extend(Ext.form.Field,{validationEvent:false,validateOnBlur:false,defaultAutoCreate:{tag:"div"},fieldClass:"x-form-display-field",htmlEncode:false,initEvents:Ext.emptyFn,isValid:function(){return true},validate:function(){return true},getRawValue:function(){var b=this.rendered?this.el.dom.innerHTML:Ext.value(this.value,"");if(b===this.emptyText){b=""}if(this.htmlEncode){b=Ext.util.Format.htmlDecode(b)}return b},getValue:function(){return this.getRawValue()},getName:function(){return this.name},setRawValue:function(b){if(this.htmlEncode){b=Ext.util.Format.htmlEncode(b)}return this.rendered?(this.el.dom.innerHTML=(Ext.isEmpty(b)?"":b)):(this.value=b)},setValue:function(b){this.setRawValue(b);return this}});Ext.reg("displayfield",Ext.form.DisplayField);Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",selectedClass:"x-combo-selected",listEmptyText:"",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,triggerAction:"query",minChars:4,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,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){var p=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=p.name}if(!this.store){this.mode="local";var l=[],o=p.options;for(var d=0,k=o.length;d<k;d++){var m=o[d],n=(m.hasAttribute?m.hasAttribute("value"):m.getAttributeNode("value").specified)?m.value:m.text;if(m.selected&&Ext.isEmpty(this.value,true)){this.value=n}l.push([n,m.text])}this.store=new Ext.data.ArrayStore({id:0,fields:["value","text"],data:l,autoDestroy:true});this.valueField="value";this.displayField="text"}p.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(p,this.autoCreate||this.defaultAutoCreate);this.render(this.el.parentNode,p);Ext.removeNode(p)}else{Ext.removeNode(p)}}else{if(this.store){this.store=Ext.StoreMgr.lookup(this.store);if(this.store.autoCreated){this.displayField=this.valueField="field1";if(!this.store.expandData){this.displayField="field2"}this.mode="local"}}}this.selectedIndex=-1;if(this.mode=="local"){if(!Ext.isDefined(this.initialConfig.queryDelay)){this.queryDelay=10}if(!Ext.isDefined(this.initialConfig.minChars)){this.minChars=0}}},onRender:function(c,d){Ext.form.ComboBox.superclass.onRender.call(this,c,d);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},"before",true);this.el.dom.removeAttribute("name")}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}if(!this.lazyInit){this.initList()}else{this.on("focus",this.initList,this,{single:true})}},initValue:function(){Ext.form.ComboBox.superclass.initValue.call(this);if(this.hiddenField){this.hiddenField.value=Ext.isDefined(this.hiddenValue)?this.hiddenValue:Ext.isDefined(this.value)?this.value:""}},initList:function(){if(!this.list){var d="x-combo-list";this.list=new Ext.Layer({parentEl:this.getListParent(),shadow:this.shadow,cls:[d,this.listClass].join(" "),constrain:false});var c=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setSize(c,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:d+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:d+"-inner"});this.mon(this.innerList,"mouseover",this.onViewOver,this);this.mon(this.innerList,"mousemove",this.onViewMove,this);this.innerList.setWidth(c-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:d+"-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="'+d+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+d+"-item",emptyText:this.listEmptyText});this.mon(this.view,"click",this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.mon(this.resizer,"resize",function(a,g,b){this.maxHeight=b-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=g;this.innerList.setWidth(g-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},getListParent:function(){return document.body},getStore:function(){return this.store},bindStore:function(d,c){if(this.store&&!c){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.collapse,this);if(this.store!==d&&this.store.autoDestroy){this.store.destroy()}if(!d){this.store=null;if(this.view){this.view.bindStore(null)}}}if(d){if(!c){this.lastQuery=null;if(this.pageTb){this.pageTb.bindStore(d)}}this.store=Ext.StoreMgr.lookup(d);this.store.on({scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.collapse});if(this.view){this.view.bindStore(d)}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(b){this.inKeyMode=true;this.selectPrev()},down:function(b){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(b){this.onViewClick();this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)},esc:function(b){this.collapse()},tab:function(b){this.onViewClick(false);return true},scope:this,doRelay:function(g,d,e){if(e=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.editable!==false&&!this.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.form.ComboBox.superclass.onDestroy.call(this)},unsetDelayCheck:function(){delete this.delayedCheck},fireKey:function(c){var d=function(a){if(a.isNavKeyPress()&&!this.isExpanded()&&!this.delayedCheck){this.fireEvent("specialkey",this,a)}};if(this.inEditor&&Ext.isWebKit&&c.getKey()==c.TAB){d.defer(10,this,[new Ext.EventObjectImpl(c)])}else{d.call(this,c)}},onResize:function(e,d){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.list&&!Ext.isDefined(this.listWidth)){var g=Math.max(e,this.minListWidth);this.list.setWidth(g);this.innerList.setWidth(g-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.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(!this.selectByValue(this.value,true)){this.select(0,true)}}else{this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onTypeAhead:function(){if(this.store.getCount()>0){var e=this.store.getAt(0);var j=e.data[this.displayField];var g=j.length;var h=this.getRawValue().length;if(h!=g){this.setRawValue(j);this.selectText(h,j.length)}}},onSelect:function(d,c){if(this.fireEvent("beforeselect",this,d,c)!==false){this.setValue(d.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,d,c)}},getName:function(){var b=this.hiddenField;return b&&b.name?b.name:this.hiddenName||Ext.form.ComboBox.superclass.getName.call(this)},getValue:function(){if(this.valueField){return Ext.isDefined(this.value)?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(e){var g=e;if(this.valueField){var d=this.findRecord(this.valueField,e);if(d){g=d.data[this.displayField]}else{if(Ext.isDefined(this.valueNotFoundText)){g=this.valueNotFoundText}}}this.lastSelectionText=g;if(this.hiddenField){this.hiddenField.value=e}Ext.form.ComboBox.superclass.setValue.call(this,g);this.value=e;return this},findRecord:function(g,d){var e;if(this.store.getCount()>0){this.store.each(function(a){if(a.data[g]==d){e=a;return false}})}return e},onViewMove:function(c,d){this.inKeyMode=false},onViewOver:function(h,e){if(this.inKeyMode){return}var j=this.view.findItemFromChild(e);if(j){var g=this.view.indexOf(j);this.select(g,false)}},onViewClick:function(d){var e=this.view.getSelectedIndexes()[0];var g=this.store.getAt(e);if(g){this.onSelect(g,e)}if(d!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var h=this.innerList.dom;var l=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;var n=Math.max(h.clientHeight,h.offsetHeight,h.scrollHeight);var j=this.getPosition()[1]-Ext.getBody().getScroll().top;var k=Ext.lib.Dom.getViewHeight()-j-this.getSize().height;var m=Math.max(j,k,this.minHeight||0)-this.list.shadowOffset-l-5;n=Math.min(n,m,this.maxHeight);this.innerList.setHeight(n);this.list.beginUpdate();this.list.setHeight(n+l);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(e,g){if(!Ext.isEmpty(e,true)){var d=this.findRecord(this.valueField||this.displayField,e);if(d){this.select(this.store.indexOf(d),g);return true}}return false},select:function(e,g){this.selectedIndex=e;this.view.select(e);if(g!==false){var d=this.view.getNode(e);if(d){this.innerList.scrollChildIntoView(d,false)}}},selectNext:function(){var b=this.store.getCount();if(b>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex<b-1){this.select(this.selectedIndex+1)}}}},selectPrev:function(){var b=this.store.getCount();if(b>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!==0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(c){var d=c.getKey();if(this.editable!==false&&(d==c.BACKSPACE||!c.isSpecialKey())){this.lastKey=d;this.dqTask.delay(this.queryDelay)}Ext.form.ComboBox.superclass.onKeyUp.call(this,c)},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},beforeBlur:function(){var c=this.getRawValue();if(this.forceSelection){if(c.length>0&&c!=this.emptyText){this.el.dom.value=Ext.isDefined(this.lastSelectionText)?this.lastSelectionText:"";this.applyEmptyText()}else{this.clearValue()}}else{var d=this.findRecord(this.displayField,c);if(d){c=d.get(this.valueField||this.displayField)}this.setValue(c)}},doQuery:function(g,d){g=Ext.isEmpty(g)?"":g;var e={query:g,forceAll:d,combo:this,cancel:false};if(this.fireEvent("beforequery",e)===false||e.cancel){return false}g=e.query;d=e.forceAll;if(d===true||(g.length>=this.minChars)){if(this.lastQuery!==g){this.lastQuery=g;if(this.mode=="local"){this.selectedIndex=-1;if(d){this.store.clearFilter()}else{this.store.filter(this.displayField,g)}this.onLoad()}else{this.store.baseParams[this.queryParam]=g;this.store.load({params:this.getParams(g)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(d){var c={};if(this.pageSize){c.start=0;c.limit=this.pageSize}return c},collapse:function(){if(!this.isExpanded()){return}this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.fireEvent("collapse",this)},collapseIf:function(b){if(!b.within(this.wrap)&&!b.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return}this.list.alignTo(this.wrap,this.listAlign);this.list.show();if(Ext.isGecko2){this.innerList.setOverflow("auto")}Ext.getDoc().on({scope:this,mousewheel:this.collapseIf,mousedown:this.collapseIf});this.fireEvent("expand",this)},onTriggerClick:function(){if(this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{focusClass:undefined,fieldClass:"x-form-field",checked:false,defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},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,"click",this.onClick,this);this.mon(this.el,"change",this.onClick,this)},getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,onRender:function(c,d){Ext.form.Checkbox.superclass.onRender.call(this,c,d);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.wrap=this.el.wrap({cls:"x-form-check-wrap"});if(this.boxLabel){this.wrap.createChild({tag:"label",htmlFor:this.el.id,cls:"x-form-cb-label",html:this.boxLabel})}if(this.checked){this.setValue(true)}else{this.checked=this.el.dom.checked}},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 false},onClick:function(){if(this.el.dom.checked!=this.checked){this.setValue(this.el.dom.checked)}},setValue:function(d){var c=this.checked;this.checked=(d===true||d==="true"||d=="1"||String(d).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");Ext.form.CheckboxGroup.superclass.initComponent.call(this)},onRender:function(y,A){if(!this.el){var t={cls:this.groupCls,layout:"column",border:false,renderTo:y};var F={defaultType:this.defaultType,layout:"form",border:false,defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(t,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var B=0,w=this.items.length;B<w;B++){Ext.applyIf(this.items[B],F)}}else{var C,v=[];if(typeof this.columns=="string"){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var x=[];for(var B=0;B<this.columns;B++){x.push((100/this.columns)*0.01)}this.columns=x}C=this.columns.length;for(var B=0;B<C;B++){var E=Ext.apply({items:[]},F);E[this.columns[B]<=1?"columnWidth":"width"]=this.columns[B];if(this.defaults){E.defaults=Ext.apply(E.defaults||{},this.defaults)}v.push(E)}if(this.vertical){var l=Math.ceil(this.items.length/C),u=0;for(var B=0,w=this.items.length;B<w;B++){if(B>0&&B%l==0){u++}if(this.items[B].fieldLabel){this.items[B].hideLabel=false}v[u].items.push(this.items[B])}}else{for(var B=0,w=this.items.length;B<w;B++){var s=B%C;if(this.items[B].fieldLabel){this.items[B].hideLabel=false}v[s].items.push(this.items[B])}}Ext.apply(t,{layoutConfig:{columns:C},items:v})}this.panel=new Ext.Panel(t);this.panel.ownerCt=this;this.el=this.panel.getEl();if(this.forId&&this.itemCls){var D=this.el.up(this.itemCls).child("label",true);if(D){D.setAttribute("htmlFor",this.forId)}}var z=this.panel.findBy(function(a){return a.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(z)}Ext.form.CheckboxGroup.superclass.onRender.call(this,y,A)},afterRender:function(){Ext.form.CheckboxGroup.superclass.afterRender.call(this);if(this.values){this.setValue.apply(this,this.values);delete this.values}this.eachItem(function(b){b.on("check",this.fireChecked,this);b.inGroup=true})},doLayout:function(){if(this.rendered){this.panel.forceLayout=this.ownerCt.forceLayout;this.panel.doLayout()}},fireChecked:function(){var b=[];this.eachItem(function(a){if(a.checked){b.push(a)}});this.fireEvent("change",this,b)},validateValue:function(d){if(!this.allowBlank){var c=true;this.eachItem(function(a){if(a.checked){return(c=false)}});if(c){this.markInvalid(this.blankText);return false}}return true},onDisable:function(){this.eachItem(function(b){b.disable()})},onEnable:function(){this.eachItem(function(b){b.enable()})},doLayout:function(){if(this.rendered){this.panel.forceLayout=this.ownerCt.forceLayout;this.panel.doLayout()}},onResize:function(d,c){this.panel.setSize(d,c);this.panel.doLayout()},reset:function(){Ext.form.CheckboxGroup.superclass.reset.call(this);this.eachItem(function(b){if(b.reset){b.reset()}})},setValue:function(h,j){if(this.rendered){if(arguments.length==1){if(Ext.isArray(h)){Ext.each(h,function(a,c){var b=this.items.itemAt(c);if(b){b.setValue(a)}},this)}else{if(Ext.isObject(h)){for(var g in h){var e=this.getBox(g);if(e){e.setValue(h[g])}}}else{this.setValueForItem(h)}}}else{var e=this.getBox(h);if(e){e.setValue(j)}}}else{this.values=arguments}return this},onDestroy:function(){Ext.destroy(this.panel);Ext.form.CheckboxGroup.superclass.onDestroy.call(this)},setValueForItem:function(b){b=String(b).split(",");this.eachItem(function(a){if(b.indexOf(a.inputValue)>-1){a.setValue(true)}})},getBox:function(c){var d=null;this.eachItem(function(a){if(c==a||a.dataIndex==c||a.id==c||a.getName()==c){d=a;return false}});return d},getValue:function(){var b=[];this.eachItem(function(a){if(a.checked){b.push(a)}});return b},eachItem:function(b){if(this.items&&this.items.each){this.items.each(b,this)}},initValue:Ext.emptyFn,getValue:Ext.emptyFn,getRawValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg("checkboxgroup",Ext.form.CheckboxGroup);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,getGroupValue:function(){var d=this.el.up("form")||Ext.getBody();var c=d.child("input[name="+this.el.dom.name+"]:checked",true);return c?c.value:null},onClick:function(){if(this.el.dom.checked!=this.checked){var b=this.getCheckEl().select("input[name="+this.el.dom.name+"]");b.each(function(a){if(a.dom.id==this.id){this.setValue(true)}else{Ext.getCmp(a.dom.id).setValue(false)}},this)}},setValue:function(d){if(typeof d=="boolean"){Ext.form.Radio.superclass.setValue.call(this,d)}else{var c=this.getCheckEl().child("input[name="+this.el.dom.name+"][value="+d+"]",true);if(c){Ext.getCmp(c.id).setValue(true)}}return this},getCheckEl:function(){if(this.inGroup){return this.el.up(".x-form-radio-group")}return this.el.up("form")||Ext.getBody()}});Ext.reg("radio",Ext.form.Radio);Ext.form.RadioGroup=Ext.extend(Ext.form.CheckboxGroup,{allowBlank:true,blankText:"You must select one item in this group",defaultType:"radio",groupCls:"x-form-radio-group",getValue:function(){var b=null;this.eachItem(function(a){if(a.checked){b=a;return false}});return b},setValue:function(g,d){if(this.rendered){if(arguments.length>1){var e=this.getBox(g);if(e){e.setValue(d);if(e.checked){this.eachItem(function(a){if(a!==e){a.setValue(false)}})}}}else{this.setValueForItem(g)}}else{this.values=arguments}return this},fireChecked:function(){if(!this.checkTask){this.checkTask=new Ext.util.DelayedTask(this.bufferChecked,this)}this.checkTask.delay(10)},bufferChecked:function(){var b=null;this.eachItem(function(a){if(a.checked){b=a;return false}});this.fireEvent("change",this,b)},onDestroy:function(){if(this.checkTask){this.checkTask.cancel();this.checkTask=null}Ext.form.RadioGroup.superclass.onDestroy.call(this)}});Ext.reg("radiogroup",Ext.form.RadioGroup);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:"hidden",onRender:function(){Ext.form.Hidden.superclass.onRender.apply(this,arguments)},initEvents:function(){this.originalValue=this.getValue()},setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg("hidden",Ext.form.Hidden);Ext.form.BasicForm=function(c,d){Ext.apply(this,d);if(Ext.isString(this.paramOrder)){this.paramOrder=this.paramOrder.split(/[\s,|]/)}this.items=new Ext.util.MixedCollection(false,function(a){return a.itemId||a.id||(a.id=Ext.id())});this.addEvents("beforeaction","actionfailed","actioncomplete");if(c){this.initEl(c)}Ext.form.BasicForm.superclass.constructor.call(this)};Ext.extend(Ext.form.BasicForm,Ext.util.Observable,{timeout:30,paramOrder:undefined,paramsAsHash:false,activeAction:null,trackResetOnLoad:false,initEl:function(b){this.el=Ext.get(b);this.id=this.el.id||Ext.id();if(!this.standardSubmit){this.el.on("submit",this.onSubmit,this)}this.el.addClass("x-form")},getEl:function(){return this.el},onSubmit:function(b){b.stopEvent()},destroy:function(){this.items.each(function(b){Ext.destroy(b)});if(this.el){this.el.removeAllListeners();this.el.remove()}this.purgeListeners()},isValid:function(){var b=true;this.items.each(function(a){if(!a.validate()){b=false}});return b},isDirty:function(){var b=false;this.items.each(function(a){if(a.isDirty()){b=true;return false}});return b},doAction:function(c,d){if(Ext.isString(c)){c=new Ext.form.Action.ACTION_TYPES[c](this,d)}if(this.fireEvent("beforeaction",this,c)!==false){this.beforeAction(c);c.run.defer(100,c)}return this},submit:function(d){if(this.standardSubmit){var e=this.isValid();if(e){this.el.dom.submit()}return e}var g=String.format("{0}submit",this.api?"direct":"");this.doAction(g,d);return this},load:function(d){var c=String.format("{0}load",this.api?"direct":"");this.doAction(c,d);return this},updateRecord:function(c){c.beginEdit();var d=c.fields;d.each(function(b){var a=this.findField(b.name);if(a){c.set(b.name,a.getValue())}},this);c.endEdit();return this},loadRecord:function(b){this.setValues(b.data);return this},beforeAction:function(d){var c=d.options;if(c.waitMsg){if(this.waitMsgTarget===true){this.el.mask(c.waitMsg,"x-mask-loading")}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(c.waitMsg,"x-mask-loading")}else{Ext.MessageBox.wait(c.waitMsg,c.waitTitle||this.waitTitle||"Please Wait...")}}}},afterAction:function(e,g){this.activeAction=null;var d=e.options;if(d.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(g){if(d.reset){this.reset()}Ext.callback(d.success,d.scope,[this,e]);this.fireEvent("actioncomplete",this,e)}else{Ext.callback(d.failure,d.scope,[this,e]);this.fireEvent("actionfailed",this,e)}},findField:function(c){var d=this.items.get(c);if(!Ext.isObject(d)){this.items.each(function(a){if(a.isFormField&&(a.dataIndex==c||a.id==c||a.getName()==c)){d=a;return false}})}return d||null},markInvalid:function(l){if(Ext.isArray(l)){for(var p=0,k=l.length;p<k;p++){var j=l[p];var o=this.findField(j.id);if(o){o.markInvalid(j.msg)}}}else{var n,m;for(m in l){if(!Ext.isFunction(l[m])&&(n=this.findField(m))){n.markInvalid(l[m])}}}return this},setValues:function(p){if(Ext.isArray(p)){for(var o=0,k=p.length;o<k;o++){var j=p[o];var n=this.findField(j.id);if(n){n.setValue(j.value);if(this.trackResetOnLoad){n.originalValue=n.getValue()}}}}else{var m,l;for(l in p){if(!Ext.isFunction(p[l])&&(m=this.findField(l))){m.setValue(p[l]);if(this.trackResetOnLoad){m.originalValue=m.getValue()}}}}return this},getValues:function(c){var d=Ext.lib.Ajax.serializeForm(this.el.dom);if(c===true){return d}return Ext.urlDecode(d)},getFieldValues:function(){var b={};this.items.each(function(a){b[a.getName()]=a.getValue()});return b},clearInvalid:function(){this.items.each(function(b){b.clearInvalid()});return this},reset:function(){this.items.each(function(b){b.reset()});return this},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));return this},remove:function(b){this.items.remove(b);return this},render:function(){this.items.each(function(b){if(b.isFormField&&!b.rendered&&document.getElementById(b.id)){b.applyToMarkup(b.id)}});return this},applyToFields:function(b){this.items.each(function(a){Ext.apply(a,b)});return this},applyIfToFields:function(b){this.items.each(function(a){Ext.applyIf(a,b)});return this},callFieldMethod:function(c,d){d=d||[];this.items.each(function(a){if(Ext.isFunction(a[c])){a[c].apply(a,d)}});return this}});Ext.BasicForm=Ext.form.BasicForm;Ext.FormPanel=Ext.extend(Ext.Panel,{minButtonWidth:75,labelAlign:"left",monitorValid:false,monitorPoll:200,layout:"form",initComponent:function(){this.form=this.createForm();Ext.FormPanel.superclass.initComponent.call(this);this.bodyCfg={tag:"form",cls:this.baseCls+"-body",method:this.method||"POST",id:this.formId||Ext.id()};if(this.fileUpload){this.bodyCfg.enctype="multipart/form-data"}this.initItems();this.addEvents("clientvalidation");this.relayEvents(this.form,["beforeaction","actionfailed","actioncomplete"])},createForm:function(){var b=Ext.applyIf({listeners:{}},this.initialConfig);return new Ext.form.BasicForm(null,b)},initFields:function(){var g=this.form;var e=this;var d=function(a){if(e.isField(a)){g.add(a)}if(a.isFieldWrap){Ext.applyIf(a,{labelAlign:a.ownerCt.labelAlign,labelWidth:a.ownerCt.labelWidth,itemCls:a.ownerCt.itemCls});g.add(a.field)}else{if(a.doLayout&&a!=e){Ext.applyIf(a,{labelAlign:a.ownerCt.labelAlign,labelWidth:a.ownerCt.labelWidth,itemCls:a.ownerCt.itemCls});if(a.items&&a.items.each){a.items.each(d,this)}}}};this.items.each(d,this)},getLayoutTarget:function(){return this.form.el},getForm:function(){return this.form},onRender:function(c,d){this.initFields();Ext.FormPanel.superclass.onRender.call(this,c,d);this.form.initEl(this.body)},beforeDestroy:function(){this.stopMonitoring();Ext.FormPanel.superclass.beforeDestroy.call(this);this.form.items.clear();Ext.destroy(this.form)},isField:function(b){return !!b.setValue&&!!b.getValue&&!!b.markInvalid&&!!b.clearInvalid},initEvents:function(){Ext.FormPanel.superclass.initEvents.call(this);this.on("remove",this.onRemove,this);this.on("add",this.onAdd,this);if(this.monitorValid){this.startMonitoring()}},onAdd:function(d,c){if(this.isField(c)){this.form.add(c)}else{if(c.findBy){Ext.applyIf(c,{labelAlign:c.ownerCt.labelAlign,labelWidth:c.ownerCt.labelWidth,itemCls:c.ownerCt.itemCls});this.form.add.apply(this.form,c.findBy(this.isField))}}},onRemove:function(d,c){if(this.isField(c)){Ext.destroy(c.container.up(".x-form-item"));this.form.remove(c)}else{if(c.findByType){Ext.each(c.findBy(this.isField),this.form.remove,this.form)}}},startMonitoring:function(){if(!this.validTask){this.validTask=new Ext.util.TaskRunner();this.validTask.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){if(this.validTask){this.validTask.stopAll();this.validTask=null}},load:function(){this.form.load.apply(this.form,arguments)},onDisable:function(){Ext.FormPanel.superclass.onDisable.call(this);if(this.form){this.form.items.each(function(){this.disable()})}},onEnable:function(){Ext.FormPanel.superclass.onEnable.call(this);if(this.form){this.form.items.each(function(){this.enable()})}},bindHandler:function(){var j=true;this.form.items.each(function(a){if(!a.isValid(true)){j=false;return false}});if(this.fbar){var g=this.fbar.items.items;for(var k=0,h=g.length;k<h;k++){var l=g[k];if(l.formBind===true&&l.disabled===j){l.setDisabled(!j)}}}this.fireEvent("clientvalidation",this,j)}});Ext.reg("form",Ext.FormPanel);Ext.form.FormPanel=Ext.FormPanel;Ext.form.FieldSet=Ext.extend(Ext.Panel,{baseCls:"x-fieldset",layout:"form",animCollapse:false,onRender:function(d,e){if(!this.el){this.el=document.createElement("fieldset");this.el.id=this.id;if(this.title||this.header||this.checkboxToggle){this.el.appendChild(document.createElement("legend")).className="x-fieldset-header"}}Ext.form.FieldSet.superclass.onRender.call(this,d,e);if(this.checkboxToggle){var g=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};this.checkbox=this.header.insertFirst(g);this.checkbox.dom.checked=!this.collapsed;this.mon(this.checkbox,"click",this.onCheckClick,this)}},onCollapse:function(d,c){if(this.checkbox){this.checkbox.dom.checked=false}Ext.form.FieldSet.superclass.onCollapse.call(this,d,c)},onExpand:function(d,c){if(this.checkbox){this.checkbox.dom.checked=true}Ext.form.FieldSet.superclass.onExpand.call(this,d,c)},onCheckClick:function(){this[this.checkbox.dom.checked?"expand":"collapse"]()}});Ext.reg("fieldset",Ext.form.FieldSet);Ext.form.HtmlEditor=Ext.extend(Ext.form.Field,{enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:(Ext.isOpera||Ext.isIE6)?"&nbsp;":"&#8203;",actionMode:"wrap",validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:Ext.emptyFn,iframePad:3,hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:500px;height:300px;",autocomplete:"off"},initComponent:function(){this.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange")},createFontOptions:function(){var m=[],h=this.fontFamilies,n,k;for(var l=0,j=h.length;l<j;l++){n=h[l];k=n.toLowerCase();m.push('<option value="',k,'" style="font-family:',n,';"',(this.defaultFont==k?' selected="true">':">"),n,"</option>")}return m.join("")},createToolbar:function(h){var g=Ext.QuickTips&&Ext.QuickTips.isEnabled();function j(a,c,b){return{itemId:a,cls:"x-btn-icon",iconCls:"x-edit-"+a,enableToggle:c!==false,scope:h,handler:b||h.relayBtnCmd,clickEvent:"mousedown",tooltip:g?h.buttonTips[a]||undefined:undefined,overflowText:h.buttonTips[a].title||undefined,tabIndex:-1}}var e=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild});this.mon(e.el,"click",function(a){a.preventDefault()});if(this.enableFont&&!Ext.isSafari2){this.fontSelect=e.el.createChild({tag:"select",cls:"x-font-select",html:this.createFontOptions()});this.mon(this.fontSelect,"change",function(){var a=this.fontSelect.dom.value;this.relayCmd("fontname",a);this.deferFocus()},this);e.add(this.fontSelect.dom,"-")}if(this.enableFormat){e.add(j("bold"),j("italic"),j("underline"))}if(this.enableFontSize){e.add("-",j("increasefontsize",false,this.adjustFont),j("decreasefontsize",false,this.adjustFont))}if(this.enableColors){e.add("-",{itemId:"forecolor",cls:"x-btn-icon",iconCls:"x-edit-forecolor",clickEvent:"mousedown",tooltip:g?h.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,listeners:{scope:this,select:function(a,b){this.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+b:b);this.deferFocus()}},clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon",iconCls:"x-edit-backcolor",clickEvent:"mousedown",tooltip:g?h.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,listeners:{scope:this,select:function(a,b){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",b);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+b:b);this.deferFocus()}}},clickEvent:"mousedown"})})}if(this.enableAlignments){e.add("-",j("justifyleft"),j("justifycenter"),j("justifyright"))}if(!Ext.isSafari2){if(this.enableLinks){e.add("-",j("createlink",false,this.createLink))}if(this.enableLists){e.add("-",j("insertorderedlist"),j("insertunorderedlist"))}if(this.enableSourceEdit){e.add("-",j("sourceedit",true,function(a){this.toggleSourceEdit(!this.sourceEditMode)}))}}this.tb=e},getDocMarkup:function(){return'<html><head><style type="text/css">body{border:0;margin:0;padding:3px;height:98%;cursor:text;}</style></head><body></body></html>'},getEditorBody:function(){return this.doc.body||this.doc.documentElement},getDoc:function(){return Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)},getWin:function(){return Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]},onRender:function(d,e){Ext.form.HtmlEditor.superclass.onRender.call(this,d,e);this.el.dom.style.border="0 none";this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");if(Ext.isIE){this.el.applyStyles("margin-top:-1px;margin-bottom:-1px;")}this.wrap=this.el.wrap({cls:"x-html-editor-wrap",cn:{cls:"x-html-editor-tb"}});this.createToolbar(this);this.disableItems(true);this.createIFrame();if(!this.width){var g=this.el.getSize();this.setSize(g.width,this.height||g.height)}},createIFrame:function(){var b=document.createElement("iframe");b.name=Ext.id();b.frameBorder="0";b.src=Ext.isIE?Ext.SSL_SECURE_URL:"javascript:;";this.wrap.dom.appendChild(b);this.iframe=b;this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})},initFrame:function(){Ext.TaskMgr.stop(this.monitorTask);this.doc=this.getDoc();this.win=this.getWin();this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var b={run:function(){if(this.doc.body||this.doc.readyState=="complete"){Ext.TaskMgr.stop(b);this.doc.designMode="on";this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(b)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var b=this.getDoc();if(!b){return}if(!b.editorInitialized||String(b.designMode).toLowerCase()!="on"){this.initFrame()}}},disableItems:function(b){if(this.fontSelect){this.fontSelect.dom.disabled=b}this.tb.items.each(function(a){if(a.itemId!="sourceedit"){a.setDisabled(b)}})},onResize:function(e,j){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(typeof e=="number"){var h=e-this.wrap.getFrameWidth("lr");this.el.setWidth(this.adjustWidth("textarea",h));this.tb.setWidth(h);this.iframe.style.width=Math.max(h,0)+"px"}if(typeof j=="number"){var g=j-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(this.adjustWidth("textarea",g));this.iframe.style.height=Math.max(g,0)+"px";if(this.doc){this.getEditorBody().style.height=Math.max((g-(this.iframePad*2)),0)+"px"}}}},toggleSourceEdit:function(e){if(e===undefined){e=!this.sourceEditMode}this.sourceEditMode=e===true;var g=this.tb.items.get("sourceedit");if(g.pressed!==this.sourceEditMode){g.toggle(this.sourceEditMode);if(!g.xtbHidden){return}}if(this.sourceEditMode){this.disableItems(true);this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus()}else{if(this.initialized){this.disableItems(false)}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus()}var d=this.lastSize;if(d){delete this.lastSize;this.setSize(d)}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var b=prompt(this.createLinkText,this.defaultLinkValue);if(b&&b!="http://"){this.relayCmd("createlink",b)}},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},initEvents:function(){this.originalValue=this.getValue()},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,setValue:function(b){Ext.form.HtmlEditor.superclass.setValue.call(this,b);this.pushValue();return this},cleanHtml:function(b){b=String(b);if(b.length>5){if(Ext.isWebKit){b=b.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}}if(b==this.defaultValue){b=""}return b},syncValue:function(){if(this.initialized){var h=this.getEditorBody();var j=h.innerHTML;if(Ext.isWebKit){var e=h.getAttribute("style");var g=e.match(/text-align:(.*?);/i);if(g&&g[1]){j='<div style="'+g[0]+'">'+j+"</div>"}}j=this.cleanHtml(j);if(this.fireEvent("beforesync",this,j)!==false){this.el.dom.value=j;this.fireEvent("sync",this,j)}}},getValue:function(){this[this.sourceEditMode?"pushValue":"syncValue"]();return Ext.form.HtmlEditor.superclass.getValue.call(this)},pushValue:function(){if(this.initialized){var e=this.el.dom.value;if(!this.activated&&e.length<1){e=this.defaultValue}if(this.fireEvent("beforepush",this,e)!==false){this.getEditorBody().innerHTML=e;if(Ext.isGecko){var g=this.doc,d=g.designMode.toLowerCase();g.designMode=d.toggle("on","off");g.designMode=d}this.fireEvent("push",this,e)}}},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();var e=this.el.getStyles("font-size","font-family","background-image","background-repeat");e["background-attachment"]="fixed";d.bgProperties="fixed";Ext.DomHelper.applyStyles(d,e);if(this.doc){try{Ext.EventManager.removeAll(this.doc)}catch(g){}}this.doc=this.getDoc();Ext.EventManager.on(this.doc,{mousedown:this.onEditorEvent,dblclick:this.onEditorEvent,click:this.onEditorEvent,keyup:this.onEditorEvent,buffer:100,scope:this});if(Ext.isGecko){Ext.EventManager.on(this.doc,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isWebKit||Ext.isOpera){Ext.EventManager.on(this.doc,"keydown",this.fixKeys,this)}this.initialized=true;this.fireEvent("initialize",this);this.doc.editorInitialized=true;this.pushValue()}catch(g){}},onDestroy:function(){if(this.monitorTask){Ext.TaskMgr.stop(this.monitorTask)}if(this.rendered){Ext.destroy(this.tb);if(this.wrap){this.wrap.dom.innerHTML="";this.wrap.remove()}}if(this.el){this.el.removeAllListeners();this.el.remove()}if(this.doc){try{Ext.EventManager.removeAll(this.doc);for(var c in this.doc){delete this.doc[c]}}catch(d){}}this.purgeListeners()},onFirstFocus:function(){this.activated=true;this.disableItems(false);if(Ext.isGecko){this.win.focus();var e=this.win.getSelection();if(!e.focusNode||e.focusNode.nodeType!=3){var d=e.getRangeAt(0);d.selectNodeContents(this.getEditorBody());d.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(g){}}this.fireEvent("activate",this)},adjustFont:function(d){var g=d.itemId=="increasefontsize"?1:-1;var e=parseInt(this.doc.queryCommandValue("FontSize")||2,10);if((Ext.isSafari&&!Ext.isSafari2)||Ext.isChrome||Ext.isAir){if(e<=10){e=1+g}else{if(e<=13){e=2+g}else{if(e<=16){e=3+g}else{if(e<=18){e=4+g}else{if(e<=24){e=5+g}else{e=6+g}}}}}e=e.constrain(1,6)}else{if(Ext.isSafari){g*=2}e=Math.max(1,e+g)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",e)},onEditorEvent:function(b){this.updateToolbar()},updateToolbar:function(){if(!this.activated){this.onFirstFocus();return}var d=this.tb.items.map,g=this.doc;if(this.enableFont&&!Ext.isSafari2){var e=(this.doc.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(e!=this.fontSelect.dom.value){this.fontSelect.dom.value=e}}if(this.enableFormat){d.bold.toggle(g.queryCommandState("bold"));d.italic.toggle(g.queryCommandState("italic"));d.underline.toggle(g.queryCommandState("underline"))}if(this.enableAlignments){d.justifyleft.toggle(g.queryCommandState("justifyleft"));d.justifycenter.toggle(g.queryCommandState("justifycenter"));d.justifyright.toggle(g.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){d.insertorderedlist.toggle(g.queryCommandState("insertorderedlist"));d.insertunorderedlist.toggle(g.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(b){this.relayCmd(b.itemId)},relayCmd:function(c,d){(function(){this.focus();this.execCmd(c,d);this.updateToolbar()}).defer(10,this)},execCmd:function(c,d){this.doc.execCommand(c,false,d===undefined?null:d);this.syncValue()},applyCommand:function(c){if(c.ctrlKey){var g=c.getCharCode(),e;if(g>0){g=String.fromCharCode(g);switch(g){case"b":e="bold";break;case"i":e="italic";break;case"u":e="underline";break}if(e){this.win.focus();this.execCmd(e);this.deferFocus();c.preventDefault()}}}},insertAtCursor:function(c){if(!this.activated){return}if(Ext.isIE){this.win.focus();var d=this.doc.selection.createRange();if(d){d.collapse(true);d.pasteHTML(c);this.syncValue();this.deferFocus()}}else{if(Ext.isGecko||Ext.isOpera){this.win.focus();this.execCmd("InsertHTML",c);this.deferFocus()}else{if(Ext.isWebKit){this.execCmd("InsertText",c);this.deferFocus()}}}},fixKeys:function(){if(Ext.isIE){return function(h){var g=h.getKey(),e;if(g==h.TAB){h.stopEvent();e=this.doc.selection.createRange();if(e){e.collapse(true);e.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else{if(g==h.ENTER){e=this.doc.selection.createRange();if(e){var j=e.parentElement();if(!j||j.tagName.toLowerCase()!="li"){h.stopEvent();e.pasteHTML("<br />");e.collapse(false);e.select()}}}}}}else{if(Ext.isOpera){return function(c){var d=c.getKey();if(d==c.TAB){c.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}}else{if(Ext.isWebKit){return function(c){var d=c.getKey();if(d==c.TAB){c.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:null,maxValue:null,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initComponent:function(){if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}if(!this.store){var d=this.parseDate(this.minValue)||new Date(this.initDate).clearTime();var e=this.parseDate(this.maxValue)||new Date(this.initDate).clearTime().add("mi",(24*60)-1);var g=[];while(d<=e){g.push(d.dateFormat(this.format));d=d.add("mi",this.increment)}this.store=g}Ext.form.TimeField.superclass.initComponent.call(this)},getValue:function(){var b=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(b))||""},setValue:function(b){return Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(b)))},validateValue:Ext.form.DateField.prototype.validateValue,parseDate:Ext.form.DateField.prototype.parseDate,formatDate:Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var b=this.parseDate(this.getRawValue());if(b){this.setValue(b.dateFormat(this.format))}Ext.form.TimeField.superclass.beforeBlur.call(this)}});Ext.reg("timefield",Ext.form.TimeField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(c,d){if(!this.el){this.el=document.createElement("label");this.el.id=this.getId();this.el.innerHTML=this.text?Ext.util.Format.htmlEncode(this.text):(this.html||"");if(this.forId){this.el.setAttribute("for",this.forId)}}Ext.form.Label.superclass.onRender.call(this,c,d)},setText:function(e,d){var g=d===false;this[!g?"text":"html"]=e;delete this[g?"text":"html"];if(this.rendered){this.el.dom.innerHTML=d!==false?Ext.util.Format.htmlEncode(e):e}return this}});Ext.reg("label",Ext.form.Label);Ext.form.Action=function(c,d){this.form=c;this.options=d||{}};Ext.form.Action.CLIENT_INVALID="client";Ext.form.Action.SERVER_INVALID="server";Ext.form.Action.CONNECT_FAILURE="connect";Ext.form.Action.LOAD_FAILURE="load";Ext.form.Action.prototype={type:"default",run:function(b){},success:function(b){},handleResponse:function(b){},failure:function(b){this.response=b;this.failureType=Ext.form.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(b){this.response=b;if(!b.responseText&&!b.responseXML){return true}this.result=this.handleResponse(b);return this.result},getUrl:function(g){var e=this.options.url||this.form.url||this.form.el.dom.action;if(g){var d=this.getParams();if(d){e=Ext.urlAppend(e,d)}}return e},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var d=this.form.baseParams;var c=this.options.params;if(c){if(typeof c=="object"){c=Ext.urlEncode(Ext.applyIf(c,d))}else{if(typeof c=="string"&&d){c+="&"+Ext.urlEncode(d)}}}else{if(d){c=Ext.urlEncode(d)}}return c},createCallback:function(b){var b=b||{};return{success:this.success,failure:this.failure,scope:this,timeout:(b.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}}};Ext.form.Action.Submit=function(c,d){Ext.form.Action.Submit.superclass.constructor.call(this,c,d)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:"submit",run:function(){var d=this.options;var g=this.getMethod();var e=g=="GET";if(d.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(d),{form:this.form.el.dom,url:this.getUrl(e),method:g,headers:d.headers,params:!e?this.getParams():null,isUpload:this.form.fileUpload}))}else{if(d.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(c){var d=this.processResponse(c);if(d===true||d.success){this.form.afterAction(this,true);return}if(d.errors){this.form.markInvalid(d.errors);this.failureType=Ext.form.Action.SERVER_INVALID}this.form.afterAction(this,false)},handleResponse:function(n){if(this.form.errorReader){var h=this.form.errorReader.read(n);var k=[];if(h.records){for(var m=0,j=h.records.length;m<j;m++){var l=h.records[m];k[m]=l.data}}if(k.length<1){k=null}return{success:h.success,errors:k}}return Ext.decode(n.responseText)}});Ext.form.Action.Load=function(c,d){Ext.form.Action.Load.superclass.constructor.call(this,c,d);this.reader=this.form.reader};Ext.extend(Ext.form.Action.Load,Ext.form.Action,{type:"load",run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(this.options),{method:this.getMethod(),url:this.getUrl(false),headers:this.options.headers,params:this.getParams()}))},success:function(c){var d=this.processResponse(c);if(d===true||!d.success||!d.data){this.failureType=Ext.form.Action.LOAD_FAILURE;this.form.afterAction(this,false);return}this.form.clearInvalid();this.form.setValues(d.data);this.form.afterAction(this,true)},handleResponse:function(d){if(this.form.reader){var e=this.form.reader.read(d);var g=e.records&&e.records[0]?e.records[0].data:null;return{success:e.success,data:g}}return Ext.decode(d.responseText)}});Ext.form.Action.DirectLoad=Ext.extend(Ext.form.Action.Load,{constructor:function(c,d){Ext.form.Action.DirectLoad.superclass.constructor.call(this,c,d)},type:"directload",run:function(){var b=this.getParams();b.push(this.success,this);this.form.api.load.apply(window,b)},getParams:function(){var p=[],l={};var n=this.form.baseParams;var m=this.options.params;Ext.apply(l,m,n);var j=this.form.paramOrder;if(j){for(var o=0,k=j.length;o<k;o++){p.push(l[j[o]])}}else{if(this.form.paramsAsHash){p.push(l)}}return p},processResponse:function(b){this.result=b;return b}});Ext.form.Action.DirectSubmit=Ext.extend(Ext.form.Action.Submit,{constructor:function(c,d){Ext.form.Action.DirectSubmit.superclass.constructor.call(this,c,d)},type:"directsubmit",run:function(){var b=this.options;if(b.clientValidation===false||this.form.isValid()){this.success.params=this.getParams();this.form.api.submit(this.form.el.dom,this.success,this)}else{if(b.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},getParams:function(){var g={};var e=this.form.baseParams;var d=this.options.params;Ext.apply(g,d,e);return g},processResponse:function(b){this.result=b;return b}});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 j=/^[a-zA-Z_]+$/;var h=/^[a-zA-Z0-9_]+$/;var e=/^(\w+)([-+.][\w]+)*@(\w[-\w]*\.){1,5}([A-Za-z]){2,4}$/;var g=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{email:function(a){return e.test(a)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@]/i,url:function(a){return g.test(a)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(a){return j.test(a)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(a){return h.test(a)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{autoExpandColumn:false,autoExpandMax:1000,autoExpandMin:50,columnLines:false,ddText:"{0} selected row{1}",deferRowRender:true,enableColumnHide:true,enableColumnMove:true,enableDragDrop:false,enableHdMenu:true,loadMask:false,minColumnWidth:25,stripeRows:false,trackMouseOver:true,stateEvents:["columnmove","columnresize","sortchange"],view:null,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","cellclick","celldblclick","rowclick","rowdblclick","headerclick","headerdblclick","rowcontextmenu","cellcontextmenu","headercontextmenu","bodyscroll","columnresize","columnmove","sortchange","reconfigure")},onRender:function(j,g){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var h=this.body;this.el.addClass("x-grid-panel");var c=this.getView();c.init(this);this.mon(h,{mousedown:this.onMouseDown,click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,keydown:this.onKeyDown,scope:this});this.relayEvents(h,["mousedown","mouseup","mouseover","mouseout","keypress"]);this.getSelectionModel().init(this);this.view.render()},initEvents:function(){Ext.grid.GridPanel.superclass.initEvents.call(this);if(this.loadMask){this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({store:this.store},this.loadMask))}},initStateEvents:function(){Ext.grid.GridPanel.superclass.initStateEvents.call(this);this.mon(this.colModel,"hiddenchange",this.saveState,this,{delay:100})},applyState:function(o){var c=this.colModel;var p=o.columns;if(p){for(var r=0,l=p.length;r<l;r++){var q=p[r];var m=c.getColumnById(q.id);if(m){m.hidden=q.hidden;m.width=q.width;var n=c.getIndexById(q.id);if(n!=r){c.moveColumn(n,r)}}}}if(o.sort&&this.store){this.store[this.store.remoteSort?"setDefaultSort":"sort"](o.sort.field,o.sort.direction)}delete o.columns;delete o.sort;Ext.grid.GridPanel.superclass.applyState.call(this,o)},getState:function(){var j={columns:[]};for(var c=0,h;(h=this.colModel.config[c]);c++){j.columns[c]={id:h.id,width:h.width};if(h.hidden){j.columns[c].hidden=true}}if(this.store){var g=this.store.getSortState();if(g){j.sort=g}}return j},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.call(this);this.view.layout();if(this.deferRowRender){this.view.afterRender.defer(10,this.view)}else{this.view.afterRender()}this.viewReady=true},reconfigure:function(d,c){if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({},{store:d},this.initialConfig.loadMask))}this.view.initData(d,c);this.store=d;this.colModel=c;if(this.rendered){this.view.refresh(true)}this.fireEvent("reconfigure",this,d,c)},onKeyDown:function(b){this.fireEvent("keydown",b)},onDestroy:function(){if(this.rendered){var b=this.body;b.removeAllListeners();b.update("");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(o,m){this.fireEvent(o,m);var n=m.getTarget();var e=this.view;var k=e.findHeaderIndex(n);if(k!==false){this.fireEvent("header"+o,this,k,m)}else{var l=e.findRowIndex(n);var j=e.findCellIndex(n);if(l!==false){this.fireEvent("row"+o,this,l,m);if(j!==false){this.fireEvent("cell"+o,this,l,j,m)}}}},onClick:function(b){this.processEvent("click",b)},onMouseDown:function(b){this.processEvent("mousedown",b)},onContextMenu:function(c,d){this.processEvent("contextmenu",c)},onDblClick:function(b){this.processEvent("dblclick",b)},walkCells:function(l,s,t,q,m){var n=this.colModel,p=n.getColumnCount();var u=this.store,o=u.getCount(),r=true;if(t<0){if(s<0){l--;r=false}while(l>=0){if(!r){s=p-1}r=false;while(s>=0){if(q.call(m||this,l,s,n)===true){return[l,s]}s--}l--}}else{if(s>=p){l++;r=false}while(l<o){if(!r){s=0}r=false;while(s<p){if(q.call(m||this,l,s,n)===true){return[l,s]}s++}l++}}return null},onResize:function(){Ext.grid.GridPanel.superclass.onResize.apply(this,arguments);if(this.viewReady){this.view.layout()}},getGridEl:function(){return this.body},stopEditing:Ext.emptyFn,getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.grid.RowSelectionModel(this.disableSelection?{selectRow:Ext.emptyFn}:null)}return this.selModel},getStore:function(){return this.store},getColumnModel:function(){return this.colModel},getView:function(){if(!this.view){this.view=new Ext.grid.GridView(this.viewConfig)}return this.view},getDragDropText:function(){var b=this.selModel.getCount();return String.format(this.ddText,b,b==1?"":"s")}});Ext.reg("grid",Ext.grid.GridPanel);Ext.grid.GridView=function(b){Ext.apply(this,b);this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");Ext.grid.GridView.superclass.constructor.call(this)};Ext.extend(Ext.grid.GridView,Ext.util.Observable,{deferEmptyText:true,scrollOffset:19,autoFill:false,forceFit:false,sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",columnsText:"Columns",selectedRowClass:"x-grid3-row-selected",borderWidth:2,tdClass:"x-grid3-cell",hdCls:"x-grid3-hd",markDirty:true,cellSelectorDepth:4,rowSelectorDepth:10,cellSelector:"td.x-grid3-cell",rowSelector:"div.x-grid3-row",firstRowCls:"x-grid3-row-first",lastRowCls:"x-grid3-row-last",rowClsRe:/(?:^|\s+)x-grid3-row-(first|last|alt)(?:\s+|$)/g,initTemplates:function(){var g=this.templates||{};if(!g.master){g.master=new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header"><div class="x-grid3-header-inner"><div class="x-grid3-header-offset" style="{ostyle}">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body" style="{bstyle}">{body}</div><a href="#" class="x-grid3-focus" tabIndex="-1"></a></div>',"</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>")}if(!g.header){g.header=new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>',"</table>")}if(!g.hcell){g.hcell=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}" style="{style}"><div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"",'{value}<img class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div></td>")}if(!g.body){g.body=new Ext.Template("{rows}")}if(!g.row){g.row=new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}"><table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr>",(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>':""),"</tbody></table></div>")}if(!g.cell){g.cell=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',"</td>")}for(var e in g){var d=g[e];if(d&&typeof d.compile=="function"&&!d.compiled){d.disableFormats=true;d.compile()}}this.templates=g;this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")},fly:function(b){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=b;return this._flyweight},getEditorParent:function(){return this.scroller.dom},initElements:function(){var g=Ext.Element;var d=this.grid.getGridEl().dom.firstChild;var e=d.childNodes;this.el=new g(d);this.mainWrap=new g(e[0]);this.mainHd=new g(this.mainWrap.dom.firstChild);if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)}this.innerHd=this.mainHd.dom.firstChild;this.scroller=new g(this.mainWrap.dom.childNodes[1]);if(this.forceFit){this.scroller.setStyle("overflow-x","hidden")}this.mainBody=new g(this.scroller.dom.firstChild);this.focusEl=new g(this.scroller.dom.childNodes[1]);this.focusEl.swallowEvent("click",true);this.resizeMarker=new g(e[1]);this.resizeProxy=new g(e[2])},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(b){if(!b){return false}return this.fly(b).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(g,d){var e=this.findCell(g);if(e&&(!d||this.fly(e).hasClass(d))){return this.getCellIndex(e)}return false},getCellIndex:function(c){if(c){var d=c.className.match(this.colRe);if(d&&d[1]){return this.cm.getIndexById(d[1])}}return false},findHeaderCell:function(c){var d=this.findCell(c);return d&&this.fly(d).hasClass(this.hdCls)?d:null},findHeaderIndex:function(b){return this.findCellIndex(b,this.hdCls)},findRow:function(b){if(!b){return false}return this.fly(b).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(d){var c=this.findRow(d);return c?c.rowIndex:false},getRow:function(b){return this.getRows()[b]},getCell:function(c,d){return this.getRow(c).getElementsByTagName("td")[d]},getHeaderCell:function(b){return this.mainHd.dom.getElementsByTagName("td")[b]},addRowClass:function(g,e){var d=this.getRow(g);if(d){this.fly(d).addClass(e)}},removeRowClass:function(g,e){var d=this.getRow(g);if(d){this.fly(d).removeClass(e)}},removeRow:function(b){Ext.removeNode(this.getRow(b));this.syncFocusEl(b)},removeRows:function(j,g){var e=this.mainBody.dom;for(var h=j;h<=g;h++){Ext.removeNode(e.childNodes[j])}this.syncFocusEl(j)},getScrollState:function(){var b=this.scroller.dom;return{left:b.scrollLeft,top:b.scrollTop}},restoreScroll:function(d){var c=this.scroller.dom;c.scrollLeft=d.left;c.scrollTop=d.top},scrollToTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var b=this.scroller.dom;this.grid.fireEvent("bodyscroll",b.scrollLeft,b.scrollTop)},syncHeaderScroll:function(){var b=this.scroller.dom;this.innerHd.scrollLeft=b.scrollLeft;this.innerHd.scrollLeft=b.scrollLeft},updateSortIcon:function(e,g){var h=this.sortClasses;var j=this.mainHd.select("td").removeClass(h);j.item(e).addClass(h[g=="DESC"?1:0])},updateAllColumnWidths:function(){var s=this.getTotalWidth(),n=this.cm.getColumnCount(),q=[],r,u;for(u=0;u<n;u++){q[u]=this.getColumnWidth(u)}this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=s;this.mainBody.dom.style.width=s;for(u=0;u<n;u++){var t=this.getHeaderCell(u);t.style.width=q[u]}var o=this.getRows(),j,p;for(u=0,r=o.length;u<r;u++){j=o[u];j.style.width=s;if(j.firstChild){j.firstChild.style.width=s;p=j.firstChild.rows[0];for(var v=0;v<n;v++){p.childNodes[v].style.width=q[v]}}}this.onAllColumnWidthsUpdated(q,s)},updateColumnWidth:function(s,t){var m=this.getColumnWidth(s);var p=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=p;this.mainBody.dom.style.width=p;var q=this.getHeaderCell(s);q.style.width=m;var n=this.getRows(),l;for(var r=0,o=n.length;r<o;r++){l=n[r];l.style.width=p;if(l.firstChild){l.firstChild.style.width=p;l.firstChild.rows[0].childNodes[s].style.width=m}}this.onColumnWidthUpdated(s,m,p)},updateColumnHidden:function(t,p){var q=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=q;this.mainBody.dom.style.width=q;var n=p?"none":"";var r=this.getHeaderCell(t);r.style.display=n;var m=this.getRows(),l;for(var s=0,o=m.length;s<o;s++){l=m[s];l.style.width=q;if(l.firstChild){l.firstChild.style.width=q;l.firstChild.rows[0].childNodes[t].style.display=n}}this.onColumnHiddenUpdated(t,p,q);delete this.lastViewWidth;this.layout()},doRender:function(P,N,F,T,H,r){var S=this.templates,Q=S.cell,O=S.row,M=H-1;var R="width:"+this.getTotalWidth()+";";var c=[],E,I,D={},L={tstyle:R},J;for(var C=0,j=N.length;C<j;C++){J=N[C];E=[];var K=(C+T);for(var p=0;p<H;p++){I=P[p];D.id=I.id;D.css=p===0?"x-grid3-cell-first ":(p==M?"x-grid3-cell-last ":"");D.attr=D.cellAttr="";D.value=I.renderer(J.data[I.name],D,J,K,p,F);D.style=I.style;if(Ext.isEmpty(D.value)){D.value="&#160;"}if(this.markDirty&&J.dirty&&typeof J.modified[I.name]!=="undefined"){D.css+=" x-grid3-dirty-cell"}E[E.length]=Q.apply(D)}var G=[];if(r&&((K+1)%2===0)){G[0]="x-grid3-row-alt"}if(J.dirty){G[1]=" x-grid3-dirty-row"}L.cols=H;if(this.getRowClass){G[2]=this.getRowClass(J,K,L,F)}L.alt=G.join(" ");L.cells=E.join("");c[c.length]=O.apply(L)}return c.join("")},processRows:function(e,g){if(!this.ds||this.ds.getCount()<1){return}var d=this.getRows();g=g||!this.grid.stripeRows;e=e||0;Ext.each(d,function(a,b){a.rowIndex=b;a.className=a.className.replace(this.rowClsRe," ");if(!g&&(b+1)%2===0){a.className+=" x-grid3-row-alt"}});if(e===0){Ext.fly(d[0]).addClass(this.firstRowCls)}Ext.fly(d[d.length-1]).addClass(this.lastRowCls)},afterRender:function(){if(!this.ds||!this.cm){return}this.mainBody.dom.innerHTML=this.renderRows()||"&#160;";this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}},renderUI:function(){var h=this.renderHeaders();var g=this.templates.body.apply({rows:"&#160;"});var e=this.templates.master.apply({body:g,header:h,ostyle:"width:"+this.getOffsetWidth()+";",bstyle:"width:"+this.getTotalWidth()+";"});var j=this.grid;j.getGridEl().dom.innerHTML=e;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(j.enableColumnResize!==false){this.splitZone=new Ext.grid.GridView.SplitDragZone(j,this.mainHd.dom)}if(j.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(j,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(j,this.mainHd.dom)}if(j.enableHdMenu!==false){this.hmenu=new Ext.menu.Menu({id:j.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(j.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:j.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(j.trackMouseOver){this.mainBody.on({scope:this,mouseover:this.onRowOver,mouseout:this.onRowOut})}if(j.enableDragDrop||j.enableDrag){this.dragZone=new Ext.grid.GridDragZone(j,{ddGroup:j.ddGroup||"GridDD"})}this.updateHeaderSortState()},layout:function(){if(!this.mainBody){return}var m=this.grid;var j=m.getGridEl();var g=j.getSize(true);var c=g.width;if(!m.hideHeaders&&(c<20||g.height<20)){return}if(m.autoHeight){this.scroller.dom.style.overflow="visible";if(Ext.isWebKit){this.scroller.dom.style.position="static"}}else{this.el.setSize(g.width,g.height);var k=this.mainHd.getHeight();var l=g.height-(k);this.scroller.setSize(c,l);if(this.innerHd){this.innerHd.style.width=(c)+"px"}}if(this.forceFit){if(this.lastViewWidth!=c){this.fitColumns(false,false);this.lastViewWidth=c}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(c,l)},onLayout:function(d,c){},onColumnWidthUpdated:function(g,e,d){},onAllColumnWidthsUpdated:function(d,c){},onColumnHiddenUpdated:function(d,g,e){},updateColumnText:function(d,c){},afterMove:function(b){},init:function(b){this.grid=b;this.initTemplates();this.initData(b.store,b.colModel);this.initUI(b)},getColumnId:function(b){return this.cm.getColumnId(b)},getOffsetWidth:function(){return(this.cm.getTotalWidth()+this.scrollOffset)+"px"},renderHeaders:function(){var r=this.cm,n=this.templates,p=n.hcell,k=[],m={},l=r.getColumnCount(),o=l-1;for(var q=0;q<l;q++){m.id=r.getColumnId(q);m.value=r.getColumnHeader(q)||"";m.style=this.getColumnStyle(q,true);m.tooltip=this.getColumnTooltip(q);m.css=q===0?"x-grid3-cell-first ":(q==o?"x-grid3-cell-last ":"");if(r.config[q].align=="right"){m.istyle="padding-right:16px"}else{delete m.istyle}k[k.length]=p.apply(m)}return n.header.apply({cells:k.join(""),tstyle:"width:"+this.getTotalWidth()+";"})},getColumnTooltip:function(d){var c=this.cm.getColumnTooltip(d);if(c){if(Ext.QuickTips.isEnabled()){return'ext:qtip="'+c+'"'}else{return'title="'+c+'"'}}return""},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=this.getTotalWidth()},focusRow:function(b){this.focusCell(b,0,false)},focusCell:function(g,e,d){this.syncFocusEl(this.ensureVisible(g,e,d));if(Ext.isGecko){this.focusEl.focus()}else{this.focusEl.focus.defer(1,this.focusEl)}},resolveCell:function(l,o,m){if(typeof l!="number"){l=l.rowIndex}if(!this.ds){return null}if(l<0||l>=this.ds.getCount()){return null}o=(o!==undefined?o:0);var p=this.getRow(l),k=this.cm,n=k.getColumnCount(),j;if(!(m===false&&o===0)){while(o<n&&k.isHidden(o)){o++}j=this.getCell(l,o)}return{row:p,cell:j}},getResolvedXY:function(g){if(!g){return null}var c=this.scroller.dom,h=g.cell,j=g.row;return h?Ext.fly(h).getXY():[this.el.getX(),Ext.fly(j).getY()]},syncFocusEl:function(h,g,j){var e=h;if(!Ext.isArray(e)){h=Math.min(h,Math.max(0,this.getRows().length-1));e=this.getResolvedXY(this.resolveCell(h,g,j))}this.focusEl.setXY(e||this.scroller.getXY())},ensureVisible:function(H,C,D){var c=this.resolveCell(H,C,D);if(!c||!c.row){return}var y=c.row,B=c.cell,v=this.scroller.dom,I=0,E=y,u=this.el.dom;while(E&&E!=u){I+=E.offsetTop;E=E.offsetParent}I-=this.mainHd.dom.offsetHeight;var p=I+y.offsetHeight,G=v.clientHeight,w=u+G;u=parseInt(v.scrollTop,10);if(I<u){v.scrollTop=I}else{if(p>w){v.scrollTop=p-G}}if(D!==false){var x=parseInt(B.offsetLeft,10);var z=x+B.offsetWidth;var A=parseInt(v.scrollLeft,10);var F=A+v.clientWidth;if(x<A){v.scrollLeft=x}else{if(z>F){v.scrollLeft=z-v.clientWidth}}}return this.getResolvedXY(c)},insertRows:function(k,l,o,m){var p=k.getCount()-1;if(!m&&l===0&&o>=p){this.refresh()}else{if(!m){this.fireEvent("beforerowsinserted",this,l,o)}var j=this.renderRows(l,o),n=this.getRow(l);if(n){if(l===0){Ext.fly(this.getRow(0)).removeClass(this.firstRowCls)}Ext.DomHelper.insertHtml("beforeBegin",n,j)}else{var q=this.getRow(p-1);if(q){Ext.fly(q).removeClass(this.lastRowCls)}Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,j)}if(!m){this.fireEvent("rowsinserted",this,l,o);this.processRows(l)}else{if(l===0||l>=p){Ext.fly(this.getRow(l)).addClass(l===0?this.firstRowCls:this.lastRowCls)}}}this.syncFocusEl(l)},deleteRows:function(e,g,d){if(e.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,g,d);this.removeRows(g,d);this.processRows(g);this.fireEvent("rowsdeleted",this,g,d)}},getColumnStyle:function(g,j){var e=!j?(this.cm.config[g].css||""):"";e+="width:"+this.getColumnWidth(g)+";";if(this.cm.isHidden(g)){e+="display:none;"}var h=this.cm.config[g].align;if(h){e+="text-align:"+h+";"}return e},getColumnWidth:function(c){var d=this.cm.getColumnWidth(c);if(typeof d=="number"){return(Ext.isBorderBox?d:(d-this.borderWidth>0?d-this.borderWidth:0))+"px"}return d},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(F,C,B){var u=this.cm,A;var z=u.getTotalWidth(false);var I=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(I<20){return}var E=I-z;if(E===0){return false}var y=u.getColumnCount(true);var J=y-(typeof B=="number"?1:0);if(J===0){J=1;B=undefined}var t=u.getColumnCount();var w=[];var x=0;var G=0;var v;for(A=0;A<t;A++){if(!u.isHidden(A)&&!u.isFixed(A)&&A!==B){v=u.getColumnWidth(A);w.push(A);x=A;w.push(v);G+=v}}var H=(I-u.getTotalWidth())/G;while(w.length){v=w.pop();A=w.pop();u.setColumnWidth(A,Math.max(this.grid.minColumnWidth,Math.floor(v+v*H)),true)}if((z=u.getTotalWidth(false))>I){var D=J!=y?B:x;u.setColumnWidth(D,Math.max(1,u.getColumnWidth(D)-(z-I)),true)}if(F!==true){this.updateAllColumnWidths()}return true},autoExpand:function(g){var m=this.grid,k=this.cm;if(!this.userResized&&m.autoExpandColumn){var p=k.getTotalWidth(false);var l=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(p!=l){var n=k.getIndexById(m.autoExpandColumn);var o=k.getColumnWidth(n);var q=Math.min(Math.max(((l-p)+o),m.autoExpandMin),m.autoExpandMax);if(q!=o){k.setColumnWidth(n,q,true);if(g!==true){this.updateColumnWidth(n,q)}}}}},getColumnData:function(){var k=[],h=this.cm,j=h.getColumnCount();for(var l=0;l<j;l++){var g=h.getDataIndex(l);k[l]={name:(typeof g=="undefined"?this.ds.fields.get(l).name:g),renderer:h.getRenderer(l),id:h.getColumnId(l),style:this.getColumnStyle(l)}}return k},renderRows:function(l,q){var p=this.grid,n=p.colModel,s=p.store,g=p.stripeRows;var m=n.getColumnCount();if(s.getCount()<1){return""}var o=this.getColumnData();l=l||0;q=typeof q=="undefined"?s.getCount()-1:q;var r=s.getRange(l,q);return this.doRender(o,r,s,l,m,g)},renderBody:function(){var b=this.renderRows()||"&#160;";return this.templates.body.apply({rows:b})},refreshRow:function(e){var g=this.ds,d;if(typeof e=="number"){d=e;e=g.getAt(d);if(!e){return}}else{d=g.indexOf(e);if(d<0){return}}this.insertRows(g,d,d,true);this.getRow(d).rowIndex=d;this.onRemove(g,e,d+1,true);this.fireEvent("rowupdated",this,d,e)},refresh:function(c){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var d=this.renderBody();this.mainBody.update(d).setWidth(this.getTotalWidth());if(c===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},applyEmptyText:function(){if(this.emptyText&&!this.hasRows()){this.mainBody.update('<div class="x-grid-empty">'+this.emptyText+"</div>")}},updateHeaderSortState:function(){var d=this.ds.getSortState();if(!d){return}if(!this.sortState||(this.sortState.field!=d.field||this.sortState.direction!=d.direction)){this.grid.fireEvent("sortchange",this.grid,d)}this.sortState=d;var g=this.cm.findColumnIndex(d.field);if(g!=-1){var e=d.direction;this.updateSortIcon(g,e)}},destroy:function(){if(this.colMenu){Ext.menu.MenuMgr.unregister(this.colMenu);this.colMenu.destroy();delete this.colMenu}if(this.hmenu){Ext.menu.MenuMgr.unregister(this.hmenu);this.hmenu.destroy();delete this.hmenu}if(this.grid.enableColumnMove){var g=Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id];if(g){for(var e in g){if(!g[e].config.isTarget&&g[e].dragElId){var d=g[e].dragElId;g[e].unreg();Ext.get(d).remove()}else{if(g[e].config.isTarget){g[e].proxyTop.remove();g[e].proxyBottom.remove();g[e].unreg()}}if(Ext.dd.DDM.locationCache[e]){delete Ext.dd.DDM.locationCache[e]}}delete Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id]}}if(this.dragZone){this.dragZone.unreg()}Ext.fly(this.innerHd).removeAllListeners();Ext.removeNode(this.innerHd);Ext.destroy(this.resizeMarker,this.resizeProxy,this.focusEl,this.mainBody,this.scroller,this.mainHd,this.mainWrap,this.dragZone,this.splitZone,this.columnDrag,this.columnDrop);this.initData(null,null);Ext.EventManager.removeResizeListener(this.onWindowResize,this);this.purgeListeners()},onDenyColumnHide:function(){},render:function(){if(this.autoFill){var b=this.grid.ownerCt;if(b&&b.getLayout()){b.on("afterlayout",function(){this.fitColumns(true,true);this.updateHeaders()},this,{single:true})}else{this.fitColumns(true,true)}}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.renderUI()},initData:function(c,d){if(this.ds){this.ds.un("load",this.onLoad,this);this.ds.un("datachanged",this.onDataChange,this);this.ds.un("add",this.onAdd,this);this.ds.un("remove",this.onRemove,this);this.ds.un("update",this.onUpdate,this);this.ds.un("clear",this.onClear,this);if(this.ds!==c&&this.ds.autoDestroy){this.ds.destroy()}}if(c){c.on({scope:this,load:this.onLoad,datachanged:this.onDataChange,add:this.onAdd,remove:this.onRemove,update:this.onUpdate,clear:this.onClear})}this.ds=c;if(this.cm){this.cm.un("configchange",this.onColConfigChange,this);this.cm.un("widthchange",this.onColWidthChange,this);this.cm.un("headerchange",this.onHeaderChange,this);this.cm.un("hiddenchange",this.onHiddenChange,this);this.cm.un("columnmoved",this.onColumnMove,this)}if(d){delete this.lastViewWidth;d.on({scope:this,configchange:this.onColConfigChange,widthchange:this.onColWidthChange,headerchange:this.onHeaderChange,hiddenchange:this.onHiddenChange,columnmoved:this.onColumnMove})}this.cm=d},onDataChange:function(){this.refresh();this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(c,d){this.refreshRow(d)},onAdd:function(g,e,d){this.insertRows(g,d,d+(e.length-1))},onRemove:function(h,g,e,j){if(j!==true){this.fireEvent("beforerowremoved",this,e,g)}this.removeRow(e);if(j!==true){this.processRows(e);this.applyEmptyText();this.fireEvent("rowremoved",this,e,g)}},onLoad:function(){this.scrollToTop()},onColWidthChange:function(e,d,g){this.updateColumnWidth(d,g)},onHeaderChange:function(e,d,g){this.updateHeaders()},onHiddenChange:function(e,d,g){this.updateColumnHidden(d,g)},onColumnMove:function(g,h,e){this.indexMap=null;var j=this.getScrollState();this.refresh(true);this.restoreScroll(j);this.afterMove(e);this.grid.fireEvent("columnmove",h,e)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(b){b.on("headerclick",this.onHeaderClick,this)},initEvents:function(){},onHeaderClick:function(c,d){if(this.headersDisabled||!this.cm.isSortable(d)){return}c.stopEditing(true);c.store.sort(this.cm.getDataIndex(d))},onRowOver:function(d,e){var g;if((g=this.findRowIndex(e))!==false){this.addRowClass(g,"x-grid3-row-over")}},onRowOut:function(d,e){var g;if((g=this.findRowIndex(e))!==false&&!d.within(this.getRow(g),true)){this.removeRowClass(g,"x-grid3-row-over")}},handleWheel:function(b){b.stopPropagation()},onRowSelect:function(b){this.addRowClass(b,this.selectedRowClass)},onRowDeselect:function(b){this.removeRowClass(b,this.selectedRowClass)},onCellSelect:function(g,d){var e=this.getCell(g,d);if(e){this.fly(e).addClass("x-grid3-cell-selected")}},onCellDeselect:function(g,d){var e=this.getCell(g,d);if(e){this.fly(e).removeClass("x-grid3-cell-selected")}},onColumnSplitterMoved:function(g,d){this.userResized=true;var e=this.grid.colModel;e.setColumnWidth(g,d,true);if(this.forceFit){this.fitColumns(true,false,g);this.updateAllColumnWidths()}else{this.updateColumnWidth(g,d);this.syncHeaderScroll()}this.grid.fireEvent("columnresize",g,d)},handleHdMenuClick:function(j){var e=this.hdCtxIndex;var g=this.cm,h=this.ds;switch(j.itemId){case"asc":h.sort(g.getDataIndex(e),"ASC");break;case"desc":h.sort(g.getDataIndex(e),"DESC");break;default:e=g.getIndexById(j.itemId.substr(4));if(e!=-1){if(j.checked&&g.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}g.setHidden(e,j.checked)}}return true},isHideableColumn:function(b){return !b.hidden&&!b.fixed},beforeColMenuShow:function(){var e=this.cm,g=e.getColumnCount();this.colMenu.removeAll();for(var d=0;d<g;d++){if(e.config[d].fixed!==true&&e.config[d].hideable!==false){this.colMenu.add(new Ext.menu.CheckItem({itemId:"col-"+e.getColumnId(d),text:e.getColumnHeader(d),checked:!e.isHidden(d),hideOnClick:false,disabled:e.config[d].hideable===false}))}}},handleHdDown:function(k,m){if(Ext.fly(m).hasClass("x-grid3-hd-btn")){k.stopEvent();var l=this.findHeaderCell(m);Ext.fly(l).addClass("x-grid3-hd-menu-open");var n=this.getCellIndex(l);this.hdCtxIndex=n;var e=this.hmenu.items,j=this.cm;e.get("asc").setDisabled(!j.isSortable(n));e.get("desc").setDisabled(!j.isSortable(n));this.hmenu.on("hide",function(){Ext.fly(l).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(m,"tl-bl?")}},handleHdOver:function(h,g){var j=this.findHeaderCell(g);if(j&&!this.headersDisabled){this.activeHd=j;this.activeHdIndex=this.getCellIndex(j);var e=this.fly(j);this.activeHdRegion=e.getRegion();if(!this.cm.isMenuDisabled(this.activeHdIndex)){e.addClass("x-grid3-hd-over");this.activeHdBtn=e.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(j.firstChild.offsetHeight-1)+"px"}}}},handleHdMove:function(k,m){if(this.activeHd&&!this.headersDisabled){var e=this.splitHandleWidth||5;var l=this.activeHdRegion;var j=k.getPageX();var n=this.activeHd.style;if(j-l.left<=e&&this.cm.isResizable(this.activeHdIndex-1)){n.cursor=Ext.isAir?"move":Ext.isWebKit?"e-resize":"col-resize"}else{if(l.right-j<=(!this.activeHdBtn?e:2)&&this.cm.isResizable(this.activeHdIndex)){n.cursor=Ext.isAir?"move":Ext.isWebKit?"w-resize":"col-resize"}else{n.cursor=""}}}},handleHdOut:function(g,e){var d=this.findHeaderCell(e);if(d&&(!Ext.isIE||!g.within(d,true))){this.activeHd=null;this.fly(d).removeClass("x-grid3-hd-over");d.style.cursor=""}},hasRows:function(){var b=this.mainBody.dom.firstChild;return b&&b.nodeType==1&&b.className!="x-grid-empty"},bind:function(d,c){this.initData(d,c)}});Ext.grid.GridView.SplitDragZone=function(d,c){this.grid=d;this.view=d.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,c,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.scroll=false;this.hw=this.view.splitHandleWidth||5};Ext.extend(Ext.grid.GridView.SplitDragZone,Ext.dd.DDProxy,{b4StartDrag:function(h,j){this.view.headersDisabled=true;var k=this.view.mainWrap.getHeight();this.marker.setHeight(k);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(k);var g=this.cm.getColumnWidth(this.cellIndex);var l=Math.max(g-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(l,1000);this.setYConstraint(0,0);this.minX=h-l;this.maxX=h+1000;this.startPos=h;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,h,j)},handleMouseDown:function(u){var o=this.view.findHeaderCell(u.getTarget());if(o){var e=this.view.fly(o).getXY(),r=e[0],s=e[1];var n=u.getXY(),t=n[0];var p=o.offsetWidth,q=false;if((t-r)<=this.hw){q=-1}else{if((r+p)-t<=this.hw){q=0}}if(q!==false){this.cm=this.grid.colModel;var m=this.view.getCellIndex(o);if(q==-1){if(m+q<0){return}while(this.cm.isHidden(m+q)){--q;if(m+q<0){return}}}this.cellIndex=m+q;this.split=o.dom;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}else{if(this.view.columnDrag){this.view.columnDrag.callHandleMouseDown(u)}}}},endDrag:function(h){this.marker.hide();var g=this.view;var e=Math.max(this.minX,h.getPageX());var j=e-this.startPos;g.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+j);setTimeout(function(){g.headersDisabled=false},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.HeaderDragZone=function(e,g,d){this.grid=e;this.view=e.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,g);if(d){this.setHandleElId(Ext.id(g));this.setOuterHandleElId(Ext.id(d))}this.scroll=false};Ext.extend(Ext.grid.HeaderDragZone,Ext.dd.DragZone,{maxDragWidth:120,getDragData:function(g){var e=Ext.lib.Event.getTarget(g);var d=this.view.findHeaderCell(e);if(d){return{ddel:d.firstChild,header:d}}return false},onInitDrag:function(d){this.view.headersDisabled=true;var c=this.dragData.ddel.cloneNode(true);c.id=Ext.id();c.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(c);return true},afterValidDrop:function(){var b=this.view;setTimeout(function(){b.headersDisabled=false},50)},afterInvalidDrop:function(){var b=this.view;setTimeout(function(){b.headersDisabled=false},50)}});Ext.grid.HeaderDropZone=function(e,g,d){this.grid=e;this.view=e.getView();this.proxyTop=Ext.DomHelper.append(document.body,{cls:"col-move-top",html:"&#160;"},true);this.proxyBottom=Ext.DomHelper.append(document.body,{cls:"col-move-bottom",html:"&#160;"},true);this.proxyTop.hide=this.proxyBottom.hide=function(){this.setLeftTop(-100,-100);this.setStyle("visibility","hidden")};this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDropZone.superclass.constructor.call(this,e.getGridEl().dom)};Ext.extend(Ext.grid.HeaderDropZone,Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,getTargetFromEvent:function(g){var e=Ext.lib.Event.getTarget(g);var d=this.view.findCellIndex(e);if(d!==false){return this.view.getHeaderCell(d)}},nextVisible:function(g){var d=this.view,e=this.grid.colModel;g=g.nextSibling;while(g){if(!e.isHidden(d.getCellIndex(g))){return g}g=g.nextSibling}return null},prevVisible:function(g){var d=this.view,e=this.grid.colModel;g=g.prevSibling;while(g){if(!e.isHidden(d.getCellIndex(g))){return g}g=g.prevSibling}return null},positionIndicator:function(p,l,m){var h=Ext.lib.Event.getPageX(m);var o=Ext.lib.Dom.getRegion(l.firstChild);var q,n,e=o.top+this.proxyOffsets[1];if((o.right-h)<=(o.right-o.left)/2){q=o.right+this.view.borderWidth;n="after"}else{q=o.left;n="before"}if(this.grid.colModel.isFixed(this.view.getCellIndex(l))){return false}q+=this.proxyOffsets[0];this.proxyTop.setLeftTop(q,e);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(q,e+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return n},onNodeEnter:function(h,g,j,e){if(e.header!=h){this.positionIndicator(e.header,h,j)}},onNodeOver:function(j,e,k,l){var h=false;if(l.header!=j){h=this.positionIndicator(l.header,j,k)}if(!h){this.proxyTop.hide();this.proxyBottom.hide()}return h?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(h,g,j,e){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(v,h,s,u){var t=u.header;if(t!=v){var p=this.grid.colModel;var q=Ext.lib.Event.getPageX(s);var w=Ext.lib.Dom.getRegion(v.firstChild);var e=(w.right-q)<=((w.right-w.left)/2)?"after":"before";var r=this.view.getCellIndex(t);var n=this.view.getCellIndex(v);if(e=="after"){n++}if(r<n){n--}p.moveColumn(r,n);this.grid.fireEvent("columnmove",r,n);return true}return false}});Ext.grid.GridView.ColumnDragZone=function(d,c){Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,d,c,null);this.proxy.el.addClass("x-grid3-col-dd")};Ext.extend(Ext.grid.GridView.ColumnDragZone,Ext.grid.HeaderDragZone,{handleMouseDown:function(b){},callHandleMouseDown:function(b){Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,b)}});Ext.grid.SplitDragZone=function(e,g,d){this.grid=e;this.view=e.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,g,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(g));this.setOuterHandleElId(Ext.id(d));this.scroll=false};Ext.extend(Ext.grid.SplitDragZone,Ext.dd.DDProxy,{fly:Ext.Element.fly,b4StartDrag:function(g,h){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var e=this.cm.getColumnWidth(this.cellIndex);var j=Math.max(e-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(j,1000);this.setYConstraint(0,0);this.minX=g-j;this.maxX=g+1000;this.startPos=g;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,g,h)},handleMouseDown:function(g){var d=Ext.EventObject.setEvent(g);var e=this.fly(d.getTarget());if(e.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(e.dom);this.split=e.dom;this.cm=this.grid.colModel;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}},endDrag:function(g){this.view.headersDisabled=false;var e=Math.max(this.minX,Ext.lib.Event.getPageX(g));var d=e-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+d)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(c,d){this.view=c.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,d);this.scroll=false;this.grid=c;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(e){var g=Ext.lib.Event.getTarget(e);var h=this.view.findRowIndex(g);if(h!==false){var j=this.grid.selModel;if(!j.isSelected(h)||e.hasModifier()){j.handleMouseDown(this.grid,h,e)}return{grid:this.grid,ddel:this.ddel,rowIndex:h,selections:j.getSelections()}}return false},onInitDrag:function(c){var d=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(c,d){return false},onEndDrag:function(d,c){},onValidDrop:function(e,d,g){this.hideProxy()},beforeInvalidDrop:function(d,c){}});Ext.grid.ColumnModel=function(b){if(b.columns){Ext.apply(this,b);this.setConfig(b.columns,true)}else{this.setConfig(b,true)}this.addEvents("widthchange","headerchange","hiddenchange","columnmoved","configchange");Ext.grid.ColumnModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.ColumnModel,Ext.util.Observable,{defaultWidth:100,defaultSortable:false,getColumnId:function(b){return this.config[b].id},getColumnAt:function(b){return this.config[b]},setConfig:function(m,n){var l,k,j;if(!n){delete this.totalWidth;for(l=0,j=this.config.length;l<j;l++){k=this.config[l];if(k.editor){k.editor.destroy()}}}this.defaults=Ext.apply({width:this.defaultWidth,sortable:this.defaultSortable},this.defaults);this.config=m;this.lookup={};for(l=0,j=m.length;l<j;l++){k=Ext.applyIf(m[l],this.defaults);if(!k.isColumn){var c=Ext.grid.Column.types[k.xtype||"gridcolumn"];k=new c(k);m[l]=k}this.lookup[k.id]=k}if(!n){this.fireEvent("configchange",this)}},getColumnById:function(b){return this.lookup[b]},getIndexById:function(g){for(var d=0,e=this.config.length;d<e;d++){if(this.config[d].id==g){return d}}return -1},moveColumn:function(g,e){var c=this.config[g];this.config.splice(g,1);this.config.splice(e,0,c);this.dataMap=null;this.fireEvent("columnmoved",this,g,e)},getColumnCount:function(j){if(j===true){var h=0;for(var c=0,g=this.config.length;c<g;c++){if(!this.isHidden(c)){h++}}return h}return this.config.length},getColumnsBy:function(m,n){var l=[];for(var c=0,j=this.config.length;c<j;c++){var k=this.config[c];if(m.call(n||this,k,c)===true){l[l.length]=k}}return l},isSortable:function(b){return this.config[b].sortable},isMenuDisabled:function(b){return !!this.config[b].menuDisabled},getRenderer:function(b){if(!this.config[b].renderer){return Ext.grid.ColumnModel.defaultRenderer}return this.config[b].renderer},setRenderer:function(d,c){this.config[d].renderer=c},getColumnWidth:function(b){return this.config[b].width},setColumnWidth:function(d,g,e){this.config[d].width=g;this.totalWidth=null;if(!e){this.fireEvent("widthchange",this,d,g)}},getTotalWidth:function(d){if(!this.totalWidth){this.totalWidth=0;for(var g=0,e=this.config.length;g<e;g++){if(d||!this.isHidden(g)){this.totalWidth+=this.getColumnWidth(g)}}}return this.totalWidth},getColumnHeader:function(b){return this.config[b].header},setColumnHeader:function(d,c){this.config[d].header=c;this.fireEvent("headerchange",this,d,c)},getColumnTooltip:function(b){return this.config[b].tooltip},setColumnTooltip:function(d,c){this.config[d].tooltip=c},getDataIndex:function(b){return this.config[b].dataIndex},setDataIndex:function(d,c){this.config[d].dataIndex=c},findColumnIndex:function(j){var h=this.config;for(var c=0,g=h.length;c<g;c++){if(h[c].dataIndex==j){return c}}return -1},isCellEditable:function(d,c){return(this.config[d].editable||(typeof this.config[d].editable=="undefined"&&this.config[d].editor))?true:false},getCellEditor:function(d,c){return this.config[d].getCellEditor(c)},setEditable:function(d,c){this.config[d].editable=c},isHidden:function(b){return this.config[b].hidden},isFixed:function(b){return this.config[b].fixed},isResizable:function(b){return b>=0&&this.config[b].resizable!==false&&this.config[b].fixed!==true},setHidden:function(e,c){var g=this.config[e];if(g.hidden!==c){g.hidden=c;this.totalWidth=null;this.fireEvent("hiddenchange",this,e,c)}},setEditor:function(d,c){Ext.destroy(this.config[d].editor);this.config[d].editor=c},destroy:function(){for(var c=0,g=this.config,e=g.length;c<e;c++){Ext.destroy(g[c].editor)}this.purgeListeners()}});Ext.grid.ColumnModel.defaultRenderer=function(b){if(typeof b=="string"&&b.length<1){return"&#160;"}return b};Ext.grid.AbstractSelectionModel=function(){this.locked=false;Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.AbstractSelectionModel,Ext.util.Observable,{init:function(b){this.grid=b;this.initEvents()},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},destroy:function(){this.purgeListeners()}});Ext.grid.RowSelectionModel=function(b){Ext.apply(this,b);this.selections=new Ext.util.MixedCollection(false,function(a){return a.id});this.last=false;this.lastActive=false;this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");Ext.grid.RowSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.RowSelectionModel,Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)}else{this.grid.on("rowclick",function(a,e,g){if(g.button===0&&!g.shiftKey&&!g.ctrlKey){this.selectRow(e,false);a.view.focusRow(e)}},this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:function(d){if(!d.shiftKey||this.singleSelect){this.selectPrevious(false)}else{if(this.last!==false&&this.lastActive!==false){var a=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(a!==false){this.last=a}}else{this.selectFirstRow()}}},down:function(d){if(!d.shiftKey||this.singleSelect){this.selectNext(false)}else{if(this.last!==false&&this.lastActive!==false){var a=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(a!==false){this.last=a}}else{this.selectFirstRow()}}},scope:this});var b=this.grid.view;b.on("refresh",this.onRefresh,this);b.on("rowupdated",this.onRowUpdated,this);b.on("rowremoved",this.onRemove,this)},onRefresh:function(){var k=this.grid.store,h;var m=this.getSelections();this.clearSelections(true);for(var n=0,j=m.length;n<j;n++){var l=m[n];if((h=k.indexOfId(l.id))!=-1){this.selectRow(h,true)}}if(m.length!=this.selections.getCount()){this.fireEvent("selectionchange",this)}},onRemove:function(e,d,g){if(this.selections.remove(g)!==false){this.fireEvent("selectionchange",this)}},onRowUpdated:function(e,d,g){if(this.isSelected(g)){e.onRowSelect(d)}},selectRecords:function(g,j){if(!j){this.clearSelections()}var k=this.grid.store;for(var l=0,h=g.length;l<h;l++){this.selectRow(k.indexOf(g[l]),true)}},getCount:function(){return this.selections.length},selectFirstRow:function(){this.selectRow(0)},selectLastRow:function(b){this.selectRow(this.grid.store.getCount()-1,b)},selectNext:function(b){if(this.hasNext()){this.selectRow(this.last+1,b);this.grid.getView().focusRow(this.last);return true}return false},selectPrevious:function(b){if(this.hasPrevious()){this.selectRow(this.last-1,b);this.grid.getView().focusRow(this.last);return true}return false},hasNext:function(){return this.last!==false&&(this.last+1)<this.grid.store.getCount()},hasPrevious:function(){return !!this.last},getSelections:function(){return[].concat(this.selections.items)},getSelected:function(){return this.selections.itemAt(0)},each:function(j,k){var l=this.getSelections();for(var g=0,h=l.length;g<h;g++){if(j.call(k||this,l[g],g)===false){return false}}return true},clearSelections:function(e){if(this.isLocked()){return}if(e!==true){var g=this.grid.store;var d=this.selections;d.each(function(a){this.deselectRow(g.indexOfId(a.id))},this);d.clear()}else{this.selections.clear()}this.last=false},selectAll:function(){if(this.isLocked()){return}this.selections.clear();for(var c=0,d=this.grid.store.getCount();c<d;c++){this.selectRow(c,true)}},hasSelection:function(){return this.selections.length>0},isSelected:function(d){var c=typeof d=="number"?this.grid.store.getAt(d):d;return(c&&this.selections.key(c.id)?true:false)},isIdSelected:function(b){return(this.selections.key(b)?true:false)},handleMouseDown:function(l,j,k){if(k.button!==0||this.isLocked()){return}var g=this.grid.getView();if(k.shiftKey&&!this.singleSelect&&this.last!==false){var m=this.last;this.selectRange(m,j,k.ctrlKey);this.last=m;g.focusRow(j)}else{var e=this.isSelected(j);if(k.ctrlKey&&e){this.deselectRow(j)}else{if(!e||this.getCount()>1){this.selectRow(j,k.ctrlKey||k.shiftKey);g.focusRow(j)}}}},selectRows:function(j,h){if(!h){this.clearSelections()}for(var e=0,g=j.length;e<g;e++){this.selectRow(j[e],true)}},selectRange:function(e,g,h){var j;if(this.isLocked()){return}if(!h){this.clearSelections()}if(e<=g){for(j=e;j<=g;j++){this.selectRow(j,true)}}else{for(j=e;j>=g;j--){this.selectRow(j,true)}}},deselectRange:function(j,e,g){if(this.isLocked()){return}for(var h=j;h<=e;h++){this.deselectRow(h,g)}},selectRow:function(e,h,g){if(this.isLocked()||(e<0||e>=this.grid.store.getCount())||(h&&this.isSelected(e))){return}var j=this.grid.store.getAt(e);if(j&&this.fireEvent("beforerowselect",this,e,h,j)!==false){if(!h||this.singleSelect){this.clearSelections()}this.selections.add(j);this.last=this.lastActive=e;if(!g){this.grid.getView().onRowSelect(e)}this.fireEvent("rowselect",this,e,j);this.fireEvent("selectionchange",this)}},deselectRow:function(d,e){if(this.isLocked()){return}if(this.last==d){this.last=false}if(this.lastActive==d){this.lastActive=false}var g=this.grid.store.getAt(d);if(g){this.selections.remove(g);if(!e){this.grid.getView().onRowDeselect(d)}this.fireEvent("rowdeselect",this,d,g);this.fireEvent("selectionchange",this)}},restoreLast:function(){if(this._last){this.last=this._last}},acceptsNav:function(g,d,e){return !e.isHidden(d)&&e.isCellEditable(d,g)},onEditorKey:function(l,m){var o=m.getKey(),k,n=this.grid,e=n.activeEditor;var g=m.shiftKey;if(o==m.TAB){m.stopEvent();e.completeEdit();if(g){k=n.walkCells(e.row,e.col-1,-1,this.acceptsNav,this)}else{k=n.walkCells(e.row,e.col+1,1,this.acceptsNav,this)}}else{if(o==m.ENTER){m.stopEvent();e.completeEdit();if(this.moveEditorOnEnter!==false){if(g){k=n.walkCells(e.row-1,e.col,-1,this.acceptsNav,this)}else{k=n.walkCells(e.row+1,e.col,1,this.acceptsNav,this)}}}else{if(o==m.ESC){e.cancelEdit()}}}if(k){n.startEditing(k[0],k[1])}},destroy:function(){if(this.rowNav){this.rowNav.disable();this.rowNav=null}Ext.grid.RowSelectionModel.superclass.destroy.call(this)}});Ext.grid.Column=function(b){Ext.apply(this,b);if(typeof this.renderer=="string"){this.renderer=Ext.util.Format[this.renderer]}else{if(Ext.isObject(this.renderer)){this.scope=this.renderer.scope;this.renderer=this.renderer.fn}}this.renderer=this.renderer.createDelegate(this.scope||b);if(this.id===undefined){this.id=++Ext.grid.Column.AUTO_ID}if(this.editor){this.editor=Ext.create(this.editor,"textfield")}};Ext.grid.Column.AUTO_ID=0;Ext.grid.Column.prototype={isColumn:true,renderer:function(b){if(typeof b=="string"&&b.length<1){return"&#160;"}return b},getEditor:function(b){return this.editable!==false?this.editor:null},getCellEditor:function(c){var d=this.getEditor(c);if(d){if(!d.startEdit){if(!d.gridEditor){d.gridEditor=new Ext.grid.GridEditor(d)}return d.gridEditor}else{if(d.startEdit){return d}}}return null}};Ext.grid.BooleanColumn=Ext.extend(Ext.grid.Column,{trueText:"true",falseText:"false",undefinedText:"&#160;",constructor:function(g){Ext.grid.BooleanColumn.superclass.constructor.call(this,g);var j=this.trueText,h=this.falseText,e=this.undefinedText;this.renderer=function(a){if(a===undefined){return e}if(!a||a==="false"){return h}return j}}});Ext.grid.NumberColumn=Ext.extend(Ext.grid.Column,{format:"0,000.00",constructor:function(b){Ext.grid.NumberColumn.superclass.constructor.call(this,b);this.renderer=Ext.util.Format.numberRenderer(this.format)}});Ext.grid.DateColumn=Ext.extend(Ext.grid.Column,{format:"m/d/Y",constructor:function(b){Ext.grid.DateColumn.superclass.constructor.call(this,b);this.renderer=Ext.util.Format.dateRenderer(this.format)}});Ext.grid.TemplateColumn=Ext.extend(Ext.grid.Column,{constructor:function(d){Ext.grid.TemplateColumn.superclass.constructor.call(this,d);var c=typeof Ext.isObject(this.tpl)?this.tpl:new Ext.XTemplate(this.tpl);this.renderer=function(b,a,g){return c.apply(g.data)};this.tpl=c}});Ext.grid.Column.types={gridcolumn:Ext.grid.Column,booleancolumn:Ext.grid.BooleanColumn,numbercolumn:Ext.grid.NumberColumn,datecolumn:Ext.grid.DateColumn,templatecolumn:Ext.grid.TemplateColumn};Ext.grid.RowNumberer=function(b){Ext.apply(this,b);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}};Ext.grid.RowNumberer.prototype={header:"",width:23,sortable:false,fixed:true,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(e,j,g,h){if(this.rowspan){j.cellAttr='rowspan="'+this.rowspan+'"'}return h+1}};Ext.grid.CheckboxSelectionModel=Ext.extend(Ext.grid.RowSelectionModel,{header:'<div class="x-grid3-hd-checker">&#160;</div>',width:20,sortable:false,menuDisabled:true,fixed:true,dataIndex:"",id:"checker",constructor:function(){Ext.grid.CheckboxSelectionModel.superclass.constructor.apply(this,arguments);if(this.checkOnly){this.handleMouseDown=Ext.emptyFn}},initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){var b=this.grid.getView();b.mainBody.on("mousedown",this.onMouseDown,this);Ext.fly(b.innerHd).on("mousedown",this.onHdMouseDown,this)},this)},onMouseDown:function(j,e){if(j.button===0&&e.className=="x-grid3-row-checker"){j.stopEvent();var h=j.getTarget(".x-grid3-row");if(h){var g=h.rowIndex;if(this.isSelected(g)){this.deselectRow(g)}else{this.selectRow(g,true)}}}},onHdMouseDown:function(j,g){if(g.className=="x-grid3-hd-checker"){j.stopEvent();var e=Ext.fly(g.parentNode);var h=e.hasClass("x-grid3-hd-checker-on");if(h){e.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{e.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(d,g,e){return'<div class="x-grid3-row-checker">&#160;</div>'}});Ext.grid.CellSelectionModel=function(b){Ext.apply(this,b);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.CellSelectionModel,Ext.grid.AbstractSelectionModel,{initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.getGridEl().on(Ext.EventManager.useKeydown?"keydown":"keypress",this.handleKeyDown,this);var b=this.grid.view;b.on("refresh",this.onViewChange,this);b.on("rowupdated",this.onRowUpdated,this);b.on("beforerowremoved",this.clearSelections,this);b.on("beforerowsinserted",this.clearSelections,this);if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},beforeEdit:function(b){this.select(b.row,b.column,false,true,b.record)},onRowUpdated:function(e,d,g){if(this.selection&&this.selection.record==g){e.onCellSelect(d,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(c){var d=this.selection;if(d){if(c!==true){this.grid.view.onCellDeselect(d.cell[0],d.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(e,h,g,j){if(j.button!==0||this.isLocked()){return}this.select(h,g)},select:function(k,n,h,l,m){if(this.fireEvent("beforecellselect",this,k,n)!==false){this.clearSelections();m=m||this.grid.store.getAt(k);this.selection={record:m,cell:[k,n]};if(!h){var j=this.grid.getView();j.onCellSelect(k,n);if(l!==true){j.focusCell(k,n)}}this.fireEvent("cellselect",this,k,n);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(g,d,e){return !e.isHidden(d)},handleKeyDown:function(p){if(!p.isNavKeyPress()){return}var q=this.grid,c=this.selection;if(!c){p.stopEvent();var e=q.walkCells(0,0,1,this.isSelectable,this);if(e){this.select(e[0],e[1])}return}var t=this;var g=function(a,d,b){return q.walkCells(a,d,b,t.isSelectable,t)};var s=p.getKey(),u=c.cell[0],k=c.cell[1];var r;switch(s){case p.TAB:if(p.shiftKey){r=g(u,k-1,-1)}else{r=g(u,k+1,1)}break;case p.DOWN:r=g(u+1,k,1);break;case p.UP:r=g(u-1,k,-1);break;case p.RIGHT:r=g(u,k+1,1);break;case p.LEFT:r=g(u,k-1,-1);break;case p.ENTER:if(q.isEditor&&!q.editing){q.startEditing(u,k);p.stopEvent();return}break}if(r){this.select(r[0],r[1]);p.stopEvent()}},acceptsNav:function(g,d,e){return !e.isHidden(d)&&e.isCellEditable(d,g)},onEditorKey:function(k,l){var e=l.getKey(),j,m=this.grid,g=m.activeEditor;if(e==l.TAB){if(l.shiftKey){j=m.walkCells(g.row,g.col-1,-1,this.acceptsNav,this)}else{j=m.walkCells(g.row,g.col+1,1,this.acceptsNav,this)}l.stopEvent()}else{if(e==l.ENTER){g.completeEdit();l.stopEvent()}else{if(e==l.ESC){l.stopEvent();g.cancelEdit()}}}if(j){m.startEditing(j[0],j[1])}}});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.on("bodyscroll",this.stopEditing,this,[true]);this.on("columnresize",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{if(this.clicksToEdit=="auto"&&this.view.mainBody){this.view.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}},onCellDblClick:function(d,g,e){this.startEditing(g,e)},onAutoEditClick:function(l,e){if(l.button!==0){return}var j=this.view.findRowIndex(e);var h=this.view.findCellIndex(e);if(j!==false&&h!==false){this.stopEditing();if(this.selModel.getSelectedCell){var k=this.selModel.getSelectedCell();if(k&&k[0]===j&&k[1]===h){this.startEditing(j,h)}}else{if(this.selModel.isSelected(j)){this.startEditing(j,h)}}}},onEditComplete:function(e,m,j){this.editing=false;this.activeEditor=null;e.un("specialkey",this.selModel.onEditorKey,this.selModel);var n=e.record;var k=this.colModel.getDataIndex(e.col);m=this.postEditValue(m,j,n,k);if(this.forceValidation===true||String(m)!==String(j)){var l={grid:this,record:n,field:k,originalValue:j,value:m,row:e.row,column:e.col,cancel:false};if(this.fireEvent("validateedit",l)!==false&&!l.cancel&&String(m)!==String(j)){n.set(k,l.value);delete l.cancel;this.fireEvent("afteredit",l)}}this.view.focusCell(e.row,e.col)},startEditing:function(k,e){this.stopEditing();if(this.colModel.isCellEditable(e,k)){this.view.ensureVisible(k,e,true);var n=this.store.getAt(k);var l=this.colModel.getDataIndex(e);var m={grid:this,record:n,field:l,value:n.data[l],row:k,column:e,cancel:false};if(this.fireEvent("beforeedit",m)!==false&&!m.cancel){this.editing=true;var j=this.colModel.getCellEditor(e,k);if(!j){return}if(!j.rendered){j.render(this.view.getEditorParent(j))}(function(){j.row=k;j.col=e;j.record=n;j.on("complete",this.onEditComplete,this,{single:true});j.on("specialkey",this.selModel.onEditorKey,this.selModel);this.activeEditor=j;var a=this.preEditValue(n,l);j.startEdit(this.view.getCell(k,e).firstChild,a===undefined?"":a)}).defer(50,this)}}},preEditValue:function(e,g){var d=e.data[g];return this.autoEncode&&typeof d=="string"?Ext.util.Format.htmlDecode(d):d},postEditValue:function(j,g,e,h){return this.autoEncode&&typeof j=="string"?Ext.util.Format.htmlEncode(j):j},stopEditing:function(b){if(this.activeEditor){this.activeEditor[b===true?"cancelEdit":"completeEdit"]()}this.activeEditor=null}});Ext.reg("editorgrid",Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(c,d){Ext.grid.GridEditor.superclass.constructor.call(this,c,d);c.monitorTab=false};Ext.extend(Ext.grid.GridEditor,Ext.Editor,{alignment:"tl-tl",autoSize:"width",hideEl:false,cls:"x-small-editor x-grid-editor",shim:false,shadow:false});Ext.grid.PropertyRecord=Ext.data.Record.create([{name:"name",type:"string"},"value"]);Ext.grid.PropertyStore=function(d,c){this.grid=d;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(c){this.setSource(c)}Ext.grid.PropertyStore.superclass.constructor.call(this)};Ext.extend(Ext.grid.PropertyStore,Ext.util.Observable,{setSource:function(g){this.source=g;this.store.removeAll();var d=[];for(var e in g){if(this.isEditableValue(g[e])){d.push(new Ext.grid.PropertyRecord({name:e,value:g[e]},e))}}this.store.loadRecords({records:d},{},true)},onUpdate:function(j,h,k){if(k==Ext.data.Record.EDIT){var g=h.data.value;var l=h.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,h.id,g,l)!==false){this.source[h.id]=g;h.commit();this.grid.fireEvent("propertychange",this.source,h.id,g,l)}else{h.reject()}}},getProperty:function(b){return this.store.getAt(b)},isEditableValue:function(b){if(Ext.isDate(b)){return true}return !(Ext.isObject(b)||Ext.isFunction(b))},setValue:function(c,d){this.source[c]=d;this.store.getById(c).set("value",d)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=function(l,g){var k=Ext.grid,j=Ext.form;this.grid=l;k.PropertyColumnModel.superclass.constructor.call(this,[{header:this.nameText,width:50,sortable:true,dataIndex:"name",id:"name",menuDisabled:true},{header:this.valueText,width:50,resizable:false,dataIndex:"value",id:"value",menuDisabled:true}]);this.store=g;var h=new j.Field({autoCreate:{tag:"select",children:[{tag:"option",value:"true",html:"true"},{tag:"option",value:"false",html:"false"}]},getValue:function(){return this.el.value=="true"}});this.editors={date:new k.GridEditor(new j.DateField({selectOnFocus:true})),string:new k.GridEditor(new j.TextField({selectOnFocus:true})),number:new k.GridEditor(new j.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new k.GridEditor(h)};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)};Ext.extend(Ext.grid.PropertyColumnModel,Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",renderDate:function(b){return b.dateFormat(this.dateFormat)},renderBool:function(b){return b?"true":"false"},isCellEditable:function(d,c){return d==1},getRenderer:function(b){return b==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(b){return this.getPropertyName(b)},renderCell:function(d){var c=d;if(Ext.isDate(d)){c=this.renderDate(d)}else{if(typeof d=="boolean"){c=this.renderBool(d)}}return Ext.util.Format.htmlEncode(c)},getPropertyName:function(c){var d=this.grid.propertyNames;return d&&d[c]?d[c]:c},getCellEditor:function(h,j){var g=this.store.getProperty(j),k=g.data.name,l=g.data.value;if(this.grid.customEditors[k]){return this.grid.customEditors[k]}if(Ext.isDate(l)){return this.editors.date}else{if(typeof l=="number"){return this.editors.number}else{if(typeof l=="boolean"){return this.editors["boolean"]}else{return this.editors.string}}}},destroy:function(){Ext.grid.PropertyColumnModel.superclass.destroy.call(this);for(var b in this.editors){Ext.destroy(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.customEditors=this.customEditors||{};this.lastEditRow=null;var c=new Ext.grid.PropertyStore(this);this.propStore=c;var d=new Ext.grid.PropertyColumnModel(this,c);c.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=d;this.ds=c.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.mon(this.selModel,"beforecellselect",function(a,b,g){if(g===0){this.startEditing.defer(200,this,[b,1]);return false}},this)},onRender:function(){Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);this.getGridEl().addClass("x-props-grid")},afterRender:function(){Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);if(this.source){this.setSource(this.source)}},setSource:function(b){this.propStore.setSource(b)},getSource:function(){return this.propStore.getSource()}});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}",gidSeed:1000,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var b=this.grid.getSelectionModel();b.on(b.selectRow?"beforerowselect":"beforecellselect",this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('<div id="{groupId}" class="x-grid-group {cls}">','<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div class="x-grid-group-title">',this.groupTextTpl,"</div></div>",'<div id="{groupId}-bd" class="x-grid-group-body">')}this.startGroup.compile();this.endGroup="</div></div>"},findGroup:function(b){return Ext.fly(b).up(".x-grid-group",this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(){if(this.enableGrouping&&!this.ignoreAdd){var b=this.getScrollState();this.refresh();this.restoreScroll(b)}else{if(!this.enableGrouping){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(j,h,g,k){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var l=document.getElementById(h._groupId);if(l&&l.childNodes[1].childNodes.length<1){Ext.removeNode(l)}this.applyEmptyText()},refreshRow:function(b){if(this.ds.getCount()==1){this.refresh()}else{this.isUpdating=true;Ext.grid.GroupingView.superclass.refreshRow.apply(this,arguments);this.isUpdating=false}},beforeMenuShow:function(){var g,e=this.hmenu.items,d=this.cm.config[this.hdCtxIndex].groupable===false;if((g=e.get("groupBy"))){g.setDisabled(d)}if((g=e.get("showGroups"))){g.setDisabled(d);g.setChecked(!!this.getGroupField(),true)}},renderUI:function(){Ext.grid.GroupingView.superclass.renderUI.call(this);this.mainBody.on("mousedown",this.interceptMouse,this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{itemId:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({itemId:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},onGroupByClick:function(){this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.beforeMenuShow()},onShowGroupsClick:function(d,c){if(c){this.onGroupByClick()}else{this.grid.store.clearGrouping()}},toggleGroup:function(g,d){this.grid.stopEditing(true);g=Ext.getDom(g);var e=Ext.fly(g);d=d!==undefined?d:e.hasClass("x-grid-group-collapsed");this.state[e.dom.id]=d;e[d?"removeClass":"addClass"]("x-grid-group-collapsed")},toggleAllGroups:function(j){var e=this.getGroups();for(var h=0,g=e.length;h<g;h++){this.toggleGroup(e[h],j)}},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},interceptMouse:function(c){var d=c.getTarget(".x-grid-group-hd",this.mainBody);if(d){c.stopEvent();this.toggleGroup(d.parentNode)}},getGroup:function(j,n,l,k,g,m){var o=l?l(j,{},n,k,g,m):String(j);if(o===""){o=this.cm.config[g].emptyGroupText||this.emptyGroupText}return o},getGroupField:function(){return this.grid.store.getGroupState()},afterRender:function(){Ext.grid.GroupingView.superclass.afterRender.call(this);if(this.grid.deferRowRender){this.updateGroupWidths()}},renderRows:function(){var g=this.getGroupField();var h=!!g;if(this.hideGroupedColumn){var e=this.cm.findColumnIndex(g);if(!h&&this.lastGroupField!==undefined){this.mainBody.update("");this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);delete this.lastGroupField}else{if(h&&this.lastGroupField===undefined){this.lastGroupField=g;this.cm.setHidden(e,true)}else{if(h&&this.lastGroupField!==undefined&&g!==this.lastGroupField){this.mainBody.update("");var j=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(j,false);this.lastGroupField=g;this.cm.setHidden(e,true)}}}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(W,T,H,Z,I,F){if(T.length<1){return""}var J=this.getGroupField(),L=this.cm.findColumnIndex(J),g;this.enableGrouping=!!J;if(!this.enableGrouping||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)}var S="width:"+this.getTotalWidth()+";";var G=this.grid.getGridEl().id;var U=this.cm.config[L];var Y=U.groupRenderer||U.renderer;var E=this.showGroupName?(U.groupName||U.header)+": ":"";var K=[],P,D,r,N;for(D=0,r=T.length;D<r;D++){var Q=Z+D,O=T[D],V=O.data[J];g=this.getGroup(V,O,Y,Q,L,H);if(!P||P.group!=g){N=G+"-gp-"+J+"-"+Ext.util.Format.htmlEncode(g);var X=typeof this.state[N]!=="undefined"?!this.state[N]:this.startCollapsed;var R=X?"x-grid-group-collapsed":"";P={group:g,gvalue:V,text:E+g,groupId:N,startRow:Q,rs:[O],cls:R,style:S};K.push(P)}else{P.rs.push(O)}O._groupId=N}var M=[];for(D=0,r=K.length;D<r;D++){g=K[D];this.doGroupStart(M,g,W,H,I);M[M.length]=Ext.grid.GroupingView.superclass.doRender.call(this,W,g.rs,H,g.startRow,I,F);this.doGroupEnd(M,g,W,H,I)}return M.join("")},getGroupId:function(m){var o=this.grid.getGridEl().id;var p=this.getGroupField();var n=this.cm.findColumnIndex(p);var j=this.cm.config[n];var l=j.groupRenderer||j.renderer;var k=this.getGroup(m,{data:{}},l,0,n,this.ds);return o+"-gp-"+p+"-"+Ext.util.Format.htmlEncode(m)},doGroupStart:function(h,k,g,j,l){h[h.length]=this.startGroup.apply(k)},doGroupEnd:function(h,k,g,j,l){h[h.length]=this.endGroup},getRows:function(){if(!this.enableGrouping){return Ext.grid.GroupingView.superclass.getRows.call(this)}var l=[];var m,p=this.getGroups();for(var n=0,j=p.length;n<j;n++){m=p[n].childNodes[1].childNodes;for(var o=0,g=m.length;o<g;o++){l[l.length]=m[o]}}return l},updateGroupWidths:function(){if(!this.enableGrouping||!this.hasRows()){return}var j=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.scrollOffset)+"px";var e=this.getGroups();for(var h=0,g=e.length;h<g;h++){e[h].firstChild.style.width=j}},onColumnWidthUpdated:function(g,e,d){Ext.grid.GroupingView.superclass.onColumnWidthUpdated.call(this,g,e,d);this.updateGroupWidths()},onAllColumnWidthsUpdated:function(d,c){Ext.grid.GroupingView.superclass.onAllColumnWidthsUpdated.call(this,d,c);this.updateGroupWidths()},onColumnHiddenUpdated:function(d,g,e){Ext.grid.GroupingView.superclass.onColumnHiddenUpdated.call(this,d,g,e);this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(h,j){if(!this.enableGrouping){return}var e=this.getRow(j);if(e&&!e.offsetParent){var g=this.findGroup(e);this.toggleGroup(g,true)}}});Ext.grid.GroupingView.GROUP_ID=1000;if(!window.memo){memo={}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c,b){if(b==null){b=0}else{if(b<0){b=Math.max(0,this.length+b)}}for(var a=b;a<this.length;a++){if(this[a]===c){return a}}return -1}}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(c,b){if(b==null){b=this.length-1}else{if(b<0){b=Math.max(0,this.length+b)}}for(var a=b;a>=0;a--){if(this[a]===c){return a}}return -1}}if(!Array.prototype.forEach){Array.prototype.forEach=function(c,d){var a=this.length;for(var b=0;b<a;b++){c.call(d,this[b],b,this)}}}if(!Array.prototype.filter){Array.prototype.filter=function(d,e){var a=this.length;var c=[];for(var b=0;b<a;b++){if(d.call(e,this[b],b,this)){c.push(this[b])}}return c}}if(!Array.prototype.map){Array.prototype.map=function(d,e){var a=this.length;var c=[];for(var b=0;b<a;b++){c.push(d.call(e,this[b],b,this))}return c}}if(!Array.prototype.some){Array.prototype.some=function(c,d){var a=this.length;for(var b=0;b<a;b++){if(c.call(d,this[b],b,this)){return true}}return false}}if(!Array.prototype.every){Array.prototype.every=function(c,d){var a=this.length;for(var b=0;b<a;b++){if(!c.call(d,this[b],b,this)){return false}}return true}}Array.prototype.contains=function(a){return this.indexOf(a)!=-1};Array.prototype.copy=function(a){return this.concat()};Array.prototype.insertAt=function(b,a){this.splice(a,0,b)};Array.prototype.insertBefore=function(c,b){var a=this.indexOf(b);if(a==-1){this.push(c)}else{this.splice(a,0,c)}};Array.prototype.removeAt=function(a){this.splice(a,1)};Array.prototype.remove=function(b){var a=this.indexOf(b);if(a!=-1){this.splice(a,1)}};if(!window.console||!console.firebug){var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;++i){window.console[names[i]]=function(){}}}memo.misc={};memo.misc.PackageLoader=Ext.extend(Ext.util.Observable,{constructor:function(a){memo.misc.PackageLoader.superclass.constructor.call(this);this.packages=a;this.orders=[];this._updating=false;this.addEvents({updated:true})},load:function(c,d,b){if(!Ext.isArray(c)){c=[c]}var a=new memo.misc.PackageLoader.Order({packages:c,callback:d,scope:b});this.orders.push(a);c.forEach(this._loadPackage,this);this._updateOrders()},_loadPackage:function(a){var b=this.packages[a];if(b.loaded||b.loading){return}var c=b.deps.every(function(d){return this.packages[d].loaded},this);if(c){console.debug("memo.misc.PackageLoader loading package dynamically:",a);b.loading=true;this._insertTags(b)}else{console.debug("memo.misc.PackageLoader loading dependencies of",a);this.load(b.deps,function(){this._loadPackage(a)},this,false)}},_insertTags:function(c){var b=document.getElementsByTagName("head")[0];var a=document.getElementsByTagName("body")[0];var e=document.createElement("link");e.setAttribute("rel","stylesheet");e.setAttribute("type","text/css");e.setAttribute("href",c.css);b.appendChild(e);var d=document.createElement("script");d.setAttribute("type","text/javascript");d.setAttribute("src",c.js);a.appendChild(d)},setLoaded:function(a){console.log("memo.misc.PackageLoader finished loading ",a);var b=this.packages[a];b.loaded=true;b.loading=false;this._updateOrders()},_updateOrders:function(){if(this._updating){this.on("updated",this._updateOrders,this,{single:true})}else{this._updating=true;this.orders=this.orders.filter(function(a){a.update(this);return !a.finished},this);this._updating=false;this.fireEvent("updated")}}});memo.misc.PackageLoader.Order=Ext.extend(Object,{constructor:function(a){Ext.apply(this,a);if(this.message===undefined){this.message="Loading..."}},start:function(){console.log("Packages ordered:",this.packages);this.started=true},finish:function(){console.log("Package order completed.",this.packages);this.finished=true;if(this.callback){this.callback.call(this.scope)}},update:function(a){if(!this.finished){var b=this.packages.every(function(c){return a.packages[c].loaded});if(b){this.finish()}else{if(!this.started){this.start()}}}}});memo.misc.ThemeLoader=Ext.extend(Object,{constructor:function(){this.loaded={}},load:function(a){if(!this.loaded[a.url]){this.loaded[a.url]=true;this._insertTags(a)}},_insertTags:function(c){var a=document.getElementsByTagName("head")[0];var b=document.createElement("link");b.setAttribute("rel","stylesheet");b.setAttribute("type","text/css");b.setAttribute("href",c.css);a.appendChild(b)}});memo.config={};memo.view={};memo.view.users={};memo.config.urls={LANGUAGES:"/languages",LOGGED_USER:"/users/logged",MAIN_PAGE:"/",USER_REGISTER:"/users/signup"};memo.view.users.LoginDialog=Ext.extend(Ext.Window,{closable:false,waitMsgTarget:true,width:330,height:180,layout:"fit",cls:"login-dlg",title:"Please login to rapidstudy.com",initComponent:function(){this.addEvents({loggedIn:true});this.formPanel=new Ext.form.FormPanel({border:false,bodyStyle:"padding: 25px 0 25px 25px",items:[{fieldLabel:"Username",xtype:"textfield",name:"username"},{fieldLabel:"Password",xtype:"textfield",inputType:"password",name:"password"}],fbar:[{text:"Back to main page",handler:function(){window.location.href=memo.config.urls.MAIN_PAGE},scope:this},{text:"Register",handler:function(){window.location.href=memo.config.urls.USER_REGISTER},scope:this},{text:"Log in",handler:this.processLogIn,scope:this}]});Ext.apply(this,{items:[this.formPanel],keys:[{key:[10,13],scope:this,fn:this.processLogIn}]});memo.view.users.LoginDialog.superclass.initComponent.apply(this,arguments);this.on("render",function(){(function(){this.formPanel.form.findField("username").focus()}).defer(500,this)},this)},processLogIn:function(){var a=this.formPanel.form.getValues();Ext.Ajax.request({url:memo.config.urls.LOGGED_USER,method:"POST",jsonData:a,success:function(){this.fireEvent("loggedIn");this.close()},failure:function(b){if(b.status==401){msg=Ext.decode(b.responseText)["error"];this.formPanel.form.findField("password").markInvalid(msg)}else{Ext.Msg.alert("Error","Error while communicating with server.")}},scope:this})}});Ext.ux={};Ext.ux.Spotlight=function(a){Ext.apply(this,a)};Ext.ux.Spotlight.prototype={active:false,animate:true,animated:false,duration:0.25,easing:"easeNone",createElements:function(){var a=Ext.getBody();this.right=a.createChild({cls:"x-spotlight"});this.left=a.createChild({cls:"x-spotlight"});this.top=a.createChild({cls:"x-spotlight"});this.bottom=a.createChild({cls:"x-spotlight"});this.all=new Ext.CompositeElement([this.right,this.left,this.top,this.bottom])},show:function(b,c,a){if(this.animated){this.show.defer(50,this,[b,c,a]);return}this.el=Ext.get(b);if(!this.right){this.createElements()}if(!this.active){this.all.setDisplayed("");this.applyBounds(true,false);this.active=true;Ext.EventManager.onWindowResize(this.syncSize,this);this.applyBounds(false,this.animate,false,c,a)}else{this.applyBounds(false,false,false,c,a)}},hide:function(b,a){if(this.animated){this.hide.defer(50,this,[b,a]);return}Ext.EventManager.removeResizeListener(this.syncSize,this);this.applyBounds(true,this.animate,true,b,a)},doHide:function(){this.active=false;this.all.setDisplayed(false)},syncSize:function(){this.applyBounds(false,false)},applyBounds:function(e,d,l,k,m){var j=this.el.getRegion();var a=Ext.lib.Dom.getViewWidth(true);var h=Ext.lib.Dom.getViewHeight(true);var g=0,b=false;if(d){b={callback:function(){g++;if(g==4){this.animated=false;if(l){this.doHide()}Ext.callback(k,m,[this])}},scope:this,duration:this.duration,easing:this.easing};this.animated=true}this.right.setBounds(j.right,e?h:j.top,a-j.right,e?0:(h-j.top),b);this.left.setBounds(0,0,j.left,e?0:j.bottom,b);this.top.setBounds(e?a:j.left,0,e?0:a-j.left,j.top,b);this.bottom.setBounds(0,j.bottom,e?0:j.right,h-j.bottom,b);if(!d){if(l){this.doHide()}if(k){Ext.callback(k,m,[this])}}},destroy:function(){this.doHide();Ext.destroy(this.right,this.left,this.top,this.bottom);delete this.el;delete this.all}};memo.misc.Authenticator=Ext.extend(Ext.util.Observable,{constructor:function(){memo.misc.Authenticator.superclass.constructor.call(this);this.addEvents({success:true});this.inProgress=false},authenticate:function(){if(!this.inProgress){this._ensureUserIsLogged();this.inProgress=true}},_ensureUserIsLogged:function(){Ext.Ajax.request({method:"GET",url:memo.config.urls.LOGGED_USER,success:function(a,b){if(a.responseText==="null"){this._logUserIn()}else{memo.user=Ext.decode(a.responseText);this.fireEvent("success");this.inProgress=false}},failure:function(){Ext.Msg.alert("Error","Couldn't connect to server. I'll try again in 5 seconds.");this._ensureUserIsLogged.defer(5000,this)},scope:this})},_logUserIn:function(){this.spot=new Ext.ux.Spotlight({easing:"easeOut",duration:0.3});var a=new memo.view.users.LoginDialog();a.on("loggedIn",function(){this.spot.hide(function(){this.spot.destroy()},this);this._ensureUserIsLogged()},this);a.show();this.spot.show(a.id)}});Ext.Ajax.defaultHeaders={Accept:"application/json"};Ext.Ajax.disableCaching=false;Ext.USE_NATIVE_JSON=true;Ext.form.Field.prototype.msgTarget="under";memo.model={};memo.model.BatchRequest=Ext.extend(Ext.util.Observable,{constructor:function(a){this.supr().constructor.apply(this,arguments);Ext.apply(this,a);this._responses=[];this._numFinished=0;this._numSucceed=0},execute:function(){this._nextRequest()},_nextRequest:function(){this._performRequest(this.requests[this._numFinished])},_performRequest:function(a){this._responses.push(null);Ext.apply(a,{callback:this._requestCallback,scope:this});this.Session.request(a)},_requestCallback:function(b,d,a){var c=this.requests.indexOf(b);console.assert(c!=-1,"memo.model.BatchRequest i != -1");console.assert(this._responses[c]==null,"memo.model.BatchRequest this._responses[i] == null");this._responses[c]=a;this._numFinished+=1;if(d){this._numSucceed+=1}if(this._numFinished==this.requests.length){this._finished()}else{this._nextRequest()}},_finished:function(){var a=this._numSucceed==this._numFinished;if(this.callback){this.callback.call(this.scope,a,this._responses,this.requests)}if(a&&this.success){this.success.call(this.scope,this._responses,this.requests)}if(!a&&this.failure){this.failure.call(this.scope,this._responses,this.requests)}}});memo.model.Session=Ext.extend(Ext.util.Observable,{constructor:function(a){memo.model.Session.superclass.constructor.apply(this,arguments);this.conn=a;this.addEvents({modified:true,change:true})},request:function(a){if(a.method==undefined){a.method="GET"}console.debug("memo.model.Session:",a.method,a.url,a);var b=this._makeAjaxOptions(a);if(a.method=="POST"||a.method=="PUT"){b.jsonData=a.jsonData}this._makeAjaxRequest(b)},_makeAjaxOptions:function(a){return{method:a.method,options:a,params:a.params,url:a.url,callback:this._requestCallback,scope:this}},_makeAjaxRequest:function(a){this.conn.request(a)},_requestCallback:function(e,h,b){var j=e.options;var a=e.method;var k=Ext.decode(b.responseText)||{};if(h){if(a=="POST"||a=="PUT"||a=="DELETE"){this.fireEvent("change");var g=k.modified||[];if(g.indexOf(j.url)==-1){this.fireEvent("modified",j.url)}for(var c=0,d=g.length;c<d;++c){this.fireEvent("modified",g[c])}}}b.argument=j.argument;if(j.callback){j.callback.call(j.scope,j,h,b)}if(h){if(j.success){j.success.call(j.scope,b,j)}}else{if(j.failure){j.failure.call(j.scope,b,j)}}},get:function(a,c,b){this.request({url:a,method:"GET",success:function(e){var d=Ext.decode(e.responseText);c.call(b,d)}})},delete_:function(a,c,b){this.request({url:a,method:"DELETE",success:function(e){var d=Ext.decode(e.responseText);if(c){c.call(b,d)}}})},batch:function(a){a.Session=this;var b=new memo.model.BatchRequest(a);b.execute();return b}});memo.ctrl={};memo.ctrl.app={};memo.ctrl.app.ActionStringParser=function(){};memo.ctrl.app.ActionStringParser.prototype={parse:function(d){var c,b,a,e,g;c=d.indexOf("/");a=d.slice(0,c);b=d.indexOf(":",c);if(b==-1){e=d.slice(c+1);g=[]}else{e=d.slice(c+1,b);g=d.slice(b+1);g=g.split(",");g=g.map(decodeURIComponent)}return[a,e,g]},serialize:function(a,c,d){var b=a+"/"+c;if(d){d=d.map(encodeURIComponent);b+=":"+d.join(",")}return b}};memo.ctrl.app.Application=Ext.extend(Ext.util.Observable,{constructor:function(a){Ext.apply(this,a);this.history=a.history||Ext.History;this._urls=a.urls;this._controllers={};this._registerEvents();this._actionParser=new memo.ctrl.app.ActionStringParser();this._historyPoint=-1;this._currentAction=this.defaultAction;this._lastAction=this.defaultAction;this._lastButOneAction=this.defaultAction},init:function(b,a){if(Ext.isIE&&!memo.historyFrameLoaded){this.init.defer(50,this,[b,a]);return}this._doInit();b.call(a)},_doInit:function(){this.history.init();this.history.on("change",this._onHistoryChange,this);var a=new Ext.state.CookieProvider();Ext.state.Manager.setProvider(a)},start:function(){if(location.hash){this._onHistoryChange(location.hash.substring(1))}else{this.runAction.apply(this,this.defaultAction)}},_onHistoryChange:function(a){if(a){this._doRunAction.apply(this,this._actionParser.parse(a))}},getHistoryPoint:function(a){console.assert(a==-1||a==-2);if(a==-1){return this._lastAction}else{return this._lastButOneAction}},toHistoryPoint:function(a){this.runAction.apply(this,a)},runAction:function(a,b){this.runActionFromString(this.getActionString.apply(this,arguments))},runActionFromString:function(a){this.history.add(a)},getActionString:function(a,b){var c=Array.prototype.slice.call(arguments,2);return this._actionParser.serialize(a,b,c)},_doRunAction:function(a,b,c){this._lastButOneAction=this._lastAction;this._lastAction=this._currentAction;this._currentAction=[a,b].concat(c);this.withController(a,function(d){console.debug("memo.ctrl.app.Application executing %s.Controller::%s(%s)",a,b,c);if(d[b]===undefined){console.error("Action %s.Controller::%s is not implemented.",a,b)}else{d[b].apply(d,c)}})},withController:function(name,callback,scope){var controller=this._controllers[name];if(controller===undefined){var clsName="memo.ctrl."+name+".Controller";var ctrlCls=eval(clsName);var ctrl=new ctrlCls({app:this});this._controllers[name]=ctrl;callback.call(scope,ctrl)}else{callback.call(scope,controller)}},load:function(){memo.loader.load.apply(memo.loader,arguments)},_registerEvents:function(){var a={"editor.change":true};this.addEvents(a)},getURL:function(b){var a=this._urls[b];console.assert(a!=undefined,"URL '"+b+"' is not defined in memo.config.urls");return a},showMessage:function(a){this.desktop.showMessage(a)}});memo.ctrl.desktop={};memo.view.desktop={};Ext.ns("Ext.ux.window");Ext.ux.window.MessageWindowGroup=function(a){a=a||{};var b=new Ext.WindowGroup();b.positions=[];Ext.apply(b,a);return b};Ext.ux.window.MessageWindowMgr=Ext.ux.window.MessageWindowGroup();Ext.ux.window.MessageWindow=Ext.extend(Ext.Window,{hideAction:"close",autoHide:true,autoHeight:false,bodyStyle:"text-align:left;padding:10px;",buttonAlign:"center",cls:"x-notification",constrain:true,constrainHeader:true,draggable:true,floating:true,frame:true,handleHelp:Ext.emptyFn,help:true,hideFx:{delay:5000},hoverCls:"msg-over",iconCls:"x-icon-information",minHeight:40,minWidth:200,msgs:[],monitorResize:true,pinOnClick:true,pinState:"unpin",plain:false,resizable:false,textHelp:"Get help",textPin:"Pin this to prevent closing",textUnpin:"Unpin this to close",initHidden:true,initComponent:function(){Ext.apply(this,{collapsible:false,footer:false,minHeight:20,stateful:false});if(this.interval){this.startAutoRefresh()}if(this.autoHide){if(this.pinState==="unpin"){this.task=new Ext.util.DelayedTask(this[this.hideAction],this,[this.animateTarget])}}else{this.closable=true}Ext.ux.window.MessageWindow.superclass.initComponent.call(this);this.on({mouseout:{scope:this,fn:this.onMouseout}});this.addEvents("afterpin","afterunpin","click");this.initFx()},initEvents:function(){this.manager=this.manager||Ext.ux.window.MessageWindowMgr;Ext.ux.window.MessageWindow.superclass.initEvents.call(this)},focus:function(){Ext.ux.window.MessageWindow.superclass.focus.call(this)},toFront:function(){if(this.manager.bringToFront(this)){if(this.focusOnShow){this.focus()}}return this},initTools:function(){if(this.pinOnClick){this.addTool({id:"unpin",handler:this.handlePin,hidden:(!this.pinState||this.pinState==="pin"),qtip:this.textPin,scope:this});this.addTool({id:"pin",handler:this.handleUnpin,hidden:(!this.pinState||this.pinState==="unpin"),qtip:this.textUnpin,scope:this})}if(this.help){this.addTool({id:"help",handler:this.handleHelp,qtip:this.textHelp,scope:this})}Ext.ux.window.MessageWindow.superclass.initTools.apply(this,arguments)},onRender:function(b,a){Ext.ux.window.MessageWindow.superclass.onRender.call(this,b,a);if(this.clip){switch(this.clip){case"bottom":Ext.destroy(this.getEl().child("."+this.baseCls+"-bl"));break}}if(true){this.el.addClassOnOver(this.hoverCls)}Ext.fly(this.body.dom).on("click",this.handleClick,this)},close:function(a){if(this.fireEvent("beforeclose",this)!==false){this.hide(a,function(){this.fireEvent("close",this);this.destroy()},this)}},togglePinState:function(a){if(this.pinOnClick){if(this.tools.unpin.isVisible()){this.handlePin(a,this.tools.unpin,this)}else{this.handleUnpin(a,this.tools.pin,this)}}},createElement:function(a,b){if(this.shiftHeader){switch(a){case"header":return;case"tbar":Ext.ux.window.MessageWindow.superclass.createElement.call(this,"header",b);Ext.ux.window.MessageWindow.superclass.createElement.call(this,a,b);return}}Ext.ux.window.MessageWindow.superclass.createElement.call(this,a,b)},focus:Ext.emptyFn,getState:function(){return Ext.apply(Ext.ux.window.MessageWindow.superclass.getState.call(this)||{},this.getBox())},handleClick:function(a){this.fireEvent("click",this,this.msg);this.togglePinState(a)},handlePin:function(c,b,a){b.hide();this.tools.pin.show();this.cancelHiding();this.fireEvent("afterpin",this)},handleUnpin:function(c,b,a){b.hide();this.tools.unpin.show();this[this.hideAction](this.animateTarget);this.fireEvent("afterunpin",this)},cancelHiding:function(){this.addClass("fixed");if(this.autoHide){if(this.pinState==="unpin"){this.task.cancel()}}if(this.tools.pin){this.tools.pin.show()}if(this.tools.unpin){this.tools.unpin.hide()}},initFx:function(){this.showFx=this.showFx||{};Ext.applyIf(this.showFx,{align:"b",duration:1,callback:this.afterShow,scope:this});this.hideFx=this.hideFx||{};Ext.applyIf(this.hideFx,{block:false,callback:this.afterHide,easing:"easeOut",remove:true,scope:this});this.origin=this.origin||{};Ext.applyIf(this.origin,{el:Ext.getDoc(),increment:true,pos:"br-br",offX:-20,offY:-20,spaY:5})},getAnimEl:function(b){var c;if(b.useProxy){c=this.proxy;this.proxy.setOpacity(0.5);this.proxy.show();var a=this.getBox(false);this.proxy.setBox(a);this.el.hide()}else{c=this.el}return c},animHide:function(){this.manager.positions.remove(this.pos);var b=this.hideFx,a=this.getAnimEl(b);switch(b.mode){case"none":break;case"slideIn":a[b.mode]("b",b);break;case"custom":Ext.callback(b.callback,b.scope,[this,a,b]);break;case"standard":b.duration=b.duration||0.25;b.opacity=0;a.shift(b);break;default:b.duration=b.duration||1;a.ghost("b",b);break}},afterShow:function(){Ext.ux.window.MessageWindow.superclass.afterShow.call(this);this.on("move",function(){this.manager.positions.remove(this.pos);this.cancelHiding()},this);if(this.autoHide){if(this.pinState==="unpin"){this.task.delay(this.hideFx.delay)}}},animShow:function(){if(this.el.isVisible()&&this.el.hasClass(this.hoverCls)){return}if(this.msgs.length>1){this.updateMsg()}var b=this.showFx,a=this.el;this.position(a);a.slideIn(b.align,b)},position:function(b){var c,a=(this.showFx.align.substr(0,1)=="t")?1:-1;this.pos=0;if(this.origin.increment){while(this.manager.positions.indexOf(this.pos)>-1){this.pos++}this.manager.positions.push(this.pos)}this.setSize(this.width||this.minWidth,this.height||this.minHeight);if(this.origin.increment){c=this.origin.offY+((this.getSize().height+this.origin.spaY)*this.pos*a)}else{c=0}b.alignTo(this.origin.el,this.origin.pos,[this.origin.offX,c])},onMouseout:function(){},positionPanel:function(b,a,d){if(a&&typeof a[1]=="number"){d=a[1];a=a[0]}b.pageX=a;b.pageY=d;if(a===undefined||d===undefined){return}if(d<0){d=10}var c=b.translatePoints(a,d);b.setLocation(c.left,c.top);return b},setMessage:function(a){this.body.update(a)},setTitle:function(b,a){Ext.ux.window.MessageWindow.superclass.setTitle.call(this,b,a||this.iconCls)},startAutoRefresh:function(a){if(a){this.updateMsg(true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.animShow.createDelegate(this,[]),this.interval)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}},updateMsg:function(a){if(this.el&&!this.el.hasClass(this.hoverCls)){if(a){}else{this.msgIndex=this.msgs[this.msgIndex+1]?this.msgIndex+1:0;this.msg=this.msgs[this.msgIndex]}this.body.update(this.msg.text)}else{}}});Ext.reg("message-window",Ext.ux.window.MessageWindow);memo.view.desktop.DesktopView=Ext.extend(Ext.Viewport,{initComponent:function(){this.toolbar=new Ext.Toolbar({border:false,items:[{xtype:"box",cls:"logo",autoEl:{tag:"div",html:"rapidstudy.com",style:"font: normal 32px Georgia, verdana;  padding: 5px 20px 5px 20px;"}},{xtype:"buttongroup",columns:2,title:"Learning",items:[{xtype:"button",cls:"start-learning",text:"Start session",handler:function(){this.app.runAction("learning","start")},scope:this,action:"learning/start",scale:"huge",rowspan:2,iconCls:"m-learning-icon",iconAlign:"top"},{xtype:"button",text:"Statistics",cls:"learning-summary",handler:function(){this.app.runAction("learning","summary")},scope:this,scale:"huge",rowspan:2,iconCls:"m-stats-icon",iconAlign:"top"}]},{xtype:"buttongroup",columns:2,title:"Materials",items:[{xtype:"button",cls:"manage-material",text:"Browse",handler:function(){this.app.runAction("browser","private_space")},scope:this,scale:"huge",iconAlign:"top",rowspan:3,iconCls:"m-browse-icon"},{xtype:"box",autoEl:{tag:"div",html:"What would you like to learn?",style:"text-align: center; padding-top: 5px;"}},{width:220,ref:"searchField",xtype:"textfield",cls:"m-search",listeners:{specialkey:function(a,b){if(b.getKey()==b.ENTER){this.fireEvent("search",a.getValue())}},scope:this}},{xtype:"container",layout:"hbox",layoutConfig:{pack:"center"},items:[{xtype:"button",text:"Search",iconCls:"search-icon",handler:function(){},scope:this}]}]},{xtype:"buttongroup",columns:1,title:"User",items:[{xtype:"box",autoEl:{tag:"div",html:this.app.user.username,style:"text-align: center; padding: 2px;"}},{text:"Profile",iconCls:"user-icon",handler:function(){location.href="/users/account"}},{text:"Log out",handler:function(){location.href="/users/logout"},iconCls:"logout-icon"},{xtype:"container"}]}]});Ext.apply(this,{cls:"desktop",layout:"border",items:[{tbar:this.toolbar,region:"center",border:false,ref:"../windows",layout:"card"}]});this.messageWindows=new Ext.ux.window.MessageWindowGroup({groupId:1});this.supr().initComponent.call(this)},showMessage:function(b){Ext.applyIf(b,{title:"Message",autoHeight:true,bodyStyle:"text-align:center",closable:true,hideFx:{delay:5000,useProxy:false},manager:this.messageWindows,origin:{offX:-30,offY:-60,spaY:5},pinOnClick:false,showFx:{align:"b",delay:0,useProxy:false},width:250});var a=new Ext.ux.window.MessageWindow(b);a.show(Ext.getDoc())}});memo.ctrl.desktop.Desktop=Ext.extend(Ext.util.Observable,{constructor:function(a){Ext.apply(this,{app:a.app});this._createView(a);this._bindEvents()},_createView:function(b){var a=b.View||memo.view.desktop.DesktopView;this.view=new a({app:this.app})},_bindEvents:function(){this.view.on({search:this._onSearch,scope:this})},init:function(){},setWindow:function(c){var b=c.id;var d=this.view.windows;var a=d.items.findIndex("windowId",b);if(a==-1){console.log("memo.ctrl.desktop.Desktop Window '%s' not exists, creating.",b);c.create.call(c.scope,c,this._windowCreated.createDelegate(this,[c],true))}else{console.log("memo.ctrl.desktop.Desktop Window '%s' already exists, reusing.",b);Ext.apply(d.items.get(a).windowConfig,{show:c.show});this._showWindow(a)}},_windowCreated:function(b,a){console.log("memo.ctrl.desktop.Desktop Created a new window '%s'",a.id);b.windowId=a.id;b.windowConfig=a;var c=this.view.windows;c.add(b);this._showWindow(c.items.getCount()-1)},_showWindow:function(a){var e=this.view.windows,c=e.getLayout(),b=c.activeItem,d=e.items.get(a),h=d.windowConfig;console.log("memo.ctrl.desktop.Desktop Showing window",window);c.setActiveItem(a);e.doLayout();if(h.show){h.show.call(h.scope,h)}if(b){var g=b.windowConfig;if(g.hide){g.hide.call(g.scope,g)}if(b.windowId==null){console.log("memo.ctrl.desktop.Desktop Destroying window ",b);e.remove(b)}}},_onSearch:function(a){this.app.runAction("browser","private_space",a)},showMessage:function(a){this.view.showMessage(a)}});memo.ctrl.browser={};memo.ctrl.Controller=function(a){this.app=a.app};memo.ctrl.Controller.prototype={};memo.ctrl.browser.Controller=Ext.extend(memo.ctrl.Controller,{private_space:function(a){this.open(this.app.user.c.space_url,a)},open:function(b,c,a){c=c||null;this.app.load("memo.ctrl.browser.all",function(){this.app.desktop.setWindow({id:"browser",create:function(d,g){var e=new memo.ctrl.browser.BrowserPresenter({app:this.app});d.browser=e;g(e.view)},show:function(d){var e=d.browser;e.whenReady(function(){if(!e.currentCO||e.currentCO.url!=b||e.searchString!=c){e.navigate(b,c,a)}})},scope:this})},this)},add_to_learning:function(a){a=a.split("&");var c=a.map(function(d){return{method:"POST",url:this.app.user.s.studied_co_url,jsonData:{co_url:d,mat_profile:{url:this.app.user.s.default_mat_profile_url}}}},this);var b=this.app.getHistoryPoint(-1);this.app.Session.batch({requests:c,callback:function(){this.app.fireEvent("editor.change");this.app.toHistoryPoint(b);this.app.showMessage({html:"Selected items have been added to the learning process."})},scope:this})}});memo.ctrl.editor={};memo.ctrl.editor.Controller=Ext.extend(memo.ctrl.Controller,{new_:function(a,b){this.app.load("memo.ctrl.editor.all",function(){if(!b){this._openCOTypeSelectDialog(a)}else{this._openNewCOEditor(a,b)}},this)},_openCOTypeSelectDialog:function(b){var a=new Ext.data.JsonStore({root:"items",url:this.app.user.c.co_types_url,fields:["url","str_id","name","description"],autoLoad:true});var c=new memo.view.editor.ContentTypeDialog({store:a});c.on("typeSelected",function(d,e){this.app.runAction("editor","new_",b,e.url);c.close()},this);c.show()},_openNewCOEditor:function(a,b){var c=this.app.getHistoryPoint(-2);this.app.Session.get(a||this.app.user.space_url,function(d){this._openEditor({coTypeURL:b,show:function(e){e.editor.whenReady(function(){e.editor.originPoint=c;e.editor.startEmpty();e.editor.setLocations([{parent:d}])})}})},this)},edit:function(b){console.log("origin");var a=this.app.getHistoryPoint(-1);console.log("load");this.app.load("memo.ctrl.editor.all",function(){this.app.Session.get(b,function(c){this._openEditor({coTypeURL:c.type.url,show:function(d){d.editor.originPoint=a;d.editor.startEdit(c)}})},this)},this)},_openEditor:function(a){this.app.desktop.setWindow(Ext.apply(a,{id:"editor-"+a.coTypeURL,create:function(d,b){this.app.Session.get(a.coTypeURL,function(c){d.editor=new memo.ctrl.editor.CustomCOEditorPresenter({app:this.app,type:c});d.editor.on("view-created",function(e){b(e)},this,{single:true});d.editor.setUp()},this)},scope:this}))},delete_:function(a){a=a.split("&");var d=this.app.getHistoryPoint(-1);var b=a.length;if(b==0){this.app.toHistoryPoint(d)}var c=function(){var e=a.map(function(g){return{method:"DELETE",url:g}});this.app.showMessage({html:"Deleting is in progress. It can take a while for large directories."});this.app.Session.batch({requests:e,callback:function(){this.app.fireEvent("editor.change");this.app.toHistoryPoint(d)},scope:this})};this.app.load("memo.ctrl.editor.all",function(){memo.view.editor.deleteCODialog({numCO:b,yes:c,no:function(){this.app.toHistoryPoint(d)},scope:this})},this)}});memo.ctrl.learning={};memo.view.learning={};memo.view.desktop.TopLevelWindow=Ext.extend(Ext.Panel,{border:false});Ext.namespace("Ext.ux.plugins");Ext.ux.plugins.ContainerMask=function(b){var a=b||{};return{init:function(d){Ext.applyIf(d,{showMask:function(h,g,c){var e;this.masked=true;if(this.rendered&&(e=this[a.el]||Ext.get(a.el)||this.getEl?this.getEl():null)){e.mask.call(e,h||a.msg,g||a.msgClass,c||a.maskClass)}},hideMask:function(){var c;this.masked=false;if(this.rendered&&(c=this[a.el]||Ext.get(a.el)||this.getEl?this.getEl():null)){c.unmask.call(c)}}});d.on("afterrender",function(){if(this.masked){this.showMask()}},d,{single:true})}}};memo.view.learning.LearningSummaryWindow=Ext.extend(memo.view.desktop.TopLevelWindow,{id:"learning-summary-win",html:"&nbsp;",preventBodyReset:true,constructor:function(a){this.tpl=new Ext.XTemplate("<h1>Hello {values.user.username}!</h1>","<ul><li>You have {values.stats.repetitions_total} repetitions for today.</li>","<li>You have {values.stats.new_material_total} new items of material in queue.</li></ul>","<p>Click <em>Start session</em> in the toolbar to start learning.</p>");Ext.apply(this,{plugins:[new Ext.ux.plugins.ContainerMask({msg:"Loading...",masked:true,msgClass:"x-mask-loading"})]});this.supr().constructor.apply(this,arguments)},update:function(a){this.tpl.overwrite(this.body,a)}});memo.ctrl.learning.Controller=Ext.extend(memo.ctrl.Controller,{start:function(a){this.app.desktop.setWindow({id:"learning-session",create:function(d,b){d.presenter=new memo.ctrl.learning.LearningPresenter({app:this.app});b(d.presenter.view)},show:function(b){b.presenter.start()},scope:this},this)},summary:function(){this.app.desktop.setWindow({id:"learning-summary",create:function(b,a){b.view=new memo.view.learning.LearningSummaryWindow();a(b.view)},show:function(a){this.app.Session.get(this.app.user.s.stats_url,function(b){a.view.hideMask();a.view.update({user:this.app.user,stats:b})},this)},scope:this})}});memo.ctrl.import_={};memo.ctrl.import_.Controller=Ext.extend(memo.ctrl.Controller,{new_:function(a){this.app.load("memo.ctrl.import_.all",function(){var b=new memo.ctrl.import_.ImportWizardPresenter({app:this.app,destinationCOURL:a,originPoint:this.app.getHistoryPoint(-1)});b.start()},this)}});memo.view.learning.LearningWindow=Ext.extend(memo.view.desktop.TopLevelWindow,{constructor:function(a){this.unitStatsTpl=new Ext.XTemplate("<h1>Current unit</h1>","<ul>","<li><em>Last review</em>: {values.curr.last_review}</li>","<li><em>Next review</em>: {values.curr.next_review}</li>","<li><em>Number of reviews</em>: {values.curr.num_reviews}</li>","<li><em>Average grade</em>: {values.curr.avg_grade}</li>","<li><em>Difficulty</em>: {values.curr.difficulty}</li>","</ul>",'<tpl if="values.prev">','<h1 class="next">Previous unit</h1>',"<ul>","<li><em>Last review</em>: {values.prev.last_review}</li>","<li><em>Next review</em>: {values.prev.next_review}</li>","<li><em>Number of reviews</em>: {values.prev.num_reviews}</li>","<li><em>Average grade</em>: {values.prev.avg_grade}</li>","<li><em>Difficulty</em>: {values.prev.difficulty}</li>","</ul>","</tpl>");Ext.apply(this,{layout:"border",cls:"learning-win",items:[{ref:"exercises",region:"west",width:600,border:false,layout:"card",activeItem:0,collapsible:true,collapseMode:"mini",split:true},{ref:"sideBar",region:"center",id:"learning-sidebar",border:false,layout:"accordion",items:[{ref:"../unitStats",title:"Unit statistics",html:"",border:false,cls:"unit-stats"}]}],plugins:[new Ext.ux.plugins.ContainerMask({msg:"Loading material...",masked:true,msgClass:"x-mask-loading"})]});memo.view.learning.LearningWindow.superclass.constructor.apply(this,arguments)},askIfWantsToLearnNewMaterial:function(a){Ext.Msg.show({buttons:Ext.Msg.YESNO,icon:Ext.Msg.QUESTION,cls:"learn-new-material-question",title:"New material",msg:"Do you want to learn new items?",fn:function(b){if(b=="yes"){a.yes.call(a.scope)}else{a.no.call(a.scope)}}})},notifyNoNewMaterialToLearn:function(a){Ext.Msg.show({buttons:Ext.Msg.OK,cls:"no-more-material-msg",title:"No more material",msg:"There is no more learning material in the queue.",fn:a.ok,scope:a.scope})},askIfWantsToDoFinalDrill:function(a){Ext.Msg.show({buttons:Ext.Msg.YESNO,icon:Ext.Msg.QUESTION,cls:"final-drill-question",title:"Final Drill",msg:"Do you want to perform a final drill on failed items?",fn:function(b){if(b=="yes"){a.yes.call(a.scope)}else{a.no.call(a.scope)}}})},updateUnitStats:function(a,b){var c={curr:this.prepareStats(a.alg_lu_data),prev:b?this.prepareStats(b.alg_lu_data):null};this.unitStatsTpl.overwrite(this.unitStats.body,c)},prepareStats:function(b){var a=function(c){if(c){return Date.parseDate(c,"c").format("Y-m-d")}else{return"N/A"}};return{last_review:a(b.last_review),next_review:a(b.next_review),num_reviews:b.num_reviews-1,avg_grade:b.avg_grade,difficulty:b.difficulty}}});memo.view.learning.AnswerMentallyExerciseControls=Ext.extend(Ext.Panel,{border:false,constructor:function(a){this.assessmentModeControls=new Ext.Panel({layout:"hbox",border:false,layoutConfig:{align:"stretch"},defaults:{flex:1,margins:"5 5 5 0"},items:[{xtype:"button",text:"Null",cls:"m-grade0",margins:"5 5 5 5",handler:function(){this.fireEvent("set-grade",0)},scope:this},{xtype:"button",text:"Fail",cls:"m-grade1",handler:function(){this.fireEvent("set-grade",1)},scope:this},{xtype:"button",text:"Almost",cls:"m-grade2",handler:function(){this.fireEvent("set-grade",2)},scope:this},{xtype:"button",text:"Barely",cls:"m-grade3",handler:function(){this.fireEvent("set-grade",3)},scope:this},{xtype:"button",text:"Fine",cls:"m-grade4",handler:function(){this.fireEvent("set-grade",4)},scope:this},{xtype:"button",text:"Easy!",cls:"m-grade5",handler:function(){this.fireEvent("set-grade",5)},scope:this}]});this.queryModeControls=new Ext.Panel({layout:"hbox",border:false,layoutConfig:{align:"stretch"},defaults:{flex:1,margins:"5 5 5 0"},items:[{xtype:"button",text:"Show answer",cls:"m-show-answer",handler:function(){this.fireEvent("show-answer")},scope:this,flex:3,margins:"5 5 5 5"},{xtype:"button",text:"Finish",cls:"m-finish",handler:function(){this.fireEvent("end-session")},scope:this}]});Ext.apply(this,{layout:"card",activeItem:0,height:45,cls:"m-ans-ment-ctrl",items:[this.queryModeControls,this.assessmentModeControls]});memo.view.learning.AnswerMentallyExerciseControls.superclass.constructor.apply(this,arguments);this.addEvents({"end-session":true,"show-answer":true,"set-grade":true})},setQueryMode:function(){this.getLayout().setActiveItem(0);this.doLayout()},setAssessmentMode:function(){this.getLayout().setActiveItem(1);this.doLayout()}});Ext.reg("ans-ment-ex-ctrl",memo.view.learning.AnswerMentallyExerciseControls);memo.view.widgets={};var soundManager=null;function SoundManager(h,j){this.flashVersion=8;this.debugMode=true;this.useConsole=true;this.consoleOnly=false;this.waitForWindowLoad=false;this.nullURL="null.mp3";this.allowPolling=true;this.useFastPolling=false;this.useMovieStar=false;this.bgColor="#ffffff";this.useHighPerformance=false;this.flashLoadTimeout=1000;this.wmode=null;this.allowFullScreen=true;this.defaultOptions={autoLoad:false,stream:true,autoPlay:false,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onstop:null,onfinish:null,onbeforefinish:null,onbeforefinishtime:5000,onbeforefinishcomplete:null,onjustbeforefinish:null,onjustbeforefinishtime:200,multiShot:true,multiShotEvents:false,position:null,pan:0,volume:100};this.flash9Options={isMovieStar:null,usePeakData:false,useWaveformData:false,useEQData:false,onbufferchange:null,ondataerror:null};this.movieStarOptions={onmetadata:null,useVideo:false,bufferTime:null};var l=null;var m=this;this.version=null;this.versionNumber="V2.95a.20090717";this.movieURL=null;this.url=null;this.altURL=null;this.swfLoaded=false;this.enabled=false;this.o=null;this.id=(j||"sm2movie");this.oMC=null;this.sounds={};this.soundIDs=[];this.muted=false;this.isFullScreen=false;this.isIE=(navigator.userAgent.match(/MSIE/i));this.isSafari=(navigator.userAgent.match(/safari/i));this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.specialWmodeCase=false;this._onready=[];this._debugOpen=true;this._didAppend=false;this._appendSuccess=false;this._didInit=false;this._disabled=false;this._windowLoaded=false;this._hasConsole=(typeof console!="undefined"&&typeof console.log!="undefined");this._debugLevels=["log","info","warn","error"];this._defaultFlashVersion=8;this._oRemoved=null;this._oRemovedHTML=null;var k=function(a){return document.getElementById(a)};this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.netStreamTypes=["aac","flv","mov","mp4","m4v","f4v","m4a","mp4v","3gp","3g2"];this.netStreamPattern=new RegExp("\\.("+this.netStreamTypes.join("|")+")(\\?.*)?$","i");this.filePattern=null;this.features={buffering:false,peakData:false,waveformData:false,eqData:false,movieStar:false};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local + internet access)"},description:null,noRemote:null,noLocal:null};this._setVersionInfo=function(){if(m.flashVersion!=8&&m.flashVersion!=9){alert('soundManager.flashVersion must be 8 or 9. "'+m.flashVersion+'" is invalid. Reverting to '+m._defaultFlashVersion+".");m.flashVersion=m._defaultFlashVersion}m.version=m.versionNumber+(m.flashVersion==9?" (AS3/Flash 9)":" (AS2/Flash 8)");if(m.flashVersion>8){m.defaultOptions=m._mergeObjects(m.defaultOptions,m.flash9Options);m.features.buffering=true}if(m.flashVersion>8&&m.useMovieStar){m.defaultOptions=m._mergeObjects(m.defaultOptions,m.movieStarOptions);m.filePatterns.flash9=new RegExp("\\.(mp3|"+m.netStreamTypes.join("|")+")(\\?.*)?$","i");m.features.movieStar=true}else{m.useMovieStar=false;m.features.movieStar=false}m.filePattern=m.filePatterns[(m.flashVersion!=8?"flash9":"flash8")];m.movieURL=(m.flashVersion==8?"soundmanager2.swf":"soundmanager2_flash9.swf");m.features.peakData=m.features.waveformData=m.features.eqData=(m.flashVersion>8)};this._overHTTP=(document.location?document.location.protocol.match(/http/i):null);this._waitingforEI=false;this._initPending=false;this._tryInitOnFocus=(this.isSafari&&typeof document.hasFocus=="undefined");this._isFocused=(typeof document.hasFocus!="undefined"?document.hasFocus():null);this._okToDisable=!this._tryInitOnFocus;this.useAltURL=!this._overHTTP;var n="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html";this.strings={notReady:"Not loaded yet - wait for soundManager.onload() before calling sound-related methods",appXHTML:"soundManager._createMovie(): appendChild/innerHTML set failed. May be app/xhtml+xml DOM-related.",localFail:'soundManager: Loading this page from local/network file system (not over HTTP?) Flash security likely restricting JS-Flash access. Consider adding current URL to "trusted locations" in the Flash player security settings manager at '+n+", or simply serve this content over HTTP.",waitFocus:"soundManager: Special case: Waiting for focus-related event..",waitImpatient:"soundManager: Getting impatient, still waiting for Flash.. ;)",waitForever:"soundManager: Waiting indefinitely for Flash...",needFunction:"soundManager.onready(): Function object expected"};this.supported=function(){return(m._didInit&&!m._disabled)};this.getMovie=function(a){return m.isIE?window[a]:(m.isSafari?k(a)||document[a]:k(a))};this.loadFromXML=function(b){try{m.o._loadFromXML(b)}catch(a){m._failSafely();return true}};this.createSound=function(d){var a="soundManager.createSound(): ";if(!m._didInit){throw m._complain(a+m.strings.notReady,arguments.callee.caller)}if(arguments.length==2){d={id:arguments[0],url:arguments[1]}}var c=m._mergeObjects(d);var e=c;if(e.id.toString().charAt(0).match(/^[0-9]$/)){var b=a+'Warning: Sound ID "'+e.id+'" should be a string, starting with a non-numeric character'}if(m._idCheck(e.id,true)){return m.sounds[e.id]}if(m.flashVersion>8&&m.useMovieStar){if(e.isMovieStar===null){e.isMovieStar=(e.url.match(m.netStreamPattern)?true:false)}if(e.isMovieStar&&(e.usePeakData||e.useWaveformData||e.useEQData)){e.usePeakData=false;e.useWaveformData=false;e.useEQData=false}}m.sounds[e.id]=new l(e);m.soundIDs[m.soundIDs.length]=e.id;if(m.flashVersion==8){m.o._createSound(e.id,e.onjustbeforefinishtime)}else{m.o._createSound(e.id,e.url,e.onjustbeforefinishtime,e.usePeakData,e.useWaveformData,e.useEQData,e.isMovieStar,(e.isMovieStar?e.useVideo:false),(e.isMovieStar?e.bufferTime:false))}if(e.autoLoad||e.autoPlay){if(m.sounds[e.id]){m.sounds[e.id].load(e)}}if(e.autoPlay){m.sounds[e.id].play()}return m.sounds[e.id]};this.createVideo=function(a){if(arguments.length==2){a={id:arguments[0],url:arguments[1]}}if(m.flashVersion>=9){a.isMovieStar=true;a.useVideo=true}else{return false}return m.createSound(a)};this.destroySound=function(b,c){if(!m._idCheck(b)){return false}for(var a=0;a<m.soundIDs.length;a++){if(m.soundIDs[a]==b){m.soundIDs.splice(a,1);continue}}m.sounds[b].unload();if(!c){m.sounds[b].destruct()}delete m.sounds[b]};this.destroyVideo=this.destroySound;this.load=function(b,a){if(!m._idCheck(b)){return false}m.sounds[b].load(a)};this.unload=function(a){if(!m._idCheck(a)){return false}m.sounds[a].unload()};this.play=function(b,a){if(!m._didInit){throw m._complain("soundManager.play(): "+m.strings.notReady,arguments.callee.caller)}if(!m._idCheck(b)){if(typeof a!="Object"){a={url:a}}if(a&&a.url){a.id=b;m.createSound(a)}else{return false}}m.sounds[b].play(a)};this.start=this.play;this.setPosition=function(b,a){if(!m._idCheck(b)){return false}m.sounds[b].setPosition(a)};this.stop=function(a){if(!m._idCheck(a)){return false}m.sounds[a].stop()};this.stopAll=function(){for(var a in m.sounds){if(m.sounds[a] instanceof l){m.sounds[a].stop()}}};this.pause=function(a){if(!m._idCheck(a)){return false}m.sounds[a].pause()};this.pauseAll=function(){for(var a=m.soundIDs.length;a--;){m.sounds[m.soundIDs[a]].pause()}};this.resume=function(a){if(!m._idCheck(a)){return false}m.sounds[a].resume()};this.resumeAll=function(){for(var a=m.soundIDs.length;a--;){m.sounds[m.soundIDs[a]].resume()}};this.togglePause=function(a){if(!m._idCheck(a)){return false}m.sounds[a].togglePause()};this.setPan=function(b,a){if(!m._idCheck(b)){return false}m.sounds[b].setPan(a)};this.setVolume=function(a,b){if(!m._idCheck(a)){return false}m.sounds[a].setVolume(b)};this.mute=function(b){if(typeof b!="string"){b=null}if(!b){for(var a=m.soundIDs.length;a--;){m.sounds[m.soundIDs[a]].mute()}m.muted=true}else{if(!m._idCheck(b)){return false}m.sounds[b].mute()}};this.muteAll=function(){m.mute()};this.unmute=function(b){if(typeof b!="string"){b=null}if(!b){for(var a=m.soundIDs.length;a--;){m.sounds[m.soundIDs[a]].unmute()}m.muted=false}else{if(!m._idCheck(b)){return false}m.sounds[b].unmute()}};this.unmuteAll=function(){m.unmute()};this.toggleMute=function(a){if(!m._idCheck(a)){return false}m.sounds[a].toggleMute()};this.getMemoryUse=function(){if(m.flashVersion==8){return 0}if(m.o){return parseInt(m.o._getMemoryUse(),10)}};this.disable=function(a){if(typeof a=="undefined"){a=false}if(m._disabled){return false}m._disabled=true;for(var b=m.soundIDs.length;b--;){m._disableObject(m.sounds[m.soundIDs[b]])}m.initComplete(a)};this.canPlayURL=function(a){return(a?(a.match(m.filePattern)?true:false):null)};this.getSoundById=function(b,a){if(!b){throw new Error("SoundManager.getSoundById(): sID is null/undefined")}var c=m.sounds[b];return c};this.onready=function(a,b){if(a&&a instanceof Function){if(!b){b=window}m._addOnReady(a,b);m._processOnReady();return true}else{throw m.strings.needFunction}};this.oninitmovie=function(){};this.onload=function(){soundManager._wD("soundManager.onload()",1)};this.onerror=function(){};this._idCheck=this.getSoundById;this._complain=function(r,g){var q="Error: ";if(!g){return new Error(q+r)}var d=new Error("");var c=null;if(d.stack){try{var b="@";var a=d.stack.split(b);c=a[4]}catch(e){c=d.stack}}if(typeof console!="undefined"&&typeof console.trace!="undefined"){console.trace()}var s=q+r+". \nCaller: "+g.toString()+(d.stack?" \nTop of stacktrace: "+c:(d.message?" \nMessage: "+d.message:""));return new Error(s)};var o=function(){return false};o._protected=true;this._disableObject=function(a){for(var b in a){if(typeof a[b]=="function"&&typeof a[b]._protected=="undefined"){a[b]=o}}b=null};this._failSafely=function(a){if(typeof a=="undefined"){a=false}if(!m._disabled||a){m.disable(a)}};this._normalizeMovieURL=function(b){var a=null;if(b){if(b.match(/\.swf(\?.*)?$/i)){a=b.substr(b.toLowerCase().lastIndexOf(".swf?")+4);if(a){return b}}else{if(b.lastIndexOf("/")!=b.length-1){b=b+"/"}}}return(b&&b.lastIndexOf("/")!=-1?b.substr(0,b.lastIndexOf("/")+1):"./")+m.movieURL};this._getDocument=function(){return(document.body?document.body:(document.documentElement?document.documentElement:document.getElementsByTagName("div")[0]))};this._getDocument._protected=true;this._setPolling=function(b,a){if(!m.o||!m.allowPolling){return false}m.o._setPolling(b,a)};this._createMovie=function(c,F){var s=null;var d=(F?F:m.url);var x=(m.altURL?m.altURL:d);if(m.debugURLParam.test(window.location.href.toString())){m.debugMode=true}if(m._didAppend&&m._appendSuccess){return false}m._didAppend=true;m._setVersionInfo();m.url=m._normalizeMovieURL(m._overHTTP?d:x);F=m.url;if(m.useHighPerformance&&m.useMovieStar&&m.defaultOptions.useVideo===true){s="soundManager note: disabling highPerformance, not applicable with movieStar mode + useVideo";m.useHighPerformance=false}m.wmode=(!m.wmode&&m.useHighPerformance&&!m.useMovieStar?"transparent":m.wmode);if(m.wmode!==null&&m.flashLoadTimeout!==0&&!m.useHighPerformance&&!m.isIE&&navigator.platform.match(/win32/i)){m.specialWmodeCase=true;m.wmode=null}if(m.flashVersion==8){m.allowFullScreen=false}var B={name:c,id:c,src:F,width:"100%",height:"100%",quality:"high",allowScriptAccess:"always",bgcolor:m.bgColor,pluginspage:"http://www.macromedia.com/go/getflashplayer",type:"application/x-shockwave-flash",wmode:m.wmode,allowfullscreen:(m.allowFullScreen?"true":"false")};if(!m.wmode){delete B.wmode}var E=null;var a=null;if(m.isIE){E=document.createElement("div");var g='<object id="'+c+'" data="'+F+'" type="application/x-shockwave-flash" width="100%" height="100%"><param name="movie" value="'+F+'" /><param name="AllowScriptAccess" value="always" /><param name="quality" value="high" />'+(m.wmode?'<param name="wmode" value="'+m.wmode+'" /> ':"")+'<param name="bgcolor" value="'+m.bgColor+'" /><param name="allowFullScreen" value="'+(m.allowFullScreen?"true":"false")+'" /><!-- --></object>'}else{E=document.createElement("embed");for(a in B){if(B.hasOwnProperty(a)){E.setAttribute(a,B[a])}}}var J=document.createElement("div");J.id=m.debugID+"-toggle";var I={position:"fixed",bottom:"0px",right:"0px",width:"1.2em",height:"1.2em",lineHeight:"1.2em",margin:"2px",textAlign:"center",border:"1px solid #999",cursor:"pointer",background:"#fff",color:"#333",zIndex:10001};J.appendChild(document.createTextNode("-"));J.onclick=m._toggleDebug;J.title="Toggle SM2 debug console";if(navigator.userAgent.match(/msie 6/i)){J.style.position="absolute";J.style.cursor="hand"}for(a in I){if(I.hasOwnProperty(a)){J.style[a]=I[a]}}var e=m._getDocument();if(e){m.oMC=k("sm2-container")?k("sm2-container"):document.createElement("div");if(!m.oMC.id){m.oMC.id="sm2-container";m.oMC.className="movieContainer";var D=null;var C=null;if(m.useHighPerformance){D={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}}else{D={position:"absolute",width:"8px",height:"8px",top:"-9999px",left:"-9999px"}}var H=null;for(H in D){if(D.hasOwnProperty(H)){m.oMC.style[H]=D[H]}}try{if(!m.isIE){m.oMC.appendChild(E)}e.appendChild(m.oMC);if(m.isIE){C=m.oMC.appendChild(document.createElement("div"));C.className="sm2-object-box";C.innerHTML=g}m._appendSuccess=true}catch(b){throw new Error(m.strings.appXHTML)}}else{m.oMC.appendChild(E);if(m.isIE){C=m.oMC.appendChild(document.createElement("div"));C.className="sm2-object-box";C.innerHTML=g}m._appendSuccess=true}if(!k(m.debugID)&&((!m._hasConsole||!m.useConsole)||(m.useConsole&&m._hasConsole&&!m.consoleOnly))){var G=document.createElement("div");G.id=m.debugID;G.style.display=(m.debugMode?"block":"none");if(m.debugMode&&!k(J.id)){try{e.appendChild(J)}catch(K){throw new Error(m.strings.appXHTML)}e.appendChild(G)}}e=null}};this._writeDebug=function(e,q,c){if(!m.debugMode){return false}if(typeof c!="undefined"&&c){e=e+" | "+new Date().getTime()}if(m._hasConsole&&m.useConsole){var g=m._debugLevels[q];if(typeof console[g]!="undefined"){console[g](e)}else{console.log(e)}if(m.useConsoleOnly){return true}}var r="soundmanager-debug";try{var a=k(r);if(!a){return false}var b=document.createElement("div");if(++m._wdCount%2===0){b.className="sm2-alt"}if(typeof q=="undefined"){q=0}else{q=parseInt(q,10)}b.appendChild(document.createTextNode(e));if(q){if(q>=2){b.style.fontWeight="bold"}if(q==3){b.style.color="#ff3333"}}a.insertBefore(b,a.firstChild)}catch(d){}a=null};this._writeDebug._protected=true;this._wdCount=0;this._wdCount._protected=true;this._wD=this._writeDebug;this._wDAlert=function(a){alert(a)};if(window.location.href.indexOf("debug=alert")+1&&m.debugMode){m._wD=m._wDAlert}this._toggleDebug=function(){var a=k(m.debugID);var b=k(m.debugID+"-toggle");if(!a){return false}if(m._debugOpen){b.innerHTML="+";a.style.display="none"}else{b.innerHTML="-";a.style.display="block"}m._debugOpen=!m._debugOpen};this._toggleDebug._protected=true;this._debug=function(){for(var a=0,b=m.soundIDs.length;a<b;a++){m.sounds[m.soundIDs[a]]._debug()}};this._debugTS=function(a,d,c){if(typeof sm2Debugger!="undefined"){try{sm2Debugger.handleEvent(a,d,c)}catch(b){}}};this._debugTS._protected=true;this._mergeObjects=function(d,e){var a={};for(var c in d){if(d.hasOwnProperty(c)){a[c]=d[c]}}var b=(typeof e=="undefined"?m.defaultOptions:e);for(var g in b){if(b.hasOwnProperty(g)&&typeof a[g]=="undefined"){a[g]=b[g]}}return a};this.createMovie=function(a){if(a){m.url=a}m._initMovie()};this.go=this.createMovie;this._initMovie=function(){if(m.o){return false}m.o=m.getMovie(m.id);if(!m.o){if(!m.oRemoved){m._createMovie(m.id,m.url)}else{if(!m.isIE){m.oMC.appendChild(m.oRemoved)}else{m.oMC.innerHTML=m.oRemovedHTML}m.oRemoved=null;m._didAppend=true}m.o=m.getMovie(m.id)}if(typeof m.oninitmovie=="function"){setTimeout(m.oninitmovie,1)}};this.waitForExternalInterface=function(){if(m._waitingForEI){return false}m._waitingForEI=true;if(m._tryInitOnFocus&&!m._isFocused){return false}if(m.flashLoadTimeout>0){if(!m._didInit){}setTimeout(function(){if(!m._didInit&&m._okToDisable){m._failSafely(true)}},m.flashLoadTimeout)}};this.handleFocus=function(){if(m._isFocused||!m._tryInitOnFocus){return true}m._okToDisable=true;m._isFocused=true;if(m._tryInitOnFocus){window.removeEventListener("mousemove",m.handleFocus,false)}m._waitingForEI=false;setTimeout(m.waitForExternalInterface,500);if(window.removeEventListener){window.removeEventListener("focus",m.handleFocus,false)}else{if(window.detachEvent){window.detachEvent("onfocus",m.handleFocus)}}};this.initComplete=function(a){if(m._didInit){return false}m._didInit=true;if(m._disabled||a){m._processOnReady();m._debugTS("onload",false);m.onerror.apply(window);return false}else{m._debugTS("onload",true)}if(m.waitForWindowLoad&&!m._windowLoaded){if(window.addEventListener){window.addEventListener("load",m._initUserOnload,false)}else{if(window.attachEvent){window.attachEvent("onload",m._initUserOnload)}}return false}else{m._initUserOnload()}};this._addOnReady=function(a,b){m._onready.push({method:a,scope:(b||null),fired:false})};this._processOnReady=function(){if(!m._didInit){return false}var c={success:(!m._disabled)};var d=[];for(var a=0,b=m._onready.length;a<b;a++){if(m._onready[a].fired!==true){d.push(m._onready[a])}}if(d.length){for(a=0,b=d.length;a<b;a++){if(d[a].scope){d[a].method.apply(d[a].scope,[c])}else{d[a].method(c)}d[a].fired=true}}};this._initUserOnload=function(){window.setTimeout(function(){m._processOnReady();m.onload.apply(window)})};this.init=function(){m._initMovie();if(m._didInit){return false}if(window.removeEventListener){window.removeEventListener("load",m.beginDelayedInit,false)}else{if(window.detachEvent){window.detachEvent("onload",m.beginDelayedInit)}}try{m.o._externalInterfaceTest(false);m._setPolling(true,m.useFastPolling?true:false);if(!m.debugMode){m.o._disableDebug()}m.enabled=true;m._debugTS("jstoflash",true)}catch(a){m._debugTS("jstoflash",false);m._failSafely(true);m.initComplete();return false}m.initComplete()};this.beginDelayedInit=function(){m._windowLoaded=true;setTimeout(m.waitForExternalInterface,500);setTimeout(m.beginInit,20)};this.beginInit=function(){if(m._initPending){return false}m.createMovie();m._initMovie();m._initPending=true;return true};this.domContentLoaded=function(){if(document.removeEventListener){document.removeEventListener("DOMContentLoaded",m.domContentLoaded,false)}m.go()};this._externalInterfaceOK=function(){if(m.swfLoaded){return false}m._debugTS("swf",true);m._debugTS("flashtojs",true);m.swfLoaded=true;m._tryInitOnFocus=false;if(m.isIE){setTimeout(m.init,100)}else{m.init()}};this._setSandboxType=function(b){var a=m.sandbox;a.type=b;a.description=a.types[(typeof a.types[b]!="undefined"?b:"unknown")];if(a.type=="localWithFile"){a.noRemote=true;a.noLocal=false}else{if(a.type=="localWithNetwork"){a.noRemote=false;a.noLocal=true}else{if(a.type=="localTrusted"){a.noRemote=false;a.noLocal=false}}}};this.reboot=function(){for(var b=m.soundIDs.length;b--;){m.sounds[m.soundIDs[b]].destruct()}try{if(m.isIE){m.oRemovedHTML=m.o.innerHTML}m.oRemoved=m.o.parentNode.removeChild(m.o)}catch(a){}m.enabled=false;m._didInit=false;m._waitingForEI=false;m._initPending=false;m._didAppend=false;m._appendSuccess=false;m._disabled=false;m._waitingforEI=true;m.swfLoaded=false;m.soundIDs={};m.sounds=[];m.o=null;for(b=m._onready.length;b--;){m._onready[b].fired=false}window.setTimeout(soundManager.beginDelayedInit,20)};this.destruct=function(){m.disable(true)};l=function(b){var a=this;this.sID=b.id;this.url=b.url;this.options=m._mergeObjects(b);this.instanceOptions=this.options;this._iO=this.instanceOptions;this.pan=this.options.pan;this.volume=this.options.volume;this._lastURL=null;this._debug=function(){if(m.debugMode){var d=null;var p=[];var e=null;var c=null;var g=64;for(d in a.options){if(a.options[d]!==null){if(a.options[d] instanceof Function){e=a.options[d].toString();e=e.replace(/\s\s+/g," ");c=e.indexOf("{");p[p.length]=" "+d+": {"+e.substr(c+1,(Math.min(Math.max(e.indexOf("\n")-1,g),g))).replace(/\n/g,"")+"... }"}else{p[p.length]=" "+d+": "+a.options[d]}}}}};this._debug();this.id3={};this.resetProperties=function(c){a.bytesLoaded=null;a.bytesTotal=null;a.position=null;a.duration=null;a.durationEstimate=null;a.loaded=false;a.playState=0;a.paused=false;a.readyState=0;a.muted=false;a.didBeforeFinish=false;a.didJustBeforeFinish=false;a.isBuffering=false;a.instanceOptions={};a.instanceCount=0;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.eqData=[]};a.resetProperties();this.load=function(d){if(typeof d!="undefined"){a._iO=m._mergeObjects(d);a.instanceOptions=a._iO}else{d=a.options;a._iO=d;a.instanceOptions=a._iO;if(a._lastURL&&a._lastURL!=a.url){a._iO.url=a.url;a.url=null}}if(typeof a._iO.url=="undefined"){a._iO.url=a.url}if(a._iO.url==a.url&&a.readyState!==0&&a.readyState!=2){return false}a.url=a._iO.url;a._lastURL=a._iO.url;a.loaded=false;a.readyState=1;a.playState=0;try{if(m.flashVersion==8){m.o._load(a.sID,a._iO.url,a._iO.stream,a._iO.autoPlay,(a._iO.whileloading?1:0))}else{m.o._load(a.sID,a._iO.url,a._iO.stream?true:false,a._iO.autoPlay?true:false);if(a._iO.isMovieStar&&a._iO.autoLoad&&!a._iO.autoPlay){a.pause()}}}catch(c){m._debugTS("onload",false);m.onerror();m.disable()}};this.unload=function(){if(a.readyState!==0){if(a.readyState!=2){a.setPosition(0,true)}m.o._unload(a.sID,m.nullURL);a.resetProperties()}};this.destruct=function(){m.o._destroySound(a.sID);m.destroySound(a.sID,true)};this.play=function(c){if(!c){c={}}a._iO=m._mergeObjects(c,a._iO);a._iO=m._mergeObjects(a._iO,a.options);a.instanceOptions=a._iO;if(a.playState==1){var d=a._iO.multiShot;if(!d){return false}}if(!a.loaded){if(a.readyState===0){a._iO.stream=true;a._iO.autoPlay=true;a.load(a._iO)}else{if(a.readyState==2){return false}}}if(a.paused){a.resume()}else{a.playState=1;if(!a.instanceCount||m.flashVersion>8){a.instanceCount++}a.position=(typeof a._iO.position!="undefined"&&!isNaN(a._iO.position)?a._iO.position:0);if(a._iO.onplay){a._iO.onplay.apply(a)}a.setVolume(a._iO.volume,true);a.setPan(a._iO.pan,true);m.o._start(a.sID,a._iO.loop||1,(m.flashVersion==9?a.position:a.position/1000))}};this.start=this.play;this.stop=function(c){if(a.playState==1){a.playState=0;a.paused=false;if(a._iO.onstop){a._iO.onstop.apply(a)}m.o._stop(a.sID,c);a.instanceCount=0;a._iO={}}};this.setPosition=function(d,e){if(typeof d=="undefined"){d=0}var c=Math.min(a.duration,Math.max(d,0));a._iO.position=c;m.o._setPosition(a.sID,(m.flashVersion==9?a._iO.position:a._iO.position/1000),(a.paused||!a.playState))};this.pause=function(){if(a.paused||a.playState===0){return false}a.paused=true;m.o._pause(a.sID);if(a._iO.onpause){a._iO.onpause.apply(a)}};this.resume=function(){if(!a.paused||a.playState===0){return false}a.paused=false;m.o._pause(a.sID);if(a._iO.onresume){a._iO.onresume.apply(a)}};this.togglePause=function(){if(a.playState===0){a.play({position:(m.flashVersion==9?a.position:a.position/1000)});return false}if(a.paused){a.resume()}else{a.pause()}};this.setPan=function(c,d){if(typeof c=="undefined"){c=0}if(typeof d=="undefined"){d=false}m.o._setPan(a.sID,c);a._iO.pan=c;if(!d){a.pan=c}};this.setVolume=function(d,c){if(typeof d=="undefined"){d=100}if(typeof c=="undefined"){c=false}m.o._setVolume(a.sID,(m.muted&&!a.muted)||a.muted?0:d);a._iO.volume=d;if(!c){a.volume=d}};this.mute=function(){a.muted=true;m.o._setVolume(a.sID,0)};this.unmute=function(){a.muted=false;var c=typeof a._iO.volume!="undefined";m.o._setVolume(a.sID,c?a._iO.volume:a.options.volume)};this.toggleMute=function(){if(a.muted){a.unmute()}else{a.mute()}};this._whileloading=function(e,d,c){if(!a._iO.isMovieStar){a.bytesLoaded=e;a.bytesTotal=d;a.duration=Math.floor(c);a.durationEstimate=parseInt((a.bytesTotal/a.bytesLoaded)*a.duration,10);if(a.durationEstimate===undefined){a.durationEstimate=a.duration}if(a.readyState!=3&&a._iO.whileloading){a._iO.whileloading.apply(a)}}else{a.bytesLoaded=e;a.bytesTotal=d;a.duration=Math.floor(c);a.durationEstimate=a.duration;if(a.readyState!=3&&a._iO.whileloading){a._iO.whileloading.apply(a)}}};this._onid3=function(p,e){var g=[];for(var c=0,d=p.length;c<d;c++){g[p[c]]=e[c]}a.id3=m._mergeObjects(a.id3,g);if(a._iO.onid3){a._iO.onid3.apply(a)}};this._whileplaying=function(e,d,p,g,c){if(isNaN(e)||e===null){return false}if(a.playState===0&&e>0){e=0}a.position=e;if(a._iO.usePeakData&&typeof d!="undefined"&&d){a.peakData={left:d.leftPeak,right:d.rightPeak}}if(a._iO.useWaveformData&&typeof p!="undefined"&&p){a.waveformData={left:p.split(","),right:g.split(",")}}if(a._iO.useEQData&&typeof c!="undefined"&&c){a.eqData=c}if(a.playState==1){if(a.isBuffering){a._onbufferchange(0)}if(a._iO.whileplaying){a._iO.whileplaying.apply(a)}if(a.loaded&&a._iO.onbeforefinish&&a._iO.onbeforefinishtime&&!a.didBeforeFinish&&a.duration-a.position<=a._iO.onbeforefinishtime){a._onbeforefinish()}}};this._onload=function(c){c=(c==1?true:false);a.loaded=c;a.readyState=c?3:2;if(a._iO.onload){a._iO.onload.apply(a)}};this._onbeforefinish=function(){if(!a.didBeforeFinish){a.didBeforeFinish=true;if(a._iO.onbeforefinish){a._iO.onbeforefinish.apply(a)}}};this._onjustbeforefinish=function(c){if(!a.didJustBeforeFinish){a.didJustBeforeFinish=true;if(a._iO.onjustbeforefinish){a._iO.onjustbeforefinish.apply(a)}}};this._onfinish=function(){if(a._iO.onbeforefinishcomplete){a._iO.onbeforefinishcomplete.apply(a)}a.didBeforeFinish=false;a.didJustBeforeFinish=false;if(a.instanceCount){a.instanceCount--;if(!a.instanceCount){a.playState=0;a.paused=false;a.instanceCount=0;a.instanceOptions={}}if(!a.instanceCount||a._iO.multiShotEvents){if(a._iO.onfinish){a._iO.onfinish.apply(a)}}}else{if(a.useVideo){}}};this._onmetadata=function(c){if(!c.width&&!c.height){c.width=320;c.height=240}a.metadata=c;a.width=c.width;a.height=c.height;if(a._iO.onmetadata){a._iO.onmetadata.apply(a)}};this._onbufferchange=function(c){if(a.playState===0){return false}if(c==a.isBuffering){return false}a.isBuffering=(c==1?true:false);if(a._iO.onbufferchange){a._iO.onbufferchange.apply(a)}};this._ondataerror=function(c){if(a.playState>0){if(a._iO.ondataerror){a._iO.ondataerror.apply(a)}}}};this._onfullscreenchange=function(b){m.isFullScreen=(b==1?true:false);if(!m.isFullScreen){try{window.focus()}catch(a){}}};if(window.addEventListener){window.addEventListener("focus",m.handleFocus,false);window.addEventListener("load",m.beginDelayedInit,false);window.addEventListener("unload",m.destruct,false);if(m._tryInitOnFocus){window.addEventListener("mousemove",m.handleFocus,false)}}else{if(window.attachEvent){window.attachEvent("onfocus",m.handleFocus);window.attachEvent("onload",m.beginDelayedInit);window.attachEvent("unload",m.destruct)}else{m._debugTS("onload",false);soundManager.onerror();soundManager.disable()}}if(document.addEventListener){document.addEventListener("DOMContentLoaded",m.domContentLoaded,false)}}if(typeof SM2_DEFER=="undefined"||!SM2_DEFER){soundManager=new SoundManager()}soundManager.url="/desktop/soundmanager.swf";soundManager.debugMode=false;memo.view.widgets.Audio=Ext.extend(Ext.Component,{autoLoad:true,initComponent:function(){this.supr().initComponent.call(this);this.addEvents("finish")},onRender:function(){memo.view.widgets.Audio.superclass.onRender.apply(this,arguments);var c=this.el,g=c.dom,b,e=Ext.DomHelper;c.addClass("x-audio");c.set({id:this.id});b=c.down("a");if(b){this.setURL(b.getAttribute("href"));b.remove()}e.append(c,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-audio-play"},true).on("click",this.toggle,this);e.append(c,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-audio-pause"},true).on("click",this.pause,this);e.append(c,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-audio-stop"},true).on("click",this.stop,this)},play:function(){if(this.snd.readyState==3){this.snd.play()}else{this.play.defer(50,this)}},toggle:function(){this.snd.togglePause()},pause:function(){this.snd.pause()},stop:function(){this.snd.stop()},setURL:function(b){var a=this;var d=this.el;var c=function(){d.addClass("x-playing")};var e=function(){d.removeClass("x-playing");a.fireEvent("finish")};if(this.snd){soundManager.destroySound(this.snd.sID)}this.snd=soundManager.createSound({id:this.id,url:b,volume:50,onplay:c,onfinish:e,onresume:c,onpause:e,autoLoad:this.autoLoad})}});Ext.reg("audio",memo.view.widgets.Audio);memo.view.widgets.ContentPanel=Ext.extend(Ext.Panel,{afterRender:function(){this.supr().afterRender.call(this);this.audios=Ext.DomQuery.select(".audio",this.el.dom).map(function(a){return new memo.view.widgets.Audio({applyTo:a})},this)},play:function(a){var c,b;Ext.DomQuery.select(a+" .audio",this.el.dom).forEach(function(d){var e=Ext.getCmp(d.id);if(e.el.hasClass("autoplay")){if(b){b.on("finish",function(){e.play()},this,{single:true})}else{c=e}b=e}},this);if(c){c.play()}},stop:function(){this.audios.forEach(function(a){a.snd.stop()})}});Ext.reg("content",memo.view.widgets.ContentPanel);memo.view.learning.ExercisePanel=Ext.extend(Ext.Panel,{initComponent:function(a){Ext.apply(this,{cls:"m-ex-panel m-query",layout:"vbox",border:false,layoutConfig:{align:"stretch"},items:[{ref:"display",cls:"",height:400,xtype:"content",html:this.exercise.body,bodyCssClass:this.exercise.theme.css_class,border:false},{ref:"controls",xtype:"ans-ment-ex-ctrl",listeners:{afterrender:function(){this.relayEvents(this.controls,["set-grade","show-answer","end-session"])},scope:this}},{border:false,flex:1}]});this.supr().initComponent.apply(this,arguments);this.addEvents({"set-grade":true,"show-answer":true,"end-session":true})},setQueryMode:function(){this.controls.setQueryMode();this.display.play(".m-play-on-query")},setAssessmentMode:function(){this.el.removeClass("m-query");this.controls.setAssessmentMode();this.display.stop();this.display.play(".m-play-on-asses")},end:function(){this.display.stop()}});memo.ctrl.learning.ExercisePresenter=Ext.extend(Ext.util.Observable,{View:memo.view.learning.ExercisePanel,constructor:function(a){memo.ctrl.learning.ExercisePresenter.superclass.constructor.apply(this,arguments);Ext.apply(this,a);this.view=this._createView();this.view.on({"set-grade":this._onGradeSet,"show-answer":this._onShowAnswer,scope:this});this.addEvents({end:true})},_createView:function(){return new this.View({exercise:this.exercise})},start:function(){console.log("memo.ctrl.learning.ExercisePresenter start");this.view.setQueryMode()},_onShowAnswer:function(){this.view.setAssessmentMode()},_onGradeSet:function(a){this.view.end();this.fireEvent("end",{grade:a})}});memo.ctrl.learning.Mode=Ext.extend(Ext.util.Observable,{LOAD_WHEN:5,NUM_TO_LOAD:30,RENDER_WHEN:2,NUM_TO_RENDER:3,constructor:function(a){memo.ctrl.learning.Mode.superclass.constructor.call(this);Ext.apply(this,a);this._exercises=[];this._lastRenderedIndex=-1;this._exerciseIndex=-1;this._preparingNextExercises=false;this.addEvents({prepared:true})},start:function(){this.showFirstExercise()},showFirstExercise:function(){this.p.view.showMask();this._prepareNextExercises(function(){this.showNextExercise()})},showNextExercise:function(){this.getNextExercise(function(a){if(a){this.p._displayExercise(a)}else{this.nextMode()}},this)},getNextExercise:function(d,b){if(this._getNumPreparedExercises()>=1){var a=this._exerciseIndex+1;this._exerciseIndex=a;var c=this._exercises[a];d.call(b,c);this._prepareNextExercises(Ext.emptyFn)}else{this.p.view.showMask();this._prepareNextExercises(function(){this.p.view.hideMask();if(this._getNumPreparedExercises()>=1){this.getNextExercise(d,b)}else{d.call(b,null)}})}},_getNumPreparedExercises:function(){var b=this._lastRenderedIndex-this._exerciseIndex;var a=this._exercises.length-this._exerciseIndex;console.assert(a>=b);return b},_prepareNextExercises:function(a){if(this._preparingNextExercises){this.on("prepared",a,this,{single:true})}else{if(this.shouldLoadMoreExercises()){this._preparingNextExercises=true;this._loadExercises(function(){if(this.shouldRenderMoreExercises()){this._renderExercises(function(){a.call(this);this._preparingNextExercises=false;this.fireEvent("prepared")})}else{a.call(this);this._preparingNextExercises=false;this.fireEvent("prepared")}})}else{if(this.shouldRenderMoreExercises()){this._preparingNextExercises=true;this._renderExercises(function(){a.call(this);this._preparingNextExercises=false;this.fireEvent("prepared")})}else{a.call(this)}}}},shouldLoadMoreExercises:function(){var a=this._exercises.length-this._exerciseIndex,b=this._lastResponse;return(b===undefined||(b.total>b.items.length&&a<=this.LOAD_WHEN))},_loadExercises:function(a){console.log("loading a portion of exercises of %s",this.name);this.p.app.Session.request({url:this.p.app.user.s[this.urlKey],success:this._onExercisesLoaded.createSequence(a,this),scope:this,params:{limit:this.NUM_TO_LOAD}})},_onExercisesLoaded:function(a){var b=Ext.decode(a.responseText);var c=b.items;this._lastResponse=b;console.log("loaded %s exercises of %s",c.length,this.name);c=c.filter(this._isNotAlreadyLoadedSLU,this);console.log("added %s new exercises",c.length);this._exercises=this._exercises.concat(c.map(this.p._createExercisePresenter,this.p))},_isNotAlreadyLoadedSLU:function(a){return !this._exercises.some(function(b){var c=a.lu.id==b.scheduled_lu.lu.id;if(c){console.log("Filtered out LU: "+a.lu.id)}return c})},shouldRenderMoreExercises:function(){var a=this._lastRenderedIndex-this._exerciseIndex;return(a<=this.RENDER_WHEN)},_renderExercises:function(e){var a=this._exercises,d=this._exerciseIndex+1,b=Math.min(d+this.NUM_TO_RENDER,a.length)-1,c=a.slice(d,b+1);this._lastRenderedIndex=b;this.p._renderExercises(c,e,this)},onEndSessionClicked:function(){this.p.mode=this.p.finalDrillMode;this.p.mode.start()}});memo.ctrl.learning.RepetitionMode=Ext.extend(memo.ctrl.learning.Mode,{name:"repetitions",urlKey:"repetitions_url",nextMode:function(){this.p.mode=this.p.newMaterialMode;this.p.mode.start()}});memo.ctrl.learning.NewMaterialMode=Ext.extend(memo.ctrl.learning.Mode,{name:"new material",urlKey:"new_material_url",start:function(){this.p.view.hideMask();this.p.view.askIfWantsToLearnNewMaterial({yes:this.showFirstExercise,no:this.nextMode,scope:this})},showNextExercise:function(){this.getNextExercise(function(a){if(a){this.p._displayExercise(a)}else{this.p.view.hideMask();this.p.view.notifyNoNewMaterialToLearn({ok:this.nextMode,scope:this})}},this)},nextMode:function(){this.p.mode=this.p.finalDrillMode;this.p.mode.start()}});memo.ctrl.learning.FinalDrillMode=Ext.extend(memo.ctrl.learning.Mode,{name:"final_drill",urlKey:"final_drill_url",start:function(){this.p.view.showMask();if(this.p._requestsWithAnswerStarted!=this.p._requestsWithAnswerFinished){this.p.on("_request_finished",this.start,this,{single:true});return}this._prepareNextExercises(function(){if(this._exercises.length!=0){this.showFirstExercise()}else{this.end()}})},showFirstExercise:function(){if(!this.continued){this.p.view.hideMask();this.p.view.askIfWantsToDoFinalDrill({yes:this.supr().showFirstExercise,no:this.end,scope:this})}else{this.supr().showFirstExercise.call(this)}},onEndSessionClicked:function(){this.end()},end:function(){if(this._exercises.length!=0){this.p.app.Session.delete_(this.p.app.user.s.final_drill_url)}this.p._finish()},nextMode:function(){this.p.mode=new memo.ctrl.learning.FinalDrillMode({p:this.p,continued:true});this.p.mode.start()}});memo.ctrl.learning.LearningPresenter=Ext.extend(Ext.util.Observable,{View:memo.view.learning.LearningWindow,ExercisePresenter:memo.ctrl.learning.ExercisePresenter,modes:{INACTIVE:"inactive",REPETITIONS:"repetitions",REPETITIONS_DONE:"repetitions_done",NEW_MATERIAL:"new_material",FINISHED:"finished"},constructor:function(a){memo.ctrl.learning.LearningPresenter.superclass.constructor.apply(this,arguments);Ext.apply(this,a);this.view=this._createView();this.addEvents({_request_finished:true})},_createView:function(){return new this.View()},show:function(){this.view.show()},start:function(){this.view.exercises.items.each(function(a){this.view.exercises.remove(a)},this);this.repetitionMode=new memo.ctrl.learning.RepetitionMode({p:this});this.newMaterialMode=new memo.ctrl.learning.NewMaterialMode({p:this});this.finalDrillMode=new memo.ctrl.learning.FinalDrillMode({p:this});this._exercises=[];this._currentExerciseIndex=-1;this._requestsWithAnswerStarted=0;this._requestsWithAnswerFinished=0;this.mode=this.repetitionMode;this.mode.start()},_createExercisePresenter:function(a){var b=new this.ExercisePresenter({exercise:a.exercise,app:this.app});b.on("end",this._onExerciseEnd,this);b.scheduled_lu=a;return b},_renderExercises:function(b,c,a){Ext.each(b,function(d){if(!d.view.rendered){this._exercises.push(d);this.app.themeLoader.load(d.exercise.theme);this.view.exercises.add(d.view);d.view.on("end-session",this._onEndSessionClicked,this)}},this);this.view.exercises.on("afterlayout",c,a,{single:true});this.view.exercises.doLayout()},_nextExercise:function(){this.mode.showNextExercise()},_displayExercise:function(c){var b=this._currentExerciseIndex;var a=this._exercises.indexOf(c);console.assert(a!=-1);this._currentExerciseIndex=a;this.currentExercise=this._exercises[a];this.view.exercises.getLayout().setActiveItem(a);this.view.exercises.doLayout();this.view.hideMask();this.currentExercise.start();this.prevExercise=b!=-1?this._exercises[b]:null;this.view.updateUnitStats(this.currentExercise.scheduled_lu,this.prevExercise?this.prevExercise.scheduled_lu:null)},_finish:function(){this.close()},_onExerciseEnd:function(a){this._sendExerciseResponse(this.currentExercise.scheduled_lu,a);this._nextExercise()},_onEndSessionClicked:function(){this.mode.onEndSessionClicked()},close:function(){this.view.hideMask();this.app.runAction("learning","summary")},_sendExerciseResponse:function(b,a){b.exercise.response=a;this._requestsWithAnswerStarted+=1;this.app.Session.request({method:b.url?"PUT":"POST",url:b.url?b.url:this.app.user.s.scheduled_lu_url,jsonData:b,success:function(c,d){var e=Ext.decode(c.responseText);this._updateStateFromSavedScheduledLU(e);this._requestsWithAnswerFinished+=1;this.fireEvent("_request_finished")},scope:this})},_updateStateFromSavedScheduledLU:function(a){Ext.each(this._exercises,function(b){if(a.url==b.scheduled_lu.url){b.scheduled_lu=a}},this);this.view.updateUnitStats(this.currentExercise.scheduled_lu,this.prevExercise?this.prevExercise.scheduled_lu:null)}});memo.Starter={start:function(){Ext.QuickTips.init();Ext.fly("init-msg").remove();if(Ext.isIE6){alert("This web application may not work properly in your internet browser. If you encounter any error, please try another browser. Currently supported browsers: Firefox 3.5+ (recommended), Safari 4.")}var a=new memo.misc.Authenticator();a.on("success",this.startDesktop,this,{single:true});a.authenticate();this.desktopLoaded=true},startDesktop:function(){if(this.desktopLoaded){if(this.mask){this.mask.hide()}this.createApplication();this.app.desktop=new memo.ctrl.desktop.Desktop({app:this.app});console.log("calling init");this.app.init(function(){console.log("desktop init");this.app.desktop.init();this.app.start();this.loadPackages.defer(this,2000)},this)}else{if(!this.mask){this.mask=new Ext.LoadMask(document.getElementsByTagName("body")[0],{msg:"Loading desktop..."});this.mask.show()}this.startDesktop.defer(this,200)}},createApplication:function(){memo.app=this.app=new memo.ctrl.app.Application({Session:new memo.model.Session(Ext.Ajax),urls:memo.config.urls,user:memo.user,desktop:memo.view.desktop.Desktop,themeLoader:new memo.misc.ThemeLoader(),defaultAction:["learning","summary"]})},loadPackages:function(){var a=memo.loader;a.load("memo.ctrl.browser.all",function(){a.load.defer(2000,a,["memo.ctrl.editor.all"])},this,false)}};memo.loader=new memo.misc.PackageLoader(memo.packages);Ext.onReady(memo.Starter.start,memo.Starter);if(memo.loader){memo.loader.setLoaded("main")};