/*
 * Ext JS Library 2.2.1
 * Copyright(c) 2006-2009, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */
Ext={version:"2.2.1"};window["undefined"]=window["undefined"];Ext.apply=function(d,e,b){if(b){Ext.apply(d,b)}if(d&&e&&typeof e=="object"){for(var a in e){d[a]=e[a]}}return d};(function(){var idSeed=0;var ua=navigator.userAgent.toLowerCase();var isStrict=document.compatMode=="CSS1Compat",isOpera=ua.indexOf("opera")>-1,isChrome=ua.indexOf("chrome")>-1,isSafari=!isChrome&&(/webkit|khtml/).test(ua),isSafari3=isSafari&&ua.indexOf("webkit/5")!=-1,isIE=!isOpera&&ua.indexOf("msie")>-1,isIE7=!isOpera&&ua.indexOf("msie 7")>-1,isIE8=!isOpera&&ua.indexOf("msie 8")>-1,isGecko=!isSafari&&!isChrome&&ua.indexOf("gecko")>-1,isGecko3=isGecko&&ua.indexOf("rv:1.9")>-1,isBorderBox=isIE&&!isStrict,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isAir=(ua.indexOf("adobeair")!=-1),isLinux=(ua.indexOf("linux")!=-1),isSecure=window.location.href.toLowerCase().indexOf("https")===0;if(isIE&&!isIE7){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}Ext.apply(Ext,{isStrict:isStrict,isSecure:isSecure,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,SSL_SECURE_URL:"javascript:false",BLANK_IMAGE_URL:"http://extjs.com/s.gif",emptyFn:function(){},applyIf:function(o,c){if(o&&c){for(var p in c){if(typeof o[p]=="undefined"){o[p]=c[p]}}}return o},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o)});return}var cache={};for(var b in o){var parts=b.split("@");if(parts[1]){var s=parts[0];if(!cache[s]){cache[s]=Ext.select(s)}cache[s].on(parts[1],o[b])}}cache=null},id:function(el,prefix){prefix=prefix||"ext-gen";el=Ext.getDom(el);var id=prefix+(++idSeed);return el?(el.id?el.id:(el.id=id)):id},extend:function(){var io=function(o){for(var m in o){this[m]=o[m]}};var oc=Object.prototype.constructor;return function(sb,sp,overrides){if(typeof sp=="object"){overrides=sp;sp=sb;sb=overrides.constructor!=oc?overrides.constructor:function(){sp.apply(this,arguments)}}var F=function(){},sbp,spp=sp.prototype;F.prototype=spp;sbp=sb.prototype=new F();sbp.constructor=sb;sb.superclass=spp;if(spp.constructor==oc){spp.constructor=sp}sb.override=function(o){Ext.override(sb,o)};sbp.override=io;Ext.override(sb,overrides);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(origclass,overrides){if(overrides){var p=origclass.prototype;for(var method in overrides){p[method]=overrides[method]}if(Ext.isIE&&overrides.toString!=origclass.toString){p.toString=overrides.toString}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i<a.length;++i){d=a[i].split(".");rt=d[0];eval("if (typeof "+rt+' == "undefined"){'+rt+" = {};} o = "+rt+";");for(j=1;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]]}}},urlEncode:function(o){if(!o){return""}var buf=[];for(var key in o){var ov=o[key],k=encodeURIComponent(key);var type=typeof ov;if(type=="undefined"){buf.push(k,"=&")}else{if(type!="function"&&type!="object"){buf.push(k,"=",encodeURIComponent(ov),"&")}else{if(Ext.isDate(ov)){var s=Ext.encode(ov).replace(/"/g,"");buf.push(k,"=",s,"&")}else{if(Ext.isArray(ov)){if(ov.length){for(var i=0,len=ov.length;i<len;i++){buf.push(k,"=",encodeURIComponent(ov[i]===undefined?"":ov[i]),"&")}}else{buf.push(k,"=&")}}}}}}buf.pop();return buf.join("")},urlDecode:function(string,overwrite){if(!string||!string.length){return{}}var obj={};var pairs=string.split("&");var pair,name,value;for(var i=0,len=pairs.length;i<len;i++){pair=pairs[i].split("=");name=decodeURIComponent(pair[0]);value=decodeURIComponent(pair[1]);if(overwrite!==true){if(typeof obj[name]=="undefined"){obj[name]=value}else{if(typeof obj[name]=="string"){obj[name]=[obj[name]];obj[name].push(value)}else{obj[name].push(value)}}}else{obj[name]=value}}return obj},each:function(array,fn,scope){if(typeof array.length=="undefined"||typeof array=="string"){array=[array]}for(var i=0,len=array.length;i<len;i++){if(fn.call(scope||array[i],array[i],i,array)===false){return i}}},combine:function(){var as=arguments,l=as.length,r=[];for(var i=0;i<l;i++){var a=as[i];if(Ext.isArray(a)){r=r.concat(a)}else{if(a.length!==undefined&&!a.substr){r=r.concat(Array.prototype.slice.call(a,0))}else{r.push(a)}}}return r},escapeRe:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},callback:function(cb,scope,args,delay){if(typeof cb=="function"){if(delay){cb.defer(delay,scope,args||[])}else{cb.apply(scope,args||[])}}},getDom:function(el){if(!el||!document){return null}return el.dom?el.dom:(typeof el=="string"?document.getElementById(el):el)},getDoc:function(){return Ext.get(document)},getBody:function(){return Ext.get(document.body||document.documentElement)},getCmp:function(id){return Ext.ComponentMgr.get(id)},num:function(v,defaultValue){if(typeof v!="number"||isNaN(v)){return defaultValue}return v},destroy:function(){for(var i=0,a=arguments,len=a.length;i<len;i++){var as=a[i];if(as){if(typeof as.destroy=="function"){as.destroy()}else{if(as.dom){as.removeAllListeners();as.remove()}}}}},removeNode:isIE?function(){var d;return function(n){if(n&&n.tagName!="BODY"){d=d||document.createElement("div");d.appendChild(n);d.innerHTML=""}}}():function(n){if(n&&n.parentNode&&n.tagName!="BODY"){n.parentNode.removeChild(n)}},type:function(o){if(o===undefined||o===null){return false}if(o.htmlElement){return"element"}var t=typeof o;if(t=="object"&&o.nodeName){switch(o.nodeType){case 1:return"element";case 3:return(/\S/).test(o.nodeValue)?"textnode":"whitespace"}}if(t=="object"||t=="function"){switch(o.constructor){case Array:return"array";case RegExp:return"regexp";case Date:return"date"}if(typeof o.length=="number"&&typeof o.item=="function"){return"nodelist"}}return t},isEmpty:function(v,allowBlank){return v===null||v===undefined||(!allowBlank?v==="":false)},value:function(v,defaultValue,allowBlank){return Ext.isEmpty(v,allowBlank)?defaultValue:v},isArray:function(v){return v&&typeof v.length=="number"&&typeof v.splice=="function"},isDate:function(v){return v&&typeof v.getFullYear=="function"},isOpera:isOpera,isChrome:isChrome,isSafari:isSafari,isSafari3:isSafari3,isSafari2:isSafari&&!isSafari3,isIE:isIE,isIE6:isIE&&!isIE7&&!isIE8,isIE7:isIE7,isIE8:isIE8,isGecko:isGecko,isGecko2:isGecko&&!isGecko3,isGecko3:isGecko3,isBorderBox:isBorderBox,isLinux:isLinux,isWindows:isWindows,isMac:isMac,isAir:isAir,useShims:((isIE&&!isIE7)||(isMac&&isGecko&&!isGecko3))});Ext.ns=Ext.namespace})();Ext.ns("Ext","Ext.util","Ext.grid","Ext.dd","Ext.tree","Ext.data","Ext.form","Ext.menu","Ext.state","Ext.lib","Ext.layout","Ext.app","Ext.ux");Ext.apply(Function.prototype,{createCallback:function(){var a=arguments;var b=this;return function(){return b.apply(window,a)}},createDelegate:function(c,b,a){var d=this;return function(){var f=b||arguments;if(a===true){f=Array.prototype.slice.call(arguments,0);f=f.concat(b)}else{if(typeof a=="number"){f=Array.prototype.slice.call(arguments,0);var e=[a,0].concat(b);Array.prototype.splice.apply(f,e)}}return d.apply(c||window,f)}},defer:function(c,e,b,a){var d=this.createDelegate(e,b,a);if(c){return setTimeout(d,c)}d();return 0},createSequence:function(b,a){if(typeof b!="function"){return this}var c=this;return function(){var d=c.apply(this||window,arguments);b.apply(a||this||window,arguments);return d}},createInterceptor:function(b,a){if(typeof b!="function"){return this}var c=this;return function(){b.target=this;b.method=c;if(b.apply(a||this||window,arguments)===false){return}return c.apply(this||window,arguments)}}});Ext.applyIf(String,{escape:function(a){return a.replace(/('|\\)/g,"\\$1")},leftPad:function(d,b,c){var a=new String(d);if(!c){c=" "}while(a.length<b){a=c+a}return a.toString()},format:function(b){var a=Array.prototype.slice.call(arguments,1);return b.replace(/\{(\d+)\}/g,function(c,d){return a[d]})}});String.prototype.toggle=function(b,a){return this==b?a:b};String.prototype.trim=function(){var a=/^\s+|\s+$/g;return function(){return this.replace(a,"")}}();Ext.applyIf(Number.prototype,{constrain:function(b,a){return Math.min(Math.max(this,b),a)}});Ext.applyIf(Array.prototype,{indexOf:function(c){for(var b=0,a=this.length;b<a;b++){if(this[b]==c){return b}}return -1},remove:function(b){var a=this.indexOf(b);if(a!=-1){this.splice(a,1)}return this}});Date.prototype.getElapsed=function(a){return Math.abs((a||new Date()).getTime()-this.getTime())};
(function(){var b;Ext.lib.Dom={getViewWidth:function(e){return e?this.getDocumentWidth():this.getViewportWidth()},getViewHeight:function(e){return e?this.getDocumentHeight():this.getViewportHeight()},getDocumentHeight:function(){var e=(document.compatMode!="CSS1Compat")?document.body.scrollHeight:document.documentElement.scrollHeight;return Math.max(e,this.getViewportHeight())},getDocumentWidth:function(){var e=(document.compatMode!="CSS1Compat")?document.body.scrollWidth:document.documentElement.scrollWidth;return Math.max(e,this.getViewportWidth())},getViewportHeight:function(){if(Ext.isIE){return Ext.isStrict?document.documentElement.clientHeight:document.body.clientHeight}else{return self.innerHeight}},getViewportWidth:function(){if(Ext.isIE){return Ext.isStrict?document.documentElement.clientWidth:document.body.clientWidth}else{return self.innerWidth}},isAncestor:function(f,g){f=Ext.getDom(f);g=Ext.getDom(g);if(!f||!g){return false}if(f.contains&&!Ext.isSafari){return f.contains(g)}else{if(f.compareDocumentPosition){return !!(f.compareDocumentPosition(g)&16)}else{var e=g.parentNode;while(e){if(e==f){return true}else{if(!e.tagName||e.tagName.toUpperCase()=="HTML"){return false}}e=e.parentNode}return false}}},getRegion:function(e){return Ext.lib.Region.getRegion(e)},getY:function(e){return this.getXY(e)[1]},getX:function(e){return this.getXY(e)[0]},getXY:function(g){var f,k,m,n,j=(document.body||document.documentElement);g=Ext.getDom(g);if(g==j){return[0,0]}if(g.getBoundingClientRect){m=g.getBoundingClientRect();n=c(document).getScroll();return[m.left+n.left,m.top+n.top]}var o=0,l=0;f=g;var e=c(g).getStyle("position")=="absolute";while(f){o+=f.offsetLeft;l+=f.offsetTop;if(!e&&c(f).getStyle("position")=="absolute"){e=true}if(Ext.isGecko){k=c(f);var q=parseInt(k.getStyle("borderTopWidth"),10)||0;var h=parseInt(k.getStyle("borderLeftWidth"),10)||0;o+=h;l+=q;if(f!=g&&k.getStyle("overflow")!="visible"){o+=h;l+=q}}f=f.offsetParent}if(Ext.isSafari&&e){o-=j.offsetLeft;l-=j.offsetTop}if(Ext.isGecko&&!e){var i=c(j);o+=parseInt(i.getStyle("borderLeftWidth"),10)||0;l+=parseInt(i.getStyle("borderTopWidth"),10)||0}f=g.parentNode;while(f&&f!=j){if(!Ext.isOpera||(f.tagName!="TR"&&c(f).getStyle("display")!="inline")){o-=f.scrollLeft;l-=f.scrollTop}f=f.parentNode}return[o,l]},setXY:function(e,f){e=Ext.fly(e,"_setXY");e.position();var g=e.translatePoints(f);if(f[0]!==false){e.dom.style.left=g.left+"px"}if(f[1]!==false){e.dom.style.top=g.top+"px"}},setX:function(f,e){this.setXY(f,[e,false])},setY:function(e,f){this.setXY(e,[false,f])}};Ext.lib.Event=function(){var f=false;var g=[];var k=[];var i=0;var h=[];var e=0;var j=null;return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,_interval:null,startInterval:function(){if(!this._interval){var l=this;var m=function(){l._tryPreloadAttach()};this._interval=setInterval(m,this.POLL_INTERVAL)}},onAvailable:function(n,l,o,m){h.push({id:n,fn:l,obj:o,override:m,checkReady:false});i=this.POLL_RETRYS;this.startInterval()},addListener:function(q,m,p){q=Ext.getDom(q);if(!q||!p){return false}if("unload"==m){k[k.length]=[q,m,p];return true}var o=function(r){return typeof Ext!="undefined"?p(Ext.lib.Event.getEvent(r)):false};var l=[q,m,p,o];var n=g.length;g[n]=l;this.doAdd(q,m,o,false);return true},removeListener:function(s,o,r){var q,n;s=Ext.getDom(s);if(!r){return this.purgeElement(s,false,o)}if("unload"==o){for(q=0,n=k.length;q<n;q++){var m=k[q];if(m&&m[0]==s&&m[1]==o&&m[2]==r){k.splice(q,1);return true}}return false}var l=null;var p=arguments[3];if("undefined"==typeof p){p=this._getCacheIndex(s,o,r)}if(p>=0){l=g[p]}if(!s||!l){return false}this.doRemove(s,o,l[this.WFN],false);delete g[p][this.WFN];delete g[p][this.FN];g.splice(p,1);return true},getTarget:function(n,m){n=n.browserEvent||n;var l=n.target||n.srcElement;return this.resolveTextNode(l)},resolveTextNode:function(l){if(Ext.isSafari&&l&&3==l.nodeType){return l.parentNode}else{return l}},getPageX:function(m){m=m.browserEvent||m;var l=m.pageX;if(!l&&0!==l){l=m.clientX||0;if(Ext.isIE){l+=this.getScroll()[1]}}return l},getPageY:function(l){l=l.browserEvent||l;var m=l.pageY;if(!m&&0!==m){m=l.clientY||0;if(Ext.isIE){m+=this.getScroll()[0]}}return m},getXY:function(l){l=l.browserEvent||l;return[this.getPageX(l),this.getPageY(l)]},getRelatedTarget:function(m){m=m.browserEvent||m;var l=m.relatedTarget;if(!l){if(m.type=="mouseout"){l=m.toElement}else{if(m.type=="mouseover"){l=m.fromElement}}}return this.resolveTextNode(l)},getTime:function(n){n=n.browserEvent||n;if(!n.time){var m=new Date().getTime();try{n.time=m}catch(l){this.lastError=l;return m}}return n.time},stopEvent:function(l){this.stopPropagation(l);this.preventDefault(l)},stopPropagation:function(l){l=l.browserEvent||l;if(l.stopPropagation){l.stopPropagation()}else{l.cancelBubble=true}},preventDefault:function(l){l=l.browserEvent||l;if(l.preventDefault){l.preventDefault()}else{l.returnValue=false}},getEvent:function(m){var l=m||window.event;if(!l){var n=this.getEvent.caller;while(n){l=n.arguments[0];if(l&&Event==l.constructor){break}n=n.caller}}return l},getCharCode:function(l){l=l.browserEvent||l;return l.charCode||l.keyCode||0},_getCacheIndex:function(q,n,p){for(var o=0,m=g.length;o<m;++o){var l=g[o];if(l&&l[this.FN]==p&&l[this.EL]==q&&l[this.TYPE]==n){return o}}return -1},elCache:{},getEl:function(l){return document.getElementById(l)},clearCache:function(){},_load:function(m){f=true;var l=Ext.lib.Event;if(Ext.isIE){l.doRemove(window,"load",l._load)}},_tryPreloadAttach:function(){if(this.locked){return false}this.locked=true;var r=!f;if(!r){r=(i>0)}var q=[];for(var m=0,l=h.length;m<l;++m){var p=h[m];if(p){var o=this.getEl(p.id);if(o){if(!p.checkReady||f||o.nextSibling||(document&&document.body)){var n=o;if(p.override){if(p.override===true){n=p.obj}else{n=p.override}}p.fn.call(n,p.obj);h[m]=null}}else{q.push(p)}}}i=(q.length===0)?0:i-1;if(r){this.startInterval()}else{clearInterval(this._interval);this._interval=null}this.locked=false;return true},purgeElement:function(q,r,o){var s=this.getListeners(q,o);if(s){for(var p=0,m=s.length;p<m;++p){var n=s[p];this.removeListener(q,n.type,n.fn)}}if(r&&q&&q.childNodes){for(p=0,m=q.childNodes.length;p<m;++p){this.purgeElement(q.childNodes[p],r,o)}}},getListeners:function(n,s){var q=[],m;if(!s){m=[g,k]}else{if(s=="unload"){m=[k]}else{m=[g]}}for(var p=0;p<m.length;++p){var u=m[p];if(u&&u.length>0){for(var r=0,t=u.length;r<t;++r){var o=u[r];if(o&&o[this.EL]===n&&(!s||s===o[this.TYPE])){q.push({type:o[this.TYPE],fn:o[this.FN],obj:o[this.OBJ],adjust:o[this.ADJ_SCOPE],index:r})}}}}return(q.length)?q:null},_unload:function(t){var s=Ext.lib.Event,q,p,n,m,o;for(q=0,m=k.length;q<m;++q){n=k[q];if(n){var r=window;if(n[s.ADJ_SCOPE]){if(n[s.ADJ_SCOPE]===true){r=n[s.OBJ]}else{r=n[s.ADJ_SCOPE]}}n[s.FN].call(r,s.getEvent(t),n[s.OBJ]);k[q]=null;n=null;r=null}}k=null;if(g&&g.length>0){p=g.length;while(p){o=p-1;n=g[o];if(n){s.removeListener(n[s.EL],n[s.TYPE],n[s.FN],o)}p=p-1}n=null;s.clearCache()}s.doRemove(window,"unload",s._unload)},getScroll:function(){var l=document.documentElement,m=document.body;if(l&&(l.scrollTop||l.scrollLeft)){return[l.scrollTop,l.scrollLeft]}else{if(m){return[m.scrollTop,m.scrollLeft]}else{return[0,0]}}},doAdd:function(){if(window.addEventListener){return function(o,m,n,l){o.addEventListener(m,n,(l))}}else{if(window.attachEvent){return function(o,m,n,l){o.attachEvent("on"+m,n)}}else{return function(){}}}}(),doRemove:function(){if(window.removeEventListener){return function(o,m,n,l){o.removeEventListener(m,n,(l))}}else{if(window.detachEvent){return function(n,l,m){n.detachEvent("on"+l,m)}}else{return function(){}}}}()}}();var d=Ext.lib.Event;d.on=d.addListener;d.un=d.removeListener;if(document&&document.body){d._load()}else{d.doAdd(window,"load",d._load)}d.doAdd(window,"unload",d._unload);d._tryPreloadAttach();Ext.lib.Ajax={request:function(l,j,e,k,f){if(f){var g=f.headers;if(g){for(var i in g){if(g.hasOwnProperty(i)){this.initHeader(i,g[i],false)}}}if(f.xmlData){if(!g||!g["Content-Type"]){this.initHeader("Content-Type","text/xml",false)}l=(l?l:(f.method?f.method:"POST"));k=f.xmlData}else{if(f.jsonData){if(!g||!g["Content-Type"]){this.initHeader("Content-Type","application/json",false)}l=(l?l:(f.method?f.method:"POST"));k=typeof f.jsonData=="object"?Ext.encode(f.jsonData):f.jsonData}}}return this.asyncRequest(l,j,e,k)},serializeForm:function(f){if(typeof f=="string"){f=(document.getElementById(f)||document.forms[f])}var g,e,h,l,m="",o=false;for(var n=0;n<f.elements.length;n++){g=f.elements[n];l=f.elements[n].disabled;e=f.elements[n].name;h=f.elements[n].value;if(!l&&e){switch(g.type){case"select-one":case"select-multiple":for(var k=0;k<g.options.length;k++){if(g.options[k].selected){if(Ext.isIE){m+=encodeURIComponent(e)+"="+encodeURIComponent(g.options[k].attributes.value.specified?g.options[k].value:g.options[k].text)+"&"}else{m+=encodeURIComponent(e)+"="+encodeURIComponent(g.options[k].hasAttribute("value")?g.options[k].value:g.options[k].text)+"&"}}}break;case"radio":case"checkbox":if(g.checked){m+=encodeURIComponent(e)+"="+encodeURIComponent(h)+"&"}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(o==false){m+=encodeURIComponent(e)+"="+encodeURIComponent(h)+"&";o=true}break;default:m+=encodeURIComponent(e)+"="+encodeURIComponent(h)+"&";break}}}m=m.substr(0,m.length-1);return m},headers:{},hasHeaders:false,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",hasDefaultHeaders:true,defaultHeaders:{},poll:{},timeout:{},pollInterval:50,transactionId:0,setProgId:function(e){this.activeX.unshift(e)},setDefaultPostHeader:function(e){this.useDefaultHeader=e},setDefaultXhrHeader:function(e){this.useDefaultXhrHeader=e},setPollingInterval:function(e){if(typeof e=="number"&&isFinite(e)){this.pollInterval=e}},createXhrObject:function(k){var j,f;try{f=new XMLHttpRequest();j={conn:f,tId:k}}catch(h){for(var g=0;g<this.activeX.length;++g){try{f=new ActiveXObject(this.activeX[g]);j={conn:f,tId:k};break}catch(h){}}}finally{return j}},getConnectionObject:function(){var g;var h=this.transactionId;try{g=this.createXhrObject(h);if(g){this.transactionId++}}catch(f){}finally{return g}},asyncRequest:function(i,f,h,e){var g=this.getConnectionObject();if(!g){return null}else{g.conn.open(i,f,true);if(this.useDefaultXhrHeader){if(!this.defaultHeaders["X-Requested-With"]){this.initHeader("X-Requested-With",this.defaultXhrHeader,true)}}if(e&&this.useDefaultHeader&&(!this.hasHeaders||!this.headers["Content-Type"])){this.initHeader("Content-Type",this.defaultPostHeader)}if(this.hasDefaultHeaders||this.hasHeaders){this.setHeader(g)}this.handleReadyState(g,h);g.conn.send(e||null);return g}},handleReadyState:function(f,g){var e=this;if(g&&g.timeout){this.timeout[f.tId]=window.setTimeout(function(){e.abort(f,g,true)},g.timeout)}this.poll[f.tId]=window.setInterval(function(){if(f.conn&&f.conn.readyState==4){window.clearInterval(e.poll[f.tId]);delete e.poll[f.tId];if(g&&g.timeout){window.clearTimeout(e.timeout[f.tId]);delete e.timeout[f.tId]}e.handleTransactionResponse(f,g)}},this.pollInterval)},handleTransactionResponse:function(j,k,f){if(!k){this.releaseObject(j);return}var h,g;try{if(j.conn.status!==undefined&&j.conn.status!=0){h=j.conn.status}else{h=13030}}catch(i){h=13030}if((h>=200&&h<300)||(Ext.isIE&&h==1223)){g=this.createResponseObject(j,k.argument);if(k.success){if(!k.scope){k.success(g)}else{k.success.apply(k.scope,[g])}}}else{switch(h){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:g=this.createExceptionObject(j.tId,k.argument,(f?f:false));if(k.failure){if(!k.scope){k.failure(g)}else{k.failure.apply(k.scope,[g])}}break;default:g=this.createResponseObject(j,k.argument);if(k.failure){if(!k.scope){k.failure(g)}else{k.failure.apply(k.scope,[g])}}}}this.releaseObject(j);g=null},createResponseObject:function(f,m){var j={};var p={};try{var h=f.conn.getAllResponseHeaders();var l=h.split("\n");for(var k=0;k<l.length;k++){var g=l[k].indexOf(":");if(g!=-1){p[l[k].substring(0,g)]=l[k].substring(g+2)}}}catch(n){}j.tId=f.tId;j.status=f.conn.status;j.statusText=f.conn.statusText;j.getResponseHeader=p;j.getAllResponseHeaders=h;j.responseText=f.conn.responseText;j.responseXML=f.conn.responseXML;if(typeof m!==undefined){j.argument=m}return j},createExceptionObject:function(l,h,e){var j=0;var k="communication failure";var g=-1;var f="transaction aborted";var i={};i.tId=l;if(e){i.status=g;i.statusText=f}else{i.status=j;i.statusText=k}if(h){i.argument=h}return i},initHeader:function(e,h,g){var f=(g)?this.defaultHeaders:this.headers;if(f[e]===undefined){f[e]=h}else{f[e]=h+","+f[e]}if(g){this.hasDefaultHeaders=true}else{this.hasHeaders=true}},setHeader:function(e){if(this.hasDefaultHeaders){for(var f in this.defaultHeaders){if(this.defaultHeaders.hasOwnProperty(f)){e.conn.setRequestHeader(f,this.defaultHeaders[f])}}}if(this.hasHeaders){for(var f in this.headers){if(this.headers.hasOwnProperty(f)){e.conn.setRequestHeader(f,this.headers[f])}}this.headers={};this.hasHeaders=false}},resetDefaultHeaders:function(){delete this.defaultHeaders;this.defaultHeaders={};this.hasDefaultHeaders=false},abort:function(f,g,e){if(this.isCallInProgress(f)){f.conn.abort();window.clearInterval(this.poll[f.tId]);delete this.poll[f.tId];if(e){delete this.timeout[f.tId]}this.handleTransactionResponse(f,g,true);return true}else{return false}},isCallInProgress:function(e){if(e.conn){return e.conn.readyState!=4&&e.conn.readyState!=0}else{return false}},releaseObject:function(e){e.conn=null;e=null},activeX:["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"]};Ext.lib.Region=function(g,h,e,f){this.top=g;this[1]=g;this.right=h;this.bottom=e;this.left=f;this[0]=f};Ext.lib.Region.prototype={contains:function(e){return(e.left>=this.left&&e.right<=this.right&&e.top>=this.top&&e.bottom<=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(i){var g=Math.max(this.top,i.top);var h=Math.min(this.right,i.right);var e=Math.min(this.bottom,i.bottom);var f=Math.max(this.left,i.left);if(e>=g&&h>=f){return new Ext.lib.Region(g,h,e,f)}else{return null}},union:function(i){var g=Math.min(this.top,i.top);var h=Math.max(this.right,i.right);var e=Math.max(this.bottom,i.bottom);var f=Math.min(this.left,i.left);return new Ext.lib.Region(g,h,e,f)},constrainTo:function(e){this.top=this.top.constrain(e.top,e.bottom);this.bottom=this.bottom.constrain(e.top,e.bottom);this.left=this.left.constrain(e.left,e.right);this.right=this.right.constrain(e.left,e.right);return this},adjust:function(g,f,e,h){this.top+=g;this.left+=f;this.right+=h;this.bottom+=e;return this}};Ext.lib.Region.getRegion=function(h){var j=Ext.lib.Dom.getXY(h);var g=j[1];var i=j[0]+h.offsetWidth;var e=j[1]+h.offsetHeight;var f=j[0];return new Ext.lib.Region(g,i,e,f)};Ext.lib.Point=function(e,f){if(Ext.isArray(e)){f=e[1];e=e[0]}this.x=this.right=this.left=this[0]=e;this.y=this.top=this.bottom=this[1]=f};Ext.lib.Point.prototype=new Ext.lib.Region();Ext.lib.Anim={scroll:function(h,f,i,j,e,g){return this.run(h,f,i,j,e,g,Ext.lib.Scroll)},motion:function(h,f,i,j,e,g){return this.run(h,f,i,j,e,g,Ext.lib.Motion)},color:function(h,f,i,j,e,g){return this.run(h,f,i,j,e,g,Ext.lib.ColorAnim)},run:function(i,f,k,l,e,h,g){g=g||Ext.lib.AnimBase;if(typeof l=="string"){l=Ext.lib.Easing[l]}var j=new g(i,f,k,l);j.animateX(function(){Ext.callback(e,h)});return j}};function c(e){if(!b){b=new Ext.Element.Flyweight()}b.dom=e;return b}if(Ext.isIE){function a(){var e=Function.prototype;delete e.createSequence;delete e.defer;delete e.createDelegate;delete e.createCallback;delete e.createInterceptor;window.detachEvent("onunload",a)}window.attachEvent("onunload",a)}Ext.lib.AnimBase=function(f,e,g,h){if(f){this.init(f,e,g,h)}};Ext.lib.AnimBase.prototype={toString:function(){var e=this.getEl();var f=e.id||e.tagName;return("Anim "+f)},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(e,g,f){return this.method(this.currentFrame,g,f-g,this.totalFrames)},setAttribute:function(e,g,f){if(this.patterns.noNegatives.test(e)){g=(g>0)?g:0}Ext.fly(this.getEl(),"_anim").setStyle(e,g+f)},getAttribute:function(e){var g=this.getEl();var i=c(g).getStyle(e);if(i!=="auto"&&!this.patterns.offsetUnit.test(i)){return parseFloat(i)}var f=this.patterns.offsetAttribute.exec(e)||[];var j=!!(f[3]);var h=!!(f[2]);if(h||(c(g).getStyle("position")=="absolute"&&j)){i=g["offset"+f[0].charAt(0).toUpperCase()+f[0].substr(1)]}else{i=0}return i},getDefaultUnit:function(e){if(this.patterns.defaultUnit.test(e)){return"px"}return""},animateX:function(h,e){var g=function(){this.onComplete.removeListener(g);if(typeof h=="function"){h.call(e||this,this)}};this.onComplete.addListener(g,this);this.animate()},setRuntimeAttribute:function(f){var l;var g;var h=this.attributes;this.runtimeAttributes[f]={};var k=function(i){return(typeof i!=="undefined")};if(!k(h[f]["to"])&&!k(h[f]["by"])){return false}l=(k(h[f]["from"]))?h[f]["from"]:this.getAttribute(f);if(k(h[f]["to"])){g=h[f]["to"]}else{if(k(h[f]["by"])){if(l.constructor==Array){g=[];for(var j=0,e=l.length;j<e;++j){g[j]=l[j]+h[f]["by"][j]}}else{g=l+h[f]["by"]}}}this.runtimeAttributes[f].start=l;this.runtimeAttributes[f].end=g;this.runtimeAttributes[f].unit=(k(h[f].unit))?h[f]["unit"]:this.getDefaultUnit(f)},init:function(g,l,k,e){var f=false;var h=null;var j=0;g=Ext.getDom(g);this.attributes=l||{};this.duration=k||1;this.method=e||Ext.lib.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=Ext.lib.AnimMgr.fps;this.getEl=function(){return g};this.isAnimated=function(){return f};this.getStartTime=function(){return h};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(Ext.lib.AnimMgr.fps*this.duration):this.duration;Ext.lib.AnimMgr.registerElement(this)};this.stop=function(o){if(o){this.currentFrame=this.totalFrames;this._onTween.fire()}Ext.lib.AnimMgr.stop(this)};var n=function(){this.onStart.fire();this.runtimeAttributes={};for(var o in this.attributes){this.setRuntimeAttribute(o)}f=true;j=0;h=new Date()};var m=function(){var q={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};q.toString=function(){return("duration: "+q.duration+", currentFrame: "+q.currentFrame)};this.onTween.fire(q);var p=this.runtimeAttributes;for(var o in p){this.setAttribute(o,this.doMethod(o,p[o].start,p[o].end),p[o].unit)}j+=1};var i=function(){var o=(new Date()-h)/1000;var p={duration:o,frames:j,fps:j/o};p.toString=function(){return("duration: "+p.duration+", frames: "+p.frames+", fps: "+p.fps)};f=false;j=0;this.onComplete.fire(p)};this._onStart=new Ext.util.Event(this);this.onStart=new Ext.util.Event(this);this.onTween=new Ext.util.Event(this);this._onTween=new Ext.util.Event(this);this.onComplete=new Ext.util.Event(this);this._onComplete=new Ext.util.Event(this);this._onStart.addListener(n);this._onTween.addListener(m);this._onComplete.addListener(i)}};Ext.lib.AnimMgr=new function(){var g=null;var f=[];var e=0;this.fps=1000;this.delay=1;this.registerElement=function(j){f[f.length]=j;e+=1;j._onStart.fire();this.start()};this.unRegister=function(k,j){k._onComplete.fire();j=j||i(k);if(j!=-1){f.splice(j,1)}e-=1;if(e<=0){this.stop()}};this.start=function(){if(g===null){g=setInterval(this.run,this.delay)}};this.stop=function(l){if(!l){clearInterval(g);for(var k=0,j=f.length;k<j;++k){if(f[0].isAnimated()){this.unRegister(f[0],0)}}f=[];g=null;e=0}else{this.unRegister(l)}};this.run=function(){for(var l=0,j=f.length;l<j;++l){var k=f[l];if(!k||!k.isAnimated()){continue}if(k.currentFrame<k.totalFrames||k.totalFrames===null){k.currentFrame+=1;if(k.useSeconds){h(k)}k._onTween.fire()}else{Ext.lib.AnimMgr.stop(k,l)}}};var i=function(l){for(var k=0,j=f.length;k<j;++k){if(f[k]==l){return k}}return -1};var h=function(k){var n=k.totalFrames;var m=k.currentFrame;var l=(k.currentFrame*k.duration*1000/k.totalFrames);var j=(new Date()-k.getStartTime());var o=0;if(j<k.duration*1000){o=Math.round((j/l-1)*k.currentFrame)}else{o=n-(m+1)}if(o>0&&isFinite(o)){if(k.currentFrame+o>=n){o=n-(m+1)}k.currentFrame+=o}}};Ext.lib.Bezier=new function(){this.getPosition=function(k,h){var l=k.length;var g=[];for(var f=0;f<l;++f){g[f]=[k[f][0],k[f][1]]}for(var e=1;e<l;++e){for(f=0;f<l-e;++f){g[f][0]=(1-h)*g[f][0]+h*g[parseInt(f+1,10)][0];g[f][1]=(1-h)*g[f][1]+h*g[parseInt(f+1,10)][1]}}return[g[0][0],g[0][1]]}};(function(){Ext.lib.ColorAnim=function(i,h,j,k){Ext.lib.ColorAnim.superclass.constructor.call(this,i,h,j,k)};Ext.extend(Ext.lib.ColorAnim,Ext.lib.AnimBase);var f=Ext.lib;var g=f.ColorAnim.superclass;var e=f.ColorAnim.prototype;e.toString=function(){var h=this.getEl();var i=h.id||h.tagName;return("ColorAnim "+i)};e.patterns.color=/color$/i;e.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;e.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;e.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;e.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;e.parseColor=function(h){if(h.length==3){return h}var i=this.patterns.hex.exec(h);if(i&&i.length==4){return[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16)]}i=this.patterns.rgb.exec(h);if(i&&i.length==4){return[parseInt(i[1],10),parseInt(i[2],10),parseInt(i[3],10)]}i=this.patterns.hex3.exec(h);if(i&&i.length==4){return[parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16),parseInt(i[3]+i[3],16)]}return null};e.getAttribute=function(h){var j=this.getEl();if(this.patterns.color.test(h)){var k=c(j).getStyle(h);if(this.patterns.transparent.test(k)){var i=j.parentNode;k=c(i).getStyle(h);while(i&&this.patterns.transparent.test(k)){i=i.parentNode;k=c(i).getStyle(h);if(i.tagName.toUpperCase()=="HTML"){k="#fff"}}}}else{k=g.getAttribute.call(this,h)}return k};e.doMethod=function(j,n,k){var m;if(this.patterns.color.test(j)){m=[];for(var l=0,h=n.length;l<h;++l){m[l]=g.doMethod.call(this,j,n[l],k[l])}m="rgb("+Math.floor(m[0])+","+Math.floor(m[1])+","+Math.floor(m[2])+")"}else{m=g.doMethod.call(this,j,n,k)}return m};e.setRuntimeAttribute=function(j){g.setRuntimeAttribute.call(this,j);if(this.patterns.color.test(j)){var l=this.attributes;var n=this.parseColor(this.runtimeAttributes[j].start);var k=this.parseColor(this.runtimeAttributes[j].end);if(typeof l[j]["to"]==="undefined"&&typeof l[j]["by"]!=="undefined"){k=this.parseColor(l[j].by);for(var m=0,h=n.length;m<h;++m){k[m]=n[m]+k[m]}}this.runtimeAttributes[j].start=n;this.runtimeAttributes[j].end=k}}})();Ext.lib.Easing={easeNone:function(f,e,h,g){return h*f/g+e},easeIn:function(f,e,h,g){return h*(f/=g)*f+e},easeOut:function(f,e,h,g){return -h*(f/=g)*(f-2)+e},easeBoth:function(f,e,h,g){if((f/=g/2)<1){return h/2*f*f+e}return -h/2*((--f)*(f-2)-1)+e},easeInStrong:function(f,e,h,g){return h*(f/=g)*f*f*f+e},easeOutStrong:function(f,e,h,g){return -h*((f=f/g-1)*f*f*f-1)+e},easeBothStrong:function(f,e,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+e}return -h/2*((f-=2)*f*f*f-2)+e},elasticIn:function(g,e,k,j,f,i){if(g==0){return e}if((g/=j)==1){return e+k}if(!i){i=j*0.3}if(!f||f<Math.abs(k)){f=k;var h=i/4}else{var h=i/(2*Math.PI)*Math.asin(k/f)}return -(f*Math.pow(2,10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i))+e},elasticOut:function(g,e,k,j,f,i){if(g==0){return e}if((g/=j)==1){return e+k}if(!i){i=j*0.3}if(!f||f<Math.abs(k)){f=k;var h=i/4}else{var h=i/(2*Math.PI)*Math.asin(k/f)}return f*Math.pow(2,-10*g)*Math.sin((g*j-h)*(2*Math.PI)/i)+k+e},elasticBoth:function(g,e,k,j,f,i){if(g==0){return e}if((g/=j/2)==2){return e+k}if(!i){i=j*(0.3*1.5)}if(!f||f<Math.abs(k)){f=k;var h=i/4}else{var h=i/(2*Math.PI)*Math.asin(k/f)}if(g<1){return -0.5*(f*Math.pow(2,10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i))+e}return f*Math.pow(2,-10*(g-=1))*Math.sin((g*j-h)*(2*Math.PI)/i)*0.5+k+e},backIn:function(f,e,i,h,g){if(typeof g=="undefined"){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+e},backOut:function(f,e,i,h,g){if(typeof g=="undefined"){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+e},backBoth:function(f,e,i,h,g){if(typeof g=="undefined"){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+e}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+e},bounceIn:function(f,e,h,g){return h-Ext.lib.Easing.bounceOut(g-f,0,h,g)+e},bounceOut:function(f,e,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+e}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+e}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+e}}}return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+e},bounceBoth:function(f,e,h,g){if(f<g/2){return Ext.lib.Easing.bounceIn(f*2,0,h,g)*0.5+e}return Ext.lib.Easing.bounceOut(f*2-g,0,h,g)*0.5+h*0.5+e}};(function(){Ext.lib.Motion=function(k,j,l,m){if(k){Ext.lib.Motion.superclass.constructor.call(this,k,j,l,m)}};Ext.extend(Ext.lib.Motion,Ext.lib.ColorAnim);var h=Ext.lib;var i=h.Motion.superclass;var f=h.Motion.prototype;f.toString=function(){var j=this.getEl();var k=j.id||j.tagName;return("Motion "+k)};f.patterns.points=/^points$/i;f.setAttribute=function(j,l,k){if(this.patterns.points.test(j)){k=k||"px";i.setAttribute.call(this,"left",l[0],k);i.setAttribute.call(this,"top",l[1],k)}else{i.setAttribute.call(this,j,l,k)}};f.getAttribute=function(j){if(this.patterns.points.test(j)){var k=[i.getAttribute.call(this,"left"),i.getAttribute.call(this,"top")]}else{k=i.getAttribute.call(this,j)}return k};f.doMethod=function(j,n,k){var m=null;if(this.patterns.points.test(j)){var l=this.method(this.currentFrame,0,100,this.totalFrames)/100;m=h.Bezier.getPosition(this.runtimeAttributes[j],l)}else{m=i.doMethod.call(this,j,n,k)}return m};f.setRuntimeAttribute=function(s){if(this.patterns.points.test(s)){var k=this.getEl();var m=this.attributes;var j;var o=m.points["control"]||[];var l;var p,r;if(o.length>0&&!Ext.isArray(o[0])){o=[o]}else{var n=[];for(p=0,r=o.length;p<r;++p){n[p]=o[p]}o=n}Ext.fly(k,"_anim").position();if(g(m.points["from"])){Ext.lib.Dom.setXY(k,m.points["from"])}else{Ext.lib.Dom.setXY(k,Ext.lib.Dom.getXY(k))}j=this.getAttribute("points");if(g(m.points["to"])){l=e.call(this,m.points["to"],j);var q=Ext.lib.Dom.getXY(this.getEl());for(p=0,r=o.length;p<r;++p){o[p]=e.call(this,o[p],j)}}else{if(g(m.points["by"])){l=[j[0]+m.points["by"][0],j[1]+m.points["by"][1]];for(p=0,r=o.length;p<r;++p){o[p]=[j[0]+o[p][0],j[1]+o[p][1]]}}}this.runtimeAttributes[s]=[j];if(o.length>0){this.runtimeAttributes[s]=this.runtimeAttributes[s].concat(o)}this.runtimeAttributes[s][this.runtimeAttributes[s].length]=l}else{i.setRuntimeAttribute.call(this,s)}};var e=function(j,l){var k=Ext.lib.Dom.getXY(this.getEl());j=[j[0]-k[0]+l[0],j[1]-k[1]+l[1]];return j};var g=function(j){return(typeof j!=="undefined")}})();(function(){Ext.lib.Scroll=function(i,h,j,k){if(i){Ext.lib.Scroll.superclass.constructor.call(this,i,h,j,k)}};Ext.extend(Ext.lib.Scroll,Ext.lib.ColorAnim);var f=Ext.lib;var g=f.Scroll.superclass;var e=f.Scroll.prototype;e.toString=function(){var h=this.getEl();var i=h.id||h.tagName;return("Scroll "+i)};e.doMethod=function(h,k,i){var j=null;if(h=="scroll"){j=[this.method(this.currentFrame,k[0],i[0]-k[0],this.totalFrames),this.method(this.currentFrame,k[1],i[1]-k[1],this.totalFrames)]}else{j=g.doMethod.call(this,h,k,i)}return j};e.getAttribute=function(h){var j=null;var i=this.getEl();if(h=="scroll"){j=[i.scrollLeft,i.scrollTop]}else{j=g.getAttribute.call(this,h)}return j};e.setAttribute=function(h,k,j){var i=this.getEl();if(h=="scroll"){i.scrollLeft=k[0];i.scrollTop=k[1]}else{g.setAttribute.call(this,h,k,j)}}})()})();
Ext.DomHelper=function(){var l=null;var f=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var b=/^table|tbody|tr|td$/i;var a=function(v){if(typeof v=="string"){return v}var p="";if(Ext.isArray(v)){for(var t=0,q=v.length;t<q;t++){p+=a(v[t])}return p}if(!v.tag){v.tag="div"}p+="<"+v.tag;for(var n in v){if(n=="tag"||n=="children"||n=="cn"||n=="html"||typeof v[n]=="function"){continue}if(n=="style"){var u=v.style;if(typeof u=="function"){u=u.call()}if(typeof u=="string"){p+=' style="'+u+'"'}else{if(typeof u=="object"){p+=' style="';for(var r in u){if(typeof u[r]!="function"){p+=r+":"+u[r]+";"}}p+='"'}}}else{if(n=="cls"){p+=' class="'+v.cls+'"'}else{if(n=="htmlFor"){p+=' for="'+v.htmlFor+'"'}else{p+=" "+n+'="'+v[n]+'"'}}}}if(f.test(v.tag)){p+="/>"}else{p+=">";var w=v.children||v.cn;if(w){p+=a(w)}else{if(v.html){p+=v.html}}p+="</"+v.tag+">"}return p};var m=function(u,p){var t;if(Ext.isArray(u)){t=document.createDocumentFragment();for(var s=0,q=u.length;s<q;s++){m(u[s],t)}}else{if(typeof u=="string"){t=document.createTextNode(u)}else{t=document.createElement(u.tag||"div");var r=!!t.setAttribute;for(var n in u){if(n=="tag"||n=="children"||n=="cn"||n=="html"||n=="style"||typeof u[n]=="function"){continue}if(n=="cls"){t.className=u.cls}else{if(r){t.setAttribute(n,u[n])}else{t[n]=u[n]}}}Ext.DomHelper.applyStyles(t,u.style);var v=u.children||u.cn;if(v){m(v,t)}else{if(u.html){t.innerHTML=u.html}}}}if(p){p.appendChild(t)}return t};var i=function(t,q,p,r){l.innerHTML=[q,p,r].join("");var n=-1,o=l;while(++n<t){o=o.firstChild}return o};var j="<table>",e="</table>",c=j+"<tbody>",k="</tbody>"+e,h=c+"<tr>",d="</tr>"+k;var g=function(n,o,q,p){if(!l){l=document.createElement("div")}var r;var s=null;if(n=="td"){if(o=="afterbegin"||o=="beforeend"){return}if(o=="beforebegin"){s=q;q=q.parentNode}else{s=q.nextSibling;q=q.parentNode}r=i(4,h,p,d)}else{if(n=="tr"){if(o=="beforebegin"){s=q;q=q.parentNode;r=i(3,c,p,k)}else{if(o=="afterend"){s=q.nextSibling;q=q.parentNode;r=i(3,c,p,k)}else{if(o=="afterbegin"){s=q.firstChild}r=i(4,h,p,d)}}}else{if(n=="tbody"){if(o=="beforebegin"){s=q;q=q.parentNode;r=i(2,j,p,e)}else{if(o=="afterend"){s=q.nextSibling;q=q.parentNode;r=i(2,j,p,e)}else{if(o=="afterbegin"){s=q.firstChild}r=i(3,c,p,k)}}}else{if(o=="beforebegin"||o=="afterend"){return}if(o=="afterbegin"){s=q.firstChild}r=i(2,j,p,e)}}}q.insertBefore(r,s);return r};return{useDom:false,markup:function(n){return a(n)},applyStyles:function(p,q){if(q){p=Ext.fly(p);if(typeof q=="string"){var o=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var r;while((r=o.exec(q))!=null){p.setStyle(r[1],r[2])}}else{if(typeof q=="object"){for(var n in q){p.setStyle(n,q[n])}}else{if(typeof q=="function"){Ext.DomHelper.applyStyles(p,q.call())}}}}},insertHtml:function(p,r,q){p=p.toLowerCase();if(r.insertAdjacentHTML){if(b.test(r.tagName)){var o;if(o=g(r.tagName.toLowerCase(),p,r,q)){return o}}switch(p){case"beforebegin":r.insertAdjacentHTML("BeforeBegin",q);return r.previousSibling;case"afterbegin":r.insertAdjacentHTML("AfterBegin",q);return r.firstChild;case"beforeend":r.insertAdjacentHTML("BeforeEnd",q);return r.lastChild;case"afterend":r.insertAdjacentHTML("AfterEnd",q);return r.nextSibling}throw'Illegal insertion point -> "'+p+'"'}var n=r.ownerDocument.createRange();var s;switch(p){case"beforebegin":n.setStartBefore(r);s=n.createContextualFragment(q);r.parentNode.insertBefore(s,r);return r.previousSibling;case"afterbegin":if(r.firstChild){n.setStartBefore(r.firstChild);s=n.createContextualFragment(q);r.insertBefore(s,r.firstChild);return r.firstChild}else{r.innerHTML=q;return r.firstChild}case"beforeend":if(r.lastChild){n.setStartAfter(r.lastChild);s=n.createContextualFragment(q);r.appendChild(s);return r.lastChild}else{r.innerHTML=q;return r.lastChild}case"afterend":n.setStartAfter(r);s=n.createContextualFragment(q);r.parentNode.insertBefore(s,r.nextSibling);return r.nextSibling}throw'Illegal insertion point -> "'+p+'"'},insertBefore:function(n,q,p){return this.doInsert(n,q,p,"beforeBegin")},insertAfter:function(n,q,p){return this.doInsert(n,q,p,"afterEnd","nextSibling")},insertFirst:function(n,q,p){return this.doInsert(n,q,p,"afterBegin","firstChild")},doInsert:function(r,t,s,u,q){r=Ext.getDom(r);var p;if(this.useDom){p=m(t,null);(q==="firstChild"?r:r.parentNode).insertBefore(p,q?r[q]:r)}else{var n=a(t);p=this.insertHtml(u,r,n)}return s?Ext.get(p,true):p},append:function(q,s,r){q=Ext.getDom(q);var p;if(this.useDom){p=m(s,null);q.appendChild(p)}else{var n=a(s);p=this.insertHtml("beforeEnd",q,n)}return r?Ext.get(p,true):p},overwrite:function(n,q,p){n=Ext.getDom(n);n.innerHTML=a(q);return p?Ext.get(n.firstChild,true):n.firstChild},createTemplate:function(p){var n=a(p);return new Ext.Template(n)}}}();
Ext.Template=function(f){var c=arguments;if(Ext.isArray(f)){f=f.join("")}else{if(c.length>1){var d=[];for(var e=0,b=c.length;e<b;e++){if(typeof c[e]=="object"){Ext.apply(this,c[e])}else{d[d.length]=c[e]}}f=d.join("")}}this.html=f;if(this.compiled){this.compile()}};Ext.Template.prototype={applyTemplate:function(b){if(this.compiled){return this.compiled(b)}var a=this.disableFormats!==true;var e=Ext.util.Format,c=this;var d=function(g,j,n,h){if(n&&a){if(n.substr(0,5)=="this."){return c.call(n.substr(5),b[j],b)}else{if(h){var l=/^\s*['"](.*)["']\s*$/;h=h.split(",");for(var k=0,f=h.length;k<f;k++){h[k]=h[k].replace(l,"$1")}h=[b[j]].concat(h)}else{h=[b[j]]}return e[n].apply(e,h)}}else{return b[j]!==undefined?b[j]:""}};return this.html.replace(this.re,d)},set:function(a,b){this.html=a;this.compiled=null;if(b){this.compile()}return this},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(m,name,format,args){if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'"};var body;if(Ext.isGecko){body="this.compiled = function(values){ return '"+this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+"';};"}else{body=["this.compiled = function(values){ return ['"];body.push(this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return this},call:function(c,b,a){return this[c](b,a)},insertFirst:function(b,a,c){return this.doInsert("afterBegin",b,a,c)},insertBefore:function(b,a,c){return this.doInsert("beforeBegin",b,a,c)},insertAfter:function(b,a,c){return this.doInsert("afterEnd",b,a,c)},append:function(b,a,c){return this.doInsert("beforeEnd",b,a,c)},doInsert:function(c,e,b,a){e=Ext.getDom(e);var d=Ext.DomHelper.insertHtml(c,e,this.applyTemplate(b));return a?Ext.get(d,true):d},overwrite:function(b,a,c){b=Ext.getDom(b);b.innerHTML=this.applyTemplate(a);return c?Ext.get(b.firstChild,true):b.firstChild}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomHelper.Template=Ext.Template;Ext.Template.from=function(b,a){b=Ext.getDom(b);return new Ext.Template(b.value||b.innerHTML,a||"")};
Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={};var nonSpace=/\S/;var trimRe=/^\s+|\s+$/g;var tplRe=/\{(\d+)\}/g;var modeRe=/^(\s?[\/>+~]\s?|\s|$)/;var tagTokenRe=/^(#)?([\w-\*]+)/;var nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/;function child(p,index){var i=0;var n=p.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null}function next(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n}function children(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=ni.children||ni.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&(n.nodeType!=1||(tagName=="*"||n.tagName.toLowerCase()!=tagName))){}if(n){result[++ri]=n}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i<l;i++){a[a.length]=b[i]}return a}function byTag(cs,tagName){if(cs.tagName||cs==document){cs=[cs]}if(!tagName){return cs}var r=[],ri=-1;tagName=tagName.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){r[++ri]=ci}}return r}function byId(cs,attr,id){if(cs.tagName||cs==document){cs=[cs]}if(!id){return cs}var r=[],ri=-1;for(var i=0,ci;ci=cs[i];i++){if(ci&&ci.id==id){r[++ri]=ci;return r}}return r}function byAttribute(cs,attr,value,op,custom){var r=[],ri=-1,st=custom=="{";var f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){var a;if(st){a=Ext.DomQuery.getStyle(ci,attr)}else{if(attr=="class"||attr=="className"){a=ci.className}else{if(attr=="for"){a=ci.htmlFor}else{if(attr=="href"){a=ci.getAttribute("href",2)}else{a=ci.getAttribute(attr)}}}}if((f&&f(a,value))||(!f&&a)){r[++ri]=ci}}return r}function byPseudo(cs,name,value){return Ext.DomQuery.pseudos[name](cs,value)}var isIE=window.ActiveXObject?true:false;eval("var batch = 30803;");var key=30803;function nodupIEXml(cs){var d=++key;cs[0].setAttribute("_nodup",d);var r=[cs[0]];for(var i=1,len=cs.length;i<len;i++){var c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(var i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs)}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(var j=0;j<i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key;for(var i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length;if(!len1){return c2}if(isIE&&c1[0].selectSingleNode){return quickDiffIEXml(c1,c2)}var d=++key;for(var i=0;i<len1;i++){c1[i]._qdiff=d}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,null,id)}return{getStyle:function(el,name){return Ext.fly(el).getStyle(name)},compile:function(path,type){type=type||"select";var fn=["var f = function(root){\n var mode; ++batch; var n = root || document;\n"];var q=path,mode,lq;var tk=Ext.DomQuery.matchers;var tklen=tk.length;var mm;var lmode=q.match(modeRe);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';q=q.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(q&&lq!=q){lq=q;var tm=q.match(tagTokenRe);if(type=="select"){if(tm){if(tm[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tm[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tm[2]+'");'}q=q.replace(tm[0],"")}else{if(q.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tm){if(tm[1]=="#"){fn[fn.length]='n = byId(n, null, "'+tm[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tm[2]+'");'}q=q.replace(tm[0],"")}}while(!(mm=q.match(modeRe))){var matched=false;for(var j=0;j<tklen;j++){var t=tk[j];var m=q.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});q=q.replace(m[0],"");matched=true;break}}if(!matched){throw'Error parsing selector, parsing failed at "'+q+'"'}}if(mm[1]){fn[fn.length]='mode="'+mm[1].replace(trimRe,"")+'";';q=q.replace(mm[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},select:function(path,root,type){if(!root||root==document){root=document}if(typeof root=="string"){root=document.getElementById(root)}var paths=path.split(",");var results=[];for(var i=0,len=paths.length;i<len;i++){var p=paths[i].replace(trimRe,"");if(!cache[p]){cache[p]=Ext.DomQuery.compile(p);if(!cache[p]){throw p+" is not a valid selector"}}var result=cache[p](root);if(result&&result!=document){results=results.concat(result)}}if(paths.length>1){return nodup(results)}return results},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root);n=n[0]?n[0]:n;var v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el);var result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, null, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, null, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1;var m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a);var f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|");var r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;
Ext.util.Observable=function(){if(this.listeners){this.on(this.listeners);delete this.listeners}};Ext.util.Observable.prototype={fireEvent:function(){if(this.eventsSuspended!==true){var a=this.events[arguments[0].toLowerCase()];if(typeof a=="object"){return a.fire.apply(a,Array.prototype.slice.call(arguments,1))}}return true},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(a,c,b,g){if(typeof a=="object"){g=a;for(var f in g){if(this.filterOptRe.test(f)){continue}if(typeof g[f]=="function"){this.addListener(f,g[f],g.scope,g)}else{this.addListener(f,g[f].fn,g[f].scope,g[f])}}return}g=(!g||typeof g=="boolean")?{}:g;a=a.toLowerCase();var d=this.events[a]||true;if(typeof d=="boolean"){d=new Ext.util.Event(this,a);this.events[a]=d}d.addListener(c,b,g)},removeListener:function(a,c,b){var d=this.events[a.toLowerCase()];if(typeof d=="object"){d.removeListener(c,b)}},purgeListeners:function(){for(var a in this.events){if(typeof this.events[a]=="object"){this.events[a].clearListeners()}}},relayEvents:function(f,d){var e=function(g){return function(){return this.fireEvent.apply(this,Ext.combine(g,Array.prototype.slice.call(arguments,0)))}};for(var c=0,a=d.length;c<a;c++){var b=d[c];if(!this.events[b]){this.events[b]=true}f.on(b,e(b),this)}},addEvents:function(e){if(!this.events){this.events={}}if(typeof e=="string"){for(var d=0,b=arguments,c;c=b[d];d++){if(!this.events[b[d]]){this.events[b[d]]=true}}}else{Ext.applyIf(this.events,e)}},hasListener:function(a){var b=this.events[a];return typeof b=="object"&&b.listeners.length>0},suspendEvents:function(){this.eventsSuspended=true},resumeEvents:function(){this.eventsSuspended=false},getMethodEvent:function(h){if(!this.methodEvents){this.methodEvents={}}var g=this.methodEvents[h];if(!g){g={};this.methodEvents[h]=g;g.originalFn=this[h];g.methodName=h;g.before=[];g.after=[];var c,b,d;var f=this;var a=function(j,i,e){if((b=j.apply(i||f,e))!==undefined){if(typeof b==="object"){if(b.returnValue!==undefined){c=b.returnValue}else{c=b}if(b.cancel===true){d=true}}else{if(b===false){d=true}else{c=b}}}};this[h]=function(){c=b=undefined;d=false;var j=Array.prototype.slice.call(arguments,0);for(var k=0,e=g.before.length;k<e;k++){a(g.before[k].fn,g.before[k].scope,j);if(d){return c}}if((b=g.originalFn.apply(f,j))!==undefined){c=b}for(var k=0,e=g.after.length;k<e;k++){a(g.after[k].fn,g.after[k].scope,j);if(d){return c}}return c}}return g},beforeMethod:function(d,b,a){var c=this.getMethodEvent(d);c.before.push({fn:b,scope:a})},afterMethod:function(d,b,a){var c=this.getMethodEvent(d);c.after.push({fn:b,scope:a})},removeMethodListener:function(g,d,c){var f=this.getMethodEvent(g);for(var b=0,a=f.before.length;b<a;b++){if(f.before[b].fn==d&&f.before[b].scope==c){f.before.splice(b,1);return}}for(var b=0,a=f.after.length;b<a;b++){if(f.after[b].fn==d&&f.after[b].scope==c){f.after.splice(b,1);return}}}};Ext.util.Observable.prototype.on=Ext.util.Observable.prototype.addListener;Ext.util.Observable.prototype.un=Ext.util.Observable.prototype.removeListener;Ext.util.Observable.capture=function(c,b,a){c.fireEvent=c.fireEvent.createInterceptor(b,a)};Ext.util.Observable.releaseCapture=function(a){a.fireEvent=Ext.util.Observable.prototype.fireEvent};(function(){var b=function(f,g,e){var d=new Ext.util.DelayedTask();return function(){d.delay(g.buffer,f,e,Array.prototype.slice.call(arguments,0))}};var c=function(g,i,f,d){return function(){i.removeListener(f,d);return g.apply(d,arguments)}};var a=function(e,f,d){return function(){var g=Array.prototype.slice.call(arguments,0);setTimeout(function(){e.apply(d,g)},f.delay||10)}};Ext.util.Event=function(e,d){this.name=d;this.obj=e;this.listeners=[]};Ext.util.Event.prototype={addListener:function(g,f,e){f=f||this.obj;if(!this.isListening(g,f)){var d=this.createListener(g,f,e);if(!this.firing){this.listeners.push(d)}else{this.listeners=this.listeners.slice(0);this.listeners.push(d)}}},createListener:function(g,f,i){i=i||{};f=f||this.obj;var d={fn:g,scope:f,options:i};var e=g;if(i.delay){e=a(e,i,f)}if(i.single){e=c(e,this,g,f)}if(i.buffer){e=b(e,i,f)}d.fireFn=e;return d},findListener:function(j,h){h=h||this.obj;var f=this.listeners;for(var g=0,d=f.length;g<d;g++){var e=f[g];if(e.fn==j&&e.scope==h){return g}}return -1},isListening:function(e,d){return this.findListener(e,d)!=-1},removeListener:function(f,e){var d;if((d=this.findListener(f,e))!=-1){if(!this.firing){this.listeners.splice(d,1)}else{this.listeners=this.listeners.slice(0);this.listeners.splice(d,1)}return true}return false},clearListeners:function(){this.listeners=[]},fire:function(){var f=this.listeners,j,d=f.length;if(d>0){this.firing=true;var g=Array.prototype.slice.call(arguments,0);for(var h=0;h<d;h++){var e=f[h];if(e.fireFn.apply(e.scope||this.obj||window,arguments)===false){this.firing=false;return false}}this.firing=false}return true}}})();
Ext.EventManager=function(){var v,o,k=false;var l,u,f,q;var n=Ext.lib.Event;var p=Ext.lib.Dom;var a="Ext";var h={};var m=function(B,x,A,z,y){var D=Ext.id(B);if(!h[D]){h[D]={}}var C=h[D];if(!C[x]){C[x]=[]}var w=C[x];w.push({id:D,ename:x,fn:A,wrap:z,scope:y});n.on(B,x,z);if(x=="mousewheel"&&B.addEventListener){B.addEventListener("DOMMouseScroll",z,false);n.on(window,"unload",function(){B.removeEventListener("DOMMouseScroll",z,false)})}if(x=="mousedown"&&B==document){Ext.EventManager.stoppedMouseDownEvent.addListener(z)}};var g=function(y,A,E,G){y=Ext.getDom(y);var w=Ext.id(y),F=h[w],x;if(F){var C=F[A],z;if(C){for(var B=0,D=C.length;B<D;B++){z=C[B];if(z.fn==E&&(!G||z.scope==G)){x=z.wrap;n.un(y,A,x);C.splice(B,1);break}}}}if(A=="mousewheel"&&y.addEventListener&&x){y.removeEventListener("DOMMouseScroll",x,false)}if(A=="mousedown"&&y==document&&x){Ext.EventManager.stoppedMouseDownEvent.removeListener(x)}};var d=function(A){A=Ext.getDom(A);var C=Ext.id(A),B=h[C],x;if(B){for(var z in B){if(B.hasOwnProperty(z)){x=B[z];for(var y=0,w=x.length;y<w;y++){n.un(A,z,x[y].wrap);x[y]=null}}B[z]=null}delete h[C]}};var c=function(){if(!k){k=true;Ext.isReady=true;if(o){clearInterval(o)}if(Ext.isGecko||Ext.isOpera){document.removeEventListener("DOMContentLoaded",c,false)}if(Ext.isIE){var w=document.getElementById("ie-deferred-loader");if(w){w.onreadystatechange=null;w.parentNode.removeChild(w)}}if(v){v.fire();v.clearListeners()}}};var b=function(){v=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){document.addEventListener("DOMContentLoaded",c,false)}else{if(Ext.isIE){document.write('<script id="ie-deferred-loader" defer="defer" src="//:"><\/script>');var w=document.getElementById("ie-deferred-loader");w.onreadystatechange=function(){if(this.readyState=="complete"){c()}}}else{if(Ext.isSafari){o=setInterval(function(){var x=document.readyState;if(x=="complete"){c()}},10)}}}n.on(window,"load",c)};var t=function(x,y){var w=new Ext.util.DelayedTask(x);return function(z){z=new Ext.EventObjectImpl(z);w.delay(y.buffer,x,null,[z])}};var r=function(A,z,w,y,x){return function(B){Ext.EventManager.removeListener(z,w,y,x);A(B)}};var e=function(w,x){return function(y){y=new Ext.EventObjectImpl(y);setTimeout(function(){w(y)},x.delay||10)}};var j=function(y,x,w,C,B){var D=(!w||typeof w=="boolean")?{}:w;C=C||D.fn;B=B||D.scope;var A=Ext.getDom(y);if(!A){throw'Error listening for "'+x+'". Element "'+y+"\" doesn't exist."}var z=function(F){if(!window[a]){return}F=Ext.EventObject.setEvent(F);var E;if(D.delegate){E=F.getTarget(D.delegate,A);if(!E){return}}else{E=F.target}if(D.stopEvent===true){F.stopEvent()}if(D.preventDefault===true){F.preventDefault()}if(D.stopPropagation===true){F.stopPropagation()}if(D.normalized===false){F=F.browserEvent}C.call(B||A,F,E,D)};if(D.delay){z=e(z,D)}if(D.single){z=r(z,A,x,C,B)}if(D.buffer){z=t(z,D)}m(A,x,C,z,B);return z};var i=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;var s={addListener:function(y,w,A,z,x){if(typeof w=="object"){var C=w;for(var B in C){if(i.test(B)){continue}if(typeof C[B]=="function"){j(y,B,C,C[B],C.scope)}else{j(y,B,C[B])}}return}return j(y,w,x,A,z)},removeListener:function(x,w,z,y){return g(x,w,z,y)},removeAll:function(w){return d(w)},onDocumentReady:function(y,x,w){if(k){v.addListener(y,x,w);v.fire();v.clearListeners();return}if(!v){b()}w=w||{};if(!w.delay){w.delay=1}v.addListener(y,x,w)},doResizeEvent:function(){l.fire(p.getViewWidth(),p.getViewHeight())},onWindowResize:function(y,x,w){if(!l){l=new Ext.util.Event();u=new Ext.util.DelayedTask(this.doResizeEvent);n.on(window,"resize",this.fireWindowResize,this)}l.addListener(y,x,w)},fireWindowResize:function(){if(l){if((Ext.isIE||Ext.isAir)&&u){u.delay(50)}else{l.fire(p.getViewWidth(),p.getViewHeight())}}},onTextResize:function(z,y,w){if(!f){f=new Ext.util.Event();var x=new Ext.Element(document.createElement("div"));x.dom.className="x-text-resize";x.dom.innerHTML="X";x.appendTo(document.body);q=x.dom.offsetHeight;setInterval(function(){if(x.dom.offsetHeight!=q){f.fire(q,q=x.dom.offsetHeight)}},this.textResizeInterval)}f.addListener(z,y,w)},removeResizeListener:function(x,w){if(l){l.removeListener(x,w)}},fireResize:function(){if(l){l.fire(p.getViewWidth(),p.getViewHeight())}},ieDeferSrc:false,textResizeInterval:50};s.on=s.addListener;s.un=s.removeListener;s.stoppedMouseDownEvent=new Ext.util.Event();return s}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var a=function(){var c=document.body||document.getElementsByTagName("body")[0];if(!c){return false}var b=[" ",Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":(Ext.isIE7?"ext-ie7":"ext-ie8")):Ext.isGecko?"ext-gecko "+(Ext.isGecko2?"ext-gecko2":"ext-gecko3"):Ext.isOpera?"ext-opera":Ext.isSafari?"ext-safari":Ext.isChrome?"ext-chrome":""];if(Ext.isMac){b.push("ext-mac")}if(Ext.isLinux){b.push("ext-linux")}if(Ext.isBorderBox){b.push("ext-border-box")}if(Ext.isStrict){var d=c.parentNode;if(d){d.className+=" ext-strict"}}c.className+=b.join(" ");return true};if(!a()){Ext.onReady(a)}})();Ext.EventObject=function(){var b=Ext.lib.Event;var a={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35};var c=Ext.isIE?{1:0,4:1,2:2}:(Ext.isSafari?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(d){if(d){this.setEvent(d.browserEvent||d)}};Ext.EventObjectImpl.prototype={browserEvent:null,button:-1,shiftKey:false,ctrlKey:false,altKey:false,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,setEvent:function(d){if(d==this||(d&&d.browserEvent)){return d}this.browserEvent=d;if(d){this.button=d.button?c[d.button]:(d.which?d.which-1:-1);if(d.type=="click"&&this.button==-1){this.button=0}this.type=d.type;this.shiftKey=d.shiftKey;this.ctrlKey=d.ctrlKey||d.metaKey;this.altKey=d.altKey;this.keyCode=d.keyCode;this.charCode=d.charCode;this.target=b.getTarget(d);this.xy=b.getXY(d)}else{this.button=-1;this.shiftKey=false;this.ctrlKey=false;this.altKey=false;this.keyCode=0;this.charCode=0;this.target=null;this.xy=[0,0]}return this},stopEvent:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}b.stopEvent(this.browserEvent)}},preventDefault:function(){if(this.browserEvent){b.preventDefault(this.browserEvent)}},isNavKeyPress:function(){var d=this.keyCode;d=Ext.isSafari?(a[d]||d):d;return(d>=33&&d<=40)||d==this.RETURN||d==this.TAB||d==this.ESC},isSpecialKey:function(){var d=this.keyCode;return(this.type=="keypress"&&this.ctrlKey)||d==9||d==13||d==40||d==27||(d==16)||(d==17)||(d>=18&&d<=20)||(d>=33&&d<=35)||(d>=36&&d<=39)||(d>=44&&d<=45)},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}b.stopPropagation(this.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){var d=this.keyCode||this.charCode;return Ext.isSafari?(a[d]||d):d},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getTime:function(){if(this.browserEvent){return b.getTime(this.browserEvent)}return null},getXY:function(){return this.xy},getTarget:function(e,f,d){return e?Ext.fly(this.target).findParent(e,f,d):(d?Ext.get(this.target):this.target)},getRelatedTarget:function(){if(this.browserEvent){return b.getRelatedTarget(this.browserEvent)}return null},getWheelDelta:function(){var d=this.browserEvent;var f=0;if(d.wheelDelta){f=d.wheelDelta/120}else{if(d.detail){f=-d.detail/3}}return f},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false},within:function(f,g,d){var e=this[g?"getRelatedTarget":"getTarget"]();return e&&((d?(e===Ext.getDom(f)):false)||Ext.fly(f).contains(e))},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])}};return new Ext.EventObjectImpl()}();
(function(){var D=Ext.lib.Dom;var E=Ext.lib.Event;var A=Ext.lib.Anim;var propCache={};var camelRe=/(-[a-z])/gi;var camelFn=function(m,a){return a.charAt(1).toUpperCase()};var view=document.defaultView;Ext.Element=function(element,forceNew){var dom=typeof element=="string"?document.getElementById(element):element;if(!dom){return null}var id=dom.id;if(forceNew!==true&&id&&Ext.Element.cache[id]){return Ext.Element.cache[id]}this.dom=dom;this.id=id||Ext.id(dom)};var El=Ext.Element;El.prototype={originalDisplay:"",visibilityMode:1,defaultUnit:"px",setVisibilityMode:function(visMode){this.visibilityMode=visMode;return this},enableDisplayMode:function(display){this.setVisibilityMode(El.DISPLAY);if(typeof display!="undefined"){this.originalDisplay=display}return this},findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,dq=Ext.DomQuery,stopEl;maxDepth=maxDepth||50;if(typeof maxDepth!="number"){stopEl=Ext.getDom(maxDepth);maxDepth=10}while(p&&p.nodeType==1&&depth<maxDepth&&p!=b&&p!=stopEl){if(dq.is(p,simpleSelector)){return returnEl?Ext.get(p):p}depth++;p=p.parentNode}return null},findParentNode:function(simpleSelector,maxDepth,returnEl){var p=Ext.fly(this.dom.parentNode,"_internal");return p?p.findParent(simpleSelector,maxDepth,returnEl):null},up:function(simpleSelector,maxDepth){return this.findParentNode(simpleSelector,maxDepth,true)},is:function(simpleSelector){return Ext.DomQuery.is(this.dom,simpleSelector)},animate:function(args,duration,onComplete,easing,animType){this.anim(args,{duration:duration,callback:onComplete,easing:easing},animType);return this},anim:function(args,opt,animType,defaultDur,defaultEase,cb){animType=animType||"run";opt=opt||{};var anim=Ext.lib.Anim[animType](this.dom,args,(opt.duration||defaultDur)||0.35,(opt.easing||defaultEase)||"easeOut",function(){Ext.callback(cb,this);Ext.callback(opt.callback,opt.scope||this,[this,opt])},this);opt.anim=anim;return anim},preanim:function(a,i){return !a[i]?false:(typeof a[i]=="object"?a[i]:{duration:a[i+1],callback:a[i+2],easing:a[i+3]})},clean:function(forceReclean){if(this.isCleaned&&forceReclean!==true){return this}var ns=/\S/;var d=this.dom,n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!ns.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}this.isCleaned=true;return this},scrollIntoView:function(container,hscroll){var c=Ext.getDom(container)||Ext.getBody().dom;var el=this.dom;var o=this.getOffsetsTo(c),l=o[0]+c.scrollLeft,t=o[1]+c.scrollTop,b=t+el.offsetHeight,r=l+el.offsetWidth;var ch=c.clientHeight;var ct=parseInt(c.scrollTop,10);var cl=parseInt(c.scrollLeft,10);var cb=ct+ch;var cr=cl+c.clientWidth;if(el.offsetHeight>ch||t<ct){c.scrollTop=t}else{if(b>cb){c.scrollTop=b-ch}}c.scrollTop=c.scrollTop;if(hscroll!==false){if(el.offsetWidth>c.clientWidth||l<cl){c.scrollLeft=l}else{if(r>cr){c.scrollLeft=r-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},autoHeight:function(animate,duration,onComplete,easing){var oldHeight=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var height=parseInt(this.dom.scrollHeight,10);if(!animate){this.setHeight(height);this.unclip();if(typeof onComplete=="function"){onComplete()}}else{this.setHeight(oldHeight);this.setHeight(height,animate,duration,function(){this.unclip();if(typeof onComplete=="function"){onComplete()}}.createDelegate(this),easing)}}.createDelegate(this),0);return this},contains:function(el){if(!el){return false}return D.isAncestor(this.dom,el.dom?el.dom:el)},isVisible:function(deep){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none");if(deep!==true||!vis){return vis}var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!="body"){if(!Ext.fly(p,"_isVisible").isVisible()){return false}p=p.parentNode}return true},select:function(selector,unique){return El.select(selector,unique,this.dom)},query:function(selector){return Ext.DomQuery.select(selector,this.dom)},child:function(selector,returnDom){var n=Ext.DomQuery.selectNode(selector,this.dom);return returnDom?n:Ext.get(n)},down:function(selector,returnDom){var n=Ext.DomQuery.selectNode(" > "+selector,this.dom);return returnDom?n:Ext.get(n)},initDD:function(group,config,overrides){var dd=new Ext.dd.DD(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDProxy:function(group,config,overrides){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDTarget:function(group,config,overrides){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},setVisible:function(visible,animate){if(!animate||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(visible)}else{this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden"}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(0.01);this.setVisible(true)}this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,0.35,"easeIn",function(){if(!visible){if(visMode==El.DISPLAY){dom.style.display="none"}else{dom.style.visibility="hidden"}Ext.get(dom).setOpacity(1)}})}return this},isDisplayed:function(){return this.getStyle("display")!="none"},toggle:function(animate){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this},setDisplayed:function(value){if(typeof value=="boolean"){value=value?this.originalDisplay:"none"}this.setStyle("display",value);return this},focus:function(){try{this.dom.focus()}catch(e){}return this},blur:function(){try{this.dom.blur()}catch(e){}return this},addClass:function(className){if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.addClass(className[i])}}else{if(className&&!this.hasClass(className)){this.dom.className=this.dom.className+" "+className}}return this},radioClass:function(className){var siblings=this.dom.parentNode.childNodes;for(var i=0;i<siblings.length;i++){var s=siblings[i];if(s.nodeType==1){Ext.get(s).removeClass(className)}}this.addClass(className);return this},removeClass:function(className){if(!className||!this.dom.className){return this}if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.removeClass(className[i])}}else{if(this.hasClass(className)){var re=this.classReCache[className];if(!re){re=new RegExp("(?:^|\\s+)"+className+"(?:\\s+|$)","g");this.classReCache[className]=re}this.dom.className=this.dom.className.replace(re," ")}}return this},classReCache:{},toggleClass:function(className){if(this.hasClass(className)){this.removeClass(className)}else{this.addClass(className)}return this},hasClass:function(className){return className&&(" "+this.dom.className+" ").indexOf(" "+className+" ")!=-1},replaceClass:function(oldClassName,newClassName){this.removeClass(oldClassName);this.addClass(newClassName);return this},getStyles:function(){var a=arguments,len=a.length,r={};for(var i=0;i<len;i++){r[a[i]]=this.getStyle(a[i])}return r},getStyle:function(){return view&&view.getComputedStyle?function(prop){var el=this.dom,v,cs,camel;if(prop=="float"){prop="cssFloat"}if(v=el.style[prop]){return v}if(cs=view.getComputedStyle(el,"")){if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}return cs[camel]}return null}:function(prop){var el=this.dom,v,cs,camel;if(prop=="opacity"){if(typeof el.style.filter=="string"){var m=el.style.filter.match(/alpha\(opacity=(.*)\)/i);if(m){var fv=parseFloat(m[1]);if(!isNaN(fv)){return fv?fv/100:0}}}return 1}else{if(prop=="float"){prop="styleFloat"}}if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(v=el.style[camel]){return v}if(cs=el.currentStyle){return cs[camel]}return null}}(),setStyle:function(prop,value){if(typeof prop=="string"){var camel;if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(camel=="opacity"){this.setOpacity(value)}else{this.dom.style[camel]=value}}else{for(var style in prop){if(typeof prop[style]!="function"){this.setStyle(style,prop[style])}}}return this},applyStyles:function(style){Ext.DomHelper.applyStyles(this.dom,style);return this},getX:function(){return D.getX(this.dom)},getY:function(){return D.getY(this.dom)},getXY:function(){return D.getXY(this.dom)},getOffsetsTo:function(el){var o=this.getXY();var e=Ext.fly(el,"_internal").getXY();return[o[0]-e[0],o[1]-e[1]]},setX:function(x,animate){if(!animate||!A){D.setX(this.dom,x)}else{this.setXY([x,this.getY()],this.preanim(arguments,1))}return this},setY:function(y,animate){if(!animate||!A){D.setY(this.dom,y)}else{this.setXY([this.getX(),y],this.preanim(arguments,1))}return this},setLeft:function(left){this.setStyle("left",this.addUnits(left));return this},setTop:function(top){this.setStyle("top",this.addUnits(top));return this},setRight:function(right){this.setStyle("right",this.addUnits(right));return this},setBottom:function(bottom){this.setStyle("bottom",this.addUnits(bottom));return this},setXY:function(pos,animate){if(!animate||!A){D.setXY(this.dom,pos)}else{this.anim({points:{to:pos}},this.preanim(arguments,1),"motion")}return this},setLocation:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},moveTo:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},getRegion:function(){return D.getRegion(this.dom)},getHeight:function(contentHeight){var h=this.dom.offsetHeight||0;h=contentHeight!==true?h:h-this.getBorderWidth("tb")-this.getPadding("tb");return h<0?0:h},getWidth:function(contentWidth){var w=this.dom.offsetWidth||0;w=contentWidth!==true?w:w-this.getBorderWidth("lr")-this.getPadding("lr");return w<0?0:w},getComputedHeight:function(){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight);if(!h){h=parseInt(this.getStyle("height"),10)||0;if(!this.isBorderBox()){h+=this.getFrameWidth("tb")}}return h},getComputedWidth:function(){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!w){w=parseInt(this.getStyle("width"),10)||0;if(!this.isBorderBox()){w+=this.getFrameWidth("lr")}}return w},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}},getStyleSize:function(){var w,h,d=this.dom,s=d.style;if(s.width&&s.width!="auto"){w=parseInt(s.width,10);if(Ext.isBorderBox){w-=this.getFrameWidth("lr")}}if(s.height&&s.height!="auto"){h=parseInt(s.height,10);if(Ext.isBorderBox){h-=this.getFrameWidth("tb")}}return{width:w||this.getWidth(true),height:h||this.getHeight(true)}},getViewSize:function(){var d=this.dom,doc=document,aw=0,ah=0;if(d==doc||d==doc.body){return{width:D.getViewWidth(),height:D.getViewHeight()}}else{return{width:d.clientWidth,height:d.clientHeight}}},getValue:function(asNumber){return asNumber?parseInt(this.dom.value,10):this.dom.value},adjustWidth:function(width){if(typeof width=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){width-=(this.getBorderWidth("lr")+this.getPadding("lr"))}if(width<0){width=0}}return width},adjustHeight:function(height){if(typeof height=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){height-=(this.getBorderWidth("tb")+this.getPadding("tb"))}if(height<0){height=0}}return height},setWidth:function(width,animate){width=this.adjustWidth(width);if(!animate||!A){this.dom.style.width=this.addUnits(width)}else{this.anim({width:{to:width}},this.preanim(arguments,1))}return this},setHeight:function(height,animate){height=this.adjustHeight(height);if(!animate||!A){this.dom.style.height=this.addUnits(height)}else{this.anim({height:{to:height}},this.preanim(arguments,1))}return this},setSize:function(width,height,animate){if(typeof width=="object"){height=width.height;width=width.width}width=this.adjustWidth(width);height=this.adjustHeight(height);if(!animate||!A){this.dom.style.width=this.addUnits(width);this.dom.style.height=this.addUnits(height)}else{this.anim({width:{to:width},height:{to:height}},this.preanim(arguments,2))}return this},setBounds:function(x,y,width,height,animate){if(!animate||!A){this.setSize(width,height);this.setLocation(x,y)}else{width=this.adjustWidth(width);height=this.adjustHeight(height);this.anim({points:{to:[x,y]},width:{to:width},height:{to:height}},this.preanim(arguments,4),"motion")}return this},setRegion:function(region,animate){this.setBounds(region.left,region.top,region.right-region.left,region.bottom-region.top,this.preanim(arguments,1));return this},addListener:function(eventName,fn,scope,options){Ext.EventManager.on(this.dom,eventName,fn,scope||this,options)},removeListener:function(eventName,fn,scope){Ext.EventManager.removeListener(this.dom,eventName,fn,scope||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},relayEvent:function(eventName,observable){this.on(eventName,function(e){observable.fireEvent(eventName,e)})},setOpacity:function(opacity,animate){if(!animate||!A){var s=this.dom.style;if(Ext.isIE){s.zoom=1;s.filter=(s.filter||"").replace(/alpha\([^\)]*\)/gi,"")+(opacity==1?"":" alpha(opacity="+opacity*100+")")}else{s.opacity=opacity}}else{this.anim({opacity:{to:opacity}},this.preanim(arguments,1),null,0.35,"easeIn")}return this},getLeft:function(local){if(!local){return this.getX()}else{return parseInt(this.getStyle("left"),10)||0}},getRight:function(local){if(!local){return this.getX()+this.getWidth()}else{return(this.getLeft(true)+this.getWidth())||0}},getTop:function(local){if(!local){return this.getY()}else{return parseInt(this.getStyle("top"),10)||0}},getBottom:function(local){if(!local){return this.getY()+this.getHeight()}else{return(this.getTop(true)+this.getHeight())||0}},position:function(pos,zIndex,x,y){if(!pos){if(this.getStyle("position")=="static"){this.setStyle("position","relative")}}else{this.setStyle("position",pos)}if(zIndex){this.setStyle("z-index",zIndex)}if(x!==undefined&&y!==undefined){this.setXY([x,y])}else{if(x!==undefined){this.setX(x)}else{if(y!==undefined){this.setY(y)}}}},clearPositioning:function(value){value=value||"";this.setStyle({left:value,right:value,top:value,bottom:value,"z-index":"",position:"static"});return this},getPositioning:function(){var l=this.getStyle("left");var t=this.getStyle("top");return{position:this.getStyle("position"),left:l,right:l?"":this.getStyle("right"),top:t,bottom:t?"":this.getStyle("bottom"),"z-index":this.getStyle("z-index")}},getBorderWidth:function(side){return this.addStyles(side,El.borders)},getPadding:function(side){return this.addStyles(side,El.paddings)},setPositioning:function(pc){this.applyStyles(pc);if(pc.right=="auto"){this.dom.style.right=""}if(pc.bottom=="auto"){this.dom.style.bottom=""}return this},fixDisplay:function(){if(this.getStyle("display")=="none"){this.setStyle("visibility","hidden");this.setStyle("display",this.originalDisplay);if(this.getStyle("display")=="none"){this.setStyle("display","block")}}},setOverflow:function(v){if(v=="auto"&&Ext.isMac&&Ext.isGecko2){this.dom.style.overflow="hidden";(function(){this.dom.style.overflow="auto"}).defer(1,this)}else{this.dom.style.overflow=v}},setLeftTop:function(left,top){this.dom.style.left=this.addUnits(left);this.dom.style.top=this.addUnits(top);return this},move:function(direction,distance,animate){var xy=this.getXY();direction=direction.toLowerCase();switch(direction){case"l":case"left":this.moveTo(xy[0]-distance,xy[1],this.preanim(arguments,2));break;case"r":case"right":this.moveTo(xy[0]+distance,xy[1],this.preanim(arguments,2));break;case"t":case"top":case"up":this.moveTo(xy[0],xy[1]-distance,this.preanim(arguments,2));break;case"b":case"bottom":case"down":this.moveTo(xy[0],xy[1]+distance,this.preanim(arguments,2));break}return this},clip:function(){if(!this.isClipped){this.isClipped=true;this.originalClip={o:this.getStyle("overflow"),x:this.getStyle("overflow-x"),y:this.getStyle("overflow-y")};this.setStyle("overflow","hidden");this.setStyle("overflow-x","hidden");this.setStyle("overflow-y","hidden")}return this},unclip:function(){if(this.isClipped){this.isClipped=false;var o=this.originalClip;if(o.o){this.setStyle("overflow",o.o)}if(o.x){this.setStyle("overflow-x",o.x)}if(o.y){this.setStyle("overflow-y",o.y)}}return this},getAnchorXY:function(anchor,local,s){var w,h,vp=false;if(!s){var d=this.dom;if(d==document.body||d==document){vp=true;w=D.getViewWidth();h=D.getViewHeight()}else{w=this.getWidth();h=this.getHeight()}}else{w=s.width;h=s.height}var x=0,y=0,r=Math.round;switch((anchor||"tl").toLowerCase()){case"c":x=r(w*0.5);y=r(h*0.5);break;case"t":x=r(w*0.5);y=0;break;case"l":x=0;y=r(h*0.5);break;case"r":x=w;y=r(h*0.5);break;case"b":x=r(w*0.5);y=h;break;case"tl":x=0;y=0;break;case"bl":x=0;y=h;break;case"br":x=w;y=h;break;case"tr":x=w;y=0;break}if(local===true){return[x,y]}if(vp){var sc=this.getScroll();return[x+sc.left,y+sc.top]}var o=this.getXY();return[x+o[0],y+o[1]]},getAlignToXY:function(el,p,o){el=Ext.get(el);if(!el||!el.dom){throw"Element.alignToXY with an element that doesn't exist"}var d=this.dom;var c=false;var p1="",p2="";o=o||[0,0];if(!p){p="tl-bl"}else{if(p=="?"){p="tl-bl?"}else{if(p.indexOf("-")==-1){p="tl-"+p}}}p=p.toLowerCase();var m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){throw"Element.alignTo with an invalid alignment "+p}p1=m[1];p2=m[2];c=!!m[3];var a1=this.getAnchorXY(p1,true);var a2=el.getAnchorXY(p2,false);var x=a2[0]-a1[0]+o[0];var y=a2[1]-a1[1]+o[1];if(c){var w=this.getWidth(),h=this.getHeight(),r=el.getRegion();var dw=D.getViewWidth()-5,dh=D.getViewHeight()-5;var p1y=p1.charAt(0),p1x=p1.charAt(p1.length-1);var p2y=p2.charAt(0),p2x=p2.charAt(p2.length-1);var swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));var swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));var doc=document;var scrollX=(doc.documentElement.scrollLeft||doc.body.scrollLeft||0)+5;var scrollY=(doc.documentElement.scrollTop||doc.body.scrollTop||0)+5;if((x+w)>dw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(x<scrollX){x=swapX?r.right:scrollX}if((y+h)>dh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(y<scrollY){y=swapY?r.bottom:scrollY}}return[x,y]},getConstrainToXY:function(){var os={top:0,left:0,bottom:0,right:0};return function(el,local,offsets,proposedXY){el=Ext.get(el);offsets=offsets?Ext.applyIf(offsets,os):os;var vw,vh,vx=0,vy=0;if(el.dom==document.body||el.dom==document){vw=Ext.lib.Dom.getViewWidth();vh=Ext.lib.Dom.getViewHeight()}else{vw=el.dom.clientWidth;vh=el.dom.clientHeight;if(!local){var vxy=el.getXY();vx=vxy[0];vy=vxy[1]}}var s=el.getScroll();vx+=offsets.left+s.left;vy+=offsets.top+s.top;vw-=offsets.right;vh-=offsets.bottom;var vr=vx+vw;var vb=vy+vh;var xy=proposedXY||(!local?this.getXY():[this.getLeft(true),this.getTop(true)]);var x=xy[0],y=xy[1];var w=this.dom.offsetWidth,h=this.dom.offsetHeight;var moved=false;if((x+w)>vr){x=vr-w;moved=true}if((y+h)>vb){y=vb-h;moved=true}if(x<vx){x=vx;moved=true}if(y<vy){y=vy;moved=true}return moved?[x,y]:false}}(),adjustForConstraints:function(xy,parent,offsets){return this.getConstrainToXY(parent||document,false,offsets,xy)||xy},alignTo:function(element,position,offsets,animate){var xy=this.getAlignToXY(element,position,offsets);this.setXY(xy,this.preanim(arguments,3));return this},anchorTo:function(el,alignment,offsets,animate,monitorScroll,callback){var action=function(){this.alignTo(el,alignment,offsets,animate);Ext.callback(callback,this)};Ext.EventManager.onWindowResize(action,this);var tm=typeof monitorScroll;if(tm!="undefined"){Ext.EventManager.on(window,"scroll",action,this,{buffer:tm=="number"?monitorScroll:50})}action.call(this);return this},clearOpacity:function(){if(window.ActiveXObject){if(typeof this.dom.style.filter=="string"&&(/alpha/i).test(this.dom.style.filter)){this.dom.style.filter=""}}else{this.dom.style.opacity="";this.dom.style["-moz-opacity"]="";this.dom.style["-khtml-opacity"]=""}return this},hide:function(animate){this.setVisible(false,this.preanim(arguments,0));return this},show:function(animate){this.setVisible(true,this.preanim(arguments,0));return this},addUnits:function(size){return Ext.Element.addUnits(size,this.defaultUnit)},update:function(html,loadScripts,callback){if(typeof html=="undefined"){html=""}if(loadScripts!==true){this.dom.innerHTML=html;if(typeof callback=="function"){callback()}return this}var id=Ext.id();var dom=this.dom;html+='<span id="'+id+'"></span>';E.onAvailable(id,function(){var hd=document.getElementsByTagName("head")[0];var re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;var srcRe=/\ssrc=([\'\"])(.*?)\1/i;var typeRe=/\stype=([\'\"])(.*?)\1/i;var match;while(match=re.exec(html)){var attrs=match[1];var srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){var s=document.createElement("script");s.src=srcMatch[2];var typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}var el=document.getElementById(id);if(el){Ext.removeNode(el)}if(typeof callback=="function"){callback()}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},load:function(){var um=this.getUpdater();um.update.apply(um,arguments);return this},getUpdater:function(){if(!this.updateManager){this.updateManager=new Ext.Updater(this)}return this.updateManager},unselectable:function(){this.dom.unselectable="on";this.swallowEvent("selectstart",true);this.applyStyles("-moz-user-select:none;-khtml-user-select:none;");this.addClass("x-unselectable");return this},getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(centerIn){this.alignTo(centerIn||document,"c-c");return this},isBorderBox:function(){return noBoxAdjust[this.dom.tagName.toLowerCase()]||Ext.isBorderBox},getBox:function(contentBox,local){var xy;if(!local){xy=this.getXY()}else{var left=parseInt(this.getStyle("left"),10)||0;var top=parseInt(this.getStyle("top"),10)||0;xy=[left,top]}var el=this.dom,w=el.offsetWidth,h=el.offsetHeight,bx;if(!contentBox){bx={x:xy[0],y:xy[1],0:xy[0],1:xy[1],width:w,height:h}}else{var l=this.getBorderWidth("l")+this.getPadding("l");var r=this.getBorderWidth("r")+this.getPadding("r");var t=this.getBorderWidth("t")+this.getPadding("t");var b=this.getBorderWidth("b")+this.getPadding("b");bx={x:xy[0]+l,y:xy[1]+t,0:xy[0]+l,1:xy[1]+t,width:w-(l+r),height:h-(t+b)}}bx.right=bx.x+bx.width;bx.bottom=bx.y+bx.height;return bx},getFrameWidth:function(sides,onlyContentBox){return onlyContentBox&&Ext.isBorderBox?0:(this.getPadding(sides)+this.getBorderWidth(sides))},setBox:function(box,adjust,animate){var w=box.width,h=box.height;if((adjust&&!this.autoBoxAdjust)&&!this.isBorderBox()){w-=(this.getBorderWidth("lr")+this.getPadding("lr"));h-=(this.getBorderWidth("tb")+this.getPadding("tb"))}this.setBounds(box.x,box.y,w,h,this.preanim(arguments,2));return this},repaint:function(){var dom=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.get(dom).removeClass("x-repaint")},1);return this},getMargins:function(side){if(!side){return{top:parseInt(this.getStyle("margin-top"),10)||0,left:parseInt(this.getStyle("margin-left"),10)||0,bottom:parseInt(this.getStyle("margin-bottom"),10)||0,right:parseInt(this.getStyle("margin-right"),10)||0}}else{return this.addStyles(side,El.margins)}},addStyles:function(sides,styles){var val=0,v,w;for(var i=0,len=sides.length;i<len;i++){v=this.getStyle(styles[sides.charAt(i)]);if(v){w=parseInt(v,10);if(w){val+=(w>=0?w:-1*w)}}}return val},createProxy:function(config,renderTo,matchBox){config=typeof config=="object"?config:{tag:"div",cls:config};var proxy;if(renderTo){proxy=Ext.DomHelper.append(renderTo,config,true)}else{proxy=Ext.DomHelper.insertBefore(this.dom,config,true)}if(matchBox){proxy.setBox(this.getBox())}return proxy},mask:function(msg,msgCls){if(this.getStyle("position")=="static"){this.addClass("x-masked-relative")}if(this._maskMsg){this._maskMsg.remove()}if(this._mask){this._mask.remove()}this._mask=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask"},true);this.addClass("x-masked");this._mask.setDisplayed(true);if(typeof msg=="string"){this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg",cn:{tag:"div"}},true);var mm=this._maskMsg;mm.dom.className=msgCls?"ext-el-mask-msg "+msgCls:"ext-el-mask-msg";mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle("height")=="auto"){this._mask.setSize(this.getWidth(),this.getHeight())}return this._mask},unmask:function(){if(this._mask){if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg}this._mask.remove();delete this._mask}this.removeClass(["x-masked","x-masked-relative"])},isMasked:function(){return this._mask&&this._mask.isVisible()},createShim:function(){var el=document.createElement("iframe");el.frameBorder="0";el.className="ext-shim";if(Ext.isIE&&Ext.isSecure){el.src=Ext.SSL_SECURE_URL}var shim=Ext.get(this.dom.parentNode.insertBefore(el,this.dom));shim.autoBoxAdjust=false;return shim},remove:function(){Ext.removeNode(this.dom);delete El.cache[this.dom.id]},hover:function(overFn,outFn,scope){var preOverFn=function(e){if(!e.within(this,true)){overFn.apply(scope||this,arguments)}};var preOutFn=function(e){if(!e.within(this,true)){outFn.apply(scope||this,arguments)}};this.on("mouseover",preOverFn,this.dom);this.on("mouseout",preOutFn,this.dom);return this},addClassOnOver:function(className){this.hover(function(){Ext.fly(this,"_internal").addClass(className)},function(){Ext.fly(this,"_internal").removeClass(className)});return this},addClassOnFocus:function(className){this.on("focus",function(){Ext.fly(this,"_internal").addClass(className)},this.dom);this.on("blur",function(){Ext.fly(this,"_internal").removeClass(className)},this.dom);return this},addClassOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,"_internal").addClass(className);var d=Ext.getDoc();var fn=function(){Ext.fly(dom,"_internal").removeClass(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},swallowEvent:function(eventName,preventDefault){var fn=function(e){e.stopPropagation();if(preventDefault){e.preventDefault()}};if(Ext.isArray(eventName)){for(var i=0,len=eventName.length;i<len;i++){this.on(eventName[i],fn)}return this}this.on(eventName,fn);return this},parent:function(selector,returnDom){return this.matchNode("parentNode","parentNode",selector,returnDom)},next:function(selector,returnDom){return this.matchNode("nextSibling","nextSibling",selector,returnDom)},prev:function(selector,returnDom){return this.matchNode("previousSibling","previousSibling",selector,returnDom)},first:function(selector,returnDom){return this.matchNode("nextSibling","firstChild",selector,returnDom)},last:function(selector,returnDom){return this.matchNode("previousSibling","lastChild",selector,returnDom)},matchNode:function(dir,start,selector,returnDom){var n=this.dom[start];while(n){if(n.nodeType==1&&(!selector||Ext.DomQuery.is(n,selector))){return !returnDom?Ext.get(n):n}n=n[dir]}return null},appendChild:function(el){el=Ext.get(el);el.appendTo(this);return this},createChild:function(config,insertBefore,returnDom){config=config||{tag:"div"};if(insertBefore){return Ext.DomHelper.insertBefore(insertBefore,config,returnDom!==true)}return Ext.DomHelper[!this.dom.firstChild?"overwrite":"append"](this.dom,config,returnDom!==true)},appendTo:function(el){el=Ext.getDom(el);el.appendChild(this.dom);return this},insertBefore:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el);return this},insertAfter:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el.nextSibling);return this},insertFirst:function(el,returnDom){el=el||{};if(typeof el=="object"&&!el.nodeType&&!el.dom){return this.createChild(el,this.dom.firstChild,returnDom)}else{el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !returnDom?Ext.get(el):el}},insertSibling:function(el,where,returnDom){var rt;if(Ext.isArray(el)){for(var i=0,len=el.length;i<len;i++){rt=this.insertSibling(el[i],where,returnDom)}return rt}where=where?where.toLowerCase():"before";el=el||{};var refNode=where=="before"?this.dom:this.dom.nextSibling;if(typeof el=="object"&&!el.nodeType&&!el.dom){if(where=="after"&&!this.dom.nextSibling){rt=Ext.DomHelper.append(this.dom.parentNode,el,!returnDom)}else{rt=Ext.DomHelper[where=="after"?"insertAfter":"insertBefore"](this.dom,el,!returnDom)}}else{rt=this.dom.parentNode.insertBefore(Ext.getDom(el),refNode);if(!returnDom){rt=Ext.get(rt)}}return rt},wrap:function(config,returnDom){if(!config){config={tag:"div"}}var newEl=Ext.DomHelper.insertBefore(this.dom,config,!returnDom);newEl.dom?newEl.dom.appendChild(this.dom):newEl.appendChild(this.dom);return newEl},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this},replaceWith:function(el){if(typeof el=="object"&&!el.nodeType&&!el.dom){el=this.insertSibling(el,"before")}else{el=Ext.getDom(el);this.dom.parentNode.insertBefore(el,this.dom)}El.uncache(this.id);Ext.removeNode(this.dom);this.dom=el;this.id=Ext.id(el);El.cache[this.id]=this;return this},insertHtml:function(where,html,returnEl){var el=Ext.DomHelper.insertHtml(where,this.dom,html);return returnEl?Ext.get(el):el},set:function(o,useSet){var el=this.dom;useSet=typeof useSet=="undefined"?(el.setAttribute?true:false):useSet;for(var attr in o){if(attr=="style"||typeof o[attr]=="function"){continue}if(attr=="cls"){el.className=o.cls}else{if(o.hasOwnProperty(attr)){if(useSet){el.setAttribute(attr,o[attr])}else{el[attr]=o[attr]}}}}if(o.style){Ext.DomHelper.applyStyles(el,o.style)}return this},addKeyListener:function(key,fn,scope){var config;if(typeof key!="object"||Ext.isArray(key)){config={key:key,fn:fn,scope:scope}}else{config={key:key.key,shift:key.shift,ctrl:key.ctrl,alt:key.alt,fn:fn,scope:scope}}return new Ext.KeyMap(this,config)},addKeyMap:function(config){return new Ext.KeyMap(this,config)},isScrollable:function(){var dom=this.dom;return dom.scrollHeight>dom.clientHeight||dom.scrollWidth>dom.clientWidth},scrollTo:function(side,value,animate){var prop=side.toLowerCase()=="left"?"scrollLeft":"scrollTop";if(!animate||!A){this.dom[prop]=value}else{var to=prop=="scrollLeft"?[value,this.dom.scrollTop]:[this.dom.scrollLeft,value];this.anim({scroll:{to:to}},this.preanim(arguments,2),"scroll")}return this},scroll:function(direction,distance,animate){if(!this.isScrollable()){return}var el=this.dom;var l=el.scrollLeft,t=el.scrollTop;var w=el.scrollWidth,h=el.scrollHeight;var cw=el.clientWidth,ch=el.clientHeight;direction=direction.toLowerCase();var scrolled=false;var a=this.preanim(arguments,2);switch(direction){case"l":case"left":if(w-l>cw){var v=Math.min(l+distance,w-cw);this.scrollTo("left",v,a);scrolled=true}break;case"r":case"right":if(l>0){var v=Math.max(l-distance,0);this.scrollTo("left",v,a);scrolled=true}break;case"t":case"top":case"up":if(t>0){var v=Math.max(t-distance,0);this.scrollTo("top",v,a);scrolled=true}break;case"b":case"bottom":case"down":if(h-t>ch){var v=Math.min(t+distance,h-ch);this.scrollTo("top",v,a);scrolled=true}break}return scrolled},translatePoints:function(x,y){if(typeof x=="object"||Ext.isArray(x)){y=x[1];x=x[0]}var p=this.getStyle("position");var o=this.getXY();var l=parseInt(this.getStyle("left"),10);var t=parseInt(this.getStyle("top"),10);if(isNaN(l)){l=(p=="relative")?0:this.dom.offsetLeft}if(isNaN(t)){t=(p=="relative")?0:this.dom.offsetTop}return{left:(x-o[0]+l),top:(y-o[1]+t)}},getScroll:function(){var d=this.dom,doc=document;if(d==doc||d==doc.body){var l,t;if(Ext.isIE&&Ext.isStrict){l=doc.documentElement.scrollLeft||(doc.body.scrollLeft||0);t=doc.documentElement.scrollTop||(doc.body.scrollTop||0)}else{l=window.pageXOffset||(doc.body.scrollLeft||0);t=window.pageYOffset||(doc.body.scrollTop||0)}return{left:l,top:t}}else{return{left:d.scrollLeft,top:d.scrollTop}}},getColor:function(attr,defaultValue,prefix){var v=this.getStyle(attr);if(!v||v=="transparent"||v=="inherit"){return defaultValue}var color=typeof prefix=="undefined"?"#":prefix;if(v.substr(0,4)=="rgb("){var rvs=v.slice(4,v.length-1).split(",");for(var i=0;i<3;i++){var h=parseInt(rvs[i]);var s=h.toString(16);if(h<16){s="0"+s}color+=s}}else{if(v.substr(0,1)=="#"){if(v.length==4){for(var i=1;i<4;i++){var c=v.charAt(i);color+=c+c}}else{if(v.length==7){color+=v.substr(1)}}}}return(color.length>5?color.toLowerCase():defaultValue)},boxWrap:function(cls){cls=cls||"x-box";var el=Ext.get(this.insertHtml("beforeBegin",String.format('<div class="{0}">'+El.boxMarkup+"</div>",cls)));el.child("."+cls+"-mc").dom.appendChild(this.dom);return el},getAttributeNS:Ext.isIE?function(ns,name){var d=this.dom;var type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]}return d[name]}:function(ns,name){var d=this.dom;return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)||d.getAttribute(name)||d[name]},getTextWidth:function(text,min,max){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(text,this.dom.innerHTML,true)).width).constrain(min||0,max||1000000)}};var ep=El.prototype;ep.on=ep.addListener;ep.mon=ep.addListener;ep.getUpdateManager=ep.getUpdater;ep.un=ep.removeListener;ep.autoBoxAdjust=true;El.unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;El.addUnits=function(v,defaultUnit){if(v===""||v=="auto"){return v}if(v===undefined){return""}if(typeof v=="number"||!El.unitPattern.test(v)){return v+(defaultUnit||"px")}return v};El.boxMarkup='<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"></div></div></div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"></div></div></div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"></div></div></div>';El.VISIBILITY=1;El.DISPLAY=2;El.borders={l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"};El.paddings={l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"};El.margins={l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"};El.cache={};var docEl;El.get=function(el){var ex,elm,id;if(!el){return null}if(typeof el=="string"){if(!(elm=document.getElementById(el))){return null}if(ex=El.cache[el]){ex.dom=elm}else{ex=El.cache[el]=new El(elm)}return ex}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el)}if(ex=El.cache[id]){ex.dom=el}else{ex=El.cache[id]=new El(el)}return ex}else{if(el instanceof El){if(el!=docEl){el.dom=document.getElementById(el.id)||el.dom;El.cache[el.id]=el}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==document){if(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=document}return docEl}}}}}}return null};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;i<len;i++){if(a[i]){delete El.cache[a[i].id||a[i]]}}};El.garbageCollect=function(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThread);return}for(var eid in El.cache){var el=El.cache[eid],d=el.dom;if(!d||!d.parentNode||(!d.offsetParent&&!document.getElementById(eid))){delete El.cache[eid];if(d&&Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}}}};El.collectorThreadId=setInterval(El.garbageCollect,30000);var flyFn=function(){};flyFn.prototype=El.prototype;var _cls=new flyFn();El.Flyweight=function(dom){this.dom=dom};El.Flyweight.prototype=_cls;El.Flyweight.prototype.isFlyweight=true;El._flyweights={};El.fly=function(el,named){named=named||"_global";el=Ext.getDom(el);if(!el){return null}if(!El._flyweights[named]){El._flyweights[named]=new El.Flyweight()}El._flyweights[named].dom=el;return El._flyweights[named]};Ext.get=El.get;Ext.fly=El.fly;var noBoxAdjust=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){noBoxAdjust.button=1}Ext.EventManager.on(window,"unload",function(){delete El.cache;delete El._flyweights})})();
Ext.enableFx=true;Ext.Fx={slideIn:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"t";this.fixDisplay();var d=this.getFxRestore();var i=this.getBox();this.setSize(i);var f=this.fxWrap(d.pos,c,"hidden");var k=this.dom.style;k.visibility="visible";k.position="absolute";var e=function(){b.fxUnwrap(f,d.pos,c);k.width=d.width;k.height=d.height;b.afterFx(c)};var j,l={to:[i.x,i.y]},h={to:i.width},g={to:i.height};switch(a.toLowerCase()){case"t":f.setSize(i.width,0);k.left=k.bottom="0";j={height:g};break;case"l":f.setSize(0,i.height);k.right=k.top="0";j={width:h};break;case"r":f.setSize(0,i.height);f.setX(i.right);k.left=k.top="0";j={width:h,points:l};break;case"b":f.setSize(i.width,0);f.setY(i.bottom);k.left=k.top="0";j={height:g,points:l};break;case"tl":f.setSize(0,0);k.right=k.bottom="0";j={width:h,height:g};break;case"bl":f.setSize(0,0);f.setY(i.y+i.height);k.right=k.top="0";j={width:h,height:g,points:l};break;case"br":f.setSize(0,0);f.setXY([i.right,i.bottom]);k.left=k.top="0";j={width:h,height:g,points:l};break;case"tr":f.setSize(0,0);f.setX(i.x+i.width);k.left=k.bottom="0";j={width:h,height:g,points:l};break}this.dom.style.visibility="visible";f.show();arguments.callee.anim=f.fxanim(j,c,"motion",0.5,"easeOut",e)});return this},slideOut:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"t";var i=this.getFxRestore();var d=this.getBox();this.setSize(d);var g=this.fxWrap(i.pos,c,"visible");var f=this.dom.style;f.visibility="visible";f.position="absolute";g.setSize(d);var j=function(){if(c.useDisplay){b.setDisplayed(false)}else{b.hide()}b.fxUnwrap(g,i.pos,c);f.width=i.width;f.height=i.height;b.afterFx(c)};var e,h={to:0};switch(a.toLowerCase()){case"t":f.left=f.bottom="0";e={height:h};break;case"l":f.right=f.top="0";e={width:h};break;case"r":f.left=f.top="0";e={width:h,points:{to:[d.right,d.y]}};break;case"b":f.left=f.top="0";e={height:h,points:{to:[d.x,d.bottom]}};break;case"tl":f.right=f.bottom="0";e={width:h,height:h};break;case"bl":f.right=f.top="0";e={width:h,height:h,points:{to:[d.x,d.bottom]}};break;case"br":f.left=f.top="0";e={width:h,height:h,points:{to:[d.x+d.width,d.bottom]}};break;case"tr":f.left=f.bottom="0";e={width:h,height:h,points:{to:[d.right,d.y]}};break}arguments.callee.anim=g.fxanim(e,c,"motion",0.5,"easeOut",j)});return this},puff:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){this.clearOpacity();this.show();var f=this.getFxRestore();var d=this.dom.style;var g=function(){if(b.useDisplay){a.setDisplayed(false)}else{a.hide()}a.clearOpacity();a.setPositioning(f.pos);d.width=f.width;d.height=f.height;d.fontSize="";a.afterFx(b)};var e=this.getWidth();var c=this.getHeight();arguments.callee.anim=this.fxanim({width:{to:this.adjustWidth(e*2)},height:{to:this.adjustHeight(c*2)},points:{by:[-(e*0.5),-(c*0.5)]},opacity:{to:0},fontSize:{to:200,unit:"%"}},b,"motion",0.5,"easeOut",g)});return this},switchOff:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){this.clearOpacity();this.clip();var d=this.getFxRestore();var c=this.dom.style;var e=function(){if(b.useDisplay){a.setDisplayed(false)}else{a.hide()}a.clearOpacity();a.setPositioning(d.pos);c.width=d.width;c.height=d.height;a.afterFx(b)};this.fxanim({opacity:{to:0.3}},null,null,0.1,null,function(){this.clearOpacity();(function(){this.fxanim({height:{to:1},points:{by:[0,this.getHeight()*0.5]}},b,"motion",0.3,"easeIn",e)}).defer(100,this)})});return this},highlight:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"ffff9c";var d=c.attr||"backgroundColor";this.clearOpacity();this.show();var g=this.getColor(d);var h=this.dom.style[d];var f=(c.endColor||g)||"ffffff";var i=function(){b.dom.style[d]=h;b.afterFx(c)};var e={};e[d]={from:a,to:f};arguments.callee.anim=this.fxanim(e,c,"color",1,"easeIn",i)});return this},frame:function(a,c,d){var b=this.getFxEl();d=d||{};b.queueFx(d,function(){a=a||"#C3DAF9";if(a.length==6){a="#"+a}c=c||1;var g=d.duration||1;this.show();var e=this.getBox();var f=function(){var h=Ext.getBody().createChild({style:{visbility:"hidden",position:"absolute","z-index":"35000",border:"0px solid "+a}});var i=Ext.isBorderBox?2:1;h.animate({top:{from:e.y,to:e.y-20},left:{from:e.x,to:e.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:e.height,to:(e.height+(20*i))},width:{from:e.width,to:(e.width+(20*i))}},g,function(){h.remove();if(--c>0){f()}else{b.afterFx(d)}})};f.call(this)});return this},pause:function(c){var a=this.getFxEl();var b={};a.queueFx(b,function(){setTimeout(function(){a.afterFx(b)},c*1000)});return this},fadeIn:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility="visible";var c=b.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:c}},b,null,0.5,"easeOut",function(){if(c==1){this.clearOpacity()}a.afterFx(b)})});return this},fadeOut:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){var c=b.endOpacity||0;arguments.callee.anim=this.fxanim({opacity:{to:c}},b,null,0.5,"easeOut",function(){if(c===0){if(this.visibilityMode==Ext.Element.DISPLAY||b.useDisplay){this.dom.style.display="none"}else{this.dom.style.visibility="hidden"}this.clearOpacity()}a.afterFx(b)})});return this},scale:function(a,b,c){this.shift(Ext.apply({},c,{width:a,height:b}));return this},shift:function(b){var a=this.getFxEl();b=b||{};a.queueFx(b,function(){var e={},d=b.width,f=b.height,c=b.x,i=b.y,g=b.opacity;if(d!==undefined){e.width={to:this.adjustWidth(d)}}if(f!==undefined){e.height={to:this.adjustHeight(f)}}if(b.left!==undefined){e.left={to:b.left}}if(b.top!==undefined){e.top={to:b.top}}if(b.right!==undefined){e.right={to:b.right}}if(b.bottom!==undefined){e.bottom={to:b.bottom}}if(c!==undefined||i!==undefined){e.points={to:[c!==undefined?c:this.getX(),i!==undefined?i:this.getY()]}}if(g!==undefined){e.opacity={to:g}}if(b.xy!==undefined){e.points={to:b.xy}}arguments.callee.anim=this.fxanim(e,b,"motion",0.35,"easeOut",function(){a.afterFx(b)})});return this},ghost:function(a,c){var b=this.getFxEl();c=c||{};b.queueFx(c,function(){a=a||"b";var i=this.getFxRestore();var e=this.getWidth(),g=this.getHeight();var f=this.dom.style;var k=function(){if(c.useDisplay){b.setDisplayed(false)}else{b.hide()}b.clearOpacity();b.setPositioning(i.pos);f.width=i.width;f.height=i.height;b.afterFx(c)};var d={opacity:{to:0},points:{}},j=d.points;switch(a.toLowerCase()){case"t":j.by=[0,-g];break;case"l":j.by=[-e,0];break;case"r":j.by=[e,0];break;case"b":j.by=[0,g];break;case"tl":j.by=[-e,-g];break;case"bl":j.by=[-e,g];break;case"br":j.by=[e,g];break;case"tr":j.by=[e,-g];break}arguments.callee.anim=this.fxanim(d,c,"motion",0.5,"easeOut",k)});return this},syncFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:true,stopFx:false});return this},sequenceFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:false,stopFx:false});return this},nextFx:function(){var a=this.fxQueue[0];if(a){a.call(this)}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0]},stopFx:function(){if(this.hasActiveFx()){var a=this.fxQueue[0];if(a&&a.anim&&a.anim.isAnimated()){this.fxQueue=[a];a.anim.stop(true)}}return this},beforeFx:function(a){if(this.hasActiveFx()&&!a.concurrent){if(a.stopFx){this.stopFx();return true}return false}return true},hasFxBlock:function(){var a=this.fxQueue;return a&&a[0]&&a[0].block},queueFx:function(c,a){if(!this.fxQueue){this.fxQueue=[]}if(!this.hasFxBlock()){Ext.applyIf(c,this.fxDefaults);if(!c.concurrent){var b=this.beforeFx(c);a.block=c.block;this.fxQueue.push(a);if(b){this.nextFx()}}else{a.call(this)}}return this},fxWrap:function(f,d,c){var b;if(!d.wrap||!(b=Ext.get(d.wrap))){var a;if(d.fixPosition){a=this.getXY()}var e=document.createElement("div");e.style.visibility=c;b=Ext.get(this.dom.parentNode.insertBefore(e,this.dom));b.setPositioning(f);if(b.getStyle("position")=="static"){b.position("relative")}this.clearPositioning("auto");b.clip();b.dom.appendChild(this.dom);if(a){b.setXY(a)}}return b},fxUnwrap:function(a,c,b){this.clearPositioning();this.setPositioning(c);if(!b.wrap){a.dom.parentNode.insertBefore(this.dom,a.dom);a.remove()}},getFxRestore:function(){var a=this.dom.style;return{pos:this.getPositioning(),width:a.width,height:a.height}},afterFx:function(a){if(a.afterStyle){this.applyStyles(a.afterStyle)}if(a.afterCls){this.addClass(a.afterCls)}if(a.remove===true){this.remove()}Ext.callback(a.callback,a.scope,[this]);if(!a.concurrent){this.fxQueue.shift();this.nextFx()}},getFxEl:function(){return Ext.get(this.dom)},fxanim:function(d,e,b,f,c,a){b=b||"run";e=e||{};var g=Ext.lib.Anim[b](this.dom,d,(e.duration||f)||0.35,(e.easing||c)||"easeOut",function(){Ext.callback(a,this)},this);e.anim=g;return g}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx);
Ext.CompositeElement=function(a){this.elements=[];this.addElements(a)};Ext.CompositeElement.prototype={isComposite:true,addElements:function(e){if(!e){return this}if(typeof e=="string"){e=Ext.Element.selectorFunction(e)}var d=this.elements;var b=d.length-1;for(var c=0,a=e.length;c<a;c++){d[++b]=Ext.get(e[c])}return this},fill:function(a){this.elements=[];this.add(a);return this},filter:function(a){var b=[];this.each(function(c){if(c.is(a)){b[b.length]=c.dom}});this.fill(b);return this},invoke:function(e,b){var d=this.elements;for(var c=0,a=d.length;c<a;c++){Ext.Element.prototype[e].apply(d[c],b)}return this},add:function(a){if(typeof a=="string"){this.addElements(Ext.Element.selectorFunction(a))}else{if(a.length!==undefined){this.addElements(a)}else{this.addElements([a])}}return this},each:function(e,d){var c=this.elements;for(var b=0,a=c.length;b<a;b++){if(e.call(d||c[b],c[b],this,b)===false){break}}return this},item:function(a){return this.elements[a]||null},first:function(){return this.item(0)},last:function(){return this.item(this.elements.length-1)},getCount:function(){return this.elements.length},contains:function(a){return this.indexOf(a)!==-1},indexOf:function(a){return this.elements.indexOf(Ext.get(a))},removeElement:function(e,g){if(Ext.isArray(e)){for(var c=0,a=e.length;c<a;c++){this.removeElement(e[c])}return this}var b=typeof e=="number"?e:this.indexOf(e);if(b!==-1&&this.elements[b]){if(g){var f=this.elements[b];if(f.dom){f.remove()}else{Ext.removeNode(f)}}this.elements.splice(b,1)}return this},replaceElement:function(d,c,a){var b=typeof d=="number"?d:this.indexOf(d);if(b!==-1){if(a){this.elements[b].replaceWith(c)}else{this.elements.splice(b,1,Ext.get(c))}}return this},clear:function(){this.elements=[]}};(function(){Ext.CompositeElement.createCall=function(b,c){if(!b[c]){b[c]=function(){return this.invoke(c,arguments)}}};for(var a in Ext.Element.prototype){if(typeof Ext.Element.prototype[a]=="function"){Ext.CompositeElement.createCall(Ext.CompositeElement.prototype,a)}}})();Ext.CompositeElementLite=function(a){Ext.CompositeElementLite.superclass.constructor.call(this,a);this.el=new Ext.Element.Flyweight()};Ext.extend(Ext.CompositeElementLite,Ext.CompositeElement,{addElements:function(e){if(e){if(Ext.isArray(e)){this.elements=this.elements.concat(e)}else{var d=this.elements;var b=d.length-1;for(var c=0,a=e.length;c<a;c++){d[++b]=e[c]}}}return this},invoke:function(f,b){var d=this.elements;var e=this.el;for(var c=0,a=d.length;c<a;c++){e.dom=d[c];Ext.Element.prototype[f].apply(e,b)}return this},item:function(a){if(!this.elements[a]){return null}this.el.dom=this.elements[a];return this.el},addListener:function(b,g,f,e){var d=this.elements;for(var c=0,a=d.length;c<a;c++){Ext.EventManager.on(d[c],b,g,f||d[c],e)}return this},each:function(f,e){var c=this.elements;var d=this.el;for(var b=0,a=c.length;b<a;b++){d.dom=c[b];if(f.call(e||d,d,this,b)===false){break}}return this},indexOf:function(a){return this.elements.indexOf(Ext.getDom(a))},replaceElement:function(e,c,a){var b=typeof e=="number"?e:this.indexOf(e);if(b!==-1){c=Ext.getDom(c);if(a){var f=this.elements[b];f.parentNode.insertBefore(c,f);Ext.removeNode(f)}this.elements.splice(b,1,c)}return this}});Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(a,d,b){var c;if(typeof a=="string"){c=Ext.Element.selectorFunction(a,b)}else{if(a.length!==undefined){c=a}else{throw"Invalid selector"}}if(d===true){return new Ext.CompositeElement(c)}else{return new Ext.CompositeElementLite(c)}};Ext.select=Ext.Element.select;
Ext.data.Connection=function(a){Ext.apply(this,a);this.addEvents("beforerequest","requestcomplete","requestexception");Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(e){if(this.fireEvent("beforerequest",this,e)!==false){var c=e.params;if(typeof c=="function"){c=c.call(e.scope||window,e)}if(typeof c=="object"){c=Ext.urlEncode(c)}if(this.extraParams){var h=Ext.urlEncode(this.extraParams);c=c?(c+"&"+h):h}var b=e.url||this.url;if(typeof b=="function"){b=b.call(e.scope||window,e)}if(e.form){var d=Ext.getDom(e.form);b=b||d.action;var k=d.getAttribute("enctype");if(e.isUpload||(k&&k.toLowerCase()=="multipart/form-data")){return this.doFormUpload(e,c,b)}var j=Ext.lib.Ajax.serializeForm(d);c=c?(c+"&"+j):j}var l=e.headers;if(this.defaultHeaders){l=Ext.apply(l||{},this.defaultHeaders);if(!e.headers){e.headers=l}}var g={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:e},timeout:e.timeout||this.timeout};var a=e.method||this.method||((c||e.xmlData||e.jsonData)?"POST":"GET");if(a=="GET"&&(this.disableCaching&&e.disableCaching!==false)||e.disableCaching===true){var i=e.disableCachingParam||this.disableCachingParam;b+=(b.indexOf("?")!=-1?"&":"?")+i+"="+(new Date().getTime())}if(typeof e.autoAbort=="boolean"){if(e.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((a=="GET"||e.xmlData||e.jsonData)&&c){b+=(b.indexOf("?")!=-1?"&":"?")+c;c=""}this.transId=Ext.lib.Ajax.request(a,b,g,c,e);return this.transId}else{Ext.callback(e.callback,e.scope,[e,null,null]);return null}},isLoading:function(a){if(a){return Ext.lib.Ajax.isCallInProgress(a)}else{return this.transId?true:false}},abort:function(a){if(a||this.isLoading()){Ext.lib.Ajax.abort(a||this.transId)}},handleResponse:function(a){this.transId=false;var b=a.argument.options;a.argument=b?b.argument:null;this.fireEvent("requestcomplete",this,a,b);Ext.callback(b.success,b.scope,[a,b]);Ext.callback(b.callback,b.scope,[b,true,a])},handleFailure:function(a,c){this.transId=false;var b=a.argument.options;a.argument=b?b.argument:null;this.fireEvent("requestexception",this,a,b,c);Ext.callback(b.failure,b.scope,[a,b]);Ext.callback(b.callback,b.scope,[b,false,a])},doFormUpload:function(e,a,b){var c=Ext.id();var f=document.createElement("iframe");f.id=c;f.name=c;f.className="x-hidden";if(Ext.isIE){f.src=Ext.SSL_SECURE_URL}document.body.appendChild(f);if(Ext.isIE){document.frames[c].name=c}var d=Ext.getDom(e.form);d.target=c;d.method="POST";d.enctype=d.encoding="multipart/form-data";if(b){d.action=b}var n,l;if(a){n=[];a=Ext.urlDecode(a,false);for(var h in a){if(a.hasOwnProperty(h)){l=document.createElement("input");l.type="hidden";l.name=h;l.value=a[h];d.appendChild(l);n.push(l)}}}function g(){var i={responseText:"",responseXML:null};i.argument=e?e.argument:null;try{var o;if(Ext.isIE){o=f.contentWindow.document}else{o=(f.contentDocument||window.frames[c].document)}if(o&&o.body){i.responseText=o.body.innerHTML}if(o&&o.XMLDocument){i.responseXML=o.XMLDocument}else{i.responseXML=o}}catch(k){}Ext.EventManager.removeListener(f,"load",g,this);this.fireEvent("requestcomplete",this,i,e);Ext.callback(e.success,e.scope,[i,e]);Ext.callback(e.callback,e.scope,[e,true,i]);setTimeout(function(){Ext.removeNode(f)},100)}Ext.EventManager.on(f,"load",g,this);d.submit();if(n){for(var j=0,m=n.length;j<m;j++){Ext.removeNode(n[j])}}}});Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(a){return Ext.lib.Ajax.serializeForm(a)}});
Ext.Updater=Ext.extend(Ext.util.Observable,{constructor:function(b,a){b=Ext.get(b);if(!a&&b.updateManager){return b.updateManager}this.el=b;this.defaultUrl=null;this.addEvents("beforeupdate","update","failure");var c=Ext.Updater.defaults;this.sslBlankUrl=c.sslBlankUrl;this.disableCaching=c.disableCaching;this.indicatorText=c.indicatorText;this.showLoadIndicator=c.showLoadIndicator;this.timeout=c.timeout;this.loadScripts=c.loadScripts;this.transaction=null;this.refreshDelegate=this.refresh.createDelegate(this);this.updateDelegate=this.update.createDelegate(this);this.formUpdateDelegate=this.formUpdate.createDelegate(this);if(!this.renderer){this.renderer=this.getDefaultRenderer()}Ext.Updater.superclass.constructor.call(this)},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},getEl:function(){return this.el},update:function(b,f,g,d){if(this.fireEvent("beforeupdate",this.el,b,f)!==false){var a,c;if(typeof b=="object"){a=b;b=a.url;f=f||a.params;g=g||a.callback;d=d||a.discardUrl;c=a.scope;if(typeof a.nocache!="undefined"){this.disableCaching=a.nocache}if(typeof a.text!="undefined"){this.indicatorText='<div class="loading-indicator">'+a.text+"</div>"}if(typeof a.scripts!="undefined"){this.loadScripts=a.scripts}if(typeof a.timeout!="undefined"){this.timeout=a.timeout}}this.showLoading();if(!d){this.defaultUrl=b}if(typeof b=="function"){b=b.call(this)}var e=Ext.apply({},{url:b,params:(typeof f=="function"&&c)?f.createDelegate(c):f,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{options:a,url:b,form:null,callback:g,scope:c||window,params:f}},a);this.transaction=Ext.Ajax.request(e)}},formUpdate:function(c,a,b,d){if(this.fireEvent("beforeupdate",this.el,c,a)!==false){if(typeof a=="function"){a=a.call(this)}c=Ext.getDom(c);this.transaction=Ext.Ajax.request({form:c,url:a,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{url:a,form:c,callback:d,reset:b}});this.showLoading.defer(1,this)}},refresh:function(a){if(this.defaultUrl==null){return}this.update(this.defaultUrl,null,a,true)},startAutoRefresh:function(b,c,d,e,a){if(a){this.update(c||this.defaultUrl,d,e,true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[c||this.defaultUrl,d,e,true]),b*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return this.autoRefreshProcId?true:false},showLoading:function(){if(this.showLoadIndicator){this.el.update(this.indicatorText)}},processSuccess:function(a){this.transaction=null;if(a.argument.form&&a.argument.reset){try{a.argument.form.reset()}catch(b){}}if(this.loadScripts){this.renderer.render(this.el,a,this,this.updateComplete.createDelegate(this,[a]))}else{this.renderer.render(this.el,a,this);this.updateComplete(a)}},updateComplete:function(a){this.fireEvent("update",this.el,a);if(typeof a.argument.callback=="function"){a.argument.callback.call(a.argument.scope,this.el,true,a,a.argument.options)}},processFailure:function(a){this.transaction=null;this.fireEvent("failure",this.el,a);if(typeof a.argument.callback=="function"){a.argument.callback.call(a.argument.scope,this.el,false,a,a.argument.options)}},setRenderer:function(a){this.renderer=a},getRenderer:function(){return this.renderer},setDefaultUrl:function(a){this.defaultUrl=a},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){if(this.transaction){return Ext.Ajax.isLoading(this.transaction)}return false}});Ext.Updater.defaults={timeout:30,loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>'};Ext.Updater.updateElement=function(d,c,e,b){var a=Ext.get(d).getUpdater();Ext.apply(a,b);a.update(c,e,b?b.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(c,a,b,d){c.update(a.responseText,b.loadScripts,d)}};Ext.UpdateManager=Ext.Updater;
Ext.util.DelayedTask=function(f,e,a){var h=null,g,b;var c=function(){var d=new Date().getTime();if(d-b>=g){clearInterval(h);h=null;f.apply(e,a||[])}};this.delay=function(i,k,j,d){if(h&&i!=g){this.cancel()}g=i;b=new Date().getTime();f=k||f;e=j||e;a=d||a;if(!h){h=setInterval(c,g)}};this.cancel=function(){if(h){clearInterval(h);h=null}}};
Ext.util.TaskRunner=function(e){e=e||10;var f=[],a=[];var b=0;var g=false;var d=function(){g=false;clearInterval(b);b=0};var h=function(){if(!g){g=true;b=setInterval(i,e)}};var c=function(j){a.push(j);if(j.onStop){j.onStop.apply(j.scope||j)}};var i=function(){if(a.length>0){for(var o=0,k=a.length;o<k;o++){f.remove(a[o])}a=[];if(f.length<1){d();return}}var m=new Date().getTime();for(var o=0,k=f.length;o<k;++o){var n=f[o];var j=m-n.taskRunTime;if(n.interval<=j){var l=n.run.apply(n.scope||n,n.args||[++n.taskRunCount]);n.taskRunTime=m;if(l===false||n.taskRunCount===n.repeat){c(n);return}}if(n.duration&&n.duration<=(m-n.taskStartTime)){c(n)}}};this.start=function(j){f.push(j);j.taskStartTime=new Date().getTime();j.taskRunTime=0;j.taskRunCount=0;h();return j};this.stop=function(j){c(j);return j};this.stopAll=function(){d();for(var k=0,j=f.length;k<j;k++){if(f[k].onStop){f[k].onStop()}}f=[];a=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();
Ext.util.MixedCollection=function(b,a){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents("clear","add","replace","remove","sort");this.allowFunctions=b===true;if(a){this.getKey=a}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(b,c){if(arguments.length==1){c=arguments[0];b=this.getKey(c)}if(typeof b=="undefined"||b===null){this.length++;this.items.push(c);this.keys.push(null)}else{var a=this.map[b];if(a){return this.replace(b,c)}this.length++;this.items.push(c);this.map[b]=c;this.keys.push(b)}this.fireEvent("add",this.length-1,c,b);return c},getKey:function(a){return a.id},replace:function(c,d){if(arguments.length==1){d=arguments[0];c=this.getKey(d)}var a=this.item(c);if(typeof c=="undefined"||c===null||typeof a=="undefined"){return this.add(c,d)}var b=this.indexOfKey(c);this.items[b]=d;this.map[c]=d;this.fireEvent("replace",c,a,d);return d},addAll:function(e){if(arguments.length>1||Ext.isArray(e)){var b=arguments.length>1?arguments:e;for(var d=0,a=b.length;d<a;d++){this.add(b[d])}}else{for(var c in e){if(this.allowFunctions||typeof e[c]!="function"){this.add(c,e[c])}}}},each:function(e,d){var b=[].concat(this.items);for(var c=0,a=b.length;c<a;c++){if(e.call(d||b[c],b[c],c,a)===false){break}}},eachKey:function(d,c){for(var b=0,a=this.keys.length;b<a;b++){d.call(c||window,this.keys[b],this.items[b],b,a)}},find:function(d,c){for(var b=0,a=this.items.length;b<a;b++){if(d.call(c||window,this.items[b],this.keys[b])){return this.items[b]}}return null},insert:function(a,b,c){if(arguments.length==2){c=arguments[1];b=this.getKey(c)}if(a>=this.length){return this.add(b,c)}this.length++;this.items.splice(a,0,c);if(typeof b!="undefined"&&b!=null){this.map[b]=c}this.keys.splice(a,0,b);this.fireEvent("add",a,c,b);return c},remove:function(a){return this.removeAt(this.indexOf(a))},removeAt:function(a){if(a<this.length&&a>=0){this.length--;var c=this.items[a];this.items.splice(a,1);var b=this.keys[a];if(typeof b!="undefined"){delete this.map[b]}this.keys.splice(a,1);this.fireEvent("remove",c,b);return c}return false},removeKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return this.items.indexOf(a)},indexOfKey:function(a){return this.keys.indexOf(a)},item:function(a){var b=typeof this.map[a]!="undefined"?this.map[a]:this.items[a];return typeof b!="function"||this.allowFunctions?b:null},itemAt:function(a){return this.items[a]},key:function(a){return this.map[a]},contains:function(a){return this.indexOf(a)!=-1},containsKey:function(a){return typeof this.map[a]!="undefined"},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(l,a,j){var d=String(a).toUpperCase()=="DESC"?-1:1;j=j||function(i,c){return i-c};var h=[],b=this.keys,g=this.items;for(var e=0,f=g.length;e<f;e++){h[h.length]={key:b[e],value:g[e],index:e}}h.sort(function(i,c){var k=j(i[l],c[l])*d;if(k==0){k=(i.index<c.index?-1:1)}return k});for(var e=0,f=h.length;e<f;e++){g[e]=h[e].value;b[e]=h[e].key}this.fireEvent("sort",this)},sort:function(a,b){this._sort("value",a,b)},keySort:function(a,b){this._sort("key",a,b||function(d,c){var f=String(d).toUpperCase(),e=String(c).toUpperCase();return f>e?1:(f<e?-1:0)})},getRange:function(e,a){var b=this.items;if(b.length<1){return[]}e=e||0;a=Math.min(typeof a=="undefined"?this.length-1:a,this.length-1);var d=[];if(e<=a){for(var c=e;c<=a;c++){d[d.length]=b[c]}}else{for(var c=e;c>=a;c--){d[d.length]=b[c]}}return d},filter:function(c,b,d,a){if(Ext.isEmpty(b,false)){return this.clone()}b=this.createValueMatcher(b,d,a);return this.filterBy(function(e){return e&&b.test(e[c])})},filterBy:function(f,e){var g=new Ext.util.MixedCollection();g.getKey=this.getKey;var b=this.keys,d=this.items;for(var c=0,a=d.length;c<a;c++){if(f.call(e||this,d[c],b[c])){g.add(b[c],d[c])}}return g},findIndex:function(c,b,e,d,a){if(Ext.isEmpty(b,false)){return -1}b=this.createValueMatcher(b,d,a);return this.findIndexBy(function(f){return f&&b.test(f[c])},null,e)},findIndexBy:function(f,e,g){var b=this.keys,d=this.items;for(var c=(g||0),a=d.length;c<a;c++){if(f.call(e||this,d[c],b[c])){return c}}if(typeof g=="number"&&g>0){for(var c=0;c<g;c++){if(f.call(e||this,d[c],b[c])){return c}}}return -1},createValueMatcher:function(b,c,a){if(!b.exec){b=String(b);b=new RegExp((c===true?"":"^")+Ext.escapeRe(b),a?"":"i")}return b},clone:function(){var e=new Ext.util.MixedCollection();var b=this.keys,d=this.items;for(var c=0,a=d.length;c<a;c++){e.add(b[c],d[c])}e.getKey=this.getKey;return e}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;
Ext.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty;var pad=function(n){return n<10?"0"+n:n};var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};var encodeString=function(s){if(/["\\\x00-\x1f]/.test(s)){return'"'+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+s+'"'};var encodeArray=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(v===null?"null":Ext.util.JSON.encode(v));b=true}}a.push("]");return a.join("")};this.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};this.encode=function(o){if(typeof o=="undefined"||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.util.JSON.encodeDate(o)}else{if(typeof o=="string"){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(typeof o=="boolean"){return String(o)}else{var a=["{"],b,i,v;for(i in o){if(!useHasOwn||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(this.encode(i),":",v===null?"null":this.encode(v));b=true}}}a.push("}");return a.join("")}}}}}}};this.decode=function(json){return eval("("+json+")")}})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;
Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g;return{ellipsis:function(value,len){if(value&&value.length>len){return value.substr(0,len-3)+"..."}return value},undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},htmlDecode:function(value){return !value?value:String(value).replace(/&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)}}(),nl2br:function(v){return v===undefined||v===null?"":v.replace(/\n/g,"<br/>")}}}();
Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var r=this.html;r=["<tpl>",r,"</tpl>"].join("");var q=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/;var p=/^<tpl\b[^>]*?for="(.*?)"/;var n=/^<tpl\b[^>]*?if="(.*?)"/;var k=/^<tpl\b[^>]*?exec="(.*?)"/;var c,b=0;var g=[];while(c=r.match(q)){var o=c[0].match(p);var l=c[0].match(n);var j=c[0].match(k);var e=null,h=null,d=null;var a=o&&o[1]?o[1]:"";if(l){e=l&&l[1]?l[1]:null;if(e){h=new Function("values","parent","xindex","xcount","with(values){ return "+(Ext.util.Format.htmlDecode(e))+"; }")}}if(j){e=j&&j[1]?j[1]:null;if(e){d=new Function("values","parent","xindex","xcount","with(values){ "+(Ext.util.Format.htmlDecode(e))+"; }")}}if(a){switch(a){case".":a=new Function("values","parent","with(values){ return values; }");break;case"..":a=new Function("values","parent","with(values){ return parent; }");break;default:a=new Function("values","parent","with(values){ return "+a+"; }")}}g.push({id:b,target:a,exec:d,test:h,body:c[1]||""});r=r.replace(c[0],"{xtpl"+b+"}");++b}for(var f=g.length-1;f>=0;--f){this.compileTpl(g[f])}this.master=g[g.length-1];this.tpls=g};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(a,h,g,d,c){var k=this.tpls[a];if(k.test&&!k.test.call(this,h,g,d,c)){return""}if(k.exec&&k.exec.call(this,h,g,d,c)){return""}var j=k.target?k.target.call(this,h,g):h;g=k.target?h:g;if(k.target&&Ext.isArray(j)){var b=[];for(var e=0,f=j.length;e<f;e++){b[b.length]=k.compiled.call(this,j[e],g,e+1,f)}return b.join("")}return k.compiled.call(this,j,g,d,c)},compileTpl:function(tpl){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(m,name,format,args,math){if(name.substr(0,4)=="xtpl"){return"'"+sep+"this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount)"+sep+"'"}var v;if(name==="."){v="values"}else{if(name==="#"){v="xindex"}else{if(name.indexOf(".")!=-1){v=name}else{v="values['"+name+"']"}}}if(math){v="("+v+math+")"}if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="("+v+" === undefined ? '' : "}return"'"+sep+format+v+args+")"+sep+"'"};var codeFn=function(m,code){return"'"+sep+"("+code+")"+sep+"'"};var body;if(Ext.isGecko){body="tpl.compiled = function(values, parent, xindex, xcount){ return '"+tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn)+"';};"}else{body=["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];body.push(tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn));body.push("'].join('');};");body=body.join("")}eval(body);return this},applyTemplate:function(a){return this.master.compiled.call(this,a,{},1,1)},compile:function(){return this}});Ext.XTemplate.prototype.apply=Ext.XTemplate.prototype.applyTemplate;Ext.XTemplate.from=function(a){a=Ext.getDom(a);return new Ext.XTemplate(a.value||a.innerHTML)};
Ext.util.CSS=function(){var d=null;var c=document;var b=/(-[a-z])/gi;var a=function(e,f){return f.charAt(1).toUpperCase()};return{createStyleSheet:function(h,k){var g;var f=c.getElementsByTagName("head")[0];var j=c.createElement("style");j.setAttribute("type","text/css");if(k){j.setAttribute("id",k)}if(Ext.isIE){f.appendChild(j);g=j.styleSheet;g.cssText=h}else{try{j.appendChild(c.createTextNode(h))}catch(i){j.cssText=h}f.appendChild(j);g=j.styleSheet?j.styleSheet:(j.sheet||c.styleSheets[c.styleSheets.length-1])}this.cacheStyleSheet(g);return g},removeStyleSheet:function(f){var e=c.getElementById(f);if(e){e.parentNode.removeChild(e)}},swapStyleSheet:function(g,e){this.removeStyleSheet(g);var f=c.createElement("link");f.setAttribute("rel","stylesheet");f.setAttribute("type","text/css");f.setAttribute("id",g);f.setAttribute("href",e);c.getElementsByTagName("head")[0].appendChild(f)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(g){if(!d){d={}}try{var i=g.cssRules||g.rules;for(var f=i.length-1;f>=0;--f){d[i[f].selectorText]=i[f]}}catch(h){}},getRules:function(g){if(d==null||g){d={};var j=c.styleSheets;for(var h=0,f=j.length;h<f;h++){try{this.cacheStyleSheet(j[h])}catch(k){}}}return d},getRule:function(e,g){var f=this.getRules(g);if(!Ext.isArray(e)){return f[e]}for(var h=0;h<e.length;h++){if(f[e[h]]){return f[e[h]]}}return null},updateRule:function(e,h,g){if(!Ext.isArray(e)){var j=this.getRule(e);if(j){j.style[h.replace(b,a)]=g;return true}}else{for(var f=0;f<e.length;f++){if(this.updateRule(e[f],h,g)){return true}}}return false}}}();
Ext.util.ClickRepeater=function(b,a){this.el=Ext.get(b);this.el.unselectable();Ext.apply(this,a);this.addEvents("mousedown","click","mouseup");this.el.on("mousedown",this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on("click",function(c){if(this.preventDefault){c.preventDefault()}if(this.stopDefault){c.stopEvent()}},this)}if(this.handler){this.on("click",this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,destroy:function(){Ext.destroy(this.el);this.purgeListeners()},handleMouseDown:function(){clearTimeout(this.timer);this.el.blur();if(this.pressClass){this.el.addClass(this.pressClass)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this);this.fireEvent("click",this);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this)},click:function(){this.fireEvent("click",this);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this)},easeOutExpo:function(e,a,g,f){return(e==f)?a+g:g*(-Math.pow(2,-10*e/f)+1)+a},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",this)}});
Ext.KeyNav=function(b,a){this.el=Ext.get(b);Ext.apply(this,a);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,prepareEvent:function(c){var a=c.getKey();var b=this.keyToHandler[a];if(Ext.isSafari2&&b&&a>=37&&a<=40){c.stopEvent()}},relay:function(c){var a=c.getKey();var b=this.keyToHandler[a];if(b&&this[b]){if(this.doRelay(c,this[b],b)!==true){c[this.defaultEventAction]()}}},doRelay:function(c,b,a){return b.call(this.scope||this,c)},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},enable:function(){if(this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.on("keydown",this.relay,this)}else{this.el.on("keydown",this.prepareEvent,this);this.el.on("keypress",this.relay,this)}this.disabled=false}},disable:function(){if(!this.disabled){if(this.forceKeyDown||Ext.isIE||Ext.isSafari3||Ext.isAir){this.el.un("keydown",this.relay,this)}else{this.el.un("keydown",this.prepareEvent,this);this.el.un("keypress",this.relay,this)}this.disabled=true}}};
Ext.KeyMap=function(c,b,a){this.el=Ext.get(c);this.eventName=a||"keydown";this.bindings=[];if(b){this.addBinding(b)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(d){if(Ext.isArray(d)){for(var f=0,h=d.length;f<h;f++){this.addBinding(d[f])}return}var p=d.key,c=d.shift,a=d.ctrl,g=d.alt,l=d.fn||d.handler,o=d.scope;if(d.stopEvent){this.stopEvent=d.stopEvent}if(typeof p=="string"){var m=[];var k=p.toUpperCase();for(var e=0,h=k.length;e<h;e++){m.push(k.charCodeAt(e))}p=m}var b=Ext.isArray(p);var n=function(s){if((!c||s.shiftKey)&&(!a||s.ctrlKey)&&(!g||s.altKey)){var q=s.getKey();if(b){for(var r=0,j=p.length;r<j;r++){if(p[r]==q){if(this.stopEvent){s.stopEvent()}l.call(o||window,q,s);return}}}else{if(q==p){if(this.stopEvent){s.stopEvent()}l.call(o||window,q,s)}}}};this.bindings.push(n)},on:function(b,d,c){var g,a,e,f;if(typeof b=="object"&&!Ext.isArray(b)){g=b.key;a=b.shift;e=b.ctrl;f=b.alt}else{g=b}this.addBinding({key:g,shift:a,ctrl:e,alt:f,fn:d,scope:c})},handleKeyDown:function(f){if(this.enabled){var c=this.bindings;for(var d=0,a=c.length;d<a;d++){c[d].call(this,f)}}},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}}};
Ext.util.TextMetrics=function(){var a;return{measure:function(b,c,d){if(!a){a=Ext.util.TextMetrics.Instance(b,d)}a.bind(b);a.setFixedWidth(d||"auto");return a.getSize(c)},createInstance:function(b,c){return Ext.util.TextMetrics.Instance(b,c)}}}();Ext.util.TextMetrics.Instance=function(b,d){var c=new Ext.Element(document.createElement("div"));document.body.appendChild(c.dom);c.position("absolute");c.setLeftTop(-1000,-1000);c.hide();if(d){c.setWidth(d)}var a={getSize:function(f){c.update(f);var e=c.getSize();c.update("");return e},bind:function(e){c.setStyle(Ext.fly(e).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(e){c.setWidth(e)},getWidth:function(e){c.dom.style.width="auto";return this.getSize(e).width},getHeight:function(e){return this.getSize(e).height}};a.bind(b);return a};Ext.Element.measureText=Ext.util.TextMetrics.measure;
(function () { var A = Ext.EventManager; var B = Ext.lib.Dom; Ext.dd.DragDrop = function (E, C, D) { if (E) { this.init(E, C, D) } }; Ext.dd.DragDrop.prototype = { id: null, config: null, dragElId: null, handleElId: null, invalidHandleTypes: null, invalidHandleIds: null, invalidHandleClasses: null, startPageX: 0, startPageY: 0, groups: null, locked: false, lock: function () { this.locked = true }, unlock: function () { this.locked = false }, isTarget: true, padding: null, _domRef: null, __ygDragDrop: true, constrainX: false, constrainY: false, minX: 0, maxX: 0, minY: 0, maxY: 0, maintainOffset: false, xTicks: null, yTicks: null, primaryButtonOnly: true, available: false, hasOuterHandles: false, b4StartDrag: function (C, D) { }, startDrag: function (C, D) { }, b4Drag: function (C) { }, onDrag: function (C) { }, onDragEnter: function (C, D) { }, b4DragOver: function (C) { }, onDragOver: function (C, D) { }, b4DragOut: function (C) { }, onDragOut: function (C, D) { }, b4DragDrop: function (C) { }, onDragDrop: function (C, D) { }, onInvalidDrop: function (C) { }, b4EndDrag: function (C) { }, endDrag: function (C) { }, b4MouseDown: function (C) { }, onMouseDown: function (C) { }, onMouseUp: function (C) { }, onAvailable: function () { }, defaultPadding: { left: 0, right: 0, top: 0, bottom: 0 }, constrainTo: function (H, F, M) { if (typeof F == "number") { F = { left: F, right: F, top: F, bottom: F} } F = F || this.defaultPadding; var J = Ext.get(this.getEl()).getBox(); var C = Ext.get(H); var L = C.getScroll(); var I, D = C.dom; if (D == document.body) { I = { x: L.left, y: L.top, width: Ext.lib.Dom.getViewWidth(), height: Ext.lib.Dom.getViewHeight()} } else { var K = C.getXY(); I = { x: K[0] + L.left, y: K[1] + L.top, width: D.clientWidth, height: D.clientHeight} } var G = J.y - I.y; var E = J.x - I.x; this.resetConstraints(); this.setXConstraint(E - (F.left || 0), I.width - E - J.width - (F.right || 0), this.xTickSize); this.setYConstraint(G - (F.top || 0), I.height - G - J.height - (F.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 (E, C, D) { this.initTarget(E, C, D); A.on(this.id, "mousedown", this.handleMouseDown, this) }, initTarget: function (E, C, D) { this.config = D || {}; this.DDM = Ext.dd.DDM; this.groups = {}; if (typeof E !== "string") { E = Ext.id(E) } this.id = E; this.addToGroup((C) ? C : "default"); this.handleElId = E; this.setDragElId(E); 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 (E, C, F, D) { if (!C && 0 !== C) { this.padding = [E, E, E, E] } else { if (!F && 0 !== F) { this.padding = [E, C, E, C] } else { this.padding = [E, C, F, D] } } }, setInitPosition: function (F, E) { var G = this.getEl(); if (!this.DDM.verifyEl(G)) { return } var D = F || 0; var C = E || 0; var H = B.getXY(G); this.initPageX = H[0] - D; this.initPageY = H[1] - C; this.lastPageX = H[0]; this.lastPageY = H[1]; this.setStartPosition(H) }, setStartPosition: function (D) { var C = D || B.getXY(this.getEl()); this.deltaSetXY = null; this.startPageX = C[0]; this.startPageY = C[1] }, addToGroup: function (C) { this.groups[C] = true; this.DDM.regDragDrop(this, C) }, removeFromGroup: function (C) { if (this.groups[C]) { delete this.groups[C] } this.DDM.removeDDFromGroup(this, C) }, setDragElId: function (C) { this.dragElId = C }, setHandleElId: function (C) { if (typeof C !== "string") { C = Ext.id(C) } this.handleElId = C; this.DDM.regHandle(this.id, C) }, setOuterHandleElId: function (C) { if (typeof C !== "string") { C = Ext.id(C) } A.on(C, "mousedown", this.handleMouseDown, this); this.setHandleElId(C); this.hasOuterHandles = true }, unreg: function () { A.un(this.id, "mousedown", this.handleMouseDown); this._domRef = null; this.DDM._remove(this) }, destroy: function () { this.unreg() }, isLocked: function () { return (this.DDM.isLocked() || this.locked) }, handleMouseDown: function (E, D) { if (this.primaryButtonOnly && E.button != 0) { return } if (this.isLocked()) { return } this.DDM.refreshCache(this.groups); var C = new Ext.lib.Point(Ext.lib.Event.getPageX(E), Ext.lib.Event.getPageY(E)); if (!this.hasOuterHandles && !this.DDM.isOverTarget(C, this)) { } else { if (this.clickValidator(E)) { this.setStartPosition(); this.b4MouseDown(E); this.onMouseDown(E); this.DDM.handleMouseDown(E, this); this.DDM.stopEvent(E) } else { } } }, clickValidator: function (D) { var C = D.getTarget(); return (this.isValidHandleChild(C) && (this.id == this.handleElId || this.DDM.handleWasClicked(C, this.id))) }, addInvalidHandleType: function (C) { var D = C.toUpperCase(); this.invalidHandleTypes[D] = D }, addInvalidHandleId: function (C) { if (typeof C !== "string") { C = Ext.id(C) } this.invalidHandleIds[C] = C }, addInvalidHandleClass: function (C) { this.invalidHandleClasses.push(C) }, removeInvalidHandleType: function (C) { var D = C.toUpperCase(); delete this.invalidHandleTypes[D] }, removeInvalidHandleId: function (C) { if (typeof C !== "string") { C = Ext.id(C) } delete this.invalidHandleIds[C] }, removeInvalidHandleClass: function (D) { for (var E = 0, C = this.invalidHandleClasses.length; E < C; ++E) { if (this.invalidHandleClasses[E] == D) { delete this.invalidHandleClasses[E] } } }, isValidHandleChild: function (F) { var E = true; var H; try { H = F.nodeName.toUpperCase() } catch (G) { H = F.nodeName } E = E && !this.invalidHandleTypes[H]; E = E && !this.invalidHandleIds[F.id]; for (var D = 0, C = this.invalidHandleClasses.length; E && D < C; ++D) { E = !B.hasClass(F, this.invalidHandleClasses[D]) } return E }, setXTicks: function (F, C) { this.xTicks = []; this.xTickSize = C; var E = {}; for (var D = this.initPageX; D >= this.minX; D = D - C) { if (!E[D]) { this.xTicks[this.xTicks.length] = D; E[D] = true } } for (D = this.initPageX; D <= this.maxX; D = D + C) { if (!E[D]) { this.xTicks[this.xTicks.length] = D; E[D] = true } } this.xTicks.sort(this.DDM.numericSort) }, setYTicks: function (F, C) { this.yTicks = []; this.yTickSize = C; var E = {}; for (var D = this.initPageY; D >= this.minY; D = D - C) { if (!E[D]) { this.yTicks[this.yTicks.length] = D; E[D] = true } } for (D = this.initPageY; D <= this.maxY; D = D + C) { if (!E[D]) { this.yTicks[this.yTicks.length] = D; E[D] = true } } this.yTicks.sort(this.DDM.numericSort) }, setXConstraint: function (E, D, C) { this.leftConstraint = E; this.rightConstraint = D; this.minX = this.initPageX - E; this.maxX = this.initPageX + D; if (C) { this.setXTicks(this.initPageX, C) } 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 (C, E, D) { this.topConstraint = C; this.bottomConstraint = E; this.minY = this.initPageY - C; this.maxY = this.initPageY + E; if (D) { this.setYTicks(this.initPageY, D) } this.constrainY = true }, resetConstraints: function () { if (this.initPageX || this.initPageX === 0) { var D = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0; var C = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0; this.setInitPosition(D, C) } else { this.setInitPosition() } if (this.constrainX) { this.setXConstraint(this.leftConstraint, this.rightConstraint, this.xTickSize) } if (this.constrainY) { this.setYConstraint(this.topConstraint, this.bottomConstraint, this.yTickSize) } }, getTick: function (I, F) { if (!F) { return I } else { if (F[0] >= I) { return F[0] } else { for (var D = 0, C = F.length; D < C; ++D) { var E = D + 1; if (F[E] && F[E] >= I) { var H = I - F[D]; var G = F[E] - I; return (G > H) ? F[D] : F[E] } } return F[F.length - 1] } } }, toString: function () { return ("DragDrop " + this.id) } } })(); if (!Ext.dd.DragDropMgr) { Ext.dd.DragDropMgr = function () { var A = Ext.EventManager; return { ids: {}, handleIds: {}, dragCurrent: null, dragOvers: {}, deltaX: 0, deltaY: 0, preventDefault: true, stopPropagation: true, initialized: false, locked: false, init: function () { this.initialized = true }, POINT: 0, INTERSECT: 1, mode: 0, _execOnAll: function (D, C) { for (var E in this.ids) { for (var B in this.ids[E]) { var F = this.ids[E][B]; if (!this.isTypeOfDD(F)) { continue } F[D].apply(F, C) } } }, _onLoad: function () { this.init(); A.on(document, "mouseup", this.handleMouseUp, this, true); A.on(document, "mousemove", this.handleMouseMove, this, true); A.on(window, "unload", this._onUnload, this, true); A.on(window, "resize", this._onResize, this, true) }, _onResize: function (B) { this._execOnAll("resetConstraints", []) }, lock: function () { this.locked = true }, unlock: function () { this.locked = false }, isLocked: function () { return this.locked }, locationCache: {}, useCache: true, clickPixelThresh: 3, clickTimeThresh: 350, dragThreshMet: false, clickTimeout: null, startX: 0, startY: 0, regDragDrop: function (C, B) { if (!this.initialized) { this.init() } if (!this.ids[B]) { this.ids[B] = {} } this.ids[B][C.id] = C }, removeDDFromGroup: function (D, B) { if (!this.ids[B]) { this.ids[B] = {} } var C = this.ids[B]; if (C && C[D.id]) { delete C[D.id] } }, _remove: function (C) { for (var B in C.groups) { if (B && this.ids[B][C.id]) { delete this.ids[B][C.id] } } delete this.handleIds[C.id] }, regHandle: function (C, B) { if (!this.handleIds[C]) { this.handleIds[C] = {} } this.handleIds[C][B] = B }, isDragDrop: function (B) { return (this.getDDById(B)) ? true : false }, getRelated: function (F, C) { var E = []; for (var D in F.groups) { for (j in this.ids[D]) { var B = this.ids[D][j]; if (!this.isTypeOfDD(B)) { continue } if (!C || B.isTarget) { E[E.length] = B } } } return E }, isLegalTarget: function (F, E) { var C = this.getRelated(F, true); for (var D = 0, B = C.length; D < B; ++D) { if (C[D].id == E.id) { return true } } return false }, isTypeOfDD: function (B) { return (B && B.__ygDragDrop) }, isHandle: function (C, B) { return (this.handleIds[C] && this.handleIds[C][B]) }, getDDById: function (C) { for (var B in this.ids) { if (this.ids[B][C]) { return this.ids[B][C] } } return null }, handleMouseDown: function (D, C) { if (Ext.QuickTips) { Ext.QuickTips.disable() } this.currentTarget = D.getTarget(); this.dragCurrent = C; var B = C.getEl(); this.startX = D.getPageX(); this.startY = D.getPageY(); this.deltaX = this.startX - B.offsetLeft; this.deltaY = this.startY - B.offsetTop; this.dragThreshMet = false; this.clickTimeout = setTimeout(function () { var E = Ext.dd.DDM; E.startDrag(E.startX, E.startY) }, this.clickTimeThresh) }, startDrag: function (B, C) { clearTimeout(this.clickTimeout); if (this.dragCurrent) { this.dragCurrent.b4StartDrag(B, C); this.dragCurrent.startDrag(B, C) } this.dragThreshMet = true }, handleMouseUp: function (B) { if (Ext.QuickTips) { Ext.QuickTips.enable() } if (!this.dragCurrent) { return } clearTimeout(this.clickTimeout); if (this.dragThreshMet) { this.fireEvents(B, true) } else { } this.stopDrag(B); this.stopEvent(B) }, stopEvent: function (B) { if (this.stopPropagation) { B.stopPropagation() } if (this.preventDefault) { B.preventDefault() } }, stopDrag: function (B) { if (this.dragCurrent) { if (this.dragThreshMet) { this.dragCurrent.b4EndDrag(B); this.dragCurrent.endDrag(B) } this.dragCurrent.onMouseUp(B) } this.dragCurrent = null; this.dragOvers = {} }, handleMouseMove: function (D) { if (!this.dragCurrent) { return true } if (Ext.isIE && (D.button !== 0 && D.button !== 1 && D.button !== 2)) { this.stopEvent(D); return this.handleMouseUp(D) } if (!this.dragThreshMet) { var C = Math.abs(this.startX - D.getPageX()); var B = Math.abs(this.startY - D.getPageY()); if (C > this.clickPixelThresh || B > this.clickPixelThresh) { this.startDrag(this.startX, this.startY) } } if (this.dragThreshMet) { this.dragCurrent.b4Drag(D); this.dragCurrent.onDrag(D); if (!this.dragCurrent.moveOnly) { this.fireEvents(D, false) } } this.stopEvent(D); return true }, fireEvents: function (K, L) { var N = this.dragCurrent; if (!N || N.isLocked()) { return } var O = K.getPoint(); var B = []; var E = []; var I = []; var G = []; var D = []; for (var F in this.dragOvers) { var C = this.dragOvers[F]; if (!this.isTypeOfDD(C)) { continue } if (!this.isOverTarget(O, C, this.mode)) { E.push(C) } B[F] = true; delete this.dragOvers[F] } for (var M in N.groups) { if ("string" != typeof M) { continue } for (F in this.ids[M]) { var H = this.ids[M][F]; if (!this.isTypeOfDD(H)) { continue } if (H.isTarget && !H.isLocked() && H != N) { if (this.isOverTarget(O, H, this.mode)) { if (L) { G.push(H) } else { if (!B[H.id]) { D.push(H) } else { I.push(H) } this.dragOvers[H.id] = H } } } } } if (this.mode) { if (E.length) { N.b4DragOut(K, E); N.onDragOut(K, E) } if (D.length) { N.onDragEnter(K, D) } if (I.length) { N.b4DragOver(K, I); N.onDragOver(K, I) } if (G.length) { N.b4DragDrop(K, G); N.onDragDrop(K, G) } } else { var J = 0; for (F = 0, J = E.length; F < J; ++F) { N.b4DragOut(K, E[F].id); N.onDragOut(K, E[F].id) } for (F = 0, J = D.length; F < J; ++F) { N.onDragEnter(K, D[F].id) } for (F = 0, J = I.length; F < J; ++F) { N.b4DragOver(K, I[F].id); N.onDragOver(K, I[F].id) } for (F = 0, J = G.length; F < J; ++F) { N.b4DragDrop(K, G[F].id); N.onDragDrop(K, G[F].id) } } if (L && !G.length) { N.onInvalidDrop(K) } }, getBestMatch: function (D) { var F = null; var C = D.length; if (C == 1) { F = D[0] } else { for (var E = 0; E < C; ++E) { var B = D[E]; if (B.cursorIsOver) { F = B; break } else { if (!F || F.overlap.getArea() < B.overlap.getArea()) { F = B } } } } return F }, refreshCache: function (C) { for (var B in C) { if ("string" != typeof B) { continue } for (var D in this.ids[B]) { var E = this.ids[B][D]; if (this.isTypeOfDD(E)) { var F = this.getLocation(E); if (F) { this.locationCache[E.id] = F } else { delete this.locationCache[E.id] } } } } }, verifyEl: function (C) { if (C) { var B; if (Ext.isIE) { try { B = C.offsetParent } catch (D) { } } else { B = C.offsetParent } if (B) { return true } } return false }, getLocation: function (G) { if (!this.isTypeOfDD(G)) { return null } var E = G.getEl(), J, D, C, L, K, M, B, I, F; try { J = Ext.lib.Dom.getXY(E) } catch (H) { } if (!J) { return null } D = J[0]; C = D + E.offsetWidth; L = J[1]; K = L + E.offsetHeight; M = L - G.padding[0]; B = C + G.padding[1]; I = K + G.padding[2]; F = D - G.padding[3]; return new Ext.lib.Region(M, B, I, F) }, isOverTarget: function (J, B, D) { var F = this.locationCache[B.id]; if (!F || !this.useCache) { F = this.getLocation(B); this.locationCache[B.id] = F } if (!F) { return false } B.cursorIsOver = F.contains(J); var I = this.dragCurrent; if (!I || !I.getTargetCoord || (!D && !I.constrainX && !I.constrainY)) { return B.cursorIsOver } B.overlap = null; var G = I.getTargetCoord(J.x, J.y); var C = I.getDragEl(); var E = new Ext.lib.Region(G.y, G.x + C.offsetWidth, G.y + C.offsetHeight, G.x); var H = E.intersect(F); if (H) { B.overlap = H; return (D) ? true : B.cursorIsOver } else { return false } }, _onUnload: function (C, B) { Ext.dd.DragDropMgr.unregAll() }, unregAll: function () { if (this.dragCurrent) { this.stopDrag(); this.dragCurrent = null } this._execOnAll("unreg", []); for (var B in this.elementCache) { delete this.elementCache[B] } this.elementCache = {}; this.ids = {} }, elementCache: {}, getElWrapper: function (C) { var B = this.elementCache[C]; if (!B || !B.el) { B = this.elementCache[C] = new this.ElementWrapper(Ext.getDom(C)) } return B }, getElement: function (B) { return Ext.getDom(B) }, getCss: function (C) { var B = Ext.getDom(C); return (B) ? B.style : null }, ElementWrapper: function (B) { this.el = B || null; this.id = this.el && B.id; this.css = this.el && B.style }, getPosX: function (B) { return Ext.lib.Dom.getX(B) }, getPosY: function (B) { return Ext.lib.Dom.getY(B) }, swapNode: function (D, B) { if (D.swapNode) { D.swapNode(B) } else { var E = B.parentNode; var C = B.nextSibling; if (C == D) { E.insertBefore(D, B) } else { if (B == D.nextSibling) { E.insertBefore(B, D) } else { D.parentNode.replaceChild(B, D); E.insertBefore(D, C) } } } }, getScroll: function () { var D, B, E = document.documentElement, C = document.body; if (E && (E.scrollTop || E.scrollLeft)) { D = E.scrollTop; B = E.scrollLeft } else { if (C) { D = C.scrollTop; B = C.scrollLeft } else { } } return { top: D, left: B} }, getStyle: function (C, B) { return Ext.fly(C).getStyle(B) }, getScrollTop: function () { return this.getScroll().top }, getScrollLeft: function () { return this.getScroll().left }, moveToEl: function (B, D) { var C = Ext.lib.Dom.getXY(D); Ext.lib.Dom.setXY(B, C) }, numericSort: function (C, B) { return (C - B) }, _timeoutCount: 0, _addListeners: function () { var B = Ext.dd.DDM; if (Ext.lib.Event && document) { B._onLoad() } else { if (B._timeoutCount > 2000) { } else { setTimeout(B._addListeners, 10); if (document && document.body) { B._timeoutCount += 1 } } } }, handleWasClicked: function (B, D) { if (this.isHandle(D, B.id)) { return true } else { var C = B.parentNode; while (C) { if (this.isHandle(D, C.id)) { return true } else { C = C.parentNode } } } return false } } } (); Ext.dd.DDM = Ext.dd.DragDropMgr; Ext.dd.DDM._addListeners() } Ext.dd.DD = function (C, A, B) { if (C) { this.init(C, A, B) } }; Ext.extend(Ext.dd.DD, Ext.dd.DragDrop, { scroll: true, autoOffset: function (C, B) { var A = C - this.startPageX; var D = B - this.startPageY; this.setDelta(A, D) }, setDelta: function (B, A) { this.deltaX = B; this.deltaY = A }, setDragElPos: function (C, B) { var A = this.getDragEl(); this.alignElWithMouse(A, C, B) }, alignElWithMouse: function (C, G, F) { var E = this.getTargetCoord(G, F); var B = C.dom ? C : Ext.fly(C, "_dd"); if (!this.deltaSetXY) { var H = [E.x, E.y]; B.setXY(H); var D = B.getLeft(true); var A = B.getTop(true); this.deltaSetXY = [D - E.x, A - E.y] } else { B.setLeftTop(E.x + this.deltaSetXY[0], E.y + this.deltaSetXY[1]) } this.cachePosition(E.x, E.y); this.autoScroll(E.x, E.y, C.offsetHeight, C.offsetWidth); return E }, cachePosition: function (B, A) { if (B) { this.lastPageX = B; this.lastPageY = A } else { var C = Ext.lib.Dom.getXY(this.getEl()); this.lastPageX = C[0]; this.lastPageY = C[1] } }, autoScroll: function (J, I, E, K) { if (this.scroll) { var L = Ext.lib.Dom.getViewHeight(); var B = Ext.lib.Dom.getViewWidth(); var N = this.DDM.getScrollTop(); var D = this.DDM.getScrollLeft(); var H = E + I; var M = K + J; var G = (L + N - I - this.deltaY); var F = (B + D - J - this.deltaX); var C = 40; var A = (document.all) ? 80 : 30; if (H > L && G < C) { window.scrollTo(D, N + A) } if (I < N && N > 0 && I - N < C) { window.scrollTo(D, N - A) } if (M > B && F < C) { window.scrollTo(D + A, N) } if (J < D && D > 0 && J - D < C) { window.scrollTo(D - A, N) } } }, getTargetCoord: function (C, B) { var A = C - this.deltaX; var D = B - this.deltaY; if (this.constrainX) { if (A < this.minX) { A = this.minX } if (A > this.maxX) { A = this.maxX } } if (this.constrainY) { if (D < this.minY) { D = this.minY } if (D > this.maxY) { D = this.maxY } } A = this.getTick(A, this.xTicks); D = this.getTick(D, this.yTicks); return { x: A, y: D} }, applyConfig: function () { Ext.dd.DD.superclass.applyConfig.call(this); this.scroll = (this.config.scroll !== false) }, b4MouseDown: function (A) { this.autoOffset(A.getPageX(), A.getPageY()) }, b4Drag: function (A) { this.setDragElPos(A.getPageX(), A.getPageY()) }, toString: function () { return ("DD " + this.id) } }); Ext.dd.DDProxy = function (C, A, B) { if (C) { this.init(C, A, B); this.initFrame() } }; Ext.dd.DDProxy.dragElId = "ygddfdiv"; Ext.extend(Ext.dd.DDProxy, Ext.dd.DD, { resizeFrame: true, centerFrame: false, createFrame: function () { var B = this; var A = document.body; if (!A || !A.firstChild) { setTimeout(function () { B.createFrame() }, 50); return } var D = this.getDragEl(); if (!D) { D = document.createElement("div"); D.id = this.dragElId; var C = D.style; C.position = "absolute"; C.visibility = "hidden"; C.cursor = "move"; C.border = "2px solid #aaa"; C.zIndex = 999; A.insertBefore(D, A.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 (E, D) { var C = this.getEl(); var A = this.getDragEl(); var B = A.style; this._resizeProxy(); if (this.centerFrame) { this.setDelta(Math.round(parseInt(B.width, 10) / 2), Math.round(parseInt(B.height, 10) / 2)) } this.setDragElPos(E, D); Ext.fly(A).show() }, _resizeProxy: function () { if (this.resizeFrame) { var A = this.getEl(); Ext.fly(this.getDragEl()).setSize(A.offsetWidth, A.offsetHeight) } }, b4MouseDown: function (B) { var A = B.getPageX(); var C = B.getPageY(); this.autoOffset(A, C); this.setDragElPos(A, C) }, b4StartDrag: function (A, B) { this.showFrame(A, B) }, b4EndDrag: function (A) { Ext.fly(this.getDragEl()).hide() }, endDrag: function (C) { var B = this.getEl(); var A = this.getDragEl(); A.style.visibility = ""; this.beforeMove(); B.style.visibility = "hidden"; Ext.dd.DDM.moveToEl(B, A); A.style.visibility = "hidden"; B.style.visibility = ""; this.afterDrag() }, beforeMove: function () { }, afterDrag: function () { }, toString: function () { return ("DDProxy " + this.id) } }); Ext.dd.DDTarget = function (C, A, B) { if (C) { this.initTarget(C, A, B) } }; Ext.extend(Ext.dd.DDTarget, Ext.dd.DragDrop, { toString: function () { return ("DDTarget " + this.id) } });
Ext.dd.DragTracker = function (A) { Ext.apply(this, A); this.addEvents("mousedown", "mouseup", "mousemove", "dragstart", "dragend", "drag"); this.dragRegion = new Ext.lib.Region(0, 0, 0, 0); if (this.el) { this.initEl(this.el) } }; Ext.extend(Ext.dd.DragTracker, Ext.util.Observable, { active: false, tolerance: 5, autoStart: false, initEl: function (A) { this.el = Ext.get(A); A.on("mousedown", this.onMouseDown, this, this.delegate ? { delegate: this.delegate} : undefined) }, destroy: function () { this.el.un("mousedown", this.onMouseDown, this) }, onMouseDown: function (C, B) { if (this.fireEvent("mousedown", this, C) !== false && this.onBeforeStart(C) !== false) { this.startXY = this.lastXY = C.getXY(); this.dragTarget = this.delegate ? B : this.el.dom; C.preventDefault(); var A = Ext.getDoc(); A.on("mouseup", this.onMouseUp, this); A.on("mousemove", this.onMouseMove, this); A.on("selectstart", this.stopSelect, this); if (this.autoStart) { this.timer = this.triggerStart.defer(this.autoStart === true ? 1000 : this.autoStart, this) } } }, onMouseMove: function (D, C) { D.preventDefault(); var B = D.getXY(), A = this.startXY; this.lastXY = B; if (!this.active) { if (Math.abs(A[0] - B[0]) > this.tolerance || Math.abs(A[1] - B[1]) > this.tolerance) { this.triggerStart() } else { return } } this.fireEvent("mousemove", this, D); this.onDrag(D); this.fireEvent("drag", this, D) }, onMouseUp: function (B) { var A = Ext.getDoc(); A.un("mousemove", this.onMouseMove, this); A.un("mouseup", this.onMouseUp, this); A.un("selectstart", this.stopSelect, this); B.preventDefault(); this.clearStart(); this.active = false; delete this.elRegion; this.fireEvent("mouseup", this, B); this.onEnd(B); this.fireEvent("dragend", this, B) }, triggerStart: function (A) { this.clearStart(); this.active = true; this.onStart(this.startXY); this.fireEvent("dragstart", this, this.startXY) }, clearStart: function () { if (this.timer) { clearTimeout(this.timer); delete this.timer } }, stopSelect: function (A) { A.stopEvent(); return false }, onBeforeStart: function (A) { }, onStart: function (A) { }, onDrag: function (A) { }, onEnd: function (A) { }, getDragTarget: function () { return this.dragTarget }, getDragCt: function () { return this.el }, getXY: function (A) { return A ? this.constrainModes[A].call(this, this.lastXY) : this.lastXY }, getOffset: function (C) { var B = this.getXY(C); var A = this.startXY; return [A[0] - B[0], A[1] - B[1]] }, constrainModes: { "point": function (B) { if (!this.elRegion) { this.elRegion = this.getDragCt().getRegion() } var A = this.dragRegion; A.left = B[0]; A.top = B[1]; A.right = B[0]; A.bottom = B[1]; A.constrainTo(this.elRegion); return [A.left, A.top] } } });
Ext.dd.ScrollManager = function () { var C = Ext.dd.DragDropMgr; var E = {}; var B = null; var H = {}; var G = function (K) { B = null; A() }; var I = function () { if (C.dragCurrent) { C.refreshCache(C.dragCurrent.groups) } }; var D = function () { if (C.dragCurrent) { var K = Ext.dd.ScrollManager; var L = H.el.ddScrollConfig ? H.el.ddScrollConfig.increment : K.increment; if (!K.animate) { if (H.el.scroll(H.dir, L)) { I() } } else { H.el.scroll(H.dir, L, true, K.animDuration, I) } } }; var A = function () { if (H.id) { clearInterval(H.id) } H.id = 0; H.el = null; H.dir = "" }; var F = function (L, K) { A(); H.el = L; H.dir = K; H.id = setInterval(D, Ext.dd.ScrollManager.frequency) }; var J = function (N, P) { if (P || !C.dragCurrent) { return } var Q = Ext.dd.ScrollManager; if (!B || B != C.dragCurrent) { B = C.dragCurrent; Q.refreshCache() } var R = Ext.lib.Event.getXY(N); var S = new Ext.lib.Point(R[0], R[1]); for (var L in E) { var M = E[L], K = M._region; var O = M.ddScrollConfig ? M.ddScrollConfig : Q; if (K && K.contains(S) && M.isScrollable()) { if (K.bottom - S.y <= O.vthresh) { if (H.el != M) { F(M, "down") } return } else { if (K.right - S.x <= O.hthresh) { if (H.el != M) { F(M, "left") } return } else { if (S.y - K.top <= O.vthresh) { if (H.el != M) { F(M, "up") } return } else { if (S.x - K.left <= O.hthresh) { if (H.el != M) { F(M, "right") } return } } } } } } A() }; C.fireEvents = C.fireEvents.createSequence(J, C); C.stopDrag = C.stopDrag.createSequence(G, C); return { register: function (M) { if (Ext.isArray(M)) { for (var L = 0, K = M.length; L < K; L++) { this.register(M[L]) } } else { M = Ext.get(M); E[M.id] = M } }, unregister: function (M) { if (Ext.isArray(M)) { for (var L = 0, K = M.length; L < K; L++) { this.unregister(M[L]) } } else { M = Ext.get(M); delete E[M.id] } }, vthresh: 25, hthresh: 25, increment: 100, frequency: 500, animate: true, animDuration: 0.4, refreshCache: function () { for (var K in E) { if (typeof E[K] == "object") { E[K]._region = E[K].getRegion() } } } } } ();
Ext.dd.Registry = function () { var D = {}; var B = {}; var A = 0; var C = function (F, E) { if (typeof F == "string") { return F } var G = F.id; if (!G && E !== false) { G = "extdd-" + (++A); F.id = G } return G }; return { register: function (H, I) { I = I || {}; if (typeof H == "string") { H = document.getElementById(H) } I.ddel = H; D[C(H)] = I; if (I.isHandle !== false) { B[I.ddel.id] = I } if (I.handles) { var G = I.handles; for (var F = 0, E = G.length; F < E; F++) { B[C(G[F])] = I } } }, unregister: function (H) { var J = C(H, false); var I = D[J]; if (I) { delete D[J]; if (I.handles) { var G = I.handles; for (var F = 0, E = G.length; F < E; F++) { delete B[C(G[F], false)] } } } }, getHandle: function (E) { if (typeof E != "string") { E = E.id } return B[E] }, getHandleFromEvent: function (F) { var E = Ext.lib.Event.getTarget(F); return E ? B[E.id] : null }, getTarget: function (E) { if (typeof E != "string") { E = E.id } return D[E] }, getTargetFromEvent: function (F) { var E = Ext.lib.Event.getTarget(F); return E ? D[E.id] || B[E.id] : null } } } ();
Ext.dd.StatusProxy = function (A) { Ext.apply(this, A); this.id = this.id || Ext.id(); this.el = new Ext.Layer({ dh: { id: this.id, tag: "div", cls: "x-dd-drag-proxy " + this.dropNotAllowed, children: [{ tag: "div", cls: "x-dd-drop-icon" }, { tag: "div", cls: "x-dd-drag-ghost"}] }, shadow: !A || A.shadow !== false }); this.ghost = Ext.get(this.el.dom.childNodes[1]); this.dropStatus = this.dropNotAllowed }; Ext.dd.StatusProxy.prototype = { dropAllowed: "x-dd-drop-ok", dropNotAllowed: "x-dd-drop-nodrop", setStatus: function (A) { A = A || this.dropNotAllowed; if (this.dropStatus != A) { this.el.replaceClass(this.dropStatus, A); this.dropStatus = A } }, reset: function (A) { this.el.dom.className = "x-dd-drag-proxy " + this.dropNotAllowed; this.dropStatus = this.dropNotAllowed; if (A) { this.ghost.update("") } }, update: function (A) { if (typeof A == "string") { this.ghost.update(A) } else { this.ghost.update(""); A.style.margin = "0"; this.ghost.dom.appendChild(A) } }, getEl: function () { return this.el }, getGhost: function () { return this.ghost }, hide: function (A) { this.el.hide(); if (A) { this.reset(true) } }, stop: function () { if (this.anim && this.anim.isAnimated && this.anim.isAnimated()) { this.anim.stop() } }, show: function () { this.el.show() }, sync: function () { this.el.sync() }, repair: function (B, C, A) { this.callback = C; this.scope = A; if (B && 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: B, 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 (B, A) { this.el = Ext.get(B); if (!this.dragData) { this.dragData = {} } Ext.apply(this, A); if (!this.proxy) { this.proxy = new Ext.dd.StatusProxy() } Ext.dd.DragSource.superclass.constructor.call(this, this.el.dom, this.ddGroup || this.group, { dragElId: this.proxy.id, resizeFrame: false, isTarget: false, scroll: this.scroll === true }); this.dragging = false }; Ext.extend(Ext.dd.DragSource, Ext.dd.DDProxy, { dropAllowed: "x-dd-drop-ok", dropNotAllowed: "x-dd-drop-nodrop", getDragData: function (A) { return this.dragData }, onDragEnter: function (C, D) { var B = Ext.dd.DragDropMgr.getDDById(D); this.cachedTarget = B; if (this.beforeDragEnter(B, C, D) !== false) { if (B.isNotifyTarget) { var A = B.notifyEnter(this, C, this.dragData); this.proxy.setStatus(A) } else { this.proxy.setStatus(this.dropAllowed) } if (this.afterDragEnter) { this.afterDragEnter(B, C, D) } } }, beforeDragEnter: function (B, A, C) { return true }, alignElWithMouse: function () { Ext.dd.DragSource.superclass.alignElWithMouse.apply(this, arguments); this.proxy.sync() }, onDragOver: function (C, D) { var B = this.cachedTarget || Ext.dd.DragDropMgr.getDDById(D); if (this.beforeDragOver(B, C, D) !== false) { if (B.isNotifyTarget) { var A = B.notifyOver(this, C, this.dragData); this.proxy.setStatus(A) } if (this.afterDragOver) { this.afterDragOver(B, C, D) } } }, beforeDragOver: function (B, A, C) { return true }, onDragOut: function (B, C) { var A = this.cachedTarget || Ext.dd.DragDropMgr.getDDById(C); if (this.beforeDragOut(A, B, C) !== false) { if (A.isNotifyTarget) { A.notifyOut(this, B, this.dragData) } this.proxy.reset(); if (this.afterDragOut) { this.afterDragOut(A, B, C) } } this.cachedTarget = null }, beforeDragOut: function (B, A, C) { return true }, onDragDrop: function (B, C) { var A = this.cachedTarget || Ext.dd.DragDropMgr.getDDById(C); if (this.beforeDragDrop(A, B, C) !== false) { if (A.isNotifyTarget) { if (A.notifyDrop(this, B, this.dragData)) { this.onValidDrop(A, B, C) } else { this.onInvalidDrop(A, B, C) } } else { this.onValidDrop(A, B, C) } if (this.afterDragDrop) { this.afterDragDrop(A, B, C) } } delete this.cachedTarget }, beforeDragDrop: function (B, A, C) { return true }, onValidDrop: function (B, A, C) { this.hideProxy(); if (this.afterValidDrop) { this.afterValidDrop(B, A, C) } }, getRepairXY: function (B, A) { return this.el.getXY() }, onInvalidDrop: function (B, A, C) { this.beforeInvalidDrop(B, A, C); if (this.cachedTarget) { if (this.cachedTarget.isNotifyTarget) { this.cachedTarget.notifyOut(this, A, this.dragData) } this.cacheTarget = null } this.proxy.repair(this.getRepairXY(A, this.dragData), this.afterRepair, this); if (this.afterInvalidDrop) { this.afterInvalidDrop(A, C) } }, afterRepair: function () { if (Ext.enableFx) { this.el.highlight(this.hlColor || "c3daf9") } this.dragging = false }, beforeInvalidDrop: function (B, A, C) { return true }, handleMouseDown: function (B) { if (this.dragging) { return } var A = this.getDragData(B); if (A && this.onBeforeDrag(A, B) !== false) { this.dragData = A; this.proxy.stop(); Ext.dd.DragSource.superclass.handleMouseDown.apply(this, arguments) } }, onBeforeDrag: function (A, B) { return true }, onStartDrag: Ext.emptyFn, startDrag: function (A, B) { this.proxy.reset(); this.dragging = true; this.proxy.update(""); this.onInitDrag(A, B); this.proxy.show() }, onInitDrag: function (A, C) { var B = this.el.dom.cloneNode(true); B.id = Ext.id(); this.proxy.update(B); this.onStartDrag(A, C); return true }, getProxy: function () { return this.proxy }, hideProxy: function () { this.proxy.hide(); this.proxy.reset(true); this.dragging = false }, triggerCacheRefresh: function () { Ext.dd.DDM.refreshCache(this.groups) }, b4EndDrag: function (A) { }, endDrag: function (A) { this.onEndDrag(this.dragData, A) }, onEndDrag: function (A, B) { }, autoOffset: function (A, B) { this.setDelta(-12, -20) } });
Ext.dd.DropTarget = function (B, A) { this.el = Ext.get(B); Ext.apply(this, A); if (this.containerScroll) { Ext.dd.ScrollManager.register(this.el) } Ext.dd.DropTarget.superclass.constructor.call(this, this.el.dom, this.ddGroup || this.group, { isTarget: true }) }; Ext.extend(Ext.dd.DropTarget, Ext.dd.DDTarget, { dropAllowed: "x-dd-drop-ok", dropNotAllowed: "x-dd-drop-nodrop", isTarget: true, isNotifyTarget: true, notifyEnter: function (A, C, B) { if (this.overClass) { this.el.addClass(this.overClass) } return this.dropAllowed }, notifyOver: function (A, C, B) { return this.dropAllowed }, notifyOut: function (A, C, B) { if (this.overClass) { this.el.removeClass(this.overClass) } }, notifyDrop: function (A, C, B) { return false } });
Ext.dd.DragZone = function (B, A) { Ext.dd.DragZone.superclass.constructor.call(this, B, A); if (this.containerScroll) { Ext.dd.ScrollManager.register(this.el) } }; Ext.extend(Ext.dd.DragZone, Ext.dd.DragSource, { getDragData: function (A) { return Ext.dd.Registry.getHandleFromEvent(A) }, onInitDrag: function (A, B) { this.proxy.update(this.dragData.ddel.cloneNode(true)); this.onStartDrag(A, B); return true }, afterRepair: function () { if (Ext.enableFx) { Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor || "c3daf9") } this.dragging = false }, getRepairXY: function (A) { return Ext.Element.fly(this.dragData.ddel).getXY() } });
Ext.dd.DropZone = function (B, A) { Ext.dd.DropZone.superclass.constructor.call(this, B, A) }; Ext.extend(Ext.dd.DropZone, Ext.dd.DropTarget, { getTargetFromEvent: function (A) { return Ext.dd.Registry.getTargetFromEvent(A) }, onNodeEnter: function (D, A, C, B) { }, onNodeOver: function (D, A, C, B) { return this.dropAllowed }, onNodeOut: function (D, A, C, B) { }, onNodeDrop: function (D, A, C, B) { return false }, onContainerOver: function (A, C, B) { return this.dropNotAllowed }, onContainerDrop: function (A, C, B) { return false }, notifyEnter: function (A, C, B) { return this.dropNotAllowed }, notifyOver: function (A, C, B) { var D = this.getTargetFromEvent(C); if (!D) { if (this.lastOverNode) { this.onNodeOut(this.lastOverNode, A, C, B); this.lastOverNode = null } return this.onContainerOver(A, C, B) } if (this.lastOverNode != D) { if (this.lastOverNode) { this.onNodeOut(this.lastOverNode, A, C, B) } this.onNodeEnter(D, A, C, B); this.lastOverNode = D } return this.onNodeOver(D, A, C, B) }, notifyOut: function (A, C, B) { if (this.lastOverNode) { this.onNodeOut(this.lastOverNode, A, C, B); this.lastOverNode = null } }, notifyDrop: function (A, C, B) { if (this.lastOverNode) { this.onNodeOut(this.lastOverNode, A, C, B); this.lastOverNode = null } var D = this.getTargetFromEvent(C); return D ? this.onNodeDrop(D, A, C, B) : this.onContainerDrop(A, C, B) }, triggerCacheRefresh: function () { Ext.dd.DDM.refreshCache(this.groups) } });
Ext.data.SortTypes={none:function(a){return a},stripTagsRE:/<\/?[^>]+>/gi,asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(/,/g,""));if(isNaN(b)){b=0}return b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,""));if(isNaN(b)){b=0}return b}};
Ext.data.Record=function(a,b){this.id=(b||b===0)?b:++Ext.data.Record.AUTO_ID;this.data=a};Ext.data.Record.create=function(e){var c=Ext.extend(Ext.data.Record,{});var d=c.prototype;d.fields=new Ext.util.MixedCollection(false,function(f){return f.name});for(var b=0,a=e.length;b<a;b++){d.fields.add(new Ext.data.Field(e[b]))}c.getField=function(f){return d.fields.get(f)};return c};Ext.data.Record.AUTO_ID=1000;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,join:function(a){this.store=a},set:function(a,b){if(String(this.data[a])==String(b)){return}this.dirty=true;if(!this.modified){this.modified={}}if(typeof this.modified[a]=="undefined"){this.modified[a]=this.data[a]}this.data[a]=b;if(!this.editing&&this.store){this.store.afterEdit(this)}},get:function(a){return this.data[a]},beginEdit:function(){this.editing=true;this.modified={}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty&&this.store){this.store.afterEdit(this)}},reject:function(b){var a=this.modified;for(var c in a){if(typeof a[c]!="function"){this.data[c]=a[c]}}this.dirty=false;delete this.modified;this.editing=false;if(this.store&&b!==true){this.store.afterReject(this)}},commit:function(a){this.dirty=false;delete this.modified;this.editing=false;if(this.store&&a!==true){this.store.afterCommit(this)}},getChanges:function(){var a=this.modified,b={};for(var c in a){if(a.hasOwnProperty(c)){b[c]=this.data[c]}}return b},hasError:function(){return this.error!=null},clearError:function(){this.error=null},copy:function(a){return new this.constructor(Ext.apply({},this.data),a||this.id)},isModified:function(a){return !!(this.modified&&this.modified.hasOwnProperty(a))}};
Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var a=0,b;b=arguments[a];a++){this.add(b)}},unregister:function(){for(var a=0,b;b=arguments[a];a++){this.remove(this.lookup(b))}},lookup:function(a){return typeof a=="object"?a:this.get(a)},getKey:function(a){return a.storeId||a.id}});
Ext.data.Store=function(a){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(b){return b.id};this.baseParams={};this.paramNames={start:"start",limit:"limit",sort:"sort",dir:"dir"};if(a&&a.data){this.inlineData=a.data;delete a.data}Ext.apply(this,a);if(this.url&&!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url})}if(this.reader){if(!this.recordType){this.recordType=this.reader.recordType}if(this.reader.onMetaChange){this.reader.onMetaChange=this.onMetaChange.createDelegate(this)}}if(this.recordType){this.fields=this.recordType.prototype.fields}this.modified=[];this.addEvents("datachanged","metachange","add","remove","update","clear","beforeload","load","loadexception");if(this.proxy){this.relayEvents(this.proxy,["loadexception"])}this.sortToggle={};if(this.sortInfo){this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction)}Ext.data.Store.superclass.constructor.call(this);if(this.storeId||this.id){Ext.StoreMgr.register(this)}if(this.inlineData){this.loadData(this.inlineData);delete this.inlineData}else{if(this.autoLoad){this.load.defer(10,this,[typeof this.autoLoad=="object"?this.autoLoad:undefined])}}};Ext.extend(Ext.data.Store,Ext.util.Observable,{remoteSort:false,pruneModifiedRecords:false,lastOptions:null,destroy:function(){if(this.storeId||this.id){Ext.StoreMgr.unregister(this)}this.data=null;this.purgeListeners()},add:function(b){b=[].concat(b);if(b.length<1){return}for(var d=0,a=b.length;d<a;d++){b[d].join(this)}var c=this.data.length;this.data.addAll(b);if(this.snapshot){this.snapshot.addAll(b)}this.fireEvent("add",this,b,c)},addSorted:function(a){var b=this.findInsertIndex(a);this.insert(b,a)},remove:function(a){var b=this.data.indexOf(a);this.data.removeAt(b);if(this.pruneModifiedRecords){this.modified.remove(a)}if(this.snapshot){this.snapshot.remove(a)}this.fireEvent("remove",this,a,b)},removeAt:function(a){this.remove(this.getAt(a))},removeAll:function(){this.data.clear();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}this.fireEvent("clear",this)},insert:function(c,b){b=[].concat(b);for(var d=0,a=b.length;d<a;d++){this.data.insert(c,b[d]);b[d].join(this)}this.fireEvent("add",this,b,c)},indexOf:function(a){return this.data.indexOf(a)},indexOfId:function(a){return this.data.indexOfKey(a)},getById:function(a){return this.data.key(a)},getAt:function(a){return this.data.itemAt(a)},getRange:function(b,a){return this.data.getRange(b,a)},storeOptions:function(a){a=Ext.apply({},a);delete a.callback;delete a.scope;this.lastOptions=a},load:function(b){b=b||{};if(this.fireEvent("beforeload",this,b)!==false){this.storeOptions(b);var c=Ext.apply(b.params||{},this.baseParams);if(this.sortInfo&&this.remoteSort){var a=this.paramNames;c[a.sort]=this.sortInfo.field;c[a.dir]=this.sortInfo.direction}this.proxy.load(c,this.reader,this.loadRecords,this,b);return true}else{return false}},reload:function(a){this.load(Ext.applyIf(a||{},this.lastOptions))},loadRecords:function(g,b,f){if(!g||f===false){if(f!==false){this.fireEvent("load",this,[],b)}if(b.callback){b.callback.call(b.scope||this,[],b,false)}return}var e=g.records,d=g.totalRecords||e.length;if(!b||b.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var c=0,a=e.length;c<a;c++){e[c].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(e);this.totalLength=d;this.applySort();this.fireEvent("datachanged",this)}else{this.totalLength=Math.max(d,this.data.length+e.length);this.add(e)}this.fireEvent("load",this,e,b);if(b.callback){b.callback.call(b.scope||this,e,b,true)}},loadData:function(c,a){var b=this.reader.readRecords(c);this.loadRecords(b,{add:a},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if(this.sortInfo&&!this.remoteSort){var a=this.sortInfo,b=a.field;this.sortData(b,a.direction)}},sortData:function(c,d){d=d||"ASC";var a=this.fields.get(c).sortType;var b=function(f,e){var h=a(f.data[c]),g=a(e.data[c]);return h>g?1:(h<g?-1:0)};this.data.sort(d,b);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(d,b)}},setDefaultSort:function(b,a){a=a?a.toUpperCase():"ASC";this.sortInfo={field:b,direction:a};this.sortToggle[b]=a},sort:function(e,c){var d=this.fields.get(e);if(!d){return false}if(!c){if(this.sortInfo&&this.sortInfo.field==d.name){c=(this.sortToggle[d.name]||"ASC").toggle("ASC","DESC")}else{c=d.sortDir}}var b=(this.sortToggle)?this.sortToggle[d.name]:null;var a=(this.sortInfo)?this.sortInfo:null;this.sortToggle[d.name]=c;this.sortInfo={field:d.name,direction:c};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this)}else{if(!this.load(this.lastOptions)){if(b){this.sortToggle[d.name]=b}if(a){this.sortInfo=a}}}},each:function(b,a){this.data.each(b,a)},getModifiedRecords:function(){return this.modified},createFilterFn:function(c,b,d,a){if(Ext.isEmpty(b,false)){return false}b=this.data.createValueMatcher(b,d,a);return function(e){return b.test(e.data[c])}},sum:function(e,f,a){var c=this.data.items,b=0;f=f||0;a=(a||a===0)?a:c.length-1;for(var d=f;d<=a;d++){b+=(c[d].data[e]||0)}return b},filter:function(d,c,e,a){var b=this.createFilterFn(d,c,e,a);return b?this.filterBy(b):this.clearFilter()},filterBy:function(b,a){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(b,a||this);this.fireEvent("datachanged",this)},query:function(d,c,e,a){var b=this.createFilterFn(d,c,e,a);return b?this.queryBy(b):this.data.clone()},queryBy:function(b,a){var c=this.snapshot||this.data;return c.filterBy(b,a||this)},find:function(d,c,f,e,a){var b=this.createFilterFn(d,c,e,a);return b?this.data.findIndexBy(b,null,f):-1},findBy:function(b,a,c){return this.data.findIndexBy(b,a,c)},collect:function(h,j,b){var g=(b===true&&this.snapshot)?this.snapshot.items:this.data.items;var k,m,a=[],c={};for(var e=0,f=g.length;e<f;e++){k=g[e].data[h];m=String(k);if((j||!Ext.isEmpty(k))&&!c[m]){c[m]=true;a[a.length]=k}}return a},clearFilter:function(a){if(this.isFiltered()){this.data=this.snapshot;delete this.snapshot;if(a!==true){this.fireEvent("datachanged",this)}}},isFiltered:function(){return this.snapshot&&this.snapshot!=this.data},afterEdit:function(a){if(this.modified.indexOf(a)==-1){this.modified.push(a)}this.fireEvent("update",this,a,Ext.data.Record.EDIT)},afterReject:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.REJECT)},afterCommit:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.COMMIT)},commitChanges:function(){var b=this.modified.slice(0);this.modified=[];for(var c=0,a=b.length;c<a;c++){b[c].commit()}},rejectChanges:function(){var b=this.modified.slice(0);this.modified=[];for(var c=0,a=b.length;c<a;c++){b[c].reject()}},onMetaChange:function(b,a,c){this.recordType=a;this.fields=a.prototype.fields;delete this.snapshot;this.sortInfo=b.sortInfo;this.modified=[];this.fireEvent("metachange",this,this.reader.meta)},findInsertIndex:function(a){this.suspendEvents();var c=this.data.clone();this.data.add(a);this.applySort();var b=this.data.indexOf(a);this.data=c;this.resumeEvents();return b}});
Ext.data.Field=function(d){if(typeof d=="string"){d={name:d}}Ext.apply(this,d);if(!this.type){this.type="auto"}var c=Ext.data.SortTypes;if(typeof this.sortType=="string"){this.sortType=c[this.sortType]}if(!this.sortType){switch(this.type){case"string":this.sortType=c.asUCString;break;case"date":this.sortType=c.asDate;break;default:this.sortType=c.none}}var e=/[\$,%]/g;if(!this.convert){var b,a=this.dateFormat;switch(this.type){case"":case"auto":case undefined:b=function(f){return f};break;case"string":b=function(f){return(f===undefined||f===null)?"":String(f)};break;case"int":b=function(f){return f!==undefined&&f!==null&&f!==""?parseInt(String(f).replace(e,""),10):""};break;case"float":b=function(f){return f!==undefined&&f!==null&&f!==""?parseFloat(String(f).replace(e,""),10):""};break;case"bool":case"boolean":b=function(f){return f===true||f==="true"||f==1};break;case"date":b=function(g){if(!g){return""}if(Ext.isDate(g)){return g}if(a){if(a=="timestamp"){return new Date(g*1000)}if(a=="time"){return new Date(parseInt(g,10))}return Date.parseDate(g,a)}var f=Date.parse(g);return f?new Date(f):null};break}this.convert=b}};Ext.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"};
Ext.data.DataReader=function(a,b){this.meta=a;this.recordType=Ext.isArray(b)?Ext.data.Record.create(b):b};Ext.data.DataReader.prototype={};
Ext.data.DataProxy=function(){this.addEvents("beforeload","load");Ext.data.DataProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.DataProxy,Ext.util.Observable);
Ext.data.MemoryProxy=function(a){Ext.data.MemoryProxy.superclass.constructor.call(this);this.data=a};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{load:function(g,c,h,d,b){g=g||{};var a;try{a=c.readRecords(this.data)}catch(f){this.fireEvent("loadexception",this,b,null,f);h.call(d,null,b,false);return}h.call(d,a,b,true)},update:function(b,a){}});
Ext.data.HttpProxy=function(a){Ext.data.HttpProxy.superclass.constructor.call(this);this.conn=a;this.useAjax=!a||!a.events};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},load:function(e,b,f,c,a){if(this.fireEvent("beforeload",this,e)!==false){var d={params:e||{},request:{callback:f,scope:c,arg:a},reader:b,callback:this.loadResponse,scope:this};if(this.useAjax){Ext.applyIf(d,this.conn);if(this.activeRequest){Ext.Ajax.abort(this.activeRequest)}this.activeRequest=Ext.Ajax.request(d)}else{this.conn.request(d)}}else{f.call(c||this,null,a,false)}},loadResponse:function(f,d,b){delete this.activeRequest;if(!d){this.fireEvent("loadexception",this,f,b);f.request.callback.call(f.request.scope,null,f.request.arg,false);return}var a;try{a=f.reader.read(b)}catch(c){this.fireEvent("loadexception",this,f,b,c);f.request.callback.call(f.request.scope,null,f.request.arg,false);return}this.fireEvent("load",this,f,f.request.arg);f.request.callback.call(f.request.scope,a,f.request.arg,true)},update:function(a){},updateResponse:function(a){}});
Ext.data.ScriptTagProxy=function(a){Ext.data.ScriptTagProxy.superclass.constructor.call(this);Ext.apply(this,a);this.head=document.getElementsByTagName("head")[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,load:function(e,f,h,i,j){if(this.fireEvent("beforeload",this,e)!==false){var c=Ext.urlEncode(Ext.apply(e,this.extraParams));var b=this.url;b+=(b.indexOf("?")!=-1?"&":"?")+c;if(this.nocache){b+="&_dc="+(new Date().getTime())}var a=++Ext.data.ScriptTagProxy.TRANS_ID;var k={id:a,cb:"stcCallback"+a,scriptId:"stcScript"+a,params:e,arg:j,url:b,callback:h,scope:i,reader:f};var d=this;window[k.cb]=function(l){d.handleResponse(l,k)};b+=String.format("&{0}={1}",this.callbackParam,k.cb);if(this.autoAbort!==false){this.abort()}k.timeoutId=this.handleFailure.defer(this.timeout,this,[k]);var g=document.createElement("script");g.setAttribute("src",b);g.setAttribute("type","text/javascript");g.setAttribute("id",k.scriptId);this.head.appendChild(g);this.trans=k}else{h.call(i||this,null,j,false)}},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(b,a){this.head.removeChild(document.getElementById(b.scriptId));clearTimeout(b.timeoutId);if(a){window[b.cb]=undefined;try{delete window[b.cb]}catch(c){}}else{window[b.cb]=function(){window[b.cb]=undefined;try{delete window[b.cb]}catch(d){}}}},handleResponse:function(d,b){this.trans=false;this.destroyTrans(b,true);var a;try{a=b.reader.readRecords(d)}catch(c){this.fireEvent("loadexception",this,d,b.arg,c);b.callback.call(b.scope||window,null,b.arg,false);return}this.fireEvent("load",this,d,b.arg);b.callback.call(b.scope||window,a,b.arg,true)},handleFailure:function(a){this.trans=false;this.destroyTrans(a,false);this.fireEvent("loadexception",this,null,a.arg);a.callback.call(a.scope||window,null,a.arg,false)}});
Ext.data.XmlReader=function(a,b){a=a||{};Ext.data.XmlReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(a){var b=a.responseXML;if(!b){throw {message:"XmlReader.read: XML Document not available"}}return this.readRecords(b)},readRecords:function(z){this.xmlData=z;var s=z.documentElement||z;var l=Ext.DomQuery;var b=this.recordType,p=b.prototype.fields;var d=this.meta.id;var h=0,e=true;if(this.meta.totalRecords){h=l.selectNumber(this.meta.totalRecords,s,0)}if(this.meta.success){var o=l.selectValue(this.meta.success,s,true);e=o!==false&&o!=="false"}var w=[];var A=l.select(this.meta.record,s);for(var u=0,x=A.length;u<x;u++){var r=A[u];var a={};var m=d?l.selectValue(d,r):undefined;for(var t=0,k=p.length;t<k;t++){var y=p.items[t];var g=l.selectValue(y.mapping||y.name,r,y.defaultValue);g=y.convert(g,r);a[y.name]=g}var c=new b(a,m);c.node=r;w[w.length]=c}return{success:e,records:w,totalRecords:h||w.length}}});
Ext.ComponentMgr=function(){var b=new Ext.util.MixedCollection();var a={};return{register:function(d){b.add(d)},unregister:function(d){b.remove(d)},get:function(c){return b.get(c)},onAvailable:function(e,d,c){b.on("add",function(f,g){if(g.id==e){d.call(c||g,g);b.un("add",d,c)}})},all:b,registerType:function(d,c){a[d]=c;c.xtype=d},create:function(c,d){return new a[c.xtype||d](c)}}}();Ext.reg=Ext.ComponentMgr.registerType;
Ext.Component=function(b){b=b||{};if(b.initialConfig){if(b.isAction){this.baseAction=b}b=b.initialConfig}else{if(b.tagName||b.dom||typeof b=="string"){b={applyTo:b,id:b.id||b}}}this.initialConfig=b;Ext.apply(this,b);this.addEvents("disable","enable","beforeshow","show","beforehide","hide","beforerender","render","beforedestroy","destroy","beforestaterestore","staterestore","beforestatesave","statesave");this.getId();Ext.ComponentMgr.register(this);Ext.Component.superclass.constructor.call(this);if(this.baseAction){this.baseAction.addComponent(this)}this.initComponent();if(this.plugins){if(Ext.isArray(this.plugins)){for(var c=0,a=this.plugins.length;c<a;c++){this.plugins[c]=this.initPlugin(this.plugins[c])}}else{this.plugins=this.initPlugin(this.plugins)}}if(this.stateful!==false){this.initState(b)}if(this.applyTo){this.applyToMarkup(this.applyTo);delete this.applyTo}else{if(this.renderTo){this.render(this.renderTo);delete this.renderTo}}};Ext.Component.AUTO_ID=1000;Ext.extend(Ext.Component,Ext.util.Observable,{disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,hidden:false,disabled:false,rendered:false,ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initPlugin:function(a){a.init(this);return a},initComponent:Ext.emptyFn,render:function(b,a){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!b&&this.el){this.el=Ext.get(this.el);b=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(b);if(this.ctCls){this.container.addClass(this.ctCls)}this.rendered=true;if(a!==undefined){if(typeof a=="number"){a=this.container.dom.childNodes[a]}else{a=Ext.getDom(a)}}this.onRender(this.container,a||null);if(this.autoShow){this.el.removeClass(["x-hidden","x-hide-"+this.hideMode])}if(this.cls){this.el.addClass(this.cls);delete this.cls}if(this.style){this.el.applyStyles(this.style);delete this.style}if(this.overCls){this.el.addClassOnOver(this.overCls)}this.fireEvent("render",this);this.afterRender(this.container);if(this.hidden){this.hide()}if(this.disabled){this.disable()}if(this.stateful!==false){this.initStateEvents()}}return this},initState:function(a){if(Ext.state.Manager){var c=this.getStateId();if(c){var b=Ext.state.Manager.get(c);if(b){if(this.fireEvent("beforestaterestore",this,b)!==false){this.applyState(b);this.fireEvent("staterestore",this,b)}}}}},getStateId:function(){return this.stateId||((this.id.indexOf("ext-comp-")==0||this.id.indexOf("ext-gen")==0)?null:this.id)},initStateEvents:function(){if(this.stateEvents){for(var a=0,b;b=this.stateEvents[a];a++){this.on(b,this.saveState,this,{delay:100})}}},applyState:function(b,a){if(b){Ext.apply(this,b)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager){var b=this.getStateId();if(b){var a=this.getState();if(this.fireEvent("beforestatesave",this,a)!==false){Ext.state.Manager.set(b,a);this.fireEvent("statesave",this,a)}}}},applyToMarkup:function(a){this.allowDomMove=false;this.el=Ext.get(a);this.render(this.el.dom.parentNode)},addClass:function(a){if(this.el){this.el.addClass(a)}else{this.cls=this.cls?this.cls+" "+a:a}},removeClass:function(a){if(this.el){this.el.removeClass(a)}else{if(this.cls){this.cls=this.cls.split(" ").remove(a).join(" ")}}},onRender:function(b,a){if(this.autoEl){if(typeof this.autoEl=="string"){this.el=document.createElement(this.autoEl)}else{var c=document.createElement("div");Ext.DomHelper.overwrite(c,this.autoEl);this.el=c.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){b.dom.insertBefore(this.el.dom,a)}}},getAutoCreate:function(){var a=typeof this.autoCreate=="object"?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!a.id){a.id=this.id}return a},afterRender:Ext.emptyFn,destroy:function(){if(this.fireEvent("beforedestroy",this)!==false){this.beforeDestroy();if(this.rendered){this.el.removeAllListeners();this.el.remove();if(this.actionMode=="container"){this.container.remove()}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners()}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl:function(){return this.el},getId:function(){return this.id||(this.id="ext-comp-"+(++Ext.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.getId()},focus:function(b,a){if(a){this.focus.defer(typeof a=="number"?a:10,this,[b,false]);return}if(this.rendered){this.el.focus();if(b===true){this.el.dom.select()}}return this},blur:function(){if(this.rendered){this.el.blur()}return this},disable:function(){if(this.rendered){this.onDisable()}this.disabled=true;this.fireEvent("disable",this);return this},onDisable:function(){this.getActionEl().addClass(this.disabledClass);this.el.dom.disabled=true},enable:function(){if(this.rendered){this.onEnable()}this.disabled=false;this.fireEvent("enable",this);return this},onEnable:function(){this.getActionEl().removeClass(this.disabledClass);this.el.dom.disabled=false},setDisabled:function(a){this[a?"disable":"enable"]()},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.autoRender){this.render(typeof this.autoRender=="boolean"?Ext.getBody():this.autoRender)}if(this.rendered){this.onShow()}this.fireEvent("show",this)}return this},onShow:function(){if(this.hideParent){this.container.removeClass("x-hide-"+this.hideMode)}else{this.getActionEl().removeClass("x-hide-"+this.hideMode)}},hide:function(){if(this.fireEvent("beforehide",this)!==false){this.hidden=true;if(this.rendered){this.onHide()}this.fireEvent("hide",this)}return this},onHide:function(){if(this.hideParent){this.container.addClass("x-hide-"+this.hideMode)}else{this.getActionEl().addClass("x-hide-"+this.hideMode)}},setVisible:function(a){if(a){this.show()}else{this.hide()}return this},isVisible:function(){return this.rendered&&this.getActionEl().isVisible()},cloneConfig:function(b){b=b||{};var c=b.id||Ext.id();var a=Ext.applyIf(b,this.initialConfig);a.id=c;return new this.constructor(a)},getXType:function(){return this.constructor.xtype},isXType:function(b,a){if(typeof b=="function"){b=b.xtype}else{if(typeof b=="object"){b=b.constructor.xtype}}return !a?("/"+this.getXTypes()+"/").indexOf("/"+b+"/")!=-1:this.constructor.xtype==b},getXTypes:function(){var a=this.constructor;if(!a.xtypes){var d=[],b=this;while(b&&b.constructor.xtype){d.unshift(b.constructor.xtype);b=b.constructor.superclass}a.xtypeChain=d;a.xtypes=d.join("/")}return a.xtypes},findParentBy:function(a){for(var b=this.ownerCt;(b!=null)&&!a(b,this);b=b.ownerCt){}return b||null},findParentByType:function(a){return typeof a=="function"?this.findParentBy(function(b){return b.constructor===a}):this.findParentBy(function(b){return b.constructor.xtype===a})},mon:function(e,b,d,c,a){if(!this.mons){this.mons=[];this.on("beforedestroy",function(){for(var h=0,g=this.mons.length;h<g;h++){var f=this.mons[h];f.item.un(f.ename,f.fn,f.scope)}},this)}this.mons.push({item:e,ename:b,fn:d,scope:c});e.on(b,d,c,a)}});Ext.reg("component",Ext.Component);
Ext.Action = function (A) { this.initialConfig = A; this.items = [] }; Ext.Action.prototype = { isAction: true, setText: function (A) { this.initialConfig.text = A; this.callEach("setText", [A]) }, getText: function () { return this.initialConfig.text }, setIconClass: function (A) { this.initialConfig.iconCls = A; this.callEach("setIconClass", [A]) }, getIconClass: function () { return this.initialConfig.iconCls }, setDisabled: function (A) { this.initialConfig.disabled = A; this.callEach("setDisabled", [A]) }, enable: function () { this.setDisabled(false) }, disable: function () { this.setDisabled(true) }, isDisabled: function () { return this.initialConfig.disabled }, setHidden: function (A) { this.initialConfig.hidden = A; this.callEach("setVisible", [!A]) }, show: function () { this.setHidden(false) }, hide: function () { this.setHidden(true) }, isHidden: function () { return this.initialConfig.hidden }, setHandler: function (B, A) { this.initialConfig.handler = B; this.initialConfig.scope = A; this.callEach("setHandler", [B, A]) }, each: function (B, A) { Ext.each(this.items, B, A) }, callEach: function (E, B) { var D = this.items; for (var C = 0, A = D.length; C < A; C++) { D[C][E].apply(D[C], B) } }, addComponent: function (A) { this.items.push(A); A.on("destroy", this.removeComponent, this) }, removeComponent: function (A) { this.items.remove(A) }, execute: function () { this.initialConfig.handler.apply(this.initialConfig.scope || window, arguments) } };
(function(){Ext.Layer=function(d,c){d=d||{};var e=Ext.DomHelper;var g=d.parentEl,f=g?Ext.getDom(g):document.body;if(c){this.dom=Ext.getDom(c)}if(!this.dom){var h=d.dh||{tag:"div",cls:"x-layer"};this.dom=e.append(f,h)}if(d.cls){this.addClass(d.cls)}this.constrain=d.constrain!==false;this.visibilityMode=Ext.Element.VISIBILITY;if(d.id){this.id=this.dom.id=d.id}else{this.id=Ext.id(this.dom)}this.zindex=d.zindex||this.getZIndex();this.position("absolute",this.zindex);if(d.shadow){this.shadowOffset=d.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:d.shadow})}else{this.shadowOffset=0}this.useShim=d.shim!==false&&Ext.useShims;this.useDisplay=d.useDisplay;this.hide()};var a=Ext.Element.prototype;var b=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt(this.getStyle("z-index"),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var d=b.shift();if(!d){d=this.createShim();d.enableDisplayMode("block");d.dom.style.display="none";d.dom.style.visibility="visible"}var c=this.dom.parentNode;if(d.dom.parentNode!=c){c.insertBefore(d.dom,this.dom)}d.setStyle("z-index",this.getZIndex()-2);this.shim=d;return d},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);b.push(this.shim);delete this.shim}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;this.shadow.hide();this.lastShadowOffset=this.shadowOffset;this.shadowOffset=0}},enableShadow:function(c){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(c){this.sync(true)}}},sync:function(c){var j=this.shadow;if(!this.updating&&this.isVisible()&&(j||this.useShim)){var f=this.getShim();var i=this.getWidth(),e=this.getHeight();var d=this.getLeft(true),k=this.getTop(true);if(j&&!this.shadowDisabled){if(c&&!j.isVisible()){j.show(this)}else{j.realign(d,k,i,e)}if(f){if(c){f.show()}var g=j.adjusts,m=f.dom.style;m.left=(Math.min(d,d+g.l))+"px";m.top=(Math.min(k,k+g.t))+"px";m.width=(i+g.w)+"px";m.height=(e+g.h)+"px"}}else{if(f){if(c){f.show()}f.setSize(i,e);f.setLeftTop(d,k)}}}},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(c){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var g=Ext.lib.Dom.getViewWidth(),c=Ext.lib.Dom.getViewHeight();var m=Ext.getDoc().getScroll();var l=this.getXY();var i=l[0],f=l[1];var j=this.dom.offsetWidth+this.shadowOffset,d=this.dom.offsetHeight+this.shadowOffset;var e=false;if((i+j)>g+m.left){i=g-j-this.shadowOffset;e=true}if((f+d)>c+m.top){f=c-d-this.shadowOffset;e=true}if(i<m.left){i=m.left;e=true}if(f<m.top){f=m.top;e=true}if(e){if(this.avoidY){var k=this.avoidY;if(f<=k&&(f+d)>=k){f=k-d-5}}l=[i,f];this.storeXY(l);a.setXY.call(this,l);this.sync()}}},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){a.setXY.call(this,this.lastXY)}else{if(this.lastLT){a.setLeftTop.call(this,this.lastLT[0],this.lastLT[1])}}}},hideAction:function(){this.visible=false;if(this.useDisplay===true){this.setDisplayed(false)}else{this.setLeftTop(-10000,-10000)}},setVisible:function(h,g,j,k,i){if(h){this.showAction()}if(g&&h){var f=function(){this.sync(true);if(k){k()}}.createDelegate(this);a.setVisible.call(this,true,true,j,f,i)}else{if(!h){this.hideUnders(true)}var f=k;if(g){f=function(){this.hideAction();if(k){k()}}.createDelegate(this)}a.setVisible.call(this,h,g,j,f,i);if(h){this.sync(true)}else{if(!g){this.hideAction()}}}},storeXY:function(c){delete this.lastLT;this.lastXY=c},storeLeftTop:function(d,c){delete this.lastXY;this.lastLT=[d,c]},beforeFx:function(){this.beforeAction();return Ext.Layer.superclass.beforeFx.apply(this,arguments)},afterFx:function(){Ext.Layer.superclass.afterFx.apply(this,arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(c){this.storeLeftTop(c,this.getTop(true));a.setLeft.apply(this,arguments);this.sync()},setTop:function(c){this.storeLeftTop(this.getLeft(true),c);a.setTop.apply(this,arguments);this.sync()},setLeftTop:function(d,c){this.storeLeftTop(d,c);a.setLeftTop.apply(this,arguments);this.sync()},setXY:function(i,g,j,k,h){this.fixDisplay();this.beforeAction();this.storeXY(i);var f=this.createCB(k);a.setXY.call(this,i,g,j,f,h);if(!g){f()}},createCB:function(e){var d=this;return function(){d.constrainXY();d.sync(true);if(e){e()}}},setX:function(f,g,i,j,h){this.setXY([f,this.getY()],g,i,j,h)},setY:function(j,f,h,i,g){this.setXY([this.getX(),j],f,h,i,g)},setSize:function(i,j,g,l,m,k){this.beforeAction();var f=this.createCB(m);a.setSize.call(this,i,j,g,l,f,k);if(!g){f()}},setWidth:function(h,g,j,k,i){this.beforeAction();var f=this.createCB(k);a.setWidth.call(this,h,g,j,f,i);if(!g){f()}},setHeight:function(i,g,k,l,j){this.beforeAction();var f=this.createCB(l);a.setHeight.call(this,i,g,k,f,j);if(!g){f()}},setBounds:function(n,l,o,g,m,j,k,i){this.beforeAction();var f=this.createCB(k);if(!m){this.storeXY([n,l]);a.setXY.call(this,[n,l]);a.setSize.call(this,o,g,m,j,f,i);f()}else{a.setBounds.call(this,n,l,o,g,m,j,f,i)}return this},setZIndex:function(c){this.zindex=c;this.setStyle("z-index",c+2);if(this.shadow){this.shadow.setZIndex(c+1)}if(this.shim){this.shim.setStyle("z-index",c)}}})})();
Ext.Shadow=function(d){Ext.apply(this,d);if(typeof this.mode!="string"){this.mode=this.defaultMode}var e=this.offset,c={h:0};var b=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":c.w=0;c.l=c.t=e;c.t-=1;if(Ext.isIE){c.l-=this.offset+b;c.t-=this.offset+b;c.w-=b;c.h-=b;c.t+=1}break;case"sides":c.w=(e*2);c.l=-e;c.t=e-1;if(Ext.isIE){c.l-=(this.offset-b);c.t-=this.offset+b;c.l+=1;c.w-=(this.offset-b)*2;c.w-=b+1;c.h-=1}break;case"frame":c.w=c.h=(e*2);c.l=c.t=-e;c.t+=1;c.h-=2;if(Ext.isIE){c.l-=(this.offset-b);c.t-=(this.offset-b);c.l+=1;c.w-=(this.offset+b+1);c.h-=(this.offset+b);c.h+=1}break}this.adjusts=c};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(a){a=Ext.get(a);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=a.dom){this.el.insertBefore(a)}}this.el.setStyle("z-index",this.zIndex||parseInt(a.getStyle("z-index"),10)-1);if(Ext.isIE){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"}this.realign(a.getLeft(true),a.getTop(true),a.getWidth(),a.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(b,q,p,f){if(!this.el){return}var m=this.adjusts,j=this.el.dom,r=j.style;var g=0;r.left=(b+m.l)+"px";r.top=(q+m.t)+"px";var o=(p+m.w),e=(f+m.h),i=o+"px",n=e+"px";if(r.width!=i||r.height!=n){r.width=i;r.height=n;if(!Ext.isIE){var k=j.childNodes;var c=Math.max(0,(o-12))+"px";k[0].childNodes[1].style.width=c;k[1].childNodes[1].style.width=c;k[2].childNodes[1].style.width=c;k[1].style.height=Math.max(0,(e-12))+"px"}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}}};Ext.Shadow.Pool=function(){var b=[];var a=Ext.isIE?'<div class="x-ie-shadow"></div>':'<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';return{pull:function(){var c=b.shift();if(!c){c=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,a));c.autoBoxAdjust=false}return c},push:function(c){b.push(c)}}}();
Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(b,d){if(typeof b=="object"){d=b.height;b=b.width}if(!this.boxReady){this.width=b;this.height=d;return this}if(this.lastSize&&this.lastSize.width==b&&this.lastSize.height==d){return this}this.lastSize={width:b,height:d};var c=this.adjustSize(b,d);var f=c.width,a=c.height;if(f!==undefined||a!==undefined){var e=this.getResizeEl();if(!this.deferHeight&&f!==undefined&&a!==undefined){e.setSize(f,a)}else{if(!this.deferHeight&&a!==undefined){e.setHeight(a)}else{if(f!==undefined){e.setWidth(f)}}}this.onResize(f,a,b,d);this.fireEvent("resize",this,f,a,b,d)}return this},setWidth:function(a){return this.setSize(a)},setHeight:function(a){return this.setSize(undefined,a)},getSize:function(){return this.el.getSize()},getPosition:function(a){if(a===true){return[this.el.getLeft(true),this.el.getTop(true)]}return this.xy||this.el.getXY()},getBox:function(a){var b=this.el.getSize();if(a===true){b.x=this.el.getLeft(true);b.y=this.el.getTop(true)}else{var c=this.xy||this.el.getXY();b.x=c[0];b.y=c[1]}return b},updateBox:function(a){this.setSize(a.width,a.height);this.setPagePosition(a.x,a.y);return this},getResizeEl:function(){return this.resizeEl||this.el},getPositionEl:function(){return this.positionEl||this.el},setPosition:function(a,f){if(a&&typeof a[1]=="number"){f=a[1];a=a[0]}this.x=a;this.y=f;if(!this.boxReady){return this}var b=this.adjustPosition(a,f);var e=b.x,d=b.y;var c=this.getPositionEl();if(e!==undefined||d!==undefined){if(e!==undefined&&d!==undefined){c.setLeftTop(e,d)}else{if(e!==undefined){c.setLeft(e)}else{if(d!==undefined){c.setTop(d)}}}this.onPosition(e,d);this.fireEvent("move",this,e,d)}return this},setPagePosition:function(a,c){if(a&&typeof a[1]=="number"){c=a[1];a=a[0]}this.pageX=a;this.pageY=c;if(!this.boxReady){return}if(a===undefined||c===undefined){return}var b=this.el.translatePoints(a,c);this.setPosition(b.left,b.top);return this},onRender:function(b,a){Ext.BoxComponent.superclass.onRender.call(this,b,a);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);this.boxReady=true;this.setSize(this.width,this.height);if(this.x||this.y){this.setPosition(this.x,this.y)}else{if(this.pageX||this.pageY){this.setPagePosition(this.pageX,this.pageY)}}},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.el.getWidth(),this.autoHeight?undefined:this.el.getHeight());return this},onResize:function(d,b,a,c){},onPosition:function(a,b){},adjustSize:function(a,b){if(this.autoWidth){a="auto"}if(this.autoHeight){b="auto"}return{width:a,height:b}},adjustPosition:function(a,b){return{x:a,y:b}}});Ext.reg("box",Ext.BoxComponent);
Ext.SplitBar = function (C, E, B, D, A) { this.el = Ext.get(C, true); this.el.dom.unselectable = "on"; this.resizingEl = Ext.get(E, true); this.orientation = B || Ext.SplitBar.HORIZONTAL; this.minSize = 0; this.maxSize = 2000; this.animate = false; this.useShim = false; this.shim = null; if (!A) { this.proxy = Ext.SplitBar.createProxy(this.orientation) } else { this.proxy = Ext.get(A).dom } this.dd = new Ext.dd.DDProxy(this.el.dom.id, "XSplitBars", { dragElId: this.proxy.id }); this.dd.b4StartDrag = this.onStartProxyDrag.createDelegate(this); this.dd.endDrag = this.onEndProxyDrag.createDelegate(this); this.dragSpecs = {}; this.adapter = new Ext.SplitBar.BasicLayoutAdapter(); this.adapter.init(this); if (this.orientation == Ext.SplitBar.HORIZONTAL) { this.placement = D || (this.el.getX() > this.resizingEl.getX() ? Ext.SplitBar.LEFT : Ext.SplitBar.RIGHT); this.el.addClass("x-splitbar-h") } else { this.placement = D || (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 (A, E) { this.fireEvent("beforeresize", this); this.overlay = Ext.DomHelper.append(document.body, { cls: "x-drag-overlay", html: "&#160;" }, true); this.overlay.unselectable(); this.overlay.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true)); this.overlay.show(); Ext.get(this.proxy).setDisplayed("block"); var C = this.adapter.getElementSize(this); this.activeMinSize = this.getMinimumSize(); this.activeMaxSize = this.getMaximumSize(); var D = C - this.activeMinSize; var B = Math.max(this.activeMaxSize - C, 0); if (this.orientation == Ext.SplitBar.HORIZONTAL) { this.dd.resetConstraints(); this.dd.setXConstraint(this.placement == Ext.SplitBar.LEFT ? D : B, this.placement == Ext.SplitBar.LEFT ? B : D); this.dd.setYConstraint(0, 0) } else { this.dd.resetConstraints(); this.dd.setXConstraint(0, 0); this.dd.setYConstraint(this.placement == Ext.SplitBar.TOP ? D : B, this.placement == Ext.SplitBar.TOP ? B : D) } this.dragSpecs.startSize = C; this.dragSpecs.startPoint = [A, E]; Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd, A, E) }, onEndProxyDrag: function (C) { Ext.get(this.proxy).setDisplayed(false); var B = Ext.lib.Event.getXY(C); if (this.overlay) { this.overlay.remove(); delete this.overlay } var A; if (this.orientation == Ext.SplitBar.HORIZONTAL) { A = this.dragSpecs.startSize + (this.placement == Ext.SplitBar.LEFT ? B[0] - this.dragSpecs.startPoint[0] : this.dragSpecs.startPoint[0] - B[0]) } else { A = this.dragSpecs.startSize + (this.placement == Ext.SplitBar.TOP ? B[1] - this.dragSpecs.startPoint[1] : this.dragSpecs.startPoint[1] - B[1]) } A = Math.min(Math.max(A, this.activeMinSize), this.activeMaxSize); if (A != this.dragSpecs.startSize) { if (this.fireEvent("beforeapply", this, A) !== false) { this.adapter.setElementSize(this, A); this.fireEvent("moved", this, A); this.fireEvent("resize", this, A) } } }, getAdapter: function () { return this.adapter }, setAdapter: function (A) { this.adapter = A; this.adapter.init(this) }, getMinimumSize: function () { return this.minSize }, setMinimumSize: function (A) { this.minSize = A }, getMaximumSize: function () { return this.maxSize }, setMaximumSize: function (A) { this.maxSize = A }, setCurrentSize: function (B) { var A = this.animate; this.animate = false; this.adapter.setElementSize(this, B); this.animate = A }, destroy: function (A) { if (this.shim) { this.shim.remove() } this.dd.unreg(); Ext.removeNode(this.proxy); if (A) { this.el.remove() } } }); Ext.SplitBar.createProxy = function (B) { var C = new Ext.Element(document.createElement("div")); C.unselectable(); var A = "x-splitbar-proxy"; C.addClass(A + " " + (B == Ext.SplitBar.HORIZONTAL ? A + "-h" : A + "-v")); document.body.appendChild(C.dom); return C.dom }; Ext.SplitBar.BasicLayoutAdapter = function () { }; Ext.SplitBar.BasicLayoutAdapter.prototype = { init: function (A) { }, getElementSize: function (A) { if (A.orientation == Ext.SplitBar.HORIZONTAL) { return A.resizingEl.getWidth() } else { return A.resizingEl.getHeight() } }, setElementSize: function (B, A, C) { if (B.orientation == Ext.SplitBar.HORIZONTAL) { if (!B.animate) { B.resizingEl.setWidth(A); if (C) { C(B, A) } } else { B.resizingEl.setWidth(A, true, 0.1, C, "easeOut") } } else { if (!B.animate) { B.resizingEl.setHeight(A); if (C) { C(B, A) } } else { B.resizingEl.setHeight(A, true, 0.1, C, "easeOut") } } } }; Ext.SplitBar.AbsoluteLayoutAdapter = function (A) { this.basic = new Ext.SplitBar.BasicLayoutAdapter(); this.container = Ext.get(A) }; Ext.SplitBar.AbsoluteLayoutAdapter.prototype = { init: function (A) { this.basic.init(A) }, getElementSize: function (A) { return this.basic.getElementSize(A) }, setElementSize: function (B, A, C) { this.basic.setElementSize(B, A, this.moveSplitter.createDelegate(this, [B])) }, moveSplitter: function (A) { var B = Ext.SplitBar; switch (A.placement) { case B.LEFT: A.el.setX(A.resizingEl.getRight()); break; case B.RIGHT: A.el.setStyle("right", (this.container.getWidth() - A.resizingEl.getLeft()) + "px"); break; case B.TOP: A.el.setY(A.resizingEl.getBottom()); break; case B.BOTTOM: A.el.setY(A.resizingEl.getTop() - A.el.getHeight()); break } } }; Ext.SplitBar.VERTICAL = 1; Ext.SplitBar.HORIZONTAL = 2; Ext.SplitBar.LEFT = 1; Ext.SplitBar.RIGHT = 2; Ext.SplitBar.TOP = 3; Ext.SplitBar.BOTTOM = 4;
Ext.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(typeof this.tpl=="string"){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","selectionchange","beforeselect");this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},onRender:function(){if(!this.el){this.el=document.createElement("div");this.el.id=this.id}Ext.DataView.superclass.onRender.apply(this,arguments)},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.el.on({click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass||this.trackOver){this.el.on({mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this})}if(this.store){this.setStore(this.store,true)}},refresh:function(){this.clearSelections(false,true);this.el.update("");var a=this.store.getRange();if(a.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){this.el.update(this.emptyText)}this.hasSkippedEmptyText=true;this.all.clear();return}this.tpl.overwrite(this.el,this.collectData(a,0));this.all.fill(Ext.query(this.itemSelector,this.el.dom));this.updateIndexes(0)},prepareData:function(a){return a},collectData:function(b,e){var d=[];for(var c=0,a=b.length;c<a;c++){d[d.length]=this.prepareData(b[c].data,e+c,b[c])}return d},bufferRender:function(a){var b=document.createElement("div");this.tpl.overwrite(b,this.collectData(a));return Ext.query(this.itemSelector,b)},onUpdate:function(f,a){var b=this.store.indexOf(a);var e=this.isSelected(b);var c=this.all.elements[b];var d=this.bufferRender([a],b)[0];this.all.replaceElement(b,d,true);if(e){this.selected.replaceElement(c,d);this.all.item(b).addClass(this.selectedClass)}this.updateIndexes(b,b)},onAdd:function(f,d,e){if(this.all.getCount()==0){this.refresh();return}var c=this.bufferRender(d,e),g,b=this.all.elements;if(e<this.all.getCount()){g=this.all.item(e).insertSibling(c,"before",true);b.splice.apply(b,[e,0].concat(c))}else{g=this.all.last().insertSibling(c,"after",true);b.push.apply(b,c)}this.updateIndexes(e)},onRemove:function(c,a,b){this.deselect(b);this.all.removeElement(b,true);this.updateIndexes(b)},refreshNode:function(a){this.onUpdate(this.store,this.store.getAt(a))},updateIndexes:function(d,c){var b=this.all.elements;d=d||0;c=c||((c===0)?0:(b.length-1));for(var a=d;a<=c;a++){b[a].viewIndex=a}},getStore:function(){return this.store},setStore:function(a,b){if(!b&&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(a){a=Ext.StoreMgr.lookup(a);a.on("beforeload",this.onBeforeLoad,this);a.on("datachanged",this.refresh,this);a.on("add",this.onAdd,this);a.on("remove",this.onRemove,this);a.on("update",this.onUpdate,this);a.on("clear",this.refresh,this)}this.store=a;if(a){this.refresh()}},findItemFromChild:function(a){return Ext.fly(a).findParent(this.itemSelector,this.el)},onClick:function(c){var b=c.getTarget(this.itemSelector,this.el);if(b){var a=this.indexOf(b);if(this.onItemClick(b,a,c)!==false){this.fireEvent("click",this,a,b,c)}}else{if(this.fireEvent("containerclick",this,c)!==false){this.clearSelections()}}},onContextMenu:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a){this.fireEvent("contextmenu",this,this.indexOf(a),a,b)}},onDblClick:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a){this.fireEvent("dblclick",this,this.indexOf(a),a,b)}},onMouseOver:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a&&a!==this.lastItem){this.lastItem=a;Ext.fly(a).addClass(this.overClass);this.fireEvent("mouseenter",this,this.indexOf(a),a,b)}},onMouseOut:function(a){if(this.lastItem){if(!a.within(this.lastItem,true,true)){Ext.fly(this.lastItem).removeClass(this.overClass);this.fireEvent("mouseleave",this,this.indexOf(this.lastItem),this.lastItem,a);delete this.lastItem}}},onItemClick:function(b,a,c){if(this.fireEvent("beforeclick",this,a,b,c)===false){return false}if(this.multiSelect){this.doMultiSelection(b,a,c);c.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(b,a,c);c.preventDefault()}}return true},doSingleSelection:function(b,a,c){if(c.ctrlKey&&this.isSelected(a)){this.deselect(a)}else{this.select(a,false)}},doMultiSelection:function(c,a,d){if(d.shiftKey&&this.last!==false){var b=this.last;this.selectRange(b,a,d.ctrlKey);this.last=b}else{if((d.ctrlKey||this.simpleSelect)&&this.isSelected(a)){this.deselect(a)}else{this.select(a,d.ctrlKey||d.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var b=[],d=this.selected.elements;for(var c=0,a=d.length;c<a;c++){b.push(d[c].viewIndex)}return b},getSelectedRecords:function(){var d=[],c=this.selected.elements;for(var b=0,a=c.length;b<a;b++){d[d.length]=this.store.getAt(c[b].viewIndex)}return d},getRecords:function(b){var e=[],d=b;for(var c=0,a=d.length;c<a;c++){e[e.length]=this.store.getAt(d[c].viewIndex)}return e},getRecord:function(a){return this.store.getAt(a.viewIndex)},clearSelections:function(a,b){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!b){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!a){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(a){return this.selected.contains(this.getNode(a))},deselect:function(a){if(this.isSelected(a)){a=this.getNode(a);this.selected.removeElement(a);if(this.last==a.viewIndex){this.last=false}Ext.fly(a).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(d,f,b){if(Ext.isArray(d)){if(!f){this.clearSelections(true)}for(var c=0,a=d.length;c<a;c++){this.select(d[c],true,true)}if(!b){this.fireEvent("selectionchange",this,this.selected.elements)}}else{var e=this.getNode(d);if(!f){this.clearSelections(true)}if(e&&!this.isSelected(e)){if(this.fireEvent("beforeselect",this,e,this.selected.elements)!==false){Ext.fly(e).addClass(this.selectedClass);this.selected.add(e);this.last=e.viewIndex;if(!b){this.fireEvent("selectionchange",this,this.selected.elements)}}}}},selectRange:function(c,a,b){if(!b){this.clearSelections(true)}this.select(this.getNodes(c,a),true)},getNode:function(a){if(typeof a=="string"){return document.getElementById(a)}else{if(typeof a=="number"){return this.all.elements[a]}}return a},getNodes:function(e,a){var d=this.all.elements;e=e||0;a=typeof a=="undefined"?Math.max(d.length-1,0):a;var b=[],c;if(e<=a){for(c=e;c<=a&&d[c];c++){b.push(d[c])}}else{for(c=e;c>=a&&d[c];c--){b.push(d[c])}}return b},indexOf:function(a){a=this.getNode(a);if(typeof a.viewIndex=="number"){return a.viewIndex}return this.all.indexOf(a)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.el.update('<div class="loading-indicator">'+this.loadingText+"</div>");this.all.clear()}},onDestroy:function(){Ext.DataView.superclass.onDestroy.call(this);this.setStore(null)}});Ext.reg("dataview",Ext.DataView);
Ext.Editor=function(b,a){this.field=b;Ext.Editor.superclass.constructor.call(this,a)};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(b,a){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:b,shim:this.shim,shadowOffset:4,id:this.id,constrain:this.constrain});this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute("autocomplete","off")}this.field.on("specialkey",this.onSpecialKey,this);if(this.swallowKeys){this.field.el.swallowEvent(["keydown","keypress"])}this.field.show();this.field.on("blur",this.onBlur,this);if(this.field.grow){this.field.on("autosize",this.el.sync,this.el,{delay:1})}},onSpecialKey:function(c,b){var a=b.getKey();if(this.completeOnEnter&&a==b.ENTER){b.stopEvent();this.completeEdit()}else{if(this.cancelOnEsc&&a==b.ESC){this.cancelEdit()}else{this.fireEvent("specialkey",c,b)}}if(this.field.triggerBlur&&(a==b.ENTER||a==b.ESC||a==b.TAB)){this.field.triggerBlur()}},startEdit:function(b,c){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(b);var a=c!==undefined?c:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,a)===false){return}this.startValue=a;this.field.setValue(a);this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show()},doAutoSize:function(){if(this.autoSize){var a=this.boundEl.getSize();switch(this.autoSize){case"width":this.setSize(a.width,"");break;case"height":this.setSize("",a.height);break;default:this.setSize(a.width,a.height)}}},setSize:function(a,b){delete this.field.lastSize;this.field.setSize(a,b);if(this.el){if(Ext.isGecko2||Ext.isOpera){this.el.setSize(a,b)}this.el.sync()}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)},completeEdit:function(a){if(!this.editing){return}var b=this.getValue();if(this.revertInvalid!==false&&!this.field.isValid()){b=this.startValue;this.cancelEdit(true)}if(String(b)===String(this.startValue)&&this.ignoreNoChange){this.editing=false;this.hide();return}if(this.fireEvent("beforecomplete",this,b,this.startValue)!==false){this.editing=false;if(this.updateEl&&this.boundEl){this.boundEl.update(b)}if(a!==true){this.hide()}this.fireEvent("complete",this,b,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(a){if(this.editing){var b=this.getValue();this.setValue(this.startValue);if(a!==true){this.hide()}this.fireEvent("canceledit",this,b,this.startValue)}},onBlur:function(){if(this.allowBlur!==true&&this.editing){this.completeEdit()}},onHide:function(){if(this.editing){this.completeEdit();return}this.field.blur();if(this.field.collapse){this.field.collapse()}this.el.hide();if(this.hideEl!==false){this.boundEl.show()}},setValue:function(a){this.field.setValue(a)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){Ext.destroy(this.field);this.field=null}});Ext.reg("editor",Ext.Editor);
Ext.tree.TreeEditor=function(a,c,b){c=c||{};var d=c.events?c:new Ext.form.TextField(c);Ext.tree.TreeEditor.superclass.constructor.call(this,d,b);this.tree=a;if(!a.rendered){a.on("render",this.initEditor,this)}else{this.initEditor(a)}};Ext.extend(Ext.tree.TreeEditor,Ext.Editor,{alignment:"l-l",autoSize:false,hideEl:false,cls:"x-small-editor x-tree-editor",shim:false,shadow:"frame",maxWidth:250,editDelay:350,initEditor:function(a){a.on("beforeclick",this.beforeNodeClick,this);a.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(b,c){var e=this.tree.getTreeEl().dom,d=c.dom;if(e.scrollLeft>d.offsetLeft){e.scrollLeft=d.offsetLeft}var a=Math.min(this.maxWidth,(e.clientWidth>20?e.clientWidth:e.offsetWidth)-Math.max(0,d.offsetLeft-e.scrollLeft)-5);this.setSize(a,"")},triggerEdit:function(a,b){this.completeEdit();if(a.attributes.editable!==false){this.editNode=a;if(this.tree.autoScroll){a.ui.getEl().scrollIntoView(this.tree.body)}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[a.ui.textNode,a.text]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(a,b){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(a)){b.stopEvent();return this.triggerEdit(a)}},onNodeDblClick:function(a,b){clearTimeout(this.autoEditTimer)},updateNode:function(a,b){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(b)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(c,b){var a=b.getKey();if(a==b.ESC){b.stopEvent();this.cancelEdit()}else{if(a==b.ENTER&&!b.hasModifier()){b.stopEvent();this.completeEdit()}}}});
Ext.form.Field=Ext.extend(Ext.BoxComponent,{invalidClass:"x-form-invalid",invalidText:"The value in this field is invalid",focusClass:"x-form-focus",validationEvent:"keyup",validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:"input",type:"text",size:"20",autocomplete:"off"},fieldClass:"x-form-field",msgTarget:"qtip",msgFx:"normal",readOnly:false,disabled:false,isFormField:true,hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:(this.hiddenName||"")},onRender:function(c,a){Ext.form.Field.superclass.onRender.call(this,c,a);if(!this.el){var b=this.getAutoCreate();if(!b.name){b.name=this.name||this.id}if(this.inputType){b.type=this.inputType}this.el=c.createChild(b,a)}var d=this.el.dom.type;if(d){if(d=="password"){d="text"}this.el.addClass("x-form-"+d)}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])},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(this.el.dom.value.length>0&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)}}this.originalValue=this.getValue()},isDirty:function(){if(this.disabled){return false}return String(this.getValue())!==String(this.originalValue)},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(a){if(a.isSpecialKey()){this.fireEvent("specialkey",this,a)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.el.on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.fireKey,this);this.el.on("focus",this.onFocus,this);var a=this.inEditor&&Ext.isWindows&&Ext.isGecko?{buffer:10}:null;this.el.on("blur",this.onBlur,this,a)},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 a=this.getValue();if(String(a)!==String(this.startValue)){this.fireEvent("change",this,a,this.startValue)}this.fireEvent("blur",this)},isValid:function(a){if(this.disabled){return true}var c=this.preventMark;this.preventMark=a===true;var b=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=c;return b},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(a){return a},validateValue:function(a){return true},markInvalid:function(c){if(!this.rendered||this.preventMark){return}this.el.addClass(this.invalidClass);c=c||this.invalidText;switch(this.msgTarget){case"qtip":this.el.dom.qtip=c;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}break;case"title":this.el.dom.title=c;break;case"under":if(!this.errorEl){var b=this.getErrorCt();if(!b){this.el.dom.title=c;break}this.errorEl=b.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(b.getWidth(true)-20)}this.errorEl.update(c);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case"side":if(!this.errorIcon){var b=this.getErrorCt();if(!b){this.el.dom.title=c;break}this.errorIcon=b.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=c;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this);break;default:var a=Ext.getDom(this.msgTarget);a.innerHTML=c;a.style.display=this.msgDisplay;break}this.fireEvent("invalid",this,c)},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},clearInvalid:function(){if(!this.rendered||this.preventMark){return}this.el.removeClass(this.invalidClass);switch(this.msgTarget){case"qtip":this.el.dom.qtip="";break;case"title":this.el.dom.title="";break;case"under":if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}break;case"side":if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}break;default:var a=Ext.getDom(this.msgTarget);a.innerHTML="";a.style.display="none";break}this.fireEvent("valid",this)},getRawValue:function(){var a=this.rendered?this.el.getValue():Ext.value(this.value,"");if(a===this.emptyText){a=""}return a},getValue:function(){if(!this.rendered){return this.value}var a=this.el.getValue();if(a===this.emptyText||a===undefined){a=""}return a},setRawValue:function(a){return this.el.dom.value=(a===null||a===undefined?"":a)},setValue:function(a){this.value=a;if(this.rendered){this.el.dom.value=(a===null||a===undefined?"":a);this.validate()}},adjustSize:function(a,c){var b=Ext.form.Field.superclass.adjustSize.call(this,a,c);b.width=this.adjustWidth(this.el.dom.tagName,b.width);return b},adjustWidth:function(a,b){a=a.toLowerCase();if(typeof b=="number"&&!Ext.isSafari){if(Ext.isIE&&(a=="input"||a=="textarea")){if(a=="input"&&!Ext.isStrict){return this.inEditor?b:b-3}if(a=="input"&&Ext.isStrict){return b-(Ext.isIE6?4:1)}if(a=="textarea"&&Ext.isStrict){return b-2}}else{if(Ext.isOpera&&Ext.isStrict){if(a=="input"){return b+2}if(a=="textarea"){return b-2}}}}return b}});Ext.form.MessageTargets={qtip:{mark:function(a){this.el.dom.qtip=msg;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(a){this.el.dom.qtip=""}},title:{mark:function(a){this.el.dom.title=msg},clear:function(a){this.el.dom.title=""}},under:{mark:function(b){if(!this.errorEl){var a=this.getErrorCt();if(!a){this.el.dom.title=msg;return}this.errorEl=a.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(a.getWidth(true)-20)}this.errorEl.update(msg);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this)},clear:function(a){if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}else{this.el.dom.title=""}}},side:{mark:function(b){if(!this.errorIcon){var a=this.getErrorCt();if(!a){this.el.dom.title=msg;return}this.errorIcon=a.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=msg;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this)},clear:function(a){if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}else{this.el.dom.title=""}}},around:{mark:function(a){},clear:function(a){}}};Ext.form.Field.msgFx={normal:{show:function(a,b){a.setDisplayed("block")},hide:function(a,b){a.setDisplayed(false).update("")}},slide:{show:function(a,b){a.slideIn("t",{stopFx:true})},hide:function(a,b){a.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(a,b){a.fixDisplay();a.alignTo(b.el,"tl-tr");a.slideIn("l",{stopFx:true})},hide:function(a,b){a.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",Ext.form.Field);
Ext.form.TextField=Ext.extend(Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.el.on("keyup",this.filterValidation,this)}else{if(this.validationEvent!==false){this.el.on(this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.on("focus",this.preFocus,this);this.el.on("mousedown",function(){if(!this.hasFocus){this.el.on("mouseup",function(a){a.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.el.on("keypress",this.filterKeys,this)}if(this.grow){this.el.on("keyup",this.onKeyUpBuffered,this,{buffer:50});this.el.on("click",this.autoSize,this)}if(this.enableKeyEvents){this.el.on("keyup",this.onKeyUp,this);this.el.on("keydown",this.onKeyDown,this);this.el.on("keypress",this.onKeyPress,this)}},processValue:function(a){if(this.stripCharsRe){var b=a.replace(this.stripCharsRe,"");if(b!==a){this.setRawValue(b);return b}}return a},filterValidation:function(a){if(!a.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable="on"}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=""}},onKeyUpBuffered:function(a){if(!a.isNavKeyPress()){this.autoSize()}},onKeyUp:function(a){this.fireEvent("keyup",this,a)},onKeyDown:function(a){this.fireEvent("keydown",this,a)},onKeyPress:function(a){this.fireEvent("keypress",this,a)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){if(this.emptyText){if(this.el.dom.value==this.emptyText){this.setRawValue("")}this.el.removeClass(this.emptyClass)}if(this.selectOnFocus){this.el.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(b){if(b.ctrlKey){return}var a=b.getKey();if(Ext.isGecko&&(b.isNavKeyPress()||a==b.BACKSPACE||(a==b.DELETE&&b.button==-1))){return}var f=b.getCharCode(),d=String.fromCharCode(f);if(!Ext.isGecko&&b.isSpecialKey()&&!d){return}if(!this.maskRe.test(d)){b.stopEvent()}},setValue:function(a){if(this.emptyText&&this.el&&a!==undefined&&a!==null&&a!==""){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize()},validateValue:function(a){if(a.length<1||a===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(a.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(a.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var c=Ext.form.VTypes;if(!c[this.vtype](a,this)){this.markInvalid(this.vtypeText||c[this.vtype+"Text"]);return false}}if(typeof this.validator=="function"){var b=this.validator(a);if(b!==true){this.markInvalid(b);return false}}if(this.regex&&!this.regex.test(a)){this.markInvalid(this.regexText);return false}return true},selectText:function(g,a){var c=this.getRawValue();var e=false;if(c.length>0){g=g===undefined?0:g;a=a===undefined?c.length:a;var f=this.el.dom;if(f.setSelectionRange){f.setSelectionRange(g,a)}else{if(f.createTextRange){var b=f.createTextRange();b.moveStart("character",g);b.moveEnd("character",a-c.length);b.select()}}e=Ext.isGecko||Ext.isOpera}else{e=true}if(e){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var c=this.el;var b=c.dom.value;var e=document.createElement("div");e.appendChild(document.createTextNode(b));b=e.innerHTML;Ext.removeNode(e);e=null;b+="&#160;";var a=Math.min(this.growMax,Math.max(this.metrics.getWidth(b)+10,this.growMin));this.el.setWidth(a);this.fireEvent("autosize",this,a)}});Ext.reg("textfield",Ext.form.TextField);
Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,onResize:function(a,b){Ext.form.TriggerField.superclass.onResize.call(this,a,b);if(typeof a=="number"){this.el.setWidth(this.adjustWidth("input",a-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(b,a){Ext.form.TriggerField.superclass.onRender.call(this,b,a);this.wrap=this.el.wrap({cls:"x-form-field-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.triggerClass});if(this.hideTrigger){this.trigger.setDisplayed(false)}this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var a;if(Ext.isIE&&!this.hideTrigger&&this.el.getY()!=(a=this.trigger.getY())){this.el.position();this.el.setY(a)}},initTrigger:function(){this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){if(this.trigger){this.trigger.removeAllListeners();this.trigger.remove()}if(this.wrap){this.wrap.remove()}Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass("x-trigger-wrap-focus");this.mimicing=true;Ext.get(Ext.isIE?document.body:document).on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.el.on("keydown",this.checkTab,this)}}},checkTab:function(a){if(a.getKey()==a.TAB){this.triggerBlur()}},onBlur:function(){},mimicBlur:function(a){if(!this.wrap.contains(a.target)&&this.validateBlur(a)){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)}this.beforeBlur();if(this.wrap){this.wrap.removeClass("x-trigger-wrap-focus")}Ext.form.TriggerField.superclass.onBlur.call(this)},beforeBlur:Ext.emptyFn,validateBlur:function(a){return true},onDisable:function(){Ext.form.TriggerField.superclass.onDisable.call(this);if(this.wrap){this.wrap.addClass(this.disabledClass);this.el.removeClass(this.disabledClass)}},onEnable:function(){Ext.form.TriggerField.superclass.onEnable.call(this);if(this.wrap){this.wrap.removeClass(this.disabledClass)}},onShow:function(){if(this.wrap){this.wrap.dom.style.display="";this.wrap.dom.style.visibility="visible"}},onHide:function(){this.wrap.dom.style.display="none"},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(a){return this.triggers[a]},initTrigger:function(){var a=this.trigger.select(".x-form-trigger",true);this.wrap.setStyle("overflow","hidden");var b=this;a.each(function(d,f,c){d.hide=function(){var g=b.wrap.getWidth();this.dom.style.display="none";b.el.setWidth(g-b.trigger.getWidth())};d.show=function(){var g=b.wrap.getWidth();this.dom.style.display="";b.el.setWidth(g-b.trigger.getWidth())};var e="Trigger"+(c+1);if(this["hide"+e]){d.dom.style.display="none"}d.on("click",this["on"+e+"Click"],this,{preventDefault:true});d.addClassOnOver("x-form-trigger-over");d.addClassOnClick("x-form-trigger-click")},this);this.triggers=a.elements},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg("trigger",Ext.form.TriggerField);
Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",selectedClass:"x-combo-selected",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,triggerAction:"query",minChars:4,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:"query",loadingText:"Loading...",resizable:false,handleHeight:8,editable:true,allQuery:"",mode:"remote",minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){this.allowDomMove=false;var c=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=c.name}if(!this.store){this.mode="local";var h=[],e=c.options;for(var b=0,a=e.length;b<a;b++){var g=e[b];var f=(Ext.isIE?g.getAttributeNode("value").specified:g.hasAttribute("value"))?g.value:g.text;if(g.selected){this.value=f}h.push([f,g.text])}this.store=new Ext.data.SimpleStore({id:0,fields:["value","text"],data:h});this.valueField="value";this.displayField="text"}c.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(c,this.autoCreate||this.defaultAutoCreate);Ext.removeNode(c);this.render(this.el.parentNode)}else{Ext.removeNode(c)}}else{if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.SimpleStore({fields:["value","text"],data:this.store});this.valueField="value"}else{this.store=new Ext.data.SimpleStore({fields:["text"],data:this.store,expandData:true});this.valueField="text"}this.displayField="text";this.mode="local"}}this.selectedIndex=-1;if(this.mode=="local"){if(this.initialConfig.queryDelay===undefined){this.queryDelay=10}if(this.initialConfig.minChars===undefined){this.minChars=0}}},onRender:function(b,a){Ext.form.ComboBox.superclass.onRender.call(this,b,a);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},"before",true);this.el.dom.removeAttribute("name")}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}if(!this.lazyInit){this.initList()}else{this.on("focus",this.initList,this,{single:true})}if(!this.editable){this.editable=true;this.setEditable(false)}},initValue:function(){Ext.form.ComboBox.superclass.initValue.call(this);if(this.hiddenField){this.hiddenField.value=this.hiddenValue!==undefined?this.hiddenValue:this.value!==undefined?this.value:""}},initList:function(){if(!this.list){var a="x-combo-list";this.list=new Ext.Layer({shadow:this.shadow,cls:[a,this.listClass].join(" "),constrain:false});var b=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(b);this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:a+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:a+"-inner"});this.innerList.on("mouseover",this.onViewOver,this);this.innerList.on("mousemove",this.onViewMove,this);this.innerList.setWidth(b-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:a+"-ft"});this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});this.assetHeight+=this.footer.getHeight()}if(!this.tpl){this.tpl='<tpl for="."><div class="'+a+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+a+"-item"});this.view.on("click",this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.resizer.on("resize",function(e,c,d){this.maxHeight=d-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=c;this.innerList.setWidth(c-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},getStore:function(){return this.store},bindStore:function(a,b){if(this.store&&!b){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.collapse,this);if(!a){this.store=null;if(this.view){this.view.setStore(null)}}}if(a){this.store=Ext.StoreMgr.lookup(a);this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.collapse,this);if(this.view){this.view.setStore(a)}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(a){this.inKeyMode=true;this.selectPrev()},down:function(a){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(a){this.onViewClick();this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)},esc:function(a){this.collapse()},tab:function(a){this.onViewClick(false);return true},scope:this,doRelay:function(c,b,a){if(a=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.editable!==false){this.el.on("keyup",this.onKeyUp,this)}if(this.forceSelection){this.on("blur",this.doForce,this)}},onDestroy:function(){if(this.view){Ext.destroy(this.view)}if(this.list){if(this.innerList){this.innerList.un("mouseover",this.onViewOver,this);this.innerList.un("mousemove",this.onViewMove,this)}this.list.destroy()}if(this.dqTask){this.dqTask.cancel();this.dqTask=null}this.bindStore(null);Ext.form.ComboBox.superclass.onDestroy.call(this)},unsetDelayCheck:function(){delete this.delayedCheck},fireKey:function(a){if(a.isNavKeyPress()&&!this.isExpanded()&&!this.delayedCheck){this.fireEvent("specialkey",this,a)}},onResize:function(a,b){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.list&&this.listWidth===undefined){var c=Math.max(a,this.minListWidth);this.list.setWidth(c);this.innerList.setWidth(c-this.list.getFrameWidth("lr"))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},setEditable:function(a){if(a==this.editable){return}this.editable=a;if(!a){this.el.dom.setAttribute("readOnly",true);this.el.on("mousedown",this.onTriggerClick,this);this.el.addClass("x-combo-noedit")}else{this.el.dom.removeAttribute("readOnly");this.el.un("mousedown",this.onTriggerClick,this);this.el.removeClass("x-combo-noedit")}},onBeforeLoad:function(){if(!this.hasFocus){return}this.innerList.update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+"</div>":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()>0){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(!this.selectByValue(this.value,true)){this.select(0,true)}}else{this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onTypeAhead:function(){if(this.store.getCount()>0){var b=this.store.getAt(0);var c=b.data[this.displayField];var a=c.length;var d=this.getRawValue().length;if(d!=a){this.setRawValue(c);this.selectText(d,c.length)}}},onSelect:function(a,b){if(this.fireEvent("beforeselect",this,a,b)!==false){this.setValue(a.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,a,b)}},getValue:function(){if(this.valueField){return typeof this.value!="undefined"?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(a){var c=a;if(this.valueField){var b=this.findRecord(this.valueField,a);if(b){c=b.data[this.displayField]}else{if(this.valueNotFoundText!==undefined){c=this.valueNotFoundText}}}this.lastSelectionText=c;if(this.hiddenField){this.hiddenField.value=a}Ext.form.ComboBox.superclass.setValue.call(this,c);this.value=a},findRecord:function(c,b){var a;if(this.store.getCount()>0){this.store.each(function(d){if(d.data[c]==b){a=d;return false}})}return a},onViewMove:function(b,a){this.inKeyMode=false},onViewOver:function(d,b){if(this.inKeyMode){return}var c=this.view.findItemFromChild(b);if(c){var a=this.view.indexOf(c);this.select(a,false)}},onViewClick:function(b){var a=this.view.getSelectedIndexes()[0];var c=this.store.getAt(a);if(c){this.onSelect(c,a)}if(b!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var b=this.innerList.dom;var e=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;var c=Math.max(b.clientHeight,b.offsetHeight,b.scrollHeight);var a=this.getPosition()[1]-Ext.getBody().getScroll().top;var f=Ext.lib.Dom.getViewHeight()-a-this.getSize().height;var d=Math.max(a,f,this.minHeight||0)-this.list.shadowOffset-e-5;c=Math.min(c,d,this.maxHeight);this.innerList.setHeight(c);this.list.beginUpdate();this.list.setHeight(c+e);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(a,c){if(a!==undefined&&a!==null){var b=this.findRecord(this.valueField||this.displayField,a);if(b){this.select(this.store.indexOf(b),c);return true}}return false},select:function(a,c){this.selectedIndex=a;this.view.select(a);if(c!==false){var b=this.view.getNode(a);if(b){this.innerList.scrollChildIntoView(b,false)}}},selectNext:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex<a-1){this.select(this.selectedIndex+1)}}}},selectPrev:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!=0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(a){if(this.editable!==false&&!a.isSpecialKey()){this.lastKey=a.getKey();this.dqTask.delay(this.queryDelay)}},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},doForce:function(){if(this.el.dom.value.length>0){this.el.dom.value=this.lastSelectionText===undefined?"":this.lastSelectionText;this.applyEmptyText()}},doQuery:function(c,b){if(c===undefined||c===null){c=""}var a={query:c,forceAll:b,combo:this,cancel:false};if(this.fireEvent("beforequery",a)===false||a.cancel){return false}c=a.query;b=a.forceAll;if(b===true||(c.length>=this.minChars)){if(this.lastQuery!==c){this.lastQuery=c;if(this.mode=="local"){this.selectedIndex=-1;if(b){this.store.clearFilter()}else{this.store.filter(this.displayField,c)}this.onLoad()}else{this.store.baseParams[this.queryParam]=c;this.store.load({params:this.getParams(c)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(a){var b={};if(this.pageSize){b.start=0;b.limit=this.pageSize}return b},collapse:function(){if(!this.isExpanded()){return}this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.fireEvent("collapse",this)},collapseIf:function(a){if(!a.within(this.wrap)&&!a.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return}this.list.alignTo(this.wrap,this.listAlign);this.list.show();this.innerList.setOverflow("auto");Ext.getDoc().on("mousewheel",this.collapseIf,this);Ext.getDoc().on("mousedown",this.collapseIf,this);this.fireEvent("expand",this)},onTriggerClick:function(){if(this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);
Ext.Container = Ext.extend(Ext.BoxComponent, { autoDestroy: true, defaultType: "panel", initComponent: function () { Ext.Container.superclass.initComponent.call(this); this.addEvents("afterlayout", "beforeadd", "beforeremove", "add", "remove"); var A = this.items; if (A) { delete this.items; if (Ext.isArray(A)) { this.add.apply(this, A) } else { this.add(A) } } }, initItems: function () { if (!this.items) { this.items = new Ext.util.MixedCollection(false, this.getComponentId); this.getLayout() } }, setLayout: function (A) { if (this.layout && this.layout != A) { this.layout.setContainer(null) } this.initItems(); this.layout = A; A.setContainer(this) }, render: function () { Ext.Container.superclass.render.apply(this, arguments); if (this.layout) { if (typeof this.layout == "string") { this.layout = new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig) } this.setLayout(this.layout); if (this.activeItem !== undefined) { var A = this.activeItem; delete this.activeItem; this.layout.setActiveItem(A); return } } if (!this.ownerCt) { this.doLayout() } if (this.monitorResize === true) { Ext.EventManager.onWindowResize(this.doLayout, this, [false]) } }, getLayoutTarget: function () { return this.el }, getComponentId: function (A) { return A.itemId || A.id }, add: function (C) { if (!this.items) { this.initItems() } var B = arguments, A = B.length; if (A > 1) { for (var D = 0; D < A; D++) { this.add(B[D]) } return } var F = this.lookupComponent(this.applyDefaults(C)); var E = this.items.length; if (this.fireEvent("beforeadd", this, F, E) !== false && this.onBeforeAdd(F) !== false) { this.items.add(F); F.ownerCt = this; this.fireEvent("add", this, F, E) } return F }, insert: function (D, C) { if (!this.items) { this.initItems() } var B = arguments, A = B.length; if (A > 2) { for (var E = A - 1; E >= 1; --E) { this.insert(D, B[E]) } return } var F = this.lookupComponent(this.applyDefaults(C)); if (F.ownerCt == this && this.items.indexOf(F) < D) { --D } if (this.fireEvent("beforeadd", this, F, D) !== false && this.onBeforeAdd(F) !== false) { this.items.insert(D, F); F.ownerCt = this; this.fireEvent("add", this, F, D) } return F }, applyDefaults: function (A) { if (this.defaults) { if (typeof A == "string") { A = Ext.ComponentMgr.get(A); Ext.apply(A, this.defaults) } else { if (!A.events) { Ext.applyIf(A, this.defaults) } else { Ext.apply(A, this.defaults) } } } return A }, onBeforeAdd: function (A) { if (A.ownerCt) { A.ownerCt.remove(A, false) } if (this.hideBorders === true) { A.border = (A.border === true) } }, remove: function (A, B) { var C = this.getComponent(A); if (C && this.fireEvent("beforeremove", this, C) !== false) { this.items.remove(C); delete C.ownerCt; if (B === true || (B !== false && this.autoDestroy)) { C.destroy() } if (this.layout && this.layout.activeItem == C) { delete this.layout.activeItem } this.fireEvent("remove", this, C) } return C }, getComponent: function (A) { if (typeof A == "object") { return A } return this.items.get(A) }, lookupComponent: function (A) { if (typeof A == "string") { return Ext.ComponentMgr.get(A) } else { if (!A.events) { return this.createComponent(A) } } return A }, createComponent: function (A) { return Ext.ComponentMgr.create(A, this.defaultType) }, doLayout: function (D) { if (this.rendered && this.layout) { this.layout.layout() } if (D !== false && this.items) { var C = this.items.items; for (var B = 0, A = C.length; B < A; B++) { var E = C[B]; if (E.doLayout) { E.doLayout() } } } }, getLayout: function () { if (!this.layout) { var A = new Ext.layout.ContainerLayout(this.layoutConfig); this.setLayout(A) } return this.layout }, onDestroy: function () { if (this.items) { var C = this.items.items; for (var B = 0, A = C.length; B < A; B++) { Ext.destroy(C[B]) } } if (this.monitorResize) { Ext.EventManager.removeResizeListener(this.doLayout, this) } Ext.Container.superclass.onDestroy.call(this) }, bubble: function (C, B, A) { var D = this; while (D) { if (C.apply(B || D, A || [D]) === false) { break } D = D.ownerCt } }, cascade: function (F, E, B) { if (F.apply(E || this, B || [this]) !== false) { if (this.items) { var D = this.items.items; for (var C = 0, A = D.length; C < A; C++) { if (D[C].cascade) { D[C].cascade(F, E, B) } else { F.apply(E || this, B || [D[C]]) } } } } }, findById: function (C) { var A, B = this; this.cascade(function (D) { if (B != D && D.id === C) { A = D; return false } }); return A || null }, findByType: function (A) { return typeof A == "function" ? this.findBy(function (B) { return B.constructor === A }) : this.findBy(function (B) { return B.constructor.xtype === A }) }, find: function (B, A) { return this.findBy(function (C) { return C[B] === A }) }, findBy: function (D, C) { var A = [], B = this; this.cascade(function (E) { if (B != E && D.call(C || E, E, B) === true) { A.push(E) } }); return A } }); Ext.Container.LAYOUTS = {}; Ext.reg("container", Ext.Container);
Ext.layout.ContainerLayout = function (A) { Ext.apply(this, A) }; Ext.layout.ContainerLayout.prototype = { monitorResize: false, activeItem: null, layout: function () { var A = this.container.getLayoutTarget(); this.onLayout(this.container, A); this.container.fireEvent("afterlayout", this.container, this) }, onLayout: function (A, B) { this.renderAll(A, B) }, isValidParent: function (C, B) { var A = C.getPositionEl ? C.getPositionEl() : C.getEl(); return A.dom.parentNode == B.dom }, renderAll: function (D, E) { var B = D.items.items; for (var C = 0, A = B.length; C < A; C++) { var F = B[C]; if (F && (!F.rendered || !this.isValidParent(F, E))) { this.renderItem(F, C, E) } } }, renderItem: function (D, A, C) { if (D && !D.rendered) { D.render(C, A); if (this.extraCls) { var B = D.getPositionEl ? D.getPositionEl() : D; B.addClass(this.extraCls) } if (this.renderHidden && D != this.activeItem) { D.hide() } } else { if (D && !this.isValidParent(D, C)) { if (this.extraCls) { D.addClass(this.extraCls) } if (typeof A == "number") { A = C.dom.childNodes[A] } C.dom.insertBefore(D.getEl().dom, A || null); if (this.renderHidden && D != this.activeItem) { D.hide() } } } }, onResize: function () { if (this.container.collapsed) { return } var A = this.container.bufferResize; if (A) { if (!this.resizeTask) { this.resizeTask = new Ext.util.DelayedTask(this.layout, this); this.resizeBuffer = typeof A == "number" ? A : 100 } this.resizeTask.delay(this.resizeBuffer) } else { this.layout() } }, setContainer: function (A) { if (this.monitorResize && A != this.container) { if (this.container) { this.container.un("resize", this.onResize, this) } if (A) { A.on("resize", this.onResize, this) } } this.container = A }, parseMargins: function (B) { var C = B.split(" "); var A = C.length; if (A == 1) { C[1] = C[0]; C[2] = C[0]; C[3] = C[0] } if (A == 2) { C[2] = C[0]; C[3] = C[1] } return { top: parseInt(C[0], 10) || 0, right: parseInt(C[1], 10) || 0, bottom: parseInt(C[2], 10) || 0, left: parseInt(C[3], 10) || 0} } }; Ext.Container.LAYOUTS["auto"] = Ext.layout.ContainerLayout;
Ext.layout.FitLayout = Ext.extend(Ext.layout.ContainerLayout, { monitorResize: true, onLayout: function (A, B) { Ext.layout.FitLayout.superclass.onLayout.call(this, A, B); if (!this.container.collapsed) { this.setItemSize(this.activeItem || A.items.itemAt(0), B.getStyleSize()) } }, setItemSize: function (B, A) { if (B && A.height > 0) { B.setSize(A) } } }); Ext.Container.LAYOUTS["fit"] = Ext.layout.FitLayout;
Ext.layout.CardLayout = Ext.extend(Ext.layout.FitLayout, { deferredRender: false, renderHidden: true, setActiveItem: function (A) { A = this.container.getComponent(A); if (this.activeItem != A) { if (this.activeItem) { this.activeItem.hide() } this.activeItem = A; A.show(); this.layout() } }, renderAll: function (A, B) { if (this.deferredRender) { this.renderItem(this.activeItem, undefined, B) } else { Ext.layout.CardLayout.superclass.renderAll.call(this, A, B) } } }); Ext.Container.LAYOUTS["card"] = Ext.layout.CardLayout;
Ext.layout.AnchorLayout = Ext.extend(Ext.layout.ContainerLayout, { monitorResize: true, getAnchorViewSize: function (A, B) { return B.dom == document.body ? B.getViewSize() : B.getStyleSize() }, onLayout: function (F, I) { Ext.layout.AnchorLayout.superclass.onLayout.call(this, F, I); var O = this.getAnchorViewSize(F, I); var M = O.width, E = O.height; if (M < 20 || E < 20) { return } var B, K; if (F.anchorSize) { if (typeof F.anchorSize == "number") { B = F.anchorSize } else { B = F.anchorSize.width; K = F.anchorSize.height } } else { B = F.initialConfig.width; K = F.initialConfig.height } var H = F.items.items, G = H.length, D, J, L, C, A; for (D = 0; D < G; D++) { J = H[D]; if (J.anchor) { L = J.anchorSpec; if (!L) { var N = J.anchor.split(" "); J.anchorSpec = L = { right: this.parseAnchor(N[0], J.initialConfig.width, B), bottom: this.parseAnchor(N[1], J.initialConfig.height, K)} } C = L.right ? this.adjustWidthAnchor(L.right(M), J) : undefined; A = L.bottom ? this.adjustHeightAnchor(L.bottom(E), J) : undefined; if (C || A) { J.setSize(C || undefined, A || undefined) } } } }, parseAnchor: function (B, F, A) { if (B && B != "none") { var D; if (/^(r|right|b|bottom)$/i.test(B)) { var E = A - F; return function (G) { if (G !== D) { D = G; return G - E } } } else { if (B.indexOf("%") != -1) { var C = parseFloat(B.replace("%", "")) * 0.01; return function (G) { if (G !== D) { D = G; return Math.floor(G * C) } } } else { B = parseInt(B, 10); if (!isNaN(B)) { return function (G) { if (G !== D) { D = G; return G + B } } } } } } return false }, adjustWidthAnchor: function (B, A) { return B }, adjustHeightAnchor: function (B, A) { return B } }); Ext.Container.LAYOUTS["anchor"] = Ext.layout.AnchorLayout;
Ext.layout.ColumnLayout = Ext.extend(Ext.layout.ContainerLayout, { monitorResize: true, extraCls: "x-column", scrollOffset: 0, isValidParent: function (B, A) { return B.getEl().dom.parentNode == this.innerCt.dom }, onLayout: function (C, F) { var D = C.items.items, E = D.length, G, A; if (!this.innerCt) { F.addClass("x-column-layout-ct"); this.innerCt = F.createChild({ cls: "x-column-inner" }); this.innerCt.createChild({ cls: "x-clear" }) } this.renderAll(C, this.innerCt); var J = F.getViewSize(); if (J.width < 1 && J.height < 1) { return } var H = J.width - F.getPadding("lr") - this.scrollOffset, B = J.height - F.getPadding("tb"), I = H; this.innerCt.setWidth(H); for (A = 0; A < E; A++) { G = D[A]; if (!G.columnWidth) { I -= (G.getSize().width + G.getEl().getMargins("lr")) } } I = I < 0 ? 0 : I; for (A = 0; A < E; A++) { G = D[A]; if (G.columnWidth) { G.setSize(Math.floor(G.columnWidth * I) - G.getEl().getMargins("lr")) } } } }); Ext.Container.LAYOUTS["column"] = Ext.layout.ColumnLayout;
Ext.layout.BorderLayout = Ext.extend(Ext.layout.ContainerLayout, { monitorResize: true, rendered: false, onLayout: function (B, X) { var C; if (!this.rendered) { X.position(); X.addClass("x-border-layout-ct"); var M = B.items.items; C = []; for (var Q = 0, R = M.length; Q < R; Q++) { var U = M[Q]; var F = U.region; if (U.collapsed) { C.push(U) } U.collapsed = false; if (!U.rendered) { U.cls = U.cls ? U.cls + " x-border-panel" : "x-border-panel"; U.render(X, Q) } this[F] = F != "center" && U.split ? new Ext.layout.BorderLayout.SplitRegion(this, U.initialConfig, F) : new Ext.layout.BorderLayout.Region(this, U.initialConfig, F); this[F].render(X, U) } this.rendered = true } var L = X.getViewSize(); if (L.width < 20 || L.height < 20) { if (C) { this.restoreCollapsed = C } return } else { if (this.restoreCollapsed) { C = this.restoreCollapsed; delete this.restoreCollapsed } } var J = L.width, S = L.height; var I = J, P = S, G = 0, H = 0; var N = this.north, K = this.south, E = this.west, T = this.east, U = this.center; if (!U) { throw "No center region defined in BorderLayout " + B.id } if (N && N.isVisible()) { var W = N.getSize(); var O = N.getMargins(); W.width = J - (O.left + O.right); W.x = O.left; W.y = O.top; G = W.height + W.y + O.bottom; P -= G; N.applyLayout(W) } if (K && K.isVisible()) { var W = K.getSize(); var O = K.getMargins(); W.width = J - (O.left + O.right); W.x = O.left; var V = (W.height + O.top + O.bottom); W.y = S - V + O.top; P -= V; K.applyLayout(W) } if (E && E.isVisible()) { var W = E.getSize(); var O = E.getMargins(); W.height = P - (O.top + O.bottom); W.x = O.left; W.y = G + O.top; var A = (W.width + O.left + O.right); H += A; I -= A; E.applyLayout(W) } if (T && T.isVisible()) { var W = T.getSize(); var O = T.getMargins(); W.height = P - (O.top + O.bottom); var A = (W.width + O.left + O.right); W.x = J - A + O.left; W.y = G + O.top; I -= A; T.applyLayout(W) } var O = U.getMargins(); var D = { x: H + O.left, y: G + O.top, width: I - (O.left + O.right), height: P - (O.top + O.bottom) }; U.applyLayout(D); if (C) { for (var Q = 0, R = C.length; Q < R; Q++) { C[Q].collapse(false) } } if (Ext.isIE && Ext.isStrict) { X.repaint() } } }); Ext.layout.BorderLayout.Region = function (B, A, C) { Ext.apply(this, A); this.layout = B; this.position = C; 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 || {}, C == "north" || C == "south" ? this.defaultNSCMargins : this.defaultEWCMargins) } } }; Ext.layout.BorderLayout.Region.prototype = { collapsible: false, split: false, floatable: true, minWidth: 50, minHeight: 50, defaultMargins: { left: 0, top: 0, right: 0, bottom: 0 }, defaultNSCMargins: { left: 5, top: 5, right: 5, bottom: 5 }, defaultEWCMargins: { left: 5, top: 0, right: 5, bottom: 0 }, isCollapsed: false, render: function (B, C) { this.panel = C; C.el.enableDisplayMode(); this.targetEl = B; this.el = C.el; var A = C.getState, D = this.position; C.getState = function () { return Ext.apply(A.call(C) || {}, this.state) } .createDelegate(this); if (D != "center") { C.allowQueuedExpand = false; C.on({ beforecollapse: this.beforeCollapse, collapse: this.onCollapse, beforeexpand: this.beforeExpand, expand: this.onExpand, hide: this.onHide, show: this.onShow, scope: this }); if (this.collapsible) { C.collapseEl = "el"; C.slideAnchor = this.getSlideAnchor() } if (C.tools && C.tools.toggle) { C.tools.toggle.addClass("x-tool-collapse-" + D); C.tools.toggle.addClassOnOver("x-tool-collapse-" + D + "-over") } } }, getCollapsedEl: function () { if (!this.collapsedEl) { if (!this.toolTemplate) { var B = new Ext.Template("<div class=\"x-tool x-tool-{id}\">&#160;</div>"); B.disableFormats = true; B.compile(); Ext.layout.BorderLayout.Region.prototype.toolTemplate = B } this.collapsedEl = this.targetEl.createChild({ cls: "x-layout-collapsed x-layout-collapsed-" + this.position, id: this.panel.id + "-xcollapsed" }); this.collapsedEl.enableDisplayMode("block"); if (this.collapseMode == "mini") { this.collapsedEl.addClass("x-layout-cmini-" + this.position); this.miniCollapsedEl = this.collapsedEl.createChild({ cls: "x-layout-mini x-layout-mini-" + this.position, html: "&#160;" }); this.miniCollapsedEl.addClassOnOver("x-layout-mini-over"); this.collapsedEl.addClassOnOver("x-layout-collapsed-over"); this.collapsedEl.on("click", this.onExpandClick, this, { stopEvent: true }) } else { var A = this.toolTemplate.append(this.collapsedEl.dom, { id: "expand-" + this.position }, true); A.addClassOnOver("x-tool-expand-" + this.position + "-over"); A.on("click", this.onExpandClick, this, { stopEvent: true }); if (this.floatable !== false) { this.collapsedEl.addClassOnOver("x-layout-collapsed-over"); this.collapsedEl.on("click", this.collapseClick, this) } } } return this.collapsedEl }, onExpandClick: function (A) { if (this.isSlid) { this.afterSlideIn(); this.panel.expand(false) } else { this.panel.expand() } }, onCollapseClick: function (A) { this.panel.collapse() }, beforeCollapse: function (B, A) { this.lastAnim = A; if (this.splitEl) { this.splitEl.hide() } this.getCollapsedEl().show(); this.panel.el.setStyle("z-index", 100); this.isCollapsed = true; this.layout.layout() }, onCollapse: function (A) { this.panel.el.setStyle("z-index", 1); if (this.lastAnim === false || this.panel.animCollapse === false) { this.getCollapsedEl().dom.style.visibility = "visible" } else { this.getCollapsedEl().slideIn(this.panel.slideAnchor, { duration: 0.2 }) } this.state.collapsed = true; this.panel.saveState() }, beforeExpand: function (A) { var B = this.getCollapsedEl(); this.el.show(); if (this.position == "east" || this.position == "west") { this.panel.setSize(undefined, B.getHeight()) } else { this.panel.setSize(B.getWidth(), undefined) } B.hide(); B.dom.style.visibility = "hidden"; this.panel.el.setStyle("z-index", 100) }, onExpand: function () { this.isCollapsed = false; if (this.splitEl) { this.splitEl.show() } this.layout.layout(); this.panel.el.setStyle("z-index", 1); this.state.collapsed = false; this.panel.saveState() }, collapseClick: function (A) { if (this.isSlid) { A.stopPropagation(); this.slideIn() } else { A.stopPropagation(); this.slideOut() } }, onHide: function () { if (this.isCollapsed) { this.getCollapsedEl().hide() } else { if (this.splitEl) { this.splitEl.hide() } } }, onShow: function () { if (this.isCollapsed) { this.getCollapsedEl().show() } else { if (this.splitEl) { this.splitEl.show() } } }, isVisible: function () { return !this.panel.hidden }, getMargins: function () { return this.isCollapsed && this.cmargins ? this.cmargins : this.margins }, getSize: function () { return this.isCollapsed ? this.getCollapsedEl().getSize() : this.panel.getSize() }, setPanel: function (A) { this.panel = A }, getMinWidth: function () { return this.minWidth }, getMinHeight: function () { return this.minHeight }, applyLayoutCollapsed: function (A) { var B = this.getCollapsedEl(); B.setLeftTop(A.x, A.y); B.setSize(A.width, A.height) }, applyLayout: function (A) { if (this.isCollapsed) { this.applyLayoutCollapsed(A) } else { this.panel.setPosition(A.x, A.y); this.panel.setSize(A.width, A.height) } }, beforeSlide: function () { this.panel.beforeEffect() }, afterSlide: function () { this.panel.afterEffect() }, initAutoHide: function () { if (this.autoHide !== false) { if (!this.autoHideHd) { var A = new Ext.util.DelayedTask(this.slideIn, this); this.autoHideHd = { "mouseout": function (B) { if (!B.within(this.el, true)) { A.delay(500) } }, "mouseover": function (B) { A.cancel() }, scope: this} } this.el.on(this.autoHideHd) } }, 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 A = this.panel.tools; if (A && A.toggle) { A.toggle.hide() } this.el.show(); if (this.position == "east" || this.position == "west") { this.panel.setSize(undefined, this.collapsedEl.getHeight()) } else { this.panel.setSize(this.collapsedEl.getWidth(), undefined) } this.restoreLT = [this.el.dom.style.left, this.el.dom.style.top]; this.el.alignTo(this.collapsedEl, this.getCollapseAnchor()); this.el.setStyle("z-index", 102); if (this.animFloat !== false) { this.beforeSlide(); this.el.slideIn(this.getSlideAnchor(), { callback: function () { this.afterSlide(); this.initAutoHide(); Ext.getDoc().on("click", this.slideInIf, this) }, scope: this, block: true }) } else { this.initAutoHide(); Ext.getDoc().on("click", this.slideInIf, this) } }, afterSlideIn: function () { this.clearAutoHide(); this.isSlid = false; this.clearMonitor(); this.el.setStyle("z-index", ""); this.el.dom.style.left = this.restoreLT[0]; this.el.dom.style.top = this.restoreLT[1]; var A = this.panel.tools; if (A && A.toggle) { A.toggle.show() } }, slideIn: function (A) { if (!this.isSlid || this.el.hasActiveFx()) { Ext.callback(A); return } this.isSlid = false; if (this.animFloat !== false) { this.beforeSlide(); this.el.slideOut(this.getSlideAnchor(), { callback: function () { this.el.hide(); this.afterSlide(); this.afterSlideIn(); Ext.callback(A) }, scope: this, block: true }) } else { this.el.hide(); this.afterSlideIn() } }, slideInIf: function (A) { if (!A.within(this.el)) { this.slideIn() } }, anchors: { "west": "left", "east": "right", "north": "top", "south": "bottom" }, sanchors: { "west": "l", "east": "r", "north": "t", "south": "b" }, canchors: { "west": "tl-tr", "east": "tr-tl", "north": "tl-bl", "south": "bl-tl" }, getAnchor: function () { return this.anchors[this.position] }, getCollapseAnchor: function () { return this.canchors[this.position] }, getSlideAnchor: function () { return this.sanchors[this.position] }, getAlignAdj: function () { var A = this.cmargins; switch (this.position) { case "west": return [0, 0]; break; case "east": return [0, 0]; break; case "north": return [0, 0]; break; case "south": return [0, 0]; break } }, getExpandAdj: function () { var B = this.collapsedEl, A = this.cmargins; switch (this.position) { case "west": return [-(A.right + B.getWidth() + A.left), 0]; break; case "east": return [A.right + B.getWidth() + A.left, 0]; break; case "north": return [0, -(A.top + A.bottom + B.getHeight())]; break; case "south": return [0, A.top + A.bottom + B.getHeight()]; break } } }; Ext.layout.BorderLayout.SplitRegion = function (B, A, C) { Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this, B, A, C); this.applyLayout = this.applyFns[C] }; 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 (C) { if (this.isCollapsed) { return this.applyLayoutCollapsed(C) } var D = this.splitEl.dom, B = D.style; this.panel.setPosition(C.x, C.y); var A = D.offsetWidth; B.left = (C.x + C.width - A) + "px"; B.top = (C.y) + "px"; B.height = Math.max(0, C.height) + "px"; this.panel.setSize(C.width - A, C.height) }, east: function (C) { if (this.isCollapsed) { return this.applyLayoutCollapsed(C) } var D = this.splitEl.dom, B = D.style; var A = D.offsetWidth; this.panel.setPosition(C.x + A, C.y); B.left = (C.x) + "px"; B.top = (C.y) + "px"; B.height = Math.max(0, C.height) + "px"; this.panel.setSize(C.width - A, C.height) }, north: function (C) { if (this.isCollapsed) { return this.applyLayoutCollapsed(C) } var D = this.splitEl.dom, B = D.style; var A = D.offsetHeight; this.panel.setPosition(C.x, C.y); B.left = (C.x) + "px"; B.top = (C.y + C.height - A) + "px"; B.width = Math.max(0, C.width) + "px"; this.panel.setSize(C.width, C.height - A) }, south: function (C) { if (this.isCollapsed) { return this.applyLayoutCollapsed(C) } var D = this.splitEl.dom, B = D.style; var A = D.offsetHeight; this.panel.setPosition(C.x, C.y + A); B.left = (C.x) + "px"; B.top = (C.y) + "px"; B.width = Math.max(0, C.width) + "px"; this.panel.setSize(C.width, C.height - A) } }, render: function (A, C) { Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this, A, C); var D = this.position; this.splitEl = A.createChild({ cls: "x-layout-split x-layout-split-" + D, html: "&#160;", id: this.panel.id + "-xsplit" }); if (this.collapseMode == "mini") { this.miniSplitEl = this.splitEl.createChild({ cls: "x-layout-mini x-layout-mini-" + D, html: "&#160;" }); this.miniSplitEl.addClassOnOver("x-layout-mini-over"); this.miniSplitEl.on("click", this.onCollapseClick, this, { stopEvent: true }) } var B = this.splitSettings[D]; this.split = new Ext.SplitBar(this.splitEl.dom, C.el, B.orientation); this.split.placement = B.placement; this.split.getMaximumSize = this[B.maxFn].createDelegate(this); this.split.minSize = this.minSize || this[B.minProp]; this.split.on("beforeapply", this.onSplitMove, this); this.split.useShim = this.useShim === true; this.maxSize = this.maxSize || this[B.maxProp]; if (C.hidden) { this.splitEl.hide() } if (this.useSplitTips) { this.splitEl.dom.title = this.collapsible ? this.collapsibleSplitTip : this.splitTip } if (this.collapsible) { this.splitEl.on("dblclick", this.onCollapseClick, this) } }, getSize: function () { if (this.isCollapsed) { return this.collapsedEl.getSize() } var A = this.panel.getSize(); if (this.position == "north" || this.position == "south") { A.height += this.splitEl.dom.offsetHeight } else { A.width += this.splitEl.dom.offsetWidth } return A }, getHMaxSize: function () { var B = this.maxSize || 10000; var A = this.layout.center; return Math.min(B, (this.el.getWidth() + A.el.getWidth()) - A.getMinWidth()) }, getVMaxSize: function () { var B = this.maxSize || 10000; var A = this.layout.center; return Math.min(B, (this.el.getHeight() + A.el.getHeight()) - A.getMinHeight()) }, onSplitMove: function (B, A) { var C = this.panel.getSize(); this.lastSplitSize = A; if (this.position == "north" || this.position == "south") { this.panel.setSize(C.width, A); this.state.height = A } else { this.panel.setSize(A, C.height); this.state.width = A } this.layout.layout(); this.panel.saveState(); return false }, getSplitBar: function () { return this.split } }); Ext.Container.LAYOUTS["border"] = Ext.layout.BorderLayout;
Ext.layout.FormLayout = Ext.extend(Ext.layout.AnchorLayout, { labelSeparator: ":", getAnchorViewSize: function (A, B) { return A.body.getStyleSize() }, setContainer: function (B) { Ext.layout.FormLayout.superclass.setContainer.call(this, B); if (B.labelAlign) { B.addClass("x-form-label-" + B.labelAlign) } if (B.hideLabels) { this.labelStyle = "display:none"; this.elementStyle = "padding-left:0;"; this.labelAdjust = 0 } else { this.labelSeparator = B.labelSeparator || this.labelSeparator; B.labelWidth = B.labelWidth || 100; if (typeof B.labelWidth == "number") { var C = (typeof B.labelPad == "number" ? B.labelPad : 5); this.labelAdjust = B.labelWidth + C; this.labelStyle = "width:" + B.labelWidth + "px;"; this.elementStyle = "padding-left:" + (B.labelWidth + C) + "px" } if (B.labelAlign == "top") { this.labelStyle = "width:auto;"; this.labelAdjust = 0; this.elementStyle = "padding-left:0;" } } if (!this.fieldTpl) { var A = new Ext.Template("<div class=\"x-form-item {5}\" tabIndex=\"-1\">", "<label for=\"{0}\" style=\"{2}\" class=\"x-form-item-label\">{1}{4}</label>", "<div class=\"x-form-element\" id=\"x-form-el-{0}\" style=\"{3}\">", "</div><div class=\"{6}\"></div>", "</div>"); A.disableFormats = true; A.compile(); Ext.layout.FormLayout.prototype.fieldTpl = A } }, renderItem: function (D, A, C) { if (D && !D.rendered && D.isFormField && D.inputType != "hidden") { var B = [D.id, D.fieldLabel, D.labelStyle || this.labelStyle || "", this.elementStyle || "", typeof D.labelSeparator == "undefined" ? this.labelSeparator : D.labelSeparator, (D.itemCls || this.container.itemCls || "") + (D.hideLabel ? " x-hide-label" : ""), D.clearCls || "x-form-clear-left"]; if (typeof A == "number") { A = C.dom.childNodes[A] || null } if (A) { this.fieldTpl.insertBefore(A, B) } else { this.fieldTpl.append(C, B) } D.render("x-form-el-" + D.id) } else { Ext.layout.FormLayout.superclass.renderItem.apply(this, arguments) } }, adjustWidthAnchor: function (B, A) { return B - (A.isFormField ? (A.hideLabel ? 0 : this.labelAdjust) : 0) }, isValidParent: function (B, A) { return true } }); Ext.Container.LAYOUTS["form"] = Ext.layout.FormLayout;
Ext.layout.Accordion = Ext.extend(Ext.layout.FitLayout, { fill: true, autoWidth: true, titleCollapse: true, hideCollapseTool: false, collapseFirst: false, animate: false, sequence: false, activeOnTop: false, renderItem: function (A) { if (this.animate === false) { A.animCollapse = false } A.collapsible = true; if (this.autoWidth) { A.autoWidth = true } if (this.titleCollapse) { A.titleCollapse = true } if (this.hideCollapseTool) { A.hideCollapseTool = true } if (this.collapseFirst !== undefined) { A.collapseFirst = this.collapseFirst } if (!this.activeItem && !A.collapsed) { this.activeItem = A } else { if (this.activeItem) { A.collapsed = true } } Ext.layout.Accordion.superclass.renderItem.apply(this, arguments); A.header.addClass("x-accordion-hd"); A.on("beforeexpand", this.beforeExpand, this) }, beforeExpand: function (C, B) { var A = this.activeItem; if (A) { if (this.sequence) { delete this.activeItem; if (!A.collapsed) { A.collapse({ callback: function () { C.expand(B || true) }, scope: this }); return false } } else { A.collapse(this.animate) } } this.activeItem = C; if (this.activeOnTop) { C.el.dom.parentNode.insertBefore(C.el.dom, C.el.dom.parentNode.firstChild) } this.layout() }, setItemSize: function (F, E) { if (this.fill && F) { var B = this.container.items.items; var D = 0; for (var C = 0, A = B.length; C < A; C++) { var G = B[C]; if (G != F) { D += (G.getSize().height - G.bwrap.getHeight()) } } E.height -= D; F.setSize(E) } } }); Ext.Container.LAYOUTS["accordion"] = Ext.layout.Accordion;
Ext.layout.TableLayout = Ext.extend(Ext.layout.ContainerLayout, { monitorResize: false, setContainer: function (A) { Ext.layout.TableLayout.superclass.setContainer.call(this, A); this.currentRow = 0; this.currentColumn = 0; this.cells = [] }, onLayout: function (C, E) { var D = C.items.items, A = D.length, F, B; if (!this.table) { E.addClass("x-table-layout-ct"); this.table = E.createChild({ tag: "table", cls: "x-table-layout", cellspacing: 0, cn: { tag: "tbody"} }, null, true); this.renderAll(C, E) } }, getRow: function (A) { var B = this.table.tBodies[0].childNodes[A]; if (!B) { B = document.createElement("tr"); this.table.tBodies[0].appendChild(B) } return B }, getNextCell: function (H) { var A = this.getNextNonSpan(this.currentColumn, this.currentRow); var E = this.currentColumn = A[0], D = this.currentRow = A[1]; for (var G = D; G < D + (H.rowspan || 1); G++) { if (!this.cells[G]) { this.cells[G] = [] } for (var C = E; C < E + (H.colspan || 1); C++) { this.cells[G][C] = true } } var F = document.createElement("td"); if (H.cellId) { F.id = H.cellId } var B = "x-table-layout-cell"; if (H.cellCls) { B += " " + H.cellCls } F.className = B; if (H.colspan) { F.colSpan = H.colspan } if (H.rowspan) { F.rowSpan = H.rowspan } this.getRow(D).appendChild(F); return F }, getNextNonSpan: function (A, C) { var B = this.columns; while ((B && A >= B) || (this.cells[C] && this.cells[C][A])) { if (B && A >= B) { C++; A = 0 } else { A++ } } return [A, C] }, renderItem: function (C, A, B) { if (C && !C.rendered) { C.render(this.getNextCell(C)) } }, isValidParent: function (B, A) { return true } }); Ext.Container.LAYOUTS["table"] = Ext.layout.TableLayout;
Ext.layout.AbsoluteLayout = Ext.extend(Ext.layout.AnchorLayout, { extraCls: "x-abs-layout-item", isForm: false, setContainer: function (A) { Ext.layout.AbsoluteLayout.superclass.setContainer.call(this, A); if (A.isXType("form")) { this.isForm = true } }, onLayout: function (A, B) { if (this.isForm) { A.body.position() } else { B.position() } Ext.layout.AbsoluteLayout.superclass.onLayout.call(this, A, B) }, getAnchorViewSize: function (A, B) { return this.isForm ? A.body.getStyleSize() : Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this, A, B) }, isValidParent: function (B, A) { return this.isForm ? true : Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this, B, A) }, adjustWidthAnchor: function (B, A) { return B ? B - A.getPosition(true)[0] : B }, adjustHeightAnchor: function (B, A) { return B ? B - A.getPosition(true)[1] : B } }); Ext.Container.LAYOUTS["absolute"] = Ext.layout.AbsoluteLayout;
Ext.Panel = Ext.extend(Ext.Container, { baseCls: "x-panel", collapsedCls: "x-panel-collapsed", maskDisabled: true, animCollapse: Ext.enableFx, headerAsText: true, buttonAlign: "right", collapsed: false, collapseFirst: true, minButtonWidth: 75, elements: "body", toolTarget: "header", collapseEl: "bwrap", slideAnchor: "t", deferHeight: true, expandDefaults: { duration: 0.25 }, collapseDefaults: { duration: 0.25 }, initComponent: function () { Ext.Panel.superclass.initComponent.call(this); this.addEvents("bodyresize", "titlechange", "collapse", "expand", "beforecollapse", "beforeexpand", "beforeclose", "close", "activate", "deactivate"); if (this.tbar) { this.elements += ",tbar"; if (typeof this.tbar == "object") { this.topToolbar = this.tbar } delete this.tbar } if (this.bbar) { this.elements += ",bbar"; if (typeof this.bbar == "object") { this.bottomToolbar = this.bbar } delete this.bbar } if (this.header === true) { this.elements += ",header"; delete this.header } else { if (this.title && this.header !== false) { this.elements += ",header" } } if (this.footer === true) { this.elements += ",footer"; delete this.footer } if (this.buttons) { var C = this.buttons; this.buttons = []; for (var B = 0, A = C.length; B < A; B++) { if (C[B].render) { this.buttons.push(C[B]) } else { this.addButton(C[B]) } } } if (this.autoLoad) { this.on("render", this.doAutoLoad, this, { delay: 10 }) } }, createElement: function (A, C) { if (this[A]) { C.appendChild(this[A].dom); return } if (A === "bwrap" || this.elements.indexOf(A) != -1) { if (this[A + "Cfg"]) { this[A] = Ext.fly(C).createChild(this[A + "Cfg"]) } else { var B = document.createElement("div"); B.className = this[A + "Cls"]; this[A] = Ext.get(C.appendChild(B)) } } }, onRender: function (H, G) { Ext.Panel.superclass.onRender.call(this, H, G); this.createClasses(); if (this.el) { this.el.addClass(this.baseCls); this.header = this.el.down("." + this.headerCls); this.bwrap = this.el.down("." + this.bwrapCls); var M = this.bwrap ? this.bwrap : this.el; this.tbar = M.down("." + this.tbarCls); this.body = M.down("." + this.bodyCls); this.bbar = M.down("." + this.bbarCls); this.footer = M.down("." + this.footerCls); this.fromMarkup = true } else { this.el = H.createChild({ id: this.id, cls: this.baseCls }, G) } var A = this.el, K = A.dom; if (this.cls) { this.el.addClass(this.cls) } if (this.buttons) { this.elements += ",footer" } if (this.frame) { A.insertHtml("afterBegin", String.format(Ext.Element.boxMarkup, this.baseCls)); this.createElement("header", K.firstChild.firstChild.firstChild); this.createElement("bwrap", K); var O = this.bwrap.dom; var E = K.childNodes[1], B = K.childNodes[2]; O.appendChild(E); O.appendChild(B); var P = O.firstChild.firstChild.firstChild; this.createElement("tbar", P); this.createElement("body", P); this.createElement("bbar", P); this.createElement("footer", O.lastChild.firstChild.firstChild); if (!this.footer) { this.bwrap.dom.lastChild.className += " x-panel-nofooter" } } else { this.createElement("header", K); this.createElement("bwrap", K); var 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.border === false) { this.el.addClass(this.baseCls + "-noborder"); this.body.addClass(this.bodyCls + "-noborder"); if (this.header) { this.header.addClass(this.headerCls + "-noborder") } if (this.footer) { this.footer.addClass(this.footerCls + "-noborder") } if (this.tbar) { this.tbar.addClass(this.tbarCls + "-noborder") } if (this.bbar) { this.bbar.addClass(this.bbarCls + "-noborder") } } if (this.bodyBorder === false) { this.body.addClass(this.bodyCls + "-noborder") } if (this.bodyStyle) { this.body.applyStyles(this.bodyStyle) } this.bwrap.enableDisplayMode("block"); if (this.header) { this.header.unselectable(); if (this.headerAsText) { this.header.dom.innerHTML = "<span class=\"" + this.headerTextCls + "\">" + this.header.dom.innerHTML + "</span>"; if (this.iconCls) { this.setIconClass(this.iconCls) } } } if (this.floating) { this.makeFloating(this.floating) } if (this.collapsible) { this.tools = this.tools ? this.tools.slice(0) : []; if (!this.hideCollapseTool) { this.tools[this.collapseFirst ? "unshift" : "push"]({ id: "toggle", handler: this.toggleCollapse, scope: this }) } if (this.titleCollapse && this.header) { this.header.on("click", this.toggleCollapse, this); this.header.setStyle("cursor", "pointer") } } if (this.tools) { var J = this.tools; this.tools = {}; this.addTool.apply(this, J) } else { this.tools = {} } if (this.buttons && this.buttons.length > 0) { var D = this.footer.createChild({ cls: "x-panel-btns-ct", cn: { cls: "x-panel-btns x-panel-btns-" + this.buttonAlign, html: "<table cellspacing=\"0\"><tbody><tr></tr></tbody></table><div class=\"x-clear\"></div>"} }, null, true); var L = D.getElementsByTagName("tr")[0]; for (var F = 0, I = this.buttons.length; F < I; F++) { var N = this.buttons[F]; var C = document.createElement("td"); C.className = "x-panel-btn-td"; N.render(L.appendChild(C)) } } if (this.tbar && this.topToolbar) { if (Ext.isArray(this.topToolbar)) { this.topToolbar = new Ext.Toolbar(this.topToolbar) } this.topToolbar.render(this.tbar); this.topToolbar.ownerCt = this } if (this.bbar && this.bottomToolbar) { if (Ext.isArray(this.bottomToolbar)) { this.bottomToolbar = new Ext.Toolbar(this.bottomToolbar) } this.bottomToolbar.render(this.bbar); this.bottomToolbar.ownerCt = this } }, setIconClass: function (B) { var A = this.iconCls; this.iconCls = B; if (this.rendered && this.header) { if (this.frame) { this.header.addClass("x-panel-icon"); this.header.replaceClass(A, this.iconCls) } else { var D = this.header.dom; var C = D.firstChild && String(D.firstChild.tagName).toLowerCase() == "img" ? D.firstChild : null; if (C) { Ext.fly(C).replaceClass(A, this.iconCls) } else { Ext.DomHelper.insertBefore(D.firstChild, { tag: "img", src: Ext.BLANK_IMAGE_URL, cls: "x-panel-inline-icon " + this.iconCls }) } } } }, makeFloating: function (A) { this.floating = true; this.el = new Ext.Layer(typeof A == "object" ? A : { 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 (A, D, C) { var E = { handler: D, scope: C, minWidth: this.minButtonWidth, hideParent: true }; if (typeof A == "string") { E.text = A } else { Ext.apply(E, A) } var B = new Ext.Button(E); B.ownerCt = this; if (!this.buttons) { this.buttons = [] } this.buttons.push(B); return B }, addTool: function () { if (!this[this.toolTarget]) { return } if (!this.toolTemplate) { var F = new Ext.Template("<div class=\"x-tool x-tool-{id}\">&#160;</div>"); F.disableFormats = true; F.compile(); Ext.Panel.prototype.toolTemplate = F } for (var E = 0, C = arguments, B = C.length; E < B; E++) { var A = C[E], G = "x-tool-" + A.id + "-over"; var D = this.toolTemplate.insertFirst((A.align !== "left") ? this[this.toolTarget] : this[this.toolTarget].child("span"), A, true); this.tools[A.id] = D; D.enableDisplayMode("block"); D.on("click", this.createToolHandler(D, A, G, this)); if (A.on) { D.on(A.on) } if (A.hidden) { D.hide() } if (A.qtip) { if (typeof A.qtip == "object") { Ext.QuickTips.register(Ext.apply({ target: D.id }, A.qtip)) } else { D.dom.qtip = A.qtip } } D.addClassOnOver(G) } }, 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 (C, A, D, B) { return function (E) { C.removeClass(D); E.stopEvent(); if (A.handler) { A.handler.call(A.scope || C, E, C, B) } } }, afterRender: function () { if (this.fromMarkup && this.height === undefined && !this.autoHeight) { this.height = this.el.getHeight() } if (this.floating && !this.hidden && !this.initHidden) { this.el.show() } if (this.title) { this.setTitle(this.title) } this.setAutoScroll(); if (this.html) { this.body.update(typeof this.html == "object" ? Ext.DomHelper.markup(this.html) : this.html); delete this.html } if (this.contentEl) { var A = Ext.getDom(this.contentEl); Ext.fly(A).removeClass(["x-hidden", "x-hide-display"]); this.body.dom.appendChild(A) } if (this.collapsed) { this.collapsed = false; this.collapse(false) } Ext.Panel.superclass.afterRender.call(this); this.initEvents() }, setAutoScroll: function () { if (this.rendered && this.autoScroll) { this.body.setOverflow("auto") } }, getKeyMap: function () { if (!this.keyMap) { this.keyMap = new Ext.KeyMap(this.el, this.keys) } return this.keyMap }, initEvents: function () { if (this.keys) { this.getKeyMap() } if (this.draggable) { this.initDraggable() } }, initDraggable: function () { this.dd = new Ext.Panel.DD(this, typeof this.draggable == "boolean" ? null : this.draggable) }, beforeEffect: function () { if (this.floating) { this.el.beforeAction() } this.el.addClass("x-panel-animated") }, afterEffect: function () { this.syncShadow(); this.el.removeClass("x-panel-animated") }, createEffect: function (B, A, C) { var D = { scope: C, block: true }; if (B === true) { D.callback = A; return D } else { if (!B.callback) { D.callback = A } else { D.callback = function () { A.call(C); Ext.callback(B.callback, B.scope) } } } return Ext.applyIf(D, B) }, collapse: function (B) { if (this.collapsed || this.el.hasFxBlock() || this.fireEvent("beforecollapse", this, B) === false) { return } var A = B === true || (B !== false && this.animCollapse); this.beforeEffect(); this.onCollapse(A, B); return this }, onCollapse: function (A, B) { if (A) { this[this.collapseEl].slideOut(this.slideAnchor, Ext.apply(this.createEffect(B || true, this.afterCollapse, this), this.collapseDefaults)) } else { this[this.collapseEl].hide(); this.afterCollapse() } }, afterCollapse: function () { this.collapsed = true; this.el.addClass(this.collapsedCls); this.afterEffect(); this.fireEvent("collapse", this) }, expand: function (B) { if (!this.collapsed || this.el.hasFxBlock() || this.fireEvent("beforeexpand", this, B) === false) { return } var A = B === true || (B !== false && this.animCollapse); this.el.removeClass(this.collapsedCls); this.beforeEffect(); this.onExpand(A, B); return this }, onExpand: function (A, B) { if (A) { this[this.collapseEl].slideIn(this.slideAnchor, Ext.apply(this.createEffect(B || true, this.afterExpand, this), this.expandDefaults)) } else { this[this.collapseEl].show(); this.afterExpand() } }, afterExpand: function () { this.collapsed = false; this.afterEffect(); this.fireEvent("expand", this) }, toggleCollapse: function (A) { this[this.collapsed ? "expand" : "collapse"](A); return this }, onDisable: function () { if (this.rendered && this.maskDisabled) { this.el.mask() } Ext.Panel.superclass.onDisable.call(this) }, onEnable: function () { if (this.rendered && this.maskDisabled) { this.el.unmask() } Ext.Panel.superclass.onEnable.call(this) }, onResize: function (A, B) { if (A !== undefined || B !== undefined) { if (!this.collapsed) { if (typeof A == "number") { this.body.setWidth(this.adjustBodyWidth(A - this.getFrameWidth())) } else { if (A == "auto") { this.body.setWidth(A) } } if (typeof B == "number") { this.body.setHeight(this.adjustBodyHeight(B - this.getFrameHeight())) } else { if (B == "auto") { this.body.setHeight(B) } } } else { this.queuedBodySize = { width: A, height: B }; if (!this.queuedExpand && this.allowQueuedExpand !== false) { this.queuedExpand = true; this.on("expand", function () { delete this.queuedExpand; this.onResize(this.queuedBodySize.width, this.queuedBodySize.height); this.doLayout() }, this, { single: true }) } } this.fireEvent("bodyresize", this, A, B) } this.syncShadow() }, adjustBodyHeight: function (A) { return A }, adjustBodyWidth: function (A) { return A }, onPosition: function () { this.syncShadow() }, onDestroy: function () { if (this.tools) { for (var B in this.tools) { Ext.destroy(this.tools[B]) } } if (this.buttons) { for (var A in this.buttons) { Ext.destroy(this.buttons[A]) } } Ext.destroy(this.topToolbar, this.bottomToolbar); Ext.Panel.superclass.onDestroy.call(this) }, getFrameWidth: function () { var B = this.el.getFrameWidth("lr"); if (this.frame) { var A = this.bwrap.dom.firstChild; B += (Ext.fly(A).getFrameWidth("l") + Ext.fly(A.firstChild).getFrameWidth("r")); var C = this.bwrap.dom.firstChild.firstChild.firstChild; B += Ext.fly(C).getFrameWidth("lr") } return B }, getFrameHeight: function () { var A = this.el.getFrameWidth("tb"); A += (this.tbar ? this.tbar.getHeight() : 0) + (this.bbar ? this.bbar.getHeight() : 0); if (this.frame) { var C = this.el.dom.firstChild; var D = this.bwrap.dom.lastChild; A += (C.offsetHeight + D.offsetHeight); var B = this.bwrap.dom.firstChild.firstChild.firstChild; A += Ext.fly(B).getFrameWidth("tb") } else { A += (this.header ? this.header.getHeight() : 0) + (this.footer ? this.footer.getHeight() : 0) } return A }, getInnerWidth: function () { return this.getSize().width - this.getFrameWidth() }, getInnerHeight: function () { return this.getSize().height - this.getFrameHeight() }, syncShadow: function () { if (this.floating) { this.el.sync(true) } }, getLayoutTarget: function () { return this.body }, setTitle: function (B, A) { this.title = B; if (this.header && this.headerAsText) { this.header.child("span").update(B) } if (A) { this.setIconClass(A) } this.fireEvent("titlechange", this, B); return this }, getUpdater: function () { return this.body.getUpdater() }, load: function () { var A = this.body.getUpdater(); A.update.apply(A, arguments); return this }, beforeDestroy: function () { Ext.Element.uncache(this.header, this.tbar, this.bbar, this.footer, this.body) }, createClasses: function () { this.headerCls = this.baseCls + "-header"; this.headerTextCls = this.baseCls + "-header-text"; this.bwrapCls = this.baseCls + "-bwrap"; this.tbarCls = this.baseCls + "-tbar"; this.bodyCls = this.baseCls + "-body"; this.bbarCls = this.baseCls + "-bbar"; this.footerCls = this.baseCls + "-footer" }, createGhost: function (A, E, B) { var D = document.createElement("div"); D.className = "x-panel-ghost " + (A ? A : ""); if (this.header) { D.appendChild(this.el.dom.firstChild.cloneNode(true)) } Ext.fly(D.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight()); D.style.width = this.el.dom.offsetWidth + "px"; if (!B) { this.container.dom.appendChild(D) } else { Ext.getDom(B).appendChild(D) } if (E !== false && this.el.useShim !== false) { var C = new Ext.Layer({ shadow: false, useDisplay: true, constrain: false }, D); C.show(); return C } else { return new Ext.Element(D) } }, doAutoLoad: function () { this.body.load(typeof this.autoLoad == "object" ? this.autoLoad : { url: this.autoLoad }) } }); Ext.reg("panel", Ext.Panel);
Ext.Window = Ext.extend(Ext.Panel, { baseCls: "x-window", resizable: true, draggable: true, closable: true, constrain: false, constrainHeader: false, plain: false, minimizable: false, maximizable: false, minHeight: 100, minWidth: 200, expandOnShow: true, closeAction: "close", elements: "header,body", collapsible: false, initHidden: true, monitorResize: true, frame: true, floating: true, initComponent: function () { Ext.Window.superclass.initComponent.call(this); this.addEvents("resize", "maximize", "minimize", "restore") }, getState: function () { return Ext.apply(Ext.Window.superclass.getState.call(this) || {}, this.getBox()) }, onRender: function (B, A) { Ext.Window.superclass.onRender.call(this, B, A); if (this.plain) { this.el.addClass("x-window-plain") } this.focusEl = this.el.createChild({ tag: "a", href: "#", cls: "x-dlg-focus", tabIndex: "-1", html: "&#160;" }); this.focusEl.swallowEvent("click", true); this.proxy = this.el.createProxy("x-window-proxy"); this.proxy.enableDisplayMode("block"); if (this.modal) { this.mask = this.container.createChild({ cls: "ext-el-mask" }, this.el.dom); this.mask.enableDisplayMode("block"); this.mask.hide() } }, initEvents: function () { Ext.Window.superclass.initEvents.call(this); if (this.animateTarget) { this.setAnimateTarget(this.animateTarget) } if (this.resizable) { this.resizer = new Ext.Resizable(this.el, { minWidth: this.minWidth, minHeight: this.minHeight, handles: this.resizeHandles || "all", pinned: true, resizeElement: this.resizerAction }); this.resizer.window = this; this.resizer.on("beforeresize", this.beforeResize, this) } if (this.draggable) { this.header.addClass("x-window-draggable") } this.initTools(); this.el.on("mousedown", this.toFront, this); this.manager = this.manager || Ext.WindowMgr; this.manager.register(this); this.hidden = true; if (this.maximized) { this.maximized = false; this.maximize() } if (this.closable) { var A = this.getKeyMap(); A.on(27, this.onEsc, this); A.disable() } }, initDraggable: function () { this.dd = new Ext.Window.DD(this) }, onEsc: function () { this[this.closeAction]() }, beforeDestroy: function () { Ext.destroy(this.resizer, this.dd, this.proxy, this.mask); Ext.Window.superclass.beforeDestroy.call(this) }, onDestroy: function () { if (this.manager) { this.manager.unregister(this) } Ext.Window.superclass.onDestroy.call(this) }, initTools: function () { if (this.minimizable) { this.addTool({ id: "minimize", handler: this.minimize.createDelegate(this, []) }) } if (this.maximizable) { this.addTool({ id: "maximize", handler: this.maximize.createDelegate(this, []) }); this.addTool({ id: "restore", handler: this.restore.createDelegate(this, []), hidden: true }); this.header.on("dblclick", this.toggleMaximize, this) } if (this.closable) { this.addTool({ id: "close", handler: this[this.closeAction].createDelegate(this, []) }) } }, resizerAction: function () { var A = this.proxy.getBox(); this.proxy.hide(); this.window.handleResize(A); return A }, beforeResize: function () { this.resizer.minHeight = Math.max(this.minHeight, this.getFrameHeight() + 40); this.resizer.minWidth = Math.max(this.minWidth, this.getFrameWidth() + 40); this.resizeBox = this.el.getBox() }, updateHandles: function () { if (Ext.isIE && this.resizer) { this.resizer.syncHandleHeight(); this.el.repaint() } }, handleResize: function (B) { var A = this.resizeBox; if (A.x != B.x || A.y != B.y) { this.updateBox(B) } else { this.setSize(B) } this.focus(); this.updateHandles(); this.saveState(); this.fireEvent("resize", this, B.width, B.height) }, focus: function () { var C = this.focusEl, A = this.defaultButton, B = typeof A; if (B != "undefined") { if (B == "number") { C = this.buttons[A] } else { if (B == "string") { C = Ext.getCmp(A) } else { C = A } } } C.focus.defer(10, C) }, setAnimateTarget: function (A) { A = Ext.get(A); this.animateTarget = A }, beforeShow: function () { delete this.el.lastXY; delete this.el.lastLT; if (this.x === undefined || this.y === undefined) { var A = this.el.getAlignToXY(this.container, "c-c"); var B = this.el.translatePoints(A[0], A[1]); this.x = this.x === undefined ? B.left : this.x; this.y = this.y === undefined ? B.top : this.y } this.el.setLeftTop(this.x, this.y); if (this.expandOnShow) { this.expand(false) } if (this.modal) { Ext.getBody().addClass("x-body-masked"); this.mask.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true)); this.mask.show() } }, show: function (C, A, B) { if (!this.rendered) { this.render(Ext.getBody()) } if (this.hidden === false) { this.toFront(); return } if (this.fireEvent("beforeshow", this) === false) { return } if (A) { this.on("show", A, B, { single: true }) } this.hidden = false; if (C !== undefined) { this.setAnimateTarget(C) } this.beforeShow(); if (this.animateTarget) { this.animShow() } else { this.afterShow() } }, afterShow: function () { this.proxy.hide(); this.el.setStyle("display", "block"); this.el.show(); if (this.maximized) { this.fitContainer() } if (Ext.isMac && Ext.isGecko) { this.cascade(this.setAutoScroll) } if (this.monitorResize || this.modal || this.constrain || this.constrainHeader) { Ext.EventManager.onWindowResize(this.onWindowResize, this) } this.doConstrain(); if (this.layout) { this.doLayout() } if (this.keyMap) { this.keyMap.enable() } this.toFront(); this.updateHandles(); this.fireEvent("show", this) }, animShow: function () { this.proxy.show(); this.proxy.setBox(this.animateTarget.getBox()); this.proxy.setOpacity(0); var A = this.getBox(false); A.callback = this.afterShow; A.scope = this; A.duration = 0.25; A.easing = "easeNone"; A.opacity = 0.5; A.block = true; this.el.setStyle("display", "none"); this.proxy.shift(A) }, hide: function (C, A, B) { if (this.hidden || this.fireEvent("beforehide", this) === false) { return } if (A) { this.on("hide", A, B, { single: true }) } this.hidden = true; if (C !== undefined) { this.setAnimateTarget(C) } if (this.animateTarget) { this.animHide() } else { this.el.hide(); this.afterHide() } }, afterHide: function () { this.proxy.hide(); if (this.monitorResize || this.modal || this.constrain || this.constrainHeader) { Ext.EventManager.removeResizeListener(this.onWindowResize, this) } if (this.modal) { this.mask.hide(); Ext.getBody().removeClass("x-body-masked") } if (this.keyMap) { this.keyMap.disable() } this.fireEvent("hide", this) }, animHide: function () { this.proxy.setOpacity(0.5); this.proxy.show(); var B = this.getBox(false); this.proxy.setBox(B); this.el.hide(); var A = this.animateTarget.getBox(); A.callback = this.afterHide; A.scope = this; A.duration = 0.25; A.easing = "easeNone"; A.block = true; A.opacity = 0; this.proxy.shift(A) }, onWindowResize: function () { if (this.maximized) { this.fitContainer() } if (this.modal) { this.mask.setSize("100%", "100%"); var A = this.mask.dom.offsetHeight; this.mask.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true)) } this.doConstrain() }, doConstrain: function () { if (this.constrain || this.constrainHeader) { var B; if (this.constrain) { B = { right: this.el.shadowOffset, left: this.el.shadowOffset, bottom: this.el.shadowOffset} } else { var A = this.getSize(); B = { right: -(A.width - 100), bottom: -(A.height - 25)} } var C = this.el.getConstrainToXY(this.container, true, B); if (C) { this.setPosition(C[0], C[1]) } } }, ghost: function (A) { var C = this.createGhost(A); var B = this.getBox(true); C.setLeftTop(B.x, B.y); C.setWidth(B.width); this.el.hide(); this.activeGhost = C; return C }, unghost: function (B, A) { if (B !== false) { this.el.show(); this.focus(); if (Ext.isMac && Ext.isGecko) { this.cascade(this.setAutoScroll) } } if (A !== false) { this.setPosition(this.activeGhost.getLeft(true), this.activeGhost.getTop(true)) } this.activeGhost.hide(); this.activeGhost.remove(); delete this.activeGhost }, minimize: function () { this.fireEvent("minimize", this) }, close: function () { if (this.fireEvent("beforeclose", this) !== false) { this.hide(null, function () { this.fireEvent("close", this); this.destroy() }, this) } }, maximize: function () { if (!this.maximized) { this.expand(false); this.restoreSize = this.getSize(); this.restorePos = this.getPosition(true); if (this.maximizable) { this.tools.maximize.hide(); this.tools.restore.show() } this.maximized = true; this.el.disableShadow(); if (this.dd) { this.dd.lock() } if (this.collapsible) { this.tools.toggle.hide() } this.el.addClass("x-window-maximized"); this.container.addClass("x-window-maximized-ct"); this.setPosition(0, 0); this.fitContainer(); this.fireEvent("maximize", this) } }, restore: function () { if (this.maximized) { this.el.removeClass("x-window-maximized"); this.tools.restore.hide(); this.tools.maximize.show(); this.setPosition(this.restorePos[0], this.restorePos[1]); this.setSize(this.restoreSize.width, this.restoreSize.height); delete this.restorePos; delete this.restoreSize; this.maximized = false; this.el.enableShadow(true); if (this.dd) { this.dd.unlock() } if (this.collapsible) { this.tools.toggle.show() } this.container.removeClass("x-window-maximized-ct"); this.doConstrain(); this.fireEvent("restore", this) } }, toggleMaximize: function () { this[this.maximized ? "restore" : "maximize"]() }, fitContainer: function () { var A = this.container.getViewSize(); this.setSize(A.width, A.height) }, setZIndex: function (A) { if (this.modal) { this.mask.setStyle("z-index", A) } this.el.setZIndex(++A); A += 5; if (this.resizer) { this.resizer.proxy.setStyle("z-index", ++A) } this.lastZIndex = A }, alignTo: function (B, A, C) { var D = this.el.getAlignToXY(B, A, C); this.setPagePosition(D[0], D[1]); return this }, anchorTo: function (C, G, D, B, F) { var E = function () { this.alignTo(C, G, D) }; Ext.EventManager.onWindowResize(E, this); var A = typeof B; if (A != "undefined") { Ext.EventManager.on(window, "scroll", E, this, { buffer: A == "number" ? B : 50 }) } E.call(this); this[F] = E; return this }, toFront: function () { if (this.manager.bringToFront(this)) { this.focus() } return this }, setActive: function (A) { if (A) { if (!this.maximized) { this.el.enableShadow(true) } this.fireEvent("activate", this) } else { this.el.disableShadow(); this.fireEvent("deactivate", this) } }, toBack: function () { this.manager.sendToBack(this); return this }, center: function () { var A = this.el.getAlignToXY(this.container, "c-c"); this.setPagePosition(A[0], A[1]); return this } }); Ext.reg("window", Ext.Window); Ext.Window.DD = function (A) { this.win = A; Ext.Window.DD.superclass.constructor.call(this, A.el.id, "WindowDD-" + A.id); this.setHandleElId(A.header.id); this.scroll = false }; Ext.extend(Ext.Window.DD, Ext.dd.DD, { moveOnly: true, headerOffsets: [100, 25], startDrag: function () { var A = this.win; this.proxy = A.ghost(); if (A.constrain !== false) { var C = A.el.shadowOffset; this.constrainTo(A.container, { right: C, left: C, bottom: C }) } else { if (A.constrainHeader !== false) { var B = this.proxy.getSize(); this.constrainTo(A.container, { right: -(B.width - this.headerOffsets[0]), bottom: -(B.height - this.headerOffsets[1]) }) } } }, b4Drag: Ext.emptyFn, onDrag: function (A) { this.alignElWithMouse(this.proxy, A.getPageX(), A.getPageY()) }, endDrag: function (A) { this.win.unghost(); this.win.saveState() } });
Ext.WindowGroup = function () { var F = {}; var D = []; var E = null; var C = function (I, H) { return (!I._lastAccess || I._lastAccess < H._lastAccess) ? -1 : 1 }; var G = function () { var J = D, H = J.length; if (H > 0) { J.sort(C); var I = J[0].manager.zseed; for (var K = 0; K < H; K++) { var L = J[K]; if (L && !L.hidden) { L.setZIndex(I + (K * 10)) } } } A() }; var B = function (H) { if (H != E) { if (E) { E.setActive(false) } E = H; if (H) { H.setActive(true) } } }; var A = function () { for (var H = D.length - 1; H >= 0; --H) { if (!D[H].hidden) { B(D[H]); return } } B(null) }; return { zseed: 9000, register: function (H) { F[H.id] = H; D.push(H); H.on("hide", A) }, unregister: function (H) { delete F[H.id]; H.un("hide", A); D.remove(H) }, get: function (H) { return typeof H == "object" ? H : F[H] }, bringToFront: function (H) { H = this.get(H); if (H != E) { H._lastAccess = new Date().getTime(); G(); return true } return false }, sendToBack: function (H) { H = this.get(H); H._lastAccess = -(new Date().getTime()); G(); return H }, hideAll: function () { for (var H in F) { if (F[H] && typeof F[H] != "function" && F[H].isVisible()) { F[H].hide() } } }, getActive: function () { return E }, getBy: function (J, I) { var K = []; for (var H = D.length - 1; H >= 0; --H) { var L = D[H]; if (J.call(I || L, L) !== false) { K.push(L) } } return K }, each: function (I, H) { for (var J in F) { if (F[J] && typeof F[J] != "function") { if (I.call(H || F[J], F[J]) === false) { return } } } } } }; Ext.WindowMgr = new Ext.WindowGroup();
Ext.Resizable = function (D, E) { this.el = Ext.get(D); if (E && E.wrap) { E.resizeChild = this.el; this.el = this.el.wrap(typeof E.wrap == "object" ? E.wrap : { cls: "xresizable-wrap" }); this.el.id = this.el.dom.id = E.resizeChild.id + "-rzwrap"; this.el.setStyle("overflow", "hidden"); this.el.setPositioning(E.resizeChild.getPositioning()); E.resizeChild.clearPositioning(); if (!E.width || !E.height) { var F = E.resizeChild.getSize(); this.el.setSize(F.width, F.height) } if (E.pinned && !E.adjustments) { E.adjustments = "auto" } } this.proxy = this.el.createProxy({ tag: "div", cls: "x-resizable-proxy", id: this.el.id + "-rzproxy" }); this.proxy.unselectable(); this.proxy.enableDisplayMode("block"); Ext.apply(this, E); if (this.pinned) { this.disableTrackOver = true; this.el.addClass("x-resizable-pinned") } var I = this.el.getStyle("position"); if (I != "absolute" && I != "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 M = this.handles.split(/\s*?[,;]\s*?| /); var C = Ext.Resizable.positions; for (var H = 0, J = M.length; H < J; H++) { if (M[H] && C[M[H]]) { var L = C[M[H]]; this[L] = new Ext.Resizable.Handle(this, L, 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 B = this.resizeChild; var K = this.west, G = this.east, A = this.north, M = this.south; if (B && (K || A)) { B.position("relative"); B.setLeft(K ? K.el.getWidth() : 0); B.setTop(A ? A.el.getHeight() : 0) } this.adjustments = [(G ? -G.el.getWidth() : 0) + (K ? -K.el.getWidth() : 0), (A ? -A.el.getHeight() : 0) + (M ? -M.el.getHeight() : 0) - 1] } if (this.draggable) { this.dd = this.dynamic ? this.el.initDD(null) : this.el.initDDProxy(null, { dragElId: this.proxy.id }); this.dd.setHandleElId(this.resizeChild ? this.resizeChild.id : this.el.id) } this.addEvents("beforeresize", "resize"); if (this.width !== null && this.height !== null) { this.resizeTo(this.width, this.height) } else { this.updateChildSize() } if (Ext.isIE) { this.el.dom.style.zoom = 1 } Ext.Resizable.superclass.constructor.call(this) }; Ext.extend(Ext.Resizable, Ext.util.Observable, { resizeChild: false, adjustments: [0, 0], minWidth: 5, minHeight: 5, maxWidth: 10000, maxHeight: 10000, enabled: true, animate: false, duration: 0.35, dynamic: false, handles: false, multiDirectional: false, disableTrackOver: false, easing: "easeOutStrong", widthIncrement: 0, heightIncrement: 0, pinned: false, width: null, height: null, preserveRatio: false, transparent: false, minX: 0, minY: 0, draggable: false, resizeTo: function (B, A) { this.el.setSize(B, A); this.updateChildSize(); this.fireEvent("resize", this, B, A, null) }, startSizing: function (C, B) { this.fireEvent("beforeresize", this, C); if (this.enabled) { if (!this.overlay) { this.overlay = this.el.createProxy({ tag: "div", cls: "x-resizable-overlay", html: "&#160;" }, Ext.getBody()); this.overlay.unselectable(); this.overlay.enableDisplayMode("block"); this.overlay.on("mousemove", this.onMouseMove, this); this.overlay.on("mouseup", this.onMouseUp, this) } this.overlay.setStyle("cursor", B.el.getStyle("cursor")); this.resizing = true; this.startBox = this.el.getBox(); this.startPoint = C.getXY(); this.offsets = [(this.startBox.x + this.startBox.width) - this.startPoint[0], (this.startBox.y + this.startBox.height) - this.startPoint[1]]; this.overlay.setSize(Ext.lib.Dom.getViewWidth(true), Ext.lib.Dom.getViewHeight(true)); this.overlay.show(); if (this.constrainTo) { var A = Ext.get(this.constrainTo); this.resizeRegion = A.getRegion().adjust(A.getFrameWidth("t"), A.getFrameWidth("l"), -A.getFrameWidth("b"), -A.getFrameWidth("r")) } this.proxy.setStyle("visibility", "hidden"); this.proxy.show(); this.proxy.setBox(this.startBox); if (!this.dynamic) { this.proxy.setStyle("visibility", "visible") } } }, onMouseDown: function (A, B) { if (this.enabled) { B.stopEvent(); this.activeHandle = A; this.startSizing(B, A) } }, onMouseUp: function (B) { var A = this.resizeElement(); this.resizing = false; this.handleOut(); this.overlay.hide(); this.proxy.hide(); this.fireEvent("resize", this, A.width, A.height, B) }, updateChildSize: function () { if (this.resizeChild) { var C = this.el; var D = this.resizeChild; var B = this.adjustments; if (C.dom.offsetWidth) { var A = C.getSize(true); D.setSize(A.width + B[0], A.height + B[1]) } if (Ext.isIE) { setTimeout(function () { if (C.dom.offsetWidth) { var E = C.getSize(true); D.setSize(E.width + B[0], E.height + B[1]) } }, 10) } } }, snap: function (C, E, B) { if (!E || !C) { return C } var D = C; var A = C % E; if (A > 0) { if (A > (E / 2)) { D = C + (E - A) } else { D = C - A } } return Math.max(B, D) }, resizeElement: function () { var A = this.proxy.getBox(); if (this.updateBox) { this.el.setBox(A, false, this.animate, this.duration, null, this.easing) } else { this.el.setSize(A.width, A.height, this.animate, this.duration, null, this.easing) } this.updateChildSize(); if (!this.dynamic) { this.proxy.hide() } return A }, constrain: function (B, C, A, D) { if (B - C < A) { C = B - A } else { if (B - C > D) { C = D - B } } return C }, onMouseMove: function (S) { if (this.enabled) { try { if (this.resizeRegion && !this.resizeRegion.contains(S.getPoint())) { return } var Q = this.curSize || this.startBox; var I = this.startBox.x, H = this.startBox.y; var C = I, B = H; var J = Q.width, R = Q.height; var D = J, L = R; var K = this.minWidth, T = this.minHeight; var P = this.maxWidth, W = this.maxHeight; var F = this.widthIncrement; var A = this.heightIncrement; var U = S.getXY(); var O = -(this.startPoint[0] - Math.max(this.minX, U[0])); var M = -(this.startPoint[1] - Math.max(this.minY, U[1])); var G = this.activeHandle.position; switch (G) { case "east": J += O; J = Math.min(Math.max(K, J), P); break; case "south": R += M; R = Math.min(Math.max(T, R), W); break; case "southeast": J += O; R += M; J = Math.min(Math.max(K, J), P); R = Math.min(Math.max(T, R), W); break; case "north": M = this.constrain(R, M, T, W); H += M; R -= M; break; case "west": O = this.constrain(J, O, K, P); I += O; J -= O; break; case "northeast": J += O; J = Math.min(Math.max(K, J), P); M = this.constrain(R, M, T, W); H += M; R -= M; break; case "northwest": O = this.constrain(J, O, K, P); M = this.constrain(R, M, T, W); H += M; R -= M; I += O; J -= O; break; case "southwest": O = this.constrain(J, O, K, P); R += M; R = Math.min(Math.max(T, R), W); I += O; J -= O; break } var N = this.snap(J, F, K); var V = this.snap(R, A, T); if (N != J || V != R) { switch (G) { case "northeast": H -= V - R; break; case "north": H -= V - R; break; case "southwest": I -= N - J; break; case "west": I -= N - J; break; case "northwest": I -= N - J; H -= V - R; break } J = N; R = V } if (this.preserveRatio) { switch (G) { case "southeast": case "east": R = L * (J / D); R = Math.min(Math.max(T, R), W); J = D * (R / L); break; case "south": J = D * (R / L); J = Math.min(Math.max(K, J), P); R = L * (J / D); break; case "northeast": J = D * (R / L); J = Math.min(Math.max(K, J), P); R = L * (J / D); break; case "north": var X = J; J = D * (R / L); J = Math.min(Math.max(K, J), P); R = L * (J / D); I += (X - J) / 2; break; case "southwest": R = L * (J / D); R = Math.min(Math.max(T, R), W); var X = J; J = D * (R / L); I += X - J; break; case "west": var E = R; R = L * (J / D); R = Math.min(Math.max(T, R), W); H += (E - R) / 2; var X = J; J = D * (R / L); I += X - J; break; case "northwest": var X = J; var E = R; R = L * (J / D); R = Math.min(Math.max(T, R), W); J = D * (R / L); H += E - R; I += X - J; break } } this.proxy.setBounds(I, H, J, R); if (this.dynamic) { this.resizeElement() } } catch (S) { } } }, handleOver: function () { if (this.enabled) { this.el.addClass("x-resizable-over") } }, handleOut: function () { if (!this.resizing) { this.el.removeClass("x-resizable-over") } }, getEl: function () { return this.el }, getResizeChild: function () { return this.resizeChild }, destroy: function (C) { this.proxy.remove(); if (this.overlay) { this.overlay.removeAllListeners(); this.overlay.remove() } var D = Ext.Resizable.positions; for (var A in D) { if (typeof D[A] != "function" && this[D[A]]) { var B = this[D[A]]; B.el.removeAllListeners(); B.el.remove() } } if (C) { this.el.update(""); this.el.remove() } }, syncHandleHeight: function () { var A = this.el.getHeight(true); if (this.west) { this.west.el.setHeight(A) } if (this.east) { this.east.el.setHeight(A) } } }); Ext.Resizable.positions = { n: "north", s: "south", e: "east", w: "west", se: "southeast", sw: "southwest", nw: "northwest", ne: "northeast" }; Ext.Resizable.Handle = function (C, E, B, D) { if (!this.tpl) { var A = Ext.DomHelper.createTemplate({ tag: "div", cls: "x-resizable-handle x-resizable-handle-{0}" }); A.compile(); Ext.Resizable.Handle.prototype.tpl = A } this.position = E; this.rz = C; this.el = this.tpl.append(C.el.dom, [this.position], true); this.el.unselectable(); if (D) { this.el.setOpacity(0) } this.el.on("mousedown", this.onMouseDown, this); if (!B) { this.el.on("mouseover", this.onMouseOver, this); this.el.on("mouseout", this.onMouseOut, this) } }; Ext.Resizable.Handle.prototype = { afterResize: function (A) { }, onMouseDown: function (A) { this.rz.onMouseDown(this, A) }, onMouseOver: function (A) { this.rz.handleOver(this, A) }, onMouseOut: function (A) { this.rz.handleOut(this, A) } };
Ext.Tip = Ext.extend(Ext.Panel, {



	minWidth: 40,

	maxWidth: 300,

	shadow: "sides",

	defaultAlign: "tl-bl?",
	autoRender: true,
	quickShowInterval: 250,

	// private panel overrides
	frame: true,
	hidden: true,
	baseCls: 'x-tip',
	floating: { shadow: true, shim: true, useDisplay: true, constrain: false },
	autoHeight: true,

	// private
	initComponent: function () {
		Ext.Tip.superclass.initComponent.call(this);
		if (this.closable && !this.title) {
			this.elements += ',header';
		}
	},

	// private
	afterRender: function () {
		Ext.Tip.superclass.afterRender.call(this);
		if (this.closable) {
			this.addTool({
				id: 'close',
				handler: this.hide,
				scope: this
			});
		}
	},


	showAt: function (xy) {
		Ext.Tip.superclass.show.call(this);
		if (this.measureWidth !== false && (!this.initialConfig || typeof this.initialConfig.width != 'number')) {
			this.doAutoWidth();
		}
		if (this.constrainPosition) {
			xy = this.el.adjustForConstraints(xy);
		}
		this.setPagePosition(xy[0], xy[1]);
	},

	// protected
	doAutoWidth: function () {
		var bw = this.body.getTextWidth();
		if (this.title) {
			bw = Math.max(bw, this.header.child('span').getTextWidth(this.title));
		}
		bw += this.getFrameWidth() + (this.closable ? 20 : 0) + this.body.getPadding("lr");
		this.setWidth(bw.constrain(this.minWidth, this.maxWidth));

		// IE7 repaint bug on initial show
		if (Ext.isIE7 && !this.repainted) {
			this.el.repaint();
			this.repainted = true;
		}
	},


	showBy: function (el, pos) {
		if (!this.rendered) {
			this.render(Ext.getBody());
		}
		this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign));
	},

	initDraggable: function () {
		this.dd = new Ext.Tip.DD(this, typeof this.draggable == 'boolean' ? null : this.draggable);
		this.header.addClass('x-tip-draggable');
	}
});

// private - custom Tip DD implementation
Ext.Tip.DD = function (tip, config) {
	Ext.apply(this, config);
	this.tip = tip;
	Ext.Tip.DD.superclass.constructor.call(this, tip.el.id, 'WindowDD-' + tip.id);
	this.setHandleElId(tip.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 (e) {
		this.tip.el.enableShadow(true);
	}
});

Ext.ToolTip = Ext.extend(Ext.Tip, {



	showDelay: 500,

	hideDelay: 200,

	dismissDelay: 5000,

	mouseOffset: [15, 18],

	trackMouse: false,
	constrainPosition: true,

	// private
	initComponent: function () {
		Ext.ToolTip.superclass.initComponent.call(this);
		this.lastActive = new Date();
		this.initTarget();
	},

	// private
	initTarget: function () {
		if (this.target) {
			this.target = Ext.get(this.target);
			this.target.on('mouseover', this.onTargetOver, this);
			this.target.on('mouseout', this.onTargetOut, this);
			this.target.on('mousemove', this.onMouseMove, this);
		}
	},

	// private
	onMouseMove: function (e) {
		this.targetXY = e.getXY();
		if (!this.hidden && this.trackMouse) {
			this.setPagePosition(this.getTargetXY());
		}
	},

	// private
	getTargetXY: function () {
		return [this.targetXY[0] + this.mouseOffset[0], this.targetXY[1] + this.mouseOffset[1]];
	},

	// private
	onTargetOver: function (e) {
		if (this.disabled || e.within(this.target.dom, true)) {
			return;
		}
		this.clearTimer('hide');
		this.targetXY = e.getXY();
		this.delayShow();
	},

	// private
	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();
		}
	},

	// private
	onTargetOut: function (e) {
		if (this.disabled || e.within(this.target.dom, true)) {
			return;
		}
		this.clearTimer('show');
		if (this.autoHide !== false) {
			this.delayHide();
		}
	},

	// private
	delayHide: function () {
		if (!this.hidden && !this.hideTimer) {
			this.hideTimer = this.hide.defer(this.hideDelay, this);
		}
	},


	hide: function () {
		this.clearTimer('dismiss');
		this.lastActive = new Date();
		Ext.ToolTip.superclass.hide.call(this);
	},


	show: function () {
		this.showAt(this.getTargetXY());
	},

	// inherit docs
	showAt: function (xy) {
		this.lastActive = new Date();
		this.clearTimers();
		Ext.ToolTip.superclass.showAt.call(this, xy);
		if (this.dismissDelay && this.autoHide !== false) {
			this.dismissTimer = this.hide.defer(this.dismissDelay, this);
		}
	},

	// private
	clearTimer: function (name) {
		name = name + 'Timer';
		clearTimeout(this[name]);
		delete this[name];
	},

	// private
	clearTimers: function () {
		this.clearTimer('show');
		this.clearTimer('dismiss');
		this.clearTimer('hide');
	},

	// private
	onShow: function () {
		Ext.ToolTip.superclass.onShow.call(this);
		Ext.getDoc().on('mousedown', this.onDocMouseDown, this);
	},

	// private
	onHide: function () {
		Ext.ToolTip.superclass.onHide.call(this);
		Ext.getDoc().un('mousedown', this.onDocMouseDown, this);
	},

	// private
	onDocMouseDown: function (e) {
		if (this.autoHide !== false && !e.within(this.el.dom)) {
			this.disable();
			this.enable.defer(100, this);
		}
	},

	// private
	onDisable: function () {
		this.clearTimers();
		this.hide();
	},

	// private
	adjustPosition: function (x, y) {
		// keep the position from being under the mouse
		var ay = this.targetXY[1], h = this.getSize().height;
		if (this.constrainPosition && y <= ay && (y + h) >= ay) {
			y = ay - h - 5;
		}
		return { x: x, y: y };
	},

	// private
	onDestroy: function () {
		Ext.ToolTip.superclass.onDestroy.call(this);
		if (this.target) {
			this.target.un('mouseover', this.onTargetOver, this);
			this.target.un('mouseout', this.onTargetOut, this);
			this.target.un('mousemove', this.onMouseMove, this);
		}
	}
});
