X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..HEAD:/builds/ext-all-sandbox.js diff --git a/builds/ext-all-sandbox.js b/builds/ext-all-sandbox.js index 823eed06..a10e55e1 100644 --- a/builds/ext-all-sandbox.js +++ b/builds/ext-all-sandbox.js @@ -12,4 +12,4 @@ This file may be used under the terms of the GNU General Public License version If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. */ -(function(Ext){if(typeof Ext==="undefined"){this.Ext={}}Ext.buildSettings={baseCSSPrefix:"x4-",scopeResetCSS:true};Ext.isSandboxed=true;(function(){var global=this,objectPrototype=Object.prototype,toString=objectPrototype.toString,enumerables=true,enumerablesTest={toString:1},i;if(typeof Ext==="undefined"){global.Ext={}}Ext.global=global;for(i in enumerablesTest){enumerables=null}if(enumerables){enumerables=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]}Ext.enumerables=enumerables;Ext.apply=function(object,config,defaults){if(defaults){Ext.apply(object,defaults)}if(object&&config&&typeof config==="object"){var i,j,k;for(i in config){object[i]=config[i]}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];if(config.hasOwnProperty(k)){object[k]=config[k]}}}}return object};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-",scopeResetCSS:false},Ext.buildSettings||{});Ext.apply(Ext,{emptyFn:function(){},baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(object,config){var property;if(object){for(property in config){if(object[property]===undefined){object[property]=config[property]}}}return object},iterate:function(object,fn,scope){if(Ext.isEmpty(object)){return}if(scope===undefined){scope=object}if(Ext.isIterable(object)){Ext.Array.each.call(Ext.Array,object,fn,scope)}else{Ext.Object.each.call(Ext.Object,object,fn,scope)}}});Ext.apply(Ext,{extend:function(){var objectConstructor=objectPrototype.constructor,inlineOverrides=function(o){for(var m in o){if(!o.hasOwnProperty(m)){continue}this[m]=o[m]}};return function(subclass,superclass,overrides){if(Ext.isObject(superclass)){overrides=superclass;superclass=subclass;subclass=overrides.constructor!==objectConstructor?overrides.constructor:function(){superclass.apply(this,arguments)}}var F=function(){},subclassProto,superclassProto=superclass.prototype;F.prototype=superclassProto;subclassProto=subclass.prototype=new F();subclassProto.constructor=subclass;subclass.superclass=superclassProto;if(superclassProto.constructor===objectConstructor){superclassProto.constructor=superclass}subclass.override=function(overrides){Ext.override(subclass,overrides)};subclassProto.override=inlineOverrides;subclassProto.proto=subclassProto;subclass.override(overrides);subclass.extend=function(o){return Ext.extend(subclass,o)};return subclass}}(),override:function(cls,overrides){if(cls.prototype.$className){return cls.override(overrides)}else{Ext.apply(cls.prototype,overrides)}}});Ext.apply(Ext,{valueFrom:function(value,defaultValue,allowBlank){return Ext.isEmpty(value,allowBlank)?defaultValue:value},typeOf:function(value){if(value===null){return"null"}var type=typeof value;if(type==="undefined"||type==="string"||type==="number"||type==="boolean"){return type}var typeToString=toString.call(value);switch(typeToString){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}if(type==="function"){return"function"}if(type==="object"){if(value.nodeType!==undefined){if(value.nodeType===3){return(/\S/).test(value.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}},isEmpty:function(value,allowEmptyString){return(value===null)||(value===undefined)||(!allowEmptyString?value==="":false)||(Ext.isArray(value)&&value.length===0)},isArray:("isArray" in Array)?Array.isArray:function(value){return toString.call(value)==="[object Array]"},isDate:function(value){return toString.call(value)==="[object Date]"},isObject:(toString.call(null)==="[object Object]")?function(value){return value!==null&&value!==undefined&&toString.call(value)==="[object Object]"&&value.ownerDocument===undefined}:function(value){return toString.call(value)==="[object Object]"},isPrimitive:function(value){var type=typeof value;return type==="string"||type==="number"||type==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(value){return toString.call(value)==="[object Function]"}:function(value){return typeof value==="function"},isNumber:function(value){return typeof value==="number"&&isFinite(value)},isNumeric:function(value){return !isNaN(parseFloat(value))&&isFinite(value)},isString:function(value){return typeof value==="string"},isBoolean:function(value){return typeof value==="boolean"},isElement:function(value){return value?value.nodeType===1:false},isTextNode:function(value){return value?value.nodeName==="#text":false},isDefined:function(value){return typeof value!=="undefined"},isIterable:function(value){return(value&&typeof value!=="string")?value.length!==undefined:false}});Ext.apply(Ext,{clone:function(item){if(item===null||item===undefined){return item}if(item.nodeType&&item.cloneNode){return item.cloneNode(true)}var type=toString.call(item);if(type==="[object Date]"){return new Date(item.getTime())}var i,j,k,clone,key;if(type==="[object Array]"){i=item.length;clone=[];while(i--){clone[i]=Ext.clone(item[i])}}else{if(type==="[object Object]"&&item.constructor===Object){clone={};for(key in item){clone[key]=Ext.clone(item[key])}if(enumerables){for(j=enumerables.length;j--;){k=enumerables[j];clone[k]=item[k]}}}}return clone||item},getUniqueGlobalNamespace:function(){var uniqueGlobalNamespace=this.uniqueGlobalNamespace;if(uniqueGlobalNamespace===undefined){var i=0;do{uniqueGlobalNamespace="ExtBox"+(++i)}while(Ext.global[uniqueGlobalNamespace]!==undefined);Ext.global[uniqueGlobalNamespace]=Ext;this.uniqueGlobalNamespace=uniqueGlobalNamespace}return uniqueGlobalNamespace},functionFactory:function(){var args=Array.prototype.slice.call(arguments);if(args.length>0){args[args.length-1]="var Ext=window."+this.getUniqueGlobalNamespace()+";"+args[args.length-1]}return Function.prototype.constructor.apply(Function.prototype,args)}});Ext.type=Ext.typeOf})();(function(){var version="4.0.2",Version;Ext.Version=Version=Ext.extend(Object,{constructor:function(version){var parts,releaseStartIndex;if(version instanceof Version){return version}this.version=this.shortVersion=String(version).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,"");releaseStartIndex=this.version.search(/([^\d\.])/);if(releaseStartIndex!==-1){this.release=this.version.substr(releaseStartIndex,version.length);this.shortVersion=this.version.substr(0,releaseStartIndex)}this.shortVersion=this.shortVersion.replace(/[^\d]/g,"");parts=this.version.split(".");this.major=parseInt(parts.shift()||0,10);this.minor=parseInt(parts.shift()||0,10);this.patch=parseInt(parts.shift()||0,10);this.build=parseInt(parts.shift()||0,10);return this},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(target){return Version.compare(this.version,target)===1},isLessThan:function(target){return Version.compare(this.version,target)===-1},equals:function(target){return Version.compare(this.version,target)===0},match:function(target){target=String(target);return this.version.substr(0,target.length)===target},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion}});Ext.apply(Version,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(value){return !value?0:(isNaN(value)?this.releaseValueMap[value]||value:parseInt(value,10))},compare:function(current,target){var currentValue,targetValue,i;current=new Version(current).toArray();target=new Version(target).toArray();for(i=0;itargetValue){return 1}}}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(packageName,version){Ext.versions[packageName]=new Version(version);Ext.lastRegisteredVersion=Ext.versions[packageName];return this},getVersion:function(packageName){if(packageName===undefined){return Ext.lastRegisteredVersion}return Ext.versions[packageName]},deprecate:function(packageName,since,closure,scope){if(Version.compare(Ext.getVersion(packageName),since)<1){closure.call(scope)}}});Ext.setVersion("core",version)})();Ext.String={trimRegex:/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,escapeRe:/('|\\)/g,formatRe:/\{(\d+)\}/g,escapeRegexRe:/([-.*+?^${}()|[\]\/\\])/g,htmlEncode:(function(){var entities={"&":"&",">":">","<":"<",'"':"""},keys=[],p,regex;for(p in entities){keys.push(p)}regex=new RegExp("("+keys.join("|")+")","g");return function(value){return(!value)?value:String(value).replace(regex,function(match,capture){return entities[capture]})}})(),htmlDecode:(function(){var entities={"&":"&",">":">","<":"<",""":'"'},keys=[],p,regex;for(p in entities){keys.push(p)}regex=new RegExp("("+keys.join("|")+"|&#[0-9]{1,5};)","g");return function(value){return(!value)?value:String(value).replace(regex,function(match,capture){if(capture in entities){return entities[capture]}else{return String.fromCharCode(parseInt(capture.substr(2),10))}})}})(),urlAppend:function(url,string){if(!Ext.isEmpty(string)){return url+(url.indexOf("?")===-1?"?":"&")+string}return url},trim:function(string){return string.replace(Ext.String.trimRegex,"")},capitalize:function(string){return string.charAt(0).toUpperCase()+string.substr(1)},ellipsis:function(value,len,word){if(value&&value.length>len){if(word){var vs=value.substr(0,len-2),index=Math.max(vs.lastIndexOf(" "),vs.lastIndexOf("."),vs.lastIndexOf("!"),vs.lastIndexOf("?"));if(index!==-1&&index>=(len-15)){return vs.substr(0,index)+"..."}}return value.substr(0,len-3)+"..."}return value},escapeRegex:function(string){return string.replace(Ext.String.escapeRegexRe,"\\$1")},escape:function(string){return string.replace(Ext.String.escapeRe,"\\$1")},toggle:function(string,value,other){return string===value?other:value},leftPad:function(string,size,character){var result=String(string);character=character||" ";while(result.length=increment){newValue+=increment}else{if(m*2<-increment){newValue-=increment}}}return Ext.Number.constrain(newValue,minValue,maxValue)},toFixed:function(value,precision){if(isToFixedBroken){precision=precision||0;var pow=Math.pow(10,precision);return(Math.round(value*pow)/pow).toFixed(precision)}return value.toFixed(precision)},from:function(value,defaultValue){if(isFinite(value)){value=parseFloat(value)}return !isNaN(value)?value:defaultValue}}})();Ext.num=function(){return Ext.Number.from.apply(this,arguments)};(function(){var arrayPrototype=Array.prototype,slice=arrayPrototype.slice,supportsSplice=function(){var array=[],lengthBefore,j=20;if(!array.splice){return false}while(j--){array.push("A")}array.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");lengthBefore=array.length;array.splice(13,0,"XXX");if(lengthBefore+1!=array.length){return false}return true}(),supportsForEach="forEach" in arrayPrototype,supportsMap="map" in arrayPrototype,supportsIndexOf="indexOf" in arrayPrototype,supportsEvery="every" in arrayPrototype,supportsSome="some" in arrayPrototype,supportsFilter="filter" in arrayPrototype,supportsSort=function(){var a=[1,2,3,4,5].sort(function(){return 0});return a[0]===1&&a[1]===2&&a[2]===3&&a[3]===4&&a[4]===5}(),supportsSliceOnNodeList=true,ExtArray;try{if(typeof document!=="undefined"){slice.call(document.getElementsByTagName("body"))}}catch(e){supportsSliceOnNodeList=false}function fixArrayIndex(array,index){return(index<0)?Math.max(0,array.length+index):Math.min(array.length,index)}function replaceSim(array,index,removeCount,insert){var add=insert?insert.length:0,length=array.length,pos=fixArrayIndex(array,index);if(pos===length){if(add){array.push.apply(array,insert)}}else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove,i;if(tailNewPostailOldPos){for(i=tailCount;i--;){array[tailNewPos+i]=array[tailOldPos+i]}}}if(add&&pos===lengthAfterRemove){array.length=lengthAfterRemove;array.push.apply(array,insert)}else{array.length=lengthAfterRemove+add;for(i=0;i-1;i--){if(fn.call(scope||array[i],array[i],i,array)===false){return i}}}return true},forEach:function(array,fn,scope){if(supportsForEach){return array.forEach(fn,scope)}var i=0,ln=array.length;for(;imax){max=item}}}return max},mean:function(array){return array.length>0?ExtArray.sum(array)/array.length:undefined},sum:function(array){var sum=0,i,ln,item;for(i=0,ln=array.length;i0){return setTimeout(fn,millis)}fn();return 0},createSequence:function(origFn,newFn,scope){if(!Ext.isFunction(newFn)){return origFn}else{return function(){var retval=origFn.apply(this||window,arguments);newFn.apply(scope||this||window,arguments);return retval}}},createBuffered:function(fn,buffer,scope,args){return function(){var timerId;return function(){var me=this;if(timerId){clearInterval(timerId);timerId=null}timerId=setTimeout(function(){fn.apply(scope||me,args||arguments)},buffer)}}()},createThrottled:function(fn,interval,scope){var lastCallTime,elapsed,lastArgs,timer,execute=function(){fn.apply(scope||this,lastArgs);lastCallTime=new Date().getTime()};return function(){elapsed=new Date().getTime()-lastCallTime;lastArgs=arguments;clearTimeout(timer);if(!lastCallTime||(elapsed>=interval)){execute()}else{timer=setTimeout(execute,interval-elapsed)}}}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind");(function(){var ExtObject=Ext.Object={toQueryObjects:function(name,value,recursive){var self=ExtObject.toQueryObjects,objects=[],i,ln;if(Ext.isArray(value)){for(i=0,ln=value.length;i0){components=part.split("=");name=decodeURIComponent(components[0]);value=(components[1]!==undefined)?decodeURIComponent(components[1]):"";if(!recursive){if(object.hasOwnProperty(name)){if(!Ext.isArray(object[name])){object[name]=[object[name]]}object[name].push(value)}else{object[name]=value}}else{matchedKeys=name.match(/(\[):?([^\]]*)\]/g);matchedName=name.match(/^([^\[]+)/);name=matchedName[0];keys=[];if(matchedKeys===null){object[name]=value;continue}for(j=0,subLn=matchedKeys.length;j 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var c="Y-m-dTH:i:sP",code=[],i=0,l=c.length;i= 0 && y >= 0){","v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);","}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(format){var regexNum=utilDate.parseRegexes.length,currentGroup=1,calc=[],regex=[],special=false,ch="";for(var i=0;i Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)"},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)"},g:function(){return utilDate.formatCodeToRegex("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return utilDate.formatCodeToRegex("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var calc=[],arr=[utilDate.formatCodeToRegex("Y",1),utilDate.formatCodeToRegex("m",2),utilDate.formatCodeToRegex("d",3),utilDate.formatCodeToRegex("h",4),utilDate.formatCodeToRegex("i",5),utilDate.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",utilDate.formatCodeToRegex("P",8).c,"}else{",utilDate.formatCodeToRegex("O",8).c,"}","}"].join("\n")}];for(var i=0,l=arr.length;i0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(offset)/60),2,"0")+(colon?":":"")+Ext.String.leftPad(Math.abs(offset%60),2,"0")},getDayOfYear:function(date){var num=0,d=Ext.Date.clone(date),m=date.getMonth(),i;for(i=0,d.setDate(1),d.setMonth(0);i28){day=Math.min(day,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(date),"mo",value)).getDate())}d.setDate(day);d.setMonth(date.getMonth()+value);break;case Ext.Date.YEAR:d.setFullYear(date.getFullYear()+value);break}return d},between:function(date,start,end){var t=date.getTime();return start.getTime()<=t&&t<=end.getTime()},compat:function(){var nativeDate=window.Date,p,u,statics=["useStrict","formatCodeToRegex","parseFunctions","parseRegexes","formatFunctions","y2kYear","MILLI","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","defaults","dayNames","monthNames","monthNumbers","getShortMonthName","getShortDayName","getMonthNumber","formatCodes","isValid","parseDate","getFormatCode","createFormat","createParser","parseCodes"],proto=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"];Ext.Array.forEach(statics,function(s){nativeDate[s]=utilDate[s]});Ext.Array.forEach(proto,function(s){nativeDate.prototype[s]=function(){var args=Array.prototype.slice.call(arguments);args.unshift(this);return utilDate[s].apply(utilDate,args)}})}};var utilDate=Ext.Date})();(function(flexSetter){var Base=Ext.Base=function(){};Base.prototype={$className:"Ext.Base",$class:Base,self:Base,constructor:function(){return this},initConfig:function(config){if(!this.$configInited){this.config=Ext.Object.merge({},this.config||{},config||{});this.applyConfig(this.config);this.$configInited=true}return this},setConfig:function(config){this.applyConfig(config||{});return this},applyConfig:flexSetter(function(name,value){var setter="set"+Ext.String.capitalize(name);if(typeof this[setter]==="function"){this[setter].call(this,value)}return this}),callParent:function(args){var method=this.callParent.caller,parentClass,methodName;if(!method.$owner){method=method.caller}parentClass=method.$owner.superclass;methodName=method.$name;return parentClass[methodName].apply(this,args||[])},statics:function(){var method=this.statics.caller,self=this.self;if(!method){return self}return method.$owner},callOverridden:function(args){var method=this.callOverridden.caller;return method.$previous.apply(this,args||[])},destroy:function(){}};Ext.apply(Ext.Base,{create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},own:flexSetter(function(name,value){if(typeof value==="function"){this.ownMethod(name,value)}else{this.prototype[name]=value}}),ownMethod:function(name,fn){var originalFn;if(fn.$owner!==undefined&&fn!==Ext.emptyFn){originalFn=fn;fn=function(){return originalFn.apply(this,arguments)}}fn.$owner=this;fn.$name=name;this.prototype[name]=fn},addStatics:function(members){for(var name in members){if(members.hasOwnProperty(name)){this[name]=members[name]}}return this},implement:function(members){var prototype=this.prototype,name,i,member,previous;for(name in members){if(members.hasOwnProperty(name)){member=members[name];if(typeof member==="function"){member.$owner=this;member.$name=name}prototype[name]=member}}if(Ext.enumerables){var enumerables=Ext.enumerables;for(i=enumerables.length;i--;){name=enumerables[i];if(members.hasOwnProperty(name)){member=members[name];member.$owner=this;member.$name=name;prototype[name]=member}}}},borrow:function(fromClass,members){var fromPrototype=fromClass.prototype,i,ln,member;members=Ext.Array.from(members);for(i=0,ln=members.length;i0){if(prefix===className){return paths[prefix]}path=paths[prefix];className=className.substring(prefix.length+1)}if(path.length>0){path+="/"}return path.replace(/\/\.\//g,"/")+className.replace(/\./g,"/")+".js"},getPrefix:function(className){var paths=this.config.paths,prefix,deepestPrefix="";if(paths.hasOwnProperty(className)){return className}for(prefix in paths){if(paths.hasOwnProperty(prefix)&&prefix+"."===className.substring(0,prefix.length+1)){if(prefix.length>deepestPrefix.length){deepestPrefix=prefix}}}return deepestPrefix},refreshQueue:function(){var ln=this.queue.length,i,item,j,requires;if(ln===0){this.triggerReady();return}for(i=0;ithis.numLoadedFiles){continue}j=0;do{if(Manager.isCreated(requires[j])){Ext.Array.erase(requires,j,1)}else{j++}}while(j=200&&status<300){new Function(xhr.responseText+"\n//@ sourceURL="+fileName)();onLoad.call(scope)}else{onError.call(this,"Failed loading synchronously via XHR: '"+url+"'; please verify that the file exists. XHR status code: "+status,synchronous)}}xhr=null}},exclude:function(excludes){var me=this;return{require:function(expressions,fn,scope){return me.require(expressions,fn,scope,excludes)},syncRequire:function(expressions,fn,scope){return me.syncRequire(expressions,fn,scope,excludes)}}},syncRequire:function(){this.syncModeEnabled=true;this.require.apply(this,arguments);this.refreshQueue();this.syncModeEnabled=false},require:function(expressions,fn,scope,excludes){var filePath,expression,exclude,className,excluded={},excludedClassNames=[],possibleClassNames=[],possibleClassName,classNames=[],i,j,ln,subLn;expressions=Ext.Array.from(expressions);excludes=Ext.Array.from(excludes);fn=fn||Ext.emptyFn;scope=scope||Ext.global;for(i=0,ln=excludes.length;i0){excludedClassNames=Manager.getNamesByExpression(exclude);for(j=0,subLn=excludedClassNames.length;j0){possibleClassNames=Manager.getNamesByExpression(expression);for(j=0,subLn=possibleClassNames.length;j0){Ext.Error.raise({sourceClass:"Ext.Loader",sourceMethod:"require",msg:"Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((classNames.length>1)?"es":"")+": "+classNames.join(", ")})}}if(classNames.length===0){fn.call(scope);return this}this.queue.push({requires:classNames,callback:fn,scope:scope});classNames=classNames.slice();for(i=0,ln=classNames.length;iwindow.innerWidth?"portrait":"landscape"},destroy:function(){var ln=arguments.length,i,arg;for(i=0;i
'),child=div.child("div",true),w1=child.offsetWidth;div.setStyle("overflow",(Ext.isWebKit||Ext.isGecko)?"auto":"scroll");var w2=child.offsetWidth,width=w1-w2;div.remove();scrollbarSize={width:width,height:width}}return scrollbarSize},getScrollBarWidth:function(force){var size=Ext.getScrollbarSize(force);return size.width+2},copyTo:function(dest,source,names,usePrototypeKeys){if(typeof names=="string"){names=names.split(/[,;\s]/)}Ext.each(names,function(name){if(usePrototypeKeys||source.hasOwnProperty(name)){dest[name]=source[name]}},this);return dest},destroyMembers:function(o){for(var i=1,a=arguments,len=a.length;i]+>/gi,stripScriptsRe=/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe=/\r?\n/g,formatCleanRe=/[^\d\.]/g,I18NFormatCleanRe;Ext.apply(UtilFormat,{thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",currencyAtEnd:false,undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},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()},usMoney:function(v){return UtilFormat.currency(v,"$",2)},currency:function(v,currencySign,decimals,end){var negativeSign="",format=",0",i=0;v=v-0;if(v<0){v=-v;negativeSign="-"}decimals=decimals||UtilFormat.currencyPrecision;format+=format+(decimals>0?".":"");for(;i")},capitalize:Ext.String.capitalize,ellipsis:Ext.String.ellipsis,format:Ext.String.format,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,trim:Ext.String.trim,parseBox:function(box){if(Ext.isNumber(box)){box=box.toString()}var parts=box.split(" "),ln=parts.length;if(ln==1){parts[1]=parts[2]=parts[3]=parts[0]}else{if(ln==2){parts[2]=parts[0];parts[3]=parts[1]}else{if(ln==3){parts[3]=parts[1]}}}return{top:parseInt(parts[0],10)||0,right:parseInt(parts[1],10)||0,bottom:parseInt(parts[2],10)||0,left:parseInt(parts[3],10)||0}},escapeRegex:function(s){return s.replace(/([\-.*+?\^${}()|\[\]\/\\])/g,"\\$1")}})})();Ext.ns("Ext.util");Ext.util.TaskRunner=function(interval){interval=interval||10;var tasks=[],removeQueue=[],id=0,running=false,stopThread=function(){running=false;clearInterval(id);id=0},startThread=function(){if(!running){running=true;id=setInterval(runTasks,interval)}},removeTask=function(t){removeQueue.push(t);if(t.onStop){t.onStop.apply(t.scope||t)}},runTasks=function(){var rqLen=removeQueue.length,now=new Date().getTime(),i;if(rqLen>0){for(i=0;i','
',"",'
','
',"
",'
'].join("");doc.body.appendChild(div);for(i=0;i

";return(d.childNodes.length==2)}},{identity:"Float",fn:function(doc,div){return !!div.lastChild.style.cssFloat}},{identity:"AudioTag",fn:function(doc){return !!doc.createElement("audio").canPlayType}},{identity:"History",fn:function(){return !!(window.history&&history.pushState)}},{identity:"CSS3DTransform",fn:function(){return(typeof WebKitCSSMatrix!="undefined"&&new WebKitCSSMatrix().hasOwnProperty("m41"))}},{identity:"CSS3LinearGradient",fn:function(doc,div){var property="background-image:",webkit="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",w3c="linear-gradient(left top, black, white)",moz="-moz-"+w3c,options=[property+webkit,property+w3c,property+moz];div.style.cssText=options.join(";");return(""+div.style.backgroundImage).indexOf("gradient")!==-1}},{identity:"CSS3BorderRadius",fn:function(doc,div){var domPrefixes=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],pass=false,i;for(i=0;i=534.16}}]};Ext.ns("Ext.core");Ext.core.DomHelper=function(){var tempTableEl=null,emptyTags=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,tableRe=/^table|tbody|tr|td$/i,confRe=/tag|children|cn|html$/i,tableElRe=/td|tr|tbody/i,endRe=/end/i,pub,afterbegin="afterbegin",afterend="afterend",beforebegin="beforebegin",beforeend="beforeend",ts="",te="
",tbs=ts+"",tbe=""+te,trs=tbs+"",tre=""+tbe;function doInsert(el,o,returnElement,pos,sibling,append){el=Ext.getDom(el);var newNode;if(pub.useDom){newNode=createDom(o,null);if(append){el.appendChild(newNode)}else{(sibling=="firstChild"?el:el.parentNode).insertBefore(newNode,el[sibling]||el)}}else{newNode=Ext.core.DomHelper.insertHtml(pos,el,Ext.core.DomHelper.createHtml(o))}return returnElement?Ext.get(newNode,true):newNode}function createDom(o,parentNode){var el,doc=document,useSet,attr,val,cn;if(Ext.isArray(o)){el=doc.createDocumentFragment();for(var i=0,l=o.length;i"}}}return b}function ieTable(depth,s,h,e){tempTableEl.innerHTML=[s,h,e].join("");var i=-1,el=tempTableEl,ns;while(++i+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w-\*]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,isIE=window.ActiveXObject?true:false,key=30803;eval("var batch = 30803;");function child(parent,index){var i=0,n=parent.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(parent){var n=parent.firstChild,nodeIndex=-1,nextNode;while(n){nextNode=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){parent.removeChild(n)}else{n.nodeIndex=++nodeIndex}n=nextNode}return this}function byClassName(nodeSet,cls){if(!cls){return nodeSet}var result=[],ri=-1;for(var i=0,ci;ci=nodeSet[i];i++){if((" "+ci.className+" ").indexOf(cls)!=-1){result[++ri]=ci}}return result}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=ni.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i1){return nodup(results)}return results},isXml:function(el){var docEl=(el?el.ownerDocument||el:0).documentElement;return docEl?docEl.nodeName!=="HTML":false},select:document.querySelectorAll?function(path,root,type){root=root||document;if(!Ext.DomQuery.isXml(root)){try{var cs=root.querySelectorAll(path);return Ext.Array.toArray(cs)}catch(ex){}}return Ext.DomQuery.jsSelect.call(this,path,root,type)}:function(path,root,type){return Ext.DomQuery.jsSelect.call(this,path,root,type)},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root),v;n=n[0]?n[0]:n;if(typeof n.normalize=="function"){n.normalize()}v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el),result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;(function(){var DOC=document,EC=Ext.cache;Ext.Element=Ext.core.Element=function(element,forceNew){var dom=typeof element=="string"?DOC.getElementById(element):element,id;if(!dom){return null}id=dom.id;if(!forceNew&&id&&EC[id]){return EC[id].el}this.dom=dom;this.id=id||Ext.id(dom)};var DH=Ext.core.DomHelper,El=Ext.core.Element;El.prototype={set:function(o,useSet){var el=this.dom,attr,val;useSet=(useSet!==false)&&!!el.setAttribute;for(attr in o){if(o.hasOwnProperty(attr)){val=o[attr];if(attr=="style"){DH.applyStyles(el,val)}else{if(attr=="cls"){el.className=val}else{if(useSet){el.setAttribute(attr,val)}else{el[attr]=val}}}}}return this},defaultUnit:"px",is:function(simpleSelector){return Ext.DomQuery.is(this.dom,simpleSelector)},focus:function(defer,dom){var me=this;dom=dom||me.dom;try{if(Number(defer)){Ext.defer(me.focus,defer,null,[null,dom])}else{dom.focus()}}catch(e){}return me},blur:function(){try{this.dom.blur()}catch(e){}return this},getValue:function(asNumber){var val=this.dom.value;return asNumber?parseInt(val,10):val},addListener:function(eventName,fn,scope,options){Ext.EventManager.on(this.dom,eventName,fn,scope||this,options);return this},removeListener:function(eventName,fn,scope){Ext.EventManager.un(this.dom,eventName,fn,scope||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},purgeAllListeners:function(){Ext.EventManager.purgeElement(this);return this},addUnits:function(size,units){if(Ext.isNumber(size)){return size+(units||this.defaultUnit||"px")}if(size===""||size=="auto"||size===undefined||size===null){return size||""}if(!unitPattern.test(size)){return size||""}return size},isBorderBox:function(){return Ext.isBorderBox||noBoxAdjust[(this.dom.tagName||"").toLowerCase()]},remove:function(){var me=this,dom=me.dom;if(dom){delete me.dom;Ext.removeNode(dom)}},hover:function(overFn,outFn,scope,options){var me=this;me.on("mouseenter",overFn,scope||me.dom,options);me.on("mouseleave",outFn,scope||me.dom,options);return me},contains:function(el){return !el?false:Ext.core.Element.isAncestor(this.dom,el.dom?el.dom:el)},getAttributeNS:function(ns,name){return this.getAttribute(name,ns)},getAttribute:(Ext.isIE&&!(Ext.isIE9&&document.documentMode===9))?function(name,ns){var d=this.dom,type;if(ns){type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]||null}return null}if(name==="for"){name="htmlFor"}return d[name]||null}:function(name,ns){var d=this.dom;if(ns){return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)}return d.getAttribute(name)||d[name]||null},update:function(html){if(this.dom){this.dom.innerHTML=html}return this}};var ep=El.prototype;El.addMethods=function(o){Ext.apply(ep,o)};ep.on=ep.addListener;ep.un=ep.removeListener;ep.clearListeners=ep.removeAllListeners;ep.destroy=ep.remove;ep.autoBoxAdjust=true;var unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,docEl;El.get=function(el){var ex,elm,id;if(!el){return null}if(typeof el=="string"){if(!(elm=DOC.getElementById(el))){return null}if(EC[el]&&EC[el].el){ex=EC[el].el;ex.dom=elm}else{ex=El.addToCache(new El(elm))}return ex}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el)}if(EC[id]&&EC[id].el){ex=EC[id].el;ex.dom=el}else{ex=El.addToCache(new El(el))}return ex}else{if(el instanceof El){if(el!=docEl){if(Ext.isIE&&(el.id==undefined||el.id=="")){el.dom=el.dom}else{el.dom=DOC.getElementById(el.id)||el.dom}}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==DOC){if(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=DOC}return docEl}}}}}}return null};El.addToCache=function(el,id){if(el){id=id||el.id;EC[id]={el:el,data:{},events:{}}}return el};El.data=function(el,key,value){el=El.get(el);if(!el){return null}var c=EC[el.id].data;if(arguments.length==2){return c[key]}else{return(c[key]=value)}};function garbageCollect(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThreadId)}else{var eid,el,d,o;for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}o=EC[eid];if(o.skipGarbageCollection){continue}el=o.el;d=el.dom;if(!d||!d.parentNode||(!d.offsetParent&&!DOC.getElementById(eid))){if(d&&Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}delete EC[eid]}}if(Ext.isIE){var t={};for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}t[eid]=EC[eid]}EC=Ext.cache=t}}}El.collectorThreadId=setInterval(garbageCollect,30000);var flyFn=function(){};flyFn.prototype=El.prototype;El.Flyweight=function(dom){this.dom=dom};El.Flyweight.prototype=new flyFn();El.Flyweight.prototype.isFlyweight=true;El._flyweights={};El.fly=function(el,named){var ret=null;named=named||"_global";el=Ext.getDom(el);if(el){(El._flyweights[named]=El._flyweights[named]||new El.Flyweight()).dom=el;ret=El._flyweights[named]}return ret};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.core.Element.addMethods({findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,stopEl;maxDepth=maxDepth||50;if(isNaN(maxDepth)){stopEl=Ext.getDom(maxDepth);maxDepth=Number.MAX_VALUE}while(p&&p.nodeType==1&&depth "+selector,me.dom);return returnDom?node:Ext.get(node)},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){if(!this.dom){return null}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}});Ext.core.Element.addMethods({appendChild:function(el){return Ext.get(el).appendTo(this)},appendTo:function(el){Ext.getDom(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(el.nodeType||el.dom||typeof el=="string"){el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !returnDom?Ext.get(el):el}else{return this.createChild(el,this.dom.firstChild,returnDom)}},insertSibling:function(el,where,returnDom){var me=this,rt,isAfter=(where||"before").toLowerCase()=="after",insertEl;if(Ext.isArray(el)){insertEl=me;Ext.each(el,function(e){rt=Ext.fly(insertEl,"_internal").insertSibling(e,where,returnDom);if(isAfter){insertEl=rt}});return rt}el=el||{};if(el.nodeType||el.dom){rt=me.dom.parentNode.insertBefore(Ext.getDom(el),isAfter?me.dom.nextSibling:me.dom);if(!returnDom){rt=Ext.get(rt)}}else{if(isAfter&&!me.dom.nextSibling){rt=Ext.core.DomHelper.append(me.dom.parentNode,el,!returnDom)}else{rt=Ext.core.DomHelper[isAfter?"insertAfter":"insertBefore"](me.dom,el,!returnDom)}}return rt},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this},replaceWith:function(el){var me=this;if(el.nodeType||el.dom||typeof el=="string"){el=Ext.get(el);me.dom.parentNode.insertBefore(el,me.dom)}else{el=Ext.core.DomHelper.insertBefore(me.dom,el)}delete Ext.cache[me.id];Ext.removeNode(me.dom);me.id=Ext.id(me.dom=el);Ext.core.Element.addToCache(me.isFlyweight?new Ext.core.Element(me.dom):me);return me},createChild:function(config,insertBefore,returnDom){config=config||{tag:"div"};if(insertBefore){return Ext.core.DomHelper.insertBefore(insertBefore,config,returnDom!==true)}else{return Ext.core.DomHelper[!this.dom.firstChild?"insertFirst":"append"](this.dom,config,returnDom!==true)}},wrap:function(config,returnDom){var newEl=Ext.core.DomHelper.insertBefore(this.dom,config||{tag:"div"},!returnDom),d=newEl.dom||newEl;d.appendChild(this.dom);return newEl},insertHtml:function(where,html,returnEl){var el=Ext.core.DomHelper.insertHtml(where,this.dom,html);return returnEl?Ext.get(el):el}});(function(){Ext.core.Element.boxMarkup='
';var supports=Ext.supports,view=document.defaultView,opacityRe=/alpha\(opacity=(.*)\)/i,trimRe=/^\s+|\s+$/g,spacesRe=/\s+/,wordsRe=/\w/g,adjustDirect2DTableRe=/table-row|table-.*-group/,INTERNAL="_internal",PADDING="padding",MARGIN="margin",BORDER="border",LEFT="-left",RIGHT="-right",TOP="-top",BOTTOM="-bottom",WIDTH="-width",MATH=Math,HIDDEN="hidden",ISCLIPPED="isClipped",OVERFLOW="overflow",OVERFLOWX="overflow-x",OVERFLOWY="overflow-y",ORIGINALCLIP="originalClip",borders={l:BORDER+LEFT+WIDTH,r:BORDER+RIGHT+WIDTH,t:BORDER+TOP+WIDTH,b:BORDER+BOTTOM+WIDTH},paddings={l:PADDING+LEFT,r:PADDING+RIGHT,t:PADDING+TOP,b:PADDING+BOTTOM},margins={l:MARGIN+LEFT,r:MARGIN+RIGHT,t:MARGIN+TOP,b:MARGIN+BOTTOM},data=Ext.core.Element.data;Ext.override(Ext.core.Element,{adjustWidth:function(width){var me=this,isNum=(typeof width=="number");if(isNum&&me.autoBoxAdjust&&!me.isBorderBox()){width-=(me.getBorderWidth("lr")+me.getPadding("lr"))}return(isNum&&width<0)?0:width},adjustHeight:function(height){var me=this,isNum=(typeof height=="number");if(isNum&&me.autoBoxAdjust&&!me.isBorderBox()){height-=(me.getBorderWidth("tb")+me.getPadding("tb"))}return(isNum&&height<0)?0:height},addCls:function(className){var me=this,cls=[],space=((me.dom.className.replace(trimRe,"")=="")?"":" "),i,len,v;if(className===undefined){return me}if(Object.prototype.toString.call(className)!=="[object Array]"){if(typeof className==="string"){className=className.replace(trimRe,"").split(spacesRe);if(className.length===1){className=className[0];if(!me.hasCls(className)){me.dom.className+=space+className}}else{this.addCls(className)}}}else{for(i=0,len=className.length;i5?color.toLowerCase():defaultValue)},setStyle:function(prop,value){var me=this,tmp,style;if(!me.dom){return me}if(typeof prop==="string"){tmp={};tmp[prop]=value;prop=tmp}for(style in prop){if(prop.hasOwnProperty(style)){value=Ext.value(prop[style],"");if(style=="opacity"){me.setOpacity(value)}else{me.dom.style[Ext.core.Element.normalize(style)]=value}}}return me},setOpacity:function(opacity,animate){var me=this,dom=me.dom,val,style;if(!me.dom){return me}style=me.dom.style;if(!animate||!me.anim){if(!Ext.supports.Opacity){opacity=opacity<1?"alpha(opacity="+opacity*100+")":"";val=style.filter.replace(opacityRe,"").replace(trimRe,"");style.zoom=1;style.filter=val+(val.length>0?" ":"")+opacity}else{style.opacity=opacity}}else{if(!Ext.isObject(animate)){animate={duration:350,easing:"ease-in"}}me.animate(Ext.applyIf({to:{opacity:opacity}},animate))}return me},clearOpacity:function(){var style=this.dom.style;if(!Ext.supports.Opacity){if(!Ext.isEmpty(style.filter)){style.filter=style.filter.replace(opacityRe,"").replace(trimRe,"")}}else{style.opacity=style["-moz-opacity"]=style["-khtml-opacity"]=""}return this},adjustDirect2DDimension:function(dimension){var me=this,dom=me.dom,display=me.getStyle("display"),inlineDisplay=dom.style.display,inlinePosition=dom.style.position,originIndex=dimension==="width"?0:1,floating;if(display==="inline"){dom.style.display="inline-block"}dom.style.position=display.match(adjustDirect2DTableRe)?"absolute":"static";floating=(parseFloat(me.getStyle(dimension))||parseFloat(dom.currentStyle.msTransformOrigin.split(" ")[originIndex])*2)%1;dom.style.position=inlinePosition;if(display==="inline"){dom.style.display=inlineDisplay}return floating},getHeight:function(contentHeight,preciseHeight){var me=this,dom=me.dom,hidden=Ext.isIE&&me.isStyle("display","none"),height,overflow,style,floating;if(Ext.isIEQuirks){style=dom.style;overflow=style.overflow;me.setStyle({overflow:"hidden"})}height=dom.offsetHeight;height=MATH.max(height,hidden?0:dom.clientHeight)||0;if(!hidden&&Ext.supports.Direct2DBug){floating=me.adjustDirect2DDimension("height");if(preciseHeight){height+=floating}else{if(floating>0&&floating<0.5){height++}}}if(contentHeight){height-=(me.getBorderWidth("tb")+me.getPadding("tb"))}if(Ext.isIEQuirks){me.setStyle({overflow:overflow})}if(height<0){height=0}return height},getWidth:function(contentWidth,preciseWidth){var me=this,dom=me.dom,hidden=Ext.isIE&&me.isStyle("display","none"),rect,width,overflow,style,floating,parentPosition;if(Ext.isIEQuirks){style=dom.style;overflow=style.overflow;me.setStyle({overflow:"hidden"})}if(Ext.isOpera10_5){if(dom.parentNode.currentStyle.position==="relative"){parentPosition=dom.parentNode.style.position;dom.parentNode.style.position="static";width=dom.offsetWidth;dom.parentNode.style.position=parentPosition}width=Math.max(width||0,dom.offsetWidth)}else{if(Ext.supports.BoundingClientRect){rect=dom.getBoundingClientRect();width=rect.right-rect.left;width=preciseWidth?width:Math.ceil(width)}else{width=dom.offsetWidth}}width=MATH.max(width,hidden?0:dom.clientWidth)||0;if(!hidden&&Ext.supports.Direct2DBug){floating=me.adjustDirect2DDimension("width");if(preciseWidth){width+=floating}else{if(floating>0&&floating<0.5){width++}}}if(contentWidth){width-=(me.getBorderWidth("lr")+me.getPadding("lr"))}if(Ext.isIEQuirks){me.setStyle({overflow:overflow})}if(width<0){width=0}return width},setWidth:function(width,animate){var me=this;width=me.adjustWidth(width);if(!animate||!me.anim){me.dom.style.width=me.addUnits(width)}else{if(!Ext.isObject(animate)){animate={}}me.animate(Ext.applyIf({to:{width:width}},animate))}return me},setHeight:function(height,animate){var me=this;height=me.adjustHeight(height);if(!animate||!me.anim){me.dom.style.height=me.addUnits(height)}else{if(!Ext.isObject(animate)){animate={}}me.animate(Ext.applyIf({to:{height:height}},animate))}return me},getBorderWidth:function(side){return this.addStyles(side,borders)},getPadding:function(side){return this.addStyles(side,paddings)},clip:function(){var me=this,dom=me.dom;if(!data(dom,ISCLIPPED)){data(dom,ISCLIPPED,true);data(dom,ORIGINALCLIP,{o:me.getStyle(OVERFLOW),x:me.getStyle(OVERFLOWX),y:me.getStyle(OVERFLOWY)});me.setStyle(OVERFLOW,HIDDEN);me.setStyle(OVERFLOWX,HIDDEN);me.setStyle(OVERFLOWY,HIDDEN)}return me},unclip:function(){var me=this,dom=me.dom,clip;if(data(dom,ISCLIPPED)){data(dom,ISCLIPPED,false);clip=data(dom,ORIGINALCLIP);if(o.o){me.setStyle(OVERFLOW,o.o)}if(o.x){me.setStyle(OVERFLOWX,o.x)}if(o.y){me.setStyle(OVERFLOWY,o.y)}}return me},addStyles:function(sides,styles){var totalSize=0,sidesArr=sides.match(wordsRe),i=0,len=sidesArr.length,side,size;for(;i"+Ext.String.format(Ext.core.Element.boxMarkup,cls)+""));Ext.DomQuery.selectNode("."+cls+"-mc",el.dom).appendChild(this.dom);return el},setSize:function(width,height,animate){var me=this;if(Ext.isObject(width)){animate=height;height=width.height;width=width.width}width=me.adjustWidth(width);height=me.adjustHeight(height);if(!animate||!me.anim){me.dom.style.width=me.addUnits(width);me.dom.style.height=me.addUnits(height)}else{if(animate===true){animate={}}me.animate(Ext.applyIf({to:{width:width,height:height}},animate))}return me},getComputedHeight:function(){var me=this,h=Math.max(me.dom.offsetHeight,me.dom.clientHeight);if(!h){h=parseFloat(me.getStyle("height"))||0;if(!me.isBorderBox()){h+=me.getFrameWidth("tb")}}return h},getComputedWidth:function(){var me=this,w=Math.max(me.dom.offsetWidth,me.dom.clientWidth);if(!w){w=parseFloat(me.getStyle("width"))||0;if(!me.isBorderBox()){w+=me.getFrameWidth("lr")}}return w},getFrameWidth:function(sides,onlyContentBox){return onlyContentBox&&this.isBorderBox()?0:(this.getPadding(sides)+this.getBorderWidth(sides))},addClsOnOver:function(className){var dom=this.dom;this.hover(function(){Ext.fly(dom,INTERNAL).addCls(className)},function(){Ext.fly(dom,INTERNAL).removeCls(className)});return this},addClsOnFocus:function(className){var me=this,dom=me.dom;me.on("focus",function(){Ext.fly(dom,INTERNAL).addCls(className)});me.on("blur",function(){Ext.fly(dom,INTERNAL).removeCls(className)});return me},addClsOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,INTERNAL).addCls(className);var d=Ext.getDoc(),fn=function(){Ext.fly(dom,INTERNAL).removeCls(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},getViewSize:function(){var me=this,dom=me.dom,isDoc=(dom==Ext.getDoc().dom||dom==Ext.getBody().dom),style,overflow,ret;if(isDoc){ret={width:Ext.core.Element.getViewWidth(),height:Ext.core.Element.getViewHeight()}}else{if(Ext.isIE6||Ext.isIEQuirks){style=dom.style;overflow=style.overflow;me.setStyle({overflow:"hidden"})}ret={width:dom.clientWidth,height:dom.clientHeight};if(Ext.isIE6||Ext.isIEQuirks){me.setStyle({overflow:overflow})}}return ret},getStyleSize:function(){var me=this,doc=document,d=this.dom,isDoc=(d==doc||d==doc.body),s=d.style,w,h;if(isDoc){return{width:Ext.core.Element.getViewWidth(),height:Ext.core.Element.getViewHeight()}}if(s.width&&s.width!="auto"){w=parseFloat(s.width);if(me.isBorderBox()){w-=me.getFrameWidth("lr")}}if(s.height&&s.height!="auto"){h=parseFloat(s.height);if(me.isBorderBox()){h-=me.getFrameWidth("tb")}}return{width:w||me.getWidth(true),height:h||me.getHeight(true)}},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}},repaint:function(){var dom=this.dom;this.addCls(Ext.baseCSSPrefix+"repaint");setTimeout(function(){Ext.fly(dom).removeCls(Ext.baseCSSPrefix+"repaint")},1);return this},unselectable:function(){var me=this;me.dom.unselectable="on";me.swallowEvent("selectstart",true);me.applyStyles("-moz-user-select:none;-khtml-user-select:none;");me.addCls(Ext.baseCSSPrefix+"unselectable");return me},getMargin:function(side){var me=this,hash={t:"top",l:"left",r:"right",b:"bottom"},o={},key;if(!side){for(key in me.margins){o[hash[key]]=parseFloat(me.getStyle(me.margins[key]))||0}return o}else{return me.addStyles.call(me,side,me.margins)}}})})();Ext.core.Element.VISIBILITY=1;Ext.core.Element.DISPLAY=2;Ext.core.Element.OFFSETS=3;Ext.core.Element.ASCLASS=4;Ext.core.Element.visibilityCls=Ext.baseCSSPrefix+"hide-nosize";Ext.core.Element.addMethods(function(){var El=Ext.core.Element,OPACITY="opacity",VISIBILITY="visibility",DISPLAY="display",HIDDEN="hidden",OFFSETS="offsets",ASCLASS="asclass",NONE="none",NOSIZE="nosize",ORIGINALDISPLAY="originalDisplay",VISMODE="visibilityMode",ISVISIBLE="isVisible",data=El.data,getDisplay=function(dom){var d=data(dom,ORIGINALDISPLAY);if(d===undefined){data(dom,ORIGINALDISPLAY,d="")}return d},getVisMode=function(dom){var m=data(dom,VISMODE);if(m===undefined){data(dom,VISMODE,m=1)}return m};return{originalDisplay:"",visibilityMode:1,setVisibilityMode:function(visMode){data(this.dom,VISMODE,visMode);return this},isVisible:function(){var me=this,dom=me.dom,visible=data(dom,ISVISIBLE);if(typeof visible=="boolean"){return visible}visible=!me.isStyle(VISIBILITY,HIDDEN)&&!me.isStyle(DISPLAY,NONE)&&!((getVisMode(dom)==El.ASCLASS)&&me.hasCls(me.visibilityCls||El.visibilityCls));data(dom,ISVISIBLE,visible);return visible},setVisible:function(visible,animate){var me=this,isDisplay,isVisibility,isOffsets,isNosize,dom=me.dom,visMode=getVisMode(dom);if(typeof animate=="string"){switch(animate){case DISPLAY:visMode=El.DISPLAY;break;case VISIBILITY:visMode=El.VISIBILITY;break;case OFFSETS:visMode=El.OFFSETS;break;case NOSIZE:case ASCLASS:visMode=El.ASCLASS;break}me.setVisibilityMode(visMode);animate=false}if(!animate||!me.anim){if(visMode==El.ASCLASS){me[visible?"removeCls":"addCls"](me.visibilityCls||El.visibilityCls)}else{if(visMode==El.DISPLAY){return me.setDisplayed(visible)}else{if(visMode==El.OFFSETS){if(!visible){if(!me.hideModeStyles){me.hideModeStyles={position:me.getStyle("position"),top:me.getStyle("top"),left:me.getStyle("left")}}me.applyStyles({position:"absolute",top:"-10000px",left:"-10000px"})}else{if(me.hideModeStyles){me.applyStyles(me.hideModeStyles||{position:"",top:"",left:""});delete me.hideModeStyles}}}else{me.fixDisplay();dom.style.visibility=visible?"":HIDDEN}}}}else{if(visible){me.setOpacity(0.01);me.setVisible(true)}if(!Ext.isObject(animate)){animate={duration:350,easing:"ease-in"}}me.animate(Ext.applyIf({callback:function(){visible||me.setVisible(false).setOpacity(1)},to:{opacity:(visible)?1:0}},animate))}data(dom,ISVISIBLE,visible);return me},hasMetrics:function(){var dom=this.dom;return this.isVisible()||(getVisMode(dom)==El.OFFSETS)||(getVisMode(dom)==El.VISIBILITY)},toggle:function(animate){var me=this;me.setVisible(!me.isVisible(),me.anim(animate));return me},setDisplayed:function(value){if(typeof value=="boolean"){value=value?getDisplay(this.dom):NONE}this.setStyle(DISPLAY,value);return this},fixDisplay:function(){var me=this;if(me.isStyle(DISPLAY,NONE)){me.setStyle(VISIBILITY,HIDDEN);me.setStyle(DISPLAY,getDisplay(this.dom));if(me.isStyle(DISPLAY,NONE)){me.setStyle(DISPLAY,"block")}}},hide:function(animate){if(typeof animate=="string"){this.setVisible(false,animate);return this}this.setVisible(false,this.anim(animate));return this},show:function(animate){if(typeof animate=="string"){this.setVisible(true,animate);return this}this.setVisible(true,this.anim(animate));return this}}}());Ext.applyIf(Ext.core.Element.prototype,{animate:function(config){var me=this;if(!me.id){me=Ext.get(me.dom)}if(Ext.fx.Manager.hasFxBlock(me.id)){return me}Ext.fx.Manager.queueFx(Ext.create("Ext.fx.Anim",me.anim(config)));return this},anim:function(config){if(!Ext.isObject(config)){return(config)?{}:false}var me=this,duration=config.duration||Ext.fx.Anim.prototype.duration,easing=config.easing||"ease",animConfig;if(config.stopAnimation){me.stopAnimation()}Ext.applyIf(config,Ext.fx.Manager.getFxDefaults(me.id));Ext.fx.Manager.setFxDefaults(me.id,{delay:0});animConfig={target:me,remove:config.remove,alternate:config.alternate||false,duration:duration,easing:easing,callback:config.callback,listeners:config.listeners,iterations:config.iterations||1,scope:config.scope,block:config.block,concurrent:config.concurrent,delay:config.delay||0,paused:true,keyframes:config.keyframes,from:config.from||{},to:Ext.apply({},config)};Ext.apply(animConfig.to,config.to);delete animConfig.to.to;delete animConfig.to.from;delete animConfig.to.remove;delete animConfig.to.alternate;delete animConfig.to.keyframes;delete animConfig.to.iterations;delete animConfig.to.listeners;delete animConfig.to.target;delete animConfig.to.paused;delete animConfig.to.callback;delete animConfig.to.scope;delete animConfig.to.duration;delete animConfig.to.easing;delete animConfig.to.concurrent;delete animConfig.to.block;delete animConfig.to.stopAnimation;delete animConfig.to.delay;return animConfig},slideIn:function(anchor,obj,slideOut){var me=this,elStyle=me.dom.style,beforeAnim,wrapAnim;anchor=anchor||"t";obj=obj||{};beforeAnim=function(){var animScope=this,listeners=obj.listeners,box,position,restoreSize,wrap,anim;if(!slideOut){me.fixDisplay()}box=me.getBox();if((anchor=="t"||anchor=="b")&&box.height==0){box.height=me.dom.scrollHeight}else{if((anchor=="l"||anchor=="r")&&box.width==0){box.width=me.dom.scrollWidth}}position=me.getPositioning();me.setSize(box.width,box.height);wrap=me.wrap({style:{visibility:slideOut?"visible":"hidden"}});wrap.setPositioning(position);if(wrap.isStyle("position","static")){wrap.position("relative")}me.clearPositioning("auto");wrap.clip();me.setStyle({visibility:"",position:"absolute"});if(slideOut){wrap.setSize(box.width,box.height)}switch(anchor){case"t":anim={from:{width:box.width+"px",height:"0px"},to:{width:box.width+"px",height:box.height+"px"}};elStyle.bottom="0px";break;case"l":anim={from:{width:"0px",height:box.height+"px"},to:{width:box.width+"px",height:box.height+"px"}};elStyle.right="0px";break;case"r":anim={from:{x:box.x+box.width,width:"0px",height:box.height+"px"},to:{x:box.x,width:box.width+"px",height:box.height+"px"}};break;case"b":anim={from:{y:box.y+box.height,width:box.width+"px",height:"0px"},to:{y:box.y,width:box.width+"px",height:box.height+"px"}};break;case"tl":anim={from:{x:box.x,y:box.y,width:"0px",height:"0px"},to:{width:box.width+"px",height:box.height+"px"}};elStyle.bottom="0px";elStyle.right="0px";break;case"bl":anim={from:{x:box.x+box.width,width:"0px",height:"0px"},to:{x:box.x,width:box.width+"px",height:box.height+"px"}};elStyle.right="0px";break;case"br":anim={from:{x:box.x+box.width,y:box.y+box.height,width:"0px",height:"0px"},to:{x:box.x,y:box.y,width:box.width+"px",height:box.height+"px"}};break;case"tr":anim={from:{y:box.y+box.height,width:"0px",height:"0px"},to:{y:box.y,width:box.width+"px",height:box.height+"px"}};elStyle.bottom="0px";break}wrap.show();wrapAnim=Ext.apply({},obj);delete wrapAnim.listeners;wrapAnim=Ext.create("Ext.fx.Anim",Ext.applyIf(wrapAnim,{target:wrap,duration:500,easing:"ease-out",from:slideOut?anim.to:anim.from,to:slideOut?anim.from:anim.to}));wrapAnim.on("afteranimate",function(){if(slideOut){me.setPositioning(position);if(obj.useDisplay){me.setDisplayed(false)}else{me.hide()}}else{me.clearPositioning();me.setPositioning(position)}if(wrap.dom){wrap.dom.parentNode.insertBefore(me.dom,wrap.dom);wrap.remove()}me.setSize(box.width,box.height);animScope.end()});if(listeners){wrapAnim.on(listeners)}};me.animate({duration:obj.duration?obj.duration*2:1000,listeners:{beforeanimate:{fn:beforeAnim},afteranimate:{fn:function(){if(wrapAnim&&wrapAnim.running){wrapAnim.end()}}}}});return me},slideOut:function(anchor,o){return this.slideIn(anchor,o,true)},puff:function(obj){var me=this,beforeAnim;obj=Ext.applyIf(obj||{},{easing:"ease-out",duration:500,useDisplay:false});beforeAnim=function(){me.clearOpacity();me.show();var box=me.getBox(),fontSize=me.getStyle("fontSize"),position=me.getPositioning();this.to={width:box.width*2,height:box.height*2,x:box.x-(box.width/2),y:box.y-(box.height/2),opacity:0,fontSize:"200%"};this.on("afteranimate",function(){if(me.dom){if(obj.useDisplay){me.setDisplayed(false)}else{me.hide()}me.clearOpacity();me.setPositioning(position);me.setStyle({fontSize:fontSize})}})};me.animate({duration:obj.duration,easing:obj.easing,listeners:{beforeanimate:{fn:beforeAnim}}});return me},switchOff:function(obj){var me=this,beforeAnim;obj=Ext.applyIf(obj||{},{easing:"ease-in",duration:500,remove:false,useDisplay:false});beforeAnim=function(){var animScope=this,size=me.getSize(),xy=me.getXY(),keyframe,position;me.clearOpacity();me.clip();position=me.getPositioning();keyframe=Ext.create("Ext.fx.Animator",{target:me,duration:obj.duration,easing:obj.easing,keyframes:{33:{opacity:0.3},66:{height:1,y:xy[1]+size.height/2},100:{width:1,x:xy[0]+size.width/2}}});keyframe.on("afteranimate",function(){if(obj.useDisplay){me.setDisplayed(false)}else{me.hide()}me.clearOpacity();me.setPositioning(position);me.setSize(size);animScope.end()})};me.animate({duration:(obj.duration*2),listeners:{beforeanimate:{fn:beforeAnim}}});return me},frame:function(color,count,obj){var me=this,beforeAnim;color=color||"#C3DAF9";count=count||1;obj=obj||{};beforeAnim=function(){me.show();var animScope=this,box=me.getBox(),proxy=Ext.getBody().createChild({style:{position:"absolute","pointer-events":"none","z-index":35000,border:"0px solid "+color}}),proxyAnim;proxyAnim=Ext.create("Ext.fx.Anim",{target:proxy,duration:obj.duration||1000,iterations:count,from:{top:box.y,left:box.x,borderWidth:0,opacity:1,height:box.height,width:box.width},to:{top:box.y-20,left:box.x-20,borderWidth:10,opacity:0,height:box.height+40,width:box.width+40}});proxyAnim.on("afteranimate",function(){proxy.remove();animScope.end()})};me.animate({duration:(obj.duration*2)||2000,listeners:{beforeanimate:{fn:beforeAnim}}});return me},ghost:function(anchor,obj){var me=this,beforeAnim;anchor=anchor||"b";beforeAnim=function(){var width=me.getWidth(),height=me.getHeight(),xy=me.getXY(),position=me.getPositioning(),to={opacity:0};switch(anchor){case"t":to.y=xy[1]-height;break;case"l":to.x=xy[0]-width;break;case"r":to.x=xy[0]+width;break;case"b":to.y=xy[1]+height;break;case"tl":to.x=xy[0]-width;to.y=xy[1]-height;break;case"bl":to.x=xy[0]-width;to.y=xy[1]+height;break;case"br":to.x=xy[0]+width;to.y=xy[1]+height;break;case"tr":to.x=xy[0]+width;to.y=xy[1]-height;break}this.to=to;this.on("afteranimate",function(){if(me.dom){me.hide();me.clearOpacity();me.setPositioning(position)}})};me.animate(Ext.applyIf(obj||{},{duration:500,easing:"ease-out",listeners:{beforeanimate:{fn:beforeAnim}}}));return me},highlight:function(color,o){var me=this,dom=me.dom,from={},restore,to,attr,lns,event,fn;o=o||{};lns=o.listeners||{};attr=o.attr||"backgroundColor";from[attr]=color||"ffff9c";if(!o.to){to={};to[attr]=o.endColor||me.getColor(attr,"ffffff","")}else{to=o.to}o.listeners=Ext.apply(Ext.apply({},lns),{beforeanimate:function(){restore=dom.style[attr];me.clearOpacity();me.show();event=lns.beforeanimate;if(event){fn=event.fn||event;return fn.apply(event.scope||lns.scope||window,arguments)}},afteranimate:function(){if(dom){dom.style[attr]=restore}event=lns.afteranimate;if(event){fn=event.fn||event;fn.apply(event.scope||lns.scope||window,arguments)}}});me.animate(Ext.apply({},o,{duration:1000,easing:"ease-in",from:from,to:to}));return me},pause:function(ms){var me=this;Ext.fx.Manager.setFxDefaults(me.id,{delay:ms});return me},fadeIn:function(o){this.animate(Ext.apply({},o,{opacity:1}));return this},fadeOut:function(o){this.animate(Ext.apply({},o,{opacity:0}));return this},scale:function(w,h,o){this.animate(Ext.apply({},o,{width:w,height:h}));return this},shift:function(config){this.animate(config);return this}});Ext.applyIf(Ext.core.Element,{unitRe:/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,camelRe:/(-[a-z])/gi,opacityRe:/alpha\(opacity=(.*)\)/i,cssRe:/([a-z0-9-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,propertyCache:{},defaultUnit:"px",borders:{l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"},paddings:{l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"},margins:{l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"},addUnits:Ext.core.Element.prototype.addUnits,parseBox:function(box){if(Ext.isObject(box)){return{top:box.top||0,right:box.right||0,bottom:box.bottom||0,left:box.left||0}}else{if(typeof box!="string"){box=box.toString()}var parts=box.split(" "),ln=parts.length;if(ln==1){parts[1]=parts[2]=parts[3]=parts[0]}else{if(ln==2){parts[2]=parts[0];parts[3]=parts[1]}else{if(ln==3){parts[3]=parts[1]}}}return{top:parseFloat(parts[0])||0,right:parseFloat(parts[1])||0,bottom:parseFloat(parts[2])||0,left:parseFloat(parts[3])||0}}},unitizeBox:function(box,units){var A=this.addUnits,B=this.parseBox(box);return A(B.top,units)+" "+A(B.right,units)+" "+A(B.bottom,units)+" "+A(B.left,units)},camelReplaceFn:function(m,a){return a.charAt(1).toUpperCase()},normalize:function(prop){if(prop=="float"){prop=Ext.supports.Float?"cssFloat":"styleFloat"}return this.propertyCache[prop]||(this.propertyCache[prop]=prop.replace(this.camelRe,this.camelReplaceFn))},getDocumentHeight:function(){return Math.max(!Ext.isStrict?document.body.scrollHeight:document.documentElement.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(!Ext.isStrict?document.body.scrollWidth:document.documentElement.scrollWidth,this.getViewportWidth())},getViewportHeight:function(){return window.innerHeight},getViewportWidth:function(){return window.innerWidth},getViewSize:function(){return{width:window.innerWidth,height:window.innerHeight}},getOrientation:function(){if(Ext.supports.OrientationChange){return(window.orientation==0)?"portrait":"landscape"}return(window.innerHeight>window.innerWidth)?"portrait":"landscape"},fromPoint:function(x,y){return Ext.get(document.elementFromPoint(x,y))},parseStyles:function(styles){var out={},cssRe=this.cssRe,matches;if(styles){cssRe.lastIndex=0;while((matches=cssRe.exec(styles))){out[matches[1]]=matches[2]}}return out}});Ext.CompositeElementLite=function(els,root){this.elements=[];this.add(els,root);this.el=new Ext.core.Element.Flyweight()};Ext.CompositeElementLite.prototype={isComposite:true,getElement:function(el){var e=this.el;e.dom=el;e.id=el.id;return e},transformElement:function(el){return Ext.getDom(el)},getCount:function(){return this.elements.length},add:function(els,root){var me=this,elements=me.elements;if(!els){return this}if(typeof els=="string"){els=Ext.core.Element.selectorFunction(els,root)}else{if(els.isComposite){els=els.elements}else{if(!Ext.isIterable(els)){els=[els]}}}for(var i=0,len=els.length;i-1){replacement=Ext.getDom(replacement);if(domReplace){d=this.elements[index];d.parentNode.insertBefore(replacement,d);Ext.removeNode(d)}Ext.Array.splice(this.elements,index,1,replacement)}return this},clear:function(){this.elements=[]}};Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;Ext.CompositeElementLite.importElementMethods=function(){var fnName,ElProto=Ext.core.Element.prototype,CelProto=Ext.CompositeElementLite.prototype;for(fnName in ElProto){if(typeof ElProto[fnName]=="function"){(function(fnName){CelProto[fnName]=CelProto[fnName]||function(){return this.invoke(fnName,arguments)}}).call(CelProto,fnName)}}};Ext.CompositeElementLite.importElementMethods();if(Ext.DomQuery){Ext.core.Element.selectorFunction=Ext.DomQuery.select}Ext.core.Element.select=function(selector,root){var els;if(typeof selector=="string"){els=Ext.core.Element.selectorFunction(selector,root)}else{if(selector.length!==undefined){els=selector}else{}}return new Ext.CompositeElementLite(els)};Ext.select=Ext.core.Element.select;Ext.util.DelayedTask=function(fn,scope,args){var me=this,id,call=function(){clearInterval(id);id=null;fn.apply(scope,args||[])};this.delay=function(delay,newFn,newScope,newArgs){me.cancel();fn=newFn||fn;scope=newScope||scope;args=newArgs||args;id=setInterval(call,delay)};this.cancel=function(){if(id){clearInterval(id);id=null}}};Ext.require("Ext.util.DelayedTask",function(){Ext.util.Event=Ext.extend(Object,(function(){function createBuffered(handler,listener,o,scope){listener.task=new Ext.util.DelayedTask();return function(){listener.task.delay(o.buffer,handler,scope,Ext.Array.toArray(arguments))}}function createDelayed(handler,listener,o,scope){return function(){var task=new Ext.util.DelayedTask();if(!listener.tasks){listener.tasks=[]}listener.tasks.push(task);task.delay(o.delay||10,handler,scope,Ext.Array.toArray(arguments))}}function createSingle(handler,listener,o,scope){return function(){listener.ev.removeListener(listener.fn,scope);return handler.apply(scope,arguments)}}return{isEvent:true,constructor:function(observable,name){this.name=name;this.observable=observable;this.listeners=[]},addListener:function(fn,scope,options){var me=this,listener;scope=scope||me.observable;if(!me.isListening(fn,scope)){listener=me.createListener(fn,scope,options);if(me.firing){me.listeners=me.listeners.slice(0)}me.listeners.push(listener)}},createListener:function(fn,scope,o){o=o||{};scope=scope||this.observable;var listener={fn:fn,scope:scope,o:o,ev:this},handler=fn;if(o.single){handler=createSingle(handler,listener,o,scope)}if(o.delay){handler=createDelayed(handler,listener,o,scope)}if(o.buffer){handler=createBuffered(handler,listener,o,scope)}listener.fireFn=handler;return listener},findListener:function(fn,scope){var listeners=this.listeners,i=listeners.length,listener,s;while(i--){listener=listeners[i];if(listener){s=listener.scope;if(listener.fn==fn&&(s==scope||s==this.observable)){return i}}}return -1},isListening:function(fn,scope){return this.findListener(fn,scope)!==-1},removeListener:function(fn,scope){var me=this,index,listener,k;index=me.findListener(fn,scope);if(index!=-1){listener=me.listeners[index];if(me.firing){me.listeners=me.listeners.slice(0)}if(listener.task){listener.task.cancel();delete listener.task}k=listener.tasks&&listener.tasks.length;if(k){while(k--){listener.tasks[k].cancel()}delete listener.tasks}Ext.Array.erase(me.listeners,index,1);return true}return false},clearListeners:function(){var listeners=this.listeners,i=listeners.length;while(i--){this.removeListener(listeners[i].fn,listeners[i].scope)}},fire:function(){var me=this,listeners=me.listeners,count=listeners.length,i,args,listener;if(count>0){me.firing=true;for(i=0;i111&&event.keyCode<124){event.keyCode=-1}}catch(e){}}},getRelatedTarget:function(event){event=event.browserEvent||event;var target=event.relatedTarget;if(!target){if(this.mouseLeaveRe.test(event.type)){target=event.toElement}else{if(this.mouseEnterRe.test(event.type)){target=event.fromElement}}}return this.resolveTextNode(target)},getPageX:function(event){return this.getXY(event)[0]},getPageY:function(event){return this.getXY(event)[1]},getPageXY:function(event){event=event.browserEvent||event;var x=event.pageX,y=event.pageY,doc=document.documentElement,body=document.body;if(!x&&x!==0){x=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);y=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}return[x,y]},getTarget:function(event){event=event.browserEvent||event;return this.resolveTextNode(event.target||event.srcElement)},resolveTextNode:Ext.isGecko?function(node){if(!node){return}var s=HTMLElement.prototype.toString.call(node);if(s=="[xpconnect wrapped native prototype]"||s=="[object XULElement]"){return}return node.nodeType==3?node.parentNode:node}:function(node){return node&&node.nodeType==3?node.parentNode:node},curWidth:0,curHeight:0,onWindowResize:function(fn,scope,options){var resize=this.resizeEvent;if(!resize){this.resizeEvent=resize=new Ext.util.Event();this.on(window,"resize",this.fireResize,this,{buffer:100})}resize.addListener(fn,scope,options)},fireResize:function(){var me=this,w=Ext.core.Element.getViewWidth(),h=Ext.core.Element.getViewHeight();if(me.curHeight!=h||me.curWidth!=w){me.curHeight=h;me.curWidth=w;me.resizeEvent.fire(w,h)}},removeResizeListener:function(fn,scope){if(this.resizeEvent){this.resizeEvent.removeListener(fn,scope)}},onWindowUnload:function(){var unload=this.unloadEvent;if(!unload){this.unloadEvent=unload=new Ext.util.Event();this.addListener(window,"unload",this.fireUnload,this)}},fireUnload:function(){try{this.removeUnloadListener();if(Ext.isGecko3){var gridviews=Ext.ComponentQuery.query("gridview"),i=0,ln=gridviews.length;for(;i=525:!((Ext.isGecko&&!Ext.isWindows)||Ext.isOpera),getKeyEvent:function(){return this.useKeyDown?"keydown":"keypress"}};Ext.onReady=function(fn,scope,options){Ext.Loader.onReady(fn,scope,true,options)};Ext.onDocumentReady=Ext.EventManager.onDocumentReady;Ext.EventManager.on=Ext.EventManager.addListener;Ext.EventManager.un=Ext.EventManager.removeListener;(function(){var initExtCss=function(){var bd=document.body||document.getElementsByTagName("body")[0],baseCSSPrefix=Ext.baseCSSPrefix,cls=[baseCSSPrefix+"body"],htmlCls=[],html;if(!bd){return false}html=bd.parentNode;if(Ext.isIE){cls.push(baseCSSPrefix+"ie")}if(Ext.isIE6){cls.push(baseCSSPrefix+"ie6")}if(Ext.isIE7){cls.push(baseCSSPrefix+"ie7")}if(Ext.isIE8){cls.push(baseCSSPrefix+"ie8")}if(Ext.isIE9){cls.push(baseCSSPrefix+"ie9")}if(Ext.isGecko){cls.push(baseCSSPrefix+"gecko")}if(Ext.isGecko3){cls.push(baseCSSPrefix+"gecko3")}if(Ext.isGecko4){cls.push(baseCSSPrefix+"gecko4")}if(Ext.isOpera){cls.push(baseCSSPrefix+"opera")}if(Ext.isWebKit){cls.push(baseCSSPrefix+"webkit")}if(Ext.isSafari){cls.push(baseCSSPrefix+"safari")}if(Ext.isSafari2){cls.push(baseCSSPrefix+"safari2")}if(Ext.isSafari3){cls.push(baseCSSPrefix+"safari3")}if(Ext.isSafari4){cls.push(baseCSSPrefix+"safari4")}if(Ext.isChrome){cls.push(baseCSSPrefix+"chrome")}if(Ext.isMac){cls.push(baseCSSPrefix+"mac")}if(Ext.isLinux){cls.push(baseCSSPrefix+"linux")}if(!Ext.supports.CSS3BorderRadius){cls.push(baseCSSPrefix+"nbr")}if(!Ext.supports.CSS3LinearGradient){cls.push(baseCSSPrefix+"nlg")}if(!Ext.scopeResetCSS){cls.push(baseCSSPrefix+"reset")}if(html){if(Ext.isStrict&&(Ext.isIE6||Ext.isIE7)){Ext.isBorderBox=false}else{Ext.isBorderBox=true}htmlCls.push(baseCSSPrefix+(Ext.isBorderBox?"border-box":"strict"));if(!Ext.isStrict){htmlCls.push(baseCSSPrefix+"quirks");if(Ext.isIE&&!Ext.isStrict){Ext.isIEQuirks=true}}Ext.fly(html,"_internal").addCls(htmlCls)}Ext.fly(bd,"_internal").addCls(cls);return true};Ext.onReady(initExtCss)})();Ext.define("Ext.EventObjectImpl",{uses:["Ext.util.Point"],BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN: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,WHEEL_SCALE:(function(){var scale;if(Ext.isGecko){scale=3}else{if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){scale=120}else{scale=12}scale*=3}else{scale=120}}return scale})(),clickRe:/(dbl)?click/,safariKeys:{3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},btnMap:Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2},constructor:function(event,freezeEvent){if(event){this.setEvent(event.browserEvent||event,freezeEvent)}},setEvent:function(event,freezeEvent){var me=this,button,options;if(event==me||(event&&event.browserEvent)){return event}me.browserEvent=event;if(event){button=event.button?me.btnMap[event.button]:(event.which?event.which-1:-1);if(me.clickRe.test(event.type)&&button==-1){button=0}options={type:event.type,button:button,shiftKey:event.shiftKey,ctrlKey:event.ctrlKey||event.metaKey||false,altKey:event.altKey,keyCode:event.keyCode,charCode:event.charCode,target:Ext.EventManager.getTarget(event),relatedTarget:Ext.EventManager.getRelatedTarget(event),currentTarget:event.currentTarget,xy:(freezeEvent?me.getXY():null)}}else{options={button:-1,shiftKey:false,ctrlKey:false,altKey:false,keyCode:0,charCode:0,target:null,xy:[0,0]}}Ext.apply(me,options);return me},stopEvent:function(){this.stopPropagation();this.preventDefault()},preventDefault:function(){if(this.browserEvent){Ext.EventManager.preventDefault(this.browserEvent)}},stopPropagation:function(){var browserEvent=this.browserEvent;if(browserEvent){if(browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}Ext.EventManager.stopPropagation(browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(key){return Ext.isWebKit?(this.safariKeys[key]||key):key},getPageX:function(){return this.getX()},getPageY:function(){return this.getY()},getX:function(){return this.getXY()[0]},getY:function(){return this.getXY()[1]},getXY:function(){if(!this.xy){this.xy=Ext.EventManager.getPageXY(this.browserEvent)}return this.xy},getTarget:function(selector,maxDepth,returnEl){if(selector){return Ext.fly(this.target).findParent(selector,maxDepth,returnEl)}return returnEl?Ext.get(this.target):this.target},getRelatedTarget:function(selector,maxDepth,returnEl){if(selector){return Ext.fly(this.relatedTarget).findParent(selector,maxDepth,returnEl)}return returnEl?Ext.get(this.relatedTarget):this.relatedTarget},correctWheelDelta:function(delta){var scale=this.WHEEL_SCALE,ret=Math.round(delta/scale+0.5);if(!ret&&delta){ret=(delta<0)?-1:1}return ret},getWheelDeltas:function(){var me=this,event=me.browserEvent,dx=0,dy=0;if(Ext.isDefined(event.wheelDeltaX)){dx=event.wheelDeltaX;dy=event.wheelDeltaY}else{if(event.wheelDelta){dy=event.wheelDelta}else{if(event.detail){dy=-event.detail;if(dy>100){dy=3}else{if(dy<-100){dy=-3}}if(Ext.isDefined(event.axis)&&event.axis===event.HORIZONTAL_AXIS){dx=dy;dy=0}}}}return{x:me.correctWheelDelta(dx),y:me.correctWheelDelta(dy)}},getWheelDelta:function(){var deltas=this.getWheelDeltas();return deltas.y},within:function(el,related,allowEl){if(el){var t=related?this.getRelatedTarget():this.getTarget(),result;if(t){result=Ext.fly(el).contains(t);if(!result&&allowEl){result=t==Ext.getDom(el)}return result}}return false},isNavKeyPress:function(){var me=this,k=this.normalizeKey(me.keyCode);return(k>=33&&k<=40)||k==me.RETURN||k==me.TAB||k==me.ESC},isSpecialKey:function(){var k=this.normalizeKey(this.keyCode);return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(k==this.BACKSPACE)||(k>=16&&k<=20)||(k>=44&&k<=46)},getPoint:function(){var xy=this.getXY();return Ext.create("Ext.util.Point",xy[0],xy[1])},hasModifier:function(){return this.ctrlKey||this.altKey||this.shiftKey||this.metaKey},injectEvent:function(){var API,dispatchers={};if(!Ext.isIE&&document.createEvent){API={createHtmlEvent:function(doc,type,bubbles,cancelable){var event=doc.createEvent("HTMLEvents");event.initEvent(type,bubbles,cancelable);return event},createMouseEvent:function(doc,type,bubbles,cancelable,detail,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget){var event=doc.createEvent("MouseEvents"),view=doc.defaultView||window;if(event.initMouseEvent){event.initMouseEvent(type,bubbles,cancelable,view,detail,clientX,clientY,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget)}else{event=doc.createEvent("UIEvents");event.initEvent(type,bubbles,cancelable);event.view=view;event.detail=detail;event.screenX=clientX;event.screenY=clientY;event.clientX=clientX;event.clientY=clientY;event.ctrlKey=ctrlKey;event.altKey=altKey;event.metaKey=metaKey;event.shiftKey=shiftKey;event.button=button;event.relatedTarget=relatedTarget}return event},createUIEvent:function(doc,type,bubbles,cancelable,detail){var event=doc.createEvent("UIEvents"),view=doc.defaultView||window;event.initUIEvent(type,bubbles,cancelable,view,detail);return event},fireEvent:function(target,type,event){target.dispatchEvent(event)},fixTarget:function(target){if(target==window&&!target.dispatchEvent){return document}return target}}}else{if(document.createEventObject){var crazyIEButtons={0:1,1:4,2:2};API={createHtmlEvent:function(doc,type,bubbles,cancelable){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;return event},createMouseEvent:function(doc,type,bubbles,cancelable,detail,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;event.detail=detail;event.screenX=clientX;event.screenY=clientY;event.clientX=clientX;event.clientY=clientY;event.ctrlKey=ctrlKey;event.altKey=altKey;event.shiftKey=shiftKey;event.metaKey=metaKey;event.button=crazyIEButtons[button]||button;event.relatedTarget=relatedTarget;return event},createUIEvent:function(doc,type,bubbles,cancelable,detail){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;return event},fireEvent:function(target,type,event){target.fireEvent("on"+type,event)},fixTarget:function(target){if(target==document){return document.documentElement}return target}}}}Ext.Object.each({load:[false,false],unload:[false,false],select:[true,false],change:[true,false],submit:[true,true],reset:[true,false],resize:[true,false],scroll:[true,false]},function(name,value){var bubbles=value[0],cancelable=value[1];dispatchers[name]=function(targetEl,srcEvent){var e=API.createHtmlEvent(name,bubbles,cancelable);API.fireEvent(targetEl,name,e)}});function createMouseEventDispatcher(type,detail){var cancelable=(type!="mousemove");return function(targetEl,srcEvent){var xy=srcEvent.getXY(),e=API.createMouseEvent(targetEl.ownerDocument,type,true,cancelable,detail,xy[0],xy[1],srcEvent.ctrlKey,srcEvent.altKey,srcEvent.shiftKey,srcEvent.metaKey,srcEvent.button,srcEvent.relatedTarget);API.fireEvent(targetEl,type,e)}}Ext.each(["click","dblclick","mousedown","mouseup","mouseover","mousemove","mouseout"],function(eventName){dispatchers[eventName]=createMouseEventDispatcher(eventName,1)});Ext.Object.each({focusin:[true,false],focusout:[true,false],activate:[true,true],focus:[false,false],blur:[false,false]},function(name,value){var bubbles=value[0],cancelable=value[1];dispatchers[name]=function(targetEl,srcEvent){var e=API.createUIEvent(targetEl.ownerDocument,name,bubbles,cancelable,1);API.fireEvent(targetEl,name,e)}});if(!API){dispatchers={};API={fixTarget:function(t){return t}}}function cannotInject(target,srcEvent){}return function(target){var me=this,dispatcher=dispatchers[me.type]||cannotInject,t=target?(target.dom||target):me.getTarget();t=API.fixTarget(t);dispatcher(t,me)}}()},function(){Ext.EventObject=new Ext.EventObjectImpl()});(function(){var doc=document,activeElement=null,isCSS1=doc.compatMode=="CSS1Compat",ELEMENT=Ext.core.Element,fly=function(el){if(!_fly){_fly=new Ext.core.Element.Flyweight()}_fly.dom=el;return _fly},_fly;if(!("activeElement" in doc)&&doc.addEventListener){doc.addEventListener("focus",function(ev){if(ev&&ev.target){activeElement=(ev.target==doc)?null:ev.target}},true)}function makeSelectionRestoreFn(activeEl,start,end){return function(){activeEl.selectionStart=start;activeEl.selectionEnd=end}}Ext.apply(ELEMENT,{isAncestor:function(p,c){var ret=false;p=Ext.getDom(p);c=Ext.getDom(c);if(p&&c){if(p.contains){return p.contains(c)}else{if(p.compareDocumentPosition){return !!(p.compareDocumentPosition(c)&16)}else{while((c=c.parentNode)){ret=c==p||ret}}}}return ret},getActiveElement:function(){return doc.activeElement||activeElement},getRightMarginFixCleaner:function(target){var supports=Ext.supports,hasInputBug=supports.DisplayChangeInputSelectionBug,hasTextAreaBug=supports.DisplayChangeTextAreaSelectionBug;if(hasInputBug||hasTextAreaBug){var activeEl=doc.activeElement||activeElement,tag=activeEl&&activeEl.tagName,start,end;if((hasTextAreaBug&&tag=="TEXTAREA")||(hasInputBug&&tag=="INPUT"&&activeEl.type=="text")){if(ELEMENT.isAncestor(target,activeEl)){start=activeEl.selectionStart;end=activeEl.selectionEnd;if(Ext.isNumber(start)&&Ext.isNumber(end)){return makeSelectionRestoreFn(activeEl,start,end)}}}}return Ext.emptyFn},getViewWidth:function(full){return full?ELEMENT.getDocumentWidth():ELEMENT.getViewportWidth()},getViewHeight:function(full){return full?ELEMENT.getDocumentHeight():ELEMENT.getViewportHeight()},getDocumentHeight:function(){return Math.max(!isCSS1?doc.body.scrollHeight:doc.documentElement.scrollHeight,ELEMENT.getViewportHeight())},getDocumentWidth:function(){return Math.max(!isCSS1?doc.body.scrollWidth:doc.documentElement.scrollWidth,ELEMENT.getViewportWidth())},getViewportHeight:function(){return Ext.isIE?(Ext.isStrict?doc.documentElement.clientHeight:doc.body.clientHeight):self.innerHeight},getViewportWidth:function(){return(!Ext.isStrict&&!Ext.isOpera)?doc.body.clientWidth:Ext.isIE?doc.documentElement.clientWidth:self.innerWidth},getY:function(el){return ELEMENT.getXY(el)[1]},getX:function(el){return ELEMENT.getXY(el)[0]},getXY:function(el){var p,pe,b,bt,bl,dbd,x=0,y=0,scroll,hasAbsolute,bd=(doc.body||doc.documentElement),ret=[0,0];el=Ext.getDom(el);if(el!=bd){hasAbsolute=fly(el).isStyle("position","absolute");if(el.getBoundingClientRect){b=el.getBoundingClientRect();scroll=fly(document).getScroll();ret=[Math.round(b.left+scroll.left),Math.round(b.top+scroll.top)]}else{p=el;while(p){pe=fly(p);x+=p.offsetLeft;y+=p.offsetTop;hasAbsolute=hasAbsolute||pe.isStyle("position","absolute");if(Ext.isGecko){y+=bt=parseInt(pe.getStyle("borderTopWidth"),10)||0;x+=bl=parseInt(pe.getStyle("borderLeftWidth"),10)||0;if(p!=el&&!pe.isStyle("overflow","visible")){x+=bl;y+=bt}}p=p.offsetParent}if(Ext.isSafari&&hasAbsolute){x-=bd.offsetLeft;y-=bd.offsetTop}if(Ext.isGecko&&!hasAbsolute){dbd=fly(bd);x+=parseInt(dbd.getStyle("borderLeftWidth"),10)||0;y+=parseInt(dbd.getStyle("borderTopWidth"),10)||0}p=el.parentNode;while(p&&p!=bd){if(!Ext.isOpera||(p.tagName!="TR"&&!fly(p).isStyle("display","inline"))){x-=p.scrollLeft;y-=p.scrollTop}p=p.parentNode}ret=[x,y]}}return ret},setXY:function(el,xy){(el=Ext.fly(el,"_setXY")).position();var pts=el.translatePoints(xy),style=el.dom.style,pos;for(pos in pts){if(!isNaN(pts[pos])){style[pos]=pts[pos]+"px"}}},setX:function(el,x){ELEMENT.setXY(el,[x,false])},setY:function(el,y){ELEMENT.setXY(el,[false,y])},serializeForm:function(form){var fElements=form.elements||(document.forms[form]||Ext.getDom(form)).elements,hasSubmit=false,encoder=encodeURIComponent,name,data="",type,hasValue;Ext.each(fElements,function(element){name=element.name;type=element.type;if(!element.disabled&&name){if(/select-(one|multiple)/i.test(type)){Ext.each(element.options,function(opt){if(opt.selected){hasValue=opt.hasAttribute?opt.hasAttribute("value"):opt.getAttributeNode("value").specified;data+=Ext.String.format("{0}={1}&",encoder(name),encoder(hasValue?opt.value:opt.text))}})}else{if(!(/file|undefined|reset|button/i.test(type))){if(!(/radio|checkbox/i.test(type)&&!element.checked)&&!(type=="submit"&&hasSubmit)){data+=encoder(name)+"="+encoder(element.value)+"&";hasSubmit=/submit/i.test(type)}}}}});return data.substr(0,data.length-1)}})})();Ext.core.Element.addMethods({monitorMouseLeave:function(delay,handler,scope){var me=this,timer,listeners={mouseleave:function(e){timer=setTimeout(Ext.Function.bind(handler,scope||me,[e]),delay)},mouseenter:function(){clearTimeout(timer)},freezeEvent:true};me.on(listeners);return listeners},swallowEvent:function(eventName,preventDefault){var me=this;function fn(e){e.stopPropagation();if(preventDefault){e.preventDefault()}}if(Ext.isArray(eventName)){Ext.each(eventName,function(e){me.on(e,fn)});return me}me.on(eventName,fn);return me},relayEvent:function(eventName,observable){this.on(eventName,function(e){observable.fireEvent(eventName,e)})},clean:function(forceReclean){var me=this,dom=me.dom,n=dom.firstChild,nx,ni=-1;if(Ext.core.Element.data(dom,"isCleaned")&&forceReclean!==true){return me}while(n){nx=n.nextSibling;if(n.nodeType==3){if(!(/\S/.test(n.nodeValue))){dom.removeChild(n)}else{if(nx&&nx.nodeType==3){n.appendData(Ext.String.trim(nx.data));dom.removeChild(nx);nx=n.nextSibling;n.nodeIndex=++ni}}}else{Ext.fly(n).clean();n.nodeIndex=++ni}n=nx}Ext.core.Element.data(dom,"isCleaned",true);return me},load:function(options){this.getLoader().load(options);return this},getLoader:function(){var dom=this.dom,data=Ext.core.Element.data,loader=data(dom,"loader");if(!loader){loader=Ext.create("Ext.ElementLoader",{target:this});data(dom,"loader",loader)}return loader},update:function(html,loadScripts,callback){var me=this,id,dom,interval;if(!me.dom){return me}html=html||"";dom=me.dom;if(loadScripts!==true){dom.innerHTML=html;Ext.callback(callback,me);return me}id=Ext.id();html+='';interval=setInterval(function(){if(!document.getElementById(id)){return false}clearInterval(interval);var DOC=document,hd=DOC.getElementsByTagName("head")[0],re=/(?:]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,srcRe=/\ssrc=([\'\"])(.*?)\1/i,typeRe=/\stype=([\'\"])(.*?)\1/i,match,attrs,srcMatch,typeMatch,el,s;while((match=re.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){s=DOC.createElement("script");s.src=srcMatch[2];typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}el=DOC.getElementById(id);if(el){Ext.removeNode(el)}Ext.callback(callback,me)},20);dom.innerHTML=html.replace(/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,"");return me},removeAllListeners:function(){this.removeAnchor();Ext.EventManager.removeAll(this.dom);return this},createProxy:function(config,renderTo,matchBox){config=(typeof config=="object")?config:{tag:"div",cls:config};var me=this,proxy=renderTo?Ext.core.DomHelper.append(renderTo,config,true):Ext.core.DomHelper.insertBefore(me.dom,config,true);proxy.setVisibilityMode(Ext.core.Element.DISPLAY);proxy.hide();if(matchBox&&me.setBox&&me.getBox){proxy.setBox(me.getBox())}return proxy}});Ext.core.Element.prototype.clearListeners=Ext.core.Element.prototype.removeAllListeners;Ext.core.Element.addMethods({getAnchorXY:function(anchor,local,s){anchor=(anchor||"tl").toLowerCase();s=s||{};var me=this,vp=me.dom==document.body||me.dom==document,w=s.width||vp?Ext.core.Element.getViewWidth():me.getWidth(),h=s.height||vp?Ext.core.Element.getViewHeight():me.getHeight(),xy,r=Math.round,o=me.getXY(),scroll=me.getScroll(),extraX=vp?scroll.left:!local?o[0]:0,extraY=vp?scroll.top:!local?o[1]:0,hash={c:[r(w*0.5),r(h*0.5)],t:[r(w*0.5),0],l:[0,r(h*0.5)],r:[w,r(h*0.5)],b:[r(w*0.5),h],tl:[0,0],bl:[0,h],br:[w,h],tr:[w,0]};xy=hash[anchor];return[xy[0]+extraX,xy[1]+extraY]},anchorTo:function(el,alignment,offsets,animate,monitorScroll,callback){var me=this,dom=me.dom,scroll=!Ext.isEmpty(monitorScroll),action=function(){Ext.fly(dom).alignTo(el,alignment,offsets,animate);Ext.callback(callback,Ext.fly(dom))},anchor=this.getAnchor();this.removeAnchor();Ext.apply(anchor,{fn:action,scroll:scroll});Ext.EventManager.onWindowResize(action,null);if(scroll){Ext.EventManager.on(window,"scroll",action,null,{buffer:!isNaN(monitorScroll)?monitorScroll:50})}action.call(me);return me},removeAnchor:function(){var me=this,anchor=this.getAnchor();if(anchor&&anchor.fn){Ext.EventManager.removeResizeListener(anchor.fn);if(anchor.scroll){Ext.EventManager.un(window,"scroll",anchor.fn)}delete anchor.fn}return me},getAnchor:function(){var data=Ext.core.Element.data,dom=this.dom;if(!dom){return}var anchor=data(dom,"_anchor");if(!anchor){anchor=data(dom,"_anchor",{})}return anchor},getAlignVector:function(el,spec,offset){var me=this,side={t:"top",l:"left",r:"right",b:"bottom"},thisRegion=me.getRegion(),elRegion;el=Ext.get(el);if(!el||!el.dom){}elRegion=el.getRegion()},getAlignToXY:function(el,p,o){el=Ext.get(el);if(!el||!el.dom){}o=o||[0,0];p=(!p||p=="?"?"tl-bl?":(!(/-/).test(p)&&p!==""?"tl-"+p:p||"tl-bl")).toLowerCase();var me=this,d=me.dom,a1,a2,x,y,w,h,r,dw=Ext.core.Element.getViewWidth()-10,dh=Ext.core.Element.getViewHeight()-10,p1y,p1x,p2y,p2x,swapY,swapX,doc=document,docElement=doc.documentElement,docBody=doc.body,scrollX=(docElement.scrollLeft||docBody.scrollLeft||0)+5,scrollY=(docElement.scrollTop||docBody.scrollTop||0)+5,c=false,p1="",p2="",m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){}p1=m[1];p2=m[2];c=!!m[3];a1=me.getAnchorXY(p1,true);a2=el.getAnchorXY(p2,false);x=a2[0]-a1[0]+o[0];y=a2[1]-a1[1]+o[1];if(c){w=me.getWidth();h=me.getHeight();r=el.getRegion();p1y=p1.charAt(0);p1x=p1.charAt(p1.length-1);p2y=p2.charAt(0);p2x=p2.charAt(p2.length-1);swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));if(x+w>dw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(xdh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(yconstrainTo.right){overflowed=true;vector[0]=(constrainTo.right-thisRegion.right)}if(thisRegion.left+vector[0]constrainTo.bottom){overflowed=true;vector[1]=(constrainTo.bottom-thisRegion.bottom)}if(thisRegion.top+vector[1]dom.clientHeight||dom.scrollWidth>dom.clientWidth},getScroll:function(){var d=this.dom,doc=document,body=doc.body,docElement=doc.documentElement,l,t,ret;if(d==doc||d==body){if(Ext.isIE&&Ext.isStrict){l=docElement.scrollLeft;t=docElement.scrollTop}else{l=window.pageXOffset;t=window.pageYOffset}ret={left:l||(body?body.scrollLeft:0),top:t||(body?body.scrollTop:0)}}else{ret={left:d.scrollLeft,top:d.scrollTop}}return ret},scrollTo:function(side,value,animate){var top=/top/i.test(side),me=this,dom=me.dom,obj={},prop;if(!animate||!me.anim){prop="scroll"+(top?"Top":"Left");dom[prop]=value}else{if(!Ext.isObject(animate)){animate={}}obj["scroll"+(top?"Top":"Left")]=value;me.animate(Ext.applyIf({to:obj},animate))}return me},scrollIntoView:function(container,hscroll){container=Ext.getDom(container)||Ext.getBody().dom;var el=this.dom,offsets=this.getOffsetsTo(container),left=offsets[0]+container.scrollLeft,top=offsets[1]+container.scrollTop,bottom=top+el.offsetHeight,right=left+el.offsetWidth,ctClientHeight=container.clientHeight,ctScrollTop=parseInt(container.scrollTop,10),ctScrollLeft=parseInt(container.scrollLeft,10),ctBottom=ctScrollTop+ctClientHeight,ctRight=ctScrollLeft+container.clientWidth;if(el.offsetHeight>ctClientHeight||topctBottom){container.scrollTop=bottom-ctClientHeight}}container.scrollTop=container.scrollTop;if(hscroll!==false){if(el.offsetWidth>container.clientWidth||leftctRight){container.scrollLeft=right-container.clientWidth}}container.scrollLeft=container.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},scroll:function(direction,distance,animate){if(!this.isScrollable()){return false}var el=this.dom,l=el.scrollLeft,t=el.scrollTop,w=el.scrollWidth,h=el.scrollHeight,cw=el.clientWidth,ch=el.clientHeight,scrolled=false,v,hash={l:Math.min(l+distance,w-cw),r:v=Math.max(l-distance,0),t:Math.max(t-distance,0),b:Math.min(t+distance,h-ch)};hash.d=hash.b;hash.u=hash.t;direction=direction.substr(0,1);if((v=hash[direction])>-1){scrolled=true;this.scrollTo(direction=="l"||direction=="r"?"left":"top",v,this.anim(animate))}return scrolled}});Ext.core.Element.addMethods(function(){var VISIBILITY="visibility",DISPLAY="display",HIDDEN="hidden",NONE="none",XMASKED=Ext.baseCSSPrefix+"masked",XMASKEDRELATIVE=Ext.baseCSSPrefix+"masked-relative",data=Ext.core.Element.data;return{isVisible:function(deep){var vis=!this.isStyle(VISIBILITY,HIDDEN)&&!this.isStyle(DISPLAY,NONE),p=this.dom.parentNode;if(deep!==true||!vis){return vis}while(p&&!(/^body/i.test(p.tagName))){if(!Ext.fly(p,"_isVisible").isVisible()){return false}p=p.parentNode}return true},isDisplayed:function(){return !this.isStyle(DISPLAY,NONE)},enableDisplayMode:function(display){this.setVisibilityMode(Ext.core.Element.DISPLAY);if(!Ext.isEmpty(display)){data(this.dom,"originalDisplay",display)}return this},mask:function(msg,msgCls){var me=this,dom=me.dom,setExpression=dom.style.setExpression,dh=Ext.core.DomHelper,EXTELMASKMSG=Ext.baseCSSPrefix+"mask-msg",el,mask;if(!(/^body/i.test(dom.tagName)&&me.getStyle("position")=="static")){me.addCls(XMASKEDRELATIVE)}el=data(dom,"maskMsg");if(el){el.remove()}el=data(dom,"mask");if(el){el.remove()}mask=dh.append(dom,{cls:Ext.baseCSSPrefix+"mask"},true);data(dom,"mask",mask);me.addCls(XMASKED);mask.setDisplayed(true);if(typeof msg=="string"){var mm=dh.append(dom,{cls:EXTELMASKMSG,cn:{tag:"div"}},true);data(dom,"maskMsg",mm);mm.dom.className=msgCls?EXTELMASKMSG+" "+msgCls:EXTELMASKMSG;mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(me)}if(!Ext.supports.IncludePaddingInWidthCalculation&&setExpression){mask.dom.style.setExpression("width",'this.parentNode.offsetWidth + "px"')}if(!Ext.supports.IncludePaddingInHeightCalculation&&setExpression){mask.dom.style.setExpression("height",'this.parentNode.offsetHeight + "px"')}else{if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&me.getStyle("height")=="auto"){mask.setSize(undefined,me.getHeight())}}return mask},unmask:function(){var me=this,dom=me.dom,mask=data(dom,"mask"),maskMsg=data(dom,"maskMsg");if(mask){if(mask.dom.style.clearExpression){mask.dom.style.clearExpression("width");mask.dom.style.clearExpression("height")}if(maskMsg){maskMsg.remove();data(dom,"maskMsg",undefined)}mask.remove();data(dom,"mask",undefined);me.removeCls([XMASKED,XMASKEDRELATIVE])}},isMasked:function(){var me=this,mask=data(me.dom,"mask"),maskMsg=data(me.dom,"maskMsg");if(mask&&mask.isVisible()){if(maskMsg){maskMsg.center(me)}return true}return false},createShim:function(){var el=document.createElement("iframe"),shim;el.frameBorder="0";el.className=Ext.baseCSSPrefix+"shim";el.src=Ext.SSL_SECURE_URL;shim=Ext.get(this.dom.parentNode.insertBefore(el,this.dom));shim.autoBoxAdjust=false;return shim}}}());Ext.core.Element.addMethods({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 Ext.create("Ext.util.KeyMap",this,config)},addKeyMap:function(config){return Ext.create("Ext.util.KeyMap",this,config)}});Ext.CompositeElementLite.importElementMethods();Ext.apply(Ext.CompositeElementLite.prototype,{addElements:function(els,root){if(!els){return this}if(typeof els=="string"){els=Ext.core.Element.selectorFunction(els,root)}var yels=this.elements;Ext.each(els,function(e){yels.push(Ext.get(e))});return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(el){return this.indexOf(el)!=-1},removeElement:function(keys,removeDom){var me=this,els=this.elements,el;Ext.each(keys,function(val){if((el=(els[val]||els[val=me.indexOf(val)]))){if(removeDom){if(el.dom){el.remove()}else{Ext.removeNode(el)}}Ext.Array.erase(els,val,1)}});return this}});Ext.CompositeElement=Ext.extend(Ext.CompositeElementLite,{constructor:function(els,root){this.elements=[];this.add(els,root)},getElement:function(el){return el},transformElement:function(el){return Ext.get(el)}});Ext.core.Element.select=function(selector,unique,root){var els;if(typeof selector=="string"){els=Ext.core.Element.selectorFunction(selector,root)}else{if(selector.length!==undefined){els=selector}else{}}return(unique===true)?new Ext.CompositeElement(els):new Ext.CompositeElementLite(els)};Ext.select=Ext.core.Element.select;Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(o){o.fireEvent=this.prototype.fireEvent},capture:function(o,fn,scope){o.fireEvent=Ext.Function.createInterceptor(o.fireEvent,fn,scope)},observe:function(cls,listeners){if(cls){if(!cls.isObservable){Ext.applyIf(cls,new this());this.capture(cls.prototype,cls.fireEvent,cls)}if(Ext.isObject(listeners)){cls.on(listeners)}return cls}}},isObservable:true,constructor:function(config){var me=this;Ext.apply(me,config);if(me.listeners){me.on(me.listeners);delete me.listeners}me.events=me.events||{};if(me.bubbleEvents){me.enableBubble(me.bubbleEvents)}},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal)$/,addManagedListener:function(item,ename,fn,scope,options){var me=this,managedListeners=me.managedListeners=me.managedListeners||[],config;if(typeof ename!=="string"){options=ename;for(ename in options){if(options.hasOwnProperty(ename)){config=options[ename];if(!me.eventOptionsRe.test(ename)){me.addManagedListener(item,ename,config.fn||config,config.scope||options.scope,config.fn?config:options)}}}}else{managedListeners.push({item:item,ename:ename,fn:fn,scope:scope,options:options});item.on(ename,fn,scope,options)}},removeManagedListener:function(item,ename,fn,scope){var me=this,options,config,managedListeners,length,i;if(typeof ename!=="string"){options=ename;for(ename in options){if(options.hasOwnProperty(ename)){config=options[ename];if(!me.eventOptionsRe.test(ename)){me.removeManagedListener(item,ename,config.fn||config,config.scope||options.scope)}}}}managedListeners=me.managedListeners?me.managedListeners.slice():[];for(i=0,length=managedListeners.length;i0},suspendEvents:function(queueSuspended){this.eventsSuspended=true;if(queueSuspended&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var me=this,queued=me.eventQueue||[];me.eventsSuspended=false;delete me.eventQueue;Ext.each(queued,function(e){me.fireEvent.apply(me,e)})},relayEvents:function(origin,events,prefix){prefix=prefix||"";var me=this,len=events.length,i=0,oldName,newName;for(;i1){for(;i";for(;i\^])\s?|\s|$)/,tokenRe=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,matchers=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:filterByXType},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:filterByAttribute},{re:/^#([\w\-]+)/,method:filterById},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:filterByPseudo},{re:/^(?:\{([^\}]+)\})/,method:filterFnPattern}];cq.Query=Ext.extend(Object,{constructor:function(cfg){cfg=cfg||{};Ext.apply(this,cfg)},execute:function(root){var operations=this.operations,i=0,length=operations.length,operation,workingItems;if(!root){workingItems=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(root)){workingItems=root}}for(;i1){for(i=0,ln=components.length;i1){resultsLn=results.length;for(i=0;iv2?1:(v10){if(!me.stateTask){me.stateTask=Ext.create("Ext.util.DelayedTask",me.saveState,me)}me.stateTask.delay(me.saveDelay)}else{me.saveState()}},saveState:function(){var me=this,id,state;if(me.stateful!==false){id=me.getStateId();if(id){state=me.getState();if(me.fireEvent("beforestatesave",me,state)!==false){Ext.state.Manager.set(id,state);me.fireEvent("statesave",me,state)}}}},getState:function(){return null},applyState:function(state){if(state){Ext.apply(this,state)}},getStateId:function(){var me=this,id=me.stateId;if(!id){id=me.autoGenIdRe.test(String(me.id))?null:me.id}return id},initState:function(){var me=this,id=me.getStateId(),state;if(me.stateful!==false){if(id){state=Ext.state.Manager.get(id);if(state){state=Ext.apply({},state);if(me.fireEvent("beforestaterestore",me,state)!==false){me.applyState(state);me.fireEvent("staterestore",me,state)}}}}},destroy:function(){var task=this.stateTask;if(task){task.cancel()}this.clearListeners()}});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(config){Ext.apply(this,config||{});this.all=Ext.create("Ext.util.HashMap");this.types={}},get:function(id){return this.all.get(id)},register:function(item){this.all.add(item)},unregister:function(item){this.all.remove(item)},registerType:function(type,cls){this.types[type]=cls;cls[this.typeName]=type},isRegistered:function(type){return this.types[type]!==undefined},create:function(config,defaultType){var type=config[this.typeName]||config.type||defaultType,Constructor=this.types[type];return new Constructor(config)},onAvailable:function(id,fn,scope){var all=this.all,item;if(all.containsKey(id)){item=all.get(id);fn.call(scope||item,item)}else{all.on("add",function(map,key,item){if(key==id){fn.call(scope||item,item);all.un("add",fn,scope)}})}},each:function(fn,scope){this.all.each(fn,scope||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.PluginManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.PluginMgr",singleton:true,typeName:"ptype",create:function(config,defaultType){if(config.init){return config}else{return Ext.createByAlias("plugin."+(config.ptype||defaultType),config)}},findByType:function(type,defaultsOnly){var matches=[],types=this.types;for(var name in types){if(!types.hasOwnProperty(name)){continue}var item=types[name];if(item.type==type&&(!defaultsOnly||(defaultsOnly===true&&item.isDefault))){matches.push(item)}}return matches}},function(){Ext.preg=function(){return Ext.PluginManager.registerType.apply(Ext.PluginManager,arguments)}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:true,typeName:"xtype",create:function(component,defaultType){if(component instanceof Ext.AbstractComponent){return component}else{if(Ext.isString(component)){return Ext.createByAlias("widget."+component)}else{var type=component.xtype||defaultType,config=component;return Ext.createByAlias("widget."+type,config)}}},registerType:function(type,cls){this.types[type]=cls;cls[this.typeName]=type;cls.prototype[this.typeName]=type}});Ext.define("Ext.XTemplate",{extend:"Ext.Template",statics:{from:function(el,config){el=Ext.getDom(el);return new this(el.value||el.innerHTML,config||{})}},argsRe:/]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^]*?for="(.*?)"/,ifRe:/^]*?if="(.*?)"/,execRe:/^]*?exec="(.*?)"/,constructor:function(){this.callParent(arguments);var me=this,html=me.html,argsRe=me.argsRe,nameRe=me.nameRe,ifRe=me.ifRe,execRe=me.execRe,id=0,tpls=[],VALUES="values",PARENT="parent",XINDEX="xindex",XCOUNT="xcount",RETURN="return ",WITHVALUES="with(values){ ",m,matchName,matchIf,matchExec,exp,fn,exec,name,i;html=["",html,""].join("");while((m=html.match(argsRe))){exp=null;fn=null;exec=null;matchName=m[0].match(nameRe);matchIf=m[0].match(ifRe);matchExec=m[0].match(execRe);exp=matchIf?matchIf[1]:null;if(exp){fn=Ext.functionFactory(VALUES,PARENT,XINDEX,XCOUNT,WITHVALUES+"try{"+RETURN+Ext.String.htmlDecode(exp)+";}catch(e){return;}}")}exp=matchExec?matchExec[1]:null;if(exp){exec=Ext.functionFactory(VALUES,PARENT,XINDEX,XCOUNT,WITHVALUES+Ext.String.htmlDecode(exp)+";}")}name=matchName?matchName[1]:null;if(name){if(name==="."){name=VALUES}else{if(name===".."){name=PARENT}}name=Ext.functionFactory(VALUES,PARENT,"try{"+WITHVALUES+RETURN+name+";}}catch(e){return;}")}tpls.push({id:id,target:name,exec:exec,test:fn,body:m[1]||""});html=html.replace(m[0],"{xtpl"+id+"}");id=id+1}for(i=tpls.length-1;i>=0;--i){me.compileTpl(tpls[i])}me.master=tpls[tpls.length-1];me.tpls=tpls},applySubTemplate:function(id,values,parent,xindex,xcount){var me=this,t=me.tpls[id];return t.compiled.call(me,values,parent,xindex,xcount)},codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?\}/g,compileTpl:function(tpl){var fm=Ext.util.Format,me=this,useFormat=me.disableFormats!==true,body,bodyReturn,evaluatedFn;function fn(m,name,format,args,math){var v;if(name.substr(0,4)=="xtpl"){return"',this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount),'"}if(name=="."){v='Ext.Array.indexOf(["string", "number", "boolean"], typeof values) > -1 || Ext.isDate(values) ? values : ""'}else{if(name=="#"){v="xindex"}else{if(name.substr(0,7)=="parent."){v=name}else{if(name.indexOf(".")!=-1){v="values."+name}else{v="values['"+name+"']"}}}}if(math){v="("+v+math+")"}if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="("+v+" === undefined ? '' : "}return"',"+format+v+args+"),'"}function codeFn(m,code){return"',("+code.replace(me.compileARe,"'")+"),'"}bodyReturn=tpl.body.replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn).replace(me.codeRe,codeFn);body="evaluatedFn = function(values, parent, xindex, xcount){return ['"+bodyReturn+"'].join('');};";eval(body);tpl.compiled=function(values,parent,xindex,xcount){var vs,length,buffer,i;if(tpl.test&&!tpl.test.call(me,values,parent,xindex,xcount)){return""}vs=tpl.target?tpl.target.call(me,values,parent):values;if(!vs){return""}parent=tpl.target?values:parent;if(tpl.target&&Ext.isArray(vs)){buffer=[];length=vs.length;if(tpl.exec){for(i=0;i1||Ext.isArray(objs)){args=arguments.length>1?arguments:objs;for(len=args.length;i=me.length){return me.add(myKey,myObj)}me.length++;Ext.Array.splice(me.items,index,0,myObj);if(typeof myKey!="undefined"&&myKey!==null){me.map[myKey]=myObj}Ext.Array.splice(me.keys,index,0,myKey);me.fireEvent("add",index,myObj,myKey);return myObj},remove:function(o){return this.removeAt(this.indexOf(o))},removeAll:function(items){Ext.each(items||[],function(item){this.remove(item)},this);return this},removeAt:function(index){var me=this,o,key;if(index=0){me.length--;o=me.items[index];Ext.Array.erase(me.items,index,1);key=me.keys[index];if(typeof key!="undefined"){delete me.map[key]}Ext.Array.erase(me.keys,index,1);me.fireEvent("remove",o,key);return o}return false},removeAtKey:function(key){return this.removeAt(this.indexOfKey(key))},getCount:function(){return this.length},indexOf:function(o){return Ext.Array.indexOf(this.items,o)},indexOfKey:function(key){return Ext.Array.indexOf(this.keys,key)},get:function(key){var me=this,mk=me.map[key],item=mk!==undefined?mk:(typeof key=="number")?me.items[key]:undefined;return typeof item!="function"||me.allowFunctions?item:null},getAt:function(index){return this.items[index]},getByKey:function(key){return this.map[key]},contains:function(o){return Ext.Array.contains(this.items,o)},containsKey:function(key){return typeof this.map[key]!="undefined"},clear:function(){var me=this;me.length=0;me.items=[];me.keys=[];me.map={};me.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(property,root,start,end){var values=this.extractValues(property,root),length=values.length,sum=0,i;start=start||0;end=(end||end===0)?end:length-1;for(i=start;i<=end;i++){sum+=values[i]}return sum},collect:function(property,root,allowNull){var values=this.extractValues(property,root),length=values.length,hits={},unique=[],value,strValue,i;for(i=0;i=end;i--){range[range.length]=items[i]}}return range},filter:function(property,value,anyMatch,caseSensitive){var filters=[],filterFn;if(Ext.isString(property)){filters.push(Ext.create("Ext.util.Filter",{property:property,value:value,anyMatch:anyMatch,caseSensitive:caseSensitive}))}else{if(Ext.isArray(property)||property instanceof Ext.util.Filter){filters=filters.concat(property)}}filterFn=function(record){var isMatch=true,length=filters.length,i;for(i=0;iv2?1:(v1curHeight){h=to.height;needsResize=true}if(to.width&&to.width>curWidth){w=to.width;needsResize=true}if(needsResize){var clearWidth=!Ext.isNumber(me.width),clearHeight=!Ext.isNumber(me.height);me.componentLayout.childrenChanged=true;me.setSize(w,h,me.ownerCt);me.el.setSize(curWidth,curHeight);if(clearWidth){delete me.width}if(clearHeight){delete me.height}}}return me.mixins.animate.animate.apply(me,arguments)},findLayoutController:function(){return this.findParentBy(function(c){return !c.ownerCt||(c.layout.layoutBusy&&!c.ownerCt.layout.layoutBusy)})},onShow:function(){var needsLayout=this.needsLayout;if(Ext.isObject(needsLayout)){this.doComponentLayout(needsLayout.width,needsLayout.height,needsLayout.isSetSize,needsLayout.ownerCt)}},constructPlugin:function(plugin){if(plugin.ptype&&typeof plugin.init!="function"){plugin.cmp=this;plugin=Ext.PluginManager.create(plugin)}else{if(typeof plugin=="string"){plugin=Ext.PluginManager.create({ptype:plugin,cmp:this})}}return plugin},initPlugin:function(plugin){plugin.init(this);return plugin},doAutoRender:function(){var me=this;if(me.floating){me.render(document.body)}else{me.render(Ext.isBoolean(me.autoRender)?Ext.getBody():me.autoRender)}},render:function(container,position){var me=this;if(!me.rendered&&me.fireEvent("beforerender",me)!==false){if(me.el){me.el=Ext.get(me.el)}if(me.floating){me.onFloatRender()}container=me.initContainer(container);me.onRender(container,position);me.el.setVisibilityMode(Ext.core.Element[me.hideMode.toUpperCase()]);if(me.overCls){me.el.hover(me.addOverCls,me.removeOverCls,me)}me.fireEvent("render",me);me.initContent();me.afterRender(container);me.fireEvent("afterrender",me);me.initEvents();if(me.hidden){me.el.hide()}if(me.disabled){me.disable(true)}}return me},onRender:function(container,position){var me=this,el=me.el,styles=me.initStyles(),renderTpl,renderData,i;position=me.getInsertPosition(position);if(!el){if(position){el=Ext.core.DomHelper.insertBefore(position,me.getElConfig(),true)}else{el=Ext.core.DomHelper.append(container,me.getElConfig(),true)}}else{if(me.allowDomMove!==false){if(position){container.dom.insertBefore(el.dom,position)}else{container.dom.appendChild(el.dom)}}}if(Ext.scopeResetCSS&&!me.ownerCt){if(el.dom==Ext.getBody().dom){el.parent().addCls(Ext.baseCSSPrefix+"reset")}else{me.resetEl=el.wrap({cls:Ext.baseCSSPrefix+"reset"})}}me.setUI(me.ui);el.addCls(me.initCls());el.setStyle(styles);me.el=el;me.initFrame();renderTpl=me.initRenderTpl();if(renderTpl){renderData=me.initRenderData();renderTpl.append(me.getTargetEl(),renderData)}me.applyRenderSelectors();me.rendered=true},afterRender:function(){var me=this,pos,xy;me.getComponentLayout();if(!me.ownerCt||(me.height||me.width)){me.setSize(me.width,me.height)}if(me.floating&&(me.x===undefined||me.y===undefined)){if(me.floatParent){xy=me.el.getAlignToXY(me.floatParent.getTargetEl(),"c-c");pos=me.floatParent.getTargetEl().translatePoints(xy[0],xy[1])}else{xy=me.el.getAlignToXY(me.container,"c-c");pos=me.container.translatePoints(xy[0],xy[1])}me.x=me.x===undefined?pos.left:me.x;me.y=me.y===undefined?pos.top:me.y}if(Ext.isDefined(me.x)||Ext.isDefined(me.y)){me.setPosition(me.x,me.y)}if(me.styleHtmlContent){me.getTargetEl().addCls(me.styleHtmlCls)}},frameCls:Ext.baseCSSPrefix+"frame",frameElementCls:{tl:[],tc:[],tr:[],ml:[],mc:[],mr:[],bl:[],bc:[],br:[]},frameTpl:['','
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation">
','
','
',"
",'
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mc" role="presentation">
','
','
','','
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation">
','
','
',"
"],frameTableTpl:["",'',"",'','','',"","","",'','','',"",'',"",'','','',"","","
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mc" style="background-position: 0 0;" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation">
"],initFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var me=this,frameInfo=me.getFrameInfo(),frameWidth=frameInfo.width,frameTpl=me.getFrameTpl(frameInfo.table);if(me.frame){frameTpl.insertFirst(me.el,Ext.apply({},{ui:me.ui,uiCls:me.uiCls,frameCls:me.frameCls,baseCls:me.baseCls,frameWidth:frameWidth,top:!!frameInfo.top,left:!!frameInfo.left,right:!!frameInfo.right,bottom:!!frameInfo.bottom},me.getFramePositions(frameInfo)));me.frameBody=me.el.down("."+me.frameCls+"-mc");Ext.apply(me.renderSelectors,{frameTL:"."+me.baseCls+"-tl",frameTC:"."+me.baseCls+"-tc",frameTR:"."+me.baseCls+"-tr",frameML:"."+me.baseCls+"-ml",frameMC:"."+me.baseCls+"-mc",frameMR:"."+me.baseCls+"-mr",frameBL:"."+me.baseCls+"-bl",frameBC:"."+me.baseCls+"-bc",frameBR:"."+me.baseCls+"-br"})}},updateFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var me=this,wasTable=this.frameSize&&this.frameSize.table,oldFrameTL=this.frameTL,oldFrameBL=this.frameBL,oldFrameML=this.frameML,oldFrameMC=this.frameMC,newMCClassName;this.initFrame();if(oldFrameMC){if(me.frame){delete me.frameTL;delete me.frameTC;delete me.frameTR;delete me.frameML;delete me.frameMC;delete me.frameMR;delete me.frameBL;delete me.frameBC;delete me.frameBR;this.applyRenderSelectors();newMCClassName=this.frameMC.dom.className;oldFrameMC.insertAfter(this.frameMC);this.frameMC.remove();this.frameBody=this.frameMC=oldFrameMC;oldFrameMC.dom.className=newMCClassName;if(wasTable){me.el.query("> table")[1].remove()}else{if(oldFrameTL){oldFrameTL.remove()}if(oldFrameBL){oldFrameBL.remove()}oldFrameML.remove()}}else{}}else{if(me.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius){return false}var me=this,left=me.el.getStyle("background-position-x"),top=me.el.getStyle("background-position-y"),info,frameInfo=false,max;if(!left&&!top){info=me.el.getStyle("background-position").split(" ");left=info[0];top=info[1]}if(parseInt(left,10)>=1000000&&parseInt(top,10)>=1000000){max=Math.max;frameInfo={table:left.substr(0,3)=="110",vertical:top.substr(0,3)=="110",top:max(left.substr(3,2),left.substr(5,2)),right:max(left.substr(5,2),top.substr(3,2)),bottom:max(top.substr(3,2),top.substr(5,2)),left:max(top.substr(5,2),left.substr(3,2))};frameInfo.width=max(frameInfo.top,frameInfo.right,frameInfo.bottom,frameInfo.left);me.el.setStyle("background-image","none")}if(me.frame===true&&!frameInfo){}me.frame=me.frame||!!frameInfo;me.frameSize=frameInfo||false;return frameInfo},getFramePositions:function(frameInfo){var me=this,frameWidth=frameInfo.width,dock=me.dock,positions,tc,bc,ml,mr;if(frameInfo.vertical){tc="0 -"+(frameWidth*0)+"px";bc="0 -"+(frameWidth*1)+"px";if(dock&&dock=="right"){tc="right -"+(frameWidth*0)+"px";bc="right -"+(frameWidth*1)+"px"}positions={tl:"0 -"+(frameWidth*0)+"px",tr:"0 -"+(frameWidth*1)+"px",bl:"0 -"+(frameWidth*2)+"px",br:"0 -"+(frameWidth*3)+"px",ml:"-"+(frameWidth*1)+"px 0",mr:"right 0",tc:tc,bc:bc}}else{ml="-"+(frameWidth*0)+"px 0";mr="right 0";if(dock&&dock=="bottom"){ml="left bottom";mr="right bottom"}positions={tl:"0 -"+(frameWidth*2)+"px",tr:"right -"+(frameWidth*3)+"px",bl:"0 -"+(frameWidth*4)+"px",br:"right -"+(frameWidth*5)+"px",ml:ml,mr:mr,tc:"0 -"+(frameWidth*0)+"px",bc:"0 -"+(frameWidth*1)+"px"}}return positions},getFrameTpl:function(table){return table?this.getTpl("frameTableTpl"):this.getTpl("frameTpl")},initCls:function(){var me=this,cls=[];cls.push(me.baseCls);if(Ext.isDefined(me.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}me.componentCls=me.cmpCls;delete me.cmpCls}if(me.componentCls){cls.push(me.componentCls)}else{me.componentCls=me.baseCls}if(me.cls){cls.push(me.cls);delete me.cls}return cls.concat(me.additionalCls)},setUI:function(ui){var me=this,oldUICls=Ext.Array.clone(me.uiCls),newUICls=[],classes=[],cls,i;for(i=0;i=0;idx--){if((c=it.getAt(idx)).is(selector)){return c}}}else{if(idx){return it.getAt(--idx)}}}}return null},previousNode:function(selector,includeSelf){var node=this,result,it,len,i;if(includeSelf&&node.is(selector)){return node}result=this.prev(selector);if(result){return result}if(node.ownerCt){for(it=node.ownerCt.items.items,i=Ext.Array.indexOf(it,node)-1;i>-1;i--){if(it[i].query){result=it[i].query(selector);result=result[result.length-1];if(result){return result}}}return node.ownerCt.previousNode(selector,true)}},nextNode:function(selector,includeSelf){var node=this,result,it,len,i;if(includeSelf&&node.is(selector)){return node}result=this.next(selector);if(result){return result}if(node.ownerCt){for(it=node.ownerCt.items,i=it.indexOf(node)+1,it=it.items,len=it.length;i=200&&status<300)||status==304,isException=false;if(!success){switch(status){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:isException=true;break}}return{success:success,isException:isException}},createResponse:function(request){var xhr=request.xhr,headers={},lines=xhr.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),count=lines.length,line,index,key,value,response;while(count--){line=lines[count];index=line.indexOf(":");if(index>=0){key=line.substr(0,index).toLowerCase();if(line.charAt(index+1)==" "){++index}headers[key]=line.substr(index+1)}}request.xhr=null;delete request.xhr;response={request:request,requestId:request.id,status:xhr.status,statusText:xhr.statusText,getResponseHeader:function(header){return headers[header.toLowerCase()]},getAllResponseHeaders:function(){return headers},responseText:xhr.responseText,responseXML:xhr.responseXML};xhr=null;return response},createException:function(request){return{request:request,requestId:request.id,status:request.aborted?-1:0,statusText:request.aborted?"transaction aborted":"communication failure",aborted:request.aborted,timedout:request.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.data.Association",{primaryKey:"id",defaultReaderType:"json",statics:{create:function(association){if(!association.isAssociation){if(Ext.isString(association)){association={type:association}}switch(association.type){case"belongsTo":return Ext.create("Ext.data.BelongsToAssociation",association);case"hasMany":return Ext.create("Ext.data.HasManyAssociation",association);default:}}return association}},constructor:function(config){Ext.apply(this,config);var types=Ext.ModelManager.types,ownerName=config.ownerModel,associatedName=config.associatedModel,ownerModel=types[ownerName],associatedModel=types[associatedName],ownerProto;this.ownerModel=ownerModel;this.associatedModel=associatedModel;Ext.applyIf(this,{ownerName:ownerName,associatedName:associatedName})},getReader:function(){var me=this,reader=me.reader,model=me.associatedModel;if(reader){if(Ext.isString(reader)){reader={type:reader}}if(reader.isReader){reader.setModel(model)}else{Ext.applyIf(reader,{model:model,type:me.defaultReaderType})}me.reader=Ext.createByAlias("reader."+reader.type,reader)}return me.reader||null}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(name,config){var proto=config.prototype,model;if(proto&&proto.isModel){model=config}else{if(!config.extend){config.extend="Ext.data.Model"}model=Ext.define(name,config)}this.types[name]=model;return model},onModelDefined:function(model){var stack=this.associationStack,length=stack.length,create=[],association,i,created;for(i=0;i]+>/gi,asText:function(s){return String(s).replace(this.stripTagsRE,"")},asUCText:function(s){return String(s).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(s){return String(s).toUpperCase()},asDate:function(s){if(!s){return 0}if(Ext.isDate(s)){return s.getTime()}return Date.parse(String(s))},asFloat:function(s){var val=parseFloat(String(s).replace(/,/g,""));return isNaN(val)?0:val},asInt:function(s){var val=parseInt(String(s).replace(/,/g,""),10);return isNaN(val)?0:val}});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(fieldName){var errors=[],error,field,i;for(i=0;imax)){return false}else{return true}},format:function(config,value){return !!(config.matcher&&config.matcher.test(value))},inclusion:function(config,value){return config.list&&Ext.Array.indexOf(config.list,value)!=-1},exclusion:function(config,value){return config.list&&Ext.Array.indexOf(config.list,value)==-1}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(config){Ext.apply(this,config);this.totalRecords=this.total;if(config.count===undefined){this.count=this.records.length}}});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",constructor:function(config){Ext.apply(this,config)},write:function(request){var operation=request.operation,records=operation.records||[],len=records.length,i=0,data=[];for(;i=0;--i){comp=this.zIndexStack[i];if(!comp.hidden){if(!lastActivated){this._setActiveChild(comp);lastActivated=true}if(comp.modal){this._showModalMask(comp.el.getStyle("zIndex")-4);return}}}this._hideModalMask();if(!lastActivated){this._setActiveChild(null)}},_showModalMask:function(zIndex){if(!this.mask){this.mask=this.targetEl.createChild({cls:Ext.baseCSSPrefix+"mask"});this.mask.setVisibilityMode(Ext.core.Element.DISPLAY);this.mask.on("click",this._onMaskClick,this)}Ext.getBody().addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setSize(this.targetEl.getViewSize(true));this.mask.setStyle("zIndex",zIndex);this.mask.show()},_hideModalMask:function(){if(this.mask){Ext.getBody().removeCls(Ext.baseCSSPrefix+"body-masked");this.mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){if(this.mask&&this.mask.isVisible()){this.mask.setSize(this.targetEl.getViewSize(true))}},register:function(comp){if(comp.zIndexManager){comp.zIndexManager.unregister(comp)}comp.zIndexManager=this;this.list[comp.id]=comp;this.zIndexStack.push(comp);comp.on("hide",this._activateLast,this)},unregister:function(comp){delete comp.zIndexManager;if(this.list&&this.list[comp.id]){delete this.list[comp.id];comp.un("hide",this._activateLast);Ext.Array.remove(this.zIndexStack,comp);this._activateLast(comp)}},get:function(id){return typeof id=="object"?id:this.list[id]},bringToFront:function(comp){comp=this.get(comp);if(comp!=this.front){Ext.Array.remove(this.zIndexStack,comp);this.zIndexStack.push(comp);this.assignZIndices();return true}if(comp.modal){Ext.getBody().addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setSize(Ext.core.Element.getViewWidth(true),Ext.core.Element.getViewHeight(true));this.mask.show()}return false},sendToBack:function(comp){comp=this.get(comp);Ext.Array.remove(this.zIndexStack,comp);this.zIndexStack.unshift(comp);this.assignZIndices();return comp},hideAll:function(){for(var id in this.list){if(this.list[id].isComponent&&this.list[id].isVisible()){this.list[id].hide()}}},hide:function(){var i=0,ln=this.zIndexStack.length,comp;this.tempHidden=[];for(;i0;){comp=stack[i];if(comp.isComponent&&fn.call(scope||comp,comp)===false){return}}},destroy:function(){delete this.zIndexStack;delete this.list;delete this.container;delete this.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(layout,config){this.layout=layout;Ext.apply(this,config||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,onRemove:Ext.emptyFn,getItem:function(item){return this.layout.owner.getComponent(item)},onRemove:Ext.emptyFn});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",constructor:function(el,binding,eventName){var me=this;Ext.apply(me,{el:Ext.get(el),eventName:eventName||me.eventName,bindings:[]});if(binding){me.addBinding(binding)}me.enable()},eventName:"keydown",addBinding:function(binding){if(Ext.isArray(binding)){Ext.each(binding,this.addBinding,this);return}var keyCode=binding.key,processed=false,key,keys,keyString,i,len;if(Ext.isString(keyCode)){keys=[];keyString=keyCode.toLowerCase();for(i=0,len=keyString.length;i/,beforeLayout:function(){return this.callParent(arguments)||this.lastText!==this.owner.text},onLayout:function(width,height){var me=this,isNum=Ext.isNumber,owner=me.owner,ownerEl=owner.el,btnEl=owner.btnEl,btnInnerEl=owner.btnInnerEl,btnIconEl=owner.btnIconEl,sizeIconEl=(owner.icon||owner.iconCls)&&(owner.iconAlign=="top"||owner.iconAlign=="bottom"),minWidth=owner.minWidth,maxWidth=owner.maxWidth,ownerWidth,btnFrameWidth,metrics;me.getTargetInfo();me.callParent(arguments);btnInnerEl.unclip();me.setTargetSize(width,height);if(!isNum(width)){if(owner.text&&Ext.isIE7&&Ext.isStrict&&btnEl&&btnEl.getWidth()>20){btnFrameWidth=me.btnFrameWidth;metrics=Ext.util.TextMetrics.measure(btnInnerEl,owner.text);ownerEl.setWidth(metrics.width+btnFrameWidth+me.adjWidth);btnEl.setWidth(metrics.width+btnFrameWidth);btnInnerEl.setWidth(metrics.width+btnFrameWidth);if(sizeIconEl){btnIconEl.setWidth(metrics.width+btnFrameWidth)}}else{ownerEl.setWidth(null);btnEl.setWidth(null);btnInnerEl.setWidth(null);btnIconEl.setWidth(null)}if(minWidth||maxWidth){ownerWidth=ownerEl.getWidth();if(minWidth&&(ownerWidthmaxWidth)){btnInnerEl.clip();me.setTargetSize(maxWidth,height)}}}}this.lastText=owner.text},setTargetSize:function(width,height){var me=this,owner=me.owner,isNum=Ext.isNumber,btnInnerEl=owner.btnInnerEl,btnWidth=(isNum(width)?width-me.adjWidth:width),btnHeight=(isNum(height)?height-me.adjHeight:height),btnFrameHeight=me.btnFrameHeight,text=owner.getText(),textHeight;me.callParent(arguments);me.setElementSize(owner.btnEl,btnWidth,btnHeight);me.setElementSize(btnInnerEl,btnWidth,btnHeight);if(isNum(btnHeight)){btnInnerEl.setStyle("line-height",btnHeight-btnFrameHeight+"px")}if(text&&this.htmlRE.test(text)){btnInnerEl.setStyle("line-height","normal");textHeight=Ext.util.TextMetrics.measure(btnInnerEl,text).height;btnInnerEl.setStyle("padding-top",me.btnFrameTop+Math.max(btnInnerEl.getHeight()-btnFrameHeight-textHeight,0)/2+"px");me.setElementSize(btnInnerEl,btnWidth,btnHeight)}},getTargetInfo:function(){var me=this,owner=me.owner,ownerEl=owner.el,frameSize=me.frameSize,frameBody=owner.frameBody,btnWrap=owner.btnWrap,innerEl=owner.btnInnerEl;if(!("adjWidth" in me)){Ext.apply(me,{adjWidth:frameSize.left+frameSize.right+ownerEl.getBorderWidth("lr")+ownerEl.getPadding("lr")+btnWrap.getPadding("lr")+(frameBody?frameBody.getFrameWidth("lr"):0),adjHeight:frameSize.top+frameSize.bottom+ownerEl.getBorderWidth("tb")+ownerEl.getPadding("tb")+btnWrap.getPadding("tb")+(frameBody?frameBody.getFrameWidth("tb"):0),btnFrameWidth:innerEl.getFrameWidth("lr"),btnFrameHeight:innerEl.getFrameWidth("tb"),btnFrameTop:innerEl.getFrameWidth("t")})}return me.callParent()}});Ext.define("Ext.util.TextMetrics",{statics:{shared:null,measure:function(el,text,fixedWidth){var me=this,shared=me.shared;if(!shared){shared=me.shared=new me(el,fixedWidth)}shared.bind(el);shared.setFixedWidth(fixedWidth||"auto");return shared.getSize(text)},destroy:function(){var me=this;Ext.destroy(me.shared);me.shared=null}},constructor:function(bindTo,fixedWidth){var measure=this.measure=Ext.getBody().createChild({cls:"x-textmetrics"});this.el=Ext.get(bindTo);measure.position("absolute");measure.setLeftTop(-1000,-1000);measure.hide();if(fixedWidth){measure.setWidth(fixedWidth)}},getSize:function(text){var measure=this.measure,size;measure.update(text);size=measure.getSize();measure.update("");return size},bind:function(el){var me=this;me.el=Ext.get(el);me.measure.setStyle(me.el.getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(width){this.measure.setWidth(width)},getWidth:function(text){this.measure.dom.style.width="auto";return this.getSize(text).width},getHeight:function(text){return this.getSize(text).height},destroy:function(){var me=this;me.measure.remove();delete me.el;delete me.measure}},function(){Ext.core.Element.addMethods({getTextWidth:function(text,min,max){return Ext.Number.constrain(Ext.util.TextMetrics.measure(this.dom,Ext.value(text,this.dom.innerHTML,true)).width,min||0,max||1000000)}})});Ext.define("Ext.layout.container.boxOverflow.Scroller",{extend:"Ext.layout.container.boxOverflow.None",requires:["Ext.util.ClickRepeater","Ext.core.Element"],alternateClassName:"Ext.layout.boxOverflow.Scroller",mixins:{observable:"Ext.util.Observable"},animateScroll:false,scrollIncrement:20,wheelIncrement:10,scrollRepeatInterval:60,scrollDuration:400,scrollerCls:Ext.baseCSSPrefix+"box-scroller",constructor:function(layout,config){this.layout=layout;Ext.apply(this,config||{});this.addEvents("scroll")},initCSSClasses:function(){var me=this,layout=me.layout;if(!me.CSSinitialized){me.beforeCtCls=me.beforeCtCls||Ext.baseCSSPrefix+"box-scroller-"+layout.parallelBefore;me.afterCtCls=me.afterCtCls||Ext.baseCSSPrefix+"box-scroller-"+layout.parallelAfter;me.beforeScrollerCls=me.beforeScrollerCls||Ext.baseCSSPrefix+layout.owner.getXType()+"-scroll-"+layout.parallelBefore;me.afterScrollerCls=me.afterScrollerCls||Ext.baseCSSPrefix+layout.owner.getXType()+"-scroll-"+layout.parallelAfter;me.CSSinitializes=true}},handleOverflow:function(calculations,targetSize){var me=this,layout=me.layout,methodName="get"+layout.parallelPrefixCap,newSize={};me.initCSSClasses();me.callParent(arguments);this.createInnerElements();this.showScrollers();newSize[layout.perpendicularPrefix]=targetSize[layout.perpendicularPrefix];newSize[layout.parallelPrefix]=targetSize[layout.parallelPrefix]-(me.beforeCt[methodName]()+me.afterCt[methodName]());return{targetSize:newSize}},createInnerElements:function(){var me=this,target=me.layout.getRenderTarget();if(!me.beforeCt){target.addCls(Ext.baseCSSPrefix+me.layout.direction+"-box-overflow-body");me.beforeCt=target.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+me.beforeCtCls},"before");me.afterCt=target.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+me.afterCtCls},"after");me.createWheelListener()}},createWheelListener:function(){this.layout.innerCt.on({scope:this,mousewheel:function(e){e.stopEvent();this.scrollBy(e.getWheelDelta()*this.wheelIncrement*-1,false)}})},clearOverflow:function(){this.hideScrollers()},showScrollers:function(){this.createScrollers();this.beforeScroller.show();this.afterScroller.show();this.updateScrollButtons();this.layout.owner.addClsWithUI("scroller")},hideScrollers:function(){if(this.beforeScroller!=undefined){this.beforeScroller.hide();this.afterScroller.hide();this.layout.owner.removeClsWithUI("scroller")}},createScrollers:function(){if(!this.beforeScroller&&!this.afterScroller){var before=this.beforeCt.createChild({cls:Ext.String.format("{0} {1} ",this.scrollerCls,this.beforeScrollerCls)});var after=this.afterCt.createChild({cls:Ext.String.format("{0} {1}",this.scrollerCls,this.afterScrollerCls)});before.addClsOnOver(this.beforeScrollerCls+"-hover");after.addClsOnOver(this.afterScrollerCls+"-hover");before.setVisibilityMode(Ext.core.Element.DISPLAY);after.setVisibilityMode(Ext.core.Element.DISPLAY);this.beforeRepeater=Ext.create("Ext.util.ClickRepeater",before,{interval:this.scrollRepeatInterval,handler:this.scrollLeft,scope:this});this.afterRepeater=Ext.create("Ext.util.ClickRepeater",after,{interval:this.scrollRepeatInterval,handler:this.scrollRight,scope:this});this.beforeScroller=before;this.afterScroller=after}},destroy:function(){Ext.destroy(this.beforeRepeater,this.afterRepeater,this.beforeScroller,this.afterScroller,this.beforeCt,this.afterCt)},scrollBy:function(delta,animate){this.scrollTo(this.getScrollPosition()+delta,animate)},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},updateScrollButtons:function(){if(this.beforeScroller==undefined||this.afterScroller==undefined){return}var beforeMeth=this.atExtremeBefore()?"addCls":"removeCls",afterMeth=this.atExtremeAfter()?"addCls":"removeCls",beforeCls=this.beforeScrollerCls+"-disabled",afterCls=this.afterScrollerCls+"-disabled";this.beforeScroller[beforeMeth](beforeCls);this.afterScroller[afterMeth](afterCls);this.scrolling=false},atExtremeBefore:function(){return this.getScrollPosition()===0},scrollLeft:function(){this.scrollBy(-this.scrollIncrement,false)},scrollRight:function(){this.scrollBy(this.scrollIncrement,false)},getScrollPosition:function(){var layout=this.layout;return parseInt(layout.innerCt.dom["scroll"+layout.parallelBeforeCap],10)||0},getMaxScrollPosition:function(){var layout=this.layout;return layout.innerCt.dom["scroll"+layout.parallelPrefixCap]-this.layout.innerCt["get"+layout.parallelPrefixCap]()},atExtremeAfter:function(){return this.getScrollPosition()>=this.getMaxScrollPosition()},scrollTo:function(position,animate){var me=this,layout=me.layout,oldPosition=me.getScrollPosition(),newPosition=Ext.Number.constrain(position,0,me.getMaxScrollPosition());if(newPosition!=oldPosition&&!me.scrolling){if(animate==undefined){animate=me.animateScroll}layout.innerCt.scrollTo(layout.parallelBefore,newPosition,animate?me.getScrollAnim():false);if(animate){me.scrolling=true}else{me.scrolling=false;me.updateScrollButtons()}me.fireEvent("scroll",me,newPosition,animate?me.getScrollAnim():false)}},scrollToItem:function(item,animate){var me=this,layout=me.layout,visibility,box,newPos;item=me.getItem(item);if(item!=undefined){visibility=this.getItemVisibility(item);if(!visibility.fullyVisible){box=item.getBox(true,true);newPos=box[layout.parallelPosition];if(visibility.hiddenEnd){newPos-=(this.layout.innerCt["get"+layout.parallelPrefixCap]()-box[layout.parallelPrefix])}this.scrollTo(newPos,animate)}}},getItemVisibility:function(item){var me=this,box=me.getItem(item).getBox(true,true),layout=me.layout,itemStart=box[layout.parallelPosition],itemEnd=itemStart+box[layout.parallelPrefix],scrollStart=me.getScrollPosition(),scrollEnd=scrollStart+layout.innerCt["get"+layout.parallelPrefixCap]();return{hiddenStart:itemStartscrollEnd,fullyVisible:itemStart>scrollStart&&itemEndt1){return t1}while(t0x2){t0=t2}else{t1=t2}t2=(t1-t0)/2+t0}return t2}return solve(t,1/(200*duration))},cubicBezier:function(x1,y1,x2,y2){var fn=function(pos){return Ext.fx.CubicBezier.cubicBezierAtTime(pos,x1,y1,x2,y2,1)};fn.toCSS3=function(){return"cubic-bezier("+[x1,y1,x2,y2].join(",")+")"};fn.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-x2,1-y2,1-x1,1-y1)};return fn}});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:0.2,constructor:function(red,green,blue){var me=this,clamp=Ext.Number.constrain;me.r=clamp(red,0,255);me.g=clamp(green,0,255);me.b=clamp(blue,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var me=this;return[me.r,me.g,me.b]},getHSL:function(){var me=this,r=me.r/255,g=me.g/255,b=me.b/255,max=Math.max(r,g,b),min=Math.min(r,g,b),delta=max-min,h,s=0,l=0.5*(max+min);if(min!=max){s=(l<0.5)?delta/(max+min):delta/(2-max-min);if(r==max){h=60*(g-b)/delta}else{if(g==max){h=120+60*(b-r)/delta}else{h=240+60*(r-g)/delta}}if(h<0){h+=360}if(h>=360){h-=360}}return[h,s,l]},getLighter:function(factor){var hsl=this.getHSL();factor=factor||this.lightnessFactor;hsl[2]=Ext.Number.constrain(hsl[2]+factor,0,1);return this.fromHSL(hsl[0],hsl[1],hsl[2])},getDarker:function(factor){factor=factor||this.lightnessFactor;return this.getLighter(-factor)},toString:function(){var me=this,round=Math.round,r=round(me.r).toString(16),g=round(me.g).toString(16),b=round(me.b).toString(16);r=(r.length==1)?"0"+r:r;g=(g.length==1)?"0"+g:g;b=(b.length==1)?"0"+b:b;return["#",r,g,b].join("")},toHex:function(color){if(Ext.isArray(color)){color=color[0]}if(!Ext.isString(color)){return""}if(color.substr(0,1)==="#"){return color}var digits=this.colorToHexRe.exec(color);if(Ext.isArray(digits)){var red=parseInt(digits[2],10),green=parseInt(digits[3],10),blue=parseInt(digits[4],10),rgb=blue|(green<<8)|(red<<16);return digits[1]+"#"+("000000"+rgb.toString(16)).slice(-6)}else{return""}},fromString:function(str){var values,r,g,b,parse=parseInt;if((str.length==4||str.length==7)&&str.substr(0,1)==="#"){values=str.match(this.hexRe);if(values){r=parse(values[1],16)>>0;g=parse(values[2],16)>>0;b=parse(values[3],16)>>0;if(str.length==4){r+=(r*16);g+=(g*16);b+=(b*16)}}}else{values=str.match(this.rgbRe);if(values){r=values[1];g=values[2];b=values[3]}}return(typeof r=="undefined")?undefined:Ext.create("Ext.draw.Color",r,g,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(h,s,l){var C,X,m,i,rgb=[],abs=Math.abs,floor=Math.floor;if(s==0||h==null){rgb=[l,l,l]}else{h/=60;C=s*(1-abs(2*l-1));X=C*(1-abs(h-2*floor(h/2)-1));m=l-C/2;switch(floor(h)){case 0:rgb=[C,X,0];break;case 1:rgb=[X,C,0];break;case 2:rgb=[0,C,X];break;case 3:rgb=[0,X,C];break;case 4:rgb=[X,0,C];break;case 5:rgb=[C,0,X];break}rgb=[rgb[0]+m,rgb[1]+m,rgb[2]+m]}return Ext.create("Ext.draw.Color",rgb[0]*255,rgb[1]*255,rgb[2]*255)}},function(){var prototype=this.prototype;this.addStatics({fromHSL:function(){return prototype.fromHSL.apply(prototype,arguments)},fromString:function(){return prototype.fromString.apply(prototype,arguments)},toHex:function(){return prototype.toHex.apply(prototype,arguments)}})});Ext.define("Ext.dd.StatusProxy",{animRepair:false,constructor:function(config){Ext.apply(this,config);this.id=this.id||Ext.id();this.proxy=Ext.createWidget("component",{floating:true,id:this.id,html:'
',cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:!config||config.shadow!==false,renderTo:document.body});this.el=this.proxy.el;this.el.show();this.el.setVisibilityMode(Ext.core.Element.VISIBILITY);this.el.hide();this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(cssClass){cssClass=cssClass||this.dropNotAllowed;if(this.dropStatus!=cssClass){this.el.replaceCls(this.dropStatus,cssClass);this.dropStatus=cssClass}},reset:function(clearGhost){this.el.dom.className=Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(clearGhost){this.ghost.update("")}},update:function(html){if(typeof html=="string"){this.ghost.update(html)}else{this.ghost.update("");html.style.margin="0";this.ghost.dom.appendChild(html)}var el=this.ghost.dom.firstChild;if(el){Ext.fly(el).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(clear){this.proxy.hide();if(clear){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.proxy.show();this.proxy.toFront()},sync:function(){this.proxy.el.sync()},repair:function(xy,callback,scope){this.callback=callback;this.scope=scope;if(xy&&this.animRepair!==false){this.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.animate({duration:this.repairDuration||500,easing:"ease-out",to:{x:xy[0],y:xy[1]},stopAnimation:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.proxy,this.el)}});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",constructor:function(panel,config){this.panel=panel;this.id=this.panel.id+"-ddproxy";Ext.apply(this,config)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.unghost(null,false);delete this.ghost}},show:function(){if(!this.ghost){var panelSize=this.panel.getSize();this.panel.el.setVisibilityMode(Ext.core.Element.DISPLAY);this.ghost=this.panel.ghost();if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});this.proxy.setSize(panelSize)}}},repair:function(xy,callback,scope){this.hide();if(typeof callback=="function"){callback.call(scope||this)}},moveProxy:function(parentNode,before){if(this.proxy){parentNode.insertBefore(this.proxy.dom,before)}}});Ext.define("Ext.layout.component.AbstractDock",{extend:"Ext.layout.component.Component",type:"dock",autoSizing:true,beforeLayout:function(){var returnValue=this.callParent(arguments);if(returnValue!==false&&(!this.initializedBorders||this.childrenChanged)&&(!this.owner.border||this.owner.manageBodyBorders)){this.handleItemBorders();this.initializedBorders=true}return returnValue},handleItemBorders:function(){var owner=this.owner,body=owner.body,docked=this.getLayoutItems(),borders={top:[],right:[],bottom:[],left:[]},oldBorders=this.borders,opposites={top:"bottom",right:"left",bottom:"top",left:"right"},i,ln,item,dock,side;for(i=0,ln=docked.length;i=0){return Ext.functionFactory("obj","return obj"+(i>0?".":"")+expr)}}return function(obj){return obj[expr]}}}()});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(request,data){var root=this.root;if(this.allowSingle&&data.length==1){data=data[0]}if(this.encode){if(root){request.params[root]=Ext.encode(data)}else{}}else{request.jsonData=request.jsonData||{};if(root){request.jsonData[root]=data}else{request.jsonData=data}}return request}});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:true,defaultReaderType:"json",defaultWriterType:"json",isProxy:true,constructor:function(config){config=config||{};if(config.model===undefined){delete config.model}this.mixins.observable.constructor.call(this,config);if(this.model!==undefined&&!(this.model instanceof Ext.data.Model)){this.setModel(this.model)}},setModel:function(model,setOnStore){this.model=Ext.ModelManager.getModel(model);var reader=this.reader,writer=this.writer;this.setReader(reader);this.setWriter(writer);if(setOnStore&&this.store){this.store.setModel(this.model)}},getModel:function(){return this.model},setReader:function(reader){var me=this;if(reader===undefined||typeof reader=="string"){reader={type:reader}}if(reader.isReader){reader.setModel(me.model)}else{Ext.applyIf(reader,{proxy:me,model:me.model,type:me.defaultReaderType});reader=Ext.createByAlias("reader."+reader.type,reader)}me.reader=reader;return me.reader},getReader:function(){return this.reader},setWriter:function(writer){if(writer===undefined||typeof writer=="string"){writer={type:writer}}if(!(writer instanceof Ext.data.writer.Writer)){Ext.applyIf(writer,{model:this.model,type:this.defaultWriterType});writer=Ext.createByAlias("writer."+writer.type,writer)}this.writer=writer;return this.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(operations,listeners){var me=this,batch=Ext.create("Ext.data.Batch",{proxy:me,listeners:listeners||{}}),useBatch=me.batchActions,records;Ext.each(me.batchOrder.split(","),function(action){records=operations[action];if(records){if(useBatch){batch.add(Ext.create("Ext.data.Operation",{action:action,records:records}))}else{Ext.each(records,function(record){batch.add(Ext.create("Ext.data.Operation",{action:action,records:[record]}))})}}},me);batch.start();return batch}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(config){var me=this;config=config||{};this.addEvents("exception");me.callParent([config]);me.extraParams=config.extraParams||{};me.api=config.api||{};me.nocache=me.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},buildRequest:function(operation){var params=Ext.applyIf(operation.params||{},this.extraParams||{}),request;params=Ext.applyIf(params,this.getParams(params,operation));if(operation.id&&!params.id){params.id=operation.id}request=Ext.create("Ext.data.Request",{params:params,action:operation.action,records:operation.records,operation:operation,url:operation.url});request.url=this.buildUrl(request);operation.request=request;return request},processResponse:function(success,operation,request,response,callback,scope){var me=this,reader,result,records,length,mc,record,i;if(success===true){reader=me.getReader();result=reader.read(me.extractResponseData(response));records=result.records;length=records.length;if(result.success!==false){mc=Ext.create("Ext.util.MixedCollection",true,function(r){return r.getId()});mc.addAll(operation.records);for(i=0;i0){params[groupParam]=me.encodeSorters(groupers)}if(sortParam&&sorters&&sorters.length>0){if(simpleSortMode){params[sortParam]=sorters[0].property;params[directionParam]=sorters[0].direction}else{params[sortParam]=me.encodeSorters(sorters)}}if(filterParam&&filters&&filters.length>0){params[filterParam]=me.encodeFilters(filters)}return params},buildUrl:function(request){var me=this,url=me.getUrl(request);if(me.noCache){url=Ext.urlAppend(url,Ext.String.format("{0}={1}",me.cacheString,Ext.Date.now()))}return url},getUrl:function(request){return request.url||this.api[request.action]||this.url},doRequest:function(operation,callback,scope){},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(operation,callback,scope){var writer=this.getWriter(),request=this.buildRequest(operation,callback,scope);if(operation.allowWrite()){request=writer.write(request)}Ext.apply(request,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(request,operation,callback,scope),method:this.getMethod(request),disableCaching:false});Ext.Ajax.request(request);return request},getMethod:function(request){return this.actionMethods[request.action]},createRequestCallback:function(request,operation,callback,scope){var me=this;return function(options,success,response){me.processResponse(success,operation,request,response,callback,scope)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.data.proxy.Ajax","Ext.util.MixedCollection"],onClassExtended:function(cls,data){var onBeforeClassCreated=data.onBeforeClassCreated;data.onBeforeClassCreated=function(cls,data){var me=this,name=Ext.getClassName(cls),prototype=cls.prototype,superCls=cls.prototype.superclass,validations=data.validations||[],fields=data.fields||[],associations=data.associations||[],belongsTo=data.belongsTo,hasMany=data.hasMany,fieldsMixedCollection=new Ext.util.MixedCollection(false,function(field){return field.name}),associationsMixedCollection=new Ext.util.MixedCollection(false,function(association){return association.name}),superValidations=superCls.validations,superFields=superCls.fields,superAssociations=superCls.associations,association,i,ln,dependencies=[];cls.modelName=name;prototype.modelName=name;if(superValidations){validations=superValidations.concat(validations)}data.validations=validations;if(superFields){fields=superFields.items.concat(fields)}for(i=0,ln=fields.length;i0){associatedRecords=associatedStore.data.items;associatedRecordCount=associatedRecords.length;for(j=0;j1;if(hasMultipleArgs||Ext.isArray(args[0])){items=hasMultipleArgs?args:args[0];me.suspendLayout=true;for(i=0,ln=items.length;i "+selector)[0]||null},down:function(selector){return this.query(selector)[0]||null},show:function(){this.callParent(arguments);this.performDeferredLayouts();return this},performDeferredLayouts:function(){var layoutCollection=this.layoutOnShow,ln=layoutCollection.getCount(),i=0,needsLayout,item;for(;i0){me.hideAll()}},me)},hideAll:function(){var active=this.active,c;if(active&&active.length>0){c=active.clone();c.each(function(m){m.hide()});return true}return false},onHide:function(m){var me=this,active=me.active;active.remove(m);if(active.length<1){Ext.getDoc().un("mousedown",me.onMouseDown,me);me.attached=false}},onShow:function(m){var me=this,active=me.active,last=active.last(),attached=me.attached,menuEl=m.getEl(),zIndex;me.lastShow=new Date();active.add(m);if(!attached){Ext.getDoc().on("mousedown",me.onMouseDown,me);me.attached=true}m.toFront()},onBeforeHide:function(m){if(m.activeChild){m.activeChild.hide()}if(m.autoHideTimer){clearTimeout(m.autoHideTimer);delete m.autoHideTimer}},onBeforeShow:function(m){var active=this.active,parentMenu=m.parentMenu;active.remove(m);if(!parentMenu&&!m.allowOtherMenus){this.hideAll()}else{if(parentMenu&&parentMenu.activeChild&&m!=parentMenu.activeChild){parentMenu.activeChild.hide()}}},onMouseDown:function(e){var me=this,active=me.active,lastShow=me.lastShow;if(Ext.Date.getElapsed(lastShow)>50&&active.length>0&&!e.getTarget("."+Ext.baseCSSPrefix+"menu")){me.hideAll()}},register:function(menu){var me=this;if(!me.active){me.init()}if(menu.floating){me.menus[menu.id]=menu;menu.on({beforehide:me.onBeforeHide,hide:me.onHide,beforeshow:me.onBeforeShow,show:me.onShow,scope:me})}},get:function(menu){var menus=this.menus;if(typeof menu=="string"){if(!menus){return null}return menus[menu]}else{if(menu.isMenu){return menu}else{if(Ext.isArray(menu)){return Ext.create("Ext.menu.Menu",{items:menu})}else{return Ext.ComponentManager.create(menu,"menu")}}}},unregister:function(menu){var me=this,menus=me.menus,active=me.active;delete menus[menu.id];active.remove(menu);menu.un({beforehide:me.onBeforeHide,hide:me.onHide,beforeshow:me.onBeforeShow,show:me.onShow,scope:me})},registerCheckable:function(menuItem){var groups=this.groups,groupId=menuItem.group;if(groupId){if(!groups[groupId]){groups[groupId]=[]}groups[groupId].push(menuItem)}},unregisterCheckable:function(menuItem){var groups=this.groups,groupId=menuItem.group;if(groupId){Ext.Array.remove(groups[groupId],menuItem)}},onCheckChange:function(menuItem,state){var groups=this.groups,groupId=menuItem.group,i=0,group,ln,curr;if(groupId&&state){group=groups[groupId];ln=group.length;for(;i tabIndex="{tabIndex}" role="link">{text}',scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,initComponent:function(){var me=this;me.callParent(arguments);me.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(me.menu){me.split=true;me.menu=Ext.menu.Manager.get(me.menu);me.menu.ownerCt=me}if(me.url){me.href=me.url}if(me.href&&!me.hasOwnProperty("preventDefault")){me.preventDefault=false}if(Ext.isString(me.toggleGroup)){me.enableToggle=true}},initAria:function(){this.callParent();var actionEl=this.getActionEl();if(this.menu){actionEl.dom.setAttribute("aria-haspopup",true)}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.btnEl},setButtonCls:function(){var me=this,el=me.el,cls=[];if(me.useSetClass){if(!Ext.isEmpty(me.oldCls)){me.removeClsWithUI(me.oldCls);me.removeClsWithUI(me.pressedCls)}if(me.iconCls||me.icon){if(me.text){cls.push("icon-text-"+me.iconAlign)}else{cls.push("icon")}}else{if(me.text){cls.push("noicon")}}me.oldCls=cls;me.addClsWithUI(cls);me.addClsWithUI(me.pressed?me.pressedCls:null)}},onRender:function(ct,position){var me=this,repeater,btn;Ext.applyIf(me.renderData,me.getTemplateArgs());Ext.applyIf(me.renderSelectors,{btnEl:me.href?"a":"button",btnWrap:"em",btnInnerEl:"."+me.baseCls+"-inner",btnIconEl:"."+me.baseCls+"-icon"});if(me.scale){me.ui=me.ui+"-"+me.scale}me.callParent(arguments);if(me.split&&me.arrowTooltip){me.arrowEl.dom[me.tooltipType]=me.arrowTooltip}me.mon(me.btnEl,{scope:me,focus:me.onFocus,blur:me.onBlur});btn=me.el;if(me.icon){me.setIcon(me.icon)}if(me.iconCls){me.setIconCls(me.iconCls)}if(me.tooltip){me.setTooltip(me.tooltip,true)}if(me.handleMouseEvents){me.mon(btn,{scope:me,mouseover:me.onMouseOver,mouseout:me.onMouseOut,mousedown:me.onMouseDown});if(me.split){me.mon(btn,{mousemove:me.onMouseMove,scope:me})}}if(me.menu){me.mon(me.menu,{scope:me,show:me.onMenuShow,hide:me.onMenuHide});me.keyMap=Ext.create("Ext.util.KeyMap",me.el,{key:Ext.EventObject.DOWN,handler:me.onDownKey,scope:me})}if(me.repeat){repeater=Ext.create("Ext.util.ClickRepeater",btn,Ext.isObject(me.repeat)?me.repeat:{});me.mon(repeater,"click",me.onRepeatClick,me)}else{me.mon(btn,me.clickEvent,me.onClick,me)}Ext.ButtonToggleManager.register(me)},getTemplateArgs:function(){var me=this,persistentPadding=me.getPersistentBtnPadding(),innerSpanStyle="";if(Math.max.apply(Math,persistentPadding)>0){innerSpanStyle="margin:"+Ext.Array.map(persistentPadding,function(pad){return -pad+"px"}).join(" ")}return{href:me.getHref(),target:me.target||"_blank",type:me.type,splitCls:me.getSplitCls(),cls:me.cls,text:me.text||" ",tabIndex:me.tabIndex,innerSpanStyle:innerSpanStyle}},getHref:function(){var me=this,params=Ext.apply({},me.baseParams);params=Ext.apply(params,me.params);return me.href?Ext.urlAppend(me.href,Ext.Object.toQueryString(params)):false},setParams:function(params){this.params=params;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var me=this;return me.split?(me.baseCls+"-"+me.arrowCls)+" "+(me.baseCls+"-"+me.arrowCls+"-"+me.arrowAlign):""},afterRender:function(){var me=this;me.useSetClass=true;me.setButtonCls();me.doc=Ext.getDoc();this.callParent(arguments)},setIconCls:function(cls){var me=this,btnIconEl=me.btnIconEl;if(btnIconEl){btnIconEl.removeCls(me.iconCls);btnIconEl.addCls(cls||"");me.setButtonCls()}me.iconCls=cls;return me},setTooltip:function(tooltip,initial){var me=this;if(me.rendered){if(!initial){me.clearTip()}if(Ext.isObject(tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:me.btnEl.id},tooltip));me.tooltip=tooltip}else{me.btnEl.dom.setAttribute("data-"+this.tooltipType,tooltip)}}else{me.tooltip=tooltip}return me},getRefItems:function(deep){var menu=this.menu,items;if(menu){items=menu.getRefItems(deep);items.unshift(menu)}return items||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var me=this;if(me.rendered){me.clearTip()}if(me.menu&&me.destroyMenu!==false){Ext.destroy(me.btnEl,me.btnInnerEl,me.menu)}Ext.destroy(me.repeater)},onDestroy:function(){var me=this;if(me.rendered){me.doc.un("mouseover",me.monitorMouseOver,me);me.doc.un("mouseup",me.onMouseUp,me);delete me.doc;delete me.btnEl;delete me.btnInnerEl;Ext.ButtonToggleManager.unregister(me);Ext.destroy(me.keyMap);delete me.keyMap}me.callParent()},setHandler:function(handler,scope){this.handler=handler;this.scope=scope;return this},setText:function(text){var me=this;me.text=text;if(me.el){me.btnInnerEl.update(text||" ");me.setButtonCls()}me.doComponentLayout();return me},setIcon:function(icon){var me=this,btnInnerEl=me.btnInnerEl;me.icon=icon;if(btnInnerEl){btnInnerEl.setStyle("background-image",icon?"url("+icon+")":"");me.setButtonCls()}return me},getText:function(){return this.text},toggle:function(state,suppressEvent){var me=this;state=state===undefined?!me.pressed:!!state;if(state!==me.pressed){if(me.rendered){me[state?"addClsWithUI":"removeClsWithUI"](me.pressedCls)}me.btnEl.dom.setAttribute("aria-pressed",state);me.pressed=state;if(!suppressEvent){me.fireEvent("toggle",me,state);Ext.callback(me.toggleHandler,me.scope||me,[me,state])}}return me},showMenu:function(){var me=this;if(me.rendered&&me.menu){if(me.tooltip){Ext.tip.QuickTipManager.getQuickTip().cancelShow(me.btnEl)}if(me.menu.isVisible()){me.menu.hide()}me.menu.showBy(me.el,me.menuAlign)}return me},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var menu=this.menu;return menu&&menu.rendered&&menu.isVisible()},onRepeatClick:function(repeat,e){this.onClick(e)},onClick:function(e){var me=this;if(me.preventDefault||(me.disabled&&me.getHref())&&e){e.preventDefault()}if(e.button!==0){return}if(!me.disabled){if(me.enableToggle&&(me.allowDepress!==false||!me.pressed)){me.toggle()}if(me.menu&&!me.hasVisibleMenu()&&!me.ignoreNextClick){me.showMenu()}me.fireEvent("click",me,e);if(me.handler){me.handler.call(me.scope||me,me,e)}me.onBlur()}},onMouseOver:function(e){var me=this;if(!me.disabled&&!e.within(me.el,true,true)){me.onMouseEnter(e)}},onMouseOut:function(e){var me=this;if(!e.within(me.el,true,true)){if(me.overMenuTrigger){me.onMenuTriggerOut(e)}me.onMouseLeave(e)}},onMouseMove:function(e){var me=this,el=me.el,over=me.overMenuTrigger,overlap,btnSize;if(me.split){if(me.arrowAlign==="right"){overlap=e.getX()-el.getX();btnSize=el.getWidth()}else{overlap=e.getY()-el.getY();btnSize=el.getHeight()}if(overlap>(btnSize-me.getTriggerSize())){if(!over){me.onMenuTriggerOver(e)}}else{if(over){me.onMenuTriggerOut(e)}}}},getTriggerSize:function(){var me=this,size=me.triggerSize,side,sideFirstLetter,undef;if(size===undef){side=me.arrowAlign;sideFirstLetter=side.charAt(0);size=me.triggerSize=me.el.getFrameWidth(sideFirstLetter)+me.btnWrap.getFrameWidth(sideFirstLetter)+(me.frameSize&&me.frameSize[side]||0)}return size},onMouseEnter:function(e){var me=this;me.addClsWithUI(me.overCls);me.fireEvent("mouseover",me,e)},onMouseLeave:function(e){var me=this;me.removeClsWithUI(me.overCls);me.fireEvent("mouseout",me,e)},onMenuTriggerOver:function(e){var me=this;me.overMenuTrigger=true;me.fireEvent("menutriggerover",me,me.menu,e)},onMenuTriggerOut:function(e){var me=this;delete me.overMenuTrigger;me.fireEvent("menutriggerout",me,me.menu,e)},enable:function(silent){var me=this;me.callParent(arguments);me.removeClsWithUI("disabled");return me},disable:function(silent){var me=this;me.callParent(arguments);me.addClsWithUI("disabled");return me},setScale:function(scale){var me=this,ui=me.ui.replace("-"+me.scale,"");if(!Ext.Array.contains(me.allowedScales,scale)){throw ("#setScale: scale must be an allowed scale ("+me.allowedScales.join(", ")+")")}me.scale=scale;me.setUI(ui)},setUI:function(ui){var me=this;if(me.scale&&!ui.match(me.scale)){ui=ui+"-"+me.scale}me.callParent([ui])},onFocus:function(e){var me=this;if(!me.disabled){me.addClsWithUI(me.focusCls)}},onBlur:function(e){var me=this;me.removeClsWithUI(me.focusCls)},onMouseDown:function(e){var me=this;if(!me.disabled&&e.button===0){me.addClsWithUI(me.pressedCls);me.doc.on("mouseup",me.onMouseUp,me)}},onMouseUp:function(e){var me=this;if(e.button===0){if(!me.pressed){me.removeClsWithUI(me.pressedCls)}me.doc.un("mouseup",me.onMouseUp,me)}},onMenuShow:function(e){var me=this;me.ignoreNextClick=0;me.addClsWithUI(me.menuActiveCls);me.fireEvent("menushow",me,me.menu)},onMenuHide:function(e){var me=this;me.removeClsWithUI(me.menuActiveCls);me.ignoreNextClick=Ext.defer(me.restoreClick,250,me);me.fireEvent("menuhide",me,me.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var me=this;if(!me.disabled){if(me.menu){me.showMenu()}}},getPersistentBtnPadding:function(){var cls=Ext.button.Button,padding=cls.persistentPadding,btn,leftTop,btnEl,btnInnerEl;if(!padding){padding=cls.persistentPadding=[0,0,0,0];if(!Ext.isIE){btn=Ext.create("Ext.button.Button",{renderTo:Ext.getBody(),text:"test",style:"position:absolute;top:-999px;"});btnEl=btn.btnEl;btnInnerEl=btn.btnInnerEl;btnEl.setSize(null,null);leftTop=btnInnerEl.getOffsetsTo(btnEl);padding[0]=leftTop[1];padding[1]=btnEl.getWidth()-btnInnerEl.getWidth()-leftTop[0];padding[2]=btnEl.getHeight()-btnInnerEl.getHeight()-leftTop[1];padding[3]=leftTop[0];btn.destroy()}}return padding}},function(){var groups={},g,i,l;function toggleGroup(btn,state){if(state){g=groups[btn.toggleGroup];for(i=0,l=g.length;i(None)',constructor:function(layout){var me=this;me.callParent(arguments);layout.beforeLayout=Ext.Function.createInterceptor(layout.beforeLayout,this.clearOverflow,this);me.afterCtCls=me.afterCtCls||Ext.baseCSSPrefix+"box-menu-"+layout.parallelAfter;me.menuItems=[]},onRemove:function(comp){Ext.Array.remove(this.menuItems,comp)},handleOverflow:function(calculations,targetSize){var me=this,layout=me.layout,methodName="get"+layout.parallelPrefixCap,newSize={},posArgs=[null,null];me.callParent(arguments);this.createMenu(calculations,targetSize);newSize[layout.perpendicularPrefix]=targetSize[layout.perpendicularPrefix];newSize[layout.parallelPrefix]=targetSize[layout.parallelPrefix]-me.afterCt[methodName]();posArgs[layout.perpendicularSizeIndex]=(calculations.meta.maxSize-me.menuTrigger["get"+layout.perpendicularPrefixCap]())/2;me.menuTrigger.setPosition.apply(me.menuTrigger,posArgs);return{targetSize:newSize}},clearOverflow:function(calculations,targetSize){var me=this,newWidth=targetSize?targetSize.width+(me.afterCt?me.afterCt.getWidth():0):0,items=me.menuItems,i=0,length=items.length,item;me.hideTrigger();for(;iavailable){me.menuItems.push(box.component);box.component.hide()}}},createInnerElements:function(){var me=this,target=me.layout.getRenderTarget();if(!this.afterCt){target.addCls(Ext.baseCSSPrefix+me.layout.direction+"-box-overflow-body");this.afterCt=target.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+this.afterCtCls},"before")}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(el){return Ext.fly(el).getPageBox(true)},from:function(o){return new this(o.top,o.right,o.bottom,o.left)}},constructor:function(t,r,b,l){var me=this;me.y=me.top=me[1]=t;me.right=r;me.bottom=b;me.x=me.left=me[0]=l},contains:function(region){var me=this;return(region.x>=me.x&®ion.right<=me.right&®ion.y>=me.y&®ion.bottom<=me.bottom)},intersect:function(region){var me=this,t=Math.max(me.y,region.y),r=Math.min(me.right,region.right),b=Math.min(me.bottom,region.bottom),l=Math.max(me.x,region.x);if(b>t&&r>l){return new this.self(t,r,b,l)}else{return false}},union:function(region){var me=this,t=Math.min(me.y,region.y),r=Math.max(me.right,region.right),b=Math.max(me.bottom,region.bottom),l=Math.min(me.x,region.x);return new this.self(t,r,b,l)},constrainTo:function(r){var me=this,constrain=Ext.Number.constrain;me.top=me.y=constrain(me.top,r.y,r.bottom);me.bottom=constrain(me.bottom,r.y,r.bottom);me.left=me.x=constrain(me.left,r.x,r.right);me.right=constrain(me.right,r.x,r.right);return me},adjust:function(t,r,b,l){var me=this;me.top=me.y+=t;me.left=me.x+=l;me.right+=r;me.bottom+=b;return me},getOutOfBoundOffset:function(axis,p){if(!Ext.isObject(axis)){if(axis=="x"){return this.getOutOfBoundOffsetX(p)}else{return this.getOutOfBoundOffsetY(p)}}else{p=axis;var d=Ext.create("Ext.util.Offset");d.x=this.getOutOfBoundOffsetX(p.x);d.y=this.getOutOfBoundOffsetY(p.y);return d}},getOutOfBoundOffsetX:function(p){if(p<=this.x){return this.x-p}else{if(p>=this.right){return this.right-p}}return 0},getOutOfBoundOffsetY:function(p){if(p<=this.y){return this.y-p}else{if(p>=this.bottom){return this.bottom-p}}return 0},isOutOfBound:function(axis,p){if(!Ext.isObject(axis)){if(axis=="x"){return this.isOutOfBoundX(p)}else{return this.isOutOfBoundY(p)}}else{p=axis;return(this.isOutOfBoundX(p.x)||this.isOutOfBoundY(p.y))}},isOutOfBoundX:function(p){return(pthis.right)},isOutOfBoundY:function(p){return(pthis.bottom)},restrict:function(axis,p,factor){if(Ext.isObject(axis)){var newP;factor=p;p=axis;if(p.copy){newP=p.copy()}else{newP={x:p.x,y:p.y}}newP.x=this.restrictX(p.x,factor);newP.y=this.restrictY(p.y,factor);return newP}else{if(axis=="x"){return this.restrictX(p,factor)}else{return this.restrictY(p,factor)}}},restrictX:function(p,factor){if(!factor){factor=1}if(p<=this.x){p-=(p-this.x)*factor}else{if(p>=this.right){p-=(p-this.right)*factor}}return p},restrictY:function(p,factor){if(!factor){factor=1}if(p<=this.y){p-=(p-this.y)*factor}else{if(p>=this.bottom){p-=(p-this.bottom)*factor}}return p},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(p){var me=this;me.top=me.y=me[1]=p.y;me.right=p.right;me.bottom=p.bottom;me.left=me.x=me[0]=p.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(x,y){if(arguments.length==1){y=x.y;x=x.x}var me=this;me.top=me.y+=y;me.right+=x;me.bottom+=y;me.left=me.x+=x;return me},round:function(){var me=this;me.top=me.y=Math.round(me.y);me.right=Math.round(me.right);me.bottom=Math.round(me.bottom);me.left=me.x=Math.round(me.x);return me},equals:function(region){return(this.top==region.top&&this.right==region.right&&this.bottom==region.bottom&&this.left==region.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],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(sMethod,args){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue}oDD[sMethod].apply(oDD,args)}}},_onLoad:function(){this.init();var Event=Ext.EventManager;Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true)},_onResize:function(e){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(oDD,sGroup){if(!this.initialized){this.init()}if(!this.ids[sGroup]){this.ids[sGroup]={}}this.ids[sGroup][oDD.id]=oDD},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={}}var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id]}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g]&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id]}}delete this.handleIds[oDD.id]},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={}}this.handleIds[sDDId][sHandleId]=sHandleId},isDragDrop:function(id){return(this.getDDById(id))?true:false},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[];for(var i in p_oDD.groups){for(var j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue}if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd}}}return oDDs},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true);for(var i=0,len=targets.length;ithis.clickPixelThresh||diffY>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);if(!this.dragCurrent.moveOnly){this.fireEvents(e,false)}}this.stopEvent(e);return true},fireEvents:function(e,isDrop){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return}var pt=e.getPoint();var oldOvers=[];var outEvts=[];var overEvts=[];var dropEvts=[];var enterEvts=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue}if(!this.isOverTarget(pt,ddo,this.mode)){outEvts.push(ddo)}oldOvers[i]=true;delete this.dragOvers[i]}for(var sGroup in dc.groups){if("string"!=typeof sGroup){continue}for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(!this.isTypeOfDD(oDD)){continue}if(oDD.isTarget&&!oDD.isLocked()&&((oDD!=dc)||(dc.ignoreSelf===false))){if(this.isOverTarget(pt,oDD,this.mode)){if(isDrop){dropEvts.push(oDD)}else{if(!oldOvers[oDD.id]){enterEvts.push(oDD)}else{overEvts.push(oDD)}this.dragOvers[oDD.id]=oDD}}}}}if(this.mode){if(outEvts.length){dc.b4DragOut(e,outEvts);dc.onDragOut(e,outEvts)}if(enterEvts.length){dc.onDragEnter(e,enterEvts)}if(overEvts.length){dc.b4DragOver(e,overEvts);dc.onDragOver(e,overEvts)}if(dropEvts.length){dc.b4DragDrop(e,dropEvts);dc.onDragDrop(e,dropEvts)}}else{var len=0;for(i=0,len=outEvts.length;i2000){}else{setTimeout(this._addListeners,10);if(document&&document.body){this._timeoutCount+=1}}}},handleWasClicked:function(node,id){if(this.isHandle(id,node.id)){return true}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true}else{p=p.parentNode}}}return false}},function(){this._addListeners()});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:"0",pack:"start",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",bindToOwnerCtContainer:true,availableSpaceOffset:0,reserveOffset:true,clearInnerCtOnLayout:false,flexSortFn:function(a,b){var maxParallelPrefix="max"+this.parallelPrefixCap,infiniteValue=Infinity;a=a.component[maxParallelPrefix]||infiniteValue;b=b.component[maxParallelPrefix]||infiniteValue;if(!isFinite(a)&&!isFinite(b)){return false}return a-b},minSizeSortFn:function(a,b){return b.available-a.available},constructor:function(config){var me=this;me.callParent(arguments);me.flexSortFn=Ext.Function.bind(me.flexSortFn,me);me.initOverflowHandler()},getChildBox:function(child){child=child.el||this.owner.getComponent(child).el;var size=child.getBox(false,true);return{left:size.left,top:size.top,width:size.width,height:size.height}},calculateChildBox:function(child){var me=this,boxes=me.calculateChildBoxes(me.getVisibleItems(),me.getLayoutTargetSize()).boxes,ln=boxes.length,i=0;child=me.owner.getComponent(child);for(;iparallelSize;availableSpace=mmax(0,parallelSize-nonFlexSize-paddingParallel-(me.reserveOffset?me.availableSpaceOffset:0));if(tooNarrow){for(i=0;i0){for(i=0;i0){calcs[me.perpendicularLeftTop]=perpendicularOffset+Math.round(diff/2)}}}}parallelOffset+=(calcs[parallelPrefix]||0)+childMargins[me.parallelAfter]}return{boxes:boxes,meta:{calculatedWidth:calculatedWidth,maxSize:maxSize,nonFlexSize:nonFlexSize,desiredSize:desiredSize,minimumSize:minimumSize,shortfall:shortfall,tooNarrow:tooNarrow}}},onRemove:function(comp){this.callParent(arguments);if(this.overflowHandler){this.overflowHandler.onRemove(comp)}},initOverflowHandler:function(){var handler=this.overflowHandler;if(typeof handler=="string"){handler={type:handler}}var handlerType="None";if(handler&&handler.type!==undefined){handlerType=handler.type}var constructor=Ext.layout.container.boxOverflow[handlerType];if(constructor[this.type]){constructor=constructor[this.type]}this.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+handlerType,this,handler)},onLayout:function(){this.callParent();if(this.clearInnerCtOnLayout===true&&this.adjustmentPass!==true){this.innerCt.setSize(null,null)}var me=this,targetSize=me.getLayoutTargetSize(),items=me.getVisibleItems(),calcs=me.calculateChildBoxes(items,targetSize),boxes=calcs.boxes,meta=calcs.meta,handler,method,results;if(me.autoSize&&calcs.meta.desiredSize){targetSize[me.parallelPrefix]=calcs.meta.desiredSize}if(meta.shortfall>0){handler=me.overflowHandler;method=meta.tooNarrow?"handleOverflow":"clearOverflow";results=handler[method](calcs,targetSize);if(results){if(results.targetSize){targetSize=results.targetSize}if(results.recalculate){items=me.getVisibleItems();calcs=me.calculateChildBoxes(items,targetSize);boxes=calcs.boxes}}}else{me.overflowHandler.clearOverflow()}me.layoutTargetLastSize=targetSize;me.childBoxCache=calcs;me.updateInnerCtSize(targetSize,calcs);me.updateChildBoxes(boxes);me.handleTargetOverflow(targetSize)},updateChildBoxes:function(boxes){var me=this,i=0,length=boxes.length,animQueue=[],dd=Ext.dd.DDM.getDDById(me.innerCt.id),oldBox,newBox,changed,comp,boxAnim,animCallback;for(;imeta.calculatedWidth){me.owner.el.setWidth(meta.calculatedWidth)}if(me.innerCt.dom.scrollTop){me.innerCt.dom.scrollTop=0}},handleTargetOverflow:function(previousTargetSize){var target=this.getTarget(),overflow=target.getStyle("overflow"),newTargetSize;if(overflow&&overflow!="hidden"&&!this.adjustmentPass){newTargetSize=this.getLayoutTargetSize();if(newTargetSize.width!=previousTargetSize.width||newTargetSize.height!=previousTargetSize.height){this.adjustmentPass=true;this.onLayout();return true}}delete this.adjustmentPass},isValidParent:function(item,target,position){var itemEl=item.el?item.el.dom:Ext.getDom(item);return(itemEl&&this.innerCt&&itemEl.parentNode===this.innerCt.dom)||false},getRenderTarget:function(){if(!this.innerCt){this.innerCt=this.getTarget().createChild({cls:this.innerCls,role:"presentation"});this.padding=Ext.util.Format.parseBox(this.padding)}return this.innerCt},renderItem:function(item,target){this.callParent(arguments);var me=this,itemEl=item.getEl(),style=itemEl.dom.style,margins=item.margins||item.margin;if(margins){if(Ext.isString(margins)||Ext.isNumber(margins)){margins=Ext.util.Format.parseBox(margins)}else{Ext.applyIf(margins,{top:0,right:0,bottom:0,left:0})}}else{margins=Ext.apply({},me.defaultMargins)}margins.top+=itemEl.getMargin("t");margins.right+=itemEl.getMargin("r");margins.bottom+=itemEl.getMargin("b");margins.left+=itemEl.getMargin("l");style.marginTop=style.marginRight=style.marginBottom=style.marginLeft="0";item.margins=margins},destroy:function(){Ext.destroy(this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",alignCenteringString:"middle",type:"hbox",direction:"horizontal",parallelSizeIndex:0,perpendicularSizeIndex:1,parallelPrefix:"width",parallelPrefixCap:"Width",parallelLT:"l",parallelRB:"r",parallelBefore:"left",parallelBeforeCap:"Left",parallelAfter:"right",parallelPosition:"x",perpendicularPrefix:"height",perpendicularPrefixCap:"Height",perpendicularLT:"t",perpendicularRB:"b",perpendicularLeftTop:"top",perpendicularRightBottom:"bottom",perpendicularPosition:"y",configureItem:function(item){if(item.flex){item.layoutManagedWidth=1}else{item.layoutManagedWidth=2}if(this.align==="stretch"||this.align==="stretchmax"){item.layoutManagedHeight=1}else{item.layoutManagedHeight=2}this.callParent(arguments)}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",alignCenteringString:"center",type:"vbox",direction:"vertical",parallelSizeIndex:1,perpendicularSizeIndex:0,parallelPrefix:"height",parallelPrefixCap:"Height",parallelLT:"t",parallelRB:"b",parallelBefore:"top",parallelBeforeCap:"Top",parallelAfter:"bottom",parallelPosition:"y",perpendicularPrefix:"width",perpendicularPrefixCap:"Width",perpendicularLT:"l",perpendicularRB:"r",perpendicularLeftTop:"left",perpendicularRightBottom:"right",perpendicularPosition:"x",configureItem:function(item){if(item.flex){item.layoutManagedHeight=1}else{item.layoutManagedHeight=2}if(this.align==="stretch"||this.align==="stretchmax"){item.layoutManagedWidth=1}else{item.layoutManagedWidth=2}this.callParent(arguments)}});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:"Ext.FocusMgr",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:false,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],tabIndexWhitelist:["a","button","embed","frame","iframe","img","input","object","select","textarea"],constructor:function(){var me=this,CQ=Ext.ComponentQuery;me.addEvents("beforecomponentfocus","componentfocus","disable","enable");me.keyNav=Ext.create("Ext.util.KeyNav",Ext.getDoc(),{disabled:true,scope:me,backspace:me.focusLast,enter:me.navigateIn,esc:me.navigateOut,tab:me.navigateSiblings});me.focusData={};me.subscribers=Ext.create("Ext.util.HashMap");me.focusChain={};Ext.apply(CQ.pseudos,{focusable:function(cmps){var len=cmps.length,results=[],i=0,c,isFocusable=function(x){return x&&x.focusable!==false&&CQ.is(x,"[rendered]:not([destroying]):not([isDestroyed]):not([disabled]){isVisible(true)}{el && c.el.dom && c.el.isVisible()}")};for(;i=len){i=0}else{if(i<0){i=len-1}}c=cmps[i];if(CQ.is(c,":focusable")){return[c]}else{if(c.placeholder&&CQ.is(c.placeholder,":focusable")){return[c.placeholder]}}}return[]},prevFocus:function(cmps,idx){return this.nextFocus(cmps,idx,-1)},root:function(cmps){var len=cmps.length,results=[],i=0,c;for(;ib.el.getZIndex()});return floating.concat(inline)},initDOM:function(options){var me=this,sp=" ",cls=me.focusFrameCls;if(!Ext.isReady){Ext.onReady(me.initDOM,me);return}if(!me.focusEl){me.focusEl=Ext.getBody().createChild({tabIndex:"-1",cls:me.focusElementCls,html:sp})}if(!me.focusFrame&&options.focusFrame){me.focusFrame=Ext.getBody().createChild({cls:cls,children:[{cls:cls+"-top"},{cls:cls+"-bottom"},{cls:cls+"-left"},{cls:cls+"-right"}],style:"top: -100px; left: -100px;"});me.focusFrame.setVisibilityMode(Ext.core.Element.DISPLAY);me.focusFrameWidth=me.focusFrame.child("."+cls+"-top").getHeight();me.focusFrame.hide().setLeftTop(0,0)}},isWhitelisted:function(cmp){return cmp&&Ext.Array.some(this.whitelist,function(x){return cmp.isXType(x)})},navigateIn:function(e){var me=this,focusedCmp=me.focusedCmp,rootCmps,firstChild;if(!focusedCmp){rootCmps=me.getRootComponents();if(rootCmps.length){rootCmps[0].focus()}}else{firstChild=Ext.ComponentQuery.query(">:focusable",focusedCmp)[0];if(firstChild){firstChild.focus()}else{if(Ext.isFunction(focusedCmp.onClick)){e.button=0;focusedCmp.onClick(e);focusedCmp.focus()}}}},navigateOut:function(e){var me=this,parent;if(!me.focusedCmp||!(parent=me.focusedCmp.up(":focusable"))){me.focusEl.focus()}else{parent.focus()}return true},navigateSiblings:function(e,source,parent){var me=this,src=source||me,key=e.getKey(),EO=Ext.EventObject,goBack=e.shiftKey||key==EO.LEFT||key==EO.UP,checkWhitelist=key==EO.LEFT||key==EO.RIGHT||key==EO.UP||key==EO.DOWN,nextSelector=goBack?"prev":"next",idx,next,focusedCmp;focusedCmp=(src.focusedCmp&&src.focusedCmp.comp)||src.focusedCmp;if(!focusedCmp&&!parent){return}if(checkWhitelist&&me.isWhitelisted(focusedCmp)){return true}parent=parent||focusedCmp.up();if(parent){idx=focusedCmp?Ext.Array.indexOf(parent.getRefItems(),focusedCmp):-1;next=Ext.ComponentQuery.query(">:"+nextSelector+"Focus("+idx+")",parent)[0];if(next&&focusedCmp!==next){next.focus();return next}}},onComponentBlur:function(cmp,e){var me=this;if(me.focusedCmp===cmp){me.previousFocusedCmp=cmp;delete me.focusedCmp}if(me.focusFrame){me.focusFrame.hide()}},onComponentCreated:function(hash,id,cmp){this.setFocus(cmp,true,this.options)},onComponentDestroy:function(cmp){this.setFocus(cmp,false)},onComponentFocus:function(cmp,e){var me=this,chain=me.focusChain;if(!Ext.ComponentQuery.is(cmp,":focusable")){me.clearComponent(cmp);if(chain[cmp.id]){return}var parent=cmp.up();if(parent){chain[cmp.id]=true;parent.focus()}return}me.focusChain={};clearTimeout(me.cmpFocusDelay);if(arguments.length!==2){me.cmpFocusDelay=Ext.defer(me.onComponentFocus,90,me,[cmp,e]);return}if(me.fireEvent("beforecomponentfocus",me,cmp,me.previousFocusedCmp)===false){me.clearComponent(cmp);return}me.focusedCmp=cmp;if(me.shouldShowFocusFrame(cmp)){var cls="."+me.focusFrameCls+"-",ff=me.focusFrame,fw=me.focusFrameWidth,box=cmp.el.getPageBox(),bt=box.top,bl=box.left,bw=box.width,bh=box.height,ft=ff.child(cls+"top"),fb=ff.child(cls+"bottom"),fl=ff.child(cls+"left"),fr=ff.child(cls+"right");ft.setWidth(bw-2).setLeftTop(bl+1,bt);fb.setWidth(bw-2).setLeftTop(bl+1,bt+bh-fw);fl.setHeight(bh-2).setLeftTop(bl,bt+1);fr.setHeight(bh-2).setLeftTop(bl+bw-fw,bt+1);ff.show()}me.fireEvent("componentfocus",me,cmp,me.previousFocusedCmp)},onComponentHide:function(cmp){var me=this,CQ=Ext.ComponentQuery,cmpHadFocus=false,focusedCmp,parent;if(me.focusedCmp){focusedCmp=CQ.query("[id="+me.focusedCmp.id+"]",cmp)[0];cmpHadFocus=me.focusedCmp.id===cmp.id||focusedCmp;if(focusedCmp){me.clearComponent(focusedCmp)}}me.clearComponent(cmp);if(cmpHadFocus){parent=CQ.query("^:focusable",cmp)[0];if(parent){parent.focus()}}},removeDOM:function(){var me=this;if(me.enabled||me.subscribers.length){return}Ext.destroy(me.focusEl,me.focusFrame);delete me.focusEl;delete me.focusFrame;delete me.focusFrameWidth},removeXTypeFromWhitelist:function(xtype){var me=this;if(Ext.isArray(xtype)){Ext.Array.forEach(xtype,me.removeXTypeFromWhitelist,me);return}Ext.Array.remove(me.whitelist,xtype)},setFocus:function(cmp,focusable,options){var me=this,el,dom,data,needsTabIndex=function(n){return !Ext.Array.contains(me.tabIndexWhitelist,n.tagName.toLowerCase())&&n.tabIndex<=0};options=options||{};if(!cmp.rendered){cmp.on("afterrender",Ext.pass(me.setFocus,arguments,me),me,{single:true});return}el=cmp.getFocusEl();dom=el.dom;if((focusable&&!me.focusData[cmp.id])||(!focusable&&me.focusData[cmp.id])){if(focusable){data={focusFrame:options.focusFrame};if(needsTabIndex(dom)){data.tabIndex=dom.tabIndex;dom.tabIndex=-1}el.on({focus:data.focusFn=Ext.bind(me.onComponentFocus,me,[cmp],0),blur:data.blurFn=Ext.bind(me.onComponentBlur,me,[cmp],0),scope:me});cmp.on({hide:me.onComponentHide,close:me.onComponentHide,beforedestroy:me.onComponentDestroy,scope:me});me.focusData[cmp.id]=data}else{data=me.focusData[cmp.id];if("tabIndex" in data){dom.tabIndex=data.tabIndex}el.un("focus",data.focusFn,me);el.un("blur",data.blurFn,me);cmp.un("hide",me.onComponentHide,me);cmp.un("close",me.onComponentHide,me);cmp.un("beforedestroy",me.onComponentDestroy,me);delete me.focusData[cmp.id]}}},setFocusAll:function(focusable,options){var me=this,cmps=Ext.ComponentManager.all.getArray(),len=cmps.length,cmp,i=0;for(;i"),safeSetFocus);me.setFocus(cmp,true,options);cmp.on("add",data.onAdd,me)}else{if(!cmp.isContainer){me.setFocus(cmp,true,options)}}};if(!container||!container.isContainer){return}if(!container.rendered){container.on("afterrender",Ext.pass(me.subscribe,arguments,me),me,{single:true});return}me.initDOM(options);data.keyNav=me.setupSubscriberKeys(container,options.keys);data.onAdd=function(ct,cmp,idx){safeSetFocus(cmp)};container.on("beforedestroy",me.unsubscribe,me);safeSetFocus(container);subs.add(container.id,data)},unsubscribe:function(container){var me=this,EA=Ext.Array,subs=me.subscribers,data,safeSetFocus=function(cmp){if(cmp.isContainer&&!subs.containsKey(cmp.id)){EA.forEach(cmp.query(">"),safeSetFocus);me.setFocus(cmp,false);cmp.un("add",data.onAdd,me)}else{if(!cmp.isContainer){me.setFocus(cmp,false)}}};if(!container||!subs.containsKey(container.id)){return}data=subs.get(container.id);data.keyNav.destroy();container.un("beforedestroy",me.unsubscribe,me);subs.removeAtKey(container.id);safeSetFocus(container);me.removeDOM()}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox","Ext.FocusManager"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:true,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:false,enableOverflow:false,trackMenus:true,itemCls:Ext.baseCSSPrefix+"toolbar-item",initComponent:function(){var me=this,keys;if(!me.layout&&me.enableOverflow){me.layout={overflowHandler:"Menu"}}if(me.dock==="right"||me.dock==="left"){me.vertical=true}me.layout=Ext.applyIf(Ext.isString(me.layout)?{type:me.layout}:me.layout||{},{type:me.vertical?"vbox":"hbox",align:me.vertical?"stretchmax":"middle",clearInnerCtOnLayout:true});if(me.vertical){me.addClsWithUI("vertical")}if(me.ui==="footer"){me.ignoreBorderManagement=true}me.callParent();me.addEvents("overflowchange");keys=me.vertical?["up","down"]:["left","right"];Ext.FocusManager.subscribe(me,{keys:keys})},lookupComponent:function(c){if(Ext.isString(c)){var shortcut=Ext.toolbar.Toolbar.shortcuts[c];if(shortcut){c={xtype:shortcut}}else{c={xtype:"tbtext",text:c}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c},trackMenu:function(item,remove){if(this.trackMenus&&item.menu){var method=remove?"mun":"mon",me=this;me[method](item,"menutriggerover",me.onButtonTriggerOver,me);me[method](item,"menushow",me.onButtonMenuShow,me);me[method](item,"menuhide",me.onButtonMenuHide,me)}},constructButton:function(item){return item.events?item:this.createComponent(item,item.split?"splitbutton":this.defaultType)},onBeforeAdd:function(component){if(component.is("field")||(component.is("button")&&this.ui!="footer")){component.ui=component.ui+"-toolbar"}if(component instanceof Ext.toolbar.Separator){component.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(component){this.callParent(arguments);this.trackMenu(component);if(this.disabled){component.disable()}},onRemove:function(c){this.callParent(arguments);this.trackMenu(c,true)},onButtonTriggerOver:function(btn){if(this.activeMenuBtn&&this.activeMenuBtn!=btn){this.activeMenuBtn.hideMenu();btn.showMenu();this.activeMenuBtn=btn}},onButtonMenuShow:function(btn){this.activeMenuBtn=btn},onButtonMenuHide:function(btn){delete this.activeMenuBtn}},function(){this.shortcuts={"-":"tbseparator"," ":"tbspacer","->":"tbfill"}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",requires:["Ext.util.MixedCollection","Ext.core.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:true,componentLayout:"dock",defaultDockWeights:{top:1,left:3,right:5,bottom:7},renderTpl:['
{bodyCls} {baseCls}-body-{ui} {parent.baseCls}-body-{parent.ui}-{.}" style="{bodyStyle}">
'],border:true,initComponent:function(){var me=this;me.addEvents("bodyresize");Ext.applyIf(me.renderSelectors,{body:"."+me.baseCls+"-body"});if(me.frame&&me.border&&me.bodyBorder===undefined){me.bodyBorder=false}if(me.frame&&me.border&&(me.bodyBorder===false||me.bodyBorder===0)){me.manageBodyBorders=true}me.callParent()},initItems:function(){var me=this,items=me.dockedItems;me.callParent();me.dockedItems=Ext.create("Ext.util.MixedCollection",false,me.getComponentId);if(items){me.addDocked(items)}},getDockedComponent:function(comp){if(Ext.isObject(comp)){comp=comp.getItemId()}return this.dockedItems.get(comp)},getComponent:function(comp){var component=this.callParent(arguments);if(component===undefined&&!Ext.isNumber(comp)){component=this.getDockedComponent(comp)}return component},initBodyStyles:function(){var me=this,bodyStyle=me.bodyStyle,styles=[],Element=Ext.core.Element,prop;if(Ext.isFunction(bodyStyle)){bodyStyle=bodyStyle()}if(Ext.isString(bodyStyle)){styles=bodyStyle.split(";")}else{for(prop in bodyStyle){if(bodyStyle.hasOwnProperty(prop)){styles.push(prop+":"+bodyStyle[prop])}}}if(me.bodyPadding!==undefined){styles.push("padding: "+Element.unitizeBox((me.bodyPadding===true)?5:me.bodyPadding))}if(me.frame&&me.bodyBorder){if(!Ext.isNumber(me.bodyBorder)){me.bodyBorder=1}styles.push("border-width: "+Element.unitizeBox(me.bodyBorder))}delete me.bodyStyle;return styles.length?styles.join(";"):undefined},initBodyCls:function(){var me=this,cls="",bodyCls=me.bodyCls;if(bodyCls){Ext.each(bodyCls,function(v){cls+=" "+v});delete me.bodyCls}return cls.length>0?cls:undefined},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyStyle:this.initBodyStyles(),bodyCls:this.initBodyCls()})},addDocked:function(items,pos){var me=this,i=0,item,length;items=me.prepareItems(items);length=items.length;for(;i {bodyCls} {parent.baseCls}-body-{parent.ui}-{.}" style="{bodyStyle}">'],initComponent:function(){var me=this,rule,style,titleTextEl,ui;me.indicateDragCls=me.baseCls+"-draggable";me.title=me.title||" ";me.tools=me.tools||[];me.items=me.items||[];me.orientation=me.orientation||"horizontal";me.dock=(me.dock)?me.dock:(me.orientation=="horizontal")?"top":"left";me.addClsWithUI(me.orientation);me.addClsWithUI(me.dock);Ext.applyIf(me.renderSelectors,{body:"."+me.baseCls+"-body"});if(!Ext.isEmpty(me.iconCls)){me.initIconCmp();me.items.push(me.iconCmp)}if(me.orientation=="vertical"){if(Ext.isIE6||Ext.isIE7){me.width=this.width||24}else{if(Ext.isIEQuirks){me.width=this.width||25}}me.layout={type:"vbox",align:"center",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};me.textConfig={cls:me.baseCls+"-text",type:"text",text:me.title,rotate:{degrees:90}};ui=me.ui;if(Ext.isArray(ui)){ui=ui[0]}rule=Ext.util.CSS.getRule("."+me.baseCls+"-text-"+ui);if(rule){style=rule.style}if(style){Ext.apply(me.textConfig,{"font-family":style.fontFamily,"font-weight":style.fontWeight,"font-size":style.fontSize,fill:style.color})}me.titleCmp=Ext.create("Ext.draw.Component",{ariaRole:"heading",focusable:false,viewBox:false,flex:1,autoSize:true,margins:"5 0 0 0",items:[me.textConfig],renderSelectors:{textEl:"."+me.baseCls+"-text"}})}else{me.layout={type:"hbox",align:"middle",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};me.titleCmp=Ext.create("Ext.Component",{xtype:"component",ariaRole:"heading",focusable:false,flex:1,renderTpl:['{title}'],renderData:{title:me.title,cls:me.baseCls,ui:me.ui},renderSelectors:{textEl:"."+me.baseCls+"-text"}})}me.items.push(me.titleCmp);me.items=me.items.concat(me.tools);this.callParent()},initIconCmp:function(){this.iconCmp=Ext.create("Ext.Component",{focusable:false,renderTpl:[''],renderData:{blank:Ext.BLANK_IMAGE_URL,cls:this.baseCls,iconCls:this.iconCls,orientation:this.orientation},renderSelectors:{iconEl:"."+this.baseCls+"-icon"},iconCls:this.iconCls})},afterRender:function(){var me=this;me.el.unselectable();if(me.indicateDrag){me.el.addCls(me.indicateDragCls)}me.mon(me.el,{click:me.onClick,scope:me});me.callParent()},afterLayout:function(){var me=this;me.callParent(arguments);if(Ext.isIE7){me.el.repaint()}},addUIClsToElement:function(cls,force){var me=this,result=me.callParent(arguments),classes=[me.baseCls+"-body-"+cls,me.baseCls+"-body-"+me.ui+"-"+cls],array,i;if(!force&&me.rendered){if(me.bodyCls){me.body.addCls(me.bodyCls)}else{me.body.addCls(classes)}}else{if(me.bodyCls){array=me.bodyCls.split(" ");for(i=0;i0},runningFilter:function(o){return o.paused===false&&o.running===true&&o.isAnimator!==true},runner:function(){var me=this,items=me.items;me.targetData={};me.targetArr={};me.timestamp=new Date();items.filterBy(me.startingFilter).each(me.startAnim,me);items.filterBy(me.runningFilter).each(me.runAnim,me);me.applyPendingAttrs()},startAnim:function(anim){anim.start(this.timestamp)},runAnim:function(anim){if(!anim){return}var me=this,targetId=anim.target.getId(),useCSS3=me.useCSS3&&anim.target.type=="element",elapsedTime=me.timestamp-anim.startTime,target,o;this.collectTargetData(anim,elapsedTime,useCSS3);if(useCSS3){anim.target.setAttr(me.targetData[targetId],true);me.targetData[targetId]=[];me.collectTargetData(anim,anim.duration,useCSS3);anim.paused=true;target=anim.target.target;if(anim.target.isComposite){target=anim.target.target.last()}o={};o[Ext.supports.CSS3TransitionEnd]=anim.lastFrame;o.scope=anim;o.single=true;target.on(o)}else{if(elapsedTime>=anim.duration){me.applyPendingAttrs(true);delete me.targetData[targetId];delete me.targetArr[targetId];anim.lastFrame()}}},collectTargetData:function(anim,elapsedTime,useCSS3){var targetId=anim.target.getId(),targetData=this.targetData[targetId],data;if(!targetData){targetData=this.targetData[targetId]=[];this.targetArr[targetId]=anim.target}data={duration:anim.duration,easing:(useCSS3&&anim.reverse)?anim.easingFn.reverse().toCSS3():anim.easing,attrs:{}};Ext.apply(data.attrs,anim.runAnim(elapsedTime));targetData.push(data)},applyPendingAttrs:function(isLastFrame){var targetData=this.targetData,targetArr=this.targetArr,targetId;for(targetId in targetData){if(targetData.hasOwnProperty(targetId)){targetArr[targetId].setAttr(targetData[targetId],false,isLastFrame)}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(config){var me=this;config=Ext.apply(me,config||{});me.config=config;me.id=Ext.id(null,"ext-animator-");me.addEvents("beforeanimate","keyframe","afteranimate");me.mixins.observable.constructor.call(me,config);me.timeline=[];me.createTimeline(me.keyframes);if(me.target){me.applyAnimator(me.target);Ext.fx.Manager.addAnim(me)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(keyframes){var me=this,attrs=[],to=me.to||{},duration=me.duration,prevMs,ms,i,ln,pct,anim,nextAnim,attr;for(pct in keyframes){if(keyframes.hasOwnProperty(pct)&&me.animKeyFramesRE.test(pct)){attr={attrs:Ext.apply(keyframes[pct],to)};if(pct=="from"){pct=0}else{if(pct=="to"){pct=100}}attr.pct=parseInt(pct,10);attrs.push(attr)}}Ext.Array.sort(attrs,me.sorter);ln=attrs.length;for(i=0;i2){data.push([b].concat(Ext.Array.splice(params,0,2)));name="l";b=(b=="m")?"l":"L"}while(params.length>=paramCounts[name]){data.push([b].concat(Ext.Array.splice(params,0,paramCounts[name])));if(!paramCounts[name]){break}}})}data.toString=me.path2string;return data},mapPath:function(path,matrix){if(!matrix){return path}var x,y,i,ii,j,jj,pathi;path=this.path2curve(path);for(i=0,ii=path.length;i7){points[i].shift();point=points[i];while(point.length){Ext.Array.splice(points,i++,0,["C"].concat(Ext.Array.splice(point,0,6)))}Ext.Array.erase(points,i,1);ln=points.length}seg=points[i];segLn=seg.length;attrs.x=seg[segLn-2];attrs.y=seg[segLn-1];attrs.bx=parseFloat(seg[segLn-4])||attrs.x;attrs.by=parseFloat(seg[segLn-3])||attrs.y}return points},interpolatePaths:function(path,path2){var me=this,p=me.pathToAbsolute(path),p2=me.pathToAbsolute(path2),attrs={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},attrs2={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},fixArc=function(pp,i){if(pp[i].length>7){pp[i].shift();var pi=pp[i];while(pi.length){Ext.Array.splice(pp,i++,0,["C"].concat(Ext.Array.splice(pi,0,6)))}Ext.Array.erase(pp,i,1);ii=Math.max(p.length,p2.length||0)}},fixM=function(path1,path2,a1,a2,i){if(path1&&path2&&path1[i][0]=="M"&&path2[i][0]!="M"){Ext.Array.splice(path2,i,0,["M",a2.x,a2.y]);a1.bx=0;a1.by=0;a1.x=path1[i][1];a1.y=path1[i][2];ii=Math.max(p.length,p2.length||0)}};for(var i=0,ii=Math.max(p.length,p2.length||0);i1){h=msqrt(h);rx=h*rx;ry=h*ry}rx2=rx*rx;ry2=ry*ry;k=(large_arc_flag==sweep_flag?-1:1)*msqrt(mabs((rx2*ry2-rx2*y*y-ry2*x*x)/(rx2*y*y+ry2*x*x)));cx=k*rx*y/ry+(x1+x2)/2;cy=k*-ry*x/rx+(y1+y2)/2;f1=masin(((y1-cy)/ry).toFixed(7));f2=masin(((y2-cy)/ry).toFixed(7));f1=x1f2){f1=f1-PI*2}if(!sweep_flag&&f2>f1){f2=f2-PI*2}}else{f1=recursive[0];f2=recursive[1];cx=recursive[2];cy=recursive[3]}df=f2-f1;if(mabs(df)>_120){f2old=f2;x2old=x2;y2old=y2;f2=f1+_120*(sweep_flag&&f2>f1?1:-1);x2=cx+rx*mcos(f2);y2=cy+ry*msin(f2);res=me.arc2curve(x2,y2,rx,ry,angle,0,sweep_flag,x2old,y2old,[f2,f2old,cx,cy])}df=f2-f1;c1=mcos(f1);s1=msin(f1);c2=mcos(f2);s2=msin(f2);t=math.tan(df/4);hx=4/3*rx*t;hy=4/3*ry*t;m1=[x1,y1];m2=[x1+hx*s1,y1-hy*c1];m3=[x2+hx*s2,y2-hy*c2];m4=[x2,y2];m2[0]=2*m1[0]-m2[0];m2[1]=2*m1[1]-m2[1];if(recursive){return[m2,m3,m4].concat(res)}else{res=[m2,m3,m4].concat(res).join().split(",");newres=[];ln=res.length;for(i=0;i(cp2[1]-cp1[1])*(path[0]-cp1[0])},intersectIntersection:function(s,e,cp1,cp2){var p=[],dcx=cp1[0]-cp2[0],dcy=cp1[1]-cp2[1],dpx=s[0]-e[0],dpy=s[1]-e[1],n1=cp1[0]*cp2[1]-cp1[1]*cp2[0],n2=s[0]*e[1]-s[1]*e[0],n3=1/(dcx*dpy-dcy*dpx);p[0]=(n1*dpx-n2*dcx)*n3;p[1]=(n1*dpy-n2*dcy)*n3;return p},intersect:function(subjectPolygon,clipPolygon){var me=this,i=0,ln=clipPolygon.length,cp1=clipPolygon[ln-1],outputList=subjectPolygon,cp2,s,e,point,ln2,inputList,j;for(;i1000000000000){t1=0.5}if(Math.abs(t2)>1000000000000){t2=0.5}if(t1>0&&t1<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t1);x.push(dot.x);y.push(dot.y)}if(t2>0&&t2<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t2);x.push(dot.x);y.push(dot.y)}a=(c2y-2*c1y+p1y)-(p2y-2*c2y+c1y);b=2*(c1y-p1y)-2*(c2y-c1y);c=p1y-c1y;t1=(-b+Math.sqrt(b*b-4*a*c))/2/a;t2=(-b-Math.sqrt(b*b-4*a*c))/2/a;if(Math.abs(t1)>1000000000000){t1=0.5}if(Math.abs(t2)>1000000000000){t2=0.5}if(t1>0&&t1<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t1);x.push(dot.x);y.push(dot.y)}if(t2>0&&t2<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t2);x.push(dot.x);y.push(dot.y)}return{min:{x:Math.min.apply(0,x),y:Math.min.apply(0,y)},max:{x:Math.max.apply(0,x),y:Math.max.apply(0,y)}}},getAnchors:function(prevX,prevY,curX,curY,nextX,nextY,value){value=value||4;var M=Math,PI=M.PI,halfPI=PI/2,abs=M.abs,sin=M.sin,cos=M.cos,atan=M.atan,control1Length,control2Length,control1Angle,control2Angle,control1X,control1Y,control2X,control2Y,alpha;control1Length=(curX-prevX)/value;control2Length=(nextX-curX)/value;if((curY>=prevY&&curY>=nextY)||(curY<=prevY&&curY<=nextY)){control1Angle=control2Angle=halfPI}else{control1Angle=atan((curX-prevX)/abs(curY-prevY));if(prevYhalfPI){alpha-=PI}control1Angle+=alpha;control2Angle+=alpha;control1X=curX-control1Length*sin(control1Angle);control1Y=curY+control1Length*cos(control1Angle);control2X=curX+control2Length*sin(control2Angle);control2Y=curY+control2Length*cos(control2Angle);if((curY>prevY&&control1YprevY)){control1X+=abs(prevY-control1Y)*(control1X-curX)/(control1Y-curY);control1Y=prevY}if((curY>nextY&&control2YnextY)){control2X-=abs(nextY-control2Y)*(control2X-curX)/(control2Y-curY);control2Y=nextY}return{x1:control1X,y1:control1Y,x2:control2X,y2:control2Y}},smooth:function(originalPath,value){var path=this.path2curve(originalPath),newp=[path[0]],x=path[0][1],y=path[0][2],j,points,i=1,ii=path.length,beg=1,mx=x,my=y,cx=0,cy=0;for(;i=bbox.x&&x<=(bbox.x+bbox.width)&&y>=bbox.y&&y<=(bbox.y+bbox.height))},parseGradient:function(gradient){var me=this,type=gradient.type||"linear",angle=gradient.angle||0,radian=me.radian,stops=gradient.stops,stopsArr=[],stop,vector,max,stopObj;if(type=="linear"){vector=[0,0,Math.cos(angle*radian),Math.sin(angle*radian)];max=1/(Math.max(Math.abs(vector[2]),Math.abs(vector[3]))||1);vector[2]*=max;vector[3]*=max;if(vector[2]<0){vector[0]=-vector[2];vector[2]=0}if(vector[3]<0){vector[1]=-vector[3];vector[3]=0}}for(stop in stops){if(stops.hasOwnProperty(stop)&&me.stopsRE.test(stop)){stopObj={offset:parseInt(stop,10),color:Ext.draw.Color.toHex(stops[stop].color)||"#ffffff",opacity:stops[stop].opacity||1};stopsArr.push(stopObj)}}Ext.Array.sort(stopsArr,me.sorter);if(type=="linear"){return{id:gradient.id,type:type,vector:vector,stops:stopsArr}}else{return{id:gradient.id,type:type,centerX:gradient.centerX,centerY:gradient.centerY,focalX:gradient.focalX,focalY:gradient.focalY,radius:gradient.radius,vector:vector,stops:stopsArr}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(from,end,damper,initial,attr){damper=(typeof damper=="number")?damper:1;var unitRE=this.unitRE,match=unitRE.exec(from),start,units;if(match){from=match[1];units=match[2];if(!this.scrollRE.test(attr)&&!units&&this.pixelDefaultsRE.test(attr)){units="px"}}from=+from||0;match=unitRE.exec(end);if(match){end=match[1];units=match[2]||units}end=+end||0;start=(initial!=null)?initial:from;return{from:from,delta:(end-start)*damper,units:units}},get:function(from,end,damper,initialFrom,attr){var ln=from.length,out=[],i,initial,res,j,len;for(i=0;i=duration){elapsedTime=duration;lastFrame=true}if(me.reverse){elapsedTime=duration-elapsedTime}for(attr in attrs){if(attrs.hasOwnProperty(attr)){values=attrs[attr];easing=lastFrame?1:easingFn(elapsedTime/duration);ret[attr]=propHandlers[attr].set(values,easing)}}return ret},lastFrame:function(){var me=this,iter=me.iterations,iterCount=me.currentIteration;iterCount++;if(iterCount=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true}}for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={};for(var i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true}}for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=iLeft;this.rightConstraint=iRight;this.minX=this.initPageX-iLeft;this.maxX=this.initPageX+iRight;if(iTickSize){this.setXTicks(this.initPageX,iTickSize)}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(iUp,iDown,iTickSize){this.topConstraint=iUp;this.bottomConstraint=iDown;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+iDown;if(iTickSize){this.setYTicks(this.initPageY,iTickSize)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy)}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(val,tickArray){if(!tickArray){return val}else{if(tickArray[0]>=val){return tickArray[0]}else{for(var i=0,len=tickArray.length;i=val){var diff1=val-tickArray[i];var diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next]}}return tickArray[tickArray.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(id,sGroup,config){if(id){this.init(id,sGroup,config)}},scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX;var y=iPageY-this.startPageY;this.setDelta(x,y)},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY)},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY),fly=el.dom?el:Ext.fly(el,"_dd"),elSize=fly.getSize(),EL=Ext.core.Element,vpSize;if(!this.deltaSetXY){vpSize=this.cachedViewportSize={width:EL.getDocumentWidth(),height:EL.getDocumentHeight()};var aCoord=[Math.max(0,Math.min(oCoord.x,vpSize.width-elSize.width)),Math.max(0,Math.min(oCoord.y,vpSize.height-elSize.height))];fly.setXY(aCoord);var newLeft=fly.getLeft(true);var newTop=fly.getTop(true);this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y]}else{vpSize=this.cachedViewportSize;fly.setLeftTop(Math.max(0,Math.min(oCoord.x+this.deltaSetXY[0],vpSize.width-elSize.width)),Math.max(0,Math.min(oCoord.y+this.deltaSetXY[1],vpSize.height-elSize.height)))}this.cachePosition(oCoord.x,oCoord.y);this.autoScroll(oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);return oCoord},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY}else{var aCoord=Ext.core.Element.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1]}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=Ext.core.Element.getViewHeight();var clientW=Ext.core.Element.getViewWidth();var st=this.DDMInstance.getScrollTop();var sl=this.DDMInstance.getScrollLeft();var bot=h+y;var right=w+x;var toBot=(clientH+st-y-this.deltaY);var toRight=(clientW+sl-x-this.deltaX);var thresh=40;var scrAmt=(document.all)?80:30;if(bot>clientH&&toBot0&&y-stclientW&&toRight0&&x-slthis.maxX){x=this.maxX}}if(this.constrainY){if(ythis.maxY){y=this.maxY}}x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(e){this.autoOffset(e.getPageX(),e.getPageY())},b4Drag:function(e){this.setDragElPos(e.getPageX(),e.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame()},50);return}var div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(iPageX,iPageY){var el=this.getEl();var dragEl=this.getDragEl();var s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2))}this.setDragElPos(iPageX,iPageY);Ext.fly(dragEl).show()},_resizeProxy:function(){if(this.resizeFrame){var el=this.getEl();Ext.fly(this.getDragEl()).setSize(el.offsetWidth,el.offsetHeight)}},b4MouseDown:function(e){var x=e.getPageX();var y=e.getPageY();this.autoOffset(x,y);this.setDragElPos(x,y)},b4StartDrag:function(x,y){this.showFrame(x,y)},b4EndDrag:function(e){Ext.fly(this.getDragEl()).hide()},endDrag:function(e){var lel=this.getEl();var del=this.getDragEl();del.style.visibility="";this.beforeMove();lel.style.visibility="hidden";Ext.dd.DDM.moveToEl(lel,del);del.style.visibility="hidden";lel.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(el,config){this.el=Ext.get(el);if(!this.dragData){this.dragData={}}Ext.apply(this,config);if(!this.proxy){this.proxy=Ext.create("Ext.dd.StatusProxy",{animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(e){return this.dragData},onDragEnter:function(e,id){var target=Ext.dd.DragDropManager.getDDById(id);this.cachedTarget=target;if(this.beforeDragEnter(target,e,id)!==false){if(target.isNotifyTarget){var status=target.notifyEnter(this,e,this.dragData);this.proxy.setStatus(status)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(target,e,id)}}},beforeDragEnter:function(target,e,id){return true},alignElWithMouse:function(){this.callParent(arguments);this.proxy.sync()},onDragOver:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragOver(target,e,id)!==false){if(target.isNotifyTarget){var status=target.notifyOver(this,e,this.dragData);this.proxy.setStatus(status)}if(this.afterDragOver){this.afterDragOver(target,e,id)}}},beforeDragOver:function(target,e,id){return true},onDragOut:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragOut(target,e,id)!==false){if(target.isNotifyTarget){target.notifyOut(this,e,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(target,e,id)}}this.cachedTarget=null},beforeDragOut:function(target,e,id){return true},onDragDrop:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragDrop(target,e,id)!==false){if(target.isNotifyTarget){if(target.notifyDrop(this,e,this.dragData)!==false){this.onValidDrop(target,e,id)}else{this.onInvalidDrop(target,e,id)}}else{this.onValidDrop(target,e,id)}if(this.afterDragDrop){this.afterDragDrop(target,e,id)}}delete this.cachedTarget},beforeDragDrop:function(target,e,id){return true},onValidDrop:function(target,e,id){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(target,e,id)}},getRepairXY:function(e,data){return this.el.getXY()},onInvalidDrop:function(target,e,id){this.beforeInvalidDrop(target,e,id);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,id)}},afterRepair:function(){var me=this;if(Ext.enableFx){me.el.highlight(me.repairHighlightColor)}me.dragging=false},beforeInvalidDrop:function(target,e,id){return true},handleMouseDown:function(e){if(this.dragging){return}var data=this.getDragData(e);if(data&&this.onBeforeDrag(data,e)!==false){this.dragData=data;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(data,e){return true},onStartDrag:Ext.emptyFn,startDrag:function(x,y){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(x,y);this.proxy.show()},onInitDrag:function(x,y){var clone=this.el.dom.cloneNode(true);clone.id=Ext.id();this.proxy.update(clone);this.onStartDrag(x,y);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(e){},endDrag:function(e){this.onEndDrag(this.dragData,e)},onEndDrag:function(data,e){},autoOffset:function(x,y){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(panel,cfg){this.panel=panel;this.dragData={panel:panel};this.proxy=Ext.create("Ext.panel.Proxy",panel,cfg);this.callParent([panel.el,cfg]);Ext.defer(function(){var header=panel.header,el=panel.body;if(header){this.setHandleElId(header.id);el=header.el}el.setStyle("cursor","move");this.scroll=false},200,this)},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(x,y){this.proxy.show()},b4MouseDown:function(e){var x=e.getPageX(),y=e.getPageY();this.autoOffset(x,y)},onInitDrag:function(x,y){this.onStartDrag(x,y);return true},createFrame:Ext.emptyFn,getDragEl:function(e){return this.proxy.ghost.el.dom},endDrag:function(e){this.proxy.hide();this.panel.saveState()},autoOffset:function(x,y){x-=this.startPageX;y-=this.startPageY;this.setDelta(x,y)}});Ext.define("Ext.layout.component.Dock",{alias:["layout.dock"],extend:"Ext.layout.component.AbstractDock"});Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:false,collapseFirst:true,hideCollapseTool:false,titleCollapse:false,floatable:true,collapsible:false,closable:false,closeAction:"destroy",preventHeader:false,headerPosition:"top",frame:false,frameHeader:true,initComponent:function(){var me=this,cls;me.addEvents("beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange");this.addStateEvents("expand","collapse");if(me.unstyled){me.setUI("plain")}if(me.frame){me.setUI(me.ui+"-framed")}me.callParent();me.collapseDirection=me.collapseDirection||me.headerPosition||Ext.Component.DIRECTION_TOP;me.bridgeToolbars()},setBorder:function(border){this.callParent(arguments)},beforeDestroy:function(){Ext.destroy(this.ghostPanel,this.dd);this.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},initHeaderAria:function(){var me=this,el=me.el,header=me.header;if(el&&header){el.dom.setAttribute("aria-labelledby",header.titleCmp.id)}},getHeader:function(){return this.header},setTitle:function(newTitle){var me=this,oldTitle=this.title;me.title=newTitle;if(me.header){me.header.setTitle(newTitle)}else{me.updateHeader()}if(me.reExpander){me.reExpander.setTitle(newTitle)}me.fireEvent("titlechange",me,newTitle,oldTitle)},setIconCls:function(newIconCls){var me=this,oldIconCls=me.iconCls;me.iconCls=newIconCls;var header=me.header;if(header){header.setIconCls(newIconCls)}me.fireEvent("iconchange",me,newIconCls,oldIconCls)},bridgeToolbars:function(){var me=this,fbar,fbarDefaults,minButtonWidth=me.minButtonWidth;function initToolbar(toolbar,pos,useButtonAlign){if(Ext.isArray(toolbar)){toolbar={xtype:"toolbar",items:toolbar}}else{if(!toolbar.xtype){toolbar.xtype="toolbar"}}toolbar.dock=pos;if(pos=="left"||pos=="right"){toolbar.vertical=true}if(useButtonAlign){toolbar.layout=Ext.applyIf(toolbar.layout||{},{pack:{left:"start",center:"center"}[me.buttonAlign]||"end"})}return toolbar}if(me.tbar){me.addDocked(initToolbar(me.tbar,"top"));me.tbar=null}if(me.bbar){me.addDocked(initToolbar(me.bbar,"bottom"));me.bbar=null}if(me.buttons){me.fbar=me.buttons;me.buttons=null}if(me.fbar){fbar=initToolbar(me.fbar,"bottom",true);fbar.ui="footer";if(minButtonWidth){fbarDefaults=fbar.defaults;fbar.defaults=function(config){var defaults=fbarDefaults||{};if((!config.xtype||config.xtype==="button"||(config.isComponent&&config.isXType("button")))&&!("minWidth" in defaults)){defaults=Ext.apply({minWidth:minButtonWidth},defaults)}return defaults}}me.addDocked(fbar);me.fbar=null}if(me.lbar){me.addDocked(initToolbar(me.lbar,"left"));me.lbar=null}if(me.rbar){me.addDocked(initToolbar(me.rbar,"right"));me.rbar=null}},initTools:function(){var me=this;me.tools=me.tools||[];if(me.collapsible&&!(me.hideCollapseTool||me.header===false)){me.collapseDirection=me.collapseDirection||me.headerPosition||"top";me.collapseTool=me.expandTool=me.createComponent({xtype:"tool",type:"collapse-"+me.collapseDirection,expandType:me.getOppositeDirection(me.collapseDirection),handler:me.toggleCollapse,scope:me});if(me.collapseFirst){me.tools.unshift(me.collapseTool)}}me.addTools();if(me.closable){me.addClsWithUI("closable");me.addTool({type:"close",handler:Ext.Function.bind(me.close,this,[])})}if(me.collapseTool&&!me.collapseFirst){me.tools.push(me.collapseTool)}},addTools:Ext.emptyFn,close:function(){if(this.fireEvent("beforeclose",this)!==false){this.doClose()}},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},onRender:function(ct,position){var me=this,topContainer;me.initTools();me.updateHeader();me.callParent(arguments)},afterRender:function(){var me=this;me.callParent(arguments);if(me.collapsed){me.collapsed=false;me.collapse(null,false,true)}},updateHeader:function(force){var me=this,header=me.header,title=me.title,tools=me.tools;if(!me.preventHeader&&(force||title||(tools&&tools.length))){if(!header){header=me.header=Ext.create("Ext.panel.Header",{title:title,orientation:(me.headerPosition=="left"||me.headerPosition=="right")?"vertical":"horizontal",dock:me.headerPosition||"top",textCls:me.headerTextCls,iconCls:me.iconCls,baseCls:me.baseCls+"-header",tools:tools,ui:me.ui,indicateDrag:me.draggable,border:me.border,frame:me.frame&&me.frameHeader,ignoreParentFrame:me.frame||me.overlapHeader,ignoreBorderManagement:me.frame||me.ignoreHeaderBorderManagement,listeners:me.collapsible&&me.titleCollapse?{click:me.toggleCollapse,scope:me}:null});me.addDocked(header,0);me.tools=header.tools}header.show();me.initHeaderAria()}else{if(header){header.hide()}}},setUI:function(ui){var me=this;me.callParent(arguments);if(me.header){me.header.setUI(ui)}},getContentTarget:function(){return this.body},getTargetEl:function(){return this.body||this.frameBody||this.el},addTool:function(tool){this.tools.push(tool);var header=this.header;if(header){header.addTool(tool)}this.updateHeader()},getOppositeDirection:function(d){var c=Ext.Component;switch(d){case c.DIRECTION_TOP:return c.DIRECTION_BOTTOM;case c.DIRECTION_RIGHT:return c.DIRECTION_LEFT;case c.DIRECTION_BOTTOM:return c.DIRECTION_TOP;case c.DIRECTION_LEFT:return c.DIRECTION_RIGHT}},collapse:function(direction,animate,internal){var me=this,c=Ext.Component,height=me.getHeight(),width=me.getWidth(),frameInfo,newSize=0,dockedItems=me.dockedItems.items,dockedItemCount=dockedItems.length,i=0,comp,pos,anim={from:{height:height,width:width},to:{height:height,width:width},listeners:{afteranimate:me.afterCollapse,scope:me},duration:Ext.Number.from(animate,Ext.fx.Anim.prototype.duration)},reExpander,reExpanderOrientation,reExpanderDock,getDimension,setDimension,collapseDimension;if(!direction){direction=me.collapseDirection}if(internal){animate=false}else{if(me.collapsed||me.fireEvent("beforecollapse",me,direction,animate)===false){return false}}reExpanderDock=direction;me.expandDirection=me.getOppositeDirection(direction);me.hiddenDocked=[];switch(direction){case c.DIRECTION_TOP:case c.DIRECTION_BOTTOM:me.expandedSize=me.getHeight();reExpanderOrientation="horizontal";collapseDimension="height";getDimension="getHeight";setDimension="setHeight";for(;imaxWidth){constrainedWidth=maxWidth}}if(constrainedWidth){this.callParent([constrainedWidth,height])}}el.setXY(xy)},doAutoWidth:function(){var me=this,owner=me.owner,body=owner.body,width=body.getTextWidth();if(owner.header){width=Math.max(width,owner.header.getWidth())}if(!Ext.isDefined(me.frameWidth)){me.frameWidth=owner.el.getWidth()-body.getWidth()}width+=me.frameWidth+body.getPadding("lr");return width}});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",requires:["Ext.layout.component.Tip"],alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:true,frame:false,autoRender:true,hidden:true,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:true,shim:true,constrain:true},focusOnToFront:false,componentLayout:"tip",closeAction:"hide",ariaRole:"tooltip",initComponent:function(){this.callParent(arguments);this.constrain=this.constrain||this.constrainPosition},showAt:function(xy){var me=this;this.callParent();if(me.isVisible()){me.setPagePosition(xy[0],xy[1]);if(me.constrainPosition||me.constrain){me.doConstrain()}me.toFront(true)}},showBy:function(el,pos){this.showAt(this.el.getAlignToXY(el,pos||this.defaultAlign))},initDraggable:function(){var me=this;me.draggable={el:me.getDragEl(),delegate:me.header.el,constrain:me,constrainTo:me.el.dom.parentNode};Ext.Component.prototype.initDraggable.call(me)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var me=this;me.callParent(arguments);me.lastActive=new Date();me.setTarget(me.target);me.origAnchor=me.anchor},onRender:function(ct,position){var me=this;me.callParent(arguments);me.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+me.getAnchorPosition();me.anchorEl=me.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+me.anchorCls})},afterRender:function(){var me=this,zIndex;me.callParent(arguments);zIndex=parseInt(me.el.getZIndex(),10)||0;me.anchorEl.setStyle("z-index",zIndex+1).setVisibilityMode(Ext.core.Element.DISPLAY)},setTarget:function(target){var me=this,t=Ext.get(target),tg;if(me.target){tg=Ext.get(me.target);me.mun(tg,"mouseover",me.onTargetOver,me);me.mun(tg,"mouseout",me.onTargetOut,me);me.mun(tg,"mousemove",me.onMouseMove,me)}me.target=t;if(t){me.mon(t,{freezeEvent:true,mouseover:me.onTargetOver,mouseout:me.onTargetOut,mousemove:me.onMouseMove,scope:me})}if(me.anchor){me.anchorTarget=me.target}},onMouseMove:function(e){var me=this,t=me.delegate?e.getTarget(me.delegate):me.triggerElement=true,xy;if(t){me.targetXY=e.getXY();if(t===me.triggerElement){if(!me.hidden&&me.trackMouse){xy=me.getTargetXY();if(me.constrainPosition){xy=me.el.adjustForConstraints(xy,me.el.dom.parentNode)}me.setPagePosition(xy)}}else{me.hide();me.lastActive=new Date(0);me.onTargetOver(e)}}else{if((!me.closable&&me.isVisible())&&me.autoHide!==false){me.hide()}}},getTargetXY:function(){var me=this,mouseOffset;if(me.delegate){me.anchorTarget=me.triggerElement}if(me.anchor){me.targetCounter++;var offsets=me.getOffsets(),xy=(me.anchorToTarget&&!me.trackMouse)?me.el.getAlignToXY(me.anchorTarget,me.getAnchorAlign()):me.targetXY,dw=Ext.core.Element.getViewWidth()-5,dh=Ext.core.Element.getViewHeight()-5,de=document.documentElement,bd=document.body,scrollX=(de.scrollLeft||bd.scrollLeft||0)+5,scrollY=(de.scrollTop||bd.scrollTop||0)+5,axy=[xy[0]+offsets[0],xy[1]+offsets[1]],sz=me.getSize(),constrainPosition=me.constrainPosition;me.anchorEl.removeCls(me.anchorCls);if(me.targetCounter<2&&constrainPosition){if(axy[0]dw){if(me.anchorToTarget){me.defaultAlign="r-l";if(me.mouseOffset){me.mouseOffset[0]*=-1}}me.anchor="right";return me.getTargetXY()}if(axy[1]dh){if(me.anchorToTarget){me.defaultAlign="b-t";if(me.mouseOffset){me.mouseOffset[1]*=-1}}me.anchor="bottom";return me.getTargetXY()}}me.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+me.getAnchorPosition();me.anchorEl.addCls(me.anchorCls);me.targetCounter=0;return axy}else{mouseOffset=me.getMouseOffset();return(me.targetXY)?[me.targetXY[0]+mouseOffset[0],me.targetXY[1]+mouseOffset[1]]:mouseOffset}},getMouseOffset:function(){var me=this,offset=me.anchor?[0,0]:[15,18];if(me.mouseOffset){offset[0]+=me.mouseOffset[0];offset[1]+=me.mouseOffset[1]}return offset},getAnchorPosition:function(){var me=this,m;if(me.anchor){me.tipAnchor=me.anchor.charAt(0)}else{m=me.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);me.tipAnchor=m[1].charAt(0)}switch(me.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var me=this,mouseOffset,offsets,ap=me.getAnchorPosition().charAt(0);if(me.anchorToTarget&&!me.trackMouse){switch(ap){case"t":offsets=[0,9];break;case"b":offsets=[0,-13];break;case"r":offsets=[-13,0];break;default:offsets=[9,0];break}}else{switch(ap){case"t":offsets=[-15-me.anchorOffset,30];break;case"b":offsets=[-19-me.anchorOffset,-13-me.el.dom.offsetHeight];break;case"r":offsets=[-15-me.el.dom.offsetWidth,-13-me.anchorOffset];break;default:offsets=[25,-13-me.anchorOffset];break}}mouseOffset=me.getMouseOffset();offsets[0]+=mouseOffset[0];offsets[1]+=mouseOffset[1];return offsets},onTargetOver:function(e){var me=this,t;if(me.disabled||e.within(me.target.dom,true)){return}t=e.getTarget(me.delegate);if(t){me.triggerElement=t;me.clearTimer("hide");me.targetXY=e.getXY();me.delayShow()}},delayShow:function(){var me=this;if(me.hidden&&!me.showTimer){if(Ext.Date.getElapsed(me.lastActive)0&&namespace!==name){return name}return this.name+"."+type+"."+name},getController:function(name){var controller=this.controllers.get(name);if(!controller){controller=Ext.create(this.getModuleClassName(name,"controller"),{application:this,id:name});this.controllers.add(controller)}return controller},getStore:function(name){var store=Ext.StoreManager.get(name);if(!store){store=Ext.create(this.getModuleClassName(name,"store"),{storeId:name})}return store},getModel:function(model){model=this.getModuleClassName(model,"model");return Ext.ModelManager.getModel(model)},getView:function(view){view=this.getModuleClassName(view,"view");return Ext.ClassManager.get(view)}});Ext.define("Ext.chart.Callout",{constructor:function(config){if(config.callouts){config.callouts.styles=Ext.applyIf(config.callouts.styles||{},{color:"#000",font:"11px Helvetica, sans-serif"});this.callouts=Ext.apply(this.callouts||{},config.callouts);this.calloutsArray=[]}},renderCallouts:function(){if(!this.callouts){return}var me=this,items=me.items,animate=me.chart.animate,config=me.callouts,styles=config.styles,group=me.calloutsArray,store=me.chart.store,len=store.getCount(),ratio=items.length/len,previouslyPlacedCallouts=[],i,count,j,p;for(i=0,count=0;iindex){co=calloutsArray[len];for(p in co){if(co[p]){co[p].hide(true)}}}}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},isCompositeSprite:true,constructor:function(config){var me=this;config=config||{};Ext.apply(me,config);me.addEvents("mousedown","mouseup","mouseover","mouseout","click");me.id=Ext.id(null,"ext-sprite-group-");me.callParent()},onClick:function(e){this.fireEvent("click",e)},onMouseUp:function(e){this.fireEvent("mouseup",e)},onMouseDown:function(e){this.fireEvent("mousedown",e)},onMouseOver:function(e){this.fireEvent("mouseover",e)},onMouseOut:function(e){this.fireEvent("mouseout",e)},attachEvents:function(o){var me=this;o.on({scope:me,mousedown:me.onMouseDown,mouseup:me.onMouseUp,mouseover:me.onMouseOver,mouseout:me.onMouseOut,click:me.onClick})},add:function(key,o){var result=this.callParent(arguments);this.attachEvents(result);return result},insert:function(index,key,o){return this.callParent(arguments)},remove:function(o){var me=this;o.un({scope:me,mousedown:me.onMouseDown,mouseup:me.onMouseUp,mouseover:me.onMouseOver,mouseout:me.onMouseOut,click:me.onClick});me.callParent(arguments)},getBBox:function(){var i=0,sprite,bb,items=this.items,len=this.length,infinity=Infinity,minX=infinity,maxHeight=-infinity,minY=infinity,maxWidth=-infinity,maxWidthBBox,maxHeightBBox;for(;i0){item=me.first();me.remove(item);surface.remove(item)}}me.clearListeners()}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",onLayout:function(width,height){this.owner.surface.setSize(width,height);this.callParent(arguments)}});Ext.define("Ext.chart.theme.Theme",{requires:["Ext.draw.Color"],theme:"Base",themeAttrs:false,initTheme:function(theme){var me=this,themes=Ext.chart.theme,key,gradients;if(theme){theme=theme.split(":");for(key in themes){if(key==theme[0]){gradients=theme[1]=="gradients";me.themeAttrs=new themes[key]({useGradients:gradients});if(gradients){me.gradients=me.themeAttrs.gradients}if(me.themeAttrs.background){me.background=me.themeAttrs.background}return}}}}},function(){(function(){Ext.chart.theme=function(config,base){config=config||{};var i=0,l,colors,color,seriesThemes,markerThemes,seriesTheme,markerTheme,key,gradients=[],midColor,midL;if(config.baseColor){midColor=Ext.draw.Color.fromString(config.baseColor);midL=midColor.getHSL()[2];if(midL<0.15){midColor=midColor.getLighter(0.3)}else{if(midL<0.3){midColor=midColor.getLighter(0.15)}else{if(midL>0.85){midColor=midColor.getDarker(0.3)}else{if(midL>0.7){midColor=midColor.getDarker(0.15)}}}}config.colors=[midColor.getDarker(0.3).toString(),midColor.getDarker(0.15).toString(),midColor.toString(),midColor.getLighter(0.15).toString(),midColor.getLighter(0.3).toString()];delete config.baseColor}if(config.colors){colors=config.colors.slice();markerThemes=base.markerThemes;seriesThemes=base.seriesThemes;l=colors.length;base.colors=colors;for(;i0?staticX:staticX+width,y:height>0?staticY:staticY+height,width:abs(width),height:abs(height)};me.mask.updateBox({x:posX-abs(width),y:posY-abs(height),width:abs(width),height:abs(height)});me.mask.show();me.maskSprite.setAttributes({hidden:true},true)}else{if(mask=="horizontal"){path=["M",staticX,y,"L",staticX,height]}else{if(mask=="vertical"){path=["M",x,staticY,"L",width,staticY]}else{path=["M",staticX,y,"L",staticX,height,"M",x,staticY,"L",width,staticY]}}me.maskSprite.setAttributes({path:path,fill:me.maskMouseDown?me.maskSprite.stroke:false,"stroke-width":mask===true?1:3,hidden:false},true)}},onMouseLeave:function(e){var me=this;me.mouseMoved=false;me.mouseDown=false;me.maskMouseDown=false;me.mask.hide();me.maskSprite.hide(true)}});Ext.define("Ext.chart.Navigation",{constructor:function(){this.originalStore=this.store},setZoom:function(zoomConfig){var me=this,store=me.substore||me.store,bbox=me.chartBBox,len=store.getCount(),from=(zoomConfig.x/bbox.width*len)>>0,to=Math.ceil(((zoomConfig.x+zoomConfig.width)/bbox.width*len)),recFieldsLen,recFields=[],curField,json=[],obj;store.each(function(rec,i){if(ito){return}obj={};if(!recFields.length){rec.fields.each(function(f){recFields.push(f.name)});recFieldsLen=recFields.length}for(i=0;i1;if(hasMultipleArgs||Ext.isArray(args[0])){var items=hasMultipleArgs?args:args[0],results=[],i,ln,item;for(i=0,ln=items.length;i0&&items.getAt(idx-1).attr.zIndex>zIndex)||(idxzIndex});if(idx<0){idx=items.length}items.insert(idx,sprite)}return idx},onAdd:function(sprite){var group=sprite.group,draggable=sprite.draggable,groups,ln,i;if(group){groups=[].concat(group);ln=groups.length;for(i=0;i-1;i--){this.remove(items[i],destroySprites)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyTransformations:function(sprite){sprite.bbox.transform=0;this.transform(sprite);var me=this,dirty=false,attr=sprite.attr;if(attr.translation.x!=null||attr.translation.y!=null){me.translate(sprite);dirty=true}if(attr.scaling.x!=null||attr.scaling.y!=null){me.scale(sprite);dirty=true}if(attr.rotation.degrees!=null){me.rotate(sprite);dirty=true}if(dirty){sprite.bbox.transform=0;this.transform(sprite);sprite.transformations=[]}},rotate:function(sprite){var bbox,deg=sprite.attr.rotation.degrees,centerX=sprite.attr.rotation.x,centerY=sprite.attr.rotation.y;if(!Ext.isNumber(centerX)||!Ext.isNumber(centerY)){bbox=this.getBBox(sprite);centerX=!Ext.isNumber(centerX)?bbox.x+bbox.width/2:centerX;centerY=!Ext.isNumber(centerY)?bbox.y+bbox.height/2:centerY}sprite.transformations.push({type:"rotate",degrees:deg,x:centerX,y:centerY})},translate:function(sprite){var x=sprite.attr.translation.x||0,y=sprite.attr.translation.y||0;sprite.transformations.push({type:"translate",x:x,y:y})},scale:function(sprite){var bbox,x=sprite.attr.scaling.x||1,y=sprite.attr.scaling.y||1,centerX=sprite.attr.scaling.centerX,centerY=sprite.attr.scaling.centerY;if(!Ext.isNumber(centerX)||!Ext.isNumber(centerY)){bbox=this.getBBox(sprite);centerX=!Ext.isNumber(centerX)?bbox.x+bbox.width/2:centerX;centerY=!Ext.isNumber(centerY)?bbox.y+bbox.height/2:centerY}sprite.transformations.push({type:"scale",x:x,y:y,centerX:centerX,centerY:centerY})},rectPath:function(x,y,w,h,r){if(r){return[["M",x+r,y],["l",w-r*2,0],["a",r,r,0,0,1,r,r],["l",0,h-r*2],["a",r,r,0,0,1,-r,r],["l",r*2-w,0],["a",r,r,0,0,1,-r,-r],["l",0,r*2-h],["a",r,r,0,0,1,r,-r],["z"]]}return[["M",x,y],["l",w,0],["l",0,h],["l",-w,0],["z"]]},ellipsePath:function(x,y,rx,ry){if(ry==null){ry=rx}return[["M",x,y],["m",0,-ry],["a",rx,ry,0,1,1,0,2*ry],["a",rx,ry,0,1,1,0,-2*ry],["z"]]},getPathpath:function(el){return el.attr.path},getPathcircle:function(el){var a=el.attr;return this.ellipsePath(a.x,a.y,a.radius,a.radius)},getPathellipse:function(el){var a=el.attr;return this.ellipsePath(a.x,a.y,a.radiusX||(a.width/2)||0,a.radiusY||(a.height/2)||0)},getPathrect:function(el){var a=el.attr;return this.rectPath(a.x,a.y,a.width,a.height,a.r)},getPathimage:function(el){var a=el.attr;return this.rectPath(a.x||0,a.y||0,a.width,a.height)},getPathtext:function(el){var bbox=this.getBBoxText(el);return this.rectPath(bbox.x,bbox.y,bbox.width,bbox.height)},createGroup:function(id){var group=this.groups.get(id);if(!group){group=Ext.create("Ext.draw.CompositeSprite",{surface:this});group.id=id||Ext.id(null,"ext-surface-group-");this.groups.add(group)}return group},getGroup:function(id){if(typeof id=="string"){var group=this.groups.get(id);if(!group){group=this.createGroup(id)}}else{group=id}return group},prepareItems:function(items,applyDefaults){items=[].concat(items);var item,i,ln;for(i=0,ln=items.length;i0.5?0.2:0.8;label.setAttributes({fill:String(Color.fromHSL.apply({},labelColor))},true)}}count++;index++}}me.hideLabels(count)},hideLabels:function(index){var labelsGroup=this.labelsGroup,len;if(labelsGroup){len=labelsGroup.getCount();while(len-->index){labelsGroup.getAt(len).hide(true)}}}});Ext.define("Ext.chart.MaskLayer",{extend:"Ext.Component",constructor:function(config){config=Ext.apply(config||{},{style:"position:absolute;background-color:#888;cursor:move;opacity:0.6;border:1px solid #222;"});this.callParent([config])},initComponent:function(){var me=this;me.callParent(arguments);me.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave")},initDraggable:function(){this.callParent(arguments);this.dd.onStart=function(e){var me=this,comp=me.comp;this.startPosition=comp.getPosition(true);if(comp.ghost&&!comp.liveDrag){me.proxy=comp.ghost();me.dragTarget=me.proxy.header.el}if(me.constrain||me.constrainDelegate){me.constrainTo=me.calculateConstrainRegion()}}}});Ext.define("Ext.chart.TipSurface",{extend:"Ext.draw.Component",spriteArray:false,renderFirst:true,constructor:function(config){this.callParent([config]);if(config.sprites){this.spriteArray=[].concat(config.sprites);delete config.sprites}},onRender:function(){var me=this,i=0,l=0,sp,sprites;this.callParent(arguments);sprites=me.spriteArray;if(me.renderFirst&&sprites){me.renderFirst=false;for(l=sprites.length;i0)]+=math.abs(rec)}max=mmax(max,-values[0],values[1]);min=mmin(min,-values[0],values[1])}else{for(i=0;i>0))){max=(max>>0)+1}out=Ext.draw.Draw.snapEnds(min,max,me.majorTickSteps!==false?(me.majorTickSteps+1):me.steps);outfrom=out.from;outto=out.to;if(me.forceMinMax){if(!isNaN(max)){out.to=max}if(!isNaN(min)){out.from=min}}if(!isNaN(me.maximum)){out.to=me.maximum}if(!isNaN(me.minimum)){out.from=me.minimum}out.step=(out.to-out.from)/(outto-outfrom)*out.step;if(me.adjustMaximumByMajorUnit){out.to+=out.step}if(me.adjustMinimumByMajorUnit){out.from-=out.step}me.prevMin=min==max?0:min;me.prevMax=max;return out},drawAxis:function(init){var me=this,i,j,x=me.x,y=me.y,gutterX=me.chart.maxGutter[0],gutterY=me.chart.maxGutter[1],dashSize=me.dashSize,subDashesX=me.minorTickSteps||0,subDashesY=me.minorTickSteps||0,length=me.length,position=me.position,inflections=[],calcLabels=false,stepCalcs=me.applyData(),step=stepCalcs.step,steps=stepCalcs.steps,from=stepCalcs.from,to=stepCalcs.to,trueLength,currentX,currentY,path,prev,dashesX,dashesY,delta;if(me.hidden||isNaN(step)||(from==to)){return}me.from=stepCalcs.from;me.to=stepCalcs.to;if(position=="left"||position=="right"){currentX=Math.floor(x)+0.5;path=["M",currentX,y,"l",0,-length];trueLength=length-(gutterY*2)}else{currentY=Math.floor(y)+0.5;path=["M",x,currentY,"l",length,0];trueLength=length-(gutterX*2)}delta=trueLength/(steps||1);dashesX=Math.max(subDashesX+1,0);dashesY=Math.max(subDashesY+1,0);if(me.type=="Numeric"){calcLabels=true;me.labels=[stepCalcs.from]}if(position=="right"||position=="left"){currentY=y-gutterY;currentX=x-((position=="left")*dashSize*2);while(currentY>=y-gutterY-trueLength){path.push("M",currentX,Math.floor(currentY)+0.5,"l",dashSize*2+1,0);if(currentY!=y-gutterY){for(i=1;i>0;for(i=0;i4){text=text.substr(0,text.length-4)+"...";sprite.setAttributes({text:text},true);bbox=sprite.getBBox();if(bbox.width=0){if(!this.sprites){for(i=0;i<=steps;i++){sprite=surface.add({type:"path",path:["M",centerX+(rho-margin)*cos(i/steps*pi-pi),centerY+(rho-margin)*sin(i/steps*pi-pi),"L",centerX+rho*cos(i/steps*pi-pi),centerY+rho*sin(i/steps*pi-pi),"Z"],stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)}}else{sprites=this.sprites;for(i=0;i<=steps;i++){sprites[i].setAttributes({path:["M",centerX+(rho-margin)*cos(i/steps*pi-pi),centerY+(rho-margin)*sin(i/steps*pi-pi),"L",centerX+rho*cos(i/steps*pi-pi),centerY+rho*sin(i/steps*pi-pi),"Z"],stroke:"#ccc"},true)}}}this.sprites=sprites;this.drawLabel();if(this.title){this.drawTitle()}},drawTitle:function(){var me=this,chart=me.chart,surface=chart.surface,bbox=chart.chartBBox,labelSprite=me.titleSprite,labelBBox;if(!labelSprite){me.titleSprite=labelSprite=surface.add({type:"text",zIndex:2})}labelSprite.setAttributes(Ext.apply({text:me.title},me.label||{}),true);labelBBox=labelSprite.getBBox();labelSprite.setAttributes({x:bbox.x+(bbox.width/2)-(labelBBox.width/2),y:bbox.y+bbox.height-(labelBBox.height/2)-4},true)},setTitle:function(title){this.title=title;this.drawTitle()},drawLabel:function(){var chart=this.chart,surface=chart.surface,bbox=chart.chartBBox,centerX=bbox.x+(bbox.width/2),centerY=bbox.y+bbox.height,margin=this.margin||10,rho=Math.min(bbox.width,2*bbox.height)/2+2*margin,round=Math.round,labelArray=[],label,maxValue=this.maximum||0,steps=this.steps,i=0,adjY,pi=Math.PI,cos=Math.cos,sin=Math.sin,labelConf=this.label,renderer=labelConf.renderer||function(v){return v};if(!this.labelArray){for(i=0;i<=steps;i++){adjY=(i===0||i===steps)?7:0;label=surface.add({type:"text",text:renderer(round(i/steps*maxValue)),x:centerX+rho*cos(i/steps*pi-pi),y:centerY+rho*sin(i/steps*pi-pi)-adjY,"text-anchor":"middle","stroke-width":0.2,zIndex:10,stroke:"#333"});label.setAttributes({hidden:false},true);labelArray.push(label)}}else{labelArray=this.labelArray;for(i=0;i<=steps;i++){adjY=(i===0||i===steps)?7:0;labelArray[i].setAttributes({text:renderer(round(i/steps*maxValue)),x:centerX+rho*cos(i/steps*pi-pi),y:centerY+rho*sin(i/steps*pi-pi)-adjY},true)}}this.labelArray=labelArray}});Ext.define("Ext.chart.axis.Numeric",{extend:"Ext.chart.axis.Axis",alternateClassName:"Ext.chart.NumericAxis",type:"numeric",alias:"axis.numeric",constructor:function(config){var me=this,hasLabel=!!(config.label&&config.label.renderer),label;me.callParent([config]);label=me.label;if(me.roundToDecimal===false){return}if(!hasLabel){label.renderer=function(v){return me.roundToDecimal(v,me.decimals)}}},roundToDecimal:function(v,dec){var val=Math.pow(10,dec||0);return((v*val)>>0)/val},minimum:NaN,maximum:NaN,decimals:2,scale:"linear",position:"left",adjustMaximumByMajorUnit:false,adjustMinimumByMajorUnit:false,applyData:function(){this.callParent();return this.calcEnds()}});Ext.define("Ext.chart.axis.Radial",{extend:"Ext.chart.axis.Abstract",position:"radial",alias:"axis.radial",drawAxis:function(init){var chart=this.chart,surface=chart.surface,bbox=chart.chartBBox,store=chart.store,l=store.getCount(),centerX=bbox.x+(bbox.width/2),centerY=bbox.y+(bbox.height/2),rho=Math.min(bbox.width,bbox.height)/2,sprites=[],sprite,steps=this.steps,i,j,pi2=Math.PI*2,cos=Math.cos,sin=Math.sin;if(this.sprites&&!chart.resizing){this.drawLabel();return}if(!this.sprites){for(i=1;i<=steps;i++){sprite=surface.add({type:"circle",x:centerX,y:centerY,radius:Math.max(rho*i/steps,0),stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)}store.each(function(rec,i){sprite=surface.add({type:"path",path:["M",centerX,centerY,"L",centerX+rho*cos(i/l*pi2),centerY+rho*sin(i/l*pi2),"Z"],stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)})}else{sprites=this.sprites;for(i=0;i0){options.create=toCreate;needsSync=true}if(toUpdate.length>0){options.update=toUpdate;needsSync=true}if(toDestroy.length>0){options.destroy=toDestroy;needsSync=true}if(needsSync&&me.fireEvent("beforesync",options)!==false){me.proxy.batch(options,me.getBatchListeners())}},getBatchListeners:function(){var me=this,listeners={scope:me,exception:me.onBatchException};if(me.batchUpdateMode=="operation"){listeners.operationcomplete=me.onBatchOperationComplete}else{listeners.complete=me.onBatchComplete}return listeners},save:function(){return this.sync.apply(this,arguments)},load:function(options){var me=this,operation;options=options||{};Ext.applyIf(options,{action:"read",filters:me.filters.items,sorters:me.getSorters()});operation=Ext.create("Ext.data.Operation",options);if(me.fireEvent("beforeload",me,operation)!==false){me.loading=true;me.proxy.read(operation,me.onProxyLoad,me)}return me},afterEdit:function(record){var me=this;if(me.autoSync){me.sync()}me.fireEvent("update",me,record,Ext.data.Model.EDIT)},afterReject:function(record){this.fireEvent("update",this,record,Ext.data.Model.REJECT)},afterCommit:function(record){this.fireEvent("update",this,record,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){var me=this;if(!me.isDestroyed){if(me.storeId){Ext.data.StoreManager.unregister(me)}me.clearData();me.data=null;me.tree=null;me.reader=me.writer=null;me.clearListeners();me.isDestroyed=true;if(me.implicitModel){Ext.destroy(me.model)}}},doSort:function(sorterFn){var me=this;if(me.remoteSort){me.load()}else{me.data.sortBy(sorterFn);me.fireEvent("datachanged",me)}},getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return this.loading}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",getGroupString:function(instance){return instance.get(this.property)}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.ModelManager","Ext.data.Model","Ext.util.Grouper"],uses:["Ext.data.proxy.Memory"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,isStore:true,constructor:function(config){config=config||{};var me=this,groupers=config.groupers||me.groupers,groupField=config.groupField||me.groupField,proxy,data;if(config.buffered||me.buffered){me.prefetchData=Ext.create("Ext.util.MixedCollection",false,function(record){return record.index});me.pendingRequests=[];me.pagesRequested=[];me.sortOnLoad=false;me.filterOnLoad=false}me.addEvents("beforeprefetch","groupchange","prefetch");data=config.data||me.data;me.data=Ext.create("Ext.util.MixedCollection",false,function(record){return record.internalId});if(data){me.inlineData=data;delete config.data}if(!groupers&&groupField){groupers=[{property:groupField,direction:config.groupDir||me.groupDir}]}delete config.groupers;me.groupers=Ext.create("Ext.util.MixedCollection");me.groupers.addAll(me.decodeGroupers(groupers));this.callParent([config]);if(me.groupers.items.length){me.sort(me.groupers.items,"prepend",false)}proxy=me.proxy;data=me.inlineData;if(data){if(proxy instanceof Ext.data.proxy.Memory){proxy.data=data;me.read()}else{me.add.apply(me,data)}me.sort();delete me.inlineData}else{if(me.autoLoad){Ext.defer(me.load,10,me,[typeof me.autoLoad==="object"?me.autoLoad:undefined])}}},onBeforeSort:function(){this.sort(this.groupers.items,"prepend",false)},decodeGroupers:function(groupers){if(!Ext.isArray(groupers)){if(groupers===undefined){groupers=[]}else{groupers=[groupers]}}var length=groupers.length,Grouper=Ext.util.Grouper,config,i;for(i=0;i0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(requestGroupString){var records=this.data.items,length=records.length,groups=[],pointers={},record,groupStr,group,i;for(i=0;i-1){isPhantom=record.phantom===true;if(!isMove&&!isPhantom){me.removed.push(record)}record.unjoin(me);me.data.remove(record);sync=sync||!isPhantom;me.fireEvent("remove",me,record,index)}}me.fireEvent("datachanged",me);if(!isMove&&me.autoSync&&sync){me.sync()}},removeAt:function(index){var record=this.getAt(index);if(record){this.remove(record)}},load:function(options){var me=this;options=options||{};if(Ext.isFunction(options)){options={callback:options}}Ext.applyIf(options,{groupers:me.groupers.items,page:me.currentPage,start:(me.currentPage-1)*me.pageSize,limit:me.pageSize,addRecords:false});return me.callParent([options])},onProxyLoad:function(operation){var me=this,resultSet=operation.getResultSet(),records=operation.getRecords(),successful=operation.wasSuccessful();if(resultSet){me.totalCount=resultSet.total}if(successful){me.loadRecords(records,operation)}me.loading=false;me.fireEvent("load",me,records,successful);me.fireEvent("read",me,records,operation.wasSuccessful());Ext.callback(operation.callback,operation.scope||me,[records,operation,successful])},onCreateRecords:function(records,operation,success){if(success){var i=0,data=this.data,snapshot=this.snapshot,length=records.length,originalRecords=operation.records,record,original,index;for(;i-1){data.removeAt(index);data.insert(index,record)}if(snapshot){index=snapshot.indexOf(original);if(index>-1){snapshot.removeAt(index);snapshot.insert(index,record)}}record.phantom=false;record.join(this)}}}},onUpdateRecords:function(records,operation,success){if(success){var i=0,length=records.length,data=this.data,snapshot=this.snapshot,record;for(;ithis.totalCount)?this.totalCount-1:end;var me=this,i=start,prefetchData=me.prefetchData,range=[],startLoaded=!!prefetchData.getByKey(start),endLoaded=!!prefetchData.getByKey(end),startPage=me.getPageFromRecordIndex(start),endPage=me.getPageFromRecordIndex(end);me.cb=cb;me.scope=scope;me.requestStart=start;me.requestEnd=end;if(!startLoaded||!endLoaded){if(startPage===endPage){me.mask();me.prefetchPage(startPage,{callback:me.onWaitForGuarantee,scope:me})}else{me.mask();me.prefetchPage(startPage,{callback:me.onWaitForGuarantee,scope:me});me.prefetchPage(endPage,{callback:me.onWaitForGuarantee,scope:me})}}else{me.onGuaranteedRange()}},sort:function(){var me=this,prefetchData=me.prefetchData,sorters,start,end,range;if(me.buffered){if(me.remoteSort){prefetchData.clear();me.callParent(arguments)}else{sorters=me.getSorters();start=me.guaranteedStart;end=me.guaranteedEnd;if(sorters.length){prefetchData.sort(sorters);range=prefetchData.getRange();prefetchData.clear();me.cacheRecords(range);delete me.guaranteedStart;delete me.guaranteedEnd;me.guaranteeRange(start,end)}me.callParent(arguments)}}else{me.callParent(arguments)}},doSort:function(sorterFn){var me=this;if(me.remoteSort){me.load()}else{me.data.sortBy(sorterFn);if(!me.buffered){var range=me.getRange(),ln=range.length,i=0;for(;i0){min=records[0].get(field)}for(;i0){max=records[0].get(field)}for(;imax){max=value}}return max},average:function(field,grouped){var me=this;if(grouped&&me.isGrouped()){return me.aggregate(me.getAverage,me,true,[field])}else{return me.getAverage(me.data.items,field)}},getAverage:function(records,field){var i=0,len=records.length,sum=0;if(records.length>0){for(;i+date){return false}else{if(+recDate==+date){return rec}}}return false}})();if(!this.constrain){this.chart.filteredStore=this.chart.store;return}while(+fromDate<=+toDate){record=getRecordByDate(fromDate);recObj={};if(record){newStore.add(record.data)}else{newStore.model.prototype.fields.each(function(f){recObj[f.name]=false});recObj.date=fromDate;newStore.add(recObj)}fromDate=Ext.Date.add(fromDate,step[0],step[1])}this.chart.filteredStore=newStore},aggregate:function(){var aggStore={},aggKeys=[],key,value,op=this.aggregateOp,field=this.fields,i,fields=this.groupBy.split(","),curField,recFields=[],recFieldsLen=0,obj,dates=[],json=[],l=fields.length,dateMethods=this.dateMethods,aggregateFn=this.aggregateFn,store=this.chart.filteredStore||this.chart.store;store.each(function(rec){if(!recFields.length){rec.fields.each(function(f){recFields.push(f.name)});recFieldsLen=recFields.length}value=rec.get(field);for(i=0;ibbox.width)&&me.areas){sumValues=me.shrink(xValues,yValues,bbox.width);xValues=sumValues.x;yValues=sumValues.y}return{bbox:bbox,minX:minX,minY:minY,xValues:xValues,yValues:yValues,xScale:xScale,yScale:yScale,areasLen:areasLen}},getPaths:function(){var me=this,chart=me.chart,store=chart.substore||chart.store,first=true,bounds=me.getBounds(),bbox=bounds.bbox,items=me.items=[],componentPaths=[],componentPath,paths=[],i,ln,x,y,xValue,yValue,acumY,areaIndex,prevAreaIndex,areaElem,path;ln=bounds.xValues.length;for(i=0;ibbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y;if(me.chart.animate&&!me.chart.resizing){label.show(true);me.onAnimate(label,{to:{x:x,y:y}})}else{label.setAttributes({x:x,y:y},true);if(resizing){me.animation.on("afteranimate",function(){label.show(true)})}else{label.show(true)}}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,prev=(i==0)?false:items[i-1].point,next=(i==items.length-1)?false:items[i+1].point,cur=item.point,dir,norm,normal,a,aprev,anext,bbox=callout.label.getBBox(),offsetFromViz=30,offsetToSide=10,offsetBox=3,boxx,boxy,boxw,boxh,p,clipRect=me.clipRect,x,y;if(!prev){prev=cur}if(!next){next=cur}a=(next[1]-prev[1])/(next[0]-prev[0]);aprev=(cur[1]-prev[1])/(cur[0]-prev[0]);anext=(next[1]-cur[1])/(next[0]-cur[0]);norm=Math.sqrt(1+a*a);dir=[1/norm,a/norm];normal=[-dir[1],dir[0]];if(aprev>0&&anext<0&&normal[1]<0||aprev<0&&anext>0&&normal[1]>0){normal[0]*=-1;normal[1]*=-1}else{if(Math.abs(aprev)Math.abs(anext)&&normal[0]>0){normal[0]*=-1;normal[1]*=-1}}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);callout.box.setAttributes({x:boxx,y:boxy,width:boxw,height:boxh},true);callout.label.setAttributes({x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y},true);for(p in callout){callout[p].show(true)}},isItemInPoint:function(x,y,item,i){var me=this,pointsUp=item.pointsUp,pointsDown=item.pointsDown,abs=Math.abs,dist=Infinity,p,pln,point;for(p=0,pln=pointsUp.length;pabs(x-point[0])){dist=abs(x-point[0])}else{point=pointsUp[p-1];if(y>=point[1]&&(!pointsDown.length||y<=(pointsDown[p-1][1]))){item.storeIndex=p-1;item.storeField=me.yField[i];item.storeItem=me.chart.store.getAt(p-1);item._points=pointsDown.length?[point,pointsDown[p-1]]:[point];return true}else{break}}}return false},highlightSeries:function(){var area,to,fillColor;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}area.__highlighted=true;area.__prevOpacity=area.__prevOpacity||area.attr.opacity||1;area.__prevFill=area.__prevFill||area.attr.fill;area.__prevLineWidth=area.__prevLineWidth||area.attr.lineWidth;fillColor=Ext.draw.Color.fromString(area.__prevFill);to={lineWidth:(area.__prevLineWidth||0)+2};if(fillColor){to.fill=fillColor.getLighter(0.2).toString()}else{to.opacity=Math.max(area.__prevOpacity-0.3,0)}if(this.chart.animate){area.__highlightAnim=Ext.create("Ext.fx.Anim",Ext.apply({target:area,to:to},this.chart.animate))}else{area.setAttributes(to,true)}}},unHighlightSeries:function(){var area;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}if(area.__highlighted){area.__highlighted=false;area.__highlightAnim=Ext.create("Ext.fx.Anim",{target:area,to:{fill:area.__prevFill,opacity:area.__prevOpacity,lineWidth:area.__prevLineWidth}})}}},highlightItem:function(item){var me=this,points,path;if(!item){this.highlightSeries();return}points=item._points;path=points.length==2?["M",points[0][0],points[0][1],"L",points[1][0],points[1][1]]:["M",points[0][0],points[0][1],"L",points[0][0],me.bbox.y+me.bbox.height];me.highlightSprite.setAttributes({path:path,hidden:false},true)},unHighlightItem:function(item){if(!item){this.unHighlightSeries()}if(this.highlightSprite){this.highlightSprite.hide(true)}},hideAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=true;this.areas[this._index].hide(true);this.drawSeries()}},showAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=false;this.areas[this._index].show(true);this.drawSeries()}},getLegendColor:function(index){var me=this;return me.colorArrayStyle[index%me.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Bar",{extend:"Ext.chart.series.Cartesian",alternateClassName:["Ext.chart.BarSeries","Ext.chart.BarChart","Ext.chart.StackedBarChart"],requires:["Ext.chart.axis.Axis","Ext.fx.Anim"],type:"bar",alias:"series.bar",column:false,style:{},gutter:38.2,groupGutter:38.2,xPadding:0,yPadding:10,constructor:function(config){this.callParent(arguments);var me=this,surface=me.chart.surface,shadow=me.chart.shadow,i,l;Ext.apply(me,config,{highlightCfg:{lineWidth:3,stroke:"#55c",opacity:0.8,color:"#f00"},shadowAttributes:[{"stroke-width":6,"stroke-opacity":0.05,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:1.2}},{"stroke-width":4,"stroke-opacity":0.1,stroke:"rgb(150, 150, 150)",translate:{x:0.9,y:0.9}},{"stroke-width":2,"stroke-opacity":0.15,stroke:"rgb(100, 100, 100)",translate:{x:0.6,y:0.6}}]});me.group=surface.getGroup(me.seriesId+"-bars");if(shadow){for(i=0,l=me.shadowAttributes.length;i0)][i]+=mabs(rec)}});total[+(maxY>0)].push(mabs(maxY));total[+(minY>0)].push(mabs(minY));minus=mmax.apply(math,total[0]);plus=mmax.apply(math,total[1]);scale=(column?bbox.height-yPadding*2:bbox.width-xPadding*2)/(plus+minus);zero=zero+minus*scale*(column?-1:1)}else{if(minY/maxY<0){zero=zero-minY*scale*(column?-1:1)}}return{bars:bars,bbox:bbox,barsLen:barsLen,groupBarsLen:groupBarsLen,barWidth:barWidth,groupBarWidth:groupBarWidth,scale:scale,zero:zero,xPadding:xPadding,yPadding:yPadding,signed:minY/maxY<0,minY:minY,maxY:maxY}},getPaths:function(){var me=this,chart=me.chart,store=chart.substore||chart.store,bounds=me.bounds=me.getBounds(),items=me.items=[],gutter=me.gutter/100,groupGutter=me.groupGutter/100,animate=chart.animate,column=me.column,group=me.group,enableShadows=chart.shadow,shadowGroups=me.shadowGroups,shadowAttributes=me.shadowAttributes,shadowGroupsLn=shadowGroups.length,bbox=bounds.bbox,xPadding=me.xPadding,yPadding=me.yPadding,stacked=me.stacked,barsLen=bounds.barsLen,colors=me.colorArrayStyle,colorLength=colors&&colors.length||0,math=Math,mmax=math.max,mmin=math.min,mabs=math.abs,j,yValue,height,totalDim,totalNegDim,bottom,top,hasShadow,barAttr,attrs,counter,shadowIndex,shadow,sprite,offset,floorY;store.each(function(record,i,total){bottom=bounds.zero;top=bounds.zero;totalDim=0;totalNegDim=0;hasShadow=false;for(j=0,counter=0;j1?j:0)%colorLength]};if(column){Ext.apply(barAttr,{height:height,width:mmax(bounds.groupBarWidth,0),x:(bbox.x+xPadding+i*bounds.barWidth*(1+gutter)+counter*bounds.groupBarWidth*(1+groupGutter)*!stacked),y:bottom-height})}else{offset=(total-1)-i;Ext.apply(barAttr,{height:mmax(bounds.groupBarWidth,0),width:height+(bottom==bounds.zero),x:bottom+(bottom!=bounds.zero),y:(bbox.y+yPadding+offset*bounds.barWidth*(1+gutter)+counter*bounds.groupBarWidth*(1+groupGutter)*!stacked+1)})}if(height<0){if(column){barAttr.y=top;barAttr.height=mabs(height)}else{barAttr.x=top+height;barAttr.width=mabs(height)}}if(stacked){if(height<0){top+=height*(column?-1:1)}else{bottom+=height*(column?-1:1)}totalDim+=mabs(height);if(height<0){totalNegDim+=mabs(height)}}barAttr.x=Math.floor(barAttr.x)+1;floorY=Math.floor(barAttr.y);if(!Ext.isIE9&&barAttr.y>floorY){floorY--}barAttr.y=floorY;barAttr.width=Math.floor(barAttr.width);barAttr.height=Math.floor(barAttr.height);items.push({series:me,storeItem:record,value:[record.get(me.xField),yValue],attr:barAttr,point:column?[barAttr.x+barAttr.width/2,yValue>=0?barAttr.y:barAttr.y+barAttr.height]:[yValue>=0?barAttr.x+barAttr.width:barAttr.x,barAttr.y+barAttr.height/2]});if(animate&&chart.resizing){attrs=column?{x:barAttr.x,y:bounds.zero,width:barAttr.width,height:0}:{x:bounds.zero,y:barAttr.y,width:0,height:barAttr.height};if(enableShadows&&(stacked&&!hasShadow||!stacked)){hasShadow=true;for(shadowIndex=0;shadowIndex(yValue>=0?zero-chartBBox.y:chartBBox.y+chartBBox.height-zero)){display=insideEnd}}else{if(height+offsetY>attr.height){display=outside;label.isOutside=true}}x=attr.x+groupBarWidth/2;y=display==insideStart?(zero+((height/2+3)*(yValue>=0?-1:1))):(yValue>=0?(attr.y+((height/2+3)*(display==outside?-1:1))):(attr.y+attr.height+((height/2+3)*(display===outside?1:-1))))}else{if(display==outside){if(width+offsetX+attr.width>(yValue>=0?chartBBox.x+chartBBox.width-zero:zero-chartBBox.x)){display=insideEnd}}else{if(width+offsetX>attr.width){display=outside;label.isOutside=true}}x=display==insideStart?(zero+((width/2+5)*(yValue>=0?1:-1))):(yValue>=0?(attr.x+attr.width+((width/2+5)*(display===outside?1:-1))):(attr.x+((width/2+5)*(display===outside?-1:1))));y=attr.y+groupBarWidth/2}finalAttr={x:x,y:y};if(rotate){finalAttr.rotate={x:x,y:y,degrees:270}}if(animate&&resizing){if(column){x=attr.x+attr.width/2;y=zero}else{x=zero;y=attr.y+attr.height/2}label.setAttributes({x:x,y:y},true);if(rotate){label.setAttributes({rotate:{x:x,y:y,degrees:270}},true)}}if(animate){me.onAnimate(label,{to:finalAttr})}else{label.setAttributes(Ext.apply(finalAttr,{hidden:false}),true)}},getLabelSize:function(value){var tester=this.testerLabel,config=this.label,endLabelStyle=Ext.apply({},config,this.seriesLabelStyle||{}),rotated=config.orientation==="vertical",bbox,w,h,undef;if(!tester){tester=this.testerLabel=this.chart.surface.add(Ext.apply({type:"text",opacity:0},endLabelStyle))}tester.setAttributes({text:value},true);bbox=tester.getBBox();w=bbox.width;h=bbox.height;return{width:rotated?h:w,height:rotated?w:h}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item){var bbox=item.sprite.getBBox();return bbox.x<=x&&bbox.y<=y&&(bbox.x+bbox.width)>=x&&(bbox.y+bbox.height)>=y},hideAll:function(){var axes=this.chart.axes;if(!isNaN(this._index)){if(!this.__excludes){this.__excludes=[]}this.__excludes[this._index]=true;this.drawSeries();axes.each(function(axis){axis.drawAxis()})}},showAll:function(){var axes=this.chart.axes;if(!isNaN(this._index)){if(!this.__excludes){this.__excludes=[]}this.__excludes[this._index]=false;this.drawSeries();axes.each(function(axis){axis.drawAxis()})}},getLegendColor:function(index){var me=this,colorLength=me.colorArrayStyle.length;if(me.style&&me.style.fill){return me.style.fill}else{return me.colorArrayStyle[index%colorLength]}},highlightItem:function(item){this.callParent(arguments);this.renderLabels()},unHighlightItem:function(){this.callParent(arguments);this.renderLabels()},cleanHighlights:function(){this.callParent(arguments);this.renderLabels()}});Ext.define("Ext.chart.series.Column",{alternateClassName:["Ext.chart.ColumnSeries","Ext.chart.ColumnChart","Ext.chart.StackedColumnChart"],extend:"Ext.chart.series.Bar",type:"column",alias:"series.column",column:true,xPadding:10,yPadding:0});Ext.define("Ext.chart.series.Gauge",{extend:"Ext.chart.series.Series",type:"gauge",alias:"series.gauge",rad:Math.PI/180,highlightDuration:150,angleField:false,needle:false,donut:false,showInLegend:false,style:{},constructor:function(config){this.callParent(arguments);var me=this,chart=me.chart,surface=chart.surface,store=chart.store,shadow=chart.shadow,i,l,cfg;Ext.apply(me,config,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":1,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:2}},{"stroke-width":4,"stroke-opacity":1,stroke:"rgb(150, 150, 150)",translate:{x:0.9,y:1.5}},{"stroke-width":2,"stroke-opacity":1,stroke:"rgb(100, 100, 100)",translate:{x:0.6,y:1}}]});me.group=surface.getGroup(me.seriesId);if(shadow){for(i=0,l=me.shadowAttributes.length;i180,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,singleSlice=false;x+=margin*cos(midAngle);y+=margin*sin(midAngle);x1=x+opt.startRho*cos(a1);y1=y+opt.startRho*sin(a1);x2=x+opt.endRho*cos(a1);y2=y+opt.endRho*sin(a1);x3=x+opt.startRho*cos(a2);y3=y+opt.startRho*sin(a2);x4=x+opt.endRho*cos(a2);y4=y+opt.endRho*sin(a2);if(abs(x1-x3)<=delta&&abs(y1-y3)<=delta){singleSlice=true}if(singleSlice){return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["Z"]]}}else{return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["L",x3,y3],["A",opt.startRho,opt.startRho,0,+flag,0,x1,y1],["Z"]]}}},calcMiddle:function(item){var me=this,rad=me.rad,slice=item.slice,x=me.centerX,y=me.centerY,startAngle=slice.startAngle,endAngle=slice.endAngle,radius=Math.max(("rho" in slice)?slice.rho:me.radius,me.label.minMargin),donut=+me.donut,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,midAngle=-(a1+(a2-a1)/2),xm=x+(item.endRho+item.startRho)/2*Math.cos(midAngle),ym=y-(item.endRho+item.startRho)/2*Math.sin(midAngle);item.middle={x:xm,y:ym}},drawSeries:function(){var me=this,chart=me.chart,store=chart.substore||chart.store,group=me.group,animate=me.chart.animate,axis=me.chart.axes.get(0),minimum=axis&&axis.minimum||me.minimum||0,maximum=axis&&axis.maximum||me.maximum||0,field=me.angleField||me.field||me.xField,surface=chart.surface,chartBBox=chart.chartBBox,rad=me.rad,donut=+me.donut,values={},items=[],seriesStyle=me.seriesStyle,seriesLabelStyle=me.seriesLabelStyle,colorArrayStyle=me.colorArrayStyle,colorArrayLength=colorArrayStyle&&colorArrayStyle.length||0,gutterX=chart.maxGutter[0],gutterY=chart.maxGutter[1],cos=Math.cos,sin=Math.sin,rendererAttributes,centerX,centerY,slice,slices,sprite,value,item,ln,record,i,j,startAngle,endAngle,middleAngle,sliceLength,path,p,spriteOptions,bbox,splitAngle,sliceA,sliceB;Ext.apply(seriesStyle,me.style||{});me.setBBox();bbox=me.bbox;if(me.colorSet){colorArrayStyle=me.colorSet;colorArrayLength=colorArrayStyle.length}if(!store||!store.getCount()){return}centerX=me.centerX=chartBBox.x+(chartBBox.width/2);centerY=me.centerY=chartBBox.y+chartBBox.height;me.radius=Math.min(centerX-chartBBox.x,centerY-chartBBox.y);me.slices=slices=[];me.items=items=[];if(!me.value){record=store.getAt(0);me.value=record.get(field)}value=me.value;if(me.needle){sliceA={series:me,value:value,startAngle:-180,endAngle:0,rho:me.radius};splitAngle=-180*(1-(value-minimum)/(maximum-minimum));slices.push(sliceA)}else{splitAngle=-180*(1-(value-minimum)/(maximum-minimum));sliceA={series:me,value:value,startAngle:-180,endAngle:splitAngle,rho:me.radius};sliceB={series:me,value:me.maximum-value,startAngle:splitAngle,endAngle:0,rho:me.radius};slices.push(sliceA,sliceB)}for(i=0,ln=slices.length;ibbox.width){coords=me.shrink(xValues,yValues,bbox.width);xValues=coords.x;yValues=coords.y}me.items=[];count=0;ln=xValues.length;for(i=0;ibbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=(y-heightbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y}}if(me.chart.animate&&!me.chart.resizing){label.show(true);me.onAnimate(label,{to:{x:x,y:y}})}else{label.setAttributes({x:x,y:y},true);if(resizing){me.animation.on("afteranimate",function(){label.show(true)})}else{label.show(true)}}},highlightItem:function(){var me=this;me.callParent(arguments);if(this.line&&!this.highlighted){if(!("__strokeWidth" in this.line)){this.line.__strokeWidth=this.line.attr["stroke-width"]||0}if(this.line.__anim){this.line.__anim.paused=true}this.line.__anim=Ext.create("Ext.fx.Anim",{target:this.line,to:{"stroke-width":this.line.__strokeWidth+3}});this.highlighted=true}},unHighlightItem:function(){var me=this;me.callParent(arguments);if(this.line&&this.highlighted){this.line.__anim=Ext.create("Ext.fx.Anim",{target:this.line,to:{"stroke-width":this.line.__strokeWidth}});this.highlighted=false}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){if(!display){return}var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,prev=i==0?false:items[i-1].point,next=(i==items.length-1)?false:items[i+1].point,cur=[+item.point[0],+item.point[1]],dir,norm,normal,a,aprev,anext,offsetFromViz=config.offsetFromViz||30,offsetToSide=config.offsetToSide||10,offsetBox=config.offsetBox||3,boxx,boxy,boxw,boxh,p,clipRect=me.clipRect,bbox={width:config.styles.width||10,height:config.styles.height||10},x,y;if(!prev){prev=cur}if(!next){next=cur}a=(next[1]-prev[1])/(next[0]-prev[0]);aprev=(cur[1]-prev[1])/(cur[0]-prev[0]);anext=(next[1]-cur[1])/(next[0]-cur[0]);norm=Math.sqrt(1+a*a);dir=[1/norm,a/norm];normal=[-dir[1],dir[0]];if(aprev>0&&anext<0&&normal[1]<0||aprev<0&&anext>0&&normal[1]>0){normal[0]*=-1;normal[1]*=-1}else{if(Math.abs(aprev)Math.abs(anext)&&normal[0]>0){normal[0]*=-1;normal[1]*=-1}}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",cur[0],cur[1],"L",x,y,"Z"]}});if(callout.panel){callout.panel.setPosition(boxx,boxy,true)}}else{callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);if(callout.panel){callout.panel.setPosition(boxx,boxy)}}for(p in callout){callout[p].show(true)}},isItemInPoint:function(x,y,item,i){var me=this,items=me.items,tolerance=me.selectionTolerance,result=null,prevItem,nextItem,prevPoint,nextPoint,ln,x1,y1,x2,y2,xIntersect,yIntersect,dist1,dist2,dist,midx,midy,sqrt=Math.sqrt,abs=Math.abs;nextItem=items[i];prevItem=i&&items[i-1];if(i>=ln){prevItem=items[ln-1]}prevPoint=prevItem&&prevItem.point;nextPoint=nextItem&&nextItem.point;x1=prevItem?prevPoint[0]:nextPoint[0]-tolerance;y1=prevItem?prevPoint[1]:nextPoint[1];x2=nextItem?nextPoint[0]:prevPoint[0]+tolerance;y2=nextItem?nextPoint[1]:prevPoint[1];dist1=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));dist2=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));dist=Math.min(dist1,dist2);if(dist<=tolerance){return dist==dist1?prevItem:nextItem}return false},toggleAll:function(show){var me=this,i,ln,shadow,shadows;if(!show){Ext.chart.series.Line.superclass.hideAll.call(me)}else{Ext.chart.series.Line.superclass.showAll.call(me)}if(me.line){me.line.setAttributes({hidden:!show},true);if(me.line.shadows){for(i=0,shadows=me.line.shadows,ln=shadows.length;i180,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,singleSlice=false;x+=margin*cos(midAngle);y+=margin*sin(midAngle);x1=x+opt.startRho*cos(a1);y1=y+opt.startRho*sin(a1);x2=x+opt.endRho*cos(a1);y2=y+opt.endRho*sin(a1);x3=x+opt.startRho*cos(a2);y3=y+opt.startRho*sin(a2);x4=x+opt.endRho*cos(a2);y4=y+opt.endRho*sin(a2);if(abs(x1-x3)<=delta&&abs(y1-y3)<=delta){singleSlice=true}if(singleSlice){return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["Z"]]}}else{return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["L",x3,y3],["A",opt.startRho,opt.startRho,0,+flag,0,x1,y1],["Z"]]}}},calcMiddle:function(item){var me=this,rad=me.rad,slice=item.slice,x=me.centerX,y=me.centerY,startAngle=slice.startAngle,endAngle=slice.endAngle,donut=+me.donut,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,midAngle=-(a1+(a2-a1)/2),xm=x+(item.endRho+item.startRho)/2*Math.cos(midAngle),ym=y-(item.endRho+item.startRho)/2*Math.sin(midAngle);item.middle={x:xm,y:ym}},drawSeries:function(){var me=this,store=me.chart.substore||me.chart.store,group=me.group,animate=me.chart.animate,field=me.angleField||me.field||me.xField,lenField=[].concat(me.lengthField),totalLenField=0,colors=me.colorSet,chart=me.chart,surface=chart.surface,chartBBox=chart.chartBBox,enableShadows=chart.shadow,shadowGroups=me.shadowGroups,shadowAttributes=me.shadowAttributes,lnsh=shadowGroups.length,rad=me.rad,layers=lenField.length,rhoAcum=0,donut=+me.donut,layerTotals=[],values={},fieldLength,items=[],passed=false,totalField=0,maxLenField=0,cut=9,defcut=true,angle=0,seriesStyle=me.seriesStyle,seriesLabelStyle=me.seriesLabelStyle,colorArrayStyle=me.colorArrayStyle,colorArrayLength=colorArrayStyle&&colorArrayStyle.length||0,gutterX=chart.maxGutter[0],gutterY=chart.maxGutter[1],rendererAttributes,shadowGroup,shadowAttr,shadows,shadow,shindex,centerX,centerY,deltaRho,first=0,slice,slices,sprite,value,item,lenValue,ln,record,i,j,startAngle,endAngle,middleAngle,sliceLength,path,p,spriteOptions,bbox;Ext.apply(seriesStyle,me.style||{});me.setBBox();bbox=me.bbox;if(me.colorSet){colorArrayStyle=me.colorSet;colorArrayLength=colorArrayStyle.length}if(!store||!store.getCount()){return}me.unHighlightItem();me.cleanHighlights();centerX=me.centerX=chartBBox.x+(chartBBox.width/2);centerY=me.centerY=chartBBox.y+(chartBBox.height/2);me.radius=Math.min(centerX-chartBBox.x,centerY-chartBBox.y);me.slices=slices=[];me.items=items=[];store.each(function(record,i){if(this.__excludes&&this.__excludes[i]){return}totalField+=+record.get(field);if(lenField[0]){for(j=0,totalLenField=0;j1?j:i)%colorArrayLength]}||{}));item=Ext.apply({},rendererAttributes.segment,{slice:slice,series:me,storeItem:slice.storeItem,index:i});me.calcMiddle(item);if(enableShadows){item.shadows=slice.shadowAttrs[j]}items[i]=item;if(!sprite){spriteOptions=Ext.apply({type:"path",group:group,middle:item.middle},Ext.apply(seriesStyle,colorArrayStyle&&{fill:colorArrayStyle[(layers>1?j:i)%colorArrayLength]}||{}));sprite=surface.add(Ext.apply(spriteOptions,rendererAttributes))}slice.sprite=slice.sprite||[];item.sprite=sprite;slice.sprite.push(sprite);slice.point=[item.middle.x,item.middle.y];if(animate){rendererAttributes=me.renderer(sprite,store.getAt(i),rendererAttributes,i,store);sprite._to=rendererAttributes;sprite._animating=true;me.onAnimate(sprite,{to:rendererAttributes,listeners:{afteranimate:{fn:function(){this._animating=false},scope:sprite}}})}else{rendererAttributes=me.renderer(sprite,store.getAt(i),Ext.apply(rendererAttributes,{hidden:false}),i,store);sprite.setAttributes(rendererAttributes,true)}rhoAcum+=deltaRho}}ln=group.getCount();for(i=0;i>0]&&group.getAt(i)){group.getAt(i).hide(true)}}if(enableShadows){lnsh=shadowGroups.length;for(shindex=0;shindex>0]){for(j=0;j90&&dg<270)?dg+180:dg;prevDg=label.attr.rotation.degrees;if(prevDg!=null&&Math.abs(prevDg-dg)>180){if(dg>prevDg){dg-=360}else{dg+=360}dg=dg%360}else{dg=fixAngle(dg)}opt.rotate={degrees:dg,x:opt.x,y:opt.y};break;default:break}opt.translate={x:0,y:0};if(animate&&!resizing&&(display!="rotate"||prevDg!=null)){me.onAnimate(label,{to:opt})}else{label.setAttributes(opt,true)}label._from=from},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,resizing=chart.resizing,config=me.callouts,centerX=me.centerX,centerY=me.centerY,middle=item.middle,opt={x:middle.x,y:middle.y},x=middle.x-centerX,y=middle.y-centerY,rho=1,rhoCenter,theta=Math.atan2(y,x||1),bbox=callout.label.getBBox(),offsetFromViz=20,offsetToSide=10,offsetBox=10,p;rho=item.endRho+offsetFromViz;rhoCenter=(item.endRho+item.startRho)/2+(item.endRho-item.startRho)/3;opt.x=rho*Math.cos(theta)+centerX;opt.y=rho*Math.sin(theta)+centerY;x=rhoCenter*Math.cos(theta);y=rhoCenter*Math.sin(theta);if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",x+centerX,y+centerY,"L",opt.x,opt.y,"Z","M",opt.x,opt.y,"l",x>0?offsetToSide:-offsetToSide,0,"z"]}});me.onAnimate(callout.box,{to:{x:opt.x+(x>0?offsetToSide:-(offsetToSide+bbox.width+2*offsetBox)),y:opt.y+(y>0?(-bbox.height-offsetBox/2):(-bbox.height-offsetBox/2)),width:bbox.width+2*offsetBox,height:bbox.height+2*offsetBox}});me.onAnimate(callout.label,{to:{x:opt.x+(x>0?(offsetToSide+offsetBox):-(offsetToSide+bbox.width+offsetBox)),y:opt.y+(y>0?-bbox.height/4:-bbox.height/4)}})}else{callout.lines.setAttributes({path:["M",x+centerX,y+centerY,"L",opt.x,opt.y,"Z","M",opt.x,opt.y,"l",x>0?offsetToSide:-offsetToSide,0,"z"]},true);callout.box.setAttributes({x:opt.x+(x>0?offsetToSide:-(offsetToSide+bbox.width+2*offsetBox)),y:opt.y+(y>0?(-bbox.height-offsetBox/2):(-bbox.height-offsetBox/2)),width:bbox.width+2*offsetBox,height:bbox.height+2*offsetBox},true);callout.label.setAttributes({x:opt.x+(x>0?(offsetToSide+offsetBox):-(offsetToSide+bbox.width+offsetBox)),y:opt.y+(y>0?-bbox.height/4:-bbox.height/4)},true)}for(p in callout){callout[p].show(true)}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item,i){var me=this,cx=me.centerX,cy=me.centerY,abs=Math.abs,dx=abs(x-cx),dy=abs(y-cy),startAngle=item.startAngle,endAngle=item.endAngle,rho=Math.sqrt(dx*dx+dy*dy),angle=Math.atan2(y-cy,x-cx)/me.rad+360;if(angle>me.firstAngle){angle-=360}return(angle<=startAngle&&angle>endAngle&&rho>=item.startRho&&rho<=item.endRho)},hideAll:function(){var i,l,shadow,shadows,sh,lsh,sprite;if(!isNaN(this._index)){this.__excludes=this.__excludes||[];this.__excludes[this._index]=true;sprite=this.slices[this._index].sprite;for(sh=0,lsh=sprite.length;shbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=(y-heightbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y}}if(!chart.animate){label.setAttributes({x:x,y:y},true);label.show(true)}else{if(resizing){anim=item.sprite.getActiveAnimation();if(anim){anim.on("afteranimate",function(){label.setAttributes({x:x,y:y},true);label.show(true)})}else{label.show(true)}}else{me.onAnimate(label,{to:{x:x,y:y}})}}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,cur=item.point,normal,bbox=callout.label.getBBox(),offsetFromViz=30,offsetToSide=10,offsetBox=3,boxx,boxy,boxw,boxh,p,clipRect=me.bbox,x,y;normal=[Math.cos(Math.PI/4),-Math.sin(Math.PI/4)];x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",cur[0],cur[1],"L",x,y,"Z"]}},true);me.onAnimate(callout.box,{to:{x:boxx,y:boxy,width:boxw,height:boxh}},true);me.onAnimate(callout.label,{to:{x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y}},true)}else{callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);callout.box.setAttributes({x:boxx,y:boxy,width:boxw,height:boxh},true);callout.label.setAttributes({x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y},true)}for(p in callout){callout[p].show(true)}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item){var point,tolerance=10,abs=Math.abs;function dist(point){var dx=abs(point[0]-x),dy=abs(point[1]-y);return Math.sqrt(dx*dx+dy*dy)}point=item.point;return(point[0]-tolerance<=x&&point[0]+tolerance>=x&&point[1]-tolerance<=y&&point[1]+tolerance>=y)}});Ext.define("Ext.chart.theme.Base",{requires:["Ext.chart.theme.Theme"],constructor:function(config){Ext.chart.theme.call(this,config,{background:false,axis:{stroke:"#444","stroke-width":1},axisLabelTop:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisLabelRight:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisLabelBottom:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisLabelLeft:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisTitleTop:{font:"bold 18px Arial",fill:"#444"},axisTitleRight:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},axisTitleBottom:{font:"bold 18px Arial",fill:"#444"},axisTitleLeft:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},series:{"stroke-width":0},seriesLabel:{font:"12px Arial",fill:"#333"},marker:{stroke:"#555",fill:"#000",radius:3,size:3},colors:["#94ae0a","#115fa6","#a61120","#ff8809","#ffd13e","#a61187","#24ad9a","#7c7474","#a66111"],seriesThemes:[{fill:"#115fa6"},{fill:"#94ae0a"},{fill:"#a61120"},{fill:"#ff8809"},{fill:"#ffd13e"},{fill:"#a61187"},{fill:"#24ad9a"},{fill:"#7c7474"},{fill:"#a66111"}],markerThemes:[{fill:"#115fa6",type:"circle"},{fill:"#94ae0a",type:"cross"},{fill:"#a61120",type:"plus"}]})}},function(){var palette=["#b1da5a","#4ce0e7","#e84b67","#da5abd","#4d7fe6","#fec935"],names=["Green","Sky","Red","Purple","Blue","Yellow"],i=0,j=0,l=palette.length,themes=Ext.chart.theme,categories=[["#f0a50a","#c20024","#2044ba","#810065","#7eae29"],["#6d9824","#87146e","#2a9196","#d39006","#1e40ac"],["#fbbc29","#ce2e4e","#7e0062","#158b90","#57880e"],["#ef5773","#fcbd2a","#4f770d","#1d3eaa","#9b001f"],["#7eae29","#fdbe2a","#910019","#27b4bc","#d74dbc"],["#44dce1","#0b2592","#996e05","#7fb325","#b821a1"]],cats=categories.length;for(;i1){for(len=args.length;i0){if(paramOrder){for(len=paramOrder.length;i0){request.timeout=setTimeout(Ext.bind(me.handleTimeout,me,[request]),timeout)}me.setupErrorHandling(request);me[callbackName]=Ext.bind(me.handleResponse,me,[request],true);Ext.getHead().appendChild(script);return request},abort:function(request){var requests=this.statics().requests,key;if(request){if(!request.id){request=requests[request]}this.abort(request)}else{for(key in requests){if(requests.hasOwnProperty(key)){this.abort(requests[key])}}}},setupErrorHandling:function(request){request.script.onerror=Ext.bind(this.handleError,this,[request])},handleAbort:function(request){request.errorType="abort";this.handleResponse(null,request)},handleError:function(request){request.errorType="error";this.handleResponse(null,request)},cleanupErrorHandling:function(request){request.script.onerror=null},handleTimeout:function(request){request.errorType="timeout";this.handleResponse(null,request)},handleResponse:function(result,request){var success=true;if(request.timeout){clearTimeout(request.timeout)}delete this[request.callbackName];delete this.statics()[request.id];this.cleanupErrorHandling(request);Ext.fly(request.script).remove();if(request.errorType){success=false;Ext.callback(request.failure,request.scope,[request.errorType])}else{Ext.callback(request.success,request.scope,[result])}Ext.callback(request.callback,request.scope,[success,result,request.errorType])},createScript:function(url,params){var script=document.createElement("script");script.setAttribute("src",Ext.urlAppend(url,Ext.Object.toQueryString(params)));script.setAttribute("async",true);script.setAttribute("type","text/javascript");return script}});Ext.define("Ext.data.JsonPStore",{extend:"Ext.data.Store",alias:"store.jsonp",constructor:function(config){this.callParent(Ext.apply(config,{reader:Ext.create("Ext.data.reader.Json",config),proxy:Ext.create("Ext.data.proxy.JsonP",config)}))}});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(record){if(!record.isNode){var mgr=Ext.ModelManager,modelName=record.modelName,modelClass=mgr.getModel(modelName),idName=modelClass.prototype.idProperty,newFields=[],i,newField,len;modelClass.override(this.getPrototypeBody());newFields=this.applyFields(modelClass,[{name:idName,type:"string",defaultValue:null},{name:"parentId",type:"string",defaultValue:null},{name:"index",type:"int",defaultValue:null},{name:"depth",type:"int",defaultValue:0},{name:"expanded",type:"bool",defaultValue:false,persist:false},{name:"expandable",type:"bool",defaultValue:true,persist:false},{name:"checked",type:"auto",defaultValue:null},{name:"leaf",type:"bool",defaultValue:false,persist:false},{name:"cls",type:"string",defaultValue:null,persist:false},{name:"iconCls",type:"string",defaultValue:null,persist:false},{name:"root",type:"boolean",defaultValue:false,persist:false},{name:"isLast",type:"boolean",defaultValue:false,persist:false},{name:"isFirst",type:"boolean",defaultValue:false,persist:false},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false},{name:"loaded",type:"boolean",defaultValue:false,persist:false},{name:"loading",type:"boolean",defaultValue:false,persist:false},{name:"href",type:"string",defaultValue:null,persist:false},{name:"hrefTarget",type:"string",defaultValue:null,persist:false},{name:"qtip",type:"string",defaultValue:null,persist:false},{name:"qtitle",type:"string",defaultValue:null,persist:false}]);len=newFields.length;for(i=0;i0},isExpandable:function(){var me=this;if(me.get("expandable")){return !(me.isLeaf()||(me.isLoaded()&&!me.hasChildNodes()))}return false},appendChild:function(node,suppressEvents,suppressNodeUpdate){var me=this,i,ln,index,oldParent,ps;if(Ext.isArray(node)){for(i=0,ln=node.length;i0){Ext.Array.sort(cs,sortFn);for(i=0;i0){url=Ext.urlAppend(url,Ext.String.format("{0}={1}",me.recordParam,me.encodeRecords(records)))}return url},destroy:function(){this.abort();this.callParent()},abort:function(){var lastRequest=this.lastRequest;if(lastRequest){Ext.data.JsonP.abort(lastRequest.jsonp)}},encodeRecords:function(records){var encoded="",i=0,len=records.length;for(;i")}for(;i");for(key in item){if(item.hasOwnProperty(key)){xml.push("<",key,">",item[key],"")}}xml.push("")}if(root){xml.push("")}request.xmlData=xml.join("");return request}});Ext.define("Ext.direct.Event",{alias:"direct.event",requires:["Ext.direct.Manager"],status:true,constructor:function(config){Ext.apply(this,config)},getData:function(){return this.data}});Ext.define("Ext.direct.RemotingEvent",{extend:"Ext.direct.Event",alias:"direct.rpc",getTransaction:function(){return this.transaction||Ext.direct.Manager.getTransaction(this.tid)}});Ext.define("Ext.direct.ExceptionEvent",{extend:"Ext.direct.RemotingEvent",alias:"direct.exception",status:false});Ext.define("Ext.direct.Provider",{alias:"direct.provider",mixins:{observable:"Ext.util.Observable"},constructor:function(config){var me=this;Ext.apply(me,config);me.addEvents("connect","disconnect","data","exception");me.mixins.observable.constructor.call(me,config)},isConnected:function(){return false},connect:Ext.emptyFn,disconnect:Ext.emptyFn});Ext.define("Ext.direct.JsonProvider",{extend:"Ext.direct.Provider",alias:"direct.jsonprovider",uses:["Ext.direct.ExceptionEvent"],parseResponse:function(response){if(!Ext.isEmpty(response.responseText)){if(Ext.isObject(response.responseText)){return response.responseText}return Ext.decode(response.responseText)}return null},createEvents:function(response){var data=null,events=[],event,i=0,len;try{data=this.parseResponse(response)}catch(e){event=Ext.create("Ext.direct.ExceptionEvent",{data:e,xhr:response,code:Ext.direct.Manager.self.exceptions.PARSE,message:"Error parsing json response: \n\n "+data});return[event]}if(Ext.isArray(data)){for(len=data.length;i0){this.sendRequest(len==1?buffer[0]:buffer);this.callBuffer=[]}},configureFormRequest:function(action,method,form,callback,scope){var me=this,transaction=Ext.create("Ext.direct.Transaction",{provider:me,action:action,method:method.name,args:[form,callback,scope],callback:scope&&Ext.isFunction(callback)?Ext.Function.bind(callback,scope):callback,isForm:true}),isUpload,params;if(me.fireEvent("beforecall",me,transaction,method)!==false){Ext.direct.Manager.addTransaction(transaction);isUpload=String(form.getAttribute("enctype")).toLowerCase()=="multipart/form-data";params={extTID:transaction.id,extAction:action,extMethod:method.name,extType:"rpc",extUpload:String(isUpload)};Ext.apply(transaction,{form:Ext.getDom(form),isUpload:isUpload,params:callback&&Ext.isObject(callback.params)?Ext.apply(params,callback.params):params});me.fireEvent("call",me,transaction,method);me.sendFormRequest(transaction)}},sendFormRequest:function(transaction){Ext.Ajax.request({url:this.url,params:transaction.params,callback:this.onData,scope:this,form:transaction.form,isUpload:transaction.isUpload,transaction:transaction})}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(a,b,c,d,e,f){if(a!=null){this.matrix=[[a,c,e],[b,d,f],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(a,b,c,d,e,f){var me=this,out=[[],[],[]],matrix=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,res;for(x=0;x<3;x++){for(y=0;y<3;y++){res=0;for(z=0;z<3;z++){res+=me.matrix[x][z]*matrix[z][y]}out[x][y]=res}}me.matrix=out},prepend:function(a,b,c,d,e,f){var me=this,out=[[],[],[]],matrix=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,res;for(x=0;x<3;x++){for(y=0;y<3;y++){res=0;for(z=0;z<3;z++){res+=matrix[x][z]*me.matrix[z][y]}out[x][y]=res}}me.matrix=out},invert:function(){var matrix=this.matrix,a=matrix[0][0],b=matrix[1][0],c=matrix[0][1],d=matrix[1][1],e=matrix[0][2],f=matrix[1][2],x=a*d-b*c;return new Ext.draw.Matrix(d/x,-b/x,-c/x,a/x,(c*f-d*e)/x,(b*e-a*f)/x)},clone:function(){var matrix=this.matrix,a=matrix[0][0],b=matrix[1][0],c=matrix[0][1],d=matrix[1][1],e=matrix[0][2],f=matrix[1][2];return new Ext.draw.Matrix(a,b,c,d,e,f)},translate:function(x,y){this.prepend(1,0,0,1,x,y)},scale:function(x,y,cx,cy){var me=this;if(y==null){y=x}me.add(1,0,0,1,cx,cy);me.add(x,0,0,y,0,0);me.add(1,0,0,1,-cx,-cy)},rotate:function(a,x,y){a=Ext.draw.Draw.rad(a);var me=this,cos=+Math.cos(a).toFixed(9),sin=+Math.sin(a).toFixed(9);me.add(cos,sin,-sin,cos,x,y);me.add(1,0,0,1,-x,-y)},x:function(x,y){var matrix=this.matrix;return x*matrix[0][0]+y*matrix[0][1]+matrix[0][2]},y:function(x,y){var matrix=this.matrix;return x*matrix[1][0]+y*matrix[1][1]+matrix[1][2]},get:function(i,j){return +this.matrix[i][j].toFixed(4)},toString:function(){var me=this;return[me.get(0,0),me.get(0,1),me.get(1,0),me.get(1,1),0,0].join()},toSvg:function(){var me=this;return"matrix("+[me.get(0,0),me.get(1,0),me.get(0,1),me.get(1,1),me.get(0,2),me.get(1,2)].join()+")"},toFilter:function(){var me=this;return"progid:DXImageTransform.Microsoft.Matrix(M11="+me.get(0,0)+", M12="+me.get(0,1)+", M21="+me.get(1,0)+", M22="+me.get(1,1)+", Dx="+me.get(0,2)+", Dy="+me.get(1,2)+")"},offset:function(){var matrix=this.matrix;return[matrix[0][2].toFixed(4),matrix[1][2].toFixed(4)]},split:function(){function norm(a){return a[0]*a[0]+a[1]*a[1]}function normalize(a){var mag=Math.sqrt(norm(a));a[0]/=mag;a[1]/=mag}var matrix=this.matrix,out={translateX:matrix[0][2],translateY:matrix[1][2]},row;row=[[matrix[0][0],matrix[0][1]],[matrix[1][1],matrix[1][1]]];out.scaleX=Math.sqrt(norm(row[0]));normalize(row[0]);out.shear=row[0][0]*row[1][0]+row[0][1]*row[1][1];row[1]=[row[1][0]-row[0][0]*out.shear,row[1][1]-row[0][1]*out.shear];out.scaleY=Math.sqrt(norm(row[1]));normalize(row[1]);out.shear/=out.scaleY;out.rotate=Math.asin(-row[0][1]);out.isSimple=!+out.shear.toFixed(9)&&(out.scaleX.toFixed(9)==out.scaleY.toFixed(9)||!out.rotate);return out}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(sprite,cfg){var me=this,el=sprite.el;me.sprite=sprite;me.el=el;me.dragData={el:el,sprite:sprite};me.callParent([el,cfg]);me.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(e){return this.el},getRegion:function(){var me=this,el=me.el,pos,x1,x2,y1,y2,t,r,b,l,bbox,sprite;sprite=me.sprite;bbox=sprite.getBBox();try{pos=Ext.core.Element.getXY(el)}catch(e){}if(!pos){return null}x1=pos[0];x2=x1+bbox.width;y1=pos[1];y2=y1+bbox.height;return Ext.create("Ext.util.Region",y1,x2,y2,x1)},startDrag:function(x,y){var me=this,attr=me.sprite.attr,trans=attr.translation;if(me.sprite.vml){me.prevX=x+attr.x;me.prevY=y+attr.y}else{me.prevX=x-trans.x;me.prevY=y-trans.y}},onDrag:function(e){var xy=e.getXY(),me=this,sprite=me.sprite,attr=sprite.attr;me.translateX=xy[0]-me.prevX;me.translateY=xy[1]-me.prevY;sprite.setAttributes({translate:{x:me.translateX,y:me.translateY}},true);if(sprite.vml){me.prevX=xy[0]+attr.x||0;me.prevY=xy[1]+attr.y||0}}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(config){var me=this;config=config||{};me.id=Ext.id(null,"ext-sprite-");me.transformations=[];Ext.copyTo(this,config,"surface,group,type,draggable");me.bbox={};me.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete config.surface;delete config.group;delete config.type;delete config.draggable;me.setAttributes(config);me.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");me.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var me=this;me.draggable=true;if(!me.el){me.surface.createSpriteElement(me)}me.dd=Ext.create("Ext.draw.SpriteDD",me,Ext.isBoolean(me.draggable)?null:me.draggable);me.on("beforedestroy",me.dd.destroy,me.dd)},setAttributes:function(attrs,redraw){var me=this,fontProps=me.fontProperties,fontPropsLength=fontProps.length,pathProps=me.pathProperties,pathPropsLength=pathProps.length,hasSurface=!!me.surface,custom=hasSurface&&me.surface.customAttributes||{},spriteAttrs=me.attr,attr,i,translate,translation,rotate,rotation,scale,scaling;attrs=Ext.apply({},attrs);for(attr in custom){if(attrs.hasOwnProperty(attr)&&typeof custom[attr]=="function"){Ext.apply(attrs,custom[attr].apply(me,[].concat(attrs[attr])))}}if(!!attrs.hidden!==!!spriteAttrs.hidden){me.dirtyHidden=true}for(i=0;i-1)&&(attrs[key] in gradientsMap)){attrs[key]=gradientsMap[attrs[key]]}if(key in parsers){el.dom.setAttribute(key,parsers[key](attrs[key],sprite,me))}else{el.dom.setAttribute(key,attrs[key])}}}if(sprite.type=="text"){me.tuneText(sprite,attrs)}style=sattr.style;if(style){el.setStyle(style)}sprite.dirty=false;if(Ext.isSafari3){me.webkitRect.show();setTimeout(function(){me.webkitRect.hide()})}},setClip:function(sprite,params){var me=this,rect=params["clip-rect"],clipEl,clipPath;if(rect){if(sprite.clip){sprite.clip.parentNode.parentNode.removeChild(sprite.clip.parentNode)}clipEl=me.createSvgElement("clipPath");clipPath=me.createSvgElement("rect");clipEl.id=Ext.id(null,"ext-clip-");clipPath.setAttribute("x",rect.x);clipPath.setAttribute("y",rect.y);clipPath.setAttribute("width",rect.width);clipPath.setAttribute("height",rect.height);clipEl.appendChild(clipPath);me.getDefs().appendChild(clipEl);sprite.el.dom.setAttribute("clip-path","url(#"+clipEl.id+")");sprite.clip=clipPath}},applyZIndex:function(sprite){var idx=this.normalizeSpriteCollection(sprite),el=sprite.el,prevEl;if(this.el.dom.childNodes[idx+2]!==el.dom){if(idx>0){do{prevEl=this.items.getAt(--idx).el}while(!prevEl&&idx>0)}el.insertAfter(prevEl||this.bgRect)}sprite.zIndexDirty=false},createItem:function(config){var sprite=Ext.create("Ext.draw.Sprite",config);sprite.surface=this;return sprite},addGradient:function(gradient){gradient=Ext.draw.Draw.parseGradient(gradient);var me=this,ln=gradient.stops.length,vector=gradient.vector,usePlain=Ext.isSafari&&!Ext.isStrict,gradientEl,stop,stopEl,i,gradientsMap;gradientsMap=me.gradientsMap||{};if(!usePlain){if(gradient.type=="linear"){gradientEl=me.createSvgElement("linearGradient");gradientEl.setAttribute("x1",vector[0]);gradientEl.setAttribute("y1",vector[1]);gradientEl.setAttribute("x2",vector[2]);gradientEl.setAttribute("y2",vector[3])}else{gradientEl=me.createSvgElement("radialGradient");gradientEl.setAttribute("cx",gradient.centerX);gradientEl.setAttribute("cy",gradient.centerY);gradientEl.setAttribute("r",gradient.radius);if(Ext.isNumber(gradient.focalX)&&Ext.isNumber(gradient.focalY)){gradientEl.setAttribute("fx",gradient.focalX);gradientEl.setAttribute("fy",gradient.focalY)}}gradientEl.id=gradient.id;me.getDefs().appendChild(gradientEl);for(i=0;i")}vml.W=me.span.offsetWidth;vml.H=me.span.offsetHeight+2;if(params["text-anchor"]=="middle"){textStyle["v-text-align"]="center"}else{if(params["text-anchor"]=="end"){textStyle["v-text-align"]="right";vml.bbx=-Math.round(vml.W/2)}else{textStyle["v-text-align"]="left";vml.bbx=Math.round(vml.W/2)}}}vml.X=params.x;vml.Y=params.y;vml.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(vml.X*zoom),Math.round(vml.Y*zoom),Math.round(vml.X*zoom)+1);sprite.bbox.plain=null;sprite.bbox.transform=null;sprite.dirtyFont=false},setText:function(sprite,text){sprite.vml.textpath.string=Ext.htmlDecode(text)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(sprite){sprite.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(sprite){sprite.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(width,height){var me=this;width=width||me.width;height=height||me.height;me.width=width;me.height=height;if(me.el){if(width!=undefined){me.el.setWidth(width)}if(height!=undefined){me.el.setHeight(height)}me.applyViewBox();me.callParent(arguments)}},setViewBox:function(x,y,width,height){this.callParent(arguments);this.viewBox={x:x,y:y,width:width,height:height};this.applyViewBox()},applyViewBox:function(){var me=this,viewBox=me.viewBox,width=me.width,height=me.height,viewBoxX,viewBoxY,viewBoxWidth,viewBoxHeight,relativeHeight,relativeWidth,size;if(viewBox&&(width||height)){viewBoxX=viewBox.x;viewBoxY=viewBox.y;viewBoxWidth=viewBox.width;viewBoxHeight=viewBox.height;relativeHeight=height/viewBoxHeight;relativeWidth=width/viewBoxWidth;if(viewBoxWidth*relativeHeight')}}catch(e){me.createNode=function(tagName){return doc.createElement("<"+tagName+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}}if(!me.el){var el=doc.createElement("div");me.el=Ext.get(el);me.el.addCls(me.baseVmlCls);me.span=doc.createElement("span");Ext.get(me.span).addCls(me.measureSpanCls);el.appendChild(me.span);me.el.setSize(me.width||10,me.height||10);container.appendChild(el);me.el.on({scope:me,mouseup:me.onMouseUp,mousedown:me.onMouseDown,mouseover:me.onMouseOver,mouseout:me.onMouseOut,mousemove:me.onMouseMove,mouseenter:me.onMouseEnter,mouseleave:me.onMouseLeave,click:me.onClick})}me.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(sprite){sprite.dirty=true;this.renderItem(sprite)},renderItem:function(sprite){if(!this.el){return}if(!sprite.el){this.createSpriteElement(sprite)}if(sprite.dirty){this.applyAttrs(sprite);if(sprite.dirtyTransform){this.applyTransformations(sprite)}}},rotationCompensation:function(deg,dx,dy){var matrix=Ext.create("Ext.draw.Matrix");matrix.rotate(-deg,0.5,0.5);return{x:matrix.x(dx,dy),y:matrix.y(dx,dy)}},transform:function(sprite){var me=this,matrix=Ext.create("Ext.draw.Matrix"),transforms=sprite.transformations,transformsLength=transforms.length,i=0,deltaDegrees=0,deltaScaleX=1,deltaScaleY=1,flip="",el=sprite.el,dom=el.dom,domStyle=dom.style,zoom=me.zoom,skew=sprite.skew,deltaX,deltaY,transform,type,compensate,y,fill,newAngle,zoomScaleX,zoomScaleY,newOrigin;for(;ib?1:(a0){if(!me.owner.isFixedWidth()){box.width=undefined}if(!me.owner.isFixedHeight()){box.height=undefined}me.setItemSize(item,box.width,box.height)}},configureItem:function(item){item.layoutManagedHeight=0;item.layoutManagedWidth=0;this.callParent(arguments)}});Ext.define("Ext.layout.container.AbstractCard",{extend:"Ext.layout.container.Fit",type:"card",sizeAllCards:false,hideInactive:true,deferredRender:false,beforeLayout:function(){var me=this;me.activeItem=me.getActiveItem();if(me.activeItem&&me.deferredRender){me.renderItems([me.activeItem],me.getRenderTarget());return true}else{return this.callParent(arguments)}},onLayout:function(){var me=this,activeItem=me.activeItem,items=me.getVisibleItems(),ln=items.length,targetBox=me.getTargetBox(),i,item;for(i=0;i1){me.doSelect(record,keepExisting,false)}else{me.doSelect(record,false)}}}}break;case"SIMPLE":if(me.isSelected(record)){me.doDeselect(record)}else{me.doSelect(record,true)}break;case"SINGLE":if(me.allowDeselect&&me.isSelected(record)){me.doDeselect(record)}else{me.doSelect(record,false)}break}},selectRange:function(startRow,endRow,keepExisting,dir){var me=this,store=me.store,selectedCount=0,i,tmp,dontDeselect,records=[];if(me.isLocked()){return}if(!keepExisting){me.deselectAll(true)}if(!Ext.isNumber(startRow)){startRow=store.indexOf(startRow)}if(!Ext.isNumber(endRow)){endRow=store.indexOf(endRow)}if(startRow>endRow){tmp=endRow;endRow=startRow;startRow=tmp}for(i=startRow;i<=endRow;i++){if(me.isSelected(store.getAt(i))){selectedCount++}}if(!dir){dontDeselect=-1}else{dontDeselect=(dir=="up")?startRow:endRow}for(i=startRow;i<=endRow;i++){if(selectedCount==(endRow-startRow+1)){if(i!=dontDeselect){me.doDeselect(i,true)}}else{records.push(store.getAt(i))}}me.doMultiSelect(records,true)},select:function(records,keepExisting,suppressEvent){this.doSelect(records,keepExisting,suppressEvent)},deselect:function(records,suppressEvent){this.doDeselect(records,suppressEvent)},doSelect:function(records,keepExisting,suppressEvent){var me=this,record;if(me.locked){return}if(typeof records==="number"){records=[me.store.getAt(records)]}if(me.selectionMode=="SINGLE"&&records){record=records.length?records[0]:records;me.doSingleSelect(record,suppressEvent)}else{me.doMultiSelect(records,keepExisting,suppressEvent)}},doMultiSelect:function(records,keepExisting,suppressEvent){var me=this,selected=me.selected,change=false,i=0,len,record;if(me.locked){return}records=!Ext.isArray(records)?[records]:records;len=records.length;if(!keepExisting&&selected.getCount()>0){if(me.doDeselect(me.getSelection(),suppressEvent)===false){return}}function commit(){selected.add(record);change=true}for(;i0&&!suppressEvent);return accepted===attempted},doSingleSelect:function(record,suppressEvent){var me=this,changed=false,selected=me.selected;if(me.locked){return}if(me.isSelected(record)){return}function commit(){me.bulkChange=true;if(selected.getCount()>0&&me.doDeselect(me.lastSelected,suppressEvent)===false){delete me.bulkChange;return false}delete me.bulkChange;selected.add(record);me.lastSelected=record;changed=true}me.onSelectChange(record,true,suppressEvent,commit);if(changed){if(!suppressEvent){me.setLastFocused(record)}me.maybeFireSelectionChange(!suppressEvent)}},setLastFocused:function(record,supressFocus){var me=this,recordBeforeLast=me.lastFocused;me.lastFocused=record;me.onLastFocusChanged(recordBeforeLast,record,supressFocus)},isFocused:function(record){return record===this.getLastFocused()},maybeFireSelectionChange:function(fireEvent){var me=this;if(fireEvent&&!me.bulkChange){me.fireEvent("selectionchange",me,me.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(selMode){selMode=selMode?selMode.toUpperCase():"SINGLE";this.selectionMode=this.modes[selMode]?selMode:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(locked){this.locked=!!locked},isSelected:function(record){record=Ext.isNumber(record)?this.store.getAt(record):record;return this.selected.indexOf(record)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var me=this,toBeSelected=[],oldSelections=me.getSelection(),len=oldSelections.length,selection,change,i=0,lastFocused=this.getLastFocused();for(;i0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(store,record){var me=this,selected=me.selected;if(me.locked||!me.pruneRemoved){return}if(selected.remove(record)){if(me.lastSelected==record){me.lastSelected=null}if(me.getLastFocused()==record){me.setLastFocused(null)}me.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(record,isSelected,suppressEvent){},onLastFocusChanged:function(oldFocused,newFocused){},onEditorKey:function(field,e){},bindComponent:function(cmp){}});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(cfg){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(view){var me=this,eventListeners={refresh:me.refresh,scope:me};me.view=view;me.bind(view.getStore());view.on(view.triggerEvent,me.onItemClick,me);view.on(view.triggerCtEvent,me.onContainerClick,me);view.on(eventListeners);if(me.enableKeyNav){me.initKeyNav(view)}},onItemClick:function(view,record,item,index,e){this.selectWithEvent(record,e)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on("render",Ext.Function.bind(me.initKeyNav,me,[view],0),me,{single:true});return}view.el.set({tabIndex:-1});me.keyNav=Ext.create("Ext.util.KeyNav",view.el,{down:Ext.pass(me.onNavKey,[1],me),right:Ext.pass(me.onNavKey,[1],me),left:Ext.pass(me.onNavKey,[-1],me),up:Ext.pass(me.onNavKey,[-1],me),scope:me})},onNavKey:function(step){step=step||1;var me=this,view=me.view,selected=me.getSelection()[0],numRecords=me.view.store.getCount(),idx;if(selected){idx=view.indexOf(view.getNode(selected))+step}else{idx=0}if(idx<0){idx=numRecords-1}else{if(idx>=numRecords){idx=0}}me.select(idx)},onSelectChange:function(record,isSelected,suppressEvent,commitFn){var me=this,view=me.view,eventName=isSelected?"select":"deselect";if((suppressEvent||me.fireEvent("before"+eventName,me,record))!==false&&commitFn()!==false){if(isSelected){view.onItemSelect(record)}else{view.onItemDeselect(record)}if(!suppressEvent){me.fireEvent(eventName,me,record)}}}});Ext.define("Ext.state.CookieProvider",{extend:"Ext.state.Provider",constructor:function(config){var me=this;me.path="/";me.expires=new Date(new Date().getTime()+(1000*60*60*24*7));me.domain=null;me.secure=false;me.callParent(arguments);me.state=me.readCookies()},set:function(name,value){var me=this;if(typeof value=="undefined"||value===null){me.clear(name);return}me.setCookie(name,value);me.callParent(arguments)},clear:function(name){this.clearCookie(name);this.callParent(arguments)},readCookies:function(){var cookies={},c=document.cookie+";",re=/\s?(.*?)=(.*?);/g,prefix=this.prefix,len=prefix.length,matches,name,value;while((matches=re.exec(c))!=null){name=matches[1];value=matches[2];if(name&&name.substring(0,len)==prefix){cookies[name.substr(len)]=this.decodeValue(value)}}return cookies},setCookie:function(name,value){var me=this;document.cookie=me.prefix+name+"="+me.encodeValue(value)+((me.expires==null)?"":("; expires="+me.expires.toGMTString()))+((me.path==null)?"":("; path="+me.path))+((me.domain==null)?"":("; domain="+me.domain))+((me.secure==true)?"; secure":"")},clearCookie:function(name){var me=this;document.cookie=me.prefix+name+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((me.path==null)?"":("; path="+me.path))+((me.domain==null)?"":("; domain="+me.domain))+((me.secure==true)?"; secure":"")}});Ext.define("Ext.state.LocalStorageProvider",{extend:"Ext.state.Provider",alias:"state.localstorage",constructor:function(){var me=this;me.callParent(arguments);me.store=me.getStorageObject();me.state=me.readLocalStorage()},readLocalStorage:function(){var store=this.store,i=0,len=store.length,prefix=this.prefix,prefixLen=prefix.length,data={},key;for(;i0)?e.changedTouches[0]:e;return new this(e.pageX,e.pageY)}},constructor:function(x,y){this.callParent([y,x,y,x])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(p){return(this.x==p.x&&this.y==p.y)},isWithin:function(p,threshold){if(!Ext.isObject(threshold)){threshold={x:threshold,y:threshold}}return(this.x<=p.x+threshold.x&&this.x>=p.x-threshold.x&&this.y<=p.y+threshold.y&&this.y>=p.y-threshold.y)},roundedEquals:function(p){return(Math.round(this.x)==Math.round(p.x)&&Math.round(this.y)==Math.round(p.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",alternateClassName:"Ext.view.AbstractView",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],inheritableStatics:{getRecord:function(node){return this.getBoundView(node).getRecord(node)},getBoundView:function(node){return Ext.getCmp(node.boundView)}},itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var me=this,isDef=Ext.isDefined,itemTpl=me.itemTpl,memberFn={};if(itemTpl){if(Ext.isArray(itemTpl)){itemTpl=itemTpl.join("")}else{if(Ext.isObject(itemTpl)){memberFn=Ext.apply(memberFn,itemTpl.initialConfig);itemTpl=itemTpl.html}}if(!me.itemSelector){me.itemSelector="."+me.itemCls}itemTpl=Ext.String.format('
{1}
',me.itemCls,itemTpl);me.tpl=Ext.create("Ext.XTemplate",itemTpl,memberFn)}me.callParent();if(Ext.isString(me.tpl)||Ext.isArray(me.tpl)){me.tpl=Ext.create("Ext.XTemplate",me.tpl)}me.addEvents("beforerefresh","refresh","itemupdate","itemadd","itemremove");me.addCmpEvents();if(me.store){me.store=Ext.data.StoreManager.lookup(me.store)}me.all=new Ext.CompositeElementLite()},onRender:function(){var me=this,mask=me.loadMask,cfg={msg:me.loadingText,msgCls:me.loadingCls,useMsg:me.loadingUseMsg};me.callParent(arguments);if(mask){if(Ext.isObject(mask)){cfg=Ext.apply(cfg,mask)}me.loadMask=Ext.create("Ext.LoadMask",me.floating?me:me.ownerCt||me,cfg);me.loadMask.on({scope:me,beforeshow:me.onMaskBeforeShow,hide:me.onMaskHide})}},onMaskBeforeShow:function(){var me=this;me.getSelectionModel().deselectAll();me.all.clear();if(me.loadingHeight){me.setCalculatedSize(undefined,me.loadingHeight)}},onMaskHide:function(){if(!this.destroying&&this.loadingHeight){this.setHeight(this.height)}},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var me=this,mode="SINGLE";if(!me.selModel){me.selModel={}}if(me.simpleSelect){mode="SIMPLE"}else{if(me.multiSelect){mode="MULTI"}}Ext.applyIf(me.selModel,{allowDeselect:me.allowDeselect,mode:mode});if(!me.selModel.events){me.selModel=Ext.create("Ext.selection.DataViewModel",me.selModel)}if(!me.selModel.hasRelaySetup){me.relayEvents(me.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);me.selModel.hasRelaySetup=true}if(me.disableSelection){me.selModel.locked=true}return me.selModel},refresh:function(){var me=this,el,records;if(!me.rendered){return}me.fireEvent("beforerefresh",me);el=me.getTargetEl();records=me.store.getRange();el.update("");if(records.length<1){if(!me.deferEmptyText||me.hasSkippedEmptyText){el.update(me.emptyText)}me.all.clear()}else{me.tpl.overwrite(el,me.collectData(records,0));me.all.fill(Ext.query(me.getItemSelector(),el.dom));me.updateIndexes(0)}me.selModel.refresh();me.hasSkippedEmptyText=true;me.fireEvent("refresh",me)},prepareData:function(data,index,record){if(record){Ext.apply(data,record.getAssociatedData())}return data},collectData:function(records,startIndex){var r=[],i=0,len=records.length,record;for(;i-1){node=me.bufferRender([record],index)[0];me.all.replaceElement(index,node,true);me.updateIndexes(index,index);me.selModel.refresh();me.fireEvent("itemupdate",record,index,node)}},onAdd:function(ds,records,index){var me=this,nodes;if(me.all.getCount()===0){me.refresh();return}nodes=me.bufferRender(records,index);me.doAdd(nodes,records,index);me.selModel.refresh();me.updateIndexes(index);me.fireEvent("itemadd",records,index,nodes)},doAdd:function(nodes,records,index){var all=this.all;if(index=end&&ns[i];i--){nodes.push(ns[i])}}return nodes},indexOf:function(node){node=this.getNode(node);if(Ext.isNumber(node.viewIndex)){return node.viewIndex}return this.all.indexOf(node)},onDestroy:function(){var me=this;me.all.clear();me.callParent();me.bindStore(null);me.selModel.destroy()},onItemSelect:function(record){var node=this.getNode(record);Ext.fly(node).addCls(this.selectedItemCls)},onItemDeselect:function(record){var node=this.getNode(record);Ext.fly(node).removeCls(this.selectedItemCls)},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection().length},getSelectedRecords:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection()},select:function(records,keepExisting,supressEvents){if(Ext.global.console){Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()")}var sm=this.getSelectionModel();return sm.select.apply(sm,arguments)},clearSelections:function(){if(Ext.global.console){Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()")}var sm=this.getSelectionModel();return sm.deselectAll()}})})});Ext.define("Ext.Action",{constructor:function(config){this.initialConfig=config;this.itemId=config.itemId=(config.itemId||config.id||Ext.id());this.items=[]},isAction:true,setText:function(text){this.initialConfig.text=text;this.callEach("setText",[text])},getText:function(){return this.initialConfig.text},setIconCls:function(cls){this.initialConfig.iconCls=cls;this.callEach("setIconCls",[cls])},getIconCls:function(){return this.initialConfig.iconCls},setDisabled:function(v){this.initialConfig.disabled=v;this.callEach("setDisabled",[v])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(v){this.initialConfig.hidden=v;this.callEach("setVisible",[!v])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(fn,scope){this.initialConfig.handler=fn;this.initialConfig.scope=scope;this.callEach("setHandler",[fn,scope])},each:function(fn,scope){Ext.each(this.items,fn,scope)},callEach:function(fnName,args){var items=this.items,i=0,len=items.length;for(;ime.zindex){me.shim.setStyle("z-index",me.zindex-2)}shim.show();if(shadow.isVisible()){shadowPos=shadow.el.getXY();shimStyle=shim.dom.style;shadowSize=shadow.el.getSize();shimStyle.left=(shadowPos[0])+"px";shimStyle.top=(shadowPos[1])+"px";shimStyle.width=(shadowSize.width)+"px";shimStyle.height=(shadowSize.height)+"px"}else{shim.setSize(w,h);shim.setLeftTop(l,t)}}}else{if(shim){shimIndex=shim.getStyle("z-index");if(shimIndex>me.zindex){me.shim.setStyle("z-index",me.zindex-2)}shim.show();shim.setSize(w,h);shim.setLeftTop(l,t)}}}return this},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var vw=Ext.core.Element.getViewWidth(),vh=Ext.core.Element.getViewHeight(),s=Ext.getDoc().getScroll(),xy=this.getXY(),x=xy[0],y=xy[1],so=this.shadowOffset,w=this.dom.offsetWidth+so,h=this.dom.offsetHeight+so,moved=false;if((x+w)>vw+s.left){x=vw-w-so;moved=true}if((y+h)>vh+s.top){y=vh-h-so;moved=true}if(x',"
 
","",'
','
',"
 
","
","
"],componentLayout:"progressbar",initComponent:function(){this.callParent();this.renderSelectors=Ext.apply(this.renderSelectors||{},{textTopEl:"."+this.baseCls+"-text",textBackEl:"."+this.baseCls+"-text-back",bar:"."+this.baseCls+"-bar"});this.addEvents("update")},afterRender:function(){var me=this;me.textEl=me.textEl?Ext.get(me.textEl):me.el.select("."+me.baseCls+"-text");this.callParent(arguments);if(me.value){me.updateProgress(me.value,me.text)}else{me.updateText(me.text)}},updateProgress:function(value,text,animate){var newWidth;this.value=value||0;if(text){this.updateText(text)}if(this.rendered&&!this.isDestroyed){newWidth=Math.floor(this.value*this.el.getWidth(true));if(Ext.isForcedBorderBox){newWidth+=this.bar.getBorderWidth("lr")}if(animate===true||(animate!==false&&this.animate)){this.bar.stopAnimation();this.bar.animate(Ext.apply({to:{width:newWidth+"px"}},this.animate))}else{this.bar.setWidth(newWidth)}}this.fireEvent("update",this,this.value,text);return this},updateText:function(text){this.text=text;if(this.rendered){this.textEl.update(this.text)}return this},applyText:function(text){this.updateText(text)},wait:function(o){if(!this.waitTimer){var scope=this;o=o||{};this.updateText(o.text);this.waitTimer=Ext.TaskManager.start({run:function(i){var inc=o.increment||10;i-=1;this.updateProgress(((((i+inc)%inc)+1)*(100/inc))*0.01,null,o.animate)},interval:o.interval||1000,duration:o.duration,onStop:function(){if(o.fn){o.fn.apply(o.scope||this)}this.reset()},scope:scope})}return this},isWaiting:function(){return this.waitTimer!==null},reset:function(hide){this.updateProgress(0);this.clearTimer();if(hide===true){this.hide()}return this},clearTimer:function(){if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskManager.stop(this.waitTimer);this.waitTimer=null}},onDestroy:function(){this.clearTimer();if(this.rendered){if(this.textEl.isComposite){this.textEl.clear()}Ext.destroyMembers(this,"textEl","progressBar","textTopEl")}this.callParent()}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.core.DomHelper"],markup:function(){if(Ext.supports.CSS3BoxShadow){return''}else{if(Ext.isIE){return''}else{return''}}}(),shadows:[],pull:function(){var sh=this.shadows.shift();if(!sh){sh=Ext.get(Ext.core.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));sh.autoBoxAdjust=false}return sh},push:function(sh){this.shadows.push(sh)},reset:function(){Ext.Array.each(this.shadows,function(shadow){shadow.remove()});this.shadows=[]}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(config){Ext.apply(this,config);if(typeof this.mode!="string"){this.mode=this.defaultMode}var offset=this.offset,adjusts={h:0},rad=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":if(Ext.supports.CSS3BoxShadow){adjusts.w=adjusts.h=-offset;adjusts.l=adjusts.t=offset}else{adjusts.w=0;adjusts.l=adjusts.t=offset;adjusts.t-=1;if(Ext.isIE){adjusts.l-=offset+rad;adjusts.t-=offset+rad;adjusts.w-=rad;adjusts.h-=rad;adjusts.t+=1}}break;case"sides":if(Ext.supports.CSS3BoxShadow){adjusts.h-=offset;adjusts.t=offset;adjusts.l=adjusts.w=0}else{adjusts.w=(offset*2);adjusts.l=-offset;adjusts.t=offset-1;if(Ext.isIE){adjusts.l-=(offset-rad);adjusts.t-=offset+rad;adjusts.l+=1;adjusts.w-=(offset-rad)*2;adjusts.w-=rad+1;adjusts.h-=1}}break;case"frame":if(Ext.supports.CSS3BoxShadow){adjusts.l=adjusts.w=adjusts.t=0}else{adjusts.w=adjusts.h=(offset*2);adjusts.l=adjusts.t=-offset;adjusts.t+=1;adjusts.h-=2;if(Ext.isIE){adjusts.l-=(offset-rad);adjusts.t-=(offset-rad);adjusts.l+=1;adjusts.w-=(offset+rad+1);adjusts.h-=(offset+rad);adjusts.h+=1}break}}this.adjusts=adjusts},offset:4,defaultMode:"drop",show:function(target){target=Ext.get(target);if(!this.el){this.el=Ext.ShadowPool.pull();if(this.el.dom.nextSibling!=target.dom){this.el.insertBefore(target)}}this.el.setStyle("z-index",this.zIndex||parseInt(target.getStyle("z-index"),10)-1);if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"}this.realign(target.getLeft(true),target.getTop(true),target.getWidth(),target.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(l,t,targetWidth,targetHeight){if(!this.el){return}var adjusts=this.adjusts,d=this.el.dom,targetStyle=d.style,shadowWidth,shadowHeight,cn,sww,sws,shs;targetStyle.left=(l+adjusts.l)+"px";targetStyle.top=(t+adjusts.t)+"px";shadowWidth=Math.max(targetWidth+adjusts.w,0);shadowHeight=Math.max(targetHeight+adjusts.h,0);sws=shadowWidth+"px";shs=shadowHeight+"px";if(targetStyle.width!=sws||targetStyle.height!=shs){targetStyle.width=sws;targetStyle.height=shs;if(Ext.supports.CSS3BoxShadow){targetStyle.boxShadow="0 0 "+this.offset+"px 0 #888"}else{if(!Ext.isIE){cn=d.childNodes;sww=Math.max(0,(shadowWidth-12))+"px";cn[0].childNodes[1].style.width=sww;cn[1].childNodes[1].style.width=sww;cn[2].childNodes[1].style.width=sww;cn[1].style.height=Math.max(0,(shadowHeight-12))+"px"}}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.ShadowPool.push(this.el);delete this.el}},setZIndex:function(z){this.zIndex=z;if(this.el){this.el.setStyle("z-index",z)}}});Ext.define("Ext.button.Split",{alias:"widget.splitbutton",extend:"Ext.button.Button",alternateClassName:"Ext.SplitButton",arrowCls:"split",split:true,initComponent:function(){this.callParent();this.addEvents("arrowclick")},setArrowHandler:function(handler,scope){this.arrowHandler=handler;this.scope=scope},onClick:function(e,t){var me=this;e.preventDefault();if(!me.disabled){if(me.overMenuTrigger){if(me.menu&&!me.menu.isVisible()&&!me.ignoreNextClick){me.showMenu()}me.fireEvent("arrowclick",me,e);if(me.arrowHandler){me.arrowHandler.call(me.scope||me,me,e)}}else{if(me.enableToggle){me.toggle()}me.fireEvent("click",me,e);if(me.handler){me.handler.call(me.scope||me,me,e)}me.onBlur()}}}});Ext.define("Ext.button.Cycle",{alias:"widget.cycle",extend:"Ext.button.Split",alternateClassName:"Ext.CycleButton",getButtonText:function(item){var me=this,text="";if(item&&me.showText===true){if(me.prependText){text+=me.prependText}text+=item.text;return text}return me.text},setActiveItem:function(item,suppressEvent){var me=this;if(!Ext.isObject(item)){item=me.menu.getComponent(item)}if(item){if(!me.rendered){me.text=me.getButtonText(item);me.iconCls=item.iconCls}else{me.setText(me.getButtonText(item));me.setIconCls(item.iconCls)}me.activeItem=item;if(!item.checked){item.setChecked(true,false)}if(me.forceIcon){me.setIconCls(me.forceIcon)}if(!suppressEvent){me.fireEvent("change",me,item)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){var me=this,checked=0,items;me.addEvents("change");if(me.changeHandler){me.on("change",me.changeHandler,me.scope||me);delete me.changeHandler}items=(me.menu.items||[]).concat(me.items||[]);me.menu=Ext.applyIf({cls:Ext.baseCSSPrefix+"cycle-menu",items:[]},me.menu);Ext.each(items,function(item,i){item=Ext.applyIf({group:me.id,itemIndex:i,checkHandler:me.checkHandler,scope:me,checked:item.checked||false},item);me.menu.items.push(item);if(item.checked){checked=i}});me.itemCount=me.menu.items.length;me.callParent(arguments);me.on("click",me.toggleSelected,me);me.setActiveItem(checked,me);if(me.width&&me.showText){me.addCls(Ext.baseCSSPrefix+"cycle-fixed-width")}},checkHandler:function(item,pressed){if(pressed){this.setActiveItem(item)}},toggleSelected:function(){var me=this,m=me.menu,checkItem;checkItem=me.activeItem.next(":not([disabled])")||m.items.getAt(0);checkItem.setChecked(true)}});Ext.define("Ext.container.ButtonGroup",{extend:"Ext.panel.Panel",alias:"widget.buttongroup",alternateClassName:"Ext.ButtonGroup",baseCls:Ext.baseCSSPrefix+"btn-group",layout:{type:"table"},defaultType:"button",frame:true,frameHeader:false,internalDefaults:{removeMode:"container",hideParent:true},initComponent:function(){var me=this,cols=me.columns;me.noTitleCls=me.baseCls+"-notitle";if(cols){me.layout=Ext.apply({},{columns:cols},me.layout)}if(!me.title){me.addCls(me.noTitleCls)}me.callParent(arguments)},afterLayout:function(){var me=this;me.callParent(arguments);if(me.layout.table&&(Ext.isIEQuirks||Ext.isIE6)&&!me.width){var t=me.getTargetEl();t.setWidth(me.layout.table.offsetWidth+t.getPadding("lr"))}},afterRender:function(){var me=this;if(me.header){delete me.header.items.items[0].flex;me.suspendLayout=true;me.header.insert(1,{xtype:"component",ui:me.ui,flex:1});me.header.insert(0,{xtype:"component",ui:me.ui,flex:1});me.suspendLayout=false}me.callParent(arguments)},onBeforeAdd:function(component){if(component.is("button")){component.ui=component.ui+"-toolbar"}this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:true,ariaRole:"application",initComponent:function(){var me=this,html=Ext.fly(document.body.parentNode),el;me.callParent(arguments);html.addCls(Ext.baseCSSPrefix+"viewport");if(me.autoScroll){html.setStyle("overflow","auto")}me.el=el=Ext.getBody();el.setHeight=Ext.emptyFn;el.setWidth=Ext.emptyFn;el.setSize=Ext.emptyFn;el.dom.scroll="no";me.allowDomMove=false;Ext.EventManager.onWindowResize(me.fireResize,me);me.renderTo=me.el;me.width=Ext.core.Element.getViewportWidth();me.height=Ext.core.Element.getViewportHeight()},fireResize:function(w,h){this.setSize(w,h)}});Ext.define("Ext.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(id,sGroup,config){if(id){this.initTarget(id,sGroup,config)}},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:false,trackOver:false,tolerance:5,autoStart:false,constructor:function(config){Ext.apply(this,config);this.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");this.dragRegion=Ext.create("Ext.util.Region",0,0,0,0);if(this.el){this.initEl(this.el)}this.mixins.observable.constructor.call(this);if(this.disabled){this.disable()}},initEl:function(el){this.el=Ext.get(el);this.handle=Ext.get(this.delegate);this.delegate=this.handle?undefined:this.delegate;if(!this.handle){this.handle=this.el}this.mon(this.handle,{mousedown:this.onMouseDown,delegate:this.delegate,scope:this});if(this.trackOver||this.overCls){this.mon(this.handle,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,delegate:this.delegate,scope:this})}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(e,target){var me=this;if(!me.disabled){if(Ext.EventManager.contains(e)||me.delegate){me.mouseIsOut=false;if(me.overCls){me.el.addCls(me.overCls)}me.fireEvent("mouseover",me,e,me.delegate?e.getTarget(me.delegate,target):me.handle)}}},onMouseOut:function(e){if(this.mouseIsDown){this.mouseIsOut=true}else{if(this.overCls){this.el.removeCls(this.overCls)}this.fireEvent("mouseout",this,e)}},onMouseDown:function(e,target){if(this.disabled||e.dragTracked){return}this.dragTarget=this.delegate?target:this.handle.dom;this.startXY=this.lastXY=e.getXY();this.startRegion=Ext.fly(this.dragTarget).getRegion();if(this.fireEvent("mousedown",this,e)===false||this.fireEvent("beforedragstart",this,e)===false||this.onBeforeStart(e)===false){return}this.mouseIsDown=true;e.dragTracked=true;if(this.preventDefault!==false){e.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=Ext.defer(this.triggerStart,this.autoStart===true?1000:this.autoStart,this,[e])}},onMouseMove:function(e,target){if(this.active&&Ext.isIE&&!e.browserEvent.button){e.preventDefault();this.onMouseUp(e);return}e.preventDefault();var xy=e.getXY(),s=this.startXY;this.lastXY=xy;if(!this.active){if(Math.max(Math.abs(s[0]-xy[0]),Math.abs(s[1]-xy[1]))>this.tolerance){this.triggerStart(e)}else{return}}if(this.fireEvent("mousemove",this,e)===false){this.onMouseUp(e)}else{this.onDrag(e);this.fireEvent("drag",this,e)}},onMouseUp:function(e){this.mouseIsDown=false;if(this.mouseIsOut){this.mouseIsOut=false;this.onMouseOut(e)}e.preventDefault();this.fireEvent("mouseup",this,e);this.endDrag(e)},endDrag:function(e){var doc=Ext.getDoc(),wasActive=this.active;doc.un("mousemove",this.onMouseMove,this);doc.un("mouseup",this.onMouseUp,this);doc.un("selectstart",this.stopSelect,this);this.clearStart();this.active=false;if(wasActive){this.onEnd(e);this.fireEvent("dragend",this,e)}delete this._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(e){this.clearStart();this.active=true;this.onStart(e);this.fireEvent("dragstart",this,e)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(e){e.stopEvent();return false},onBeforeStart:function(e){},onStart:function(xy){},onDrag:function(e){},onEnd:function(e){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){if(this.constrainTo){if(this.constrainTo instanceof Ext.util.Region){return this.constrainTo}if(!this._constrainRegion){this._constrainRegion=Ext.fly(this.constrainTo).getViewRegion()}}else{if(!this._constrainRegion){this._constrainRegion=this.getDragCt().getViewRegion()}}return this._constrainRegion},getXY:function(constrain){return constrain?this.constrainModes[constrain](this,this.lastXY):this.lastXY},getOffset:function(constrain){var xy=this.getXY(constrain),s=this.startXY;return[xy[0]-s[0],xy[1]-s[1]]},constrainModes:{point:function(me,xy){var dr=me.dragRegion,constrainTo=me.getConstrainRegion();if(!constrainTo){return xy}dr.x=dr.left=dr[0]=dr.right=xy[0];dr.y=dr.top=dr[1]=dr.bottom=xy[1];dr.constrainTo(constrainTo);return[dr.left,dr.top]},dragTarget:function(me,xy){var s=me.startXY,dr=me.startRegion.copy(),constrainTo=me.getConstrainRegion(),adjust;if(!constrainTo){return xy}dr.translateBy(xy[0]-s[0],xy[1]-s[1]);if(dr.right>constrainTo.right){xy[0]+=adjust=(constrainTo.right-dr.right);dr.left+=adjust}if(dr.leftconstrainTo.bottom){xy[1]+=adjust=(constrainTo.bottom-dr.bottom);dr.top+=adjust}if(dr.top'],initComponent:function(){this.callParent();this.addEvents("success","failure")},onRender:function(){var me=this,params,vars,undef,swfId=me.getSwfId();me.renderData.swfId=swfId;me.callParent(arguments);params=Ext.apply({allowScriptAccess:"always",bgcolor:me.backgroundColor,wmode:me.wmode},me.flashParams);vars=Ext.apply({allowedDomain:document.location.hostname},me.flashVars);new swfobject.embedSWF(me.url,swfId,me.swfWidth,me.swfHeight,me.flashVersion,me.expressInstall?me.statics.EXPRESS_INSTALL_URL:undef,vars,params,me.flashAttributes,Ext.bind(me.swfCallback,me))},swfCallback:function(e){var me=this;if(e.success){me.swf=Ext.get(e.ref);me.onSuccess();me.fireEvent("success",me)}else{me.onFailure();me.fireEvent("failure",me)}},getSwfId:function(){return this.swfId||(this.swfId="extswf"+this.getAutoId())},onSuccess:function(){this.swf.setStyle("visibility","inherit")},onFailure:Ext.emptyFn,beforeDestroy:function(){var me=this,swf=me.swf;if(swf){swfobject.removeSWF(me.getSwfId());Ext.destroy(swf);delete me.swf}me.callParent()},statics:{EXPRESS_INSTALL_URL:"http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf"}});Ext.define("Ext.form.action.Action",{alternateClassName:"Ext.form.Action",constructor:function(config){if(config){Ext.apply(this,config)}var params=config.params;if(Ext.isString(params)){this.params=Ext.Object.fromQueryString(params)}},run:Ext.emptyFn,onFailure:function(response){this.response=response;this.failureType=Ext.form.action.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(response){this.response=response;if(!response.responseText&&!response.responseXML){return true}return(this.result=this.handleResponse(response))},getUrl:function(){return this.url||this.form.url},getMethod:function(){return(this.method||this.form.method||"POST").toUpperCase()},getParams:function(){return Ext.apply({},this.params,this.form.baseParams)},createCallback:function(){var me=this,undef,form=me.form;return{success:me.onSuccess,failure:me.onFailure,scope:me,timeout:(this.timeout*1000)||(form.timeout*1000),upload:form.fileUpload?me.onSuccess:undef}},statics:{CLIENT_INVALID:"client",SERVER_INVALID:"server",CONNECT_FAILURE:"connect",LOAD_FAILURE:"load"}});Ext.define("Ext.form.action.Submit",{extend:"Ext.form.action.Action",alternateClassName:"Ext.form.Action.Submit",alias:"formaction.submit",type:"submit",run:function(){var form=this.form;if(this.clientValidation===false||form.isValid()){this.doSubmit()}else{this.failureType=Ext.form.action.Action.CLIENT_INVALID;form.afterAction(this,false)}},doSubmit:function(){var formEl,ajaxOptions=Ext.apply(this.createCallback(),{url:this.getUrl(),method:this.getMethod(),headers:this.headers});if(this.form.hasUpload()){formEl=ajaxOptions.form=this.buildForm();ajaxOptions.isUpload=true}else{ajaxOptions.params=this.getParams()}Ext.Ajax.request(ajaxOptions);if(formEl){Ext.removeNode(formEl)}},getParams:function(){var nope=false,configParams=this.callParent(),fieldParams=this.form.getValues(nope,nope,this.submitEmptyText!==nope);return Ext.apply({},fieldParams,configParams)},buildForm:function(){var fieldsSpec=[],formSpec,formEl,basicForm=this.form,params=this.getParams(),uploadFields=[];basicForm.getFields().each(function(field){if(field.isFileUpload()){uploadFields.push(field)}});function addField(name,val){fieldsSpec.push({tag:"input",type:"hidden",name:name,value:Ext.String.htmlEncode(val)})}Ext.iterate(params,function(key,val){if(Ext.isArray(val)){Ext.each(val,function(v){addField(key,v)})}else{addField(key,val)}});formSpec={tag:"form",action:this.getUrl(),method:this.getMethod(),target:this.target||"_self",style:"display:none",cn:fieldsSpec};if(uploadFields.length){formSpec.encoding=formSpec.enctype="multipart/form-data"}formEl=Ext.core.DomHelper.append(Ext.getBody(),formSpec);Ext.Array.each(uploadFields,function(field){if(field.rendered){formEl.appendChild(field.extractFileInput())}});return formEl},onSuccess:function(response){var form=this.form,success=true,result=this.processResponse(response);if(result!==true&&!result.success){if(result.errors){form.markInvalid(result.errors)}this.failureType=Ext.form.action.Action.SERVER_INVALID;success=false}form.afterAction(this,success)},handleResponse:function(response){var form=this.form,errorReader=form.errorReader,rs,errors,i,len,records;if(errorReader){rs=errorReader.read(response);records=rs.records;errors=[];if(records){for(i=0,len=records.length;i',' for="{inputId}" class="{labelCls}" style="{labelStyle}">','{fieldLabel}{labelSeparator}',"","",'
id="{baseBodyCls}-{inputId}" role="presentation">{subTplMarkup}
','','',{compiled:true,disableFormats:true}],activeErrorsTpl:['','
    class="last">{.}
',"
"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",initLabelable:function(){this.addCls(this.formItemCls);this.addEvents("errorchange")},getFieldLabel:function(){return this.fieldLabel||""},getLabelableRenderData:function(){var me=this,labelAlign=me.labelAlign,labelPad=me.labelPad,labelStyle;if(labelAlign==="top"){labelStyle="margin-bottom:"+labelPad+"px;"}else{labelStyle="margin-right:"+labelPad+"px;";if(Ext.isBorderBox){labelStyle+="width:"+me.labelWidth+"px;"}}return Ext.copyTo({inputId:me.getInputId(),fieldLabel:me.getFieldLabel(),labelStyle:labelStyle+(me.labelStyle||""),subTplMarkup:me.getSubTplMarkup()},me,"hideLabel,hideEmptyLabel,labelCls,fieldBodyCls,baseBodyCls,errorMsgCls,clearCls,labelSeparator",true)},getLabelableSelectors:function(){return{labelEl:"label."+this.labelCls,bodyEl:"."+this.baseBodyCls,errorEl:"."+this.errorMsgCls}},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(msg){this.activeError=msg;this.activeErrors=[msg];this.renderActiveError()},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(errors){this.activeErrors=errors;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:errors});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var me=this,activeError=me.getActiveError(),hasError=!!activeError;if(activeError!==me.lastActiveError){me.fireEvent("errorchange",me,activeError);me.lastActiveError=activeError}if(me.rendered&&!me.isDestroyed&&!me.preventMark){me.el[hasError?"addCls":"removeCls"](me.invalidCls);me.getActionEl().dom.setAttribute("aria-invalid",hasError);me.errorEl.dom.innerHTML=activeError}},setFieldDefaults:function(defaults){var me=this;Ext.iterate(defaults,function(key,val){if(!me.hasOwnProperty(key)){me[key]=val}})},getBodyNaturalWidth:function(){return this.bodyEl.getWidth()}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var me=this;me.originalValue=me.lastValue=me.value;me.suspendCheckChange++;me.setValue(me.value);me.suspendCheckChange--},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(value){var me=this;me.value=value;me.checkChange();return me},isEqual:function(value1,value2){return String(value1)===String(value2)},getSubmitData:function(){var me=this,data=null;if(!me.disabled&&me.submitValue&&!me.isFileUpload()){data={};data[me.getName()]=""+me.getValue()}return data},getModelData:function(){var me=this,data=null;if(!me.disabled&&!me.isFileUpload()){data={};data[me.getName()]=me.getValue()}return data},reset:function(){var me=this;me.setValue(me.originalValue);me.clearInvalid();delete me.wasValid},resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var me=this,newVal=me.getValue(),oldVal=me.lastValue;if(!me.isEqual(newVal,oldVal)&&!me.isDestroyed){me.lastValue=newVal;me.fireEvent("change",me,newVal,oldVal);me.onChange(newVal,oldVal)}}},onChange:function(newVal,oldVal){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var me=this;return !me.disabled&&!me.isEqual(me.getValue(),me.originalValue)},checkDirty:function(){var me=this,isDirty=me.isDirty();if(isDirty!==me.wasDirty){me.fireEvent("dirtychange",me,isDirty);me.onDirtyChange(isDirty);me.wasDirty=isDirty}},onDirtyChange:Ext.emptyFn,getErrors:function(value){return[]},isValid:function(){var me=this;return me.disabled||Ext.isEmpty(me.getErrors())},validate:function(){var me=this,isValid=me.isValid();if(isValid!==me.wasValid){me.wasValid=isValid;me.fireEvent("validitychange",me,isValid)}return isValid},batchChanges:function(fn){this.suspendCheckChange++;fn();this.suspendCheckChange--;this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.layout.component.field.Field",{alias:["layout.field"],extend:"Ext.layout.component.Component",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics"],type:"field",beforeLayout:function(width,height){var me=this;return me.callParent(arguments)||(!me.owner.preventMark&&me.activeError!==me.owner.getActiveError())},onLayout:function(width,height){var me=this,owner=me.owner,labelStrategy=me.getLabelStrategy(),errorStrategy=me.getErrorStrategy(),isDefined=Ext.isDefined,isNumber=Ext.isNumber,lastSize,autoWidth,autoHeight,info,undef;lastSize=me.lastComponentSize||{};if(!isDefined(width)){width=lastSize.width;if(width<0){width=undef}}if(!isDefined(height)){height=lastSize.height;if(height<0){height=undef}}autoWidth=!isNumber(width);autoHeight=!isNumber(height);info={autoWidth:autoWidth,autoHeight:autoHeight,width:autoWidth?owner.getBodyNaturalWidth():width,height:height,setOuterWidth:false,insets:{top:0,right:0,bottom:0,left:0}};labelStrategy.prepare(owner,info);errorStrategy.prepare(owner,info);labelStrategy.adjustHorizInsets(owner,info);errorStrategy.adjustHorizInsets(owner,info);labelStrategy.layoutHoriz(owner,info);errorStrategy.layoutHoriz(owner,info);labelStrategy.adjustVertInsets(owner,info);errorStrategy.adjustVertInsets(owner,info);labelStrategy.layoutVert(owner,info);errorStrategy.layoutVert(owner,info);if(autoWidth&&autoHeight){me.setElementSize(owner.el,(info.setOuterWidth?info.width:undef),info.height)}else{me.setTargetSize((!autoWidth||info.setOuterWidth?info.width:undef),info.height)}me.sizeBody(info);me.activeError=owner.getActiveError()},sizeBody:function(info){var me=this,owner=me.owner,insets=info.insets,totalWidth=info.width,totalHeight=info.height,width=Ext.isNumber(totalWidth)?totalWidth-insets.left-insets.right:totalWidth,height=Ext.isNumber(totalHeight)?totalHeight-insets.top-insets.bottom:totalHeight;me.setElementSize(owner.bodyEl,width,height);me.sizeBodyContents(width,height)},sizeBodyContents:Ext.emptyFn,getLabelStrategy:function(){var me=this,strategies=me.labelStrategies,labelAlign=me.owner.labelAlign;return strategies[labelAlign]||strategies.base},getErrorStrategy:function(){var me=this,owner=me.owner,strategies=me.errorStrategies,msgTarget=owner.msgTarget;return !owner.preventMark&&Ext.isString(msgTarget)?(strategies[msgTarget]||strategies.elementId):strategies.none},labelStrategies:(function(){var applyIf=Ext.applyIf,emptyFn=Ext.emptyFn,base={prepare:function(owner,info){var cls=owner.labelCls+"-"+owner.labelAlign,labelEl=owner.labelEl;if(labelEl&&!labelEl.hasCls(cls)){labelEl.addCls(cls)}},adjustHorizInsets:emptyFn,adjustVertInsets:emptyFn,layoutHoriz:emptyFn,layoutVert:emptyFn},left=applyIf({prepare:function(owner,info){base.prepare(owner,info);if(info.autoWidth){info.width+=(!owner.labelEl?0:owner.labelWidth+owner.labelPad)}info.setOuterWidth=true},adjustHorizInsets:function(owner,info){if(owner.labelEl){info.insets.left+=owner.labelWidth+owner.labelPad}},layoutHoriz:function(owner,info){var labelEl=owner.labelEl;if(labelEl&&!owner.isLabelSized&&!Ext.isBorderBox){labelEl.setWidth(owner.labelWidth);owner.isLabelSized=true}}},base);return{base:base,top:applyIf({adjustVertInsets:function(owner,info){var labelEl=owner.labelEl;if(labelEl){info.insets.top+=Ext.util.TextMetrics.measure(labelEl,owner.fieldLabel,info.width).height+labelEl.getFrameWidth("tb")+owner.labelPad}}},base),left:left,right:left}})(),errorStrategies:(function(){function setDisplayed(el,displayed){var wasDisplayed=el.getStyle("display")!=="none";if(displayed!==wasDisplayed){el.setDisplayed(displayed)}}function setStyle(el,name,value){if(el.getStyle(name)!==value){el.setStyle(name,value)}}var applyIf=Ext.applyIf,emptyFn=Ext.emptyFn,base={prepare:function(owner){setDisplayed(owner.errorEl,false)},adjustHorizInsets:emptyFn,adjustVertInsets:emptyFn,layoutHoriz:emptyFn,layoutVert:emptyFn};return{none:base,side:applyIf({prepare:function(owner){var errorEl=owner.errorEl;errorEl.addCls(Ext.baseCSSPrefix+"form-invalid-icon");Ext.layout.component.field.Field.initTip();errorEl.dom.setAttribute("data-errorqtip",owner.getActiveError()||"");setDisplayed(errorEl,owner.hasActiveError())},adjustHorizInsets:function(owner,info){if(owner.autoFitErrors&&owner.hasActiveError()){info.insets.right+=owner.errorEl.getWidth()}},layoutHoriz:function(owner,info){if(owner.hasActiveError()){setStyle(owner.errorEl,"left",info.width-info.insets.right+"px")}},layoutVert:function(owner,info){if(owner.hasActiveError()){setStyle(owner.errorEl,"top",info.insets.top+"px")}}},base),under:applyIf({prepare:function(owner){var errorEl=owner.errorEl,cls=Ext.baseCSSPrefix+"form-invalid-under";if(!errorEl.hasCls(cls)){errorEl.addCls(cls)}setDisplayed(errorEl,owner.hasActiveError())},adjustVertInsets:function(owner,info){if(owner.autoFitErrors){info.insets.bottom+=owner.errorEl.getHeight()}},layoutHoriz:function(owner,info){var errorEl=owner.errorEl,insets=info.insets;setStyle(errorEl,"width",info.width-insets.right-insets.left+"px");setStyle(errorEl,"marginLeft",insets.left+"px")}},base),qtip:applyIf({prepare:function(owner){setDisplayed(owner.errorEl,false);Ext.layout.component.field.Field.initTip();owner.getActionEl().dom.setAttribute("data-errorqtip",owner.getActiveError()||"")}},base),title:applyIf({prepare:function(owner){setDisplayed(owner.errorEl,false);owner.el.dom.title=owner.getActiveError()||""}},base),elementId:applyIf({prepare:function(owner){setDisplayed(owner.errorEl,false);var targetEl=Ext.fly(owner.msgTarget);if(targetEl){targetEl.dom.innerHTML=owner.getActiveError()||"";targetEl.setDisplayed(owner.hasActiveError())}}},base)}})(),statics:{initTip:function(){var tip=this.tip;if(!tip){tip=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip",renderTo:Ext.getBody()});tip.tagConfig=Ext.apply({},{attribute:"errorqtip"},tip.tagConfig)}},destroyTip:function(){var tip=this.tip;if(tip){tip.destroy();delete this.tip}}}});Ext.define("Ext.form.field.VTypes",(function(){var alpha=/^[a-zA-Z_]+$/,alphanum=/^[a-zA-Z0-9_]+$/,email=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,url=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:true,alternateClassName:"Ext.form.VTypes",email:function(v){return email.test(v)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(v){return url.test(v)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(v){return alpha.test(v)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(v){return alphanum.test(v)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}})());Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",beforeLayout:function(width,height){var me=this,owner=me.owner,lastValue=this.lastValue,value=owner.getRawValue();this.lastValue=value;return me.callParent(arguments)||(owner.grow&&value!==lastValue)},sizeBodyContents:function(width,height){var size=this.adjustForGrow(width,height);this.setElementSize(this.owner.inputEl,size[0],size[1])},adjustForGrow:function(width,height){var me=this,owner=me.owner,inputEl,value,calcWidth,result=[width,height];if(owner.grow){inputEl=owner.inputEl;value=(inputEl.dom.value||(owner.hasFocus?"":owner.emptyText)||"")+owner.growAppend;calcWidth=inputEl.getTextWidth(value)+inputEl.getBorderWidth("lr")+inputEl.getPadding("lr");result[0]=Ext.Number.constrain(calcWidth,owner.growMin,Math.max(owner.growMin,Math.min(owner.growMax,Ext.isNumber(width)?width:Infinity)))}return result}});Ext.define("Ext.layout.component.field.TextArea",{extend:"Ext.layout.component.field.Text",alias:"layout.textareafield",type:"textareafield",adjustForGrow:function(width,height){var me=this,owner=me.owner,inputEl,value,max,curWidth,curHeight,calcHeight,result=[width,height];if(owner.grow){inputEl=owner.inputEl;curWidth=inputEl.getWidth(true);curHeight=inputEl.getHeight();value=inputEl.dom.value||" ";value+=owner.growAppend;value=value.replace(/\n/g,"
");calcHeight=Ext.util.TextMetrics.measure(inputEl,value,curWidth).height+inputEl.getBorderWidth("tb")+inputEl.getPadding("tb");max=owner.growMax;if(Ext.isNumber(height)){max=Math.min(max,height)}result[1]=Ext.Number.constrain(calcHeight,owner.growMin,max)}return result}});Ext.define("Ext.layout.container.Anchor",{alias:"layout.anchor",extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.AnchorLayout",type:"anchor",defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,onLayout:function(){this.callParent(arguments);var me=this,size=me.getLayoutTargetSize(),owner=me.owner,target=me.getTarget(),ownerWidth=size.width,ownerHeight=size.height,overflow=target.getStyle("overflow"),components=me.getVisibleItems(owner),len=components.length,boxes=[],box,newTargetSize,component,anchorSpec,calcWidth,calcHeight,i,el,cleaner;if(ownerWidth<20&&ownerHeight<20){return}if(!me.clearEl){me.clearEl=target.createChild({cls:Ext.baseCSSPrefix+"clear",role:"presentation"})}if(!Ext.supports.RightMargin){cleaner=Ext.core.Element.getRightMarginFixCleaner(target);target.addCls(Ext.baseCSSPrefix+"inline-children")}for(i=0;iname="{name}" ','size="{size}" ','tabIndex="{tabIdx}" ','class="{fieldCls} {typeCls}" autocomplete="off" />',{compiled:true,disableFormats:true}],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var me=this;me.callParent();me.subTplData=me.subTplData||{};me.addEvents("focus","blur","specialkey");me.initLabelable();me.initField();if(!me.name){me.name=me.getInputId()}},getInputId:function(){return this.inputId||(this.inputId=Ext.id())},getSubTplData:function(){var me=this,type=me.inputType,inputId=me.getInputId();return Ext.applyIf(me.subTplData,{id:inputId,name:me.name||inputId,type:type,size:me.size||20,cls:me.cls,fieldCls:me.fieldCls,tabIdx:me.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(type==="password"?"text":type)})},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var me=this;if(!me.hasOwnProperty("renderTpl")){me.renderTpl=me.getTpl("labelableRenderTpl")}return me.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(style){var me=this,inputEl=me.inputEl;if(inputEl){inputEl.applyStyles(style)}me.fieldStyle=style},onRender:function(){var me=this,fieldStyle=me.fieldStyle,renderSelectors=me.renderSelectors;Ext.applyIf(renderSelectors,me.getLabelableSelectors());Ext.applyIf(renderSelectors,{inputEl:"."+me.fieldCls});me.callParent(arguments);me.setRawValue(me.rawValue);if(me.readOnly){me.setReadOnly(true)}if(me.disabled){me.disable()}if(fieldStyle){me.setFieldStyle(fieldStyle)}me.renderActiveError()},initAria:function(){var me=this;me.callParent();me.getActionEl().dom.setAttribute("aria-describedby",Ext.id(me.errorEl))},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var me=this,fileInput=me.isFileUpload()?me.inputEl.dom:null,clone;if(fileInput){clone=fileInput.cloneNode(true);fileInput.parentNode.replaceChild(clone,fileInput);me.inputEl=Ext.get(clone)}return fileInput},getSubmitData:function(){var me=this,data=null,val;if(!me.disabled&&me.submitValue&&!me.isFileUpload()){val=me.getSubmitValue();if(val!==null){data={};data[me.getName()]=val}}return data},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var me=this,v=(me.inputEl?me.inputEl.getValue():Ext.value(me.rawValue,""));me.rawValue=v;return v},setRawValue:function(value){var me=this;value=Ext.value(value,"");me.rawValue=value;if(me.inputEl){me.inputEl.dom.value=value}return value},valueToRaw:function(value){return""+Ext.value(value,"")},rawToValue:function(rawValue){return rawValue},processRawValue:function(value){return value},getValue:function(){var me=this,val=me.rawToValue(me.processRawValue(me.getRawValue()));me.value=val;return val},setValue:function(value){var me=this;me.setRawValue(me.valueToRaw(value));return me.mixins.field.setValue.call(me,value)},onDisable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=true}},onEnable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=false}},setReadOnly:function(readOnly){var me=this,inputEl=me.inputEl;if(inputEl){inputEl.dom.readOnly=readOnly;inputEl.dom.setAttribute("aria-readonly",readOnly)}me[readOnly?"addCls":"removeCls"](me.readOnlyCls);me.readOnly=readOnly},fireKey:function(e){if(e.isSpecialKey()){this.fireEvent("specialkey",this,Ext.create("Ext.EventObjectImpl",e))}},initEvents:function(){var me=this,inputEl=me.inputEl,onChangeTask,onChangeEvent;if(inputEl){me.mon(inputEl,Ext.EventManager.getKeyEvent(),me.fireKey,me);me.mon(inputEl,"focus",me.onFocus,me);me.mon(inputEl,"blur",me.onBlur,me,me.inEditor?{buffer:10}:null);onChangeTask=Ext.create("Ext.util.DelayedTask",me.checkChange,me);me.onChangeEvent=onChangeEvent=function(){onChangeTask.delay(me.checkChangeBuffer)};Ext.each(me.checkChangeEvents,function(eventName){if(eventName==="propertychange"){me.usesPropertychange=true}me.mon(inputEl,eventName,onChangeEvent)},me)}me.callParent()},doComponentLayout:function(){var me=this,inputEl=me.inputEl,usesPropertychange=me.usesPropertychange,ename="propertychange",onChangeEvent=me.onChangeEvent;if(usesPropertychange){me.mun(inputEl,ename,onChangeEvent)}me.callParent(arguments);if(usesPropertychange){me.mon(inputEl,ename,onChangeEvent)}},preFocus:Ext.emptyFn,onFocus:function(){var me=this,focusCls=me.focusCls,inputEl=me.inputEl;me.preFocus();if(focusCls&&inputEl){inputEl.addCls(focusCls)}if(!me.hasFocus){me.hasFocus=true;me.fireEvent("focus",me)}},beforeBlur:Ext.emptyFn,onBlur:function(){var me=this,focusCls=me.focusCls,inputEl=me.inputEl;me.beforeBlur();if(focusCls&&inputEl){inputEl.removeCls(focusCls)}if(me.validateOnBlur){me.validate()}me.hasFocus=false;me.fireEvent("blur",me);me.postBlur()},postBlur:Ext.emptyFn,onDirtyChange:function(isDirty){this[isDirty?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var me=this;return me.disabled||me.validateValue(me.processRawValue(me.getRawValue()))},validateValue:function(value){var me=this,errors=me.getErrors(value),isValid=Ext.isEmpty(errors);if(!me.preventMark){if(isValid){me.clearInvalid()}else{me.markInvalid(errors)}}return isValid},markInvalid:function(errors){var me=this,oldMsg=me.getActiveError();me.setActiveErrors(Ext.Array.from(errors));if(oldMsg!==me.getActiveError()){me.doComponentLayout()}},clearInvalid:function(){var me=this,hadError=me.hasActiveError();me.unsetActiveError();if(hadError){me.doComponentLayout()}},renderActiveError:function(){var me=this,hasError=me.hasActiveError();if(me.inputEl){me.inputEl[hasError?"addCls":"removeCls"](me.invalidCls+"-field")}me.mixins.labelable.renderActiveError.call(me)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",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}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",ariaRole:"textbox",componentLayout:"textfield",initComponent:function(){this.callParent();this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){var me=this,el=me.inputEl;me.callParent();if(me.selectOnFocus||me.emptyText){me.mon(el,"mousedown",me.onMouseDown,me)}if(me.maskRe||(me.vtype&&me.disableKeyFilter!==true&&(me.maskRe=Ext.form.field.VTypes[me.vtype+"Mask"]))){me.mon(el,"keypress",me.filterKeys,me)}if(me.enableKeyEvents){me.mon(el,{scope:me,keyup:me.onKeyUp,keydown:me.onKeyDown,keypress:me.onKeyPress})}},isEqual:function(value1,value2){return String(Ext.value(value1,""))===String(Ext.value(value2,""))},onChange:function(){this.callParent();this.autoSize()},afterRender:function(){var me=this;if(me.enforceMaxLength){me.inputEl.dom.maxLength=me.maxLength}me.applyEmptyText();me.autoSize();me.callParent()},onMouseDown:function(e){var me=this;if(!me.hasFocus){me.mon(me.inputEl,"mouseup",Ext.emptyFn,me,{single:true,preventDefault:true})}},processRawValue:function(value){var me=this,stripRe=me.stripCharsRe,newValue;if(stripRe){newValue=value.replace(stripRe,"");if(newValue!==value){me.setRawValue(newValue);value=newValue}}return value},onDisable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable="on"}},onEnable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable=""}},onKeyDown:function(e){this.fireEvent("keydown",this,e)},onKeyUp:function(e){this.fireEvent("keyup",this,e)},onKeyPress:function(e){this.fireEvent("keypress",this,e)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var me=this,emptyText=me.emptyText,isEmpty;if(me.rendered&&emptyText){isEmpty=me.getRawValue().length<1&&!me.hasFocus;if(Ext.supports.Placeholder){me.inputEl.dom.placeholder=emptyText}else{if(isEmpty){me.setRawValue(emptyText)}}if(isEmpty){me.inputEl.addCls(me.emptyCls)}me.autoSize()}},preFocus:function(){var me=this,inputEl=me.inputEl,emptyText=me.emptyText,isEmpty;if(emptyText&&!Ext.supports.Placeholder&&inputEl.dom.value===emptyText){me.setRawValue("");isEmpty=true;inputEl.removeCls(me.emptyCls)}else{if(Ext.supports.Placeholder){me.inputEl.removeCls(me.emptyCls)}}if(me.selectOnFocus||isEmpty){inputEl.dom.select()}},onFocus:function(){var me=this;me.callParent(arguments);if(me.emptyText){me.autoSize()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(e){if(e.ctrlKey){return}var key=e.getKey(),charCode=String.fromCharCode(e.getCharCode());if(Ext.isGecko&&(e.isNavKeyPress()||key===e.BACKSPACE||(key===e.DELETE&&e.button===-1))){return}if(!Ext.isGecko&&e.isSpecialKey()&&!charCode){return}if(!this.maskRe.test(charCode)){e.stopEvent()}},getRawValue:function(){var me=this,v=me.callParent();if(v===me.emptyText){v=""}return v},setValue:function(value){var me=this,inputEl=me.inputEl;if(inputEl&&me.emptyText&&!Ext.isEmpty(value)){inputEl.removeCls(me.emptyCls)}me.callParent(arguments);me.applyEmptyText();return me},getErrors:function(value){var me=this,errors=me.callParent(arguments),validator=me.validator,emptyText=me.emptyText,allowBlank=me.allowBlank,vtype=me.vtype,vtypes=Ext.form.field.VTypes,regex=me.regex,format=Ext.String.format,msg;value=value||me.processRawValue(me.getRawValue());if(Ext.isFunction(validator)){msg=validator.call(me,value);if(msg!==true){errors.push(msg)}}if(value.length<1||value===emptyText){if(!allowBlank){errors.push(me.blankText)}return errors}if(value.lengthme.maxLength){errors.push(format(me.maxLengthText,me.maxLength))}if(vtype){if(!vtypes[vtype](value,me)){errors.push(me.vtypeText||vtypes[vtype+"Text"])}}if(regex&&!regex.test(value)){errors.push(me.regexText||me.invalidText)}return errors},selectText:function(start,end){var me=this,v=me.getRawValue(),doFocus=true,el=me.inputEl.dom,undef,range;if(v.length>0){start=start===undef?0:start;end=end===undef?v.length:end;if(el.setSelectionRange){el.setSelectionRange(start,end)}else{if(el.createTextRange){range=el.createTextRange();range.moveStart("character",start);range.moveEnd("character",end-v.length);range.select()}}doFocus=Ext.isGecko||Ext.isOpera}if(doFocus){me.focus()}},autoSize:function(){var me=this,width;if(me.grow&&me.rendered){me.doComponentLayout();width=me.inputEl.getWidth();if(width!==me.lastInputWidth){me.fireEvent("autosize",width);me.lastInputWidth=width}}},initAria:function(){this.callParent();this.getActionEl().dom.setAttribute("aria-required",this.allowBlank===false)},getBodyNaturalWidth:function(){return Math.round(this.size*6.5)+20}});Ext.define("Ext.form.field.TextArea",{extend:"Ext.form.field.Text",alias:["widget.textareafield","widget.textarea"],alternateClassName:"Ext.form.TextArea",requires:["Ext.XTemplate","Ext.layout.component.field.TextArea"],fieldSubTpl:['",{compiled:true,disableFormats:true}],growMin:60,growMax:1000,growAppend:"\n-",cols:20,rows:4,enterIsSpecial:false,preventScrollbars:false,componentLayout:"textareafield",onRender:function(ct,position){var me=this;Ext.applyIf(me.subTplData,{cols:me.cols,rows:me.rows});me.callParent(arguments)},afterRender:function(){var me=this;me.callParent(arguments);if(me.grow){if(me.preventScrollbars){me.inputEl.setStyle("overflow","hidden")}me.inputEl.setHeight(me.growMin)}},fireKey:function(e){if(e.isSpecialKey()&&(this.enterIsSpecial||(e.getKey()!==e.ENTER||e.hasModifier()))){this.fireEvent("specialkey",this,e)}},autoSize:function(){var me=this,height;if(me.grow&&me.rendered){me.doComponentLayout();height=me.inputEl.getHeight();if(height!==me.lastInputHeight){me.fireEvent("autosize",height);me.lastInputHeight=height}}},initAria:function(){this.callParent(arguments);this.getActionEl().dom.setAttribute("aria-multiline",true)},getBodyNaturalWidth:function(){return Math.round(this.cols*6.5)+20}});Ext.define("Ext.window.MessageBox",{extend:"Ext.window.Window",requires:["Ext.toolbar.Toolbar","Ext.form.field.Text","Ext.form.field.TextArea","Ext.button.Button","Ext.layout.container.Anchor","Ext.layout.container.HBox","Ext.ProgressBar"],alternateClassName:"Ext.MessageBox",alias:"widget.messagebox",OK:1,YES:2,NO:4,CANCEL:8,OKCANCEL:9,YESNO:6,YESNOCANCEL:14,INFO:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",hideMode:"offsets",closeAction:"hide",resizable:false,title:" ",width:600,height:500,minWidth:250,maxWidth:600,minHeight:110,maxHeight:500,constrain:true,cls:Ext.baseCSSPrefix+"message-box",layout:{type:"anchor"},defaultTextHeight:75,minProgressWidth:250,minPromptWidth:250,buttonText:{ok:"OK",yes:"Yes",no:"No",cancel:"Cancel"},buttonIds:["ok","yes","no","cancel"],titleText:{confirm:"Confirm",prompt:"Prompt",wait:"Loading...",alert:"Attention"},iconHeight:35,makeButton:function(btnIdx){var btnId=this.buttonIds[btnIdx];return Ext.create("Ext.button.Button",{handler:this.btnCallback,itemId:btnId,scope:this,text:this.buttonText[btnId],minWidth:75})},btnCallback:function(btn){var me=this,value,field;if(me.cfg.prompt||me.cfg.multiline){if(me.cfg.multiline){field=me.textArea}else{field=me.textField}value=field.getValue();field.reset()}btn.blur();me.hide();me.userCallback(btn.itemId,value,me.cfg)},hide:function(){var me=this;me.dd.endDrag();me.progressBar.reset();me.removeCls(me.cfg.cls);me.callParent()},initComponent:function(){var me=this,i,button;me.title=" ";me.topContainer=Ext.create("Ext.container.Container",{anchor:"100%",style:{padding:"10px",overflow:"hidden"},items:[me.iconComponent=Ext.create("Ext.Component",{cls:"ext-mb-icon",width:50,height:me.iconHeight,style:{"float":"left"}}),me.promptContainer=Ext.create("Ext.container.Container",{layout:{type:"anchor"},items:[me.msg=Ext.create("Ext.Component",{autoEl:{tag:"span"},cls:"ext-mb-text"}),me.textField=Ext.create("Ext.form.field.Text",{anchor:"100%",enableKeyEvents:true,listeners:{keydown:me.onPromptKey,scope:me}}),me.textArea=Ext.create("Ext.form.field.TextArea",{anchor:"100%",height:75})]})]});me.progressBar=Ext.create("Ext.ProgressBar",{anchor:"-10",style:"margin-left:10px"});me.items=[me.topContainer,me.progressBar];me.msgButtons=[];for(i=0;i<4;i++){button=me.makeButton(i);me.msgButtons[button.itemId]=button;me.msgButtons.push(button)}me.bottomTb=Ext.create("Ext.toolbar.Toolbar",{ui:"footer",dock:"bottom",layout:{pack:"center"},items:[me.msgButtons[0],me.msgButtons[1],me.msgButtons[2],me.msgButtons[3]]});me.dockedItems=[me.bottomTb];me.callParent()},onPromptKey:function(textField,e){var me=this,blur;if(e.keyCode===Ext.EventObject.RETURN||e.keyCode===10){if(me.msgButtons.ok.isVisible()){blur=true;me.msgButtons.ok.handler.call(me,me.msgButtons.ok)}else{if(me.msgButtons.yes.isVisible()){me.msgButtons.yes.handler.call(me,me.msgButtons.yes);blur=true}}if(blur){me.textField.blur()}}},reconfigure:function(cfg){var me=this,buttons=cfg.buttons||0,hideToolbar=true,initialWidth=me.maxWidth,i;cfg=cfg||{};me.cfg=cfg;if(cfg.width){initialWidth=cfg.width}delete me.defaultFocus;me.animateTarget=cfg.animateTarget||undefined;me.modal=cfg.modal!==false;if(cfg.title){me.setTitle(cfg.title||" ")}if(!me.rendered){me.width=initialWidth;me.render(Ext.getBody())}else{me.hidden=false;me.setSize(initialWidth,me.maxHeight)}me.setPosition(-10000,-10000);me.closable=cfg.closable&&!cfg.wait;if(cfg.closable===false){me.tools.close.hide()}else{me.tools.close.show()}if(!cfg.title&&!me.closable){me.header.hide()}else{me.header.show()}me.liveDrag=!cfg.proxyDrag;me.userCallback=Ext.Function.bind(cfg.callback||cfg.fn||Ext.emptyFn,cfg.scope||Ext.global);me.setIcon(cfg.icon);if(cfg.msg){me.msg.update(cfg.msg);me.msg.show()}else{me.msg.hide()}if(cfg.prompt||cfg.multiline){me.multiline=cfg.multiline;if(cfg.multiline){me.textArea.setValue(cfg.value);me.textArea.setHeight(cfg.defaultTextHeight||me.defaultTextHeight);me.textArea.show();me.textField.hide();me.defaultFocus=me.textArea}else{me.textField.setValue(cfg.value);me.textArea.hide();me.textField.show();me.defaultFocus=me.textField}}else{me.textArea.hide();me.textField.hide()}if(cfg.progress||cfg.wait){me.progressBar.show();me.updateProgress(0,cfg.progressText);if(cfg.wait===true){me.progressBar.wait(cfg.waitConfig)}}else{me.progressBar.hide()}for(i=0;i<4;i++){if(buttons&Math.pow(2,i)){if(!me.defaultFocus){me.defaultFocus=me.msgButtons[i]}me.msgButtons[i].show();hideToolbar=false}else{me.msgButtons[i].hide()}}if(hideToolbar){me.bottomTb.hide()}else{me.bottomTb.show()}me.hidden=true},show:function(cfg){var me=this;me.reconfigure(cfg);me.addCls(cfg.cls);if(cfg.animateTarget){me.doAutoSize(false);me.callParent()}else{me.callParent();me.doAutoSize(true)}return me},afterShow:function(){if(this.animateTarget){this.center()}this.callParent(arguments)},doAutoSize:function(center){var me=this,icon=me.iconComponent,iconHeight=me.iconHeight;if(!Ext.isDefined(me.frameWidth)){me.frameWidth=me.el.getWidth()-me.body.getWidth()}icon.setHeight(iconHeight);me.minWidth=me.cfg.minWidth||Ext.getClass(this).prototype.minWidth;me.topContainer.doLayout();if(Ext.isIE6||Ext.isIEQuirks){me.textField.setCalculatedSize(9);me.textArea.setCalculatedSize(9)}var width=me.cfg.width||me.msg.getWidth()+icon.getWidth()+25,height=(me.header.rendered?me.header.getHeight():0)+Math.max(me.promptContainer.getHeight(),icon.getHeight())+me.progressBar.getHeight()+(me.bottomTb.rendered?me.bottomTb.getHeight():0)+20;icon.setHeight(Math.max(iconHeight,me.msg.getHeight()));me.setSize(width+me.frameWidth,height+me.frameWidth);if(center){me.center()}return me},updateText:function(text){this.msg.update(text);return this.doAutoSize(true)},setIcon:function(icon){var me=this;me.iconComponent.removeCls(me.iconCls);if(icon){me.iconComponent.show();me.iconComponent.addCls(Ext.baseCSSPrefix+"dlg-icon");me.iconComponent.addCls(me.iconCls=icon)}else{me.iconComponent.removeCls(Ext.baseCSSPrefix+"dlg-icon");me.iconComponent.hide()}return me},updateProgress:function(value,progressText,msg){this.progressBar.updateProgress(value,progressText);if(msg){this.updateText(msg)}return this},onEsc:function(){if(this.closable!==false){this.callParent(arguments)}},confirm:function(cfg,msg,fn,scope){if(Ext.isString(cfg)){cfg={title:cfg,icon:"ext-mb-question",msg:msg,buttons:this.YESNO,callback:fn,scope:scope}}return this.show(cfg)},prompt:function(cfg,msg,fn,scope,multiline,value){if(Ext.isString(cfg)){cfg={prompt:true,title:cfg,minWidth:this.minPromptWidth,msg:msg,buttons:this.OKCANCEL,callback:fn,scope:scope,multiline:multiline,value:value}}return this.show(cfg)},wait:function(cfg,title,config){if(Ext.isString(cfg)){cfg={title:title,msg:cfg,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:config}}return this.show(cfg)},alert:function(cfg,msg,fn,scope){if(Ext.isString(cfg)){cfg={title:cfg,msg:msg,buttons:this.OK,fn:fn,scope:scope,minWidth:this.minWidth}}return this.show(cfg)},progress:function(cfg,msg,progressText){if(Ext.isString(cfg)){cfg={title:cfg,msg:msg,progressText:progressText}}return this.show(cfg)}},function(){Ext.MessageBox=Ext.Msg=new this()});Ext.define("Ext.form.Basic",{extend:"Ext.util.Observable",alternateClassName:"Ext.form.BasicForm",requires:["Ext.util.MixedCollection","Ext.form.action.Load","Ext.form.action.Submit","Ext.window.MessageBox","Ext.data.Errors","Ext.util.DelayedTask"],constructor:function(owner,config){var me=this,onItemAddOrRemove=me.onItemAddOrRemove;me.owner=owner;me.mon(owner,{add:onItemAddOrRemove,remove:onItemAddOrRemove,scope:me});Ext.apply(me,config);if(Ext.isString(me.paramOrder)){me.paramOrder=me.paramOrder.split(/[\s,|]/)}me.checkValidityTask=Ext.create("Ext.util.DelayedTask",me.checkValidity,me);me.addEvents("beforeaction","actionfailed","actioncomplete","validitychange","dirtychange");me.callParent()},initialize:function(){this.initialized=true;this.onValidityChange(!this.hasInvalidField())},timeout:30,paramsAsHash:false,waitTitle:"Please Wait...",trackResetOnLoad:false,wasDirty:false,destroy:function(){this.clearListeners();this.checkValidityTask.cancel()},onItemAddOrRemove:function(parent,child){var me=this,isAdding=!!child.ownerCt,isContainer=child.isContainer;function handleField(field){me[isAdding?"mon":"mun"](field,{validitychange:me.checkValidity,dirtychange:me.checkDirty,scope:me,buffer:100});delete me._fields}if(child.isFormField){handleField(child)}else{if(isContainer){Ext.Array.forEach(child.query("[isFormField]"),handleField)}}delete this._boundItems;if(me.initialized){me.checkValidityTask.delay(10)}},getFields:function(){var fields=this._fields;if(!fields){fields=this._fields=Ext.create("Ext.util.MixedCollection");fields.addAll(this.owner.query("[isFormField]"))}return fields},getBoundItems:function(){var boundItems=this._boundItems;if(!boundItems){boundItems=this._boundItems=Ext.create("Ext.util.MixedCollection");boundItems.addAll(this.owner.query("[formBind]"))}return boundItems},hasInvalidField:function(){return !!this.getFields().findBy(function(field){var preventMark=field.preventMark,isValid;field.preventMark=true;isValid=field.isValid();field.preventMark=preventMark;return !isValid})},isValid:function(){var me=this,invalid;me.batchLayouts(function(){invalid=me.getFields().filterBy(function(field){return !field.validate()})});return invalid.length<1},checkValidity:function(){var me=this,valid=!me.hasInvalidField();if(valid!==me.wasValid){me.onValidityChange(valid);me.fireEvent("validitychange",me,valid);me.wasValid=valid}},onValidityChange:function(valid){var boundItems=this.getBoundItems();if(boundItems){boundItems.each(function(cmp){if(cmp.disabled===valid){cmp.setDisabled(!valid)}})}},isDirty:function(){return !!this.getFields().findBy(function(f){return f.isDirty()})},checkDirty:function(){var dirty=this.isDirty();if(dirty!==this.wasDirty){this.fireEvent("dirtychange",this,dirty);this.wasDirty=dirty}},hasUpload:function(){return !!this.getFields().findBy(function(f){return f.isFileUpload()})},doAction:function(action,options){if(Ext.isString(action)){action=Ext.ClassManager.instantiateByAlias("formaction."+action,Ext.apply({},options,{form:this}))}if(this.fireEvent("beforeaction",this,action)!==false){this.beforeAction(action);Ext.defer(action.run,100,action)}return this},submit:function(options){return this.doAction(this.standardSubmit?"standardsubmit":this.api?"directsubmit":"submit",options)},load:function(options){return this.doAction(this.api?"directload":"load",options)},updateRecord:function(record){var fields=record.fields,values=this.getFieldValues(),name,obj={};fields.each(function(f){name=f.name;if(name in values){obj[name]=values[name]}});record.beginEdit();record.set(obj);record.endEdit();return this},loadRecord:function(record){this._record=record;return this.setValues(record.data)},getRecord:function(){return this._record},beforeAction:function(action){var waitMsg=action.waitMsg,maskCls=Ext.baseCSSPrefix+"mask-loading",waitMsgTarget;this.getFields().each(function(f){if(f.isFormField&&f.syncValue){f.syncValue()}});if(waitMsg){waitMsgTarget=this.waitMsgTarget;if(waitMsgTarget===true){this.owner.el.mask(waitMsg,maskCls)}else{if(waitMsgTarget){waitMsgTarget=this.waitMsgTarget=Ext.get(waitMsgTarget);waitMsgTarget.mask(waitMsg,maskCls)}else{Ext.MessageBox.wait(waitMsg,action.waitTitle||this.waitTitle)}}}},afterAction:function(action,success){if(action.waitMsg){var MessageBox=Ext.MessageBox,waitMsgTarget=this.waitMsgTarget;if(waitMsgTarget===true){this.owner.el.unmask()}else{if(waitMsgTarget){waitMsgTarget.unmask()}else{MessageBox.updateProgress(1);MessageBox.hide()}}}if(success){if(action.reset){this.reset()}Ext.callback(action.success,action.scope||action,[this,action]);this.fireEvent("actioncomplete",this,action)}else{Ext.callback(action.failure,action.scope||action,[this,action]);this.fireEvent("actionfailed",this,action)}},findField:function(id){return this.getFields().findBy(function(f){return f.id===id||f.getName()===id})},markInvalid:function(errors){var me=this;function mark(fieldId,msg){var field=me.findField(fieldId);if(field){field.markInvalid(msg)}}if(Ext.isArray(errors)){Ext.each(errors,function(err){mark(err.id,err.msg)})}else{if(errors instanceof Ext.data.Errors){errors.each(function(err){mark(err.field,err.message)})}else{Ext.iterate(errors,mark)}}return this},setValues:function(values){var me=this;function setVal(fieldId,val){var field=me.findField(fieldId);if(field){field.setValue(val);if(me.trackResetOnLoad){field.resetOriginalValue()}}}if(Ext.isArray(values)){Ext.each(values,function(val){setVal(val.id,val.value)})}else{Ext.iterate(values,setVal)}return this},getValues:function(asString,dirtyOnly,includeEmptyText,useDataValues){var values={};this.getFields().each(function(field){if(!dirtyOnly||field.isDirty()){var data=field[useDataValues?"getModelData":"getSubmitData"](includeEmptyText);if(Ext.isObject(data)){Ext.iterate(data,function(name,val){if(includeEmptyText&&val===""){val=field.emptyText||""}if(name in values){var bucket=values[name],isArray=Ext.isArray;if(!isArray(bucket)){bucket=values[name]=[bucket]}if(isArray(val)){values[name]=bucket.concat(val)}else{bucket.push(val)}}else{values[name]=val}})}}});if(asString){values=Ext.Object.toQueryString(values)}return values},getFieldValues:function(dirtyOnly){return this.getValues(false,dirtyOnly,false,true)},clearInvalid:function(){var me=this;me.batchLayouts(function(){me.getFields().each(function(f){f.clearInvalid()})});return me},reset:function(){var me=this;me.batchLayouts(function(){me.getFields().each(function(f){f.reset()})});return me},applyToFields:function(obj){this.getFields().each(function(f){Ext.apply(f,obj)});return this},applyIfToFields:function(obj){this.getFields().each(function(f){Ext.applyIf(f,obj)});return this},batchLayouts:function(fn){var me=this,suspended=new Ext.util.HashMap();me.getFields().each(function(field){var ownerCt=field.ownerCt;if(!suspended.contains(ownerCt)){suspended.add(ownerCt);ownerCt.oldSuspendLayout=ownerCt.suspendLayout;ownerCt.suspendLayout=true}});fn();suspended.each(function(id,ct){ct.suspendLayout=ct.oldSuspendLayout;delete ct.oldSuspendLayout});me.owner.doComponentLayout()}});Ext.define("Ext.form.FieldAncestor",{initFieldAncestor:function(){var me=this,onSubtreeChange=me.onFieldAncestorSubtreeChange;me.addEvents("fieldvaliditychange","fielderrorchange");me.on("add",onSubtreeChange,me);me.on("remove",onSubtreeChange,me);me.initFieldDefaults()},initFieldDefaults:function(){if(!this.fieldDefaults){this.fieldDefaults={}}},onFieldAncestorSubtreeChange:function(parent,child){var me=this,isAdding=!!child.ownerCt;function handleCmp(cmp){var isLabelable=cmp.isFieldLabelable,isField=cmp.isFormField;if(isLabelable||isField){if(isLabelable){me["onLabelable"+(isAdding?"Added":"Removed")](cmp)}if(isField){me["onField"+(isAdding?"Added":"Removed")](cmp)}}else{if(cmp.isContainer){Ext.Array.forEach(cmp.getRefItems(),handleCmp)}}}handleCmp(child)},onLabelableAdded:function(labelable){var me=this;me.mon(labelable,"errorchange",me.handleFieldErrorChange,me,{buffer:10});labelable.setFieldDefaults(me.fieldDefaults)},onFieldAdded:function(field){var me=this;me.mon(field,"validitychange",me.handleFieldValidityChange,me)},onLabelableRemoved:function(labelable){var me=this;me.mun(labelable,"errorchange",me.handleFieldErrorChange,me)},onFieldRemoved:function(field){var me=this;me.mun(field,"validitychange",me.handleFieldValidityChange,me)},handleFieldValidityChange:function(field,isValid){var me=this;me.fireEvent("fieldvaliditychange",me,field,isValid);me.onFieldValidityChange()},handleFieldErrorChange:function(labelable,activeError){var me=this;me.fireEvent("fielderrorchange",me,labelable,activeError);me.onFieldErrorChange()},onFieldValidityChange:Ext.emptyFn,onFieldErrorChange:Ext.emptyFn});Ext.define("Ext.layout.container.CheckboxGroup",{extend:"Ext.layout.container.Container",alias:["layout.checkboxgroup"],onLayout:function(){var numCols=this.getColCount(),shadowCt=this.getShadowCt(),owner=this.owner,items=owner.items,shadowItems=shadowCt.items,numItems=items.length,colIndex=0,i,numRows;shadowItems.each(function(col){col.items.clear()});while(shadowItems.length>numCols){shadowCt.remove(shadowItems.last())}while(shadowItems.length0&&i%numRows===0){colIndex++}shadowItems.getAt(colIndex).items.add(items.getAt(i))}}else{for(i=0;i'],maskOnDisable:false,getElConfig:function(){return{tag:"fieldset",id:this.id}},initComponent:function(){var me=this,baseCls=me.baseCls;me.callParent();me.initLegend();Ext.applyIf(me.renderSelectors,{body:"."+baseCls+"-body"});if(me.collapsed){me.addCls(baseCls+"-collapsed");me.collapse()}},onRender:function(container,position){this.callParent(arguments);this.initLegend()},initLegend:function(){var me=this,legendItems,legend=me.legend;if(!legend&&(me.title||me.checkboxToggle||me.collapsible)){legendItems=[];if(me.checkboxToggle){legendItems.push(me.createCheckboxCmp())}else{if(me.collapsible){legendItems.push(me.createToggleCmp())}}legendItems.push(me.createTitleCmp());legend=me.legend=Ext.create("Ext.container.Container",{baseCls:me.baseCls+"-header",ariaRole:"",getElConfig:function(){return{tag:"legend",cls:this.baseCls}},items:legendItems})}if(legend&&!legend.rendered&&me.rendered){me.legend.render(me.el,me.body)}},createTitleCmp:function(){var me=this;me.titleCmp=Ext.create("Ext.Component",{html:me.title,cls:me.baseCls+"-header-text"});return me.titleCmp},createCheckboxCmp:function(){var me=this,suffix="-checkbox";me.checkboxCmp=Ext.create("Ext.form.field.Checkbox",{name:me.checkboxName||me.id+suffix,cls:me.baseCls+"-header"+suffix,checked:!me.collapsed,listeners:{change:me.onCheckChange,scope:me}});return me.checkboxCmp},createToggleCmp:function(){var me=this;me.toggleCmp=Ext.create("Ext.panel.Tool",{type:"toggle",handler:me.toggle,scope:me});return me.toggleCmp},setTitle:function(title){var me=this;me.title=title;me.initLegend();me.titleCmp.update(title);return me},getTargetEl:function(){return this.body||this.frameBody||this.el},getContentTarget:function(){return this.body},getRefItems:function(deep){var refItems=this.callParent(arguments),legend=this.legend;if(legend){refItems.unshift(legend);if(deep){refItems.unshift.apply(refItems,legend.getRefItems(true))}}return refItems},expand:function(){return this.setExpanded(true)},collapse:function(){return this.setExpanded(false)},setExpanded:function(expanded){var me=this,checkboxCmp=me.checkboxCmp;expanded=!!expanded;if(checkboxCmp){checkboxCmp.setValue(expanded)}if(expanded){me.removeCls(me.baseCls+"-collapsed")}else{me.addCls(me.baseCls+"-collapsed")}me.collapsed=!expanded;if(expanded){me.getComponentLayout().childrenChanged=true}me.doComponentLayout();return me},toggle:function(){this.setExpanded(!!this.collapsed)},onCheckChange:function(cmp,checked){this.setExpanded(checked)},beforeDestroy:function(){var legend=this.legend;if(legend){legend.destroy()}this.callParent()}});Ext.define("Ext.form.Label",{extend:"Ext.Component",alias:"widget.label",requires:["Ext.util.Format"],maskOnDisable:false,getElConfig:function(){var me=this;return{tag:"label",id:me.id,htmlFor:me.forId||"",html:me.text?Ext.util.Format.htmlEncode(me.text):(me.html||"")}},setText:function(text,encode){var me=this;encode=encode!==false;if(encode){me.text=text;delete me.html}else{me.html=text;delete me.text}if(me.rendered){me.el.dom.innerHTML=encode!==false?Ext.util.Format.htmlEncode(text):text}return this}});Ext.define("Ext.form.Panel",{extend:"Ext.panel.Panel",mixins:{fieldAncestor:"Ext.form.FieldAncestor"},alias:"widget.form",alternateClassName:["Ext.FormPanel","Ext.form.FormPanel"],requires:["Ext.form.Basic","Ext.util.TaskRunner"],layout:"anchor",ariaRole:"form",initComponent:function(){var me=this;if(me.frame){me.border=false}me.initFieldAncestor();me.callParent();me.relayEvents(me.form,["beforeaction","actionfailed","actioncomplete","validitychange","dirtychange"]);if(me.pollForChanges){me.startPolling(me.pollInterval||500)}},initItems:function(){var me=this;me.form=me.createForm();me.callParent();me.form.initialize()},createForm:function(){return Ext.create("Ext.form.Basic",this,Ext.applyIf({listeners:{}},this.initialConfig))},getForm:function(){return this.form},loadRecord:function(record){return this.getForm().loadRecord(record)},getRecord:function(){return this.getForm().getRecord()},getValues:function(){return this.getForm().getValues()},beforeDestroy:function(){this.stopPolling();this.form.destroy();this.callParent()},load:function(options){this.form.load(options)},submit:function(options){this.form.submit(options)},disable:function(silent){this.callParent(arguments);this.form.getFields().each(function(field){field.disable()})},enable:function(silent){this.callParent(arguments);this.form.getFields().each(function(field){field.enable()})},startPolling:function(interval){this.stopPolling();var task=Ext.create("Ext.util.TaskRunner",interval);task.start({interval:0,run:this.checkChange,scope:this});this.pollTask=task},stopPolling:function(){var task=this.pollTask;if(task){task.stopAll();delete this.pollTask}},checkChange:function(){this.form.getFields().each(function(field){field.checkChange()})}});Ext.define("Ext.form.RadioGroup",{extend:"Ext.form.CheckboxGroup",alias:"widget.radiogroup",allowBlank:true,blankText:"You must select one item in this group",defaultType:"radiofield",groupCls:Ext.baseCSSPrefix+"form-radio-group",getBoxes:function(){return this.query("[isRadio]")}});Ext.define("Ext.form.RadioManager",{extend:"Ext.util.MixedCollection",singleton:true,getByName:function(name){return this.filterBy(function(item){return item.name==name})},getWithValue:function(name,value){return this.filterBy(function(item){return item.name==name&&item.inputValue==value})},getChecked:function(name){return this.findBy(function(item){return item.name==name&&item.checked})}});Ext.define("Ext.form.action.DirectLoad",{extend:"Ext.form.action.Load",requires:["Ext.direct.Manager"],alternateClassName:"Ext.form.Action.DirectLoad",alias:"formaction.directload",type:"directload",run:function(){this.form.api.load.apply(window,this.getArgs())},getArgs:function(){var me=this,args=[],form=me.form,paramOrder=form.paramOrder,params=me.getParams(),i,len;if(paramOrder){for(i=0,len=paramOrder.length;i",'',"",'tabIndex="{tabIdx}" ','class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"",'',"",{disableFormats:true,compiled:true}],isCheckbox:true,focusCls:Ext.baseCSSPrefix+"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",ariaRole:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var me=this,checked=!!me.checked;me.originalValue=me.lastValue=checked;me.setValue(checked)},onRender:function(ct,position){var me=this;Ext.applyIf(me.renderSelectors,{boxLabelEl:"label."+me.boxLabelCls});Ext.applyIf(me.subTplData,{boxLabel:me.boxLabel,boxLabelCls:me.boxLabelCls,boxLabelAlign:me.boxLabelAlign});me.callParent(arguments)},initEvents:function(){var me=this;me.callParent();me.mon(me.inputEl,"click",me.onBoxClick,me)},onBoxClick:function(e){var me=this;if(!me.disabled&&!me.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var unchecked=this.uncheckedValue,uncheckedVal=Ext.isDefined(unchecked)?unchecked:null;return this.checked?this.inputValue:uncheckedVal},setRawValue:function(value){var me=this,inputEl=me.inputEl,inputValue=me.inputValue,checked=(value===true||value==="true"||value==="1"||((Ext.isString(value)&&inputValue)?value==inputValue:me.onRe.test(value)));if(inputEl){inputEl.dom.setAttribute("aria-checked",checked);me[checked?"addCls":"removeCls"](me.checkedCls)}me.checked=me.rawValue=checked;return checked},setValue:function(checked){var me=this;if(Ext.isArray(checked)){me.getManager().getByName(me.name).each(function(cb){cb.setValue(Ext.Array.contains(checked,cb.inputValue))})}else{me.callParent(arguments)}return me},valueToRaw:function(value){return value},onChange:function(newVal,oldVal){var me=this,handler=me.handler;if(handler){handler.call(me.scope||me,me,newVal)}me.callParent(arguments)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=me.readOnly}},setReadOnly:function(readOnly){var me=this,inputEl=me.inputEl;if(inputEl){inputEl.dom.disabled=readOnly||me.disabled}me.readOnly=readOnly},getBodyNaturalWidth:function(){var me=this,bodyEl=me.bodyEl,ws="white-space",width;bodyEl.setStyle(ws,"nowrap");width=bodyEl.getWidth();bodyEl.setStyle(ws,"");return width}});Ext.define("Ext.layout.component.field.Trigger",{alias:["layout.triggerfield"],extend:"Ext.layout.component.field.Field",type:"triggerfield",sizeBodyContents:function(width,height){var me=this,owner=me.owner,inputEl=owner.inputEl,triggerWrap=owner.triggerWrap,triggerWidth=owner.getTriggerWidth();if(owner.hideTrigger||owner.readOnly||triggerWidth>0){me.setElementSize(inputEl,Ext.isNumber(width)?width-triggerWidth:width);triggerWrap.setWidth(triggerWidth)}}});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect")},afterRender:function(){var me=this,listeners;me.callParent();listeners={scope:me,freezeEvent:true,click:me.handleEvent,mousedown:me.handleEvent,mouseup:me.handleEvent,dblclick:me.handleEvent,contextmenu:me.handleEvent,mouseover:me.handleEvent,mouseout:me.handleEvent,keydown:me.handleEvent};me.mon(me.getTargetEl(),listeners);if(me.store){me.bindStore(me.store,true)}},handleEvent:function(e){if(this.processUIEvent(e)!==false){this.processSpecialEvent(e)}},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(event,overItem){var nowOver;if(overItem&&typeof(overItem.offsetParent)==="object"){nowOver=(event.type=="mouseout")?event.getRelatedTarget():event.getTarget();return Ext.fly(overItem).contains(nowOver)}return false},processUIEvent:function(e){var me=this,item=e.getTarget(me.getItemSelector(),me.getTargetEl()),map=this.statics().EventMap,index,record,type=e.type,overItem=me.mouseOverItem,newType;if(!item){if(type=="mouseover"&&me.stillOverItem(e,overItem)){item=overItem}if(type=="keydown"){record=me.getSelectionModel().getLastSelected();if(record){item=me.getNode(record)}}}if(item){index=me.indexOf(item);if(!record){record=me.getRecord(item)}if(me.processItemEvent(record,item,index,e)===false){return false}newType=me.isNewItemEvent(item,e);if(newType===false){return false}if((me["onBeforeItem"+map[newType]](record,item,index,e)===false)||(me.fireEvent("beforeitem"+newType,me,record,item,index,e)===false)||(me["onItem"+map[newType]](record,item,index,e)===false)){return false}me.fireEvent("item"+newType,me,record,item,index,e)}else{if((me.processContainerEvent(e)===false)||(me["onBeforeContainer"+map[type]](e)===false)||(me.fireEvent("beforecontainer"+type,me,e)===false)||(me["onContainer"+map[type]](e)===false)){return false}me.fireEvent("container"+type,me,e)}return true},isNewItemEvent:function(item,e){var me=this,overItem=me.mouseOverItem,type=e.type;switch(type){case"mouseover":if(item===overItem){return false}me.mouseOverItem=item;return"mouseenter";case"mouseout":if(me.stillOverItem(e,overItem)){return false}me.mouseOverItem=null;return"mouseleave"}return type},onItemMouseEnter:function(record,item,index,e){if(this.trackOver){this.highlightItem(item)}},onItemMouseLeave:function(record,item,index,e){if(this.trackOver){this.clearHighlight()}},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,highlightItem:function(item){var me=this;me.clearHighlight();me.highlightedItem=item;Ext.fly(item).addCls(me.overItemCls)},clearHighlight:function(){var me=this,highlighted=me.highlightedItem;if(highlighted){Ext.fly(highlighted).removeCls(me.overItemCls);delete me.highlightedItem}},refresh:function(){var me=this;me.clearHighlight();me.callParent(arguments);if(!me.isFixedHeight()){me.doComponentLayout()}}});Ext.define("Ext.layout.component.BoundList",{extend:"Ext.layout.component.Component",alias:"layout.boundlist",type:"component",beforeLayout:function(){return this.callParent(arguments)||this.owner.refreshed>0},onLayout:function(width,height){var me=this,owner=me.owner,floating=owner.floating,el=owner.el,xy=el.getXY(),isNumber=Ext.isNumber,minWidth,maxWidth,minHeight,maxHeight,naturalWidth,naturalHeight,constrainedWidth,constrainedHeight,undef;if(floating){el.setXY([-9999,-9999])}me.setTargetSize(width,height);if(!isNumber(width)){minWidth=owner.minWidth;maxWidth=owner.maxWidth;if(isNumber(minWidth)||isNumber(maxWidth)){naturalWidth=el.getWidth();if(naturalWidthmaxWidth){constrainedWidth=maxWidth}}if(constrainedWidth){me.setTargetSize(constrainedWidth)}}}if(!isNumber(height)){minHeight=owner.minHeight;maxHeight=owner.maxHeight;if(isNumber(minHeight)||isNumber(maxHeight)){naturalHeight=el.getHeight();if(naturalHeightmaxHeight){constrainedHeight=maxHeight}}if(constrainedHeight){me.setTargetSize(undef,constrainedHeight)}}}if(floating){el.setXY(xy)}},afterLayout:function(){var me=this,toolbar=me.owner.pagingToolbar;me.callParent();if(toolbar){toolbar.doComponentLayout()}},setTargetSize:function(width,height){var me=this,owner=me.owner,listHeight=null,toolbar;if(Ext.isNumber(height)){listHeight=height-owner.el.getFrameWidth("tb");toolbar=owner.pagingToolbar;if(toolbar){listHeight-=toolbar.getHeight()}}me.setElementSize(owner.listEl,null,listHeight);me.callParent(arguments)}});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",onRender:function(){Ext.apply(this.renderData,{text:this.text});this.callParent(arguments)},setText:function(t){if(this.rendered){this.el.update(t);this.ownerCt.doLayout()}else{this.text=t}}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.core.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],fieldSubTpl:['name="{name}" ','size="{size}" ','tabIndex="{tabIdx}" ','class="{fieldCls} {typeCls}" autocomplete="off" />','",{compiled:true,disableFormats:true}],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",hideTrigger:false,editable:true,readOnly:false,repeatTriggerClick:false,autoSize:Ext.emptyFn,monitorTab:true,mimicing:false,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},onRender:function(ct,position){var me=this,triggerCls,triggerBaseCls=me.triggerBaseCls,triggerWrapCls=me.triggerWrapCls,triggerConfigs=[],i;if(!me.trigger1Cls){me.trigger1Cls=me.triggerCls}for(i=0;(triggerCls=me["trigger"+(i+1)+"Cls"])||i<1;i++){triggerConfigs.push({cls:[Ext.baseCSSPrefix+"trigger-index-"+i,triggerBaseCls,triggerCls].join(" "),role:"button"})}triggerConfigs[i-1].cls+=" "+triggerBaseCls+"-last";Ext.applyIf(me.renderSelectors,{triggerWrap:"."+triggerWrapCls});Ext.applyIf(me.subTplData,{triggerWrapCls:triggerWrapCls,triggerEl:Ext.core.DomHelper.markup(triggerConfigs),clearCls:me.clearCls});me.callParent(arguments);me.triggerEl=Ext.select("."+triggerBaseCls,true,me.triggerWrap.dom);me.doc=Ext.isIE?Ext.getBody():Ext.getDoc();me.initTrigger()},onEnable:function(){this.callParent();this.triggerWrap.unmask()},onDisable:function(){this.callParent();this.triggerWrap.mask()},afterRender:function(){this.callParent();this.updateEditState()},updateEditState:function(){var me=this,inputEl=me.inputEl,triggerWrap=me.triggerWrap,noeditCls=Ext.baseCSSPrefix+"trigger-noedit",displayed,readOnly;if(me.rendered){if(me.readOnly){inputEl.addCls(noeditCls);readOnly=true;displayed=false}else{if(me.editable){inputEl.removeCls(noeditCls);readOnly=false}else{inputEl.addCls(noeditCls);readOnly=true}displayed=!me.hideTrigger}triggerWrap.setDisplayed(displayed);inputEl.dom.readOnly=readOnly;me.doComponentLayout()}},getTriggerWidth:function(){var me=this,triggerWrap=me.triggerWrap,totalTriggerWidth=0;if(triggerWrap&&!me.hideTrigger&&!me.readOnly){me.triggerEl.each(function(trigger){totalTriggerWidth+=trigger.getWidth()});totalTriggerWidth+=me.triggerWrap.getFrameWidth("lr")}return totalTriggerWidth},setHideTrigger:function(hideTrigger){if(hideTrigger!=this.hideTrigger){this.hideTrigger=hideTrigger;this.updateEditState()}},setEditable:function(editable){if(editable!=this.editable){this.editable=editable;this.updateEditState()}},setReadOnly:function(readOnly){if(readOnly!=this.readOnly){this.readOnly=readOnly;this.updateEditState()}},initTrigger:function(){var me=this,triggerWrap=me.triggerWrap,triggerEl=me.triggerEl;if(me.repeatTriggerClick){me.triggerRepeater=Ext.create("Ext.util.ClickRepeater",triggerWrap,{preventDefault:true,handler:function(cr,e){me.onTriggerWrapClick(e)}})}else{me.mon(me.triggerWrap,"click",me.onTriggerWrapClick,me)}triggerEl.addClsOnOver(me.triggerBaseCls+"-over");triggerEl.each(function(el,c,i){el.addClsOnOver(me["trigger"+(i+1)+"Cls"]+"-over")});triggerEl.addClsOnClick(me.triggerBaseCls+"-click");triggerEl.each(function(el,c,i){el.addClsOnClick(me["trigger"+(i+1)+"Cls"]+"-click")})},onDestroy:function(){var me=this;Ext.destroyMembers(me,"triggerRepeater","triggerWrap","triggerEl");delete me.doc;me.callParent()},onFocus:function(){var me=this;this.callParent();if(!me.mimicing){me.bodyEl.addCls(me.wrapFocusCls);me.mimicing=true;me.mon(me.doc,"mousedown",me.mimicBlur,me,{delay:10});if(me.monitorTab){me.on("specialkey",me.checkTab,me)}}},checkTab:function(me,e){if(!this.ignoreMonitorTab&&e.getKey()==e.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(e){if(!this.isDestroyed&&!this.bodyEl.contains(e.target)&&this.validateBlur(e)){this.triggerBlur()}},triggerBlur:function(){var me=this;me.mimicing=false;me.mun(me.doc,"mousedown",me.mimicBlur,me);if(me.monitorTab&&me.inputEl){me.un("specialkey",me.checkTab,me)}Ext.form.field.Trigger.superclass.onBlur.call(me);if(me.bodyEl){me.bodyEl.removeCls(me.wrapFocusCls)}},beforeBlur:Ext.emptyFn,validateBlur:function(e){return true},onTriggerWrapClick:function(e){var me=this,t=e&&e.getTarget("."+Ext.baseCSSPrefix+"form-trigger",null),match=t&&t.className.match(me.triggerIndexRe),idx,triggerClickMethod;if(match&&!me.readOnly){idx=parseInt(match[1],10);triggerClickMethod=me["onTrigger"+(idx+1)+"Click"]||me.onTriggerClick;if(triggerClickMethod){triggerClickMethod.call(me,e)}}},onTriggerClick:Ext.emptyFn});Ext.define("Ext.form.field.Picker",{extend:"Ext.form.field.Trigger",alias:"widget.pickerfield",alternateClassName:"Ext.form.Picker",requires:["Ext.util.KeyNav"],matchFieldWidth:true,pickerAlign:"tl-bl?",openCls:Ext.baseCSSPrefix+"pickerfield-open",editable:true,initComponent:function(){this.callParent();this.addEvents("expand","collapse","select")},initEvents:function(){var me=this;me.callParent();me.keyNav=Ext.create("Ext.util.KeyNav",me.inputEl,{down:function(){if(!me.isExpanded){me.onTriggerClick()}},esc:me.collapse,scope:me,forceKeyDown:true});if(!me.editable){me.mon(me.inputEl,"click",me.onTriggerClick,me)}if(Ext.isGecko){me.inputEl.dom.setAttribute("autocomplete","off")}},expand:function(){var me=this,bodyEl,picker,collapseIf;if(me.rendered&&!me.isExpanded&&!me.isDestroyed){bodyEl=me.bodyEl;picker=me.getPicker();collapseIf=me.collapseIf;picker.show();me.isExpanded=true;me.alignPicker();bodyEl.addCls(me.openCls);me.mon(Ext.getDoc(),{mousewheel:collapseIf,mousedown:collapseIf,scope:me});Ext.EventManager.onWindowResize(me.alignPicker,me);me.fireEvent("expand",me);me.onExpand()}},onExpand:Ext.emptyFn,alignPicker:function(){var me=this,picker,isAbove,aboveSfx="-above";if(this.isExpanded){picker=me.getPicker();if(me.matchFieldWidth){picker.setSize(me.bodyEl.getWidth(),picker.store&&picker.store.getCount()?null:0)}if(picker.isFloating()){picker.alignTo(me.inputEl,me.pickerAlign,me.pickerOffset);isAbove=picker.el.getY()0){me.spinUp()}else{if(delta<0){me.spinDown()}}e.stopEvent()}},onDestroy:function(){Ext.destroyMembers(this,"spinnerKeyNav","spinUpEl","spinDownEl");this.callParent()}});Ext.define("Ext.form.field.Number",{extend:"Ext.form.field.Spinner",alias:"widget.numberfield",alternateClassName:["Ext.form.NumberField","Ext.form.Number"],allowDecimals:true,decimalSeparator:".",decimalPrecision:2,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,step:1,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",negativeText:"The value cannot be negative",baseChars:"0123456789",autoStripChars:false,initComponent:function(){var me=this,allowed;me.callParent();me.setMinValue(me.minValue);me.setMaxValue(me.maxValue);if(me.disableKeyFilter!==true){allowed=me.baseChars+"";if(me.allowDecimals){allowed+=me.decimalSeparator}if(me.minValue<0){allowed+="-"}allowed=Ext.String.escapeRegex(allowed);me.maskRe=new RegExp("["+allowed+"]");if(me.autoStripChars){me.stripCharsRe=new RegExp("[^"+allowed+"]","gi")}}},getErrors:function(value){var me=this,errors=me.callParent(arguments),format=Ext.String.format,num;value=Ext.isDefined(value)?value:this.processRawValue(this.getRawValue());if(value.length<1){return errors}value=String(value).replace(me.decimalSeparator,".");if(isNaN(value)){errors.push(format(me.nanText,value))}num=me.parseValue(value);if(me.minValue===0&&num<0){errors.push(this.negativeText)}else{if(numme.maxValue){errors.push(format(me.maxText,me.maxValue))}return errors},rawToValue:function(rawValue){var value=this.fixPrecision(this.parseValue(rawValue));if(value===null){value=rawValue||null}return value},valueToRaw:function(value){var me=this,decimalSeparator=me.decimalSeparator;value=me.parseValue(value);value=me.fixPrecision(value);value=Ext.isNumber(value)?value:parseFloat(String(value).replace(decimalSeparator,"."));value=isNaN(value)?"":String(value).replace(".",decimalSeparator);return value},onChange:function(){var me=this,value=me.getValue(),valueIsNull=value===null;me.callParent(arguments);me.setSpinUpEnabled(valueIsNull||valueme.minValue)},setMinValue:function(value){this.minValue=Ext.Number.from(value,Number.NEGATIVE_INFINITY)},setMaxValue:function(value){this.maxValue=Ext.Number.from(value,Number.MAX_VALUE)},parseValue:function(value){value=parseFloat(String(value).replace(this.decimalSeparator,"."));return isNaN(value)?null:value},fixPrecision:function(value){var me=this,nan=isNaN(value),precision=me.decimalPrecision;if(nan||!value){return nan?"":value}else{if(!me.allowDecimals||precision<=0){precision=0}}return parseFloat(Ext.Number.toFixed(parseFloat(value),precision))},beforeBlur:function(){var me=this,v=me.parseValue(me.getRawValue());if(!Ext.isEmpty(v)){me.setValue(v)}},onSpinUp:function(){var me=this;if(!me.readOnly){me.setValue(Ext.Number.constrain(me.getValue()+me.step,me.minValue,me.maxValue))}},onSpinDown:function(){var me=this;if(!me.readOnly){me.setValue(Ext.Number.constrain(me.getValue()-me.step,me.minValue,me.maxValue))}}});Ext.define("Ext.toolbar.Paging",{extend:"Ext.toolbar.Toolbar",alias:"widget.pagingtoolbar",alternateClassName:"Ext.PagingToolbar",requires:["Ext.toolbar.TextItem","Ext.form.field.Number"],displayInfo:false,prependButtons:false,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",inputItemWidth:30,getPagingItems:function(){var me=this;return[{itemId:"first",tooltip:me.firstText,overflowText:me.firstText,iconCls:Ext.baseCSSPrefix+"tbar-page-first",disabled:true,handler:me.moveFirst,scope:me},{itemId:"prev",tooltip:me.prevText,overflowText:me.prevText,iconCls:Ext.baseCSSPrefix+"tbar-page-prev",disabled:true,handler:me.movePrevious,scope:me},"-",me.beforePageText,{xtype:"numberfield",itemId:"inputItem",name:"inputItem",cls:Ext.baseCSSPrefix+"tbar-page-number",allowDecimals:false,minValue:1,hideTrigger:true,enableKeyEvents:true,selectOnFocus:true,submitValue:false,width:me.inputItemWidth,margins:"-1 2 3 2",listeners:{scope:me,keydown:me.onPagingKeyDown,blur:me.onPagingBlur}},{xtype:"tbtext",itemId:"afterTextItem",text:Ext.String.format(me.afterPageText,1)},"-",{itemId:"next",tooltip:me.nextText,overflowText:me.nextText,iconCls:Ext.baseCSSPrefix+"tbar-page-next",disabled:true,handler:me.moveNext,scope:me},{itemId:"last",tooltip:me.lastText,overflowText:me.lastText,iconCls:Ext.baseCSSPrefix+"tbar-page-last",disabled:true,handler:me.moveLast,scope:me},"-",{itemId:"refresh",tooltip:me.refreshText,overflowText:me.refreshText,iconCls:Ext.baseCSSPrefix+"tbar-loading",handler:me.doRefresh,scope:me}]},initComponent:function(){var me=this,pagingItems=me.getPagingItems(),userItems=me.items||me.buttons||[];if(me.prependButtons){me.items=userItems.concat(pagingItems)}else{me.items=pagingItems.concat(userItems)}delete me.buttons;if(me.displayInfo){me.items.push("->");me.items.push({xtype:"tbtext",itemId:"displayItem"})}me.callParent();me.addEvents("change","beforechange");me.on("afterlayout",me.onLoad,me,{single:true});me.bindStore(me.store,true)},updateInfo:function(){var me=this,displayItem=me.child("#displayItem"),store=me.store,pageData=me.getPageData(),count,msg;if(displayItem){count=store.getCount();if(count===0){msg=me.emptyMsg}else{msg=Ext.String.format(me.displayMsg,pageData.fromRecord,pageData.toRecord,pageData.total)}displayItem.setText(msg);me.doComponentLayout()}},onLoad:function(){var me=this,pageData,currPage,pageCount,afterText;if(!me.rendered){return}pageData=me.getPageData();currPage=pageData.currentPage;pageCount=pageData.pageCount;afterText=Ext.String.format(me.afterPageText,isNaN(pageCount)?1:pageCount);me.child("#afterTextItem").setText(afterText);me.child("#inputItem").setValue(currPage);me.child("#first").setDisabled(currPage===1);me.child("#prev").setDisabled(currPage===1);me.child("#next").setDisabled(currPage===pageCount);me.child("#last").setDisabled(currPage===pageCount);me.child("#refresh").enable();me.updateInfo();me.fireEvent("change",me,pageData)},getPageData:function(){var store=this.store,totalCount=store.getTotalCount();return{total:totalCount,currentPage:store.currentPage,pageCount:Math.ceil(totalCount/store.pageSize),fromRecord:((store.currentPage-1)*store.pageSize)+1,toRecord:Math.min(store.currentPage*store.pageSize,totalCount)}},onLoadError:function(){if(!this.rendered){return}this.child("#refresh").enable()},readPageFromInput:function(pageData){var v=this.child("#inputItem").getValue(),pageNum=parseInt(v,10);if(!v||isNaN(pageNum)){this.child("#inputItem").setValue(pageData.currentPage);return false}return pageNum},onPagingFocus:function(){this.child("#inputItem").select()},onPagingBlur:function(e){var curPage=this.getPageData().currentPage;this.child("#inputItem").setValue(curPage)},onPagingKeyDown:function(field,e){var me=this,k=e.getKey(),pageData=me.getPageData(),increment=e.shiftKey?10:1,pageNum;if(k==e.RETURN){e.stopEvent();pageNum=me.readPageFromInput(pageData);if(pageNum!==false){pageNum=Math.min(Math.max(1,pageNum),pageData.pageCount);if(me.fireEvent("beforechange",me,pageNum)!==false){me.store.loadPage(pageNum)}}}else{if(k==e.HOME||k==e.END){e.stopEvent();pageNum=k==e.HOME?1:pageData.pageCount;field.setValue(pageNum)}else{if(k==e.UP||k==e.PAGEUP||k==e.DOWN||k==e.PAGEDOWN){e.stopEvent();pageNum=me.readPageFromInput(pageData);if(pageNum){if(k==e.DOWN||k==e.PAGEDOWN){increment*=-1}pageNum+=increment;if(pageNum>=1&&pageNum<=pageData.pages){field.setValue(pageNum)}}}}}},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},doLoad:function(start){if(this.fireEvent("beforechange",this,o)!==false){this.store.load()}},moveFirst:function(){if(this.fireEvent("beforechange",this,1)!==false){this.store.loadPage(1)}},movePrevious:function(){var me=this,prev=me.store.currentPage-1;if(prev>0){if(me.fireEvent("beforechange",me,prev)!==false){me.store.previousPage()}}},moveNext:function(){var me=this,total=me.getPageData().pageCount,next=me.store.currentPage+1;if(next<=total){if(me.fireEvent("beforechange",me,next)!==false){me.store.nextPage()}}},moveLast:function(){var me=this,last=me.getPageData().pageCount;if(me.fireEvent("beforechange",me,last)!==false){me.store.loadPage(last)}},doRefresh:function(){var me=this,current=me.store.currentPage;if(me.fireEvent("beforechange",me,current)!==false){me.store.loadPage(current)}},bindStore:function(store,initial){var me=this;if(!initial&&me.store){if(store!==me.store&&me.store.autoDestroy){me.store.destroy()}else{me.store.un("beforeload",me.beforeLoad,me);me.store.un("load",me.onLoad,me);me.store.un("exception",me.onLoadError,me)}if(!store){me.store=null}}if(store){store=Ext.data.StoreManager.lookup(store);store.on({scope:me,beforeload:me.beforeLoad,load:me.onLoad,exception:me.onLoadError})}me.store=store},unbind:function(store){this.bindStore(null)},bind:function(store){this.bindStore(store)},onDestroy:function(){this.bindStore(null);this.callParent()}});Ext.define("Ext.view.BoundList",{extend:"Ext.view.View",alias:"widget.boundlist",alternateClassName:"Ext.BoundList",requires:["Ext.layout.component.BoundList","Ext.toolbar.Paging"],pageSize:0,autoScroll:true,baseCls:Ext.baseCSSPrefix+"boundlist",listItemCls:"",shadow:false,trackOver:true,refreshed:0,ariaRole:"listbox",componentLayout:"boundlist",renderTpl:['
'],initComponent:function(){var me=this,baseCls=me.baseCls,itemCls=baseCls+"-item";me.itemCls=itemCls;me.selectedItemCls=baseCls+"-selected";me.overItemCls=baseCls+"-item-over";me.itemSelector="."+itemCls;if(me.floating){me.addCls(baseCls+"-floating")}if(!me.tpl){me.tpl=Ext.create("Ext.XTemplate",'
    ','
  • '+me.getInnerTpl(me.displayField)+"
  • ","
")}else{if(Ext.isString(me.tpl)){me.tpl=Ext.create("Ext.XTemplate",me.tpl)}}if(me.pageSize){me.pagingToolbar=me.createPagingToolbar()}me.callParent();Ext.applyIf(me.renderSelectors,{listEl:".list-ct"})},createPagingToolbar:function(){return Ext.widget("pagingtoolbar",{pageSize:this.pageSize,store:this.store,border:false})},onRender:function(){var me=this,toolbar=me.pagingToolbar;me.callParent(arguments);if(toolbar){toolbar.render(me.el)}},bindStore:function(store,initial){var me=this,toolbar=me.pagingToolbar;me.callParent(arguments);if(toolbar){toolbar.bindStore(store,initial)}},getTargetEl:function(){return this.listEl||this.el},getInnerTpl:function(displayField){return"{"+displayField+"}"},refresh:function(){var me=this;me.callParent();if(me.isVisible()){me.refreshed++;me.doComponentLayout();me.refreshed--}},initAria:function(){this.callParent();var selModel=this.getSelectionModel(),mode=selModel.getSelectionMode(),actionEl=this.getActionEl();if(mode!=="SINGLE"){actionEl.dom.setAttribute("aria-multiselectable",true)}},onDestroy:function(){Ext.destroyMembers(this,"pagingToolbar","listEl");this.callParent()}});Ext.define("Ext.view.BoundListKeyNav",{extend:"Ext.util.KeyNav",requires:"Ext.view.BoundList",constructor:function(el,config){var me=this;me.boundList=config.boundList;me.callParent([el,Ext.apply({},config,me.defaultHandlers)])},defaultHandlers:{up:function(){var me=this,boundList=me.boundList,allItems=boundList.all,oldItem=boundList.highlightedItem,oldItemIdx=oldItem?boundList.indexOf(oldItem):-1,newItemIdx=oldItemIdx>0?oldItemIdx-1:allItems.getCount()-1;me.highlightAt(newItemIdx)},down:function(){var me=this,boundList=me.boundList,allItems=boundList.all,oldItem=boundList.highlightedItem,oldItemIdx=oldItem?boundList.indexOf(oldItem):-1,newItemIdx=oldItemIdx{[typeof values === "string" ? values : values.'+me.displayField+']}'+me.delimiter+"")}else{if(Ext.isString(me.displayTpl)){me.displayTpl=Ext.create("Ext.XTemplate",me.displayTpl)}}me.callParent();me.doQueryTask=Ext.create("Ext.util.DelayedTask",me.doRawQuery,me);if(me.store.getCount()>0){me.setValue(me.value)}if(transformSelect){me.render(transformSelect.parentNode,transformSelect);Ext.removeNode(transformSelect);delete me.renderTo}},beforeBlur:function(){var me=this;me.doQueryTask.cancel();if(me.forceSelection){me.assertValue()}else{me.collapse()}},assertValue:function(){var me=this,value=me.getRawValue(),rec;if(me.multiSelect){if(value!==me.getDisplayValue()){me.setValue(me.lastSelection)}}else{rec=me.findRecordByDisplay(value);if(rec){me.select(rec)}else{me.setValue(me.lastSelection)}}me.collapse()},onTypeAhead:function(){var me=this,displayField=me.displayField,record=me.store.findRecord(displayField,me.getRawValue()),boundList=me.getPicker(),newValue,len,selStart;if(record){newValue=record.get(displayField);len=newValue.length;selStart=me.getRawValue().length;boundList.highlightItem(boundList.getNode(record));if(selStart!==0&&selStart!==len){me.setRawValue(newValue);me.selectText(selStart,newValue.length)}}},resetToDefault:function(){},bindStore:function(store,initial){var me=this,oldStore=me.store;if(oldStore&&!initial){if(oldStore!==store&&oldStore.autoDestroy){oldStore.destroy()}else{oldStore.un({scope:me,load:me.onLoad,exception:me.collapse})}if(!store){me.store=null;if(me.picker){me.picker.bindStore(null)}}}if(store){if(!initial){me.resetToDefault()}me.store=Ext.data.StoreManager.lookup(store);me.store.on({scope:me,load:me.onLoad,exception:me.collapse});if(me.picker){me.picker.bindStore(store)}}},onLoad:function(){var me=this,value=me.value;me.syncSelection();if(me.picker&&!me.picker.getSelectionModel().hasSelection()){me.doAutoSelect()}},doRawQuery:function(){this.doQuery(this.getRawValue())},doQuery:function(queryString,forceAll){queryString=queryString||"";var me=this,qe={query:queryString,forceAll:forceAll,combo:me,cancel:false},store=me.store,isLocalMode=me.queryMode==="local";if(me.fireEvent("beforequery",qe)===false||qe.cancel){return false}queryString=qe.query;forceAll=qe.forceAll;if(forceAll||(queryString.length>=me.minChars)){me.expand();if(!me.queryCaching||me.lastQuery!==queryString){me.lastQuery=queryString;if(isLocalMode){if(forceAll){store.clearFilter()}else{store.clearFilter(true);store.filter(me.displayField,queryString)}}else{store.load({params:me.getParams(queryString)})}}if(me.getRawValue()!==me.getDisplayValue()){me.ignoreSelection++;me.picker.getSelectionModel().deselectAll();me.ignoreSelection--}if(isLocalMode){me.doAutoSelect()}if(me.typeAhead){me.doTypeAhead()}}return true},getParams:function(queryString){var p={},pageSize=this.pageSize,param=this.queryParam;if(param){p[param]=queryString}if(pageSize){p.start=0;p.limit=pageSize}return p},doAutoSelect:function(){var me=this,picker=me.picker,lastSelected,itemNode;if(picker&&me.autoSelect&&me.store.getCount()>0){lastSelected=picker.getSelectionModel().lastSelected;itemNode=picker.getNode(lastSelected||0);if(itemNode){picker.highlightItem(itemNode);picker.listEl.scrollChildIntoView(itemNode,false)}}},doTypeAhead:function(){if(!this.typeAheadTask){this.typeAheadTask=Ext.create("Ext.util.DelayedTask",this.onTypeAhead,this)}if(this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.typeAheadTask.delay(this.typeAheadDelay)}},onTriggerClick:function(){var me=this;if(!me.readOnly&&!me.disabled){if(me.isExpanded){me.collapse()}else{me.onFocus({});if(me.triggerAction==="all"){me.doQuery(me.allQuery,true)}else{me.doQuery(me.getRawValue())}}me.inputEl.focus()}},onKeyUp:function(e,t){var me=this,key=e.getKey();if(!me.readOnly&&!me.disabled&&me.editable){me.lastKey=key;if(!e.isSpecialKey()||key==e.BACKSPACE||key==e.DELETE){me.doQueryTask.delay(me.queryDelay)}}if(me.enableKeyEvents){me.callParent(arguments)}},initEvents:function(){var me=this;me.callParent();if(!me.enableKeyEvents){me.mon(me.inputEl,"keyup",me.onKeyUp,me)}},createPicker:function(){var me=this,picker,menuCls=Ext.baseCSSPrefix+"menu",opts=Ext.apply({selModel:{mode:me.multiSelect?"SIMPLE":"SINGLE"},floating:true,hidden:true,ownerCt:me.ownerCt,cls:me.el.up("."+menuCls)?menuCls:"",store:me.store,displayField:me.displayField,focusOnToFront:false,pageSize:me.pageSize,tpl:me.tpl},me.listConfig,me.defaultListConfig);picker=me.picker=Ext.create("Ext.view.BoundList",opts);me.mon(picker,{itemclick:me.onItemClick,refresh:me.onListRefresh,scope:me});me.mon(picker.getSelectionModel(),"selectionchange",me.onListSelectionChange,me);return picker},onListRefresh:function(){this.alignPicker();this.syncSelection()},onItemClick:function(picker,record){var me=this,lastSelection=me.lastSelection,valueField=me.valueField,selected;if(!me.multiSelect&&lastSelection){selected=lastSelection[0];if(selected&&(record.get(valueField)===selected.get(valueField))){me.collapse()}}},onListSelectionChange:function(list,selectedRecords){var me=this,isMulti=me.multiSelect,hasRecords=selectedRecords.length>0;if(!me.ignoreSelection&&me.isExpanded){if(!isMulti){Ext.defer(me.collapse,1,me)}if(isMulti||hasRecords){me.setValue(selectedRecords,false)}if(hasRecords){me.fireEvent("select",me,selectedRecords)}me.inputEl.focus()}},onExpand:function(){var me=this,keyNav=me.listKeyNav,selectOnTab=me.selectOnTab,picker=me.getPicker();if(keyNav){keyNav.enable()}else{keyNav=me.listKeyNav=Ext.create("Ext.view.BoundListKeyNav",this.inputEl,{boundList:picker,forceKeyDown:true,tab:function(e){if(selectOnTab){this.selectHighlighted(e);me.triggerBlur()}return true}})}if(selectOnTab){me.ignoreMonitorTab=true}Ext.defer(keyNav.enable,1,keyNav);me.inputEl.focus()},onCollapse:function(){var me=this,keyNav=me.listKeyNav;if(keyNav){keyNav.disable();me.ignoreMonitorTab=false}},select:function(r){this.setValue(r,true)},findRecord:function(field,value){var ds=this.store,idx=ds.findExact(field,value);return idx!==-1?ds.getAt(idx):false},findRecordByValue:function(value){return this.findRecord(this.valueField,value)},findRecordByDisplay:function(value){return this.findRecord(this.displayField,value)},setValue:function(value,doSelect){var me=this,valueNotFoundText=me.valueNotFoundText,inputEl=me.inputEl,i,len,record,models=[],displayTplData=[],processedValue=[];if(me.store.loading){me.value=value;return me}value=Ext.Array.from(value);for(i=0,len=value.length;i=0){selection.push(value)}});me.ignoreSelection++;selModel=picker.getSelectionModel();selModel.deselectAll();if(selection.length){selModel.select(selection)}me.ignoreSelection--}}});Ext.define("Ext.picker.Month",{extend:"Ext.Component",requires:["Ext.XTemplate","Ext.util.ClickRepeater","Ext.Date","Ext.button.Button"],alias:"widget.monthpicker",alternateClassName:"Ext.MonthPicker",renderTpl:['
','
','','',"","
",'
','
','','',"
",'','',"","
","
",'
','','
',"
"],okText:"OK",cancelText:"Cancel",baseCls:Ext.baseCSSPrefix+"monthpicker",showButtons:true,width:178,smallCls:Ext.baseCSSPrefix+"monthpicker-small",totalYears:10,yearOffset:5,monthOffset:6,initComponent:function(){var me=this;me.selectedCls=me.baseCls+"-selected";me.addEvents("cancelclick","monthclick","monthdblclick","okclick","select","yearclick","yeardblclick");if(me.small){me.addCls(me.smallCls)}me.setValue(me.value);me.activeYear=me.getYear(new Date().getFullYear()-4,-4);this.callParent()},onRender:function(ct,position){var me=this,i=0,months=[],shortName=Ext.Date.getShortMonthName,monthLen=me.monthOffset;for(;iactive+me.yearOffset)){me.activeYear=year-me.yearOffset+1}}me.updateBody()}return me},getValue:function(){return this.value},hasSelection:function(){var value=this.value;return value[0]!==null&&value[1]!==null},getYears:function(){var me=this,offset=me.yearOffset,start=me.activeYear,end=start+offset,i=start,years=[];for(;i','",'','','','',"","",'','',"{#:this.isEndOfWeek}",'","","","",'','',"","",{firstInitial:function(value){return value.substr(0,1)},isEndOfWeek:function(value){value--;var end=value%7===0&&value!==0;return end?'':""},longDay:function(value){return Ext.Date.format(value,this.longDayFormat)}}],ariaTitle:"Date Picker",todayText:"Today",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",disabledDaysText:"Disabled",disabledDatesText:"Disabled",nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,disableAnim:true,baseCls:Ext.baseCSSPrefix+"datepicker",longDayFormat:"F d, Y",focusOnShow:false,focusOnSelect:true,width:178,initHour:12,numDays:42,initComponent:function(){var me=this,clearTime=Ext.Date.clearTime;me.selectedCls=me.baseCls+"-selected";me.disabledCellCls=me.baseCls+"-disabled";me.prevCls=me.baseCls+"-prevday";me.activeCls=me.baseCls+"-active";me.nextCls=me.baseCls+"-prevday";me.todayCls=me.baseCls+"-today";me.dayNames=me.dayNames.slice(me.startDay).concat(me.dayNames.slice(0,me.startDay));this.callParent();me.value=me.value?clearTime(me.value,true):clearTime(new Date());me.addEvents("select");me.initDisabledDays()},onRender:function(container,position){var me=this,days=new Array(me.numDays),today=Ext.Date.format(new Date(),me.format);Ext.applyIf(me,{renderData:{},renderSelectors:{}});Ext.apply(me.renderData,{dayNames:me.dayNames,ariaTitle:me.ariaTitle,value:me.value,showToday:me.showToday,prevText:me.prevText,nextText:me.nextText,days:days});me.getTpl("renderTpl").longDayFormat=me.longDayFormat;Ext.apply(me.renderSelectors,{eventEl:"table."+me.baseCls+"-inner",prevEl:"."+me.baseCls+"-prev a",nextEl:"."+me.baseCls+"-next a",middleBtnEl:"."+me.baseCls+"-month",footerEl:"."+me.baseCls+"-footer"});this.callParent(arguments);me.el.unselectable();me.cells=me.eventEl.select("tbody td");me.textNodes=me.eventEl.query("tbody td span");me.monthBtn=Ext.create("Ext.button.Split",{text:"",tooltip:me.monthYearText,renderTo:me.middleBtnEl});me.todayBtn=Ext.create("Ext.button.Button",{renderTo:me.footerEl,text:Ext.String.format(me.todayText,today),tooltip:Ext.String.format(me.todayTip,today),handler:me.selectToday,scope:me})},initEvents:function(){var me=this,eDate=Ext.Date,day=eDate.DAY;this.callParent();me.prevRepeater=Ext.create("Ext.util.ClickRepeater",me.prevEl,{handler:me.showPrevMonth,scope:me,preventDefault:true,stopDefault:true});me.nextRepeater=Ext.create("Ext.util.ClickRepeater",me.nextEl,{handler:me.showNextMonth,scope:me,preventDefault:true,stopDefault:true});me.keyNav=Ext.create("Ext.util.KeyNav",me.eventEl,Ext.apply({scope:me,left:function(e){if(e.ctrlKey){me.showPrevMonth()}else{me.update(eDate.add(me.activeDate,day,-1))}},right:function(e){if(e.ctrlKey){me.showNextMonth()}else{me.update(eDate.add(me.activeDate,day,1))}},up:function(e){if(e.ctrlKey){me.showNextYear()}else{me.update(eDate.add(me.activeDate,day,-7))}},down:function(e){if(e.ctrlKey){me.showPrevYear()}else{me.update(eDate.add(me.activeDate,day,7))}},pageUp:me.showNextMonth,pageDown:me.showPrevMonth,enter:function(e){e.stopPropagation();return true}},me.keyNavConfig));if(me.showToday){me.todayKeyListener=me.eventEl.addKeyListener(Ext.EventObject.SPACE,me.selectToday,me)}me.mon(me.eventEl,"mousewheel",me.handleMouseWheel,me);me.mon(me.eventEl,"click",me.handleDateClick,me,{delegate:"a."+me.baseCls+"-date"});me.mon(me.monthBtn,"click",me.showMonthPicker,me);me.mon(me.monthBtn,"arrowclick",me.showMonthPicker,me);me.update(me.value)},initDisabledDays:function(){var me=this,dd=me.disabledDates,re="(?:",len;if(!me.disabledDatesRE&&dd){len=dd.length-1;Ext.each(dd,function(d,i){re+=Ext.isDate(d)?"^"+Ext.String.escapeRegex(Ext.Date.dateFormat(d,me.format))+"$":dd[i];if(i!=len){re+="|"}},me);me.disabledDatesRE=new RegExp(re+")")}},setDisabledDates:function(dd){var me=this;if(Ext.isArray(dd)){me.disabledDates=dd;me.disabledDatesRE=null}else{me.disabledDatesRE=dd}me.initDisabledDays();me.update(me.value,true);return me},setDisabledDays:function(dd){this.disabledDays=dd;return this.update(this.value,true)},setMinDate:function(dt){this.minDate=dt;return this.update(this.value,true)},setMaxDate:function(dt){this.maxDate=dt;return this.update(this.value,true)},setValue:function(value){this.value=Ext.Date.clearTime(value,true);return this.update(this.value)},getValue:function(){return this.value},focus:function(){this.update(this.activeDate)},onEnable:function(){this.callParent();this.setDisabledStatus(false);this.update(this.activeDate)},onDisable:function(){this.callParent();this.setDisabledStatus(true)},setDisabledStatus:function(disabled){var me=this;me.keyNav.setDisabled(disabled);me.prevRepeater.setDisabled(disabled);me.nextRepeater.setDisabled(disabled);if(me.showToday){me.todayKeyListener.setDisabled(disabled);me.todayBtn.setDisabled(disabled)}},getActive:function(){return this.activeDate||me.value},runAnimation:function(isHide){var options={target:this.monthPicker,duration:200};Ext.fx.Manager.run();if(isHide){}else{}Ext.create("Ext.fx.Anim",options)},hideMonthPicker:function(){var me=this,picker=me.monthPicker;if(picker){if(me.disableAnim){picker.hide()}else{this.runAnimation(true)}}return me},showMonthPicker:function(){var me=this,picker,size,top,left;if(me.rendered&&!me.disabled){size=me.getSize();picker=me.createMonthPicker();picker.show();picker.setSize(size);picker.setValue(me.getActive());if(me.disableAnim){picker.setPosition(-1,-1)}else{me.runAnimation(false)}}return me},createMonthPicker:function(){var me=this,picker=me.monthPicker;if(!picker){me.monthPicker=picker=Ext.create("Ext.picker.Month",{renderTo:me.el,floating:true,shadow:false,small:me.showToday===false,listeners:{scope:me,cancelclick:me.onCancelClick,okclick:me.onOkClick,yeardblclick:me.onOkClick,monthdblclick:me.onOkClick}});me.on("beforehide",me.hideMonthPicker,me)}return picker},onOkClick:function(picker,value){var me=this,month=value[0],year=value[1],date=new Date(year,month,me.getActive().getDate());if(date.getMonth()!==month){date=new Date(year,month,1).getLastDateOfMonth()}me.update(date);me.hideMonthPicker()},onCancelClick:function(){this.hideMonthPicker()},showPrevMonth:function(e){return this.update(Ext.Date.add(this.activeDate,Ext.Date.MONTH,-1))},showNextMonth:function(e){return this.update(Ext.Date.add(this.activeDate,Ext.Date.MONTH,1))},showPrevYear:function(){this.update(Ext.Date.add(this.activeDate,Ext.Date.YEAR,-1))},showNextYear:function(){this.update(Ext.Date.add(this.activeDate,Ext.Date.YEAR,1))},handleMouseWheel:function(e){e.stopEvent();if(!this.disabled){var delta=e.getWheelDelta();if(delta>0){this.showPrevMonth()}else{if(delta<0){this.showNextMonth()}}}},handleDateClick:function(e,t){var me=this,handler=me.handler;e.stopEvent();if(!me.disabled&&t.dateValue&&!Ext.fly(t.parentNode).hasCls(me.disabledCellCls)){me.cancelFocus=me.focusOnSelect===false;me.setValue(new Date(t.dateValue));delete me.cancelFocus;me.fireEvent("select",me,me.value);if(handler){handler.call(me.scope||me,me,me.value)}me.onSelect()}},onSelect:function(){if(this.hideOnSelect){this.hide()}},selectToday:function(){var me=this,btn=me.todayBtn,handler=me.handler;if(btn&&!btn.disabled){me.setValue(Ext.Date.clearTime(new Date()));me.fireEvent("select",me,me.value);if(handler){handler.call(me.scope||me,me,me.value)}me.onSelect()}return me},selectedUpdate:function(date,active){var me=this,t=date.getTime(),cells=me.cells,cls=me.selectedCls;cells.removeCls(cls);cells.each(function(c){if(c.dom.firstChild.dateValue==t){me.el.dom.setAttribute("aria-activedescendent",c.dom.id);c.addCls(cls);if(me.isVisible()&&!me.cancelFocus){Ext.fly(c.dom.firstChild).focus(50)}return false}},this)},fullUpdate:function(date,active){var me=this,cells=me.cells.elements,textNodes=me.textNodes,disabledCls=me.disabledCellCls,eDate=Ext.Date,i=0,extraDays=0,visible=me.isVisible(),sel=+eDate.clearTime(date,true),today=+eDate.clearTime(new Date()),min=me.minDate?eDate.clearTime(me.minDate,true):Number.NEGATIVE_INFINITY,max=me.maxDate?eDate.clearTime(me.maxDate,true):Number.POSITIVE_INFINITY,ddMatch=me.disabledDatesRE,ddText=me.disabledDatesText,ddays=me.disabledDays?me.disabledDays.join(""):false,ddaysText=me.disabledDaysText,format=me.format,days=eDate.getDaysInMonth(date),firstOfMonth=eDate.getFirstDateOfMonth(date),startingPos=firstOfMonth.getDay()-me.startDay,previousMonth=eDate.add(date,eDate.MONTH,-1),longDayFormat=me.longDayFormat,prevStart,current,disableToday,tempDate,setCellClass,html,cls,formatValue,value;if(startingPos<0){startingPos+=7}days+=startingPos;prevStart=eDate.getDaysInMonth(previousMonth)-startingPos;current=new Date(previousMonth.getFullYear(),previousMonth.getMonth(),prevStart,me.initHour);if(me.showToday){tempDate=eDate.clearTime(new Date());disableToday=(tempDatemax||(ddMatch&&format&&ddMatch.test(eDate.dateFormat(tempDate,format)))||(ddays&&ddays.indexOf(tempDate.getDay())!=-1));if(!me.disabled){me.todayBtn.setDisabled(disableToday);me.todayKeyListener.setDisabled(disableToday)}}setCellClass=function(cell){value=+eDate.clearTime(current,true);cell.title=eDate.format(current,longDayFormat);cell.firstChild.dateValue=value;if(value==today){cell.className+=" "+me.todayCls;cell.title=me.todayText}if(value==sel){cell.className+=" "+me.selectedCls;me.el.dom.setAttribute("aria-activedescendant",cell.id);if(visible&&me.floating){Ext.fly(cell.firstChild).focus(50)}}if(valuemax){cell.className=disabledCls;cell.title=me.maxText;return}if(ddays){if(ddays.indexOf(current.getDay())!=-1){cell.title=ddaysText;cell.className=disabledCls}}if(ddMatch&&format){formatValue=eDate.dateFormat(current,format);if(ddMatch.test(formatValue)){cell.title=ddText.replace("%0",formatValue);cell.className=disabledCls}}};for(;i=days){html=(++extraDays);cls=me.nextCls}else{html=i-startingPos+1;cls=me.activeCls}}textNodes[i].innerHTML=html;cells[i].className=cls;current.setDate(current.getDate()+1);setCellClass(cells[i])}me.monthBtn.setText(me.monthNames[date.getMonth()]+" "+date.getFullYear())},update:function(date,forceRefresh){var me=this,active=me.activeDate;if(me.rendered){me.activeDate=date;if(!forceRefresh&&active&&me.el&&active.getMonth()==date.getMonth()&&active.getFullYear()==date.getFullYear()){me.selectedUpdate(date,active)}else{me.fullUpdate(date,active)}}return me},beforeDestroy:function(){var me=this;if(me.rendered){Ext.destroy(me.todayKeyListener,me.keyNav,me.monthPicker,me.monthBtn,me.nextRepeater,me.prevRepeater,me.todayBtn);delete me.textNodes;delete me.cells.elements}},onShow:function(){this.callParent(arguments);if(this.focusOnShow){this.focus()}}},function(){var proto=this.prototype;proto.monthNames=Ext.Date.monthNames;proto.dayNames=Ext.Date.dayNames;proto.format=Ext.Date.defaultFormat});Ext.define("Ext.form.field.Date",{extend:"Ext.form.field.Picker",alias:"widget.datefield",requires:["Ext.picker.Date"],alternateClassName:["Ext.form.DateField","Ext.form.Date"],format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerCls:Ext.baseCSSPrefix+"form-date-trigger",showToday:true,initTime:"12",initTimeFormat:"H",matchFieldWidth:false,startDay:0,initComponent:function(){var me=this,isString=Ext.isString,min,max;min=me.minValue;max=me.maxValue;if(isString(min)){me.minValue=me.parseDate(min)}if(isString(max)){me.maxValue=me.parseDate(max)}me.disabledDatesRE=null;me.initDisabledDays();me.callParent()},initValue:function(){var me=this,value=me.value;if(Ext.isString(value)){me.value=me.rawToValue(value)}me.callParent()},initDisabledDays:function(){if(this.disabledDates){var dd=this.disabledDates,len=dd.length-1,re="(?:";Ext.each(dd,function(d,i){re+=Ext.isDate(d)?"^"+Ext.String.escapeRegex(d.dateFormat(this.format))+"$":dd[i];if(i!==len){re+="|"}},this);this.disabledDatesRE=new RegExp(re+")")}},setDisabledDates:function(dd){var me=this,picker=me.picker;me.disabledDates=dd;me.initDisabledDays();if(picker){picker.setDisabledDates(me.disabledDatesRE)}},setDisabledDays:function(dd){var picker=this.picker;this.disabledDays=dd;if(picker){picker.setDisabledDays(dd)}},setMinValue:function(dt){var me=this,picker=me.picker,minValue=(Ext.isString(dt)?me.parseDate(dt):dt);me.minValue=minValue;if(picker){picker.minText=Ext.String.format(me.minText,me.formatDate(me.minValue));picker.setMinDate(minValue)}},setMaxValue:function(dt){var me=this,picker=me.picker,maxValue=(Ext.isString(dt)?me.parseDate(dt):dt);me.maxValue=maxValue;if(picker){picker.maxText=Ext.String.format(me.maxText,me.formatDate(me.maxValue));picker.setMaxDate(maxValue)}},getErrors:function(value){var me=this,format=Ext.String.format,clearTime=Ext.Date.clearTime,errors=me.callParent(arguments),disabledDays=me.disabledDays,disabledDatesRE=me.disabledDatesRE,minValue=me.minValue,maxValue=me.maxValue,len=disabledDays?disabledDays.length:0,i=0,svalue,fvalue,day,time;value=me.formatDate(value||me.processRawValue(me.getRawValue()));if(value===null||value.length<1){return errors}svalue=value;value=me.parseDate(value);if(!value){errors.push(format(me.invalidText,svalue,me.format));return errors}time=value.getTime();if(minValue&&timeclearTime(maxValue).getTime()){errors.push(format(me.maxText,me.formatDate(maxValue)))}if(disabledDays){day=value.getDay();for(;i',{compiled:true,disableFormats:true}],fieldCls:Ext.baseCSSPrefix+"form-display-field",htmlEncode:false,validateOnChange:false,initEvents:Ext.emptyFn,submitValue:false,isValid:function(){return true},validate:function(){return true},getRawValue:function(){return this.rawValue},setRawValue:function(value){var me=this;value=Ext.value(value,"");me.rawValue=value;if(me.rendered){me.inputEl.dom.innerHTML=me.htmlEncode?Ext.util.Format.htmlEncode(value):value}return value},getContentTarget:function(){return this.inputEl}});Ext.define("Ext.form.field.File",{extend:"Ext.form.field.Text",alias:["widget.filefield","widget.fileuploadfield"],alternateClassName:["Ext.form.FileUploadField","Ext.ux.form.FileUploadField","Ext.form.File"],uses:["Ext.button.Button","Ext.layout.component.field.File"],buttonText:"Browse...",buttonOnly:false,buttonMargin:3,fieldBodyCls:Ext.baseCSSPrefix+"form-file-wrap",readOnly:true,componentLayout:"filefield",onRender:function(){var me=this,inputEl;me.callParent(arguments);me.createButton();me.createFileInput();if(me.disabled){me.disableItems()}inputEl=me.inputEl;inputEl.dom.removeAttribute("name");if(me.buttonOnly){inputEl.setDisplayed(false)}},createButton:function(){var me=this;me.button=Ext.widget("button",Ext.apply({renderTo:me.bodyEl,text:me.buttonText,cls:Ext.baseCSSPrefix+"form-file-btn",preventDefault:false,style:me.buttonOnly?"":"margin-left:"+me.buttonMargin+"px"},me.buttonConfig))},createFileInput:function(){var me=this;me.fileInputEl=me.button.el.createChild({name:me.getName(),cls:Ext.baseCSSPrefix+"form-file-input",tag:"input",type:"file",size:1}).on("change",me.onFileChange,me)},onFileChange:function(){this.lastValue=null;Ext.form.field.File.superclass.setValue.call(this,this.fileInputEl.dom.value)},setValue:Ext.emptyFn,reset:function(){this.fileInputEl.remove();this.createFileInput();this.callParent()},onDisable:function(){this.callParent();this.disableItems()},disableItems:function(){var file=this.fileInputEl,button=this.button;if(file){file.dom.disabled=true}if(button){button.disable()}},onEnable:function(){var me=this;me.callParent();me.fileInputEl.dom.disabled=false;me.button.enable()},isFileUpload:function(){return true},extractFileInput:function(){var fileInput=this.fileInputEl.dom;this.reset();return fileInput},onDestroy:function(){Ext.destroyMembers(this,"fileInputEl","button");this.callParent()}});Ext.define("Ext.form.field.Hidden",{extend:"Ext.form.field.Base",alias:["widget.hiddenfield","widget.hidden"],alternateClassName:"Ext.form.Hidden",inputType:"hidden",hideLabel:true,initComponent:function(){this.formItemCls+="-hidden";this.callParent()},initEvents:Ext.emptyFn,setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.picker.Color",{extend:"Ext.Component",requires:"Ext.XTemplate",alias:"widget.colorpicker",alternateClassName:"Ext.ColorPalette",componentCls:Ext.baseCSSPrefix+"color-picker",selectedCls:Ext.baseCSSPrefix+"color-picker-selected",value:null,clickEvent:"click",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],colorRe:/(?:^|\s)color-(.{6})(?:\s|$)/,constructor:function(){this.renderTpl=Ext.create("Ext.XTemplate",' ');this.callParent(arguments)},initComponent:function(){var me=this;this.callParent(arguments);me.addEvents("select");if(me.handler){me.on("select",me.handler,me.scope,true)}},onRender:function(container,position){var me=this,clickEvent=me.clickEvent;Ext.apply(me.renderData,{itemCls:me.itemCls,colors:me.colors});this.callParent(arguments);me.mon(me.el,clickEvent,me.handleClick,me,{delegate:"a"});if(clickEvent!="click"){me.mon(me.el,"click",Ext.emptyFn,me,{delegate:"a",stopEvent:true})}},afterRender:function(){var me=this,value;this.callParent(arguments);if(me.value){value=me.value;me.value=null;me.select(value,true)}},handleClick:function(event,target){var me=this,color;event.stopEvent();if(!me.disabled){color=target.className.match(me.colorRe)[1];me.select(color.toUpperCase())}},select:function(color,suppressEvent){var me=this,selectedCls=me.selectedCls,value=me.value,el;color=color.replace("#","");if(!me.rendered){me.value=color;return}if(color!=value||me.allowReselect){el=me.el;if(me.value){el.down("a.color-"+value).removeCls(selectedCls)}el.down("a.color-"+color).addCls(selectedCls);me.value=color;if(suppressEvent!==true){me.fireEvent("select",me,color)}}},getValue:function(){return this.value||null}});Ext.define("Ext.layout.component.field.HtmlEditor",{extend:"Ext.layout.component.field.Field",alias:["layout.htmleditor"],type:"htmleditor",sizeBodyContents:function(width,height){var me=this,owner=me.owner,bodyEl=owner.bodyEl,toolbar=owner.getToolbar(),textarea=owner.textareaEl,iframe=owner.iframeEl,editorHeight;if(Ext.isNumber(width)){width-=bodyEl.getFrameWidth("lr")}toolbar.setWidth(width);textarea.setWidth(width);iframe.setWidth(width);if(Ext.isNumber(height)){editorHeight=height-toolbar.getHeight()-bodyEl.getFrameWidth("tb");textarea.setHeight(editorHeight);iframe.setHeight(editorHeight)}}});Ext.define("Ext.form.field.HtmlEditor",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.htmleditor",alternateClassName:"Ext.form.HtmlEditor",requires:["Ext.tip.QuickTipManager","Ext.picker.Color","Ext.toolbar.Item","Ext.toolbar.Toolbar","Ext.util.Format","Ext.layout.component.field.HtmlEditor"],fieldSubTpl:['
','','',{compiled:true,disableFormats:true}],enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:(Ext.isOpera||Ext.isIE6)?" ":"​",fieldBodyCls:Ext.baseCSSPrefix+"html-editor-wrap",componentLayout:"htmleditor",initialized:false,activated:false,sourceEditMode:false,iframePad:3,hideMode:"offsets",maskOnDisable:true,initComponent:function(){var me=this;me.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange");me.callParent(arguments);me.initLabelable();me.initField()},createToolbar:function(editor){var me=this,items=[],tipsEnabled=Ext.tip.QuickTipManager&&Ext.tip.QuickTipManager.isEnabled(),baseCSSPrefix=Ext.baseCSSPrefix,fontSelectItem,toolbar,undef;function btn(id,toggle,handler){return{itemId:id,cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-"+id,enableToggle:toggle!==false,scope:editor,handler:handler||editor.relayBtnCmd,clickEvent:"mousedown",tooltip:tipsEnabled?editor.buttonTips[id]||undef:undef,overflowText:editor.buttonTips[id].title||undef,tabIndex:-1}}if(me.enableFont&&!Ext.isSafari2){fontSelectItem=Ext.widget("component",{renderTpl:['"],renderData:{cls:baseCSSPrefix+"font-select",fonts:me.fontFamilies,defaultFont:me.defaultFont},renderSelectors:{selectEl:"select"},onDisable:function(){var selectEl=this.selectEl;if(selectEl){selectEl.dom.disabled=true}Ext.Component.superclass.onDisable.apply(this,arguments)},onEnable:function(){var selectEl=this.selectEl;if(selectEl){selectEl.dom.disabled=false}Ext.Component.superclass.onEnable.apply(this,arguments)}});items.push(fontSelectItem,"-")}if(me.enableFormat){items.push(btn("bold"),btn("italic"),btn("underline"))}if(me.enableFontSize){items.push("-",btn("increasefontsize",false,me.adjustFont),btn("decreasefontsize",false,me.adjustFont))}if(me.enableColors){items.push("-",{itemId:"forecolor",cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-forecolor",overflowText:editor.buttonTips.forecolor.title,tooltip:tipsEnabled?editor.buttonTips.forecolor||undef:undef,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,clickEvent:"mousedown",handler:function(cp,color){me.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+color:color);me.deferFocus();this.up("menu").hide()}}]})},{itemId:"backcolor",cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-backcolor",overflowText:editor.buttonTips.backcolor.title,tooltip:tipsEnabled?editor.buttonTips.backcolor||undef:undef,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,clickEvent:"mousedown",handler:function(cp,color){if(Ext.isGecko){me.execCmd("useCSS",false);me.execCmd("hilitecolor",color);me.execCmd("useCSS",true);me.deferFocus()}else{me.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+color:color);me.deferFocus()}this.up("menu").hide()}}]})})}if(me.enableAlignments){items.push("-",btn("justifyleft"),btn("justifycenter"),btn("justifyright"))}if(!Ext.isSafari2){if(me.enableLinks){items.push("-",btn("createlink",false,me.createLink))}if(me.enableLists){items.push("-",btn("insertorderedlist"),btn("insertunorderedlist"))}if(me.enableSourceEdit){items.push("-",btn("sourceedit",true,function(btn){me.toggleSourceEdit(!me.sourceEditMode)}))}}toolbar=Ext.widget("toolbar",{renderTo:me.toolbarWrap,enableOverflow:true,items:items});if(fontSelectItem){me.fontSelect=fontSelectItem.selectEl;me.mon(me.fontSelect,"change",function(){me.relayCmd("fontname",me.fontSelect.dom.value);me.deferFocus()})}me.mon(toolbar.el,"click",function(e){e.preventDefault()});me.toolbar=toolbar},onDisable:function(){this.bodyEl.mask();this.callParent(arguments)},onEnable:function(){this.bodyEl.unmask();this.callParent(arguments)},setReadOnly:function(readOnly){var me=this,textareaEl=me.textareaEl,iframeEl=me.iframeEl,body;me.readOnly=readOnly;if(textareaEl){textareaEl.dom.readOnly=readOnly}if(me.initialized){body=me.getEditorBody();if(Ext.isIE){iframeEl.setDisplayed(false);body.contentEditable=!readOnly;iframeEl.setDisplayed(true)}else{me.setDesignMode(!readOnly)}if(body){body.style.cursor=readOnly?"default":"text"}me.disableItems(readOnly)}},getDocMarkup:function(){var me=this,h=me.iframeEl.getHeight()-me.iframePad*2;return Ext.String.format('',me.iframePad,h)},getEditorBody:function(){var doc=this.getDoc();return doc.body||doc.documentElement},getDoc:function(){return(!Ext.isIE&&this.iframeEl.dom.contentDocument)||this.getWin().document},getWin:function(){return Ext.isIE?this.iframeEl.dom.contentWindow:window.frames[this.iframeEl.dom.name]},onRender:function(){var me=this,renderSelectors=me.renderSelectors;Ext.applyIf(renderSelectors,me.getLabelableSelectors());Ext.applyIf(renderSelectors,{toolbarWrap:"div."+Ext.baseCSSPrefix+"html-editor-tb",iframeEl:"iframe",textareaEl:"textarea"});me.callParent(arguments);me.textareaEl.dom.value=me.value||"";me.monitorTask=Ext.TaskManager.start({run:me.checkDesignMode,scope:me,interval:100});me.createToolbar(me);me.disableItems(true)},initRenderTpl:function(){var me=this;if(!me.hasOwnProperty("renderTpl")){me.renderTpl=me.getTpl("labelableRenderTpl")}return me.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},getSubTplData:function(){var cssPrefix=Ext.baseCSSPrefix;return{toolbarWrapCls:cssPrefix+"html-editor-tb",textareaCls:cssPrefix+"hidden",iframeName:Ext.id(),iframeSrc:Ext.SSL_SECURE_URL,size:"height:100px;"}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},getBodyNaturalWidth:function(){return 565},initFrameDoc:function(){var me=this,doc,task;Ext.TaskManager.stop(me.monitorTask);doc=me.getDoc();me.win=me.getWin();doc.open();doc.write(me.getDocMarkup());doc.close();task={run:function(){var doc=me.getDoc();if(doc.body||doc.readyState==="complete"){Ext.TaskManager.stop(task);me.setDesignMode(true);Ext.defer(me.initEditor,10,me)}},interval:10,duration:10000,scope:me};Ext.TaskManager.start(task)},checkDesignMode:function(){var me=this,doc=me.getDoc();if(doc&&(!doc.editorInitialized||me.getDesignMode()!=="on")){me.initFrameDoc()}},setDesignMode:function(mode){var me=this,doc=me.getDoc();if(doc){if(me.readOnly){mode=false}doc.designMode=(/on|true/i).test(String(mode).toLowerCase())?"on":"off"}},getDesignMode:function(){var doc=this.getDoc();return !doc?"":String(doc.designMode).toLowerCase()},disableItems:function(disabled){this.getToolbar().items.each(function(item){if(item.getItemId()!=="sourceedit"){item.setDisabled(disabled)}})},toggleSourceEdit:function(sourceEditMode){var me=this,iframe=me.iframeEl,textarea=me.textareaEl,hiddenCls=Ext.baseCSSPrefix+"hidden",btn=me.getToolbar().getComponent("sourceedit");if(!Ext.isBoolean(sourceEditMode)){sourceEditMode=!me.sourceEditMode}me.sourceEditMode=sourceEditMode;if(btn.pressed!==sourceEditMode){btn.toggle(sourceEditMode)}if(sourceEditMode){me.disableItems(true);me.syncValue();iframe.addCls(hiddenCls);textarea.removeCls(hiddenCls);textarea.dom.removeAttribute("tabIndex");textarea.focus()}else{if(me.initialized){me.disableItems(me.readOnly)}me.pushValue();iframe.removeCls(hiddenCls);textarea.addCls(hiddenCls);textarea.dom.setAttribute("tabIndex",-1);me.deferFocus()}me.fireEvent("editmodechange",me,sourceEditMode);me.doComponentLayout()},createLink:function(){var url=prompt(this.createLinkText,this.defaultLinkValue);if(url&&url!=="http://"){this.relayCmd("createlink",url)}},clearInvalid:Ext.emptyFn,setValue:function(value){var me=this,textarea=me.textareaEl;me.mixins.field.setValue.call(me,value);if(value===null||value===undefined){value=""}if(textarea){textarea.dom.value=value}me.pushValue();return this},cleanHtml:function(html){html=String(html);if(Ext.isWebKit){html=html.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}if(html.charCodeAt(0)===this.defaultValue.replace(/\D/g,"")){html=html.substring(1)}return html},syncValue:function(){var me=this,body,html,bodyStyle,match;if(me.initialized){body=me.getEditorBody();html=body.innerHTML;if(Ext.isWebKit){bodyStyle=body.getAttribute("style");match=bodyStyle.match(/text-align:(.*?);/i);if(match&&match[1]){html='
'+html+"
"}}html=me.cleanHtml(html);if(me.fireEvent("beforesync",me,html)!==false){me.textareaEl.dom.value=html;me.fireEvent("sync",me,html)}}},getValue:function(){var me=this,value;if(!me.sourceEditMode){me.syncValue()}value=me.rendered?me.textareaEl.dom.value:me.value;me.value=value;return value},pushValue:function(){var me=this,v;if(me.initialized){v=me.textareaEl.dom.value||"";if(!me.activated&&v.length<1){v=me.defaultValue}if(me.fireEvent("beforepush",me,v)!==false){me.getEditorBody().innerHTML=v;if(Ext.isGecko){me.setDesignMode(false);me.setDesignMode(true)}me.fireEvent("push",me,v)}}},deferFocus:function(){this.focus(false,true)},getFocusEl:function(){var me=this,win=me.win;return win&&!me.sourceEditMode?win:me.textareaEl},initEditor:function(){try{var me=this,dbody=me.getEditorBody(),ss=me.textareaEl.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),doc,fn;ss["background-attachment"]="fixed";dbody.bgProperties="fixed";Ext.core.DomHelper.applyStyles(dbody,ss);doc=me.getDoc();if(doc){try{Ext.EventManager.removeAll(doc)}catch(e){}}fn=Ext.Function.bind(me.onEditorEvent,me);Ext.EventManager.on(doc,{mousedown:fn,dblclick:fn,click:fn,keyup:fn,buffer:100});fn=me.onRelayedEvent;Ext.EventManager.on(doc,{mousedown:fn,mousemove:fn,mouseup:fn,click:fn,dblclick:fn,scope:me});if(Ext.isGecko){Ext.EventManager.on(doc,"keypress",me.applyCommand,me)}if(me.fixKeys){Ext.EventManager.on(doc,"keydown",me.fixKeys,me)}Ext.EventManager.on(window,"unload",me.beforeDestroy,me);doc.editorInitialized=true;me.initialized=true;me.pushValue();me.setReadOnly(me.readOnly);me.fireEvent("initialize",me)}catch(ex){}},beforeDestroy:function(){var me=this,monitorTask=me.monitorTask,doc,prop;if(monitorTask){Ext.TaskManager.stop(monitorTask)}if(me.rendered){try{doc=me.getDoc();if(doc){Ext.EventManager.removeAll(doc);for(prop in doc){if(doc.hasOwnProperty(prop)){delete doc[prop]}}}}catch(e){}Ext.destroyMembers("tb","toolbarWrap","iframeEl","textareaEl")}me.callParent()},onRelayedEvent:function(event){var iframeEl=this.iframeEl,iframeXY=iframeEl.getXY(),eventXY=event.getXY();event.xy=[iframeXY[0]+eventXY[0],iframeXY[1]+eventXY[1]];event.injectEvent(iframeEl);event.xy=eventXY},onFirstFocus:function(){var me=this,selection,range;me.activated=true;me.disableItems(me.readOnly);if(Ext.isGecko){me.win.focus();selection=me.win.getSelection();if(!selection.focusNode||selection.focusNode.nodeType!==3){range=selection.getRangeAt(0);range.selectNodeContents(me.getEditorBody());range.collapse(true);me.deferFocus()}try{me.execCmd("useCSS",true);me.execCmd("styleWithCSS",false)}catch(e){}}me.fireEvent("activate",me)},adjustFont:function(btn){var adjust=btn.getItemId()==="increasefontsize"?1:-1,size=this.getDoc().queryCommandValue("FontSize")||"2",isPxSize=Ext.isString(size)&&size.indexOf("px")!==-1,isSafari;size=parseInt(size,10);if(isPxSize){if(size<=10){size=1+adjust}else{if(size<=13){size=2+adjust}else{if(size<=16){size=3+adjust}else{if(size<=18){size=4+adjust}else{if(size<=24){size=5+adjust}else{size=6+adjust}}}}}size=Ext.Number.constrain(size,1,6)}else{isSafari=Ext.isSafari;if(isSafari){adjust*=2}size=Math.max(1,size+adjust)+(isSafari?"px":0)}this.execCmd("FontSize",size)},onEditorEvent:function(e){this.updateToolbar()},updateToolbar:function(){var me=this,btns,doc,name,fontSelect;if(me.readOnly){return}if(!me.activated){me.onFirstFocus();return}btns=me.getToolbar().items.map;doc=me.getDoc();if(me.enableFont&&!Ext.isSafari2){name=(doc.queryCommandValue("FontName")||me.defaultFont).toLowerCase();fontSelect=me.fontSelect.dom;if(name!==fontSelect.value){fontSelect.value=name}}function updateButtons(){Ext.Array.forEach(Ext.Array.toArray(arguments),function(name){btns[name].toggle(doc.queryCommandState(name))})}if(me.enableFormat){updateButtons("bold","italic","underline")}if(me.enableAlignments){updateButtons("justifyleft","justifycenter","justifyright")}if(!Ext.isSafari2&&me.enableLists){updateButtons("insertorderedlist","insertunorderedlist")}Ext.menu.Manager.hideAll();me.syncValue()},relayBtnCmd:function(btn){this.relayCmd(btn.getItemId())},relayCmd:function(cmd,value){Ext.defer(function(){var me=this;me.focus();me.execCmd(cmd,value);me.updateToolbar()},10,this)},execCmd:function(cmd,value){var me=this,doc=me.getDoc(),undef;doc.execCommand(cmd,false,value===undef?null:value);me.syncValue()},applyCommand:function(e){if(e.ctrlKey){var me=this,c=e.getCharCode(),cmd;if(c>0){c=String.fromCharCode(c);switch(c){case"b":cmd="bold";break;case"i":cmd="italic";break;case"u":cmd="underline";break}if(cmd){me.win.focus();me.execCmd(cmd);me.deferFocus();e.preventDefault()}}}},insertAtCursor:function(text){var me=this,range;if(me.activated){me.win.focus();if(Ext.isIE){range=me.getDoc().selection.createRange();if(range){range.pasteHTML(text);me.syncValue();me.deferFocus()}}else{me.execCmd("InsertHTML",text);me.deferFocus()}}},fixKeys:function(){if(Ext.isIE){return function(e){var me=this,k=e.getKey(),doc=me.getDoc(),range,target;if(k===e.TAB){e.stopEvent();range=doc.selection.createRange();if(range){range.collapse(true);range.pasteHTML("    ");me.deferFocus()}}else{if(k===e.ENTER){range=doc.selection.createRange();if(range){target=range.parentElement();if(!target||target.tagName.toLowerCase()!=="li"){e.stopEvent();range.pasteHTML("
");range.collapse(false);range.select()}}}}}}if(Ext.isOpera){return function(e){var me=this;if(e.getKey()===e.TAB){e.stopEvent();me.win.focus();me.execCmd("InsertHTML","    ");me.deferFocus()}}}if(Ext.isWebKit){return function(e){var me=this,k=e.getKey();if(k===e.TAB){e.stopEvent();me.execCmd("InsertText","\t");me.deferFocus()}else{if(k===e.ENTER){e.stopEvent();me.execCmd("InsertHtml","

");me.deferFocus()}}}}return null}(),getToolbar:function(){return this.toolbar},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:Ext.baseCSSPrefix+"html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:Ext.baseCSSPrefix+"html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:Ext.baseCSSPrefix+"html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:Ext.baseCSSPrefix+"html-editor-tip"}}});Ext.define("Ext.form.field.Radio",{extend:"Ext.form.field.Checkbox",alias:["widget.radiofield","widget.radio"],alternateClassName:"Ext.form.Radio",requires:["Ext.form.RadioManager"],isRadio:true,inputType:"radio",ariaRole:"radio",getGroupValue:function(){var selected=this.getManager().getChecked(this.name);return selected?selected.inputValue:null},onBoxClick:function(e){var me=this;if(!me.disabled&&!me.readOnly){this.setValue(true)}},setValue:function(v){var me=this,active;if(Ext.isBoolean(v)){me.callParent(arguments)}else{active=me.getManager().getWithValue(me.name,v).getAt(0);if(active){active.setValue(true)}}return me},getSubmitValue:function(){return this.checked?this.inputValue:null},getModelData:function(){return this.getSubmitData()},onChange:function(newVal,oldVal){var me=this;me.callParent(arguments);if(newVal){this.getManager().getByName(me.name).each(function(item){if(item!==me){item.setValue(false)}},me)}},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.RadioManager}});Ext.define("Ext.picker.Time",{extend:"Ext.view.BoundList",alias:"widget.timepicker",requires:["Ext.data.Store","Ext.Date"],increment:15,format:"g:i A",displayField:"disp",initDate:[2008,1,1],componentCls:Ext.baseCSSPrefix+"timepicker",loadMask:false,initComponent:function(){var me=this,dateUtil=Ext.Date,clearTime=dateUtil.clearTime,initDate=me.initDate.join("/");me.absMin=clearTime(new Date(initDate));me.absMax=dateUtil.add(clearTime(new Date(initDate)),"mi",(24*60)-1);me.store=me.createStore();me.updateList();this.callParent()},setMinValue:function(value){this.minValue=value;this.updateList()},setMaxValue:function(value){this.maxValue=value;this.updateList()},normalizeDate:function(date){var initDate=this.initDate;date.setFullYear(initDate[0],initDate[1]-1,initDate[2]);return date},updateList:function(){var me=this,min=me.normalizeDate(me.minValue||me.absMin),max=me.normalizeDate(me.maxValue||me.absMax);me.store.filterBy(function(record){var date=record.get("date");return date>=min&&date<=max})},createStore:function(){var me=this,utilDate=Ext.Date,times=[],min=me.absMin,max=me.absMax;while(min<=max){times.push({disp:utilDate.dateFormat(min,me.format),date:min});min=utilDate.add(min,"mi",me.increment)}return Ext.create("Ext.data.Store",{fields:["disp","date"],data:times})}});Ext.define("Ext.form.field.Time",{extend:"Ext.form.field.Picker",alias:"widget.timefield",requires:["Ext.form.field.Date","Ext.picker.Time","Ext.view.BoundListKeyNav","Ext.Date"],alternateClassName:["Ext.form.TimeField","Ext.form.Time"],triggerCls:Ext.baseCSSPrefix+"form-time-trigger",minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,pickerMaxHeight:300,selectOnTab:true,initDate:"1/1/2008",initDateFormat:"j/n/Y",initComponent:function(){var me=this,min=me.minValue,max=me.maxValue;if(min){me.setMinValue(min)}if(max){me.setMaxValue(max)}this.callParent()},initValue:function(){var me=this,value=me.value;if(Ext.isString(value)){me.value=me.rawToValue(value)}me.callParent()},setMinValue:function(value){var me=this,picker=me.picker;me.setLimit(value,true);if(picker){picker.setMinValue(me.minValue)}},setMaxValue:function(value){var me=this,picker=me.picker;me.setLimit(value,false);if(picker){picker.setMaxValue(me.maxValue)}},setLimit:function(value,isMin){var me=this,d,val;if(Ext.isString(value)){d=me.parseDate(value)}else{if(Ext.isDate(value)){d=value}}if(d){val=Ext.Date.clearTime(new Date(me.initDate));val.setHours(d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds());me[isMin?"minValue":"maxValue"]=val}},rawToValue:function(rawValue){return this.parseDate(rawValue)||rawValue||null},valueToRaw:function(value){return this.formatDate(this.parseDate(value))},getErrors:function(value){var me=this,format=Ext.String.format,errors=me.callParent(arguments),minValue=me.minValue,maxValue=me.maxValue,date;value=me.formatDate(value||me.processRawValue(me.getRawValue()));if(value===null||value.length<1){return errors}date=me.parseDate(value);if(!date){errors.push(format(me.invalidText,value,me.format));return errors}if(minValue&&datemaxValue){errors.push(format(me.maxText,me.formatDate(maxValue)))}return errors},formatDate:function(){return Ext.form.field.Date.prototype.formatDate.apply(this,arguments)},parseDate:function(value){if(!value||Ext.isDate(value)){return value}var me=this,val=me.safeParse(value,me.format),altFormats=me.altFormats,altFormatsArray=me.altFormatsArray,i=0,len;if(!val&&altFormats){altFormatsArray=altFormatsArray||altFormats.split("|");len=altFormatsArray.length;for(;inormalHeights[i]){Ext.fly(normalRowEls[i]).setHeight(lockedHeights[i])}else{if(lockedHeights[i]','
',""],initComponent:function(){var me=this,dock=me.dock,cls=Ext.baseCSSPrefix+"scroller-vertical",sizeProp="width";me.offsets={bottom:0};me.scrollProp="scrollTop";me.vertical=true;if(dock==="top"||dock==="bottom"){cls=Ext.baseCSSPrefix+"scroller-horizontal";sizeProp="height";me.scrollProp="scrollLeft";me.vertical=false;me.weight+=5}me[sizeProp]=me.scrollerSize=Ext.getScrollbarSize()[sizeProp];me.cls+=(" "+cls);Ext.applyIf(me.renderSelectors,{stretchEl:"."+Ext.baseCSSPrefix+"stretcher",scrollEl:"."+Ext.baseCSSPrefix+"scroller-ct"});me.callParent()},initRenderData:function(){var me=this,ret=me.callParent(arguments)||{};ret.baseId=me.id;return ret},afterRender:function(){var me=this;me.callParent();me.mon(me.scrollEl,"scroll",me.onElScroll,me);Ext.cache[me.el.id].skipGarbageCollection=true},onAdded:function(container){this.ownerGrid=container;this.callParent(arguments)},getSizeCalculation:function(){var me=this,owner=me.getPanel(),width=1,height=1,view,tbl;if(!me.vertical){var items=owner.query("tableview"),center=items[1]||items[0];if(!center){return false}width=center.headerCt.getFullWidth();if(Ext.isIEQuirks){width--}}else{view=owner.down("tableview:not([lockableInjected])");if(!view||!view.el){return false}tbl=view.el.child("table",true);if(!tbl){return false}height=tbl.offsetHeight}if(isNaN(width)){width=1}if(isNaN(height)){height=1}return{width:width,height:height}},invalidate:function(firstPass){var me=this,stretchEl=me.stretchEl;if(!stretchEl||!me.ownerCt){return}var size=me.getSizeCalculation(),scrollEl=me.scrollEl,elDom=scrollEl.dom,reservedSpace=me.reservedSpace,pos,extra=5;if(size){stretchEl.setSize(size);size=me.el.getSize(true);if(me.vertical){size.width+=extra;size.height-=reservedSpace;pos="left"}else{size.width-=reservedSpace;size.height+=extra;pos="top"}scrollEl.setSize(size);elDom.style[pos]=(-extra)+"px";elDom.scrollTop=elDom.scrollTop}},afterComponentLayout:function(){this.callParent(arguments);this.invalidate()},restoreScrollPos:function(){var me=this,el=this.scrollEl,elDom=el&&el.dom;if(me._scrollPos!==null&&elDom){elDom[me.scrollProp]=me._scrollPos;me._scrollPos=null}},setReservedSpace:function(reservedSpace){var me=this;if(me.reservedSpace!==reservedSpace){me.reservedSpace=reservedSpace;me.invalidate()}},saveScrollPos:function(){var me=this,el=this.scrollEl,elDom=el&&el.dom;me._scrollPos=elDom?elDom[me.scrollProp]:null},setScrollTop:function(scrollTop){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return elDom.scrollTop=Ext.Number.constrain(scrollTop,0,elDom.scrollHeight-elDom.clientHeight)}},setScrollLeft:function(scrollLeft){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return elDom.scrollLeft=Ext.Number.constrain(scrollLeft,0,elDom.scrollWidth-elDom.clientWidth)}},scrollByDeltaY:function(delta){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return this.setScrollTop(elDom.scrollTop+delta)}},scrollByDeltaX:function(delta){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return this.setScrollLeft(elDom.scrollLeft+delta)}},scrollToTop:function(){this.setScrollTop(0)},onElScroll:function(event,target){this.fireEvent("bodyscroll",event,target)},getPanel:function(){var me=this;if(!me.panel){me.panel=this.up("[scrollerOwner]")}return me.panel}});Ext.define("Ext.grid.PagingScroller",{extend:"Ext.grid.Scroller",alias:"widget.paginggridscroller",percentageFromEdge:0.35,scrollToLoadBuffer:200,activePrefetch:true,chunkSize:50,snapIncrement:25,syncScroll:true,initComponent:function(){var me=this,ds=me.store;ds.on("guaranteedrange",this.onGuaranteedRange,this);this.callParent(arguments)},onGuaranteedRange:function(range,start,end){var me=this,ds=me.store,rs;if(range.length&&me.visibleStart=pageSize){if(requestEnd>totalCount-1){this.cancelLoad();if(store.rangeSatisfied(totalCount-pageSize,totalCount-1)){me.syncScroll=true}store.guaranteeRange(totalCount-pageSize,totalCount-1)}else{if(visibleStartguaranteedEnd){if(store.rangeSatisfied(requestStart,requestEnd)){this.cancelLoad();store.guaranteeRange(requestStart,requestEnd)}else{store.mask();me.attemptLoad(requestStart,requestEnd)}me.syncScroll=false}else{if(activePrefetch&&visibleStart<(guaranteedStart+numFromEdge)&&prevPage>0){me.syncScroll=true;store.prefetchPage(prevPage)}else{if(activePrefetch&&visibleEnd>(guaranteedEnd-numFromEdge)&&nextPagemaxScrollTop){return}for(;iclientHeight){reqScrollbars=1;if(horizontalScroller&&((clientWidth-scrollWidth)clientWidth){reqScrollbars=2;if(verticalScroller&&((clientHeight-scrollHeight)0&&horizontalCanScrollRight)){e.stopEvent();horizScroller.scrollByDeltaX(deltaX)}}if(vertScroller){if((deltaY<0&&verticalCanScrollUp)||(deltaY>0&&verticalCanScrollDown)){e.stopEvent();vertScroller.scrollByDeltaY(deltaY)}}},onViewRefresh:function(){this.determineScrollbars();if(this.invalidateScrollerOnRefresh){this.invalidateScroller()}},setScrollTop:function(top){var me=this,rootCmp=me.getScrollerOwner(),verticalScroller=me.getVerticalScroller();rootCmp.virtualScrollTop=top;if(verticalScroller){verticalScroller.setScrollTop(top)}},getScrollerOwner:function(){var rootCmp=this;if(!this.scrollerOwner){rootCmp=this.up("[scrollerOwner]")}return rootCmp},scrollByDeltaY:function(deltaY){var verticalScroller=this.getVerticalScroller();if(verticalScroller){verticalScroller.scrollByDeltaY(deltaY)}},scrollByDeltaX:function(deltaX){var horizontalScroller=this.getVerticalScroller();if(horizontalScroller){horizontalScroller.scrollByDeltaX(deltaX)}},getLhsMarker:function(){var me=this;if(!me.lhsMarker){me.lhsMarker=Ext.core.DomHelper.append(me.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return me.lhsMarker},getRhsMarker:function(){var me=this;if(!me.rhsMarker){me.rhsMarker=Ext.core.DomHelper.append(me.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return me.rhsMarker},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var mode="SINGLE",type;if(this.simpleSelect){mode="SIMPLE"}else{if(this.multiSelect){mode="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:mode});if(!this.selModel.events){type=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+type,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},onVerticalScroll:function(event,target){var owner=this.getScrollerOwner(),items=owner.query("tableview"),i=0,len=items.length;for(;i";me.callParent();me.mon(me.store,{load:me.onStoreLoad,scope:me})},onStoreLoad:function(){var me=this;if(me.invalidateScrollerOnRefresh){if(Ext.isGecko){if(!me.scrollToTopTask){me.scrollToTopTask=Ext.create("Ext.util.DelayedTask",me.scrollToTop,me)}me.scrollToTopTask.delay(1)}else{me.scrollToTop()}}},scrollToTop:Ext.emptyFn,addElListener:function(eventName,fn,scope){this.mon(this,eventName,fn,scope,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(index){return this.headerCt.getHeaderAtIndex(index)},getCell:function(record,column){var row=this.getNode(record);return Ext.fly(row).down(column.getCellSelector())},getFeature:function(id){var features=this.featuresMC;if(features){return features.get(id)}},initFeatures:function(){var me=this,i=0,features,len;me.features=me.features||[];features=me.features;len=features.length;me.featuresMC=Ext.create("Ext.util.MixedCollection");for(;ielRegion.bottom){adjustment=rowRegion.bottom-elRegion.bottom}}record=me.getRecord(row);rowIdx=me.store.indexOf(record);if(adjustment){panel.scrollByDeltaY(adjustment)}me.fireEvent("rowfocus",record,row,rowIdx)}},focusCell:function(position){var me=this,cell=me.getCellByPosition(position),el=me.el,adjustmentY=0,adjustmentX=0,elRegion=el.getRegion(),panel=me.ownerCt,cellRegion,record;if(cell){cellRegion=cell.getRegion();if(cellRegion.topelRegion.bottom){adjustmentY=cellRegion.bottom-elRegion.bottom}}if(cellRegion.leftelRegion.right){adjustmentX=cellRegion.right-elRegion.right}}if(adjustmentY){panel.scrollByDeltaY(adjustmentY)}if(adjustmentX){panel.scrollByDeltaX(adjustmentX)}el.focus();me.fireEvent("cellfocus",record,cell,position)}},scrollByDelta:function(delta,dir){dir=dir||"scrollTop";var elDom=this.el.dom;elDom[dir]=(elDom[dir]+=delta)},onUpdate:function(ds,index){this.callParent(arguments)},saveScrollState:function(){var dom=this.el.dom,state=this.scrollState;state.left=dom.scrollLeft;state.top=dom.scrollTop},restoreScrollState:function(){var dom=this.el.dom,state=this.scrollState,headerEl=this.headerCt.el.dom;headerEl.scrollLeft=dom.scrollLeft=state.left;dom.scrollTop=state.top},refresh:function(){this.setNewTemplate();this.callParent(arguments)},processItemEvent:function(record,row,rowIndex,e){var me=this,cell=e.getTarget(me.cellSelector,row),cellIndex=cell?cell.cellIndex:-1,map=me.statics().EventMap,selModel=me.getSelectionModel(),type=e.type,result;if(type=="keydown"&&!cell&&selModel.getCurrentPosition){cell=me.getCellByPosition(selModel.getCurrentPosition());if(cell){cell=cell.dom;cellIndex=cell.cellIndex}}result=me.fireEvent("uievent",type,me,cell,rowIndex,cellIndex,e);if(result===false||me.callParent(arguments)===false){return false}if(type=="mouseover"||type=="mouseout"){return true}return !((me["onBeforeCell"+map[type]](cell,cellIndex,record,row,rowIndex,e)===false)||(me.fireEvent("beforecell"+type,me,cell,cellIndex,record,row,rowIndex,e)===false)||(me["onCell"+map[type]](cell,cellIndex,record,row,rowIndex,e)===false)||(me.fireEvent("cell"+type,me,cell,cellIndex,record,row,rowIndex,e)===false))},processSpecialEvent:function(e){var me=this,map=me.statics().EventMap,features=me.features,ln=features.length,type=e.type,i,feature,prefix,featureTarget,beforeArgs,args,panel=me.ownerCt;me.callParent(arguments);if(type=="mouseover"||type=="mouseout"){return}for(i=0;imaxWidth){maxWidth=scrollWidth}}return maxWidth},getPositionByEvent:function(e){var me=this,cellNode=e.getTarget(me.cellSelector),rowNode=e.getTarget(me.itemSelector),record=me.getRecord(rowNode),header=me.getHeaderByCell(cellNode);return me.getPosition(record,header)},getHeaderByCell:function(cell){if(cell){var m=cell.className.match(this.cellRe);if(m&&m[1]){return Ext.getCmp(m[1])}}return false},walkCells:function(pos,direction,e,preventWrap,verifierFn,scope){var me=this,row=pos.row,column=pos.column,rowCount=me.store.getCount(),firstCol=me.getFirstVisibleColumnIndex(),lastCol=me.getLastVisibleColumnIndex(),newPos={row:row,column:column},activeHeader=me.headerCt.getHeaderAtIndex(column);if(!activeHeader||activeHeader.hidden){return false}e=e||{};direction=direction.toLowerCase();switch(direction){case"right":if(column===lastCol){if(preventWrap||row===rowCount-1){return false}if(!e.ctrlKey){newPos.row=row+1;newPos.column=firstCol}}else{if(!e.ctrlKey){newPos.column=column+me.getRightGap(activeHeader)}else{newPos.column=lastCol}}break;case"left":if(column===firstCol){if(preventWrap||row===0){return false}if(!e.ctrlKey){newPos.row=row-1;newPos.column=lastCol}}else{if(!e.ctrlKey){newPos.column=column+me.getLeftGap(activeHeader)}else{newPos.column=firstCol}}break;case"up":if(row===0){return false}else{if(!e.ctrlKey){newPos.row=row-1}else{newPos.row=0}}break;case"down":if(row===rowCount-1){return false}else{if(!e.ctrlKey){newPos.row=row+1}else{newPos.row=rowCount-1}}break}if(verifierFn&&verifierFn.call(scope||window,newPos)!==true){return false}else{return newPos}},getFirstVisibleColumnIndex:function(){var headerCt=this.getHeaderCt(),allColumns=headerCt.getGridColumns(),visHeaders=Ext.ComponentQuery.query(":not([hidden])",allColumns),firstHeader=visHeaders[0];return headerCt.getHeaderIndex(firstHeader)},getLastVisibleColumnIndex:function(){var headerCt=this.getHeaderCt(),allColumns=headerCt.getGridColumns(),visHeaders=Ext.ComponentQuery.query(":not([hidden])",allColumns),lastHeader=visHeaders[visHeaders.length-1];return headerCt.getHeaderIndex(lastHeader)},getHeaderCt:function(){return this.headerCt},getPosition:function(record,header){var me=this,store=me.store,gridCols=me.headerCt.getGridColumns();return{row:store.indexOf(record),column:Ext.Array.indexOf(gridCols,header)}},getRightGap:function(activeHeader){var headerCt=this.getHeaderCt(),headers=headerCt.getGridColumns(),activeHeaderIdx=Ext.Array.indexOf(headers,activeHeader),i=activeHeaderIdx+1,nextIdx;for(;i<=headers.length;i++){if(!headers[i].hidden){nextIdx=i;break}}return nextIdx-activeHeaderIdx},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(activeHeader){var headerCt=this.getHeaderCt(),headers=headerCt.getGridColumns(),activeHeaderIdx=Ext.Array.indexOf(headers,activeHeader),i=activeHeaderIdx-1,prevIdx;for(;i>=0;i--){if(!headers[i].hidden){prevIdx=i;break}}return prevIdx-activeHeaderIdx}});Ext.define("Ext.grid.View",{extend:"Ext.view.Table",alias:"widget.gridview",stripeRows:true,invalidateScrollerOnRefresh:true,scrollToTop:function(){if(this.rendered){var section=this.ownerCt,verticalScroller=section.verticalScroller;if(verticalScroller){verticalScroller.scrollToTop()}}},onAdd:function(ds,records,index){this.callParent(arguments);this.doStripeRows(index)},onRemove:function(ds,records,index){this.callParent(arguments);this.doStripeRows(index)},onUpdate:function(ds,record,operation){var index=ds.indexOf(record);this.callParent(arguments);this.doStripeRows(index,index)},doStripeRows:function(startRow,endRow){if(this.stripeRows){var rows=this.getNodes(startRow,endRow),rowsLn=rows.length,i=0,row;for(;i=0){context.row=view.getNode(idx);me.reposition();if(me.tooltip&&me.tooltip.isVisible()){me.tooltip.setTarget(context.row)}}else{me.editingPlugin.cancelEdit()}},onCtScroll:function(e,target){var me=this,scrollTop=target.scrollTop,scrollLeft=target.scrollLeft;if(scrollTop!==me.lastScrollTop){me.lastScrollTop=scrollTop;if((me.tooltip&&me.tooltip.isVisible())||me.hiddenTip){me.repositionTip()}}if(scrollLeft!==me.lastScrollLeft){me.lastScrollLeft=scrollLeft;me.reposition()}},onColumnAdd:function(column){this.setField(column)},onColumnRemove:function(column){this.columns.remove(column)},onColumnResize:function(column,width){column.getEditor().setWidth(width-2);if(this.isVisible()){this.reposition()}},onColumnHide:function(column){column.getEditor().hide();if(this.isVisible()){this.reposition()}},onColumnShow:function(column){var field=column.getEditor();field.setWidth(column.getWidth()-2).show();if(this.isVisible()){this.reposition()}},onColumnMove:function(column,fromIdx,toIdx){var field=column.getEditor();if(this.items.indexOf(field)!=toIdx){this.move(fromIdx,toIdx)}},onFieldAdd:function(map,fieldId,column){var me=this,colIdx=me.editingPlugin.grid.headerCt.getHeaderIndex(column),field=column.getEditor({xtype:"displayfield"});me.insert(colIdx,field)},onFieldRemove:function(map,fieldId,column){var me=this,field=column.getEditor(),fieldEl=field.el;me.remove(field,false);if(fieldEl){fieldEl.remove()}},onFieldReplace:function(map,fieldId,column,oldColumn){var me=this;me.onFieldRemove(map,fieldId,oldColumn)},clearFields:function(){var me=this,map=me.columns;map.each(function(fieldId){map.removeAtKey(fieldId)})},getFloatingButtons:function(){var me=this,cssPrefix=Ext.baseCSSPrefix,btnsCss=cssPrefix+"grid-row-editor-buttons",plugin=me.editingPlugin,btns;if(!me.floatingButtons){btns=me.floatingButtons=Ext.create("Ext.Container",{renderTpl:['
','
','
','
','
'],renderTo:me.el,baseCls:btnsCss,layout:{type:"hbox",align:"middle"},defaults:{margins:"0 1 0 1"},items:[{itemId:"update",flex:1,xtype:"button",handler:plugin.completeEdit,scope:plugin,text:me.saveBtnText,disabled:!me.isValid},{flex:1,xtype:"button",handler:plugin.cancelEdit,scope:plugin,text:me.cancelBtnText}]});me.mon(btns.el,{mousedown:Ext.emptyFn,click:Ext.emptyFn,stopEvent:true})}return me.floatingButtons},reposition:function(animateConfig){var me=this,context=me.context,row=context&&Ext.get(context.row),btns=me.getFloatingButtons(),btnEl=btns.el,grid=me.editingPlugin.grid,viewEl=grid.view.el,scroller=grid.verticalScroller,mainBodyWidth=grid.headerCt.getFullWidth(),scrollerWidth=grid.getWidth(),width=Math.min(mainBodyWidth,scrollerWidth),scrollLeft=grid.view.el.dom.scrollLeft,btnWidth=btns.getWidth(),left=(width-btnWidth)/2+scrollLeft,y,rowH,newHeight,invalidateScroller=function(){if(scroller){scroller.invalidate();btnEl.scrollIntoView(viewEl,false)}if(animateConfig&&animateConfig.callback){animateConfig.callback.call(animateConfig.scope||me)}};if(row&&Ext.isElement(row.dom)){row.scrollIntoView(viewEl,false);y=row.getXY()[1]-5;rowH=row.getHeight();newHeight=rowH+10;if(Ext.isIE){newHeight+=2}if(me.getHeight()!=newHeight){me.setHeight(newHeight);me.el.setLeft(0)}if(animateConfig){var animObj={to:{y:y},duration:animateConfig.duration||125,listeners:{afteranimate:function(){invalidateScroller();y=row.getXY()[1]-5;me.el.setY(y)}}};me.animate(animObj)}else{me.el.setY(y);invalidateScroller()}}if(me.getWidth()!=mainBodyWidth){me.setWidth(mainBodyWidth)}btnEl.setLeft(left)},getEditor:function(fieldInfo){var me=this;if(Ext.isNumber(fieldInfo)){return me.query(">[isFormField]")[fieldInfo]}else{if(fieldInfo instanceof Ext.grid.column.Column){return fieldInfo.getEditor()}}},removeField:function(field){var me=this;field=me.getEditor(field);me.mun(field,"validitychange",me.onValidityChange,me);me.columns.removeKey(field.id)},setField:function(column){var me=this,field;if(Ext.isArray(column)){Ext.Array.forEach(column,me.setField,me);return}field=column.getEditor(null,{xtype:"displayfield",getModelData:function(){return null}});field.margins="0 0 0 2";field.setWidth(column.getDesiredWidth()-2);me.mon(field,"change",me.onFieldChange,me);me.columns.add(field.id,column);if(me.isVisible()&&me.context){me.renderColumnData(field,me.context.record)}},loadRecord:function(record){var me=this,form=me.getForm();form.loadRecord(record);if(form.isValid()){me.hideToolTip()}else{me.showToolTip()}Ext.Array.forEach(me.query(">displayfield"),function(field){me.renderColumnData(field,record)},me)},renderColumnData:function(field,record){var me=this,grid=me.editingPlugin.grid,headerCt=grid.headerCt,view=grid.view,store=view.store,column=me.columns.get(field.id),value=record.get(column.dataIndex);if(column.renderer){var metaData={tdCls:"",style:""},rowIdx=store.indexOf(record),colIdx=headerCt.getHeaderIndex(column);value=column.renderer.call(column.scope||headerCt.ownerCt,value,metaData,record,rowIdx,colIdx,store,view)}field.setRawValue(value);field.resetOriginalValue()},beforeEdit:function(){var me=this;if(me.isVisible()&&!me.autoCancel&&me.isDirty()){me.showToolTip();return false}},startEdit:function(record,columnHeader){var me=this,grid=me.editingPlugin.grid,view=grid.getView(),store=grid.store,context=me.context=Ext.apply(me.editingPlugin.context,{view:grid.getView(),store:store});context.grid.getSelectionModel().select(record);me.loadRecord(record);if(!me.isVisible()){me.show();me.focusContextCell()}else{me.reposition({callback:this.focusContextCell})}},focusContextCell:function(){var field=this.getEditor(this.context.colIdx);if(field&&field.focus){field.focus()}},cancelEdit:function(){var me=this,form=me.getForm();me.hide();form.clearInvalid();form.reset()},completeEdit:function(){var me=this,form=me.getForm();if(!form.isValid()){return}form.updateRecord(me.context.record);me.hide();return true},onShow:function(){var me=this;me.callParent(arguments);me.reposition()},onHide:function(){var me=this;me.callParent(arguments);me.hideToolTip();me.invalidateScroller();if(me.context){me.context.view.focus();me.context=null}},isDirty:function(){var me=this,form=me.getForm();return form.isDirty()},getToolTip:function(){var me=this,tip;if(!me.tooltip){tip=me.tooltip=Ext.createWidget("tooltip",{cls:Ext.baseCSSPrefix+"grid-row-editor-errors",title:me.errorsText,autoHide:false,closable:true,closeAction:"disable",anchor:"left"})}return me.tooltip},hideToolTip:function(){var me=this,tip=me.getToolTip();if(tip.rendered){tip.disable()}me.hiddenTip=false},showToolTip:function(){var me=this,tip=me.getToolTip(),context=me.context,row=Ext.get(context.row),viewEl=context.grid.view.el;tip.setTarget(row);tip.showAt([-10000,-10000]);tip.body.update(me.getErrors());tip.mouseOffset=[viewEl.getWidth()-row.getWidth()+me.lastScrollLeft+15,0];me.repositionTip();tip.doLayout();tip.enable()},repositionTip:function(){var me=this,tip=me.getToolTip(),context=me.context,row=Ext.get(context.row),viewEl=context.grid.view.el,viewHeight=viewEl.getHeight(),viewTop=me.lastScrollTop,viewBottom=viewTop+viewHeight,rowHeight=row.getHeight(),rowTop=row.dom.offsetTop,rowBottom=rowTop+rowHeight;if(rowBottom>viewTop&&rowTop":"",errors=[];Ext.Array.forEach(me.query(">[isFormField]"),function(field){errors=errors.concat(Ext.Array.map(field.getErrors(),function(e){return"
  • "+e+"
  • "}))},me);return dirtyText+"
      "+errors.join("")+"
    "},invalidateScroller:function(){var me=this,context=me.context,scroller=context.grid.verticalScroller;if(scroller){scroller.invalidate()}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",uses:["Ext.grid.ColumnLayout","Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var me=this;me.headerCounter=0;me.plugins=me.plugins||[];if(!me.isHeader){me.resizer=Ext.create("Ext.grid.plugin.HeaderResizer");me.reorderer=Ext.create("Ext.grid.plugin.HeaderReorderer");if(!me.enableColumnResize){me.resizer.disable()}if(!me.enableColumnMove){me.reorderer.disable()}me.plugins.push(me.reorderer,me.resizer)}if(me.isHeader&&!me.items){me.layout="auto"}else{me.layout={type:"gridcolumn",availableSpaceOffset:me.availableSpaceOffset,align:"stretchmax",resetStretch:true}}me.defaults=me.defaults||{};Ext.applyIf(me.defaults,{width:me.defaultWidth,triStateSort:me.triStateSort,sortable:me.sortable});me.callParent();me.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){Ext.destroy(this.resizer,this.reorderer);this.callParent()},onAdd:function(c){var me=this;if(!c.headerId){c.headerId="h"+(++me.headerCounter)}me.callParent(arguments);me.purgeCache()},onRemove:function(c){var me=this;me.callParent(arguments);me.purgeCache()},afterRender:function(){this.callParent();var store=this.up("[store]").store,sorters=store.sorters,first=sorters.first(),hd;if(first){hd=this.down("gridcolumn[dataIndex="+first.property+"]");if(hd){hd.setSortState(first.direction,false,true)}}},afterLayout:function(){if(!this.isHeader){var me=this,topHeaders=me.query(">gridcolumn:not([hidden])"),viewEl,firstHeaderEl,lastHeaderEl;me.callParent(arguments);if(topHeaders.length){firstHeaderEl=topHeaders[0].el;if(firstHeaderEl!==me.pastFirstHeaderEl){if(me.pastFirstHeaderEl){me.pastFirstHeaderEl.removeCls(me.firstHeaderCls)}firstHeaderEl.addCls(me.firstHeaderCls);me.pastFirstHeaderEl=firstHeaderEl}lastHeaderEl=topHeaders[topHeaders.length-1].el;if(lastHeaderEl!==me.pastLastHeaderEl){if(me.pastLastHeaderEl){me.pastLastHeaderEl.removeCls(me.lastHeaderCls)}lastHeaderEl.addCls(me.lastHeaderCls);me.pastLastHeaderEl=lastHeaderEl}}}},onHeaderShow:function(header){var me=this,gridSection=me.ownerCt,menu=me.getMenu(),topItems,topItemsVisible,colCheckItem,itemToEnable,len,i;if(menu){colCheckItem=menu.down("menucheckitem[headerId="+header.id+"]");if(colCheckItem){colCheckItem.setChecked(true,true)}topItems=menu.query("#columnItem>menucheckitem[checked]");topItemsVisible=topItems.length;if((me.getVisibleGridColumns().length>1)&&me.disabledMenuItems&&me.disabledMenuItems.length){if(topItemsVisible==1){Ext.Array.remove(me.disabledMenuItems,topItems[0])}for(i=0,len=me.disabledMenuItems.length;imenucheckitem[checked]");if((itemsToDisable.length===1)){if(!me.disabledMenuItems){me.disabledMenuItems=[]}if((me.getVisibleGridColumns().length===1)&&itemsToDisable[0].menu){itemsToDisable=itemsToDisable.concat(itemsToDisable[0].menu.query("menucheckitem[checked]"))}len=itemsToDisable.length;for(i=0;igridcolumn[hideable]"),itemsLn=items.length,menuItem;for(;i{text}
    ',dataIndex:null,text:" ",sortable:true,hideable:true,menuDisabled:false,renderer:false,align:"left",draggable:true,initDraggable:Ext.emptyFn,isHeader:true,initComponent:function(){var me=this,i,len;if(Ext.isDefined(me.header)){me.text=me.header;delete me.header}if(me.flex){me.minWidth=me.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}else{me.minWidth=me.width}if(!me.triStateSort){me.possibleSortStates.length=2}if(Ext.isDefined(me.columns)){me.isGroupHeader=true;me.items=me.columns;delete me.columns;delete me.flex;me.width=0;for(i=0,len=me.items.length;i:not([hidden])");if(!items.length){me.ownerCt.hide()}else{for(i=0,len=items.length;i*");for(i=0,len=items.length;i:not([hidden])");for(i=0,len=items.length;i
    ',indicatorCls:"x-grid-drop-indicator",constructor:function(config){var me=this;Ext.apply(me,config);if(!me.ddGroup){me.ddGroup="view-dd-zone-"+me.view.id}me.callParent([me.view.el])},fireViewEvent:function(){var me=this,result;me.lock();result=me.view.fireEvent.apply(me.view,arguments);me.unlock();return result},getTargetFromEvent:function(e){var node=e.getTarget(this.view.getItemSelector()),mouseY,nodeList,testNode,i,len,box;if(!node){mouseY=e.getPageY();for(i=0,nodeList=this.view.getNodes(),len=nodeList.length;i=(region.bottom-region.top)/2){pos="before"}else{pos="after"}return pos},containsRecordAtOffset:function(records,record,offset){if(!record){return false}var view=this.view,recordIndex=view.indexOf(record),nodeBefore=view.getNode(recordIndex+offset),recordBefore=nodeBefore?view.getRecord(nodeBefore):null;return recordBefore&&Ext.Array.contains(records,recordBefore)},positionIndicator:function(node,data,e){var me=this,view=me.view,pos=me.getPosition(e,node),overRecord=view.getRecord(node),draggingRecords=data.records,indicator,indicatorY;if(!Ext.Array.contains(draggingRecords,overRecord)&&(pos=="before"&&!me.containsRecordAtOffset(draggingRecords,overRecord,-1)||pos=="after"&&!me.containsRecordAtOffset(draggingRecords,overRecord,1))){me.valid=true;if(me.overRecord!=overRecord||me.currentPosition!=pos){indicatorY=Ext.fly(node).getY()-view.el.getY()-1;if(pos=="after"){indicatorY+=Ext.fly(node).getHeight()}me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0,indicatorY);me.overRecord=overRecord;me.currentPosition=pos}}else{me.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(node,dragZone,e,data){var me=this;if(!Ext.Array.contains(data.records,me.view.getRecord(node))){me.positionIndicator(node,data,e)}return me.valid?me.dropAllowed:me.dropNotAllowed},notifyOut:function(node,dragZone,e,data){var me=this;me.callParent(arguments);delete me.overRecord;delete me.currentPosition;if(me.indicator){me.indicator.hide()}},onContainerOver:function(dd,e,data){var me=this,view=me.view,count=view.store.getCount();if(count){me.positionIndicator(view.getNode(count-1),data,e)}else{delete me.overRecord;delete me.currentPosition;me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0,0);me.valid=true}return me.dropAllowed},onContainerDrop:function(dd,e,data){return this.onNodeDrop(dd,null,e,data)},onNodeDrop:function(node,dragZone,e,data){var me=this,dropped=false,processDrop=function(){me.invalidateDrop();me.handleNodeDrop(data,me.overRecord,me.currentPosition);dropped=true;me.fireViewEvent("drop",node,data,me.overRecord,me.currentPosition)},performOperation=false;if(me.valid){performOperation=me.fireViewEvent("beforedrop",node,data,me.overRecord,me.currentPosition,processDrop);if(performOperation!==false){if(!dropped){processDrop()}}}return performOperation}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'
    ',indicatorCls:"x-grid-drop-indicator",handleNodeDrop:function(data,record,position){var view=this.view,store=view.getStore(),index,records,i,len;if(data.copy){records=data.records;data.records=[];for(i=0,len=records.length;i"}return v}},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(type,view,cell,recordIndex,cellIndex,e){var me=this,match=e.getTarget().className.match(me.actionIdRe),item,fn;if(match){item=me.items[parseInt(match[1],10)];if(item){if(type=="click"){fn=item.handler||me.handler;if(fn){fn.call(item.scope||me.scope||me,view,recordIndex,cellIndex,item,e)}}else{if(type=="mousedown"&&item.stopSelection!==false){return false}}}}return me.callParent(arguments)},cascade:function(fn,scope){fn.call(scope||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.grid.column.Boolean",{extend:"Ext.grid.column.Column",alias:["widget.booleancolumn"],alternateClassName:"Ext.grid.BooleanColumn",trueText:"true",falseText:"false",undefinedText:" ",constructor:function(cfg){this.callParent(arguments);var trueText=this.trueText,falseText=this.falseText,undefinedText=this.undefinedText;this.renderer=function(value){if(value===undefined){return undefinedText}if(!value||value==="false"){return falseText}return trueText}}});Ext.define("Ext.grid.column.Date",{extend:"Ext.grid.column.Column",alias:["widget.datecolumn"],requires:["Ext.Date"],alternateClassName:"Ext.grid.DateColumn",format:Ext.Date.defaultFormat,constructor:function(cfg){this.callParent(arguments);this.renderer=Ext.util.Format.dateRenderer(this.format)}});Ext.define("Ext.grid.column.Number",{extend:"Ext.grid.column.Column",alias:["widget.numbercolumn"],requires:["Ext.util.Format"],alternateClassName:"Ext.grid.NumberColumn",format:"0,000.00",constructor:function(cfg){this.callParent(arguments);this.renderer=Ext.util.Format.numberRenderer(this.format)}});Ext.define("Ext.grid.column.Template",{extend:"Ext.grid.column.Column",alias:["widget.templatecolumn"],requires:["Ext.XTemplate"],alternateClassName:"Ext.grid.TemplateColumn",constructor:function(cfg){var me=this,tpl;me.callParent(arguments);tpl=me.tpl=(!Ext.isPrimitive(me.tpl)&&me.tpl.compile)?me.tpl:Ext.create("Ext.XTemplate",me.tpl);me.renderer=function(value,p,record){var data=Ext.apply({},record.data,record.getAssociatedData());return tpl.apply(data)}}});Ext.define("Ext.grid.feature.Feature",{extend:"Ext.util.Observable",alias:"feature.feature",isFeature:true,disabled:false,hasFeatureEvent:true,eventPrefix:null,eventSelector:null,view:null,grid:null,collectData:false,getFeatureTpl:function(){return""},getFireEventArgs:function(eventName,view,featureTarget,e){return[eventName,view,featureTarget,e]},attachEvents:function(){},getFragmentTpl:function(){return},mutateMetaRowTpl:function(metaRowTplArray){},getMetaRowTplFragments:function(){return{}},getTableFragments:function(){return{}},getAdditionalData:function(data,idx,record,orig){return{}},enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Ext.grid.feature.AbstractSummary",{extend:"Ext.grid.feature.Feature",alias:"feature.abstractsummary",showSummaryRow:true,nestedIdRe:/\{\{id\}([\w\-]*)\}/g,toggleSummaryRow:function(visible){this.showSummaryRow=!!visible},getSummaryFragments:function(){var fragments={};if(this.showSummaryRow){Ext.apply(fragments,{printSummaryRow:Ext.bind(this.printSummaryRow,this)})}return fragments},printSummaryRow:function(index){var inner=this.view.getTableChunker().metaRowTpl.join("");inner=inner.replace("x-grid-row","x-grid-row-summary");inner=inner.replace("{{id}}","{gridSummaryValue}");inner=inner.replace(this.nestedIdRe,"{id$1}");inner=inner.replace("{[this.embedRowCls()]}","{rowCls}");inner=inner.replace("{[this.embedRowAttr()]}","{rowAttr}");inner=Ext.create("Ext.XTemplate",inner,{firstOrLastCls:Ext.view.TableChunker.firstOrLastCls});return inner.applyTemplate({columns:this.getPrintData(index)})},getColumnValue:function(column,summaryData){var comp=Ext.getCmp(column.id),value=summaryData[column.id],renderer=comp.summaryRenderer;if(renderer){value=renderer.call(comp.scope||this,value,summaryData,column.dataIndex)}return value},getSummary:function(store,type,field,group){if(type){if(Ext.isFunction(type)){return store.aggregate(type,null,group)}switch(type){case"count":return store.count(group);case"min":return store.min(field,group);case"max":return store.max(field,group);case"sum":return store.sum(field,group);case"average":return store.average(field,group);default:return group?{}:""}}}});Ext.define("Ext.grid.feature.Chunking",{extend:"Ext.grid.feature.Feature",alias:"feature.chunking",chunkSize:20,rowHeight:Ext.isIE?27:26,visibleChunk:0,hasFeatureEvent:false,attachEvents:function(){var grid=this.view.up("gridpanel"),scroller=grid.down("gridscroller[dock=right]");scroller.el.on("scroll",this.onBodyScroll,this,{buffer:300})},onBodyScroll:function(e,t){var view=this.view,top=t.scrollTop,nextChunk=Math.floor(top/this.rowHeight/this.chunkSize);if(nextChunk!==this.visibleChunk){this.visibleChunk=nextChunk;view.refresh();view.el.dom.scrollTop=top;view.el.dom.scrollTop=top}},collectData:function(records,preppedRecords,startIndex,fullWidth,orig){var o={fullWidth:orig.fullWidth,chunks:[]},recordCount=orig.rows.length,start=0,i=0,visibleChunk=this.visibleChunk,chunk,rows,chunkLength;for(;startrecordCount){chunkLength=recordCount-start}else{chunkLength=this.chunkSize}if(i>=visibleChunk-1&&i<=visibleChunk+1){rows=orig.rows.slice(start,start+this.chunkSize)}else{rows=[]}o.chunks.push({rows:rows,fullWidth:fullWidth,chunkHeight:chunkLength*this.rowHeight})}return o},getTableFragments:function(){return{openTableWrap:function(){return'
    '},closeTableWrap:function(){return"
    "}}}});Ext.define("Ext.grid.feature.Grouping",{extend:"Ext.grid.feature.Feature",alias:"feature.grouping",eventPrefix:"group",eventSelector:"."+Ext.baseCSSPrefix+"grid-group-hd",constructor:function(){this.collapsedState={};this.callParent(arguments)},groupHeaderTpl:"Group: {name}",depthToIndent:17,collapsedCls:Ext.baseCSSPrefix+"grid-group-collapsed",hdCollapsedCls:Ext.baseCSSPrefix+"grid-group-hd-collapsed",groupByText:"Group By This Field",showGroupsText:"Show in Groups",hideGroupedHeader:false,startCollapsed:false,enableGroupingMenu:true,enableNoGroups:true,enable:function(){var me=this,view=me.view,store=view.store,groupToggleMenuItem;if(me.lastGroupIndex){store.group(me.lastGroupIndex)}me.callParent();groupToggleMenuItem=me.view.headerCt.getMenu().down("#groupToggleMenuItem");groupToggleMenuItem.setChecked(true,true);view.refresh()},disable:function(){var me=this,view=me.view,store=view.store,groupToggleMenuItem,lastGroup;lastGroup=store.groupers.first();if(lastGroup){me.lastGroupIndex=lastGroup.property;store.groupers.clear()}me.callParent();groupToggleMenuItem=me.view.headerCt.getMenu().down("#groupToggleMenuItem");groupToggleMenuItem.setChecked(true,true);groupToggleMenuItem.setChecked(false,true);view.refresh()},getFeatureTpl:function(values,parent,x,xcount){var me=this;return["",'
    {collapsed}'+me.groupHeaderTpl+"
    ",'{[this.recurse(values)]}',"
    "].join("")},getFragmentTpl:function(){return{indentByDepth:this.indentByDepth,depthToIndent:this.depthToIndent}},indentByDepth:function(values){var depth=values.depth||0;return'style="padding-left:'+depth*this.depthToIndent+'px;"'},destroy:function(){var me=this;delete me.view;delete me.prunedHeader},attachEvents:function(){var me=this,view=me.view,header,headerId,menu,menuItem;view.on({scope:me,groupclick:me.onGroupClick,rowfocus:me.onRowFocus});view.store.on("groupchange",me.onGroupChange,me);me.pruneGroupedHeader();if(me.enableGroupingMenu){me.injectGroupingMenu()}if(me.hideGroupedHeader){header=view.headerCt.down("gridcolumn[dataIndex="+me.getGroupField()+"]");headerId=header.id;menu=view.headerCt.getMenu();menuItem=menu.down("menuitem[headerId="+headerId+"]");if(menuItem){menuItem.setChecked(false)}}},injectGroupingMenu:function(){var me=this,view=me.view,headerCt=view.headerCt;headerCt.showMenuBy=me.showMenuBy;headerCt.getMenuItems=me.getMenuItems()},showMenuBy:function(t,header){var menu=this.getMenu(),groupMenuItem=menu.down("#groupMenuItem"),groupableMth=header.groupable===false?"disable":"enable";groupMenuItem[groupableMth]();Ext.grid.header.Container.prototype.showMenuBy.apply(this,arguments)},getMenuItems:function(){var me=this,groupByText=me.groupByText,disabled=me.disabled,showGroupsText=me.showGroupsText,enableNoGroups=me.enableNoGroups,groupMenuItemClick=Ext.Function.bind(me.onGroupMenuItemClick,me),groupToggleMenuItemClick=Ext.Function.bind(me.onGroupToggleMenuItemClick,me);return function(){var o=Ext.grid.header.Container.prototype.getMenuItems.call(this);o.push("-",{itemId:"groupMenuItem",text:groupByText,handler:groupMenuItemClick});if(enableNoGroups){o.push({itemId:"groupToggleMenuItem",text:showGroupsText,checked:!disabled,checkHandler:groupToggleMenuItemClick})}return o}},onGroupMenuItemClick:function(menuItem,e){var menu=menuItem.parentMenu,hdr=menu.activeHeader,view=this.view;delete this.lastGroupIndex;this.enable();view.store.group(hdr.dataIndex);this.pruneGroupedHeader()},onGroupToggleMenuItemClick:function(menuItem,checked){this[checked?"enable":"disable"]()},pruneGroupedHeader:function(){var me=this,view=me.view,store=view.store,groupField=me.getGroupField(),headerCt=view.headerCt,header=headerCt.down("header[dataIndex="+groupField+"]");if(header){if(me.prunedHeader){me.prunedHeader.show()}me.prunedHeader=header;header.hide()}},getGroupField:function(){var group=this.view.store.groupers.first();if(group){return group.property}return""},onRowFocus:function(rowIdx){var node=this.view.getNode(rowIdx),groupBd=Ext.fly(node).up("."+this.collapsedCls);if(groupBd){this.expand(groupBd)}},expand:function(groupBd){var me=this,view=me.view,grid=view.up("gridpanel"),groupBdDom=Ext.getDom(groupBd);me.collapsedState[groupBdDom.id]=false;groupBd.removeCls(me.collapsedCls);groupBd.prev().removeCls(me.hdCollapsedCls);grid.determineScrollbars();grid.invalidateScroller();view.fireEvent("groupexpand")},collapse:function(groupBd){var me=this,view=me.view,grid=view.up("gridpanel"),groupBdDom=Ext.getDom(groupBd);me.collapsedState[groupBdDom.id]=true;groupBd.addCls(me.collapsedCls);groupBd.prev().addCls(me.hdCollapsedCls);grid.determineScrollbars();grid.invalidateScroller();view.fireEvent("groupcollapse")},onGroupChange:function(){this.view.refresh()},onGroupClick:function(view,group,idx,foo,e){var me=this,toggleCls=me.toggleCls,groupBd=Ext.fly(group.nextSibling,"_grouping");if(groupBd.hasCls(me.collapsedCls)){me.expand(groupBd)}else{me.collapse(groupBd)}},getMetaRowTplFragments:function(){return{isRow:this.isRow,closeRow:this.closeRow}},isRow:function(){return""},closeRow:function(){return""},mutateMetaRowTpl:function(metaRowTpl){metaRowTpl.unshift("{[this.isRow()]}");metaRowTpl.push("{[this.closeRow()]}")},getAdditionalData:function(data,idx,record,orig){var view=this.view,hCt=view.headerCt,col=hCt.items.getAt(0),o={},tdAttrKey=col.id+"-tdAttr";o[tdAttrKey]=this.indentByDepth(data)+" "+(orig[tdAttrKey]?orig[tdAttrKey]:"");o.collapsed="true";return o},getGroupRows:function(group,records,preppedRecords,fullWidth){var me=this,children=group.children,rows=group.rows=[],view=me.view;group.viewId=view.id;Ext.Array.each(records,function(record,idx){if(Ext.Array.indexOf(children,record)!=-1){rows.push(Ext.apply(preppedRecords[idx],{depth:1}))}});delete group.children;group.fullWidth=fullWidth;if(me.collapsedState[view.id+"-gp-"+group.name]){group.collapsedCls=me.collapsedCls;group.hdCollapsedCls=me.hdCollapsedCls}return group},collectData:function(records,preppedRecords,startIndex,fullWidth,o){var me=this,store=me.view.store,groups;if(!me.disabled&&store.isGrouped()){groups=store.getGroups();Ext.Array.each(groups,function(group,idx){me.getGroupRows(group,records,preppedRecords,fullWidth)},me);return{rows:groups,fullWidth:fullWidth}}return o},getFireEventArgs:function(type,view,featureTarget,e){var returnArray=[type,view,featureTarget],groupBd=Ext.fly(featureTarget.nextSibling,"_grouping"),groupBdId=Ext.getDom(groupBd).id,prefix=view.id+"-gp-",groupName=groupBdId.substr(prefix.length);returnArray.push(groupName,e);return returnArray}});Ext.define("Ext.grid.feature.GroupingSummary",{extend:"Ext.grid.feature.Grouping",alias:"feature.groupingsummary",mixins:{summary:"Ext.grid.feature.AbstractSummary"},getFeatureTpl:function(){var tpl=this.callParent(arguments);if(this.showSummaryRow){tpl=tpl.replace("","");tpl+="{[this.printSummaryRow(xindex)]}"}return tpl},getFragmentTpl:function(){var me=this,fragments=me.callParent();Ext.apply(fragments,me.getSummaryFragments());if(me.showSummaryRow){me.summaryGroups=me.view.store.getGroups();me.summaryData=me.generateSummaryData()}return fragments},getPrintData:function(index){var me=this,columns=me.view.headerCt.getColumnsForTpl(),i=0,length=columns.length,data=[],name=me.summaryGroups[index-1].name,active=me.summaryData[name],column;for(;i','','
    {rowBody}
    ',"",""].join("")},getMetaRowTplFragments:function(){return{getRowBody:this.getRowBody,rowBodyTrCls:this.rowBodyTrCls,rowBodyTdCls:this.rowBodyTdCls,rowBodyDivCls:this.rowBodyDivCls}},mutateMetaRowTpl:function(metaRowTpl){metaRowTpl.push("{[this.getRowBody(values)]}")},getAdditionalData:function(data,idx,record,orig){var headerCt=this.view.headerCt,colspan=headerCt.getColumnCount();return{rowBody:"",rowBodyCls:this.rowBodyCls,rowBodyColspan:colspan}}});Ext.define("Ext.grid.feature.RowWrap",{extend:"Ext.grid.feature.Feature",alias:"feature.rowwrap",hasFeatureEvent:false,mutateMetaRowTpl:function(metaRowTpl){metaRowTpl[0]=metaRowTpl[0].replace(Ext.baseCSSPrefix+"grid-row","");metaRowTpl[0]=metaRowTpl[0].replace("{[this.embedRowCls()]}","");metaRowTpl.unshift('');metaRowTpl.unshift('
    ');metaRowTpl.push("
    ");metaRowTpl.push("")},embedColSpan:function(){return"{colspan}"},embedFullWidth:function(){return"{fullWidth}"},getAdditionalData:function(data,idx,record,orig){var headerCt=this.view.headerCt,colspan=headerCt.getColumnCount(),fullWidth=headerCt.getFullWidth(),items=headerCt.query("gridcolumn"),itemsLn=items.length,i=0,o={colspan:colspan,fullWidth:fullWidth},id,tdClsKey,colResizerCls;for(;i{[this.printSummaryRow()]}"},getPrintData:function(index){var me=this,columns=me.view.headerCt.getColumnsForTpl(),i=0,length=columns.length,data=[],active=me.summaryData,column;for(;ifromCt.items.indexOf(hd))){toIdx--}if(fromCt!==toCt){fromCt.suspendLayout=true;fromCt.remove(hd,false);fromCt.suspendLayout=false}if(fromCt.isGroupHeader){if(!fromCt.items.getCount()){groupCt=fromCt.ownerCt;groupCt.suspendLayout=true;groupCt.remove(fromCt,false);fromCt.el.dom.parentNode.removeChild(fromCt.el.dom);groupCt.suspendLayout=false}else{fromCt.minWidth=fromCt.getWidth()-hd.getWidth();fromCt.setWidth(fromCt.minWidth)}}toCt.suspendLayout=true;if(fromCt===toCt){toCt.move(fromIdx,toIdx)}else{toCt.insert(toIdx,hd)}toCt.suspendLayout=false;if(toCt.isGroupHeader){hd.savedFlex=hd.flex;delete hd.flex;hd.width=hd.getWidth();toCt.minWidth=toCt.getWidth()+hd.getWidth()-(hd.savedFlex?1:0);toCt.setWidth(toCt.minWidth)}else{if(hd.savedFlex){hd.flex=hd.savedFlex;delete hd.width}}headerCt.purgeCache();headerCt.doLayout();headerCt.onHeaderMoved(hd,fromIdx,toIdx);if(!fromCt.items.getCount()){fromCt.destroy()}}}}}});Ext.define("Ext.grid.plugin.Editing",{alias:"editing.editing",requires:["Ext.grid.column.Column","Ext.util.KeyNav"],mixins:{observable:"Ext.util.Observable"},clicksToEdit:2,defaultFieldXType:"textfield",editStyle:"",constructor:function(config){var me=this;Ext.apply(me,config);me.addEvents("beforeedit","edit","validateedit");me.mixins.observable.constructor.call(me);me.relayEvents(me,["afteredit"],"after")},init:function(grid){var me=this;me.grid=grid;me.view=grid.view;me.initEvents();me.mon(grid,"reconfigure",me.onReconfigure,me);me.onReconfigure();grid.relayEvents(me,["beforeedit","edit","validateedit"]);grid.isEditable=true;grid.editingPlugin=grid.view.editingPlugin=me},onReconfigure:function(){this.initFieldAccessors(this.view.getGridColumns())},destroy:function(){var me=this,grid=me.grid,headerCt=grid.headerCt,events=grid.events;Ext.destroy(me.keyNav);me.removeFieldAccessors(grid.getView().getGridColumns());me.clearListeners();delete me.grid.editingPlugin;delete me.grid.view.editingPlugin;delete me.grid;delete me.view;delete me.editor;delete me.keyNav},getEditStyle:function(){return this.editStyle},initFieldAccessors:function(column){var me=this;if(Ext.isArray(column)){Ext.Array.forEach(column,me.initFieldAccessors,me);return}Ext.applyIf(column,{getEditor:function(record,defaultField){return me.getColumnField(this,defaultField)},setEditor:function(field){me.setColumnField(this,field)}})},removeFieldAccessors:function(column){var me=this;if(Ext.isArray(column)){Ext.Array.forEach(column,me.removeFieldAccessors,me);return}delete column.getEditor;delete column.setEditor},getColumnField:function(columnHeader,defaultField){var field=columnHeader.field;if(!field&&columnHeader.editor){field=columnHeader.editor;delete columnHeader.editor}if(!field&&defaultField){field=defaultField}if(field){if(Ext.isString(field)){field={xtype:field}}if(Ext.isObject(field)&&!field.isFormField){field=Ext.ComponentManager.create(field,this.defaultFieldXType);columnHeader.field=field}Ext.apply(field,{name:columnHeader.dataIndex});return field}},setColumnField:function(column,field){if(Ext.isObject(field)&&!field.isFormField){field=Ext.ComponentManager.create(field,this.defaultFieldXType)}column.field=field},initEvents:function(){var me=this;me.initEditTriggers();me.initCancelTriggers()},initCancelTriggers:Ext.emptyFn,initEditTriggers:function(){var me=this,view=me.view,clickEvent=me.clicksToEdit===1?"click":"dblclick";me.mon(view,"cell"+clickEvent,me.startEditByClick,me);view.on("render",function(){me.keyNav=Ext.create("Ext.util.KeyNav",view.el,{enter:me.onEnterKey,esc:me.onEscKey,scope:me})},me,{single:true})},onEnterKey:function(e){var me=this,grid=me.grid,selModel=grid.getSelectionModel(),record,columnHeader=grid.headerCt.getHeaderAtIndex(0);if(selModel.getCurrentPosition){pos=selModel.getCurrentPosition();record=grid.store.getAt(pos.row);columnHeader=grid.headerCt.getHeaderAtIndex(pos.column)}else{record=selModel.getLastSelected()}me.startEdit(record,columnHeader)},onEscKey:function(e){this.cancelEdit()},startEditByClick:function(view,cell,colIdx,record,row,rowIdx,e){this.startEdit(record,view.getHeaderAtIndex(colIdx))},beforeEdit:Ext.emptyFn,startEdit:function(record,columnHeader){var me=this,context=me.getEditingContext(record,columnHeader);if(me.beforeEdit(context)===false||me.fireEvent("beforeedit",context)===false||context.cancel){return false}me.context=context;me.editing=true},getEditingContext:function(record,columnHeader){var me=this,grid=me.grid,store=grid.store,rowIdx,colIdx,view=grid.getView(),value;if(Ext.isNumber(record)){rowIdx=record;record=store.getAt(rowIdx)}else{rowIdx=store.indexOf(record)}if(Ext.isNumber(columnHeader)){colIdx=columnHeader;columnHeader=grid.headerCt.getHeaderAtIndex(colIdx)}else{colIdx=columnHeader.getIndex()}value=record.get(columnHeader.dataIndex);return{grid:grid,record:record,field:columnHeader.dataIndex,value:value,row:view.getNode(rowIdx),column:columnHeader,rowIdx:rowIdx,colIdx:colIdx}},cancelEdit:function(){this.editing=false},completeEdit:function(){var me=this;if(me.editing&&me.validateEdit()){me.fireEvent("edit",me.context)}delete me.context;me.editing=false},validateEdit:function(){var me=this,context=me.context;return me.fireEvent("validateedit",me,context)!==false&&!context.cancel}});Ext.define("Ext.grid.plugin.CellEditing",{alias:"plugin.cellediting",extend:"Ext.grid.plugin.Editing",requires:["Ext.grid.CellEditor","Ext.util.DelayedTask"],constructor:function(){this.callParent(arguments);this.editors=Ext.create("Ext.util.MixedCollection",false,function(editor){return editor.editorId});this.editTask=Ext.create("Ext.util.DelayedTask")},onReconfigure:function(){this.editors.clear();this.callParent()},destroy:function(){var me=this;me.editTask.cancel();me.editors.each(Ext.destroy,Ext);me.editors.clear();me.callParent(arguments)},onBodyScroll:function(){var ed=this.getActiveEditor();if(ed&&ed.field){if(ed.field.triggerBlur){ed.field.triggerBlur()}else{ed.field.blur()}}},initCancelTriggers:function(){var me=this,grid=me.grid,view=grid.view;view.addElListener("mousewheel",me.cancelEdit,me);me.mon(view,"bodyscroll",me.onBodyScroll,me);me.mon(grid,{columnresize:me.cancelEdit,columnmove:me.cancelEdit,scope:me})},startEdit:function(record,columnHeader){var me=this,ed=me.getEditor(record,columnHeader),value=record.get(columnHeader.dataIndex),context=me.getEditingContext(record,columnHeader);record=context.record;columnHeader=context.column;me.completeEdit();if(columnHeader&&!columnHeader.getEditor(record)){return false}if(ed){context.originalValue=context.value=value;if(me.beforeEdit(context)===false||me.fireEvent("beforeedit",context)===false||context.cancel){return false}me.context=context;me.setActiveEditor(ed);me.setActiveRecord(record);me.setActiveColumn(columnHeader);me.editTask.delay(15,ed.startEdit,ed,[me.getCell(record,columnHeader),value])}else{me.grid.getView().getEl(columnHeader).focus((Ext.isWebKit||Ext.isIE)?10:false)}},completeEdit:function(){var activeEd=this.getActiveEditor();if(activeEd){activeEd.completeEdit()}},setActiveEditor:function(ed){this.activeEditor=ed},getActiveEditor:function(){return this.activeEditor},setActiveColumn:function(column){this.activeColumn=column},getActiveColumn:function(){return this.activeColumn},setActiveRecord:function(record){this.activeRecord=record},getActiveRecord:function(){return this.activeRecord},getEditor:function(record,column){var me=this,editors=me.editors,editorId=column.getItemId(),editor=editors.getByKey(editorId);if(editor){return editor}else{editor=column.getEditor(record);if(!editor){return false}if(!(editor instanceof Ext.grid.CellEditor)){editor=Ext.create("Ext.grid.CellEditor",{editorId:editorId,field:editor})}editor.parentEl=me.grid.getEditorParent();editor.on({scope:me,specialkey:me.onSpecialKey,complete:me.onEditComplete,canceledit:me.cancelEdit});editors.add(editor);return editor}},getCell:function(record,column){return this.grid.getView().getCell(record,column)},onSpecialKey:function(ed,field,e){var grid=this.grid,sm;if(e.getKey()===e.TAB){e.stopEvent();sm=grid.getSelectionModel();if(sm.onEditorTab){sm.onEditorTab(this,e)}}},onEditComplete:function(ed,value,startValue){var me=this,grid=me.grid,sm=grid.getSelectionModel(),activeColumn=me.getActiveColumn(),dataIndex;if(activeColumn){dataIndex=activeColumn.dataIndex;me.setActiveEditor(null);me.setActiveColumn(null);me.setActiveRecord(null);delete sm.wasEditing;if(!me.validateEdit()){return}if(value!==startValue){me.context.record.set(dataIndex,value)}else{grid.getView().getEl(activeColumn).focus()}me.context.value=value;me.fireEvent("edit",me,me.context)}},cancelEdit:function(){var me=this,activeEd=me.getActiveEditor(),viewEl=me.grid.getView().getEl(me.getActiveColumn());me.setActiveEditor(null);me.setActiveColumn(null);me.setActiveRecord(null);if(activeEd){activeEd.cancelEdit();viewEl.focus()}},startEditByPosition:function(position){var me=this,grid=me.grid,sm=grid.getSelectionModel(),editRecord=grid.store.getAt(position.row),editColumnHeader=grid.headerCt.getHeaderAtIndex(position.column);if(sm.selectByPosition){sm.selectByPosition(position)}me.startEdit(editRecord,editColumnHeader)}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:true,enableDrag:true,init:function(view){view.on("render",this.onViewRender,this,{single:true})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onViewRender:function(view){var me=this;if(me.enableDrag){me.dragZone=Ext.create("Ext.view.DragZone",{view:view,ddGroup:me.dragGroup||me.ddGroup,dragText:me.dragText})}if(me.enableDrop){me.dropZone=Ext.create("Ext.grid.ViewDropZone",{view:view,ddGroup:me.dropGroup||me.ddGroup})}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.util.Observable",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(headerCt){this.headerCt=headerCt;headerCt.on("render",this.onHeaderCtRender,this)},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){this.dragZone=Ext.create("Ext.grid.header.DragZone",this.headerCt);this.dropZone=Ext.create("Ext.grid.header.DropZone",this.headerCt);if(this.disabled){this.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.util.Observable",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,configs:{dynamic:true},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(headerCt){this.headerCt=headerCt;headerCt.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var headerCt=this.headerCt,el=headerCt.el;headerCt.mon(el,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=Ext.create("Ext.dd.DragTracker",{disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:el})},onHeaderCtMouseMove:function(e,t){if(this.headerCt.dragging){if(this.activeHd){this.activeHd.el.dom.style.cursor="";delete this.activeHd}}else{var headerEl=e.getTarget("."+this.colHeaderCls,3,true),overHeader,resizeHeader;if(headerEl){overHeader=Ext.getCmp(headerEl.id);if(overHeader.isOnLeftEdge(e)){resizeHeader=overHeader.previousNode("gridcolumn:not([hidden]):not([isGroupHeader])")}else{if(overHeader.isOnRightEdge(e)){resizeHeader=overHeader}else{resizeHeader=null}}if(resizeHeader){if(resizeHeader.isGroupHeader){resizeHeader=resizeHeader.getVisibleGridColumns();resizeHeader=resizeHeader[resizeHeader.length-1]}if(resizeHeader&&!(resizeHeader.fixed||this.disabled)){this.activeHd=resizeHeader;overHeader.el.dom.style.cursor=this.eResizeCursor}}else{overHeader.el.dom.style.cursor="";delete this.activeHd}}}},onBeforeStart:function(e){var t=e.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(t).hasCls("x-column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var dragHdEl=this.dragHd.el,region=Ext.util.Region.getRegion(dragHdEl);return region.adjust(0,this.maxColWidth-dragHdEl.getWidth(),0,this.minColWidth)},onStart:function(e){var me=this,dragHd=me.dragHd,dragHdEl=dragHd.el,width=dragHdEl.getWidth(),headerCt=me.headerCt,t=e.getTarget();if(me.dragHd&&!Ext.fly(t).hasCls("x-column-header-trigger")){headerCt.dragging=true}me.origWidth=width;if(!me.dynamic){var xy=dragHdEl.getXY(),gridSection=headerCt.up("[scrollerOwner]"),dragHct=me.dragHd.up(":not([isGroupHeader])"),firstSection=dragHct.up(),lhsMarker=gridSection.getLhsMarker(),rhsMarker=gridSection.getRhsMarker(),el=rhsMarker.parent(),offsetLeft=el.getLeft(true),offsetTop=el.getTop(true),topLeft=el.translatePoints(xy),markerHeight=firstSection.body.getHeight()+headerCt.getHeight(),top=topLeft.top-offsetTop;lhsMarker.setTop(top);rhsMarker.setTop(top);lhsMarker.setHeight(markerHeight);rhsMarker.setHeight(markerHeight);lhsMarker.setLeft(topLeft.left-offsetLeft);rhsMarker.setLeft(topLeft.left+width-offsetLeft)}},onDrag:function(e){if(!this.dynamic){var xy=this.tracker.getXY("point"),gridSection=this.headerCt.up("[scrollerOwner]"),rhsMarker=gridSection.getRhsMarker(),el=rhsMarker.parent(),topLeft=el.translatePoints(xy),offsetLeft=el.getLeft(true);rhsMarker.setLeft(topLeft.left-offsetLeft)}else{this.doResize()}},onEnd:function(e){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var dragHd=this.dragHd,gridSection=this.headerCt.up("[scrollerOwner]"),lhsMarker=gridSection.getLhsMarker(),rhsMarker=gridSection.getRhsMarker(),currWidth=dragHd.getWidth(),offset=this.tracker.getOffset("point"),offscreen=-9999;lhsMarker.setLeft(offscreen);rhsMarker.setLeft(offscreen)}this.doResize()}},doResize:function(){if(this.dragHd){var dragHd=this.dragHd,nextHd,offset=this.tracker.getOffset("point");if(dragHd.flex){delete dragHd.flex}if(this.headerCt.forceFit){nextHd=dragHd.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(nextHd){this.headerCt.componentLayout.layoutBusy=true}}dragHd.minWidth=this.origWidth+offset[0];dragHd.setWidth(dragHd.minWidth);if(nextHd){delete nextHd.flex;nextHd.setWidth(nextHd.getWidth()-offset[0]);this.headerCt.componentLayout.layoutBusy=false;this.headerCt.doComponentLayout()}}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.plugin.RowEditing",{extend:"Ext.grid.plugin.Editing",alias:"plugin.rowediting",requires:["Ext.grid.RowEditor"],editStyle:"row",autoCancel:true,errorSummary:true,constructor:function(){var me=this;me.callParent(arguments);if(!me.clicksToMoveEditor){me.clicksToMoveEditor=me.clicksToEdit}me.autoCancel=!!me.autoCancel},destroy:function(){var me=this;Ext.destroy(me.editor);me.callParent(arguments)},startEdit:function(record,columnHeader){var me=this,editor=me.getEditor();if(me.callParent(arguments)===false){return false}if(editor.beforeEdit()!==false){editor.startEdit(me.context.record,me.context.column)}},cancelEdit:function(){var me=this;if(me.editing){me.getEditor().cancelEdit();me.callParent(arguments)}},completeEdit:function(){var me=this;if(me.editing&&me.validateEdit()){me.editing=false;me.fireEvent("edit",me.context)}},validateEdit:function(){var me=this;return me.callParent(arguments)&&me.getEditor().completeEdit()},getEditor:function(){var me=this;if(!me.editor){me.editor=me.initEditor()}return me.editor},initEditor:function(){var me=this,grid=me.grid,view=me.view,headerCt=grid.headerCt;return Ext.create("Ext.grid.RowEditor",{autoCancel:me.autoCancel,errorSummary:me.errorSummary,fields:headerCt.getGridColumns(),hidden:true,editingPlugin:me,renderTo:view.el})},initEditTriggers:function(){var me=this,grid=me.grid,view=me.view,headerCt=grid.headerCt,moveEditorEvent=me.clicksToMoveEditor===1?"click":"dblclick";me.callParent(arguments);if(me.clicksToMoveEditor!==me.clicksToEdit){me.mon(view,"cell"+moveEditorEvent,me.moveEditorByClick,me)}view.on("render",function(){me.mon(headerCt,{add:me.onColumnAdd,remove:me.onColumnRemove,columnresize:me.onColumnResize,columnhide:me.onColumnHide,columnshow:me.onColumnShow,columnmove:me.onColumnMove,scope:me})},me,{single:true})},startEditByClick:function(){var me=this;if(!me.editing||me.clicksToMoveEditor===me.clicksToEdit){me.callParent(arguments)}},moveEditorByClick:function(){var me=this;if(me.editing){me.superclass.startEditByClick.apply(me,arguments)}},onColumnAdd:function(ct,column){if(column.isHeader){var me=this,editor;me.initFieldAccessors(column);editor=me.getEditor();if(editor&&editor.onColumnAdd){editor.onColumnAdd(column)}}},onColumnRemove:function(ct,column){if(column.isHeader){var me=this,editor=me.getEditor();if(editor&&editor.onColumnRemove){editor.onColumnRemove(column)}me.removeFieldAccessors(column)}},onColumnResize:function(ct,column,width){if(column.isHeader){var me=this,editor=me.getEditor();if(editor&&editor.onColumnResize){editor.onColumnResize(column,width)}}},onColumnHide:function(ct,column){var me=this,editor=me.getEditor();if(editor&&editor.onColumnHide){editor.onColumnHide(column)}},onColumnShow:function(ct,column){var me=this,editor=me.getEditor();if(editor&&editor.onColumnShow){editor.onColumnShow(column)}},onColumnMove:function(ct,column,fromIdx,toIdx){var me=this,editor=me.getEditor();if(editor&&editor.onColumnMove){editor.onColumnMove(column,fromIdx,toIdx)}},setColumnField:function(column,field){var me=this;me.callParent(arguments);me.getEditor().setField(column.field,column)}});Ext.define("Ext.grid.property.Grid",{extend:"Ext.grid.Panel",alias:"widget.propertygrid",alternateClassName:"Ext.grid.PropertyGrid",uses:["Ext.grid.plugin.CellEditing","Ext.grid.property.Store","Ext.grid.property.HeaderContainer","Ext.XTemplate","Ext.grid.CellEditor","Ext.form.field.Date","Ext.form.field.Text","Ext.form.field.Number"],valueField:"value",nameField:"name",enableColumnMove:false,columnLines:true,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,initComponent:function(){var me=this;me.addCls(Ext.baseCSSPrefix+"property-grid");me.plugins=me.plugins||[];me.plugins.push(Ext.create("Ext.grid.plugin.CellEditing",{clicksToEdit:me.clicksToEdit,startEdit:function(record,column){return this.self.prototype.startEdit.call(this,record,me.headerCt.child("#"+me.valueField))}}));me.selModel={selType:"cellmodel",onCellSelect:function(position){if(position.column!=1){position.column=1}return this.self.prototype.onCellSelect.call(this,position)}};me.customRenderers=me.customRenderers||{};me.customEditors=me.customEditors||{};if(!me.store){me.propStore=me.store=Ext.create("Ext.grid.property.Store",me,me.source)}me.store.sort("name","ASC");me.columns=Ext.create("Ext.grid.property.HeaderContainer",me,me.store);me.addEvents("beforepropertychange","propertychange");me.callParent();me.getView().walkCells=this.walkCells;me.editors={date:Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.Date",{selectOnFocus:true})}),string:Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.Text",{selectOnFocus:true})}),number:Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.Number",{selectOnFocus:true})}),"boolean":Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.ComboBox",{editable:false,store:[[true,me.headerCt.trueText],[false,me.headerCt.falseText]]})})};me.store.on("update",me.onUpdate,me)},onUpdate:function(store,record,operation){var me=this,v,oldValue;if(operation==Ext.data.Model.EDIT){v=record.get(me.valueField);oldValue=record.modified.value;if(me.fireEvent("beforepropertychange",me.source,record.getId(),v,oldValue)!==false){if(me.source){me.source[record.getId()]=v}record.commit();me.fireEvent("propertychange",me.source,record.getId(),v,oldValue)}else{record.reject()}}},walkCells:function(pos,direction,e,preventWrap,verifierFn,scope){if(direction=="left"){direction="up"}else{if(direction=="right"){direction="down"}}pos=Ext.view.Table.prototype.walkCells.call(this,pos,direction,e,preventWrap,verifierFn,scope);if(!pos.column){pos.column=1}return pos},getCellEditor:function(record,column){var me=this,propName=record.get(me.nameField),val=record.get(me.valueField),editor=me.customEditors[propName];if(editor){if(!(editor instanceof Ext.grid.CellEditor)){if(!(editor instanceof Ext.form.field.Base)){editor=Ext.ComponentManager.create(editor,"textfield")}editor=me.customEditors[propName]=Ext.create("Ext.grid.CellEditor",{field:editor})}}else{if(Ext.isDate(val)){editor=me.editors.date}else{if(Ext.isNumber(val)){editor=me.editors.number}else{if(Ext.isBoolean(val)){editor=me.editors["boolean"]}else{editor=me.editors.string}}}}editor.editorId=propName;return editor},beforeDestroy:function(){var me=this;me.callParent();me.destroyEditors(me.editors);me.destroyEditors(me.customEditors);delete me.source},destroyEditors:function(editors){for(var ed in editors){if(editors.hasOwnProperty(ed)){Ext.destroy(editors[ed])}}},setSource:function(source){this.source=source;this.propStore.setSource(source)},getSource:function(){return this.propStore.getSource()},setProperty:function(prop,value,create){this.propStore.setValue(prop,value,create)},removeProperty:function(prop){this.propStore.remove(prop)}});Ext.define("Ext.grid.property.HeaderContainer",{extend:"Ext.grid.header.Container",alternateClassName:"Ext.grid.PropertyColumnModel",nameWidth:115,nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",nameColumnCls:Ext.baseCSSPrefix+"grid-property-name",constructor:function(grid,store){var me=this;me.grid=grid;me.store=store;me.callParent([{items:[{header:me.nameText,width:grid.nameColumnWidth||me.nameWidth,sortable:true,dataIndex:grid.nameField,renderer:Ext.Function.bind(me.renderProp,me),itemId:grid.nameField,menuDisabled:true,tdCls:me.nameColumnCls},{header:me.valueText,renderer:Ext.Function.bind(me.renderCell,me),getEditor:Ext.Function.bind(me.getCellEditor,me),flex:1,fixed:true,dataIndex:grid.valueField,itemId:grid.valueField,menuDisabled:true}]}])},getCellEditor:function(record){return this.grid.getCellEditor(record,this)},renderProp:function(v){return this.getPropertyName(v)},renderCell:function(val,meta,rec){var me=this,renderer=me.grid.customRenderers[rec.get(me.grid.nameField)],result=val;if(renderer){return renderer.apply(me,arguments)}if(Ext.isDate(val)){result=me.renderDate(val)}else{if(Ext.isBoolean(val)){result=me.renderBool(val)}}return Ext.util.Format.htmlEncode(result)},renderDate:Ext.util.Format.date,renderBool:function(bVal){return this[bVal?"trueText":"falseText"]},getPropertyName:function(name){var pn=this.grid.propertyNames;return pn&&pn[name]?pn[name]:name}});Ext.define("Ext.grid.property.Property",{extend:"Ext.data.Model",alternateClassName:"Ext.PropGridProperty",fields:[{name:"name",type:"string"},{name:"value"}],idProperty:"name"});Ext.define("Ext.grid.property.Store",{extend:"Ext.data.Store",alternateClassName:"Ext.grid.PropertyStore",uses:["Ext.data.reader.Reader","Ext.data.proxy.Proxy","Ext.data.ResultSet","Ext.grid.property.Property"],constructor:function(grid,source){var me=this;me.grid=grid;me.source=source;me.callParent([{data:source,model:Ext.grid.property.Property,proxy:me.getProxy()}])},getProxy:function(){if(!this.proxy){Ext.grid.property.Store.prototype.proxy=Ext.create("Ext.data.proxy.Memory",{model:Ext.grid.property.Property,reader:this.getReader()})}return this.proxy},getReader:function(){if(!this.reader){Ext.grid.property.Store.prototype.reader=Ext.create("Ext.data.reader.Reader",{model:Ext.grid.property.Property,buildExtractors:Ext.emptyFn,read:function(dataObject){return this.readRecords(dataObject)},readRecords:function(dataObject){var val,propName,result={records:[],success:true};for(propName in dataObject){if(dataObject.hasOwnProperty(propName)){val=dataObject[propName];if(this.isEditableValue(val)){result.records.push(new Ext.grid.property.Property({name:propName,value:val},propName))}}}result.total=result.count=result.records.length;return Ext.create("Ext.data.ResultSet",result)},isEditableValue:function(val){return Ext.isPrimitive(val)||Ext.isDate(val)}})}return this.reader},setSource:function(dataObject){var me=this;me.source=dataObject;me.suspendEvents();me.removeAll();me.proxy.data=dataObject;me.load();me.resumeEvents();me.fireEvent("datachanged",me)},getProperty:function(row){return Ext.isNumber(row)?this.getAt(row):this.getById(row)},setValue:function(prop,value,create){var me=this,rec=me.getRec(prop);if(rec){rec.set("value",value);me.source[prop]=value}else{if(create){me.source[prop]=value;rec=new Ext.grid.property.Property({name:prop,value:value},prop);me.add(rec)}}},remove:function(prop){var rec=this.getRec(prop);if(rec){this.callParent([rec]);delete this.source[prop]}},getRec:function(prop){return this.getById(prop)},getSource:function(){return this.source}});Ext.define("Ext.layout.component.Body",{alias:["layout.body"],extend:"Ext.layout.component.Component",uses:["Ext.layout.container.Container"],type:"body",onLayout:function(width,height){var me=this,owner=me.owner;me.setTargetSize(width,height);me.setBodySize.apply(me,arguments);if(owner&&owner.layout&&owner.layout.isLayout){if(!Ext.isNumber(owner.height)||!Ext.isNumber(owner.width)){owner.layout.bindToOwnerCtComponent=true}else{owner.layout.bindToOwnerCtComponent=false}}me.callParent(arguments)},setBodySize:function(width,height){var me=this,owner=me.owner,frameSize=owner.frameSize,isNumber=Ext.isNumber;if(isNumber(width)){width-=owner.el.getFrameWidth("lr")-frameSize.left-frameSize.right}if(isNumber(height)){height-=owner.el.getFrameWidth("tb")-frameSize.top-frameSize.bottom}me.setElementSize(owner.body,width,height)}});Ext.define("Ext.layout.component.FieldSet",{extend:"Ext.layout.component.Body",alias:["layout.fieldset"],type:"fieldset",doContainerLayout:function(){if(!this.owner.collapsed){this.callParent()}}});Ext.define("Ext.layout.component.Tab",{alias:["layout.tab"],extend:"Ext.layout.component.Button",beforeLayout:function(){var me=this,dirty=me.lastClosable!==me.owner.closable;if(dirty){delete me.adjWidth}return this.callParent(arguments)||dirty},onLayout:function(){var me=this;me.callParent(arguments);me.lastClosable=me.owner.closable}});Ext.define("Ext.layout.component.field.File",{alias:["layout.filefield"],extend:"Ext.layout.component.field.Field",type:"filefield",sizeBodyContents:function(width,height){var me=this,owner=me.owner;if(!owner.buttonOnly){me.setElementSize(owner.inputEl,Ext.isNumber(width)?width-owner.button.getWidth()-owner.buttonMargin:width)}}});Ext.define("Ext.layout.component.field.Slider",{alias:["layout.sliderfield"],extend:"Ext.layout.component.field.Field",type:"sliderfield",sizeBodyContents:function(width,height){var owner=this.owner,thumbs=owner.thumbs,length=thumbs.length,inputEl=owner.inputEl,innerEl=owner.innerEl,endEl=owner.endEl,i=0;for(;ipanel:not([collapsed])"):[];if(me.multi){me.setCollapsed(comp);if(expanded.length===1&&expanded[0]===comp){me.setExpanded(toExpand)}me.animate=me.initialAnimate;me.layout();me.animate=false}else{if(toExpand){me.onComponentExpand(toExpand)}}return false},onComponentShow:function(comp){this.onComponentExpand(comp)},setCollapsed:function(comp){var otherDocks=comp.getDockedItems(),dockItem,len=otherDocks.length,i=0;comp.hiddenDocked=[];for(;i
     
    '],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,width:5,height:5,collapseTarget:"next",onRender:function(){var me=this,target=me.getCollapseTarget(),collapseDir=me.getCollapseDirection();Ext.applyIf(me.renderData,{collapseDir:collapseDir,collapsible:me.collapsible||target.collapsible});Ext.applyIf(me.renderSelectors,{collapseEl:"."+Ext.baseCSSPrefix+"collapse-el"});this.callParent(arguments);if(me.performCollapse!==false){if(me.renderData.collapsible){me.mon(me.collapseEl,"click",me.toggleTargetCmp,me)}if(me.collapseOnDblClick){me.mon(me.el,"dblclick",me.toggleTargetCmp,me)}}me.mon(target,"collapse",me.onTargetCollapse,me);me.mon(target,"expand",me.onTargetExpand,me);me.el.addCls(me.baseCls+"-"+me.orientation);me.el.unselectable();me.tracker=Ext.create("Ext.resizer.SplitterTracker",{el:me.el});me.relayEvents(me.tracker,["beforedragstart","dragstart","dragend"])},getCollapseDirection:function(){var me=this,idx,type=me.ownerCt.layout.type;if(me.collapseTarget.isComponent){idx=Number(me.ownerCt.items.indexOf(me.collapseTarget)==me.ownerCt.items.indexOf(me)-1)<<1|Number(type=="hbox")}else{idx=Number(me.collapseTarget=="prev")<<1|Number(type=="hbox")}me.orientation=["horizontal","vertical"][idx&1];return["bottom","right","top","left"][idx]},getCollapseTarget:function(){var me=this;return me.collapseTarget.isComponent?me.collapseTarget:me.collapseTarget=="prev"?me.previousSibling():me.nextSibling()},onTargetCollapse:function(target){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(target){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(e,t){var cmp=this.getCollapseTarget();if(cmp.isVisible()){if(cmp.collapsed){cmp.expand(cmp.animCollapse)}else{cmp.collapse(this.renderData.collapseDir,cmp.animCollapse)}}},setSize:function(){var me=this;me.callParent(arguments);if(Ext.isIE){me.el.repaint()}}});Ext.define("Ext.layout.container.Border",{alias:["layout.border"],extend:"Ext.layout.container.Container",requires:["Ext.resizer.Splitter","Ext.container.Container","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:Ext.baseCSSPrefix+"border-item",bindToOwnerCtContainer:true,percentageRe:/(\d+)%/,slideDirection:{north:"t",south:"b",west:"l",east:"r"},constructor:function(config){this.initialConfig=config;this.callParent(arguments)},onLayout:function(){var me=this;if(!me.borderLayoutInitialized){me.initializeBorderLayout()}me.fixHeightConstraints();me.shadowLayout.onLayout();if(me.embeddedContainer){me.embeddedContainer.layout.onLayout()}if(!me.initialCollapsedComplete){Ext.iterate(me.regions,function(name,region){if(region.borderCollapse){me.onBeforeRegionCollapse(region,region.collapseDirection,false,0)}});me.initialCollapsedComplete=true}},isValidParent:function(item,target,position){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}return this.shadowLayout.isValidParent(item,target,position)},beforeLayout:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.beforeLayout()},renderItems:function(items,target){},renderItem:function(item){},getVisibleItems:function(){return Ext.ComponentQuery.query(":not([slideOutAnim])",this.callParent(arguments))},initializeBorderLayout:function(){var me=this,i=0,items=me.getLayoutItems(),ln=items.length,regions=(me.regions={}),vBoxItems=[],hBoxItems=[],horizontalFlex=0,verticalFlex=0,comp,percentage;me.splitters={};for(;isize.height);if(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks){me.adjustedWidth=size.width-Ext.getScrollBarWidth()}else{target.setStyle("overflow","auto")}if(me.adjustmentPass){me.onLayout()}}delete me.adjustmentPass},configureItem:function(item){if(item.columnWidth){item.layoutManagedWidth=1}else{item.layoutManagedWidth=2}item.layoutManagedHeight=2;this.callParent(arguments)}});Ext.define("Ext.layout.container.Table",{alias:["layout.table"],extend:"Ext.layout.container.Auto",alternateClassName:"Ext.layout.TableLayout",monitorResize:false,type:"table",autoSize:true,clearEl:true,targetCls:Ext.baseCSSPrefix+"table-layout-ct",tableCls:Ext.baseCSSPrefix+"table-layout",cellCls:Ext.baseCSSPrefix+"table-layout-cell",tableAttrs:null,renderItems:function(items){var tbody=this.getTable().tBodies[0],rows=tbody.rows,i=0,len=items.length,cells,curCell,rowIdx,cellIdx,item,trEl,tdEl,itemCt;cells=this.calculateCells(items);for(;i=totalCols||rowspans[colIdx]>0){if(colIdx>=totalCols){colIdx=0;cellIdx=0;rowIdx++;for(j=0;j0){rowspans[j]--}}}else{colIdx++}}cells.push({rowIdx:rowIdx,cellIdx:cellIdx});for(j=item.colspan||1;j;--j){rowspans[colIdx]=item.rowspan||1;++colIdx}++cellIdx}return cells},getTable:function(){var table=this.table;if(!table){table=this.table=this.getTarget().createChild(Ext.apply({tag:"table",role:"presentation",cls:this.tableCls,cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true)}return table},needsDivWrap:function(){return Ext.isOpera10_5}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:true,clickHideDelay:1,destroyMenu:true,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:true,isMenuItem:true,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,renderTpl:['',"{text}","",'','target="{hrefTarget}" hidefocus="true" unselectable="on">','','style="margin-right: 17px;" >{text}','','',"","",""],maskOnDisable:false,activate:function(){var me=this;if(!me.activated&&me.canActivate&&me.rendered&&!me.isDisabled()&&me.isVisible()){me.el.addCls(me.activeCls);me.focus();me.activated=true;me.fireEvent("activate",me)}},blur:function(){this.$focused=false;this.callParent(arguments)},deactivate:function(){var me=this;if(me.activated){me.el.removeCls(me.activeCls);me.blur();me.hideMenu();me.activated=false;me.fireEvent("deactivate",me)}},deferExpandMenu:function(){var me=this;if(!me.menu.rendered||!me.menu.isVisible()){me.parentMenu.activeChild=me.menu;me.menu.parentItem=me;me.menu.parentMenu=me.menu.ownerCt=me.parentMenu;me.menu.showBy(me,me.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},deferHideParentMenus:function(){Ext.menu.Manager.hideAll()},expandMenu:function(delay){var me=this;if(me.menu){clearTimeout(me.hideMenuTimer);if(delay===0){me.deferExpandMenu()}else{me.expandMenuTimer=Ext.defer(me.deferExpandMenu,Ext.isNumber(delay)?delay:me.menuExpandDelay,me)}}},focus:function(){this.$focused=true;this.callParent(arguments)},getRefItems:function(deep){var menu=this.menu,items;if(menu){items=menu.getRefItems(deep);items.unshift(menu)}return items||[]},hideMenu:function(delay){var me=this;if(me.menu){clearTimeout(me.expandMenuTimer);me.hideMenuTimer=Ext.defer(me.deferHideMenu,Ext.isNumber(delay)?delay:me.menuHideDelay,me)}},initComponent:function(){var me=this,prefix=Ext.baseCSSPrefix,cls=[prefix+"menu-item"];me.addEvents("activate","click","deactivate");if(me.plain){cls.push(prefix+"menu-item-plain")}if(me.cls){cls.push(me.cls)}me.cls=cls.join(" ");if(me.menu){me.menu=Ext.menu.Manager.get(me.menu)}me.callParent(arguments)},onClick:function(e){var me=this;if(!me.href){e.stopEvent()}if(me.disabled){return}if(me.hideOnClick){me.deferHideParentMenusTimer=Ext.defer(me.deferHideParentMenus,me.clickHideDelay,me)}Ext.callback(me.handler,me.scope||me,[me,e]);me.fireEvent("click",me,e);if(!me.hideOnClick){me.focus()}},onDestroy:function(){var me=this;clearTimeout(me.expandMenuTimer);clearTimeout(me.hideMenuTimer);clearTimeout(me.deferHideParentMenusTimer);if(me.menu){delete me.menu.parentItem;delete me.menu.parentMenu;delete me.menu.ownerCt;if(me.destroyMenu!==false){me.menu.destroy()}}me.callParent(arguments)},onRender:function(ct,pos){var me=this,prefix="."+Ext.baseCSSPrefix;Ext.applyIf(me.renderData,{href:me.href||"#",hrefTarget:me.hrefTarget,icon:me.icon||Ext.BLANK_IMAGE_URL,iconCls:me.iconCls+(me.checkChangeDisabled?" "+me.disabledCls:""),menu:Ext.isDefined(me.menu),plain:me.plain,text:me.text});Ext.applyIf(me.renderSelectors,{itemEl:prefix+"menu-item-link",iconEl:prefix+"menu-item-icon",textEl:prefix+"menu-item-text",arrowEl:prefix+"menu-item-arrow"});me.callParent(arguments)},setHandler:function(fn,scope){this.handler=fn||null;this.scope=scope},setIconCls:function(iconCls){var me=this;if(me.iconEl){if(me.iconCls){me.iconEl.removeCls(me.iconCls)}if(iconCls){me.iconEl.addCls(iconCls)}}me.iconCls=iconCls},setText:function(text){var me=this,el=me.textEl||me.el;me.text=text;if(me.rendered){el.update(text||"");me.ownerCt.redoComponentLayout()}}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,afterRender:function(){var me=this;this.callParent();me.checked=!me.checked;me.setChecked(!me.checked,true)},initComponent:function(){var me=this;me.addEvents("beforecheckchange","checkchange");me.callParent(arguments);Ext.menu.Manager.registerCheckable(me);if(me.group){if(!me.iconCls){me.iconCls=me.groupCls}if(me.initialConfig.hideOnClick!==false){me.hideOnClick=true}}},disableCheckChange:function(){var me=this;if(me.iconEl){me.iconEl.addCls(me.disabledCls)}me.checkChangeDisabled=true},enableCheckChange:function(){var me=this;me.iconEl.removeCls(me.disabledCls);me.checkChangeDisabled=false},onClick:function(e){var me=this;if(!me.disabled&&!me.checkChangeDisabled&&!(me.checked&&me.group)){me.setChecked(!me.checked)}this.callParent([e])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(checked,suppressEvents){var me=this;if(me.checked!==checked&&(suppressEvents||me.fireEvent("beforecheckchange",me,checked)!==false)){if(me.el){me.el[checked?"addCls":"removeCls"](me.checkedCls)[!checked?"addCls":"removeCls"](me.uncheckedCls)}me.checked=checked;Ext.menu.Manager.onCheckChange(me,checked);if(!suppressEvents){Ext.callback(me.checkHandler,me.scope,[me,checked]);me.fireEvent("checkchange",me,checked)}}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(menu){var me=this;me.menu=menu;me.callParent([menu.el,{down:me.down,enter:me.enter,esc:me.escape,left:me.left,right:me.right,space:me.enter,tab:me.tab,up:me.up}])},down:function(e){var me=this,fi=me.menu.focusedItem;if(fi&&e.getKey()==Ext.EventObject.DOWN&&me.isWhitelisted(fi)){return true}me.focusNextItem(1)},enter:function(e){var menu=this.menu;if(menu.activeItem){menu.onClick(e)}},escape:function(e){Ext.menu.Manager.hideAll()},focusNextItem:function(step){var menu=this.menu,items=menu.items,focusedItem=menu.focusedItem,startIdx=focusedItem?items.indexOf(focusedItem):-1,idx=startIdx+step;while(idx!=startIdx){if(idx<0){idx=items.length-1}else{if(idx>=items.length){idx=0}}var item=items.getAt(idx);if(menu.canActivateItem(item)){menu.setActiveItem(item);break}idx+=step}},isWhitelisted:function(item){return Ext.FocusManager.isWhitelisted(item)},left:function(e){var menu=this.menu,fi=menu.focusedItem,ai=menu.activeItem;if(fi&&this.isWhitelisted(fi)){return true}menu.hide();if(menu.parentMenu){menu.parentMenu.focus()}},right:function(e){var menu=this.menu,fi=menu.focusedItem,ai=menu.activeItem,am;if(fi&&this.isWhitelisted(fi)){return true}if(ai){am=menu.activeItem.menu;if(am){ai.expandMenu(0);Ext.defer(function(){am.setActiveItem(am.items.getAt(0))},25)}}},tab:function(e){var me=this;if(e.shiftKey){me.up(e)}else{me.down(e)}},up:function(e){var me=this,fi=me.menu.focusedItem;if(fi&&e.getKey()==Ext.EventObject.UP&&me.isWhitelisted(fi)){return true}me.focusNextItem(-1)}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:" ",onRender:function(ct,pos){var me=this,sepCls=me.separatorCls;me.cls+=" "+sepCls;Ext.applyIf(me.renderSelectors,{itemSepEl:"."+sepCls});me.callParent(arguments)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:120,initComponent:function(){var me=this,prefix=Ext.baseCSSPrefix,cls=[prefix+"menu"],bodyCls=me.bodyCls?[me.bodyCls]:[];me.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(me);if(me.plain){cls.push(prefix+"menu-plain")}me.cls=cls.join(" ");bodyCls.unshift(prefix+"menu-body");me.bodyCls=bodyCls.join(" ");me.layout={type:"vbox",align:"stretchmax",autoSize:true,clearInnerCtOnLayout:true,overflowHandler:"Scroller"};if(me.floating===false&&me.initialConfig.hidden!==true){me.hidden=false}me.callParent(arguments);me.on("beforeshow",function(){var hasItems=!!me.items.length;if(hasItems&&me.rendered){me.el.setStyle("visibility",null)}return hasItems})},afterRender:function(ct){var me=this,prefix=Ext.baseCSSPrefix,space=" ";me.callParent(arguments);if(me.showSeparator){me.iconSepEl=me.layout.getRenderTarget().insertFirst({cls:prefix+"menu-icon-separator",html:space})}me.focusEl=me.el.createChild({cls:prefix+"menu-focus",tabIndex:"-1",html:space});me.mon(me.el,{click:me.onClick,mouseover:me.onMouseOver,scope:me});me.mouseMonitor=me.el.monitorMouseLeave(100,me.onMouseLeave,me);if(me.showSeparator&&((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)){me.iconSepEl.setHeight(me.el.getHeight())}me.keyNav=Ext.create("Ext.menu.KeyNav",me)},afterLayout:function(){var me=this;me.callParent(arguments);if((!Ext.iStrict&&Ext.isIE)||Ext.isIE6){var innerCt=me.layout.getRenderTarget(),innerCtWidth=0,dis=me.dockedItems,l=dis.length,i=0,di,clone,newWidth;innerCtWidth=innerCt.getWidth();newWidth=innerCtWidth+me.body.getBorderWidth("lr")+me.body.getPadding("lr");me.body.setWidth(newWidth);for(;i=0){if(!item.menu||!me.ignoreParentClicks){item.onClick(e)}else{e.stopEvent()}}}me.fireEvent("click",me,item,e)}},onDestroy:function(){var me=this;Ext.menu.Manager.unregister(me);if(me.rendered){me.el.un(me.mouseMonitor);me.keyNav.destroy();delete me.keyNav}me.callParent(arguments)},onMouseLeave:function(e){var me=this;me.deactivateActiveItem();if(me.disabled){return}me.fireEvent("mouseleave",me,e)},onMouseOver:function(e){var me=this,fromEl=e.getRelatedTarget(),mouseEnter=!me.el.contains(fromEl),item=me.getItemFromEvent(e);if(mouseEnter&&me.parentMenu){me.parentMenu.setActiveItem(me.parentItem);me.parentMenu.mouseMonitor.mouseenter()}if(me.disabled){return}if(item){me.setActiveItem(item);if(item.activated&&item.expandMenu){item.expandMenu()}}if(mouseEnter){me.fireEvent("mouseenter",me,e)}me.fireEvent("mouseover",me,item,e)},setActiveItem:function(item){var me=this;if(item&&(item!=me.activeItem&&item!=me.focusedItem)){me.deactivateActiveItem();if(me.canActivateItem(item)){if(item.activate){item.activate();if(item.activated){me.activeItem=item;me.focusedItem=item;me.focus()}}else{item.focus();me.focusedItem=item}}item.el.scrollIntoView(me.layout.getRenderTarget())}},showBy:function(cmp,pos,off){var me=this,xy,region;if(me.floating&&cmp){me.layout.autoSize=true;me.doAutoRender();cmp=cmp.el||cmp;xy=me.el.getAlignToXY(cmp,pos||me.defaultAlign,off);if(me.floatParent){region=me.floatParent.getTargetEl().getViewRegion();xy[0]-=region.x;xy[1]-=region.y}me.showAt(xy)}return me},showAt:function(){this.callParent(arguments);if(this.floating){this.doConstrain()}},doConstrain:function(){var me=this,y=me.el.getY(),max,full,vector,returnY=y,normalY,parentEl,scrollTop,viewHeight;delete me.height;me.setSize();full=me.getHeight();if(me.floating){parentEl=Ext.fly(me.el.dom.parentNode);scrollTop=parentEl.getScroll().top;viewHeight=parentEl.getViewSize().height;normalY=y-scrollTop;max=me.maxHeight?me.maxHeight:viewHeight-normalY;if(full>viewHeight){max=viewHeight;returnY=y-normalY}else{if(maxmax&&max>0){me.layout.autoSize=false;me.setHeight(max);if(me.showSeparator){me.iconSepEl.setHeight(me.layout.getRenderTarget().dom.scrollHeight)}}vector=me.getConstrainVector(me.el.dom.parentNode);if(vector){me.setPosition(me.getPosition()[0]+vector[0])}me.el.setY(returnY)}});Ext.define("Ext.menu.ColorPicker",{extend:"Ext.menu.Menu",alias:"widget.colormenu",requires:["Ext.picker.Color"],hideOnClick:true,pickerId:null,initComponent:function(){var me=this;Ext.apply(me,{plain:true,showSeparator:false,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-color-item",id:me.pickerId,xtype:"colorpicker"},me.initialConfig)});me.callParent(arguments);me.picker=me.down("colorpicker");me.relayEvents(me.picker,["select"]);if(me.hideOnClick){me.on("select",me.hidePickerOnSelect,me)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.menu.DatePicker",{extend:"Ext.menu.Menu",alias:"widget.datemenu",requires:["Ext.picker.Date"],hideOnClick:true,pickerId:null,initComponent:function(){var me=this;Ext.apply(me,{showSeparator:false,plain:true,border:false,bodyPadding:0,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-date-item",id:me.pickerId,xtype:"datepicker"},me.initialConfig)});me.callParent(arguments);me.picker=me.down("datepicker");me.relayEvents(me.picker,["select"]);if(me.hideOnClick){me.on("select",me.hidePickerOnSelect,me)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",renderTpl:[''],stopEvent:true,initComponent:function(){var me=this;me.addEvents("click");me.type=me.type||me.id;Ext.applyIf(me.renderData,{baseCls:me.baseCls,blank:Ext.BLANK_IMAGE_URL,type:me.type});me.renderSelectors.toolEl="."+me.baseCls+"-"+me.type;me.callParent()},afterRender:function(){var me=this;me.callParent(arguments);if(me.qtip){if(Ext.isObject(me.qtip)){Ext.tip.QuickTipManager.register(Ext.apply({target:me.id},me.qtip))}else{me.toolEl.dom.qtip=me.qtip}}me.mon(me.toolEl,{click:me.onClick,mousedown:me.onMouseDown,mouseover:me.onMouseOver,mouseout:me.onMouseOut,scope:me})},setType:function(type){var me=this;me.type=type;if(me.rendered){me.toolEl.dom.className=me.baseCls+"-"+type}return me},bindTo:function(component){this.owner=component},onClick:function(e,target){var me=this,owner;if(me.disabled){return false}owner=me.owner||me.ownerCt;me.el.removeCls(me.toolPressedCls);me.el.removeCls(me.toolOverCls);if(me.stopEvent!==false){e.stopEvent()}Ext.callback(me.handler,me.scope||me,[e,target,owner,me]);me.fireEvent("click",me,e);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.resizer.Handle",{extend:"Ext.Component",handleCls:"",baseHandleCls:Ext.baseCSSPrefix+"resizable-handle",region:"",onRender:function(){this.addCls(this.baseHandleCls,this.baseHandleCls+"-"+this.region,this.handleCls);this.callParent(arguments);this.el.unselectable()}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",proxyCls:Ext.baseCSSPrefix+"resizable-proxy",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(config){var me=this,target,tag,handles=me.handles,handleCls,possibles,len,i=0,pos;this.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(config)||Ext.isElement(config)||config.dom){target=config;config=arguments[1]||{};config.target=target}me.mixins.observable.constructor.call(me,config);target=me.target;if(target){if(target.isComponent){me.el=target.getEl();if(target.minWidth){me.minWidth=target.minWidth}if(target.minHeight){me.minHeight=target.minHeight}if(target.maxWidth){me.maxWidth=target.maxWidth}if(target.maxHeight){me.maxHeight=target.maxHeight}if(target.floating){if(!this.hasOwnProperty("handles")){this.handles="n ne e se s sw w nw"}}}else{me.el=me.target=Ext.get(target)}}else{me.target=me.el=Ext.get(me.el)}tag=me.el.dom.tagName;if(tag=="TEXTAREA"||tag=="IMG"){me.originalTarget=me.target;me.target=me.el=me.el.wrap({cls:me.wrapCls,id:me.el.id+"-rzwrap"});me.el.setPositioning(me.originalTarget.getPositioning());me.originalTarget.clearPositioning();var box=me.originalTarget.getBox();me.el.setBox(box)}me.el.position();if(me.pinned){me.el.addCls(me.pinnedCls)}me.resizeTracker=Ext.create("Ext.resizer.ResizeTracker",{disabled:me.disabled,target:me.target,constrainTo:me.constrainTo,overCls:me.overCls,throttle:me.throttle,originalTarget:me.originalTarget,delegate:"."+me.handleCls,dynamic:me.dynamic,preserveRatio:me.preserveRatio,heightIncrement:me.heightIncrement,widthIncrement:me.widthIncrement,minHeight:me.minHeight,maxHeight:me.maxHeight,minWidth:me.minWidth,maxWidth:me.maxWidth});me.resizeTracker.on("mousedown",me.onBeforeResize,me);me.resizeTracker.on("drag",me.onResize,me);me.resizeTracker.on("dragend",me.onResizeEnd,me);if(me.handles=="all"){me.handles="n s e w ne nw se sw"}handles=me.handles=me.handles.split(/ |\s*?[,;]\s*?/);possibles=me.possiblePositions;len=handles.length;handleCls=me.handleCls+" "+(this.target.isComponent?(me.target.baseCls+"-handle "):"")+me.handleCls+"-";for(;iwidthRatio){me.minWidth=me.el.getWidth()*heightRatio}else{me.minHeight=me.el.getHeight()*widthRatio}}if(me.throttle){var throttledResizeFn=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(me,arguments)},me.throttle);me.resize=function(box,direction,atEnd){if(atEnd){Ext.resizer.ResizeTracker.prototype.resize.apply(me,arguments)}else{throttledResizeFn.apply(null,arguments)}}}},onBeforeStart:function(e){this.startBox=this.el.getBox()},getDynamicTarget:function(){var d=this.target;if(this.dynamic){return d}else{if(!this.proxy){this.proxy=d.isComponent?d.getProxy().addCls(Ext.baseCSSPrefix+"resizable-proxy"):d.createProxy({tag:"div",cls:Ext.baseCSSPrefix+"resizable-proxy",id:d.id+"-rzproxy"},Ext.getBody());this.proxy.removeCls(Ext.baseCSSPrefix+"proxy-el")}}this.proxy.show();return this.proxy},onStart:function(e){this.activeResizeHandle=Ext.getCmp(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(e){if(this.dynamic||this.proxy){this.updateDimensions(e)}},updateDimensions:function(e,atEnd){var me=this,region=me.activeResizeHandle.region,offset=me.getOffset(me.constrainTo?"dragTarget":null),box=me.startBox,ratio,widthAdjust=0,heightAdjust=0,snappedWidth,snappedHeight,adjustX=0,adjustY=0,dragRatio,horizDir=offset[0]<0?"right":"left",vertDir=offset[1]<0?"down":"up",oppositeCorner,axis;switch(region){case"south":heightAdjust=offset[1];axis=2;break;case"north":heightAdjust=-offset[1];adjustY=-heightAdjust;axis=2;break;case"east":widthAdjust=offset[0];axis=1;break;case"west":widthAdjust=-offset[0];adjustX=-widthAdjust;axis=1;break;case"northeast":heightAdjust=-offset[1];adjustY=-heightAdjust;widthAdjust=offset[0];oppositeCorner=[box.x,box.y+box.height];axis=3;break;case"southeast":heightAdjust=offset[1];widthAdjust=offset[0];oppositeCorner=[box.x,box.y];axis=3;break;case"southwest":widthAdjust=-offset[0];adjustX=-widthAdjust;heightAdjust=offset[1];oppositeCorner=[box.x+box.width,box.y];axis=3;break;case"northwest":heightAdjust=-offset[1];adjustY=-heightAdjust;widthAdjust=-offset[0];adjustX=-widthAdjust;oppositeCorner=[box.x+box.width,box.y+box.height];axis=3;break}var newBox={width:box.width+widthAdjust,height:box.height+heightAdjust,x:box.x+adjustX,y:box.y+adjustY};snappedWidth=Ext.Number.snap(newBox.width,me.widthIncrement);snappedHeight=Ext.Number.snap(newBox.height,me.heightIncrement);if(snappedWidth!=newBox.width||snappedHeight!=newBox.height){switch(region){case"northeast":newBox.y-=snappedHeight-newBox.height;break;case"north":newBox.y-=snappedHeight-newBox.height;break;case"southwest":newBox.x-=snappedWidth-newBox.width;break;case"west":newBox.x-=snappedWidth-newBox.width;break;case"northwest":newBox.x-=snappedWidth-newBox.width;newBox.y-=snappedHeight-newBox.height}newBox.width=snappedWidth;newBox.height=snappedHeight}if(newBox.widthme.maxWidth){newBox.width=Ext.Number.constrain(newBox.width,me.minWidth,me.maxWidth);if(adjustX){newBox.x=box.x+(box.width-newBox.width)}}else{me.lastX=newBox.x}if(newBox.heightme.maxHeight){newBox.height=Ext.Number.constrain(newBox.height,me.minHeight,me.maxHeight);if(adjustY){newBox.y=box.y+(box.height-newBox.height)}}else{me.lastY=newBox.y}if(me.preserveRatio||e.shiftKey){var newHeight,newWidth;ratio=me.startBox.width/me.startBox.height;newHeight=Math.min(Math.max(me.minHeight,newBox.width/ratio),me.maxHeight);newWidth=Math.min(Math.max(me.minWidth,newBox.height*ratio),me.maxWidth);if(axis==1){newBox.height=newHeight}else{if(axis==2){newBox.width=newWidth}else{dragRatio=Math.abs(oppositeCorner[0]-this.lastXY[0])/Math.abs(oppositeCorner[1]-this.lastXY[1]);if(dragRatio>ratio){newBox.height=newHeight}else{newBox.width=newWidth}if(region=="northeast"){newBox.y=box.y-(newBox.height-box.height)}else{if(region=="northwest"){newBox.y=box.y-(newBox.height-box.height);newBox.x=box.x-(newBox.width-box.width)}else{if(region=="southwest"){newBox.x=box.x-(newBox.width-box.width)}}}}}}if(heightAdjust===0){vertDir="none"}if(widthAdjust===0){horizDir="none"}me.resize(newBox,{horizontal:horizDir,vertical:vertDir},atEnd)},getResizeTarget:function(atEnd){return atEnd?this.target:this.getDynamicTarget()},resize:function(box,direction,atEnd){var target=this.getResizeTarget(atEnd);if(target.isComponent){if(target.floating){target.setPagePosition(box.x,box.y)}target.setSize(box.width,box.height)}else{target.setBox(box);if(this.originalTarget){this.originalTarget.setBox(box)}}},onEnd:function(e){this.updateDimensions(e,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",getPrevCmp:function(){var splitter=this.getSplitter();return splitter.previousSibling()},getNextCmp:function(){var splitter=this.getSplitter();return splitter.nextSibling()},onBeforeStart:function(e){var me=this,prevCmp=me.getPrevCmp(),nextCmp=me.getNextCmp(),collapseEl=me.getSplitter().collapseEl,overlay;if(collapseEl&&(e.getTarget()===me.getSplitter().collapseEl.dom)){return false}if(nextCmp.collapsed||prevCmp.collapsed){return false}overlay=me.overlay=Ext.getBody().createChild({cls:me.overlayCls,html:" "});overlay.unselectable();overlay.setSize(Ext.core.Element.getViewWidth(true),Ext.core.Element.getViewHeight(true));overlay.show();me.prevBox=prevCmp.getEl().getBox();me.nextBox=nextCmp.getEl().getBox();me.constrainTo=me.calculateConstrainRegion()},onStart:function(e){var splitter=this.getSplitter();splitter.addCls(splitter.baseCls+"-active")},calculateConstrainRegion:function(){var me=this,splitter=me.getSplitter(),splitWidth=splitter.getWidth(),defaultMin=splitter.defaultSplitMin,orient=splitter.orientation,prevBox=me.prevBox,prevCmp=me.getPrevCmp(),nextBox=me.nextBox,nextCmp=me.getNextCmp(),prevConstrainRegion,nextConstrainRegion;if(orient==="vertical"){prevConstrainRegion=Ext.create("Ext.util.Region",prevBox.y,(prevCmp.maxWidth?prevBox.x+prevCmp.maxWidth:nextBox.right-(nextCmp.minWidth||defaultMin))+splitWidth,prevBox.bottom,prevBox.x+(prevCmp.minWidth||defaultMin));nextConstrainRegion=Ext.create("Ext.util.Region",nextBox.y,nextBox.right-(nextCmp.minWidth||defaultMin),nextBox.bottom,(nextCmp.maxWidth?nextBox.right-nextCmp.maxWidth:prevBox.x+(prevBox.minWidth||defaultMin))-splitWidth)}else{prevConstrainRegion=Ext.create("Ext.util.Region",prevBox.y+(prevCmp.minHeight||defaultMin),prevBox.right,(prevCmp.maxHeight?prevBox.y+prevCmp.maxHeight:nextBox.bottom-(nextCmp.minHeight||defaultMin))+splitWidth,prevBox.x);nextConstrainRegion=Ext.create("Ext.util.Region",(nextCmp.maxHeight?nextBox.bottom-nextCmp.maxHeight:prevBox.y+(prevCmp.minHeight||defaultMin))-splitWidth,nextBox.right,nextBox.bottom-(nextCmp.minHeight||defaultMin),nextBox.x)}return prevConstrainRegion.intersect(nextConstrainRegion)},performResize:function(e){var me=this,offset=me.getOffset("dragTarget"),splitter=me.getSplitter(),orient=splitter.orientation,prevCmp=me.getPrevCmp(),nextCmp=me.getNextCmp(),owner=splitter.ownerCt,layout=owner.getLayout();owner.suspendLayout=true;if(orient==="vertical"){if(prevCmp){if(!prevCmp.maintainFlex){delete prevCmp.flex;prevCmp.setSize(me.prevBox.width+offset[0],prevCmp.getHeight())}}if(nextCmp){if(!nextCmp.maintainFlex){delete nextCmp.flex;nextCmp.setSize(me.nextBox.width-offset[0],nextCmp.getHeight())}}}else{if(prevCmp){if(!prevCmp.maintainFlex){delete prevCmp.flex;prevCmp.setSize(prevCmp.getWidth(),me.prevBox.height+offset[1])}}if(nextCmp){if(!nextCmp.maintainFlex){delete nextCmp.flex;nextCmp.setSize(prevCmp.getWidth(),me.nextBox.height-offset[1])}}}delete owner.suspendLayout;layout.onLayout()},endDrag:function(){var me=this;if(me.overlay){me.overlay.remove();delete me.overlay}me.callParent(arguments)},onEnd:function(e){var me=this,splitter=me.getSplitter();splitter.removeCls(splitter.baseCls+"-active");me.performResize()},onDrag:function(e){var me=this,offset=me.getOffset("dragTarget"),splitter=me.getSplitter(),splitEl=splitter.getEl(),orient=splitter.orientation;if(orient==="vertical"){splitEl.setX(me.startRegion.left+offset[0])}else{splitEl.setY(me.startRegion.top+offset[1])}},getSplitter:function(){return Ext.getCmp(this.getDragCt().id)}});Ext.define("Ext.selection.CellModel",{extend:"Ext.selection.Model",alias:"selection.cellmodel",requires:["Ext.util.KeyNav"],enableKeyNav:true,preventWrap:false,constructor:function(){this.addEvents("deselect","select");this.callParent(arguments)},bindComponent:function(view){var me=this;me.primaryView=view;me.views=me.views||[];me.views.push(view);me.bind(view.getStore(),true);view.on({cellmousedown:me.onMouseDown,refresh:me.onViewRefresh,scope:me});if(me.enableKeyNav){me.initKeyNav(view)}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on("render",Ext.Function.bind(me.initKeyNav,me,[view],0),me,{single:true});return}view.el.set({tabIndex:-1});me.keyNav=Ext.create("Ext.util.KeyNav",view.el,{up:me.onKeyUp,down:me.onKeyDown,right:me.onKeyRight,left:me.onKeyLeft,tab:me.onKeyTab,scope:me})},getHeaderCt:function(){return this.primaryView.headerCt},onKeyUp:function(e,t){this.move("up",e)},onKeyDown:function(e,t){this.move("down",e)},onKeyLeft:function(e,t){this.move("left",e)},onKeyRight:function(e,t){this.move("right",e)},move:function(dir,e){var me=this,pos=me.primaryView.walkCells(me.getCurrentPosition(),dir,e,me.preventWrap);if(pos){me.setCurrentPosition(pos)}return pos},getCurrentPosition:function(){return this.position},setCurrentPosition:function(pos){var me=this;if(me.position){me.onCellDeselect(me.position)}if(pos){me.onCellSelect(pos)}me.position=pos},onMouseDown:function(view,cell,cellIndex,record,row,rowIndex,e){this.setCurrentPosition({row:rowIndex,column:cellIndex})},onCellSelect:function(position){var me=this,store=me.view.getStore(),record=store.getAt(position.row);me.doSelect(record);me.primaryView.onCellSelect(position);me.primaryView.onCellFocus(position);me.fireEvent("select",me,record,position.row,position.column)},onCellDeselect:function(position){var me=this,store=me.view.getStore(),record=store.getAt(position.row);me.doDeselect(record);me.primaryView.onCellDeselect(position);me.fireEvent("deselect",me,record,position.row,position.column)},onKeyTab:function(e,t){var me=this,direction=e.shiftKey?"left":"right",editingPlugin=me.view.editingPlugin,position=me.move(direction,e);if(editingPlugin&&position&&me.wasEditing){editingPlugin.startEditByPosition(position)}delete me.wasEditing},onEditorTab:function(editingPlugin,e){var me=this,direction=e.shiftKey?"left":"right",position=me.move(direction,e);if(position){editingPlugin.startEditByPosition(position);me.wasEditing=true}},refresh:function(){var pos=this.getCurrentPosition();if(pos){this.onCellSelect(pos)}},onViewRefresh:function(){var pos=this.getCurrentPosition();if(pos){this.onCellDeselect(pos);this.setCurrentPosition(null)}},selectByPosition:function(position){this.setCurrentPosition(position)}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(view){var me=this;me.views=me.views||[];me.views.push(view);me.bind(view.getStore(),true);view.on({itemmousedown:me.onRowMouseDown,scope:me});if(me.enableKeyNav){me.initKeyNav(view)}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on("render",Ext.Function.bind(me.initKeyNav,me,[view],0),me,{single:true});return}view.el.set({tabIndex:-1});me.keyNav=new Ext.util.KeyNav(view.el,{up:me.onKeyUp,down:me.onKeyDown,right:me.onKeyRight,left:me.onKeyLeft,pageDown:me.onKeyPageDown,pageUp:me.onKeyPageUp,home:me.onKeyHome,end:me.onKeyEnd,scope:me});view.el.on(Ext.EventManager.getKeyEvent(),me.onKeyPress,me)},getRowsVisible:function(){var rowsVisible=false,view=this.views[0],row=view.getNode(0),rowHeight,gridViewHeight;if(row){rowHeight=Ext.fly(row).getHeight();gridViewHeight=view.el.getHeight();rowsVisible=Math.floor(gridViewHeight/rowHeight)}return rowsVisible},onKeyEnd:function(e,t){var me=this,last=me.store.getAt(me.store.getCount()-1);if(last){if(e.shiftKey){me.selectRange(last,me.lastFocused||0);me.setLastFocused(last)}else{if(e.ctrlKey){me.setLastFocused(last)}else{me.doSelect(last)}}}},onKeyHome:function(e,t){var me=this,first=me.store.getAt(0);if(first){if(e.shiftKey){me.selectRange(first,me.lastFocused||0);me.setLastFocused(first)}else{if(e.ctrlKey){me.setLastFocused(first)}else{me.doSelect(first,false)}}}},onKeyPageUp:function(e,t){var me=this,rowsVisible=me.getRowsVisible(),selIdx,prevIdx,prevRecord,currRec;if(rowsVisible){selIdx=me.lastFocused?me.store.indexOf(me.lastFocused):0;prevIdx=selIdx-rowsVisible;if(prevIdx<0){prevIdx=0}prevRecord=me.store.getAt(prevIdx);if(e.shiftKey){currRec=me.store.getAt(selIdx);me.selectRange(prevRecord,currRec,e.ctrlKey,"up");me.setLastFocused(prevRecord)}else{if(e.ctrlKey){e.preventDefault();me.setLastFocused(prevRecord)}else{me.doSelect(prevRecord)}}}},onKeyPageDown:function(e,t){var me=this,rowsVisible=me.getRowsVisible(),selIdx,nextIdx,nextRecord,currRec;if(rowsVisible){selIdx=me.lastFocused?me.store.indexOf(me.lastFocused):0;nextIdx=selIdx+rowsVisible;if(nextIdx>=me.store.getCount()){nextIdx=me.store.getCount()-1}nextRecord=me.store.getAt(nextIdx);if(e.shiftKey){currRec=me.store.getAt(selIdx);me.selectRange(nextRecord,currRec,e.ctrlKey,"down");me.setLastFocused(nextRecord)}else{if(e.ctrlKey){e.preventDefault();me.setLastFocused(nextRecord)}else{me.doSelect(nextRecord)}}}},onKeyPress:function(e,t){if(e.getKey()===e.SPACE){e.stopEvent();var me=this,record=me.lastFocused;if(record){if(me.isSelected(record)){me.doDeselect(record,false)}else{me.doSelect(record,true)}}}},onKeyUp:function(e,t){var me=this,view=me.views[0],idx=me.store.indexOf(me.lastFocused),record;if(idx>0){record=me.store.getAt(idx-1);if(e.shiftKey&&me.lastFocused){if(me.isSelected(me.lastFocused)&&me.isSelected(record)){me.doDeselect(me.lastFocused,true);me.setLastFocused(record)}else{if(!me.isSelected(me.lastFocused)){me.doSelect(me.lastFocused,true);me.doSelect(record,true)}else{me.doSelect(record,true)}}}else{if(e.ctrlKey){me.setLastFocused(record)}else{me.doSelect(record)}}}},onKeyDown:function(e,t){var me=this,view=me.views[0],idx=me.store.indexOf(me.lastFocused),record;if(idx+1 '},onRowMouseDown:function(view,record,item,index,e){view.el.focus();var me=this,checker=e.getTarget("."+Ext.baseCSSPrefix+"grid-row-checker");if(me.checkOnly&&!checker){return}if(checker){var mode=me.getSelectionMode();if(mode!=="SINGLE"){me.setSelectionMode("SIMPLE")}me.selectWithEvent(record,e);me.setSelectionMode(mode)}else{me.selectWithEvent(record,e)}},onSelectChange:function(){this.callParent(arguments);var hdSelectStatus=this.selected.getCount()===this.store.getCount();this.toggleUiHeader(hdSelectStatus)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(e,t){var focused=this.getLastFocused(),view=this.view;if(focused){if(focused.isExpanded()){this.onKeyDown(e,t)}else{if(!focused.isLeaf()){view.expand(focused)}}}},onKeyLeft:function(e,t){var focused=this.getLastFocused(),view=this.view,viewSm=view.getSelectionModel(),parentNode,parentRecord;if(focused){parentNode=focused.parentNode;if(focused.isExpanded()){view.collapse(focused)}else{if(parentNode&&!parentNode.isRoot()){if(e.shiftKey){viewSm.selectRange(parentNode,focused,e.ctrlKey,"up");viewSm.setLastFocused(parentNode)}else{if(e.ctrlKey){viewSm.setLastFocused(parentNode)}else{viewSm.select(parentNode)}}}}}},onKeyPress:function(e,t){var selected,checked;if(e.getKey()===e.SPACE||e.getKey()===e.ENTER){e.stopEvent();selected=this.getLastSelected();if(selected&&selected.isLeaf()){checked=selected.get("checked");if(Ext.isBoolean(checked)){selected.set("checked",!checked)}}}else{this.callParent(arguments)}}});Ext.define("Ext.slider.Thumb",{requires:["Ext.dd.DragTracker","Ext.util.Format"],topZIndex:10000,constructor:function(config){var me=this;Ext.apply(me,config||{},{cls:Ext.baseCSSPrefix+"slider-thumb",constrain:false});me.callParent([config]);if(me.slider.vertical){Ext.apply(me,Ext.slider.Thumb.Vertical)}},render:function(){var me=this;me.el=me.slider.innerEl.insertFirst({cls:me.cls});if(me.disabled){me.disable()}me.initEvents()},move:function(v,animate){if(!animate){this.el.setLeft(v)}else{Ext.create("Ext.fx.Anim",{target:this.el,duration:350,to:{left:v}})}},bringToFront:function(){this.el.setStyle("zIndex",this.topZIndex)},sendToBack:function(){this.el.setStyle("zIndex","")},enable:function(){var me=this;me.disabled=false;if(me.el){me.el.removeCls(me.slider.disabledCls)}},disable:function(){var me=this;me.disabled=true;if(me.el){me.el.addCls(me.slider.disabledCls)}},initEvents:function(){var me=this,el=me.el;me.tracker=Ext.create("Ext.dd.DragTracker",{onBeforeStart:Ext.Function.bind(me.onBeforeDragStart,me),onStart:Ext.Function.bind(me.onDragStart,me),onDrag:Ext.Function.bind(me.onDrag,me),onEnd:Ext.Function.bind(me.onDragEnd,me),tolerance:3,autoStart:300,overCls:Ext.baseCSSPrefix+"slider-thumb-over"});me.tracker.initEl(el)},onBeforeDragStart:function(e){if(this.disabled){return false}else{this.slider.promoteThumb(this);return true}},onDragStart:function(e){var me=this;me.el.addCls(Ext.baseCSSPrefix+"slider-thumb-drag");me.dragging=true;me.dragStartValue=me.value;me.slider.fireEvent("dragstart",me.slider,e,me)},onDrag:function(e){var me=this,slider=me.slider,index=me.index,newValue=me.getNewValue(),above,below;if(me.constrain){above=slider.thumbs[index+1];below=slider.thumbs[index-1];if(below!==undefined&&newValue<=below.value){newValue=below.value}if(above!==undefined&&newValue>=above.value){newValue=above.value}}slider.setValue(index,newValue,false);slider.fireEvent("drag",slider,e,me)},getNewValue:function(){var slider=this.slider,pos=slider.innerEl.translatePoints(this.tracker.getXY());return Ext.util.Format.round(slider.reverseValue(pos.left),slider.decimalPrecision)},onDragEnd:function(e){var me=this,slider=me.slider,value=me.value;me.el.removeCls(Ext.baseCSSPrefix+"slider-thumb-drag");me.dragging=false;slider.fireEvent("dragend",slider,e);if(me.dragStartValue!=value){slider.fireEvent("changecomplete",slider,value,me)}},destroy:function(){Ext.destroy(this.tracker)},statics:{Vertical:{getNewValue:function(){var slider=this.slider,innerEl=slider.innerEl,pos=innerEl.translatePoints(this.tracker.getXY()),bottom=innerEl.getHeight()-pos.top;return Ext.util.Format.round(slider.reverseValue(bottom),slider.decimalPrecision)},move:function(v,animate){if(!animate){this.el.setBottom(v)}else{Ext.create("Ext.fx.Anim",{target:this.el,duration:350,to:{bottom:v}})}}}}});Ext.define("Ext.slider.Tip",{extend:"Ext.tip.Tip",minWidth:10,alias:"widget.slidertip",offsets:[0,-10],isSliderTip:true,init:function(slider){var me=this;slider.on({scope:me,dragstart:me.onSlide,drag:me.onSlide,dragend:me.hide,destroy:me.destroy})},onSlide:function(slider,e,thumb){var me=this;me.show();me.update(me.getText(thumb));me.doComponentLayout();me.el.alignTo(thumb.el,"b-t?",me.offsets)},getText:function(thumb){return String(thumb.value)}});Ext.define("Ext.slider.Multi",{extend:"Ext.form.field.Base",alias:"widget.multislider",alternateClassName:"Ext.slider.MultiSlider",requires:["Ext.slider.Thumb","Ext.slider.Tip","Ext.Number","Ext.util.Format","Ext.Template","Ext.layout.component.field.Slider"],fieldSubTpl:['
    ','","
    ",{disableFormats:true,compiled:true}],vertical:false,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,dragging:false,constrainThumbs:true,componentLayout:"sliderfield",useTips:true,tipText:null,ariaRole:"slider",initValue:function(){var me=this,extValue=Ext.value,values=extValue(me.values,[extValue(me.value,extValue(me.minValue,0))]),i=0,len=values.length;me.originalValue=values;for(;ime.clickRange[0]&&local.topval?val:t.value}me.syncThumbs()},setValue:function(index,value,animate,changeComplete){var me=this,thumb=me.thumbs[index];value=me.normalizeValue(value);if(value!==thumb.value&&me.fireEvent("beforechange",me,value,thumb.value,thumb)!==false){thumb.value=value;if(me.rendered){me.inputEl.set({"aria-valuenow":value,"aria-valuetext":value});thumb.move(me.translateValue(value),Ext.isDefined(animate)?animate!==false:me.animate);me.fireEvent("change",me,value,thumb);if(changeComplete){me.fireEvent("changecomplete",me,value,thumb)}}}},translateValue:function(v){var ratio=this.getRatio();return(v*ratio)-(this.minValue*ratio)-this.halfThumb},reverseValue:function(pos){var ratio=this.getRatio();return(pos+(this.minValue*ratio))/ratio},focus:function(){this.focusEl.focus(10)},onDisable:function(){var me=this,i=0,thumbs=me.thumbs,len=thumbs.length,thumb,el,xy;me.callParent();for(;ime.clickRange[0]&&local.left {baseCls}-body-{ui} {parent.baseCls}-body-{parent.ui}-{.}" style="{bodyStyle}">','
    {baseCls}-strip-{ui} {parent.baseCls}-strip-{parent.ui}-{.}">
    '],minTabWidth:30,maxTabWidth:undefined,initComponent:function(){var me=this,keys;if(me.plain){me.setUI(me.ui+"-plain")}me.addClsWithUI(me.dock);me.addEvents("change");Ext.applyIf(me.renderSelectors,{body:"."+me.baseCls+"-body",strip:"."+me.baseCls+"-strip"});me.callParent(arguments);me.layout.align=(me.orientation=="vertical")?"left":"top";me.layout.overflowHandler=Ext.create("Ext.layout.container.boxOverflow.Scroller",me.layout);me.items.removeAt(me.items.getCount()-1);me.items.removeAt(me.items.getCount()-1);keys=me.orientation=="vertical"?["up","down"]:["left","right"];Ext.FocusManager.subscribe(me,{keys:keys})},onAdd:function(tab){var me=this,tabPanel=me.tabPanel,hasOwner=!!tabPanel;me.callParent(arguments);tab.position=me.dock;if(hasOwner){tab.minWidth=tabPanel.minTabWidth}else{tab.minWidth=me.minTabWidth+(tab.iconCls?25:0)}tab.maxWidth=me.maxTabWidth||(hasOwner?tabPanel.maxTabWidth:undefined)},afterRender:function(){var me=this;me.mon(me.el,{scope:me,click:me.onClick,delegate:"."+Ext.baseCSSPrefix+"tab"});me.callParent(arguments)},afterComponentLayout:function(){var me=this;me.callParent(arguments);me.strip.setWidth(me.el.getWidth())},onClick:function(e,target){var tab=Ext.getCmp(target.id),tabPanel=this.tabPanel,allowActive=true;target=e.getTarget();if(tab&&tab.isDisabled&&!tab.isDisabled()){if(tab.closable&&target===tab.closeEl.dom){tab.onCloseClick()}else{if(tabPanel){tabPanel.setActiveTab(tab.card)}else{this.setActiveTab(tab)}tab.focus()}}},closeTab:function(tab){var me=this,card=tab.card,tabPanel=me.tabPanel,nextTab;if(card&&card.fireEvent("beforeclose",card)===false){return false}if(tab.active&&me.items.getCount()>1){nextTab=tab.next("tab")||me.items.items[0];me.setActiveTab(nextTab);if(tabPanel){tabPanel.setActiveTab(nextTab.card)}}tab.fireClose();me.remove(tab);if(tabPanel&&card){card.fireEvent("close",card);tabPanel.remove(card)}if(nextTab){nextTab.focus()}},setActiveTab:function(tab){if(tab.disabled){return}var me=this;if(me.activeTab){me.activeTab.deactivate()}tab.activate();if(me.rendered){me.layout.layout();tab.el.scrollIntoView(me.layout.getRenderTarget())}me.activeTab=tab;me.fireEvent("change",me,tab,tab.card)}});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:"x-tabpanel-child",deferredRender:true,initComponent:function(){var me=this,dockedItems=me.dockedItems||[],activeTab=me.activeTab||0;me.layout=Ext.create("Ext.layout.container.Card",Ext.apply({owner:me,deferredRender:me.deferredRender,itemCls:me.itemCls},me.layout));me.tabBar=Ext.create("Ext.tab.Bar",Ext.apply({},me.tabBar,{dock:me.tabPosition,plain:me.plain,border:me.border,cardLayout:me.layout,tabPanel:me}));if(dockedItems&&!Ext.isArray(dockedItems)){dockedItems=[dockedItems]}dockedItems.push(me.tabBar);me.dockedItems=dockedItems;me.addEvents("beforetabchange","tabchange");me.callParent(arguments);me.setActiveTab(activeTab);me.on("afterlayout",me.afterInitialLayout,me,{single:true})},afterInitialLayout:function(){var me=this,card=me.getComponent(me.activeTab);if(card){me.layout.setActiveItem(card)}},setActiveTab:function(card){var me=this,previous;card=me.getComponent(card);if(card){previous=me.getActiveTab();if(previous&&previous!==card&&me.fireEvent("beforetabchange",me,card,previous)===false){return false}me.tabBar.setActiveTab(card.tab);me.activeTab=card;if(me.rendered){me.layout.setActiveItem(card)}if(previous&&previous!==card){me.fireEvent("tabchange",me,card,previous)}}},getActiveTab:function(){return this.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(item,index){var me=this,cfg=item.tabConfig||{},defaultConfig={xtype:"tab",card:item,disabled:item.disabled,closable:item.closable,hidden:item.hidden,tabBar:me.tabBar};if(item.closeText){defaultConfig.closeText=item.closeText}cfg=Ext.applyIf(cfg,defaultConfig);item.tab=me.tabBar.insert(index,cfg);item.on({scope:me,enable:me.onItemEnable,disable:me.onItemDisable,beforeshow:me.onItemBeforeShow,iconchange:me.onItemIconChange,titlechange:me.onItemTitleChange});if(item.isPanel){if(me.removePanelHeader){item.preventHeader=true;if(item.rendered){item.updateHeader()}}if(item.isPanel&&me.border){item.setBorder(false)}}if(this.rendered&&me.items.getCount()===1){me.setActiveTab(0)}},onItemEnable:function(item){item.tab.enable()},onItemDisable:function(item){item.tab.disable()},onItemBeforeShow:function(item){if(item!==this.activeTab){this.setActiveTab(item);return false}},onItemIconChange:function(item,newIconCls){item.tab.setIconCls(newIconCls);this.getTabBar().doLayout()},onItemTitleChange:function(item,newTitle){item.tab.setText(newTitle);this.getTabBar().doLayout()},doRemove:function(item,autoDestroy){var me=this,items=me.items,hasItemsLeft=items.getCount()>1;if(me.destroying||!hasItemsLeft){me.activeTab=null}else{if(item===me.activeTab){me.setActiveTab(item.next()||items.getAt(0))}}me.callParent(arguments);delete item.tab.card;delete item.tab},onRemove:function(item,autoDestroy){var me=this;item.un({scope:me,enable:me.onItemEnable,disable:me.onItemDisable,beforeshow:me.onItemBeforeShow});if(!me.destroying&&item.tab.ownerCt==me.tabBar){me.tabBar.remove(item.tab)}}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",initComponent:function(){var origRenderer=this.renderer||this.defaultRenderer,origScope=this.scope||window;this.renderer=function(value,metaData,record,rowIdx,colIdx,store,view){var buf=[],format=Ext.String.format,depth=record.getDepth(),treePrefix=Ext.baseCSSPrefix+"tree-",elbowPrefix=treePrefix+"elbow-",expanderCls=treePrefix+"expander",imgText='',checkboxText='',formattedValue=origRenderer.apply(origScope,arguments),href=record.get("href"),target=record.get("hrefTarget"),cls=record.get("cls");while(record){if(!record.isRoot()||(record.isRoot()&&view.rootVisible)){if(record.getDepth()===depth){buf.unshift(format(imgText,treePrefix+"icon "+treePrefix+"icon"+(record.get("icon")?"-inline ":(record.isLeaf()?"-leaf ":"-parent "))+(record.get("iconCls")||""),record.get("icon")||Ext.BLANK_IMAGE_URL));if(record.get("checked")!==null){buf.unshift(format(checkboxText,(treePrefix+"checkbox")+(record.get("checked")?" "+treePrefix+"checkbox-checked":""),record.get("checked")?'aria-checked="true"':""));if(record.get("checked")){metaData.tdCls+=(" "+Ext.baseCSSPrefix+"tree-checked")}}if(record.isLast()){if(record.isExpandable()){buf.unshift(format(imgText,(elbowPrefix+"end-plus "+expanderCls),Ext.BLANK_IMAGE_URL))}else{buf.unshift(format(imgText,(elbowPrefix+"end"),Ext.BLANK_IMAGE_URL))}}else{if(record.isExpandable()){buf.unshift(format(imgText,(elbowPrefix+"plus "+expanderCls),Ext.BLANK_IMAGE_URL))}else{buf.unshift(format(imgText,(treePrefix+"elbow"),Ext.BLANK_IMAGE_URL))}}}else{if(record.isLast()||record.getDepth()===0){buf.unshift(format(imgText,(elbowPrefix+"empty"),Ext.BLANK_IMAGE_URL))}else{if(record.getDepth()!==0){buf.unshift(format(imgText,(elbowPrefix+"line"),Ext.BLANK_IMAGE_URL))}}}}record=record.parentNode}if(href){formattedValue=format('{2}',href,target,formattedValue)}if(cls){metaData.tdCls+=" "+cls}return buf.join("")+formattedValue};this.callParent(arguments)},defaultRenderer:function(value){return value}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",blockRefresh:true,rootVisible:true,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,initComponent:function(){var me=this;if(me.initialConfig.animate===undefined){me.animate=Ext.enableFx}me.store=Ext.create("Ext.data.NodeStore",{recursive:true,rootVisible:me.rootVisible,listeners:{beforeexpand:me.onBeforeExpand,expand:me.onExpand,beforecollapse:me.onBeforeCollapse,collapse:me.onCollapse,scope:me}});if(me.node){me.setRootNode(me.node)}me.animQueue={};me.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(node){var me=this;me.store.setNode(node);me.node=node;if(!me.rootVisible){node.expand()}},onRender:function(){var me=this,opts={delegate:me.expanderSelector},el;me.callParent(arguments);el=me.el;el.on({scope:me,delegate:me.expanderSelector,mouseover:me.onExpanderMouseOver,mouseout:me.onExpanderMouseOut});el.on({scope:me,delegate:me.checkboxSelector,click:me.onCheckboxChange})},onCheckboxChange:function(e,t){var item=e.getTarget(this.getItemSelector(),this.getTargetEl()),record,value;if(item){record=this.getRecord(item);value=!record.get("checked");record.set("checked",value);this.fireEvent("checkchange",record,value)}},getChecked:function(){var checked=[];this.node.cascadeBy(function(rec){if(rec.get("checked")){checked.push(rec)}});return checked},isItemChecked:function(rec){return rec.get("checked")},createAnimWrap:function(record,index){var thHtml="",headerCt=this.panel.headerCt,headers=headerCt.getGridColumns(),i=0,len=headers.length,item,node=this.getNode(record),tmpEl,nodeEl;for(;i'}nodeEl=Ext.get(node);tmpEl=nodeEl.insertSibling({tag:"tr",html:['','
    ','',thHtml,"
    ","
    ",""].join("")},"after");return{record:record,node:node,el:tmpEl,expanding:false,collapsing:false,animating:false,animateEl:tmpEl.down("div"),targetEl:tmpEl.down("tbody")}},getAnimWrap:function(parent){if(!this.animate){return null}while(parent){if(parent.animWrap){return parent.animWrap}parent=parent.parentNode}return null},doAdd:function(nodes,records,index){var me=this,record=records[0],parent=record.parentNode,a=me.all.elements,relativeIndex=0,animWrap=me.getAnimWrap(parent),targetEl,children,len;if(!animWrap||!animWrap.expanding){me.resetScrollers();return me.callParent(arguments)}parent=animWrap.record;targetEl=animWrap.targetEl;children=targetEl.dom.childNodes;len=children.length-1;relativeIndex=index-me.indexOf(parent)-1;if(!len||relativeIndex>=len){targetEl.appendChild(nodes)}else{Ext.fly(children[relativeIndex+1]).insertSibling(nodes,"before",true)}Ext.Array.insert(a,index,nodes);if(animWrap.isAnimating){me.onExpand(parent)}},doRemove:function(record,index){var me=this,parent=record.parentNode,all=me.all,animWrap=me.getAnimWrap(record),node=all.item(index).dom;if(!animWrap||!animWrap.collapsing){me.resetScrollers();return me.callParent(arguments)}animWrap.targetEl.appendChild(node);all.removeElement(index)},onBeforeExpand:function(parent,records,index){var me=this,animWrap;if(!me.rendered||!me.animate){return}if(me.getNode(parent)){animWrap=me.getAnimWrap(parent);if(!animWrap){animWrap=parent.animWrap=me.createAnimWrap(parent);animWrap.animateEl.setHeight(0)}else{if(animWrap.collapsing){animWrap.targetEl.select(me.itemSelector).remove()}}animWrap.expanding=true;animWrap.collapsing=false}},onExpand:function(parent){var me=this,queue=me.animQueue,id=parent.getId(),animWrap,animateEl,targetEl,queueItem;if(me.singleExpand){me.ensureSingleExpand(parent)}animWrap=me.getAnimWrap(parent);if(!animWrap){me.resetScrollers();return}animateEl=animWrap.animateEl;targetEl=animWrap.targetEl;animateEl.stopAnimation();queue[id]=true;animateEl.slideIn("t",{duration:me.expandDuration,listeners:{scope:me,lastframe:function(){animWrap.el.insertSibling(targetEl.query(me.itemSelector),"before");animWrap.el.remove();me.resetScrollers();delete animWrap.record.animWrap;delete queue[id]}}});animWrap.isAnimating=true},resetScrollers:function(){var panel=this.panel;panel.determineScrollbars();panel.invalidateScroller()},onBeforeCollapse:function(parent,records,index){var me=this,animWrap;if(!me.rendered||!me.animate){return}if(me.getNode(parent)){animWrap=me.getAnimWrap(parent);if(!animWrap){animWrap=parent.animWrap=me.createAnimWrap(parent,index)}else{if(animWrap.expanding){animWrap.targetEl.select(this.itemSelector).remove()}}animWrap.expanding=false;animWrap.collapsing=true}},onCollapse:function(parent){var me=this,queue=me.animQueue,id=parent.getId(),animWrap=me.getAnimWrap(parent),animateEl,targetEl;if(!animWrap){me.resetScrollers();return}animateEl=animWrap.animateEl;targetEl=animWrap.targetEl;queue[id]=true;animateEl.stopAnimation();animateEl.slideOut("t",{duration:me.collapseDuration,listeners:{scope:me,lastframe:function(){animWrap.el.remove();delete animWrap.record.animWrap;me.resetScrollers();delete queue[id]}}});animWrap.isAnimating=true},isAnimating:function(node){return !!this.animQueue[node.getId()]},collectData:function(records){var data=this.callParent(arguments),rows=data.rows,len=rows.length,i=0,row,record;for(;i=region.top&&y<(region.top+fragment)){return"before"}else{if(!noBelow&&(noAppend||(y>=(region.bottom-fragment)&&y<=region.bottom))){return"after"}else{return"append"}}},isValidDropPoint:function(node,position,dragZone,e,data){if(!node||!data.item){return false}var view=this.view,targetNode=view.getRecord(node),draggedRecords=data.records,dataLength=draggedRecords.length,ln=draggedRecords.length,i,record;if(!(targetNode&&position&&dataLength)){return false}for(i=0;i2)?argv[2]:null,path=(argc>3)?argv[3]:"/",domain=(argc>4)?argv[4]:null,secure=(argc>5)?argv[5]:false;document.cookie=name+"="+escape(value)+((expires===null)?"":("; expires="+expires.toGMTString()))+((path===null)?"":("; path="+path))+((domain===null)?"":("; domain="+domain))+((secure===true)?"; secure":"")},get:function(name){var arg=name+"=",alen=arg.length,clen=document.cookie.length,i=0,j=0;while(i=0;--i){selectorText=ssRules[i].selectorText;if(selectorText){selectorText=selectorText.split(",");selectors=selectorText.length;for(j=0;j=0?href.substr(i+1):null},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(token){this.currentToken=token;this.fireEvent("change",token)},updateIFrame:function(token){var html='
    '+Ext.util.Format.htmlEncode(token)+"
    ";try{var doc=this.iframe.contentWindow.document;doc.open();doc.write(html);doc.close();return true}catch(e){return false}},checkIFrame:function(){var me=this,contentWindow=me.iframe.contentWindow;if(!contentWindow||!contentWindow.document){Ext.Function.defer(this.checkIFrame,10,this);return}var doc=contentWindow.document,elem=doc.getElementById("state"),oldToken=elem?elem.innerText:null,oldHash=me.getHash();Ext.TaskManager.start({run:function(){var doc=contentWindow.document,elem=doc.getElementById("state"),newToken=elem?elem.innerText:null,newHash=me.getHash();if(newToken!==oldToken){oldToken=newToken;me.handleStateChange(newToken);window.top.location.hash=newToken;oldHash=newToken;me.doSave()}else{if(newHash!==oldHash){oldHash=newHash;me.updateIFrame(newHash)}}},interval:50,scope:me});me.ready=true;me.fireEvent("ready",me)},startUp:function(){var me=this;me.currentToken=me.hiddenField.value||this.getHash();if(me.oldIEMode){me.checkIFrame()}else{var hash=me.getHash();Ext.TaskManager.start({run:function(){var newHash=me.getHash();if(newHash!==hash){hash=newHash;me.handleStateChange(hash);me.doSave()}},interval:50,scope:me});me.ready=true;me.fireEvent("ready",me)}},fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",init:function(onReady,scope){var me=this;if(me.ready){Ext.callback(onReady,scope,[me]);return}if(!Ext.isReady){Ext.onReady(function(){me.init(onReady,scope)});return}me.hiddenField=Ext.getDom(me.fieldId);if(me.oldIEMode){me.iframe=Ext.getDom(me.iframeId)}me.addEvents("ready","change");if(onReady){me.on("ready",onReady,scope,{single:true})}me.startUp()},add:function(token,preventDup){var me=this;if(preventDup!==false){if(me.getToken()===token){return true}}if(me.oldIEMode){return me.updateIFrame(token)}else{window.top.location.hash=token;return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{[this.openTableWrap()]}",'',"",'','','',"","","{[this.openRows()]}","{row}",'',"{[this.embedFeature(values, parent, xindex, xcount)]}","","{[this.closeRows()]}","","
    ","{[this.closeTableWrap()]}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(values,reference){return this.apply(reference?values[reference]:values)}},embedFeature:function(values,parent,x,xcount){var tpl="";if(!values.disabled){tpl=values.getFeatureTpl(values,parent,x,xcount)}return tpl},embedFullWidth:function(){return'style="width: {fullWidth}px;"'},openRows:function(){return''},closeRows:function(){return""},metaRowTpl:['','','
    {{id}}
    ',"
    ",""],firstOrLastCls:function(xindex,xcount){var cssCls="";if(xindex===1){cssCls=Ext.baseCSSPrefix+"grid-cell-first"}else{if(xindex===xcount){cssCls=Ext.baseCSSPrefix+"grid-cell-last"}}return cssCls},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:function(){return""},closeTableWrap:function(){return""},getTableTpl:function(cfg,textOnly){var tpl,tableTplMemberFns={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},tplMemberFns={},features=cfg.features||[],ln=features.length,i=0,memberFns={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls},metaRowTpl=Array.prototype.slice.call(this.metaRowTpl,0),metaTableTpl;for(;i0){args[args.length-1]="var Ext=window."+this.getUniqueGlobalNamespace()+";"+args[args.length-1]}return Function.prototype.constructor.apply(Function.prototype,args)}});Ext.type=Ext.typeOf})();(function(){var version="4.0.7",Version;Ext.Version=Version=Ext.extend(Object,{constructor:function(version){var parts,releaseStartIndex;if(version instanceof Version){return version}this.version=this.shortVersion=String(version).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,"");releaseStartIndex=this.version.search(/([^\d\.])/);if(releaseStartIndex!==-1){this.release=this.version.substr(releaseStartIndex,version.length);this.shortVersion=this.version.substr(0,releaseStartIndex)}this.shortVersion=this.shortVersion.replace(/[^\d]/g,"");parts=this.version.split(".");this.major=parseInt(parts.shift()||0,10);this.minor=parseInt(parts.shift()||0,10);this.patch=parseInt(parts.shift()||0,10);this.build=parseInt(parts.shift()||0,10);return this},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(target){return Version.compare(this.version,target)===1},isLessThan:function(target){return Version.compare(this.version,target)===-1},equals:function(target){return Version.compare(this.version,target)===0},match:function(target){target=String(target);return this.version.substr(0,target.length)===target},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion}});Ext.apply(Version,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(value){return !value?0:(isNaN(value)?this.releaseValueMap[value]||value:parseInt(value,10))},compare:function(current,target){var currentValue,targetValue,i;current=new Version(current).toArray();target=new Version(target).toArray();for(i=0;itargetValue){return 1}}}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(packageName,version){Ext.versions[packageName]=new Version(version);Ext.lastRegisteredVersion=Ext.versions[packageName];return this},getVersion:function(packageName){if(packageName===undefined){return Ext.lastRegisteredVersion}return Ext.versions[packageName]},deprecate:function(packageName,since,closure,scope){if(Version.compare(Ext.getVersion(packageName),since)<1){closure.call(scope)}}});Ext.setVersion("core",version)})();Ext.String={trimRegex:/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,escapeRe:/('|\\)/g,formatRe:/\{(\d+)\}/g,escapeRegexRe:/([-.*+?^${}()|[\]\/\\])/g,htmlEncode:(function(){var entities={"&":"&",">":">","<":"<",'"':"""},keys=[],p,regex;for(p in entities){keys.push(p)}regex=new RegExp("("+keys.join("|")+")","g");return function(value){return(!value)?value:String(value).replace(regex,function(match,capture){return entities[capture]})}})(),htmlDecode:(function(){var entities={"&":"&",">":">","<":"<",""":'"'},keys=[],p,regex;for(p in entities){keys.push(p)}regex=new RegExp("("+keys.join("|")+"|&#[0-9]{1,5};)","g");return function(value){return(!value)?value:String(value).replace(regex,function(match,capture){if(capture in entities){return entities[capture]}else{return String.fromCharCode(parseInt(capture.substr(2),10))}})}})(),urlAppend:function(url,string){if(!Ext.isEmpty(string)){return url+(url.indexOf("?")===-1?"?":"&")+string}return url},trim:function(string){return string.replace(Ext.String.trimRegex,"")},capitalize:function(string){return string.charAt(0).toUpperCase()+string.substr(1)},ellipsis:function(value,len,word){if(value&&value.length>len){if(word){var vs=value.substr(0,len-2),index=Math.max(vs.lastIndexOf(" "),vs.lastIndexOf("."),vs.lastIndexOf("!"),vs.lastIndexOf("?"));if(index!==-1&&index>=(len-15)){return vs.substr(0,index)+"..."}}return value.substr(0,len-3)+"..."}return value},escapeRegex:function(string){return string.replace(Ext.String.escapeRegexRe,"\\$1")},escape:function(string){return string.replace(Ext.String.escapeRe,"\\$1")},toggle:function(string,value,other){return string===value?other:value},leftPad:function(string,size,character){var result=String(string);character=character||" ";while(result.length=increment){newValue+=increment}else{if(m*2<-increment){newValue-=increment}}}return Ext.Number.constrain(newValue,minValue,maxValue)},toFixed:function(value,precision){if(isToFixedBroken){precision=precision||0;var pow=Math.pow(10,precision);return(Math.round(value*pow)/pow).toFixed(precision)}return value.toFixed(precision)},from:function(value,defaultValue){if(isFinite(value)){value=parseFloat(value)}return !isNaN(value)?value:defaultValue}}})();Ext.num=function(){return Ext.Number.from.apply(this,arguments)};(function(){var arrayPrototype=Array.prototype,slice=arrayPrototype.slice,supportsSplice=function(){var array=[],lengthBefore,j=20;if(!array.splice){return false}while(j--){array.push("A")}array.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");lengthBefore=array.length;array.splice(13,0,"XXX");if(lengthBefore+1!=array.length){return false}return true}(),supportsForEach="forEach" in arrayPrototype,supportsMap="map" in arrayPrototype,supportsIndexOf="indexOf" in arrayPrototype,supportsEvery="every" in arrayPrototype,supportsSome="some" in arrayPrototype,supportsFilter="filter" in arrayPrototype,supportsSort=function(){var a=[1,2,3,4,5].sort(function(){return 0});return a[0]===1&&a[1]===2&&a[2]===3&&a[3]===4&&a[4]===5}(),supportsSliceOnNodeList=true,ExtArray;try{if(typeof document!=="undefined"){slice.call(document.getElementsByTagName("body"))}}catch(e){supportsSliceOnNodeList=false}function fixArrayIndex(array,index){return(index<0)?Math.max(0,array.length+index):Math.min(array.length,index)}function replaceSim(array,index,removeCount,insert){var add=insert?insert.length:0,length=array.length,pos=fixArrayIndex(array,index);if(pos===length){if(add){array.push.apply(array,insert)}}else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove,i;if(tailNewPostailOldPos){for(i=tailCount;i--;){array[tailNewPos+i]=array[tailOldPos+i]}}}if(add&&pos===lengthAfterRemove){array.length=lengthAfterRemove;array.push.apply(array,insert)}else{array.length=lengthAfterRemove+add;for(i=0;i-1;i--){if(fn.call(scope||array[i],array[i],i,array)===false){return i}}}return true},forEach:function(array,fn,scope){if(supportsForEach){return array.forEach(fn,scope)}var i=0,ln=array.length;for(;imax){max=item}}}return max},mean:function(array){return array.length>0?ExtArray.sum(array)/array.length:undefined},sum:function(array){var sum=0,i,ln,item;for(i=0,ln=array.length;i0){return setTimeout(fn,millis)}fn();return 0},createSequence:function(origFn,newFn,scope){if(!Ext.isFunction(newFn)){return origFn}else{return function(){var retval=origFn.apply(this||window,arguments);newFn.apply(scope||this||window,arguments);return retval}}},createBuffered:function(fn,buffer,scope,args){return function(){var timerId;return function(){var me=this;if(timerId){clearTimeout(timerId);timerId=null}timerId=setTimeout(function(){fn.apply(scope||me,args||arguments)},buffer)}}()},createThrottled:function(fn,interval,scope){var lastCallTime,elapsed,lastArgs,timer,execute=function(){fn.apply(scope||this,lastArgs);lastCallTime=new Date().getTime()};return function(){elapsed=new Date().getTime()-lastCallTime;lastArgs=arguments;clearTimeout(timer);if(!lastCallTime||(elapsed>=interval)){execute()}else{timer=setTimeout(execute,interval-elapsed)}}},interceptBefore:function(object,methodName,fn){var method=object[methodName]||Ext.emptyFn;return object[methodName]=function(){var ret=fn.apply(this,arguments);method.apply(this,arguments);return ret}},interceptAfter:function(object,methodName,fn){var method=object[methodName]||Ext.emptyFn;return object[methodName]=function(){method.apply(this,arguments);return fn.apply(this,arguments)}}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind");(function(){var ExtObject=Ext.Object={toQueryObjects:function(name,value,recursive){var self=ExtObject.toQueryObjects,objects=[],i,ln;if(Ext.isArray(value)){for(i=0,ln=value.length;i0){components=part.split("=");name=decodeURIComponent(components[0]);value=(components[1]!==undefined)?decodeURIComponent(components[1]):"";if(!recursive){if(object.hasOwnProperty(name)){if(!Ext.isArray(object[name])){object[name]=[object[name]]}object[name].push(value)}else{object[name]=value}}else{matchedKeys=name.match(/(\[):?([^\]]*)\]/g);matchedName=name.match(/^([^\[]+)/);name=matchedName[0];keys=[];if(matchedKeys===null){object[name]=value;continue}for(j=0,subLn=matchedKeys.length;j 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var c="Y-m-dTH:i:sP",code=[],i=0,l=c.length;i= 0 && y >= 0){","v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);","}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(format){var regexNum=utilDate.parseRegexes.length,currentGroup=1,calc=[],regex=[],special=false,ch="";for(var i=0;i Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)"},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)"},g:function(){return utilDate.formatCodeToRegex("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return utilDate.formatCodeToRegex("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var calc=[],arr=[utilDate.formatCodeToRegex("Y",1),utilDate.formatCodeToRegex("m",2),utilDate.formatCodeToRegex("d",3),utilDate.formatCodeToRegex("h",4),utilDate.formatCodeToRegex("i",5),utilDate.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",utilDate.formatCodeToRegex("P",8).c,"}else{",utilDate.formatCodeToRegex("O",8).c,"}","}"].join("\n")}];for(var i=0,l=arr.length;i0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(offset)/60),2,"0")+(colon?":":"")+Ext.String.leftPad(Math.abs(offset%60),2,"0")},getDayOfYear:function(date){var num=0,d=Ext.Date.clone(date),m=date.getMonth(),i;for(i=0,d.setDate(1),d.setMonth(0);i28){day=Math.min(day,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(date),"mo",value)).getDate())}d.setDate(day);d.setMonth(date.getMonth()+value);break;case Ext.Date.YEAR:d.setFullYear(date.getFullYear()+value);break}return d},between:function(date,start,end){var t=date.getTime();return start.getTime()<=t&&t<=end.getTime()},compat:function(){var nativeDate=window.Date,p,u,statics=["useStrict","formatCodeToRegex","parseFunctions","parseRegexes","formatFunctions","y2kYear","MILLI","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","defaults","dayNames","monthNames","monthNumbers","getShortMonthName","getShortDayName","getMonthNumber","formatCodes","isValid","parseDate","getFormatCode","createFormat","createParser","parseCodes"],proto=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"];Ext.Array.forEach(statics,function(s){nativeDate[s]=utilDate[s]});Ext.Array.forEach(proto,function(s){nativeDate.prototype[s]=function(){var args=Array.prototype.slice.call(arguments);args.unshift(this);return utilDate[s].apply(utilDate,args)}})}};var utilDate=Ext.Date})();(function(flexSetter){var Base=Ext.Base=function(){};Base.prototype={$className:"Ext.Base",$class:Base,self:Base,constructor:function(){return this},initConfig:function(config){if(!this.$configInited){this.config=Ext.Object.merge({},this.config||{},config||{});this.applyConfig(this.config);this.$configInited=true}return this},setConfig:function(config){this.applyConfig(config||{});return this},applyConfig:flexSetter(function(name,value){var setter="set"+Ext.String.capitalize(name);if(typeof this[setter]==="function"){this[setter].call(this,value)}return this}),callParent:function(args){var method=this.callParent.caller,parentClass,methodName;if(!method.$owner){method=method.caller}parentClass=method.$owner.superclass;methodName=method.$name;return parentClass[methodName].apply(this,args||[])},statics:function(){var method=this.statics.caller,self=this.self;if(!method){return self}return method.$owner},callOverridden:function(args){var method=this.callOverridden.caller;return method.$previous.apply(this,args||[])},destroy:function(){}};Ext.apply(Ext.Base,{create:function(){return Ext.create.apply(Ext,[this].concat(Array.prototype.slice.call(arguments,0)))},own:function(name,value){if(typeof value=="function"){this.ownMethod(name,value)}else{this.prototype[name]=value}},ownMethod:function(name,fn){var originalFn;if(typeof fn.$owner!=="undefined"&&fn!==Ext.emptyFn){originalFn=fn;fn=function(){return originalFn.apply(this,arguments)}}fn.$owner=this;fn.$name=name;this.prototype[name]=fn},addStatics:function(members){for(var name in members){if(members.hasOwnProperty(name)){this[name]=members[name]}}return this},addInheritableStatics:function(members){var inheritableStatics,hasInheritableStatics,prototype=this.prototype,name,member;inheritableStatics=prototype.$inheritableStatics;hasInheritableStatics=prototype.$hasInheritableStatics;if(!inheritableStatics){inheritableStatics=prototype.$inheritableStatics=[];hasInheritableStatics=prototype.$hasInheritableStatics={}}for(name in members){if(members.hasOwnProperty(name)){member=members[name];this[name]=member;if(!hasInheritableStatics[name]){hasInheritableStatics[name]=true;inheritableStatics.push(name)}}}return this},implement:function(members){var prototype=this.prototype,enumerables=Ext.enumerables,name,i,member;for(name in members){if(members.hasOwnProperty(name)){member=members[name];if(typeof member==="function"){member.$owner=this;member.$name=name}prototype[name]=member}}if(enumerables){for(i=enumerables.length;i--;){name=enumerables[i];if(members.hasOwnProperty(name)){member=members[name];member.$owner=this;member.$name=name;prototype[name]=member}}}},borrow:function(fromClass,members){var fromPrototype=fromClass.prototype,i,ln,member;members=Ext.Array.from(members);for(i=0,ln=members.length;i0){if(prefix===className){return paths[prefix]}path=paths[prefix];className=className.substring(prefix.length+1)}if(path.length>0){path+="/"}return path.replace(/\/\.\//g,"/")+className.replace(/\./g,"/")+".js"},getPrefix:function(className){var paths=this.config.paths,prefix,deepestPrefix="";if(paths.hasOwnProperty(className)){return className}for(prefix in paths){if(paths.hasOwnProperty(prefix)&&prefix+"."===className.substring(0,prefix.length+1)){if(prefix.length>deepestPrefix.length){deepestPrefix=prefix}}}return deepestPrefix},refreshQueue:function(){var ln=this.queue.length,i,item,j,requires;if(ln===0){this.triggerReady();return}for(i=0;ithis.numLoadedFiles){continue}j=0;do{if(Manager.isCreated(requires[j])){Ext.Array.erase(requires,j,1)}else{j++}}while(j=200&&status<300){new Function(xhr.responseText+"\n//@ sourceURL="+fileName)();onLoad.call(scope)}else{onError.call(this,"Failed loading synchronously via XHR: '"+url+"'; please verify that the file exists. XHR status code: "+status,synchronous)}}xhr=null}},exclude:function(excludes){var me=this;return{require:function(expressions,fn,scope){return me.require(expressions,fn,scope,excludes)},syncRequire:function(expressions,fn,scope){return me.syncRequire(expressions,fn,scope,excludes)}}},syncRequire:function(){this.syncModeEnabled=true;this.require.apply(this,arguments);this.refreshQueue();this.syncModeEnabled=false},require:function(expressions,fn,scope,excludes){var filePath,expression,exclude,className,excluded={},excludedClassNames=[],possibleClassNames=[],possibleClassName,classNames=[],i,j,ln,subLn;expressions=Ext.Array.from(expressions);excludes=Ext.Array.from(excludes);fn=fn||Ext.emptyFn;scope=scope||Ext.global;for(i=0,ln=excludes.length;i0){excludedClassNames=Manager.getNamesByExpression(exclude);for(j=0,subLn=excludedClassNames.length;j0){possibleClassNames=Manager.getNamesByExpression(expression);for(j=0,subLn=possibleClassNames.length;j0){Ext.Error.raise({sourceClass:"Ext.Loader",sourceMethod:"require",msg:"Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((classNames.length>1)?"es":"")+": "+classNames.join(", ")})}}if(classNames.length===0){fn.call(scope);return this}this.queue.push({requires:classNames,callback:fn,scope:scope});classNames=classNames.slice();for(i=0,ln=classNames.length;iwindow.innerWidth?"portrait":"landscape"},destroy:function(){var ln=arguments.length,i,arg;for(i=0;i
    '),child=div.child("div",true),w1=child.offsetWidth;div.setStyle("overflow",(Ext.isWebKit||Ext.isGecko)?"auto":"scroll");var w2=child.offsetWidth,width=w1-w2;div.remove();scrollbarSize={width:width,height:width}}return scrollbarSize},getScrollBarWidth:function(force){var size=Ext.getScrollbarSize(force);return size.width+2},copyTo:function(dest,source,names,usePrototypeKeys){if(typeof names=="string"){names=names.split(/[,;\s]/)}Ext.each(names,function(name){if(usePrototypeKeys||source.hasOwnProperty(name)){dest[name]=source[name]}},this);return dest},destroyMembers:function(o){for(var i=1,a=arguments,len=a.length;i]+>/gi,stripScriptsRe=/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,nl2brRe=/\r?\n/g,formatCleanRe=/[^\d\.]/g,I18NFormatCleanRe;Ext.apply(UtilFormat,{thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",currencyAtEnd:false,undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},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()},usMoney:function(v){return UtilFormat.currency(v,"$",2)},currency:function(v,currencySign,decimals,end){var negativeSign="",format=",0",i=0;v=v-0;if(v<0){v=-v;negativeSign="-"}decimals=decimals||UtilFormat.currencyPrecision;format+=format+(decimals>0?".":"");for(;i")},capitalize:Ext.String.capitalize,ellipsis:Ext.String.ellipsis,format:Ext.String.format,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,trim:Ext.String.trim,parseBox:function(box){if(Ext.isNumber(box)){box=box.toString()}var parts=box.split(" "),ln=parts.length;if(ln==1){parts[1]=parts[2]=parts[3]=parts[0]}else{if(ln==2){parts[2]=parts[0];parts[3]=parts[1]}else{if(ln==3){parts[3]=parts[1]}}}return{top:parseInt(parts[0],10)||0,right:parseInt(parts[1],10)||0,bottom:parseInt(parts[2],10)||0,left:parseInt(parts[3],10)||0}},escapeRegex:function(s){return s.replace(/([\-.*+?\^${}()|\[\]\/\\])/g,"\\$1")}})})();Ext.ns("Ext.util");Ext.util.TaskRunner=function(interval){interval=interval||10;var tasks=[],removeQueue=[],id=0,running=false,stopThread=function(){running=false;clearInterval(id);id=0},startThread=function(){if(!running){running=true;id=setInterval(runTasks,interval)}},removeTask=function(t){removeQueue.push(t);if(t.onStop){t.onStop.apply(t.scope||t)}},runTasks=function(){var rqLen=removeQueue.length,now=new Date().getTime(),i;if(rqLen>0){for(i=0;i','
    ',"",'
    ','
    ',"
    ",'
    '].join("");doc.body.appendChild(div);for(i=0;i

    ";return(d.childNodes.length==2)}},{identity:"Float",fn:function(doc,div){return !!div.lastChild.style.cssFloat}},{identity:"AudioTag",fn:function(doc){return !!doc.createElement("audio").canPlayType}},{identity:"History",fn:function(){return !!(window.history&&history.pushState)}},{identity:"CSS3DTransform",fn:function(){return(typeof WebKitCSSMatrix!="undefined"&&new WebKitCSSMatrix().hasOwnProperty("m41"))}},{identity:"CSS3LinearGradient",fn:function(doc,div){var property="background-image:",webkit="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",w3c="linear-gradient(left top, black, white)",moz="-moz-"+w3c,options=[property+webkit,property+w3c,property+moz];div.style.cssText=options.join(";");return(""+div.style.backgroundImage).indexOf("gradient")!==-1}},{identity:"CSS3BorderRadius",fn:function(doc,div){var domPrefixes=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],pass=false,i;for(i=0;i=534.16}}]};Ext.ns("Ext.core");Ext.core.DomHelper=Ext.DomHelper=function(){var tempTableEl=null,emptyTags=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,tableRe=/^table|tbody|tr|td$/i,confRe=/tag|children|cn|html$/i,tableElRe=/td|tr|tbody/i,endRe=/end/i,pub,afterbegin="afterbegin",afterend="afterend",beforebegin="beforebegin",beforeend="beforeend",ts="",te="
    ",tbs=ts+"",tbe=""+te,trs=tbs+"",tre=""+tbe;function doInsert(el,o,returnElement,pos,sibling,append){el=Ext.getDom(el);var newNode;if(pub.useDom){newNode=createDom(o,null);if(append){el.appendChild(newNode)}else{(sibling=="firstChild"?el:el.parentNode).insertBefore(newNode,el[sibling]||el)}}else{newNode=Ext.DomHelper.insertHtml(pos,el,Ext.DomHelper.createHtml(o))}return returnElement?Ext.get(newNode,true):newNode}function createDom(o,parentNode){var el,doc=document,useSet,attr,val,cn;if(Ext.isArray(o)){el=doc.createDocumentFragment();for(var i=0,l=o.length;i"}}}return b}function ieTable(depth,s,h,e){tempTableEl.innerHTML=[s,h,e].join("");var i=-1,el=tempTableEl,ns;while(++i+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w-\*]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,startIdRe=/^\s*\#/,isIE=window.ActiveXObject?true:false,key=30803;eval("var batch = 30803;");function child(parent,index){var i=0,n=parent.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(parent){var n=parent.firstChild,nodeIndex=-1,nextNode;while(n){nextNode=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){parent.removeChild(n)}else{n.nodeIndex=++nodeIndex}n=nextNode}return this}function byClassName(nodeSet,cls){if(!cls){return nodeSet}var result=[],ri=-1;for(var i=0,ci;ci=nodeSet[i];i++){if((" "+ci.className+" ").indexOf(cls)!=-1){result[++ri]=ci}}return result}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=ni.childNodes;for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i1){return nodup(results)}return results},isXml:function(el){var docEl=(el?el.ownerDocument||el:0).documentElement;return docEl?docEl.nodeName!=="HTML":false},select:document.querySelectorAll?function(path,root,type){root=root||document;if(!Ext.DomQuery.isXml(root)&&!(Ext.isSafari3&&!Ext.isStrict)){try{var isDocumentRoot=root.nodeType===9,_path=path,_root=root;if(!isDocumentRoot&&path.indexOf(",")===-1&&!startIdRe.test(path)){_path="#"+Ext.id(root)+" "+path;_root=root.parentNode}return Ext.Array.toArray(_root.querySelectorAll(_path))}catch(e){}}return Ext.DomQuery.jsSelect.call(this,path,root,type)}:function(path,root,type){return Ext.DomQuery.jsSelect.call(this,path,root,type)},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root),v;n=n[0]?n[0]:n;if(typeof n.normalize=="function"){n.normalize()}v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el),result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;(function(){var DOC=document,EC=Ext.cache;Ext.Element=Ext.core.Element=function(element,forceNew){var dom=typeof element=="string"?DOC.getElementById(element):element,id;if(!dom){return null}id=dom.id;if(!forceNew&&id&&EC[id]){return EC[id].el}this.dom=dom;this.id=id||Ext.id(dom)};var DH=Ext.DomHelper,El=Ext.Element;El.prototype={set:function(o,useSet){var el=this.dom,attr,val;useSet=(useSet!==false)&&!!el.setAttribute;for(attr in o){if(o.hasOwnProperty(attr)){val=o[attr];if(attr=="style"){DH.applyStyles(el,val)}else{if(attr=="cls"){el.className=val}else{if(useSet){el.setAttribute(attr,val)}else{el[attr]=val}}}}}return this},defaultUnit:"px",is:function(simpleSelector){return Ext.DomQuery.is(this.dom,simpleSelector)},focus:function(defer,dom){var me=this;dom=dom||me.dom;try{if(Number(defer)){Ext.defer(me.focus,defer,null,[null,dom])}else{dom.focus()}}catch(e){}return me},blur:function(){try{this.dom.blur()}catch(e){}return this},getValue:function(asNumber){var val=this.dom.value;return asNumber?parseInt(val,10):val},addListener:function(eventName,fn,scope,options){Ext.EventManager.on(this.dom,eventName,fn,scope||this,options);return this},removeListener:function(eventName,fn,scope){Ext.EventManager.un(this.dom,eventName,fn,scope||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},purgeAllListeners:function(){Ext.EventManager.purgeElement(this);return this},addUnits:function(size,units){if(Ext.isNumber(size)){return size+(units||this.defaultUnit||"px")}if(size===""||size=="auto"||size==null){return size||""}if(!unitPattern.test(size)){return size||""}return size},isBorderBox:function(){return Ext.isBorderBox||noBoxAdjust[(this.dom.tagName||"").toLowerCase()]},remove:function(){var me=this,dom=me.dom;if(dom){delete me.dom;Ext.removeNode(dom)}},hover:function(overFn,outFn,scope,options){var me=this;me.on("mouseenter",overFn,scope||me.dom,options);me.on("mouseleave",outFn,scope||me.dom,options);return me},contains:function(el){return !el?false:Ext.Element.isAncestor(this.dom,el.dom?el.dom:el)},getAttributeNS:function(ns,name){return this.getAttribute(name,ns)},getAttribute:(Ext.isIE&&!(Ext.isIE9&&document.documentMode===9))?function(name,ns){var d=this.dom,type;if(ns){type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]||null}return null}if(name==="for"){name="htmlFor"}return d[name]||null}:function(name,ns){var d=this.dom;if(ns){return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)}return d.getAttribute(name)||d[name]||null},update:function(html){if(this.dom){this.dom.innerHTML=html}return this}};var ep=El.prototype;El.addMethods=function(o){Ext.apply(ep,o)};ep.on=ep.addListener;ep.un=ep.removeListener;ep.clearListeners=ep.removeAllListeners;ep.destroy=ep.remove;ep.autoBoxAdjust=true;var unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,docEl;El.get=function(el){var ex,elm,id;if(!el){return null}if(typeof el=="string"){if(!(elm=DOC.getElementById(el))){return null}if(EC[el]&&EC[el].el){ex=EC[el].el;ex.dom=elm}else{ex=El.addToCache(new El(elm))}return ex}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el)}if(EC[id]&&EC[id].el){ex=EC[id].el;ex.dom=el}else{ex=El.addToCache(new El(el))}return ex}else{if(el instanceof El){if(el!=docEl){if(Ext.isIE&&(el.id==undefined||el.id=="")){el.dom=el.dom}else{el.dom=DOC.getElementById(el.id)||el.dom}}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==DOC){if(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=DOC}return docEl}}}}}}return null};ep.getById=(!Ext.isIE6&&!Ext.isIE7&&!Ext.isIE8)?El.get:function(id){var dom=this.dom,cached,el,ret;if(dom){el=dom.all[id];if(el){cached=EC[id];if(cached&&cached.el){ret=cached.el;ret.dom=el}else{ret=El.addToCache(new El(el))}return ret}}return El.get(id)};El.addToCache=function(el,id){if(el){id=id||el.id;EC[id]={el:el,data:{},events:{}}}return el};El.data=function(el,key,value){el=El.get(el);if(!el){return null}var c=EC[el.id].data;if(arguments.length==2){return c[key]}else{return(c[key]=value)}};function garbageCollect(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThreadId)}else{var eid,el,d,o;for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}o=EC[eid];if(o.skipGarbageCollection){continue}el=o.el;d=el.dom;if(!d||!d.parentNode||(!d.offsetParent&&!DOC.getElementById(eid))){if(d&&Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}delete EC[eid]}}if(Ext.isIE){var t={};for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}t[eid]=EC[eid]}EC=Ext.cache=t}}}El.collectorThreadId=setInterval(garbageCollect,30000);var flyFn=function(){};flyFn.prototype=El.prototype;El.Flyweight=function(dom){this.dom=dom};El.Flyweight.prototype=new flyFn();El.Flyweight.prototype.isFlyweight=true;El._flyweights={};El.fly=function(el,named){var ret=null;named=named||"_global";el=Ext.getDom(el);if(el){(El._flyweights[named]=El._flyweights[named]||new El.Flyweight()).dom=el;ret=El._flyweights[named]}return ret};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.Element.addMethods({findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,stopEl;maxDepth=maxDepth||50;if(isNaN(maxDepth)){stopEl=Ext.getDom(maxDepth);maxDepth=Number.MAX_VALUE}while(p&&p.nodeType==1&&depth "+selector,me.dom);return returnDom?node:Ext.get(node)},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){if(!this.dom){return null}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}});Ext.Element.addMethods({appendChild:function(el){return Ext.get(el).appendTo(this)},appendTo:function(el){Ext.getDom(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(el.nodeType||el.dom||typeof el=="string"){el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !returnDom?Ext.get(el):el}else{return this.createChild(el,this.dom.firstChild,returnDom)}},insertSibling:function(el,where,returnDom){var me=this,rt,isAfter=(where||"before").toLowerCase()=="after",insertEl;if(Ext.isArray(el)){insertEl=me;Ext.each(el,function(e){rt=Ext.fly(insertEl,"_internal").insertSibling(e,where,returnDom);if(isAfter){insertEl=rt}});return rt}el=el||{};if(el.nodeType||el.dom){rt=me.dom.parentNode.insertBefore(Ext.getDom(el),isAfter?me.dom.nextSibling:me.dom);if(!returnDom){rt=Ext.get(rt)}}else{if(isAfter&&!me.dom.nextSibling){rt=Ext.DomHelper.append(me.dom.parentNode,el,!returnDom)}else{rt=Ext.DomHelper[isAfter?"insertAfter":"insertBefore"](me.dom,el,!returnDom)}}return rt},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this},replaceWith:function(el){var me=this;if(el.nodeType||el.dom||typeof el=="string"){el=Ext.get(el);me.dom.parentNode.insertBefore(el,me.dom)}else{el=Ext.DomHelper.insertBefore(me.dom,el)}delete Ext.cache[me.id];Ext.removeNode(me.dom);me.id=Ext.id(me.dom=el);Ext.Element.addToCache(me.isFlyweight?new Ext.Element(me.dom):me);return me},createChild:function(config,insertBefore,returnDom){config=config||{tag:"div"};if(insertBefore){return Ext.DomHelper.insertBefore(insertBefore,config,returnDom!==true)}else{return Ext.DomHelper[!this.dom.firstChild?"insertFirst":"append"](this.dom,config,returnDom!==true)}},wrap:function(config,returnDom){var newEl=Ext.DomHelper.insertBefore(this.dom,config||{tag:"div"},!returnDom),d=newEl.dom||newEl;d.appendChild(this.dom);return newEl},insertHtml:function(where,html,returnEl){var el=Ext.DomHelper.insertHtml(where,this.dom,html);return returnEl?Ext.get(el):el}});(function(){var ELEMENT=Ext.Element,supports=Ext.supports,view=document.defaultView,opacityRe=/alpha\(opacity=(.*)\)/i,trimRe=/^\s+|\s+$/g,spacesRe=/\s+/,wordsRe=/\w/g,adjustDirect2DTableRe=/table-row|table-.*-group/,INTERNAL="_internal",PADDING="padding",MARGIN="margin",BORDER="border",LEFT="-left",RIGHT="-right",TOP="-top",BOTTOM="-bottom",WIDTH="-width",MATH=Math,HIDDEN="hidden",ISCLIPPED="isClipped",OVERFLOW="overflow",OVERFLOWX="overflow-x",OVERFLOWY="overflow-y",ORIGINALCLIP="originalClip",borders={l:BORDER+LEFT+WIDTH,r:BORDER+RIGHT+WIDTH,t:BORDER+TOP+WIDTH,b:BORDER+BOTTOM+WIDTH},paddings={l:PADDING+LEFT,r:PADDING+RIGHT,t:PADDING+TOP,b:PADDING+BOTTOM},margins={l:MARGIN+LEFT,r:MARGIN+RIGHT,t:MARGIN+TOP,b:MARGIN+BOTTOM},data=ELEMENT.data;ELEMENT.boxMarkup='
    ';ELEMENT.inheritedProps={fontSize:1,fontStyle:1,opacity:1};Ext.override(ELEMENT,{adjustWidth:function(width){var me=this,isNum=(typeof width=="number");if(isNum&&me.autoBoxAdjust&&!me.isBorderBox()){width-=(me.getBorderWidth("lr")+me.getPadding("lr"))}return(isNum&&width<0)?0:width},adjustHeight:function(height){var me=this,isNum=(typeof height=="number");if(isNum&&me.autoBoxAdjust&&!me.isBorderBox()){height-=(me.getBorderWidth("tb")+me.getPadding("tb"))}return(isNum&&height<0)?0:height},addCls:function(className){var me=this,cls=[],space=((me.dom.className.replace(trimRe,"")=="")?"":" "),i,len,v;if(className===undefined){return me}if(Object.prototype.toString.call(className)!=="[object Array]"){if(typeof className==="string"){className=className.replace(trimRe,"").split(spacesRe);if(className.length===1){className=className[0];if(!me.hasCls(className)){me.dom.className+=space+className}}else{this.addCls(className)}}}else{for(i=0,len=className.length;i5?color.toLowerCase():defaultValue)},setStyle:function(prop,value){var me=this,tmp,style;if(!me.dom){return me}if(typeof prop==="string"){tmp={};tmp[prop]=value;prop=tmp}for(style in prop){if(prop.hasOwnProperty(style)){value=Ext.value(prop[style],"");if(style=="opacity"){me.setOpacity(value)}else{me.dom.style[ELEMENT.normalize(style)]=value}}}return me},setOpacity:function(opacity,animate){var me=this,dom=me.dom,val,style;if(!me.dom){return me}style=me.dom.style;if(!animate||!me.anim){if(!Ext.supports.Opacity){opacity=opacity<1?"alpha(opacity="+opacity*100+")":"";val=style.filter.replace(opacityRe,"").replace(trimRe,"");style.zoom=1;style.filter=val+(val.length>0?" ":"")+opacity}else{style.opacity=opacity}}else{if(!Ext.isObject(animate)){animate={duration:350,easing:"ease-in"}}me.animate(Ext.applyIf({to:{opacity:opacity}},animate))}return me},clearOpacity:function(){var style=this.dom.style;if(!Ext.supports.Opacity){if(!Ext.isEmpty(style.filter)){style.filter=style.filter.replace(opacityRe,"").replace(trimRe,"")}}else{style.opacity=style["-moz-opacity"]=style["-khtml-opacity"]=""}return this},adjustDirect2DDimension:function(dimension){var me=this,dom=me.dom,display=me.getStyle("display"),inlineDisplay=dom.style.display,inlinePosition=dom.style.position,originIndex=dimension==="width"?0:1,floating;if(display==="inline"){dom.style.display="inline-block"}dom.style.position=display.match(adjustDirect2DTableRe)?"absolute":"static";floating=(parseFloat(me.getStyle(dimension))||parseFloat(dom.currentStyle.msTransformOrigin.split(" ")[originIndex])*2)%1;dom.style.position=inlinePosition;if(display==="inline"){dom.style.display=inlineDisplay}return floating},getHeight:function(contentHeight,preciseHeight){var me=this,dom=me.dom,hidden=Ext.isIE&&me.isStyle("display","none"),height,overflow,style,floating;if(Ext.isIEQuirks){style=dom.style;overflow=style.overflow;me.setStyle({overflow:"hidden"})}height=dom.offsetHeight;height=MATH.max(height,hidden?0:dom.clientHeight)||0;if(!hidden&&Ext.supports.Direct2DBug){floating=me.adjustDirect2DDimension("height");if(preciseHeight){height+=floating}else{if(floating>0&&floating<0.5){height++}}}if(contentHeight){height-=(me.getBorderWidth("tb")+me.getPadding("tb"))}if(Ext.isIEQuirks){me.setStyle({overflow:overflow})}if(height<0){height=0}return height},getWidth:function(contentWidth,preciseWidth){var me=this,dom=me.dom,hidden=Ext.isIE&&me.isStyle("display","none"),rect,width,overflow,style,floating,parentPosition;if(Ext.isIEQuirks){style=dom.style;overflow=style.overflow;me.setStyle({overflow:"hidden"})}if(Ext.isOpera10_5){if(dom.parentNode.currentStyle.position==="relative"){parentPosition=dom.parentNode.style.position;dom.parentNode.style.position="static";width=dom.offsetWidth;dom.parentNode.style.position=parentPosition}width=Math.max(width||0,dom.offsetWidth)}else{if(Ext.supports.BoundingClientRect){rect=dom.getBoundingClientRect();width=rect.right-rect.left;width=preciseWidth?width:Math.ceil(width)}else{width=dom.offsetWidth}}width=MATH.max(width,hidden?0:dom.clientWidth)||0;if(!hidden&&Ext.supports.Direct2DBug){floating=me.adjustDirect2DDimension("width");if(preciseWidth){width+=floating}else{if(floating>0&&floating<0.5){width++}}}if(contentWidth){width-=(me.getBorderWidth("lr")+me.getPadding("lr"))}if(Ext.isIEQuirks){me.setStyle({overflow:overflow})}if(width<0){width=0}return width},setWidth:function(width,animate){var me=this;width=me.adjustWidth(width);if(!animate||!me.anim){me.dom.style.width=me.addUnits(width)}else{if(!Ext.isObject(animate)){animate={}}me.animate(Ext.applyIf({to:{width:width}},animate))}return me},setHeight:function(height,animate){var me=this;height=me.adjustHeight(height);if(!animate||!me.anim){me.dom.style.height=me.addUnits(height)}else{if(!Ext.isObject(animate)){animate={}}me.animate(Ext.applyIf({to:{height:height}},animate))}return me},getBorderWidth:function(side){return this.addStyles(side,borders)},getPadding:function(side){return this.addStyles(side,paddings)},clip:function(){var me=this,dom=me.dom;if(!data(dom,ISCLIPPED)){data(dom,ISCLIPPED,true);data(dom,ORIGINALCLIP,{o:me.getStyle(OVERFLOW),x:me.getStyle(OVERFLOWX),y:me.getStyle(OVERFLOWY)});me.setStyle(OVERFLOW,HIDDEN);me.setStyle(OVERFLOWX,HIDDEN);me.setStyle(OVERFLOWY,HIDDEN)}return me},unclip:function(){var me=this,dom=me.dom,clip;if(data(dom,ISCLIPPED)){data(dom,ISCLIPPED,false);clip=data(dom,ORIGINALCLIP);if(clip.o){me.setStyle(OVERFLOW,clip.o)}if(clip.x){me.setStyle(OVERFLOWX,clip.x)}if(clip.y){me.setStyle(OVERFLOWY,clip.y)}}return me},addStyles:function(sides,styles){var totalSize=0,sidesArr=sides.match(wordsRe),i=0,len=sidesArr.length,side,size;for(;i"+Ext.String.format(ELEMENT.boxMarkup,cls)+""));Ext.DomQuery.selectNode("."+cls+"-mc",el.dom).appendChild(this.dom);return el},setSize:function(width,height,animate){var me=this;if(Ext.isObject(width)){animate=height;height=width.height;width=width.width}width=me.adjustWidth(width);height=me.adjustHeight(height);if(!animate||!me.anim){if(!Ext.isIEQuirks&&(Ext.isIE6||Ext.isIE7)){me.dom.offsetTop}me.dom.style.width=me.addUnits(width);me.dom.style.height=me.addUnits(height)}else{if(animate===true){animate={}}me.animate(Ext.applyIf({to:{width:width,height:height}},animate))}return me},getComputedHeight:function(){var me=this,h=Math.max(me.dom.offsetHeight,me.dom.clientHeight);if(!h){h=parseFloat(me.getStyle("height"))||0;if(!me.isBorderBox()){h+=me.getFrameWidth("tb")}}return h},getComputedWidth:function(){var me=this,w=Math.max(me.dom.offsetWidth,me.dom.clientWidth);if(!w){w=parseFloat(me.getStyle("width"))||0;if(!me.isBorderBox()){w+=me.getFrameWidth("lr")}}return w},getFrameWidth:function(sides,onlyContentBox){return onlyContentBox&&this.isBorderBox()?0:(this.getPadding(sides)+this.getBorderWidth(sides))},addClsOnOver:function(className){var dom=this.dom;this.hover(function(){Ext.fly(dom,INTERNAL).addCls(className)},function(){Ext.fly(dom,INTERNAL).removeCls(className)});return this},addClsOnFocus:function(className){var me=this,dom=me.dom;me.on("focus",function(){Ext.fly(dom,INTERNAL).addCls(className)});me.on("blur",function(){Ext.fly(dom,INTERNAL).removeCls(className)});return me},addClsOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,INTERNAL).addCls(className);var d=Ext.getDoc(),fn=function(){Ext.fly(dom,INTERNAL).removeCls(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},getViewSize:function(){var me=this,dom=me.dom,isDoc=(dom==Ext.getDoc().dom||dom==Ext.getBody().dom),style,overflow,ret;if(isDoc){ret={width:ELEMENT.getViewWidth(),height:ELEMENT.getViewHeight()}}else{if(Ext.isIE6||Ext.isIEQuirks){style=dom.style;overflow=style.overflow;me.setStyle({overflow:"hidden"})}ret={width:dom.clientWidth,height:dom.clientHeight};if(Ext.isIE6||Ext.isIEQuirks){me.setStyle({overflow:overflow})}}return ret},getStyleSize:function(){var me=this,doc=document,d=this.dom,isDoc=(d==doc||d==doc.body),s=d.style,w,h;if(isDoc){return{width:ELEMENT.getViewWidth(),height:ELEMENT.getViewHeight()}}if(s.width&&s.width!="auto"){w=parseFloat(s.width);if(me.isBorderBox()){w-=me.getFrameWidth("lr")}}if(s.height&&s.height!="auto"){h=parseFloat(s.height);if(me.isBorderBox()){h-=me.getFrameWidth("tb")}}return{width:w||me.getWidth(true),height:h||me.getHeight(true)}},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}},repaint:function(){var dom=this.dom;this.addCls(Ext.baseCSSPrefix+"repaint");setTimeout(function(){Ext.fly(dom).removeCls(Ext.baseCSSPrefix+"repaint")},1);return this},selectable:function(){var me=this;me.dom.unselectable="off";me.on("selectstart",function(e){e.stopPropagation();return true});me.applyStyles("-moz-user-select: text; -khtml-user-select: text;");me.removeCls(Ext.baseCSSPrefix+"unselectable");return me},unselectable:function(){var me=this;me.dom.unselectable="on";me.swallowEvent("selectstart",true);me.applyStyles("-moz-user-select:-moz-none;-khtml-user-select:none;");me.addCls(Ext.baseCSSPrefix+"unselectable");return me},getMargin:function(side){var me=this,hash={t:"top",l:"left",r:"right",b:"bottom"},o={},key;if(!side){for(key in me.margins){o[hash[key]]=parseFloat(me.getStyle(me.margins[key]))||0}return o}else{return me.addStyles.call(me,side,me.margins)}}})})();Ext.Element.VISIBILITY=1;Ext.Element.DISPLAY=2;Ext.Element.OFFSETS=3;Ext.Element.ASCLASS=4;Ext.Element.visibilityCls=Ext.baseCSSPrefix+"hide-nosize";Ext.Element.addMethods(function(){var El=Ext.Element,OPACITY="opacity",VISIBILITY="visibility",DISPLAY="display",HIDDEN="hidden",OFFSETS="offsets",ASCLASS="asclass",NONE="none",NOSIZE="nosize",ORIGINALDISPLAY="originalDisplay",VISMODE="visibilityMode",ISVISIBLE="isVisible",data=El.data,getDisplay=function(dom){var d=data(dom,ORIGINALDISPLAY);if(d===undefined){data(dom,ORIGINALDISPLAY,d="")}return d},getVisMode=function(dom){var m=data(dom,VISMODE);if(m===undefined){data(dom,VISMODE,m=1)}return m};return{originalDisplay:"",visibilityMode:1,setVisibilityMode:function(visMode){data(this.dom,VISMODE,visMode);return this},isVisible:function(){var me=this,dom=me.dom,visible=data(dom,ISVISIBLE);if(typeof visible=="boolean"){return visible}visible=!me.isStyle(VISIBILITY,HIDDEN)&&!me.isStyle(DISPLAY,NONE)&&!((getVisMode(dom)==El.ASCLASS)&&me.hasCls(me.visibilityCls||El.visibilityCls));data(dom,ISVISIBLE,visible);return visible},setVisible:function(visible,animate){var me=this,isDisplay,isVisibility,isOffsets,isNosize,dom=me.dom,visMode=getVisMode(dom);if(typeof animate=="string"){switch(animate){case DISPLAY:visMode=El.DISPLAY;break;case VISIBILITY:visMode=El.VISIBILITY;break;case OFFSETS:visMode=El.OFFSETS;break;case NOSIZE:case ASCLASS:visMode=El.ASCLASS;break}me.setVisibilityMode(visMode);animate=false}if(!animate||!me.anim){if(visMode==El.ASCLASS){me[visible?"removeCls":"addCls"](me.visibilityCls||El.visibilityCls)}else{if(visMode==El.DISPLAY){return me.setDisplayed(visible)}else{if(visMode==El.OFFSETS){if(!visible){if(!me.hideModeStyles){me.hideModeStyles={position:me.getStyle("position"),top:me.getStyle("top"),left:me.getStyle("left")}}me.applyStyles({position:"absolute",top:"-10000px",left:"-10000px"})}else{if(me.hideModeStyles){me.applyStyles(me.hideModeStyles||{position:"",top:"",left:""});delete me.hideModeStyles}}}else{me.fixDisplay();dom.style.visibility=visible?"":HIDDEN}}}}else{if(visible){me.setOpacity(0.01);me.setVisible(true)}if(!Ext.isObject(animate)){animate={duration:350,easing:"ease-in"}}me.animate(Ext.applyIf({callback:function(){visible||me.setVisible(false).setOpacity(1)},to:{opacity:(visible)?1:0}},animate))}data(dom,ISVISIBLE,visible);return me},hasMetrics:function(){var dom=this.dom;return this.isVisible()||(getVisMode(dom)==El.OFFSETS)||(getVisMode(dom)==El.VISIBILITY)},toggle:function(animate){var me=this;me.setVisible(!me.isVisible(),me.anim(animate));return me},setDisplayed:function(value){if(typeof value=="boolean"){value=value?getDisplay(this.dom):NONE}this.setStyle(DISPLAY,value);return this},fixDisplay:function(){var me=this;if(me.isStyle(DISPLAY,NONE)){me.setStyle(VISIBILITY,HIDDEN);me.setStyle(DISPLAY,getDisplay(this.dom));if(me.isStyle(DISPLAY,NONE)){me.setStyle(DISPLAY,"block")}}},hide:function(animate){if(typeof animate=="string"){this.setVisible(false,animate);return this}this.setVisible(false,this.anim(animate));return this},show:function(animate){if(typeof animate=="string"){this.setVisible(true,animate);return this}this.setVisible(true,this.anim(animate));return this}}}());Ext.applyIf(Ext.Element.prototype,{animate:function(config){var me=this;if(!me.id){me=Ext.get(me.dom)}if(Ext.fx.Manager.hasFxBlock(me.id)){return me}Ext.fx.Manager.queueFx(Ext.create("Ext.fx.Anim",me.anim(config)));return this},anim:function(config){if(!Ext.isObject(config)){return(config)?{}:false}var me=this,duration=config.duration||Ext.fx.Anim.prototype.duration,easing=config.easing||"ease",animConfig;if(config.stopAnimation){me.stopAnimation()}Ext.applyIf(config,Ext.fx.Manager.getFxDefaults(me.id));Ext.fx.Manager.setFxDefaults(me.id,{delay:0});animConfig={target:me,remove:config.remove,alternate:config.alternate||false,duration:duration,easing:easing,callback:config.callback,listeners:config.listeners,iterations:config.iterations||1,scope:config.scope,block:config.block,concurrent:config.concurrent,delay:config.delay||0,paused:true,keyframes:config.keyframes,from:config.from||{},to:Ext.apply({},config)};Ext.apply(animConfig.to,config.to);delete animConfig.to.to;delete animConfig.to.from;delete animConfig.to.remove;delete animConfig.to.alternate;delete animConfig.to.keyframes;delete animConfig.to.iterations;delete animConfig.to.listeners;delete animConfig.to.target;delete animConfig.to.paused;delete animConfig.to.callback;delete animConfig.to.scope;delete animConfig.to.duration;delete animConfig.to.easing;delete animConfig.to.concurrent;delete animConfig.to.block;delete animConfig.to.stopAnimation;delete animConfig.to.delay;return animConfig},slideIn:function(anchor,obj,slideOut){var me=this,elStyle=me.dom.style,beforeAnim,wrapAnim;anchor=anchor||"t";obj=obj||{};beforeAnim=function(){var animScope=this,listeners=obj.listeners,box,position,restoreSize,wrap,anim;if(!slideOut){me.fixDisplay()}box=me.getBox();if((anchor=="t"||anchor=="b")&&box.height===0){box.height=me.dom.scrollHeight}else{if((anchor=="l"||anchor=="r")&&box.width===0){box.width=me.dom.scrollWidth}}position=me.getPositioning();me.setSize(box.width,box.height);wrap=me.wrap({style:{visibility:slideOut?"visible":"hidden"}});wrap.setPositioning(position);if(wrap.isStyle("position","static")){wrap.position("relative")}me.clearPositioning("auto");wrap.clip();me.setStyle({visibility:"",position:"absolute"});if(slideOut){wrap.setSize(box.width,box.height)}switch(anchor){case"t":anim={from:{width:box.width+"px",height:"0px"},to:{width:box.width+"px",height:box.height+"px"}};elStyle.bottom="0px";break;case"l":anim={from:{width:"0px",height:box.height+"px"},to:{width:box.width+"px",height:box.height+"px"}};elStyle.right="0px";break;case"r":anim={from:{x:box.x+box.width,width:"0px",height:box.height+"px"},to:{x:box.x,width:box.width+"px",height:box.height+"px"}};break;case"b":anim={from:{y:box.y+box.height,width:box.width+"px",height:"0px"},to:{y:box.y,width:box.width+"px",height:box.height+"px"}};break;case"tl":anim={from:{x:box.x,y:box.y,width:"0px",height:"0px"},to:{width:box.width+"px",height:box.height+"px"}};elStyle.bottom="0px";elStyle.right="0px";break;case"bl":anim={from:{x:box.x+box.width,width:"0px",height:"0px"},to:{x:box.x,width:box.width+"px",height:box.height+"px"}};elStyle.right="0px";break;case"br":anim={from:{x:box.x+box.width,y:box.y+box.height,width:"0px",height:"0px"},to:{x:box.x,y:box.y,width:box.width+"px",height:box.height+"px"}};break;case"tr":anim={from:{y:box.y+box.height,width:"0px",height:"0px"},to:{y:box.y,width:box.width+"px",height:box.height+"px"}};elStyle.bottom="0px";break}wrap.show();wrapAnim=Ext.apply({},obj);delete wrapAnim.listeners;wrapAnim=Ext.create("Ext.fx.Anim",Ext.applyIf(wrapAnim,{target:wrap,duration:500,easing:"ease-out",from:slideOut?anim.to:anim.from,to:slideOut?anim.from:anim.to}));wrapAnim.on("afteranimate",function(){if(slideOut){me.setPositioning(position);if(obj.useDisplay){me.setDisplayed(false)}else{me.hide()}}else{me.clearPositioning();me.setPositioning(position)}if(wrap.dom){wrap.dom.parentNode.insertBefore(me.dom,wrap.dom);wrap.remove()}me.setSize(box.width,box.height);animScope.end()});if(listeners){wrapAnim.on(listeners)}};me.animate({duration:obj.duration?obj.duration*2:1000,listeners:{beforeanimate:{fn:beforeAnim},afteranimate:{fn:function(){if(wrapAnim&&wrapAnim.running){wrapAnim.end()}}}}});return me},slideOut:function(anchor,o){return this.slideIn(anchor,o,true)},puff:function(obj){var me=this,beforeAnim;obj=Ext.applyIf(obj||{},{easing:"ease-out",duration:500,useDisplay:false});beforeAnim=function(){me.clearOpacity();me.show();var box=me.getBox(),fontSize=me.getStyle("fontSize"),position=me.getPositioning();this.to={width:box.width*2,height:box.height*2,x:box.x-(box.width/2),y:box.y-(box.height/2),opacity:0,fontSize:"200%"};this.on("afteranimate",function(){if(me.dom){if(obj.useDisplay){me.setDisplayed(false)}else{me.hide()}me.clearOpacity();me.setPositioning(position);me.setStyle({fontSize:fontSize})}})};me.animate({duration:obj.duration,easing:obj.easing,listeners:{beforeanimate:{fn:beforeAnim}}});return me},switchOff:function(obj){var me=this,beforeAnim;obj=Ext.applyIf(obj||{},{easing:"ease-in",duration:500,remove:false,useDisplay:false});beforeAnim=function(){var animScope=this,size=me.getSize(),xy=me.getXY(),keyframe,position;me.clearOpacity();me.clip();position=me.getPositioning();keyframe=Ext.create("Ext.fx.Animator",{target:me,duration:obj.duration,easing:obj.easing,keyframes:{33:{opacity:0.3},66:{height:1,y:xy[1]+size.height/2},100:{width:1,x:xy[0]+size.width/2}}});keyframe.on("afteranimate",function(){if(obj.useDisplay){me.setDisplayed(false)}else{me.hide()}me.clearOpacity();me.setPositioning(position);me.setSize(size);animScope.end()})};me.animate({duration:(obj.duration*2),listeners:{beforeanimate:{fn:beforeAnim}}});return me},frame:function(color,count,obj){var me=this,beforeAnim;color=color||"#C3DAF9";count=count||1;obj=obj||{};beforeAnim=function(){me.show();var animScope=this,box=me.getBox(),proxy=Ext.getBody().createChild({style:{position:"absolute","pointer-events":"none","z-index":35000,border:"0px solid "+color}}),proxyAnim;proxyAnim=Ext.create("Ext.fx.Anim",{target:proxy,duration:obj.duration||1000,iterations:count,from:{top:box.y,left:box.x,borderWidth:0,opacity:1,height:box.height,width:box.width},to:{top:box.y-20,left:box.x-20,borderWidth:10,opacity:0,height:box.height+40,width:box.width+40}});proxyAnim.on("afteranimate",function(){proxy.remove();animScope.end()})};me.animate({duration:(obj.duration*2)||2000,listeners:{beforeanimate:{fn:beforeAnim}}});return me},ghost:function(anchor,obj){var me=this,beforeAnim;anchor=anchor||"b";beforeAnim=function(){var width=me.getWidth(),height=me.getHeight(),xy=me.getXY(),position=me.getPositioning(),to={opacity:0};switch(anchor){case"t":to.y=xy[1]-height;break;case"l":to.x=xy[0]-width;break;case"r":to.x=xy[0]+width;break;case"b":to.y=xy[1]+height;break;case"tl":to.x=xy[0]-width;to.y=xy[1]-height;break;case"bl":to.x=xy[0]-width;to.y=xy[1]+height;break;case"br":to.x=xy[0]+width;to.y=xy[1]+height;break;case"tr":to.x=xy[0]+width;to.y=xy[1]-height;break}this.to=to;this.on("afteranimate",function(){if(me.dom){me.hide();me.clearOpacity();me.setPositioning(position)}})};me.animate(Ext.applyIf(obj||{},{duration:500,easing:"ease-out",listeners:{beforeanimate:{fn:beforeAnim}}}));return me},highlight:function(color,o){var me=this,dom=me.dom,from={},restore,to,attr,lns,event,fn;o=o||{};lns=o.listeners||{};attr=o.attr||"backgroundColor";from[attr]=color||"ffff9c";if(!o.to){to={};to[attr]=o.endColor||me.getColor(attr,"ffffff","")}else{to=o.to}o.listeners=Ext.apply(Ext.apply({},lns),{beforeanimate:function(){restore=dom.style[attr];me.clearOpacity();me.show();event=lns.beforeanimate;if(event){fn=event.fn||event;return fn.apply(event.scope||lns.scope||window,arguments)}},afteranimate:function(){if(dom){dom.style[attr]=restore}event=lns.afteranimate;if(event){fn=event.fn||event;fn.apply(event.scope||lns.scope||window,arguments)}}});me.animate(Ext.apply({},o,{duration:1000,easing:"ease-in",from:from,to:to}));return me},pause:function(ms){var me=this;Ext.fx.Manager.setFxDefaults(me.id,{delay:ms});return me},fadeIn:function(o){this.animate(Ext.apply({},o,{opacity:1}));return this},fadeOut:function(o){this.animate(Ext.apply({},o,{opacity:0}));return this},scale:function(w,h,o){this.animate(Ext.apply({},o,{width:w,height:h}));return this},shift:function(config){this.animate(config);return this}});Ext.applyIf(Ext.Element,{unitRe:/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i,camelRe:/(-[a-z])/gi,opacityRe:/alpha\(opacity=(.*)\)/i,cssRe:/([a-z0-9-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*);?/gi,propertyCache:{},defaultUnit:"px",borders:{l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"},paddings:{l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"},margins:{l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"},addUnits:Ext.Element.prototype.addUnits,parseBox:function(box){if(Ext.isObject(box)){return{top:box.top||0,right:box.right||0,bottom:box.bottom||0,left:box.left||0}}else{if(typeof box!="string"){box=box.toString()}var parts=box.split(" "),ln=parts.length;if(ln==1){parts[1]=parts[2]=parts[3]=parts[0]}else{if(ln==2){parts[2]=parts[0];parts[3]=parts[1]}else{if(ln==3){parts[3]=parts[1]}}}return{top:parseFloat(parts[0])||0,right:parseFloat(parts[1])||0,bottom:parseFloat(parts[2])||0,left:parseFloat(parts[3])||0}}},unitizeBox:function(box,units){var A=this.addUnits,B=this.parseBox(box);return A(B.top,units)+" "+A(B.right,units)+" "+A(B.bottom,units)+" "+A(B.left,units)},camelReplaceFn:function(m,a){return a.charAt(1).toUpperCase()},normalize:function(prop){if(prop=="float"){prop=Ext.supports.Float?"cssFloat":"styleFloat"}return this.propertyCache[prop]||(this.propertyCache[prop]=prop.replace(this.camelRe,this.camelReplaceFn))},getDocumentHeight:function(){return Math.max(!Ext.isStrict?document.body.scrollHeight:document.documentElement.scrollHeight,this.getViewportHeight())},getDocumentWidth:function(){return Math.max(!Ext.isStrict?document.body.scrollWidth:document.documentElement.scrollWidth,this.getViewportWidth())},getViewportHeight:function(){return window.innerHeight},getViewportWidth:function(){return window.innerWidth},getViewSize:function(){return{width:window.innerWidth,height:window.innerHeight}},getOrientation:function(){if(Ext.supports.OrientationChange){return(window.orientation==0)?"portrait":"landscape"}return(window.innerHeight>window.innerWidth)?"portrait":"landscape"},fromPoint:function(x,y){return Ext.get(document.elementFromPoint(x,y))},parseStyles:function(styles){var out={},cssRe=this.cssRe,matches;if(styles){cssRe.lastIndex=0;while((matches=cssRe.exec(styles))){out[matches[1]]=matches[2]}}return out}});Ext.CompositeElementLite=function(els,root){this.elements=[];this.add(els,root);this.el=new Ext.Element.Flyweight()};Ext.CompositeElementLite.prototype={isComposite:true,getElement:function(el){var e=this.el;e.dom=el;e.id=el.id;return e},transformElement:function(el){return Ext.getDom(el)},getCount:function(){return this.elements.length},add:function(els,root){var me=this,elements=me.elements;if(!els){return this}if(typeof els=="string"){els=Ext.Element.selectorFunction(els,root)}else{if(els.isComposite){els=els.elements}else{if(!Ext.isIterable(els)){els=[els]}}}for(var i=0,len=els.length;i-1){replacement=Ext.getDom(replacement);if(domReplace){d=this.elements[index];d.parentNode.insertBefore(replacement,d);Ext.removeNode(d)}Ext.Array.splice(this.elements,index,1,replacement)}return this},clear:function(){this.elements=[]}};Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;Ext.CompositeElementLite.importElementMethods=function(){var fnName,ElProto=Ext.Element.prototype,CelProto=Ext.CompositeElementLite.prototype;for(fnName in ElProto){if(typeof ElProto[fnName]=="function"){(function(fnName){CelProto[fnName]=CelProto[fnName]||function(){return this.invoke(fnName,arguments)}}).call(CelProto,fnName)}}};Ext.CompositeElementLite.importElementMethods();if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(selector,root){var els;if(typeof selector=="string"){els=Ext.Element.selectorFunction(selector,root)}else{if(selector.length!==undefined){els=selector}else{}}return new Ext.CompositeElementLite(els)};Ext.select=Ext.Element.select;Ext.util.DelayedTask=function(fn,scope,args){var me=this,id,call=function(){clearInterval(id);id=null;fn.apply(scope,args||[])};this.delay=function(delay,newFn,newScope,newArgs){me.cancel();fn=newFn||fn;scope=newScope||scope;args=newArgs||args;id=setInterval(call,delay)};this.cancel=function(){if(id){clearInterval(id);id=null}}};Ext.require("Ext.util.DelayedTask",function(){Ext.util.Event=Ext.extend(Object,(function(){function createBuffered(handler,listener,o,scope){listener.task=new Ext.util.DelayedTask();return function(){listener.task.delay(o.buffer,handler,scope,Ext.Array.toArray(arguments))}}function createDelayed(handler,listener,o,scope){return function(){var task=new Ext.util.DelayedTask();if(!listener.tasks){listener.tasks=[]}listener.tasks.push(task);task.delay(o.delay||10,handler,scope,Ext.Array.toArray(arguments))}}function createSingle(handler,listener,o,scope){return function(){listener.ev.removeListener(listener.fn,scope);return handler.apply(scope,arguments)}}return{isEvent:true,constructor:function(observable,name){this.name=name;this.observable=observable;this.listeners=[]},addListener:function(fn,scope,options){var me=this,listener;scope=scope||me.observable;if(!me.isListening(fn,scope)){listener=me.createListener(fn,scope,options);if(me.firing){me.listeners=me.listeners.slice(0)}me.listeners.push(listener)}},createListener:function(fn,scope,o){o=o||{};scope=scope||this.observable;var listener={fn:fn,scope:scope,o:o,ev:this},handler=fn;if(o.single){handler=createSingle(handler,listener,o,scope)}if(o.delay){handler=createDelayed(handler,listener,o,scope)}if(o.buffer){handler=createBuffered(handler,listener,o,scope)}listener.fireFn=handler;return listener},findListener:function(fn,scope){var listeners=this.listeners,i=listeners.length,listener,s;while(i--){listener=listeners[i];if(listener){s=listener.scope;if(listener.fn==fn&&(s==scope||s==this.observable)){return i}}}return -1},isListening:function(fn,scope){return this.findListener(fn,scope)!==-1},removeListener:function(fn,scope){var me=this,index,listener,k;index=me.findListener(fn,scope);if(index!=-1){listener=me.listeners[index];if(me.firing){me.listeners=me.listeners.slice(0)}if(listener.task){listener.task.cancel();delete listener.task}k=listener.tasks&&listener.tasks.length;if(k){while(k--){listener.tasks[k].cancel()}delete listener.tasks}Ext.Array.erase(me.listeners,index,1);return true}return false},clearListeners:function(){var listeners=this.listeners,i=listeners.length;while(i--){this.removeListener(listeners[i].fn,listeners[i].scope)}},fire:function(){var me=this,listeners=me.listeners,count=listeners.length,i,args,listener;if(count>0){me.firing=true;for(i=0;i111&&event.keyCode<124){event.keyCode=-1}}catch(e){}}},getRelatedTarget:function(event){event=event.browserEvent||event;var target=event.relatedTarget;if(!target){if(this.mouseLeaveRe.test(event.type)){target=event.toElement}else{if(this.mouseEnterRe.test(event.type)){target=event.fromElement}}}return this.resolveTextNode(target)},getPageX:function(event){return this.getXY(event)[0]},getPageY:function(event){return this.getXY(event)[1]},getPageXY:function(event){event=event.browserEvent||event;var x=event.pageX,y=event.pageY,doc=document.documentElement,body=document.body;if(!x&&x!==0){x=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);y=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}return[x,y]},getTarget:function(event){event=event.browserEvent||event;return this.resolveTextNode(event.target||event.srcElement)},resolveTextNode:Ext.isGecko?function(node){if(!node){return}var s=HTMLElement.prototype.toString.call(node);if(s=="[xpconnect wrapped native prototype]"||s=="[object XULElement]"){return}return node.nodeType==3?node.parentNode:node}:function(node){return node&&node.nodeType==3?node.parentNode:node},curWidth:0,curHeight:0,onWindowResize:function(fn,scope,options){var resize=this.resizeEvent;if(!resize){this.resizeEvent=resize=new Ext.util.Event();this.on(window,"resize",this.fireResize,this,{buffer:100})}resize.addListener(fn,scope,options)},fireResize:function(){var me=this,w=Ext.Element.getViewWidth(),h=Ext.Element.getViewHeight();if(me.curHeight!=h||me.curWidth!=w){me.curHeight=h;me.curWidth=w;me.resizeEvent.fire(w,h)}},removeResizeListener:function(fn,scope){if(this.resizeEvent){this.resizeEvent.removeListener(fn,scope)}},onWindowUnload:function(){var unload=this.unloadEvent;if(!unload){this.unloadEvent=unload=new Ext.util.Event();this.addListener(window,"unload",this.fireUnload,this)}},fireUnload:function(){try{this.removeUnloadListener();if(Ext.isGecko3){var gridviews=Ext.ComponentQuery.query("gridview"),i=0,ln=gridviews.length;for(;i=525:!((Ext.isGecko&&!Ext.isWindows)||Ext.isOpera),getKeyEvent:function(){return this.useKeyDown?"keydown":"keypress"}};Ext.onReady=function(fn,scope,options){Ext.Loader.onReady(fn,scope,true,options)};Ext.onDocumentReady=Ext.EventManager.onDocumentReady;Ext.EventManager.on=Ext.EventManager.addListener;Ext.EventManager.un=Ext.EventManager.removeListener;(function(){var initExtCss=function(){var bd=document.body||document.getElementsByTagName("body")[0],baseCSSPrefix=Ext.baseCSSPrefix,cls=[baseCSSPrefix+"body"],htmlCls=[],html;if(!bd){return false}html=bd.parentNode;function add(c){cls.push(baseCSSPrefix+c)}if(Ext.isIE){add("ie");if(Ext.isIE6){add("ie6")}else{add("ie7p");if(Ext.isIE7){add("ie7")}else{add("ie8p");if(Ext.isIE8){add("ie8")}else{add("ie9p");if(Ext.isIE9){add("ie9")}}}}if(Ext.isIE6||Ext.isIE7){add("ie7m")}if(Ext.isIE6||Ext.isIE7||Ext.isIE8){add("ie8m")}if(Ext.isIE7||Ext.isIE8){add("ie78")}}if(Ext.isGecko){add("gecko");if(Ext.isGecko3){add("gecko3")}if(Ext.isGecko4){add("gecko4")}if(Ext.isGecko5){add("gecko5")}}if(Ext.isOpera){add("opera")}if(Ext.isWebKit){add("webkit")}if(Ext.isSafari){add("safari");if(Ext.isSafari2){add("safari2")}if(Ext.isSafari3){add("safari3")}if(Ext.isSafari4){add("safari4")}if(Ext.isSafari5){add("safari5")}}if(Ext.isChrome){add("chrome")}if(Ext.isMac){add("mac")}if(Ext.isLinux){add("linux")}if(!Ext.supports.CSS3BorderRadius){add("nbr")}if(!Ext.supports.CSS3LinearGradient){add("nlg")}if(!Ext.scopeResetCSS){add("reset")}if(html){if(Ext.isStrict&&(Ext.isIE6||Ext.isIE7)){Ext.isBorderBox=false}else{Ext.isBorderBox=true}htmlCls.push(baseCSSPrefix+(Ext.isBorderBox?"border-box":"strict"));if(!Ext.isStrict){htmlCls.push(baseCSSPrefix+"quirks")}Ext.fly(html,"_internal").addCls(htmlCls)}Ext.fly(bd,"_internal").addCls(cls);return true};Ext.onReady(initExtCss)})();Ext.define("Ext.EventObjectImpl",{uses:["Ext.util.Point"],BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN: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,WHEEL_SCALE:(function(){var scale;if(Ext.isGecko){scale=3}else{if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){scale=120}else{scale=12}scale*=3}else{scale=120}}return scale})(),clickRe:/(dbl)?click/,safariKeys:{3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},btnMap:Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2},constructor:function(event,freezeEvent){if(event){this.setEvent(event.browserEvent||event,freezeEvent)}},setEvent:function(event,freezeEvent){var me=this,button,options;if(event==me||(event&&event.browserEvent)){return event}me.browserEvent=event;if(event){button=event.button?me.btnMap[event.button]:(event.which?event.which-1:-1);if(me.clickRe.test(event.type)&&button==-1){button=0}options={type:event.type,button:button,shiftKey:event.shiftKey,ctrlKey:event.ctrlKey||event.metaKey||false,altKey:event.altKey,keyCode:event.keyCode,charCode:event.charCode,target:Ext.EventManager.getTarget(event),relatedTarget:Ext.EventManager.getRelatedTarget(event),currentTarget:event.currentTarget,xy:(freezeEvent?me.getXY():null)}}else{options={button:-1,shiftKey:false,ctrlKey:false,altKey:false,keyCode:0,charCode:0,target:null,xy:[0,0]}}Ext.apply(me,options);return me},stopEvent:function(){this.stopPropagation();this.preventDefault()},preventDefault:function(){if(this.browserEvent){Ext.EventManager.preventDefault(this.browserEvent)}},stopPropagation:function(){var browserEvent=this.browserEvent;if(browserEvent){if(browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}Ext.EventManager.stopPropagation(browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(key){return Ext.isWebKit?(this.safariKeys[key]||key):key},getPageX:function(){return this.getX()},getPageY:function(){return this.getY()},getX:function(){return this.getXY()[0]},getY:function(){return this.getXY()[1]},getXY:function(){if(!this.xy){this.xy=Ext.EventManager.getPageXY(this.browserEvent)}return this.xy},getTarget:function(selector,maxDepth,returnEl){if(selector){return Ext.fly(this.target).findParent(selector,maxDepth,returnEl)}return returnEl?Ext.get(this.target):this.target},getRelatedTarget:function(selector,maxDepth,returnEl){if(selector){return Ext.fly(this.relatedTarget).findParent(selector,maxDepth,returnEl)}return returnEl?Ext.get(this.relatedTarget):this.relatedTarget},correctWheelDelta:function(delta){var scale=this.WHEEL_SCALE,ret=Math.round(delta/scale);if(!ret&&delta){ret=(delta<0)?-1:1}return ret},getWheelDeltas:function(){var me=this,event=me.browserEvent,dx=0,dy=0;if(Ext.isDefined(event.wheelDeltaX)){dx=event.wheelDeltaX;dy=event.wheelDeltaY}else{if(event.wheelDelta){dy=event.wheelDelta}else{if(event.detail){dy=-event.detail;if(dy>100){dy=3}else{if(dy<-100){dy=-3}}if(Ext.isDefined(event.axis)&&event.axis===event.HORIZONTAL_AXIS){dx=dy;dy=0}}}}return{x:me.correctWheelDelta(dx),y:me.correctWheelDelta(dy)}},getWheelDelta:function(){var deltas=this.getWheelDeltas();return deltas.y},within:function(el,related,allowEl){if(el){var t=related?this.getRelatedTarget():this.getTarget(),result;if(t){result=Ext.fly(el).contains(t);if(!result&&allowEl){result=t==Ext.getDom(el)}return result}}return false},isNavKeyPress:function(){var me=this,k=this.normalizeKey(me.keyCode);return(k>=33&&k<=40)||k==me.RETURN||k==me.TAB||k==me.ESC},isSpecialKey:function(){var k=this.normalizeKey(this.keyCode);return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(k==this.BACKSPACE)||(k>=16&&k<=20)||(k>=44&&k<=46)},getPoint:function(){var xy=this.getXY();return Ext.create("Ext.util.Point",xy[0],xy[1])},hasModifier:function(){return this.ctrlKey||this.altKey||this.shiftKey||this.metaKey},injectEvent:function(){var API,dispatchers={};if(!Ext.isIE&&document.createEvent){API={createHtmlEvent:function(doc,type,bubbles,cancelable){var event=doc.createEvent("HTMLEvents");event.initEvent(type,bubbles,cancelable);return event},createMouseEvent:function(doc,type,bubbles,cancelable,detail,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget){var event=doc.createEvent("MouseEvents"),view=doc.defaultView||window;if(event.initMouseEvent){event.initMouseEvent(type,bubbles,cancelable,view,detail,clientX,clientY,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget)}else{event=doc.createEvent("UIEvents");event.initEvent(type,bubbles,cancelable);event.view=view;event.detail=detail;event.screenX=clientX;event.screenY=clientY;event.clientX=clientX;event.clientY=clientY;event.ctrlKey=ctrlKey;event.altKey=altKey;event.metaKey=metaKey;event.shiftKey=shiftKey;event.button=button;event.relatedTarget=relatedTarget}return event},createUIEvent:function(doc,type,bubbles,cancelable,detail){var event=doc.createEvent("UIEvents"),view=doc.defaultView||window;event.initUIEvent(type,bubbles,cancelable,view,detail);return event},fireEvent:function(target,type,event){target.dispatchEvent(event)},fixTarget:function(target){if(target==window&&!target.dispatchEvent){return document}return target}}}else{if(document.createEventObject){var crazyIEButtons={0:1,1:4,2:2};API={createHtmlEvent:function(doc,type,bubbles,cancelable){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;return event},createMouseEvent:function(doc,type,bubbles,cancelable,detail,clientX,clientY,ctrlKey,altKey,shiftKey,metaKey,button,relatedTarget){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;event.detail=detail;event.screenX=clientX;event.screenY=clientY;event.clientX=clientX;event.clientY=clientY;event.ctrlKey=ctrlKey;event.altKey=altKey;event.shiftKey=shiftKey;event.metaKey=metaKey;event.button=crazyIEButtons[button]||button;event.relatedTarget=relatedTarget;return event},createUIEvent:function(doc,type,bubbles,cancelable,detail){var event=doc.createEventObject();event.bubbles=bubbles;event.cancelable=cancelable;return event},fireEvent:function(target,type,event){target.fireEvent("on"+type,event)},fixTarget:function(target){if(target==document){return document.documentElement}return target}}}}Ext.Object.each({load:[false,false],unload:[false,false],select:[true,false],change:[true,false],submit:[true,true],reset:[true,false],resize:[true,false],scroll:[true,false]},function(name,value){var bubbles=value[0],cancelable=value[1];dispatchers[name]=function(targetEl,srcEvent){var e=API.createHtmlEvent(name,bubbles,cancelable);API.fireEvent(targetEl,name,e)}});function createMouseEventDispatcher(type,detail){var cancelable=(type!="mousemove");return function(targetEl,srcEvent){var xy=srcEvent.getXY(),e=API.createMouseEvent(targetEl.ownerDocument,type,true,cancelable,detail,xy[0],xy[1],srcEvent.ctrlKey,srcEvent.altKey,srcEvent.shiftKey,srcEvent.metaKey,srcEvent.button,srcEvent.relatedTarget);API.fireEvent(targetEl,type,e)}}Ext.each(["click","dblclick","mousedown","mouseup","mouseover","mousemove","mouseout"],function(eventName){dispatchers[eventName]=createMouseEventDispatcher(eventName,1)});Ext.Object.each({focusin:[true,false],focusout:[true,false],activate:[true,true],focus:[false,false],blur:[false,false]},function(name,value){var bubbles=value[0],cancelable=value[1];dispatchers[name]=function(targetEl,srcEvent){var e=API.createUIEvent(targetEl.ownerDocument,name,bubbles,cancelable,1);API.fireEvent(targetEl,name,e)}});if(!API){dispatchers={};API={fixTarget:function(t){return t}}}function cannotInject(target,srcEvent){}return function(target){var me=this,dispatcher=dispatchers[me.type]||cannotInject,t=target?(target.dom||target):me.getTarget();t=API.fixTarget(t);dispatcher(t,me)}}()},function(){Ext.EventObject=new Ext.EventObjectImpl()});(function(){var doc=document,activeElement=null,isCSS1=doc.compatMode=="CSS1Compat",ELEMENT=Ext.Element,fly=function(el){if(!_fly){_fly=new Ext.Element.Flyweight()}_fly.dom=el;return _fly},_fly;if(!("activeElement" in doc)&&doc.addEventListener){doc.addEventListener("focus",function(ev){if(ev&&ev.target){activeElement=(ev.target==doc)?null:ev.target}},true)}function makeSelectionRestoreFn(activeEl,start,end){return function(){activeEl.selectionStart=start;activeEl.selectionEnd=end}}Ext.apply(ELEMENT,{isAncestor:function(p,c){var ret=false;p=Ext.getDom(p);c=Ext.getDom(c);if(p&&c){if(p.contains){return p.contains(c)}else{if(p.compareDocumentPosition){return !!(p.compareDocumentPosition(c)&16)}else{while((c=c.parentNode)){ret=c==p||ret}}}}return ret},getActiveElement:function(){return doc.activeElement||activeElement},getRightMarginFixCleaner:function(target){var supports=Ext.supports,hasInputBug=supports.DisplayChangeInputSelectionBug,hasTextAreaBug=supports.DisplayChangeTextAreaSelectionBug;if(hasInputBug||hasTextAreaBug){var activeEl=doc.activeElement||activeElement,tag=activeEl&&activeEl.tagName,start,end;if((hasTextAreaBug&&tag=="TEXTAREA")||(hasInputBug&&tag=="INPUT"&&activeEl.type=="text")){if(ELEMENT.isAncestor(target,activeEl)){start=activeEl.selectionStart;end=activeEl.selectionEnd;if(Ext.isNumber(start)&&Ext.isNumber(end)){return makeSelectionRestoreFn(activeEl,start,end)}}}}return Ext.emptyFn},getViewWidth:function(full){return full?ELEMENT.getDocumentWidth():ELEMENT.getViewportWidth()},getViewHeight:function(full){return full?ELEMENT.getDocumentHeight():ELEMENT.getViewportHeight()},getDocumentHeight:function(){return Math.max(!isCSS1?doc.body.scrollHeight:doc.documentElement.scrollHeight,ELEMENT.getViewportHeight())},getDocumentWidth:function(){return Math.max(!isCSS1?doc.body.scrollWidth:doc.documentElement.scrollWidth,ELEMENT.getViewportWidth())},getViewportHeight:function(){return Ext.isIE?(Ext.isStrict?doc.documentElement.clientHeight:doc.body.clientHeight):self.innerHeight},getViewportWidth:function(){return(!Ext.isStrict&&!Ext.isOpera)?doc.body.clientWidth:Ext.isIE?doc.documentElement.clientWidth:self.innerWidth},getY:function(el){return ELEMENT.getXY(el)[1]},getX:function(el){return ELEMENT.getXY(el)[0]},getOffsetParent:function(el){el=Ext.getDom(el);try{return el.offsetParent}catch(e){var body=document.body;return(el==body)?null:body}},getXY:function(el){var p,pe,b,bt,bl,dbd,x=0,y=0,scroll,hasAbsolute,bd=(doc.body||doc.documentElement),ret;el=Ext.getDom(el);if(el!=bd){hasAbsolute=fly(el).isStyle("position","absolute");if(el.getBoundingClientRect){try{b=el.getBoundingClientRect();scroll=fly(document).getScroll();ret=[Math.round(b.left+scroll.left),Math.round(b.top+scroll.top)]}catch(e){}}if(!ret){for(p=el;p;p=ELEMENT.getOffsetParent(p)){pe=fly(p);x+=p.offsetLeft;y+=p.offsetTop;hasAbsolute=hasAbsolute||pe.isStyle("position","absolute");if(Ext.isGecko){y+=bt=parseInt(pe.getStyle("borderTopWidth"),10)||0;x+=bl=parseInt(pe.getStyle("borderLeftWidth"),10)||0;if(p!=el&&!pe.isStyle("overflow","visible")){x+=bl;y+=bt}}}if(Ext.isSafari&&hasAbsolute){x-=bd.offsetLeft;y-=bd.offsetTop}if(Ext.isGecko&&!hasAbsolute){dbd=fly(bd);x+=parseInt(dbd.getStyle("borderLeftWidth"),10)||0;y+=parseInt(dbd.getStyle("borderTopWidth"),10)||0}p=el.parentNode;while(p&&p!=bd){if(!Ext.isOpera||(p.tagName!="TR"&&!fly(p).isStyle("display","inline"))){x-=p.scrollLeft;y-=p.scrollTop}p=p.parentNode}ret=[x,y]}}return ret||[0,0]},setXY:function(el,xy){(el=Ext.fly(el,"_setXY")).position();var pts=el.translatePoints(xy),style=el.dom.style,pos;for(pos in pts){if(!isNaN(pts[pos])){style[pos]=pts[pos]+"px"}}},setX:function(el,x){ELEMENT.setXY(el,[x,false])},setY:function(el,y){ELEMENT.setXY(el,[false,y])},serializeForm:function(form){var fElements=form.elements||(document.forms[form]||Ext.getDom(form)).elements,hasSubmit=false,encoder=encodeURIComponent,name,data="",type,hasValue;Ext.each(fElements,function(element){name=element.name;type=element.type;if(!element.disabled&&name){if(/select-(one|multiple)/i.test(type)){Ext.each(element.options,function(opt){if(opt.selected){hasValue=opt.hasAttribute?opt.hasAttribute("value"):opt.getAttributeNode("value").specified;data+=Ext.String.format("{0}={1}&",encoder(name),encoder(hasValue?opt.value:opt.text))}})}else{if(!(/file|undefined|reset|button/i.test(type))){if(!(/radio|checkbox/i.test(type)&&!element.checked)&&!(type=="submit"&&hasSubmit)){data+=encoder(name)+"="+encoder(element.value)+"&";hasSubmit=/submit/i.test(type)}}}}});return data.substr(0,data.length-1)}})})();Ext.Element.addMethods((function(){var focusRe=/button|input|textarea|select|object/;return{monitorMouseLeave:function(delay,handler,scope){var me=this,timer,listeners={mouseleave:function(e){timer=setTimeout(Ext.Function.bind(handler,scope||me,[e]),delay)},mouseenter:function(){clearTimeout(timer)},freezeEvent:true};me.on(listeners);return listeners},swallowEvent:function(eventName,preventDefault){var me=this;function fn(e){e.stopPropagation();if(preventDefault){e.preventDefault()}}if(Ext.isArray(eventName)){Ext.each(eventName,function(e){me.on(e,fn)});return me}me.on(eventName,fn);return me},relayEvent:function(eventName,observable){this.on(eventName,function(e){observable.fireEvent(eventName,e)})},clean:function(forceReclean){var me=this,dom=me.dom,n=dom.firstChild,nx,ni=-1;if(Ext.Element.data(dom,"isCleaned")&&forceReclean!==true){return me}while(n){nx=n.nextSibling;if(n.nodeType==3){if(!(/\S/.test(n.nodeValue))){dom.removeChild(n)}else{if(nx&&nx.nodeType==3){n.appendData(Ext.String.trim(nx.data));dom.removeChild(nx);nx=n.nextSibling;n.nodeIndex=++ni}}}else{Ext.fly(n).clean();n.nodeIndex=++ni}n=nx}Ext.Element.data(dom,"isCleaned",true);return me},load:function(options){this.getLoader().load(options);return this},getLoader:function(){var dom=this.dom,data=Ext.Element.data,loader=data(dom,"loader");if(!loader){loader=Ext.create("Ext.ElementLoader",{target:this});data(dom,"loader",loader)}return loader},update:function(html,loadScripts,callback){var me=this,id,dom,interval;if(!me.dom){return me}html=html||"";dom=me.dom;if(loadScripts!==true){dom.innerHTML=html;Ext.callback(callback,me);return me}id=Ext.id();html+='';interval=setInterval(function(){if(!document.getElementById(id)){return false}clearInterval(interval);var DOC=document,hd=DOC.getElementsByTagName("head")[0],re=/(?:]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,srcRe=/\ssrc=([\'\"])(.*?)\1/i,typeRe=/\stype=([\'\"])(.*?)\1/i,match,attrs,srcMatch,typeMatch,el,s;while((match=re.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){s=DOC.createElement("script");s.src=srcMatch[2];typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}el=DOC.getElementById(id);if(el){Ext.removeNode(el)}Ext.callback(callback,me)},20);dom.innerHTML=html.replace(/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,"");return me},removeAllListeners:function(){this.removeAnchor();Ext.EventManager.removeAll(this.dom);return this},getScopeParent:function(){var parent=this.dom.parentNode;return Ext.scopeResetCSS?parent.parentNode:parent},createProxy:function(config,renderTo,matchBox){config=(typeof config=="object")?config:{tag:"div",cls:config};var me=this,proxy=renderTo?Ext.DomHelper.append(renderTo,config,true):Ext.DomHelper.insertBefore(me.dom,config,true);proxy.setVisibilityMode(Ext.Element.DISPLAY);proxy.hide();if(matchBox&&me.setBox&&me.getBox){proxy.setBox(me.getBox())}return proxy},focusable:function(){var dom=this.dom,nodeName=dom.nodeName.toLowerCase(),canFocus=false,hasTabIndex=!isNaN(dom.tabIndex);if(!dom.disabled){if(focusRe.test(nodeName)){canFocus=true}else{canFocus=nodeName=="a"?dom.href||hasTabIndex:hasTabIndex}}return canFocus&&this.isVisible(true)}}})());Ext.Element.prototype.clearListeners=Ext.Element.prototype.removeAllListeners;Ext.Element.addMethods({getAnchorXY:function(anchor,local,s){anchor=(anchor||"tl").toLowerCase();s=s||{};var me=this,vp=me.dom==document.body||me.dom==document,w=s.width||vp?Ext.Element.getViewWidth():me.getWidth(),h=s.height||vp?Ext.Element.getViewHeight():me.getHeight(),xy,r=Math.round,o=me.getXY(),scroll=me.getScroll(),extraX=vp?scroll.left:!local?o[0]:0,extraY=vp?scroll.top:!local?o[1]:0,hash={c:[r(w*0.5),r(h*0.5)],t:[r(w*0.5),0],l:[0,r(h*0.5)],r:[w,r(h*0.5)],b:[r(w*0.5),h],tl:[0,0],bl:[0,h],br:[w,h],tr:[w,0]};xy=hash[anchor];return[xy[0]+extraX,xy[1]+extraY]},anchorTo:function(el,alignment,offsets,animate,monitorScroll,callback){var me=this,dom=me.dom,scroll=!Ext.isEmpty(monitorScroll),action=function(){Ext.fly(dom).alignTo(el,alignment,offsets,animate);Ext.callback(callback,Ext.fly(dom))},anchor=this.getAnchor();this.removeAnchor();Ext.apply(anchor,{fn:action,scroll:scroll});Ext.EventManager.onWindowResize(action,null);if(scroll){Ext.EventManager.on(window,"scroll",action,null,{buffer:!isNaN(monitorScroll)?monitorScroll:50})}action.call(me);return me},removeAnchor:function(){var me=this,anchor=this.getAnchor();if(anchor&&anchor.fn){Ext.EventManager.removeResizeListener(anchor.fn);if(anchor.scroll){Ext.EventManager.un(window,"scroll",anchor.fn)}delete anchor.fn}return me},getAnchor:function(){var data=Ext.Element.data,dom=this.dom;if(!dom){return}var anchor=data(dom,"_anchor");if(!anchor){anchor=data(dom,"_anchor",{})}return anchor},getAlignVector:function(el,spec,offset){var me=this,side={t:"top",l:"left",r:"right",b:"bottom"},thisRegion=me.getRegion(),elRegion;el=Ext.get(el);if(!el||!el.dom){}elRegion=el.getRegion()},getAlignToXY:function(el,p,o){el=Ext.get(el);if(!el||!el.dom){}o=o||[0,0];p=(!p||p=="?"?"tl-bl?":(!(/-/).test(p)&&p!==""?"tl-"+p:p||"tl-bl")).toLowerCase();var me=this,d=me.dom,a1,a2,x,y,w,h,r,dw=Ext.Element.getViewWidth()-10,dh=Ext.Element.getViewHeight()-10,p1y,p1x,p2y,p2x,swapY,swapX,doc=document,docElement=doc.documentElement,docBody=doc.body,scrollX=(docElement.scrollLeft||docBody.scrollLeft||0)+5,scrollY=(docElement.scrollTop||docBody.scrollTop||0)+5,c=false,p1="",p2="",m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){}p1=m[1];p2=m[2];c=!!m[3];a1=me.getAnchorXY(p1,true);a2=el.getAnchorXY(p2,false);x=a2[0]-a1[0]+o[0];y=a2[1]-a1[1]+o[1];if(c){w=me.getWidth();h=me.getHeight();r=el.getRegion();p1y=p1.charAt(0);p1x=p1.charAt(p1.length-1);p2y=p2.charAt(0);p2x=p2.charAt(p2.length-1);swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));if(x+w>dw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(xdh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(yconstrainTo.right){overflowed=true;vector[0]=(constrainTo.right-thisRegion.right)}if(thisRegion.left+vector[0]constrainTo.bottom){overflowed=true;vector[1]=(constrainTo.bottom-thisRegion.bottom)}if(thisRegion.top+vector[1]dom.clientHeight||dom.scrollWidth>dom.clientWidth},getScroll:function(){var d=this.dom,doc=document,body=doc.body,docElement=doc.documentElement,l,t,ret;if(d==doc||d==body){if(Ext.isIE&&Ext.isStrict){l=docElement.scrollLeft;t=docElement.scrollTop}else{l=window.pageXOffset;t=window.pageYOffset}ret={left:l||(body?body.scrollLeft:0),top:t||(body?body.scrollTop:0)}}else{ret={left:d.scrollLeft,top:d.scrollTop}}return ret},scrollTo:function(side,value,animate){var top=/top/i.test(side),me=this,dom=me.dom,obj={},prop;if(!animate||!me.anim){prop="scroll"+(top?"Top":"Left");dom[prop]=value}else{if(!Ext.isObject(animate)){animate={}}obj["scroll"+(top?"Top":"Left")]=value;me.animate(Ext.applyIf({to:obj},animate))}return me},scrollIntoView:function(container,hscroll){container=Ext.getDom(container)||Ext.getBody().dom;var el=this.dom,offsets=this.getOffsetsTo(container),left=offsets[0]+container.scrollLeft,top=offsets[1]+container.scrollTop,bottom=top+el.offsetHeight,right=left+el.offsetWidth,ctClientHeight=container.clientHeight,ctScrollTop=parseInt(container.scrollTop,10),ctScrollLeft=parseInt(container.scrollLeft,10),ctBottom=ctScrollTop+ctClientHeight,ctRight=ctScrollLeft+container.clientWidth;if(el.offsetHeight>ctClientHeight||topctBottom){container.scrollTop=bottom-ctClientHeight}}container.scrollTop=container.scrollTop;if(hscroll!==false){if(el.offsetWidth>container.clientWidth||leftctRight){container.scrollLeft=right-container.clientWidth}}container.scrollLeft=container.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},scroll:function(direction,distance,animate){if(!this.isScrollable()){return false}var el=this.dom,l=el.scrollLeft,t=el.scrollTop,w=el.scrollWidth,h=el.scrollHeight,cw=el.clientWidth,ch=el.clientHeight,scrolled=false,v,hash={l:Math.min(l+distance,w-cw),r:v=Math.max(l-distance,0),t:Math.max(t-distance,0),b:Math.min(t+distance,h-ch)};hash.d=hash.b;hash.u=hash.t;direction=direction.substr(0,1);if((v=hash[direction])>-1){scrolled=true;this.scrollTo(direction=="l"||direction=="r"?"left":"top",v,this.anim(animate))}return scrolled}});Ext.Element.addMethods(function(){var VISIBILITY="visibility",DISPLAY="display",HIDDEN="hidden",NONE="none",XMASKED=Ext.baseCSSPrefix+"masked",XMASKEDRELATIVE=Ext.baseCSSPrefix+"masked-relative",data=Ext.Element.data;return{isVisible:function(deep){var vis=!this.isStyle(VISIBILITY,HIDDEN)&&!this.isStyle(DISPLAY,NONE),p=this.dom.parentNode;if(deep!==true||!vis){return vis}while(p&&!(/^body/i.test(p.tagName))){if(!Ext.fly(p,"_isVisible").isVisible()){return false}p=p.parentNode}return true},isDisplayed:function(){return !this.isStyle(DISPLAY,NONE)},enableDisplayMode:function(display){this.setVisibilityMode(Ext.Element.DISPLAY);if(!Ext.isEmpty(display)){data(this.dom,"originalDisplay",display)}return this},mask:function(msg,msgCls){var me=this,dom=me.dom,setExpression=dom.style.setExpression,dh=Ext.DomHelper,EXTELMASKMSG=Ext.baseCSSPrefix+"mask-msg",el,mask;if(!(/^body/i.test(dom.tagName)&&me.getStyle("position")=="static")){me.addCls(XMASKEDRELATIVE)}el=data(dom,"maskMsg");if(el){el.remove()}el=data(dom,"mask");if(el){el.remove()}mask=dh.append(dom,{cls:Ext.baseCSSPrefix+"mask"},true);data(dom,"mask",mask);me.addCls(XMASKED);mask.setDisplayed(true);if(typeof msg=="string"){var mm=dh.append(dom,{cls:EXTELMASKMSG,cn:{tag:"div"}},true);data(dom,"maskMsg",mm);mm.dom.className=msgCls?EXTELMASKMSG+" "+msgCls:EXTELMASKMSG;mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(me)}if(!Ext.supports.IncludePaddingInWidthCalculation&&setExpression){mask.dom.style.setExpression("width",'this.parentNode.offsetWidth + "px"')}if(!Ext.supports.IncludePaddingInHeightCalculation&&setExpression){mask.dom.style.setExpression("height",'this.parentNode.offsetHeight + "px"')}else{if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&me.getStyle("height")=="auto"){mask.setSize(undefined,me.getHeight())}}return mask},unmask:function(){var me=this,dom=me.dom,mask=data(dom,"mask"),maskMsg=data(dom,"maskMsg");if(mask){if(mask.dom.style.clearExpression){mask.dom.style.clearExpression("width");mask.dom.style.clearExpression("height")}if(maskMsg){maskMsg.remove();data(dom,"maskMsg",undefined)}mask.remove();data(dom,"mask",undefined);me.removeCls([XMASKED,XMASKEDRELATIVE])}},isMasked:function(){var me=this,mask=data(me.dom,"mask"),maskMsg=data(me.dom,"maskMsg");if(mask&&mask.isVisible()){if(maskMsg){maskMsg.center(me)}return true}return false},createShim:function(){var el=document.createElement("iframe"),shim;el.frameBorder="0";el.className=Ext.baseCSSPrefix+"shim";el.src=Ext.SSL_SECURE_URL;shim=Ext.get(this.dom.parentNode.insertBefore(el,this.dom));shim.autoBoxAdjust=false;return shim}}}());Ext.Element.addMethods({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 Ext.create("Ext.util.KeyMap",this,config)},addKeyMap:function(config){return Ext.create("Ext.util.KeyMap",this,config)}});Ext.CompositeElementLite.importElementMethods();Ext.apply(Ext.CompositeElementLite.prototype,{addElements:function(els,root){if(!els){return this}if(typeof els=="string"){els=Ext.Element.selectorFunction(els,root)}var yels=this.elements;Ext.each(els,function(e){yels.push(Ext.get(e))});return this},first:function(){return this.item(0)},last:function(){return this.item(this.getCount()-1)},contains:function(el){return this.indexOf(el)!=-1},removeElement:function(keys,removeDom){var me=this,els=this.elements,el;Ext.each(keys,function(val){if((el=(els[val]||els[val=me.indexOf(val)]))){if(removeDom){if(el.dom){el.remove()}else{Ext.removeNode(el)}}Ext.Array.erase(els,val,1)}});return this}});Ext.CompositeElement=Ext.extend(Ext.CompositeElementLite,{constructor:function(els,root){this.elements=[];this.add(els,root)},getElement:function(el){return el},transformElement:function(el){return Ext.get(el)}});Ext.Element.select=function(selector,unique,root){var els;if(typeof selector=="string"){els=Ext.Element.selectorFunction(selector,root)}else{if(selector.length!==undefined){els=selector}else{}}return(unique===true)?new Ext.CompositeElement(els):new Ext.CompositeElementLite(els)};Ext.select=Ext.Element.select;Ext.define("Ext.util.Observable",{requires:["Ext.util.Event"],statics:{releaseCapture:function(o){o.fireEvent=this.prototype.fireEvent},capture:function(o,fn,scope){o.fireEvent=Ext.Function.createInterceptor(o.fireEvent,fn,scope)},observe:function(cls,listeners){if(cls){if(!cls.isObservable){Ext.applyIf(cls,new this());this.capture(cls.prototype,cls.fireEvent,cls)}if(Ext.isObject(listeners)){cls.on(listeners)}return cls}}},isObservable:true,constructor:function(config){var me=this;Ext.apply(me,config);if(me.listeners){me.on(me.listeners);delete me.listeners}me.events=me.events||{};if(me.bubbleEvents){me.enableBubble(me.bubbleEvents)}},eventOptionsRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|vertical|horizontal|freezeEvent)$/,addManagedListener:function(item,ename,fn,scope,options){var me=this,managedListeners=me.managedListeners=me.managedListeners||[],config;if(typeof ename!=="string"){options=ename;for(ename in options){if(options.hasOwnProperty(ename)){config=options[ename];if(!me.eventOptionsRe.test(ename)){me.addManagedListener(item,ename,config.fn||config,config.scope||options.scope,config.fn?config:options)}}}}else{managedListeners.push({item:item,ename:ename,fn:fn,scope:scope,options:options});item.on(ename,fn,scope,options)}},removeManagedListener:function(item,ename,fn,scope){var me=this,options,config,managedListeners,length,i;if(typeof ename!=="string"){options=ename;for(ename in options){if(options.hasOwnProperty(ename)){config=options[ename];if(!me.eventOptionsRe.test(ename)){me.removeManagedListener(item,ename,config.fn||config,config.scope||options.scope)}}}}managedListeners=me.managedListeners?me.managedListeners.slice():[];for(i=0,length=managedListeners.length;i0},suspendEvents:function(queueSuspended){this.eventsSuspended=true;if(queueSuspended&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var me=this,queued=me.eventQueue;me.eventsSuspended=false;delete me.eventQueue;if(queued){Ext.each(queued,function(e){me.continueFireEvent.apply(me,e)})}},relayEvents:function(origin,events,prefix){prefix=prefix||"";var me=this,len=events.length,i=0,oldName,newName;for(;i";for(;i\^])\s?|\s|$)/,tokenRe=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,matchers=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:filterByXType},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:filterByAttribute},{re:/^#([\w\-]+)/,method:filterById},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:filterByPseudo},{re:/^(?:\{([^\}]+)\})/,method:filterFnPattern}];cq.Query=Ext.extend(Object,{constructor:function(cfg){cfg=cfg||{};Ext.apply(this,cfg)},execute:function(root){var operations=this.operations,i=0,length=operations.length,operation,workingItems;if(!root){workingItems=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(root)){workingItems=root}}for(;i1){for(i=0,ln=components.length;i1){resultsLn=results.length;for(i=0;i0){if(!me.stateTask){me.stateTask=Ext.create("Ext.util.DelayedTask",me.saveState,me)}me.stateTask.delay(me.saveDelay)}else{me.saveState()}},saveState:function(){var me=this,id,state;if(me.stateful!==false){id=me.getStateId();if(id){state=me.getState();if(me.fireEvent("beforestatesave",me,state)!==false){Ext.state.Manager.set(id,state);me.fireEvent("statesave",me,state)}}}},getState:function(){return null},applyState:function(state){if(state){Ext.apply(this,state)}},getStateId:function(){var me=this,id=me.stateId;if(!id){id=me.autoGenIdRe.test(String(me.id))?null:me.id}return id},initState:function(){var me=this,id=me.getStateId(),state;if(me.stateful!==false){if(id){state=Ext.state.Manager.get(id);if(state){state=Ext.apply({},state);if(me.fireEvent("beforestaterestore",me,state)!==false){me.applyState(state);me.fireEvent("staterestore",me,state)}}}}},savePropToState:function(propName,state,stateName){var me=this,value=me[propName],config=me.initialConfig;if(me.hasOwnProperty(propName)){if(!config||config[propName]!==value){if(state){state[stateName||propName]=value}return true}}return false},savePropsToState:function(propNames,state){var me=this;Ext.each(propNames,function(propName){me.savePropToState(propName,state)});return state},destroy:function(){var task=this.stateTask;if(task){task.cancel()}this.clearListeners()}});Ext.define("Ext.AbstractManager",{requires:["Ext.util.HashMap"],typeName:"type",constructor:function(config){Ext.apply(this,config||{});this.all=Ext.create("Ext.util.HashMap");this.types={}},get:function(id){return this.all.get(id)},register:function(item){this.all.add(item)},unregister:function(item){this.all.remove(item)},registerType:function(type,cls){this.types[type]=cls;cls[this.typeName]=type},isRegistered:function(type){return this.types[type]!==undefined},create:function(config,defaultType){var type=config[this.typeName]||config.type||defaultType,Constructor=this.types[type];return new Constructor(config)},onAvailable:function(id,fn,scope){var all=this.all,item;if(all.containsKey(id)){item=all.get(id);fn.call(scope||item,item)}else{all.on("add",function(map,key,item){if(key==id){fn.call(scope||item,item);all.un("add",fn,scope)}})}},each:function(fn,scope){this.all.each(fn,scope||this)},getCount:function(){return this.all.getCount()}});Ext.define("Ext.ComponentManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ComponentMgr",singleton:true,typeName:"xtype",create:function(component,defaultType){if(component instanceof Ext.AbstractComponent){return component}else{if(Ext.isString(component)){return Ext.createByAlias("widget."+component)}else{var type=component.xtype||defaultType,config=component;return Ext.createByAlias("widget."+type,config)}}},registerType:function(type,cls){this.types[type]=cls;cls[this.typeName]=type;cls.prototype[this.typeName]=type}});Ext.define("Ext.AbstractComponent",{requires:["Ext.ComponentQuery","Ext.ComponentManager"],mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate",state:"Ext.state.Stateful"},uses:["Ext.PluginManager","Ext.ComponentManager","Ext.Element","Ext.DomHelper","Ext.XTemplate","Ext.ComponentQuery","Ext.ComponentLoader","Ext.EventManager","Ext.layout.Layout","Ext.layout.component.Auto","Ext.LoadMask","Ext.ZIndexManager"],statics:{AUTO_ID:1000},isComponent:true,getAutoId:function(){return ++Ext.AbstractComponent.AUTO_ID},renderTpl:null,tplWriteMode:"overwrite",baseCls:Ext.baseCSSPrefix+"component",disabledCls:Ext.baseCSSPrefix+"item-disabled",ui:"default",uiCls:[],hidden:false,disabled:false,draggable:false,floating:false,hideMode:"display",styleHtmlContent:false,styleHtmlCls:Ext.baseCSSPrefix+"html",autoShow:false,autoRender:false,needsLayout:false,allowDomMove:true,rendered:false,componentLayoutCounter:0,weight:0,trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,maskOnDisable:true,constructor:function(config){var me=this,i,len;config=config||{};me.initialConfig=config;Ext.apply(me,config);me.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","resize","move");me.getId();me.mons=[];me.additionalCls=[];me.renderData=me.renderData||{};me.renderSelectors=me.renderSelectors||{};if(me.plugins){me.plugins=[].concat(me.plugins);me.constructPlugins()}me.initComponent();Ext.ComponentManager.register(me);me.mixins.observable.constructor.call(me);me.mixins.state.constructor.call(me,config);this.addStateEvents("resize");if(me.plugins){me.plugins=[].concat(me.plugins);for(i=0,len=me.plugins.length;icurHeight){h=to.height;needsResize=true}if(to.width&&to.width>curWidth){w=to.width;needsResize=true}if(needsResize){var clearWidth=!Ext.isNumber(me.width),clearHeight=!Ext.isNumber(me.height);me.componentLayout.childrenChanged=true;me.setSize(w,h,me.ownerCt);me.el.setSize(curWidth,curHeight);if(clearWidth){delete me.width}if(clearHeight){delete me.height}}}return me.mixins.animate.animate.apply(me,arguments)},findLayoutController:function(){return this.findParentBy(function(c){return !c.ownerCt||(c.layout.layoutBusy&&!c.ownerCt.layout.layoutBusy)})},onShow:function(){var needsLayout=this.needsLayout;if(Ext.isObject(needsLayout)){this.doComponentLayout(needsLayout.width,needsLayout.height,needsLayout.isSetSize,needsLayout.ownerCt)}},constructPlugin:function(plugin){if(plugin.ptype&&typeof plugin.init!="function"){plugin.cmp=this;plugin=Ext.PluginManager.create(plugin)}else{if(typeof plugin=="string"){plugin=Ext.PluginManager.create({ptype:plugin,cmp:this})}}return plugin},constructPlugins:function(){var me=this,plugins=me.plugins,i,len;if(plugins){for(i=0,len=plugins.length;i','
    {parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation">','
    {parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation">','
    {parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation">
    ','
    ','
    ',"",'
    {parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation">','
    {parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation">','
    {parent.baseCls}-{parent.ui}-{.}-mc" role="presentation">
    ','
    ','
    ','','
    {parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation">','
    {parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation">','
    {parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation">
    ','
    ','
    ',"
    "],frameTableTpl:["",'',"",'','','',"","","",'','','',"",'',"",'','','',"","","
    {parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation">
    {parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mc" style="background-position: 0 0;" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation">
    {parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation">
    "],initFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var me=this,frameInfo=me.getFrameInfo(),frameWidth=frameInfo.width,frameTpl=me.getFrameTpl(frameInfo.table),frameGenId;if(me.frame){me.frameGenId=frameGenId=(me.frameGenId||0)+1;frameGenId=me.id+"-frame"+frameGenId;frameTpl.insertFirst(me.el,Ext.apply({},{fgid:frameGenId,ui:me.ui,uiCls:me.uiCls,frameCls:me.frameCls,baseCls:me.baseCls,frameWidth:frameWidth,top:!!frameInfo.top,left:!!frameInfo.left,right:!!frameInfo.right,bottom:!!frameInfo.bottom},me.getFramePositions(frameInfo)));me.frameBody=me.el.down("."+me.frameCls+"-mc");me.removeChildEls(function(c){return c.id&&me.frameIdRegex.test(c.id)});Ext.each(["TL","TC","TR","ML","MC","MR","BL","BC","BR"],function(suffix){me.childEls.push({name:"frame"+suffix,id:frameGenId+suffix})})}},updateFrame:function(){if(Ext.supports.CSS3BorderRadius){return false}var me=this,wasTable=this.frameSize&&this.frameSize.table,oldFrameTL=this.frameTL,oldFrameBL=this.frameBL,oldFrameML=this.frameML,oldFrameMC=this.frameMC,newMCClassName;this.initFrame();if(oldFrameMC){if(me.frame){delete me.frameTL;delete me.frameTC;delete me.frameTR;delete me.frameML;delete me.frameMC;delete me.frameMR;delete me.frameBL;delete me.frameBC;delete me.frameBR;this.applyRenderSelectors();newMCClassName=this.frameMC.dom.className;oldFrameMC.insertAfter(this.frameMC);this.frameMC.remove();this.frameBody=this.frameMC=oldFrameMC;oldFrameMC.dom.className=newMCClassName;if(wasTable){me.el.query("> table")[1].remove()}else{if(oldFrameTL){oldFrameTL.remove()}if(oldFrameBL){oldFrameBL.remove()}oldFrameML.remove()}}else{}}else{if(me.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius){return false}var me=this,left=me.el.getStyle("background-position-x"),top=me.el.getStyle("background-position-y"),info,frameInfo=false,max;if(!left&&!top){info=me.el.getStyle("background-position").split(" ");left=info[0];top=info[1]}if(parseInt(left,10)>=1000000&&parseInt(top,10)>=1000000){max=Math.max;frameInfo={table:left.substr(0,3)=="110",vertical:top.substr(0,3)=="110",top:max(left.substr(3,2),left.substr(5,2)),right:max(left.substr(5,2),top.substr(3,2)),bottom:max(top.substr(3,2),top.substr(5,2)),left:max(top.substr(5,2),left.substr(3,2))};frameInfo.width=max(frameInfo.top,frameInfo.right,frameInfo.bottom,frameInfo.left);me.el.setStyle("background-image","none")}if(me.frame===true&&!frameInfo){}me.frame=me.frame||!!frameInfo;me.frameSize=frameInfo||false;return frameInfo},getFramePositions:function(frameInfo){var me=this,frameWidth=frameInfo.width,dock=me.dock,positions,tc,bc,ml,mr;if(frameInfo.vertical){tc="0 -"+(frameWidth*0)+"px";bc="0 -"+(frameWidth*1)+"px";if(dock&&dock=="right"){tc="right -"+(frameWidth*0)+"px";bc="right -"+(frameWidth*1)+"px"}positions={tl:"0 -"+(frameWidth*0)+"px",tr:"0 -"+(frameWidth*1)+"px",bl:"0 -"+(frameWidth*2)+"px",br:"0 -"+(frameWidth*3)+"px",ml:"-"+(frameWidth*1)+"px 0",mr:"right 0",tc:tc,bc:bc}}else{ml="-"+(frameWidth*0)+"px 0";mr="right 0";if(dock&&dock=="bottom"){ml="left bottom";mr="right bottom"}positions={tl:"0 -"+(frameWidth*2)+"px",tr:"right -"+(frameWidth*3)+"px",bl:"0 -"+(frameWidth*4)+"px",br:"right -"+(frameWidth*5)+"px",ml:ml,mr:mr,tc:"0 -"+(frameWidth*0)+"px",bc:"0 -"+(frameWidth*1)+"px"}}return positions},getFrameTpl:function(table){return table?this.getTpl("frameTableTpl"):this.getTpl("frameTpl")},initCls:function(){var me=this,cls=[];cls.push(me.baseCls);if(Ext.isDefined(me.cmpCls)){if(Ext.isDefined(Ext.global.console)){Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.")}me.componentCls=me.cmpCls;delete me.cmpCls}if(me.componentCls){cls.push(me.componentCls)}else{me.componentCls=me.baseCls}if(me.cls){cls.push(me.cls);delete me.cls}return cls.concat(me.additionalCls)},setUI:function(ui){var me=this,oldUICls=Ext.Array.clone(me.uiCls),newUICls=[],classes=[],cls,i;for(i=0;i=0;idx--){if((c=it.getAt(idx)).is(selector)){return c}}}else{if(idx){return it.getAt(--idx)}}}}return null},previousNode:function(selector,includeSelf){var node=this,result,it,len,i;if(includeSelf&&node.is(selector)){return node}result=this.prev(selector);if(result){return result}if(node.ownerCt){for(it=node.ownerCt.items.items,i=Ext.Array.indexOf(it,node)-1;i>-1;i--){if(it[i].query){result=it[i].query(selector);result=result[result.length-1];if(result){return result}}}return node.ownerCt.previousNode(selector,true)}},nextNode:function(selector,includeSelf){var node=this,result,it,len,i;if(includeSelf&&node.is(selector)){return node}result=this.next(selector);if(result){return result}if(node.ownerCt){for(it=node.ownerCt.items,i=it.indexOf(node)+1,it=it.items,len=it.length;i=8){xhr=new XDomainRequest()}else{xhr=this.getXhrInstance()}async=options.async!==false?(options.async||me.async):false;if(username){xhr.open(requestOptions.method,requestOptions.url,async,username,password)}else{xhr.open(requestOptions.method,requestOptions.url,async)}if(options.withCredentials===true||me.withCredentials===true){xhr.withCredentials=true}headers=me.setupHeaders(xhr,options,requestOptions.data,requestOptions.params);request={id:++Ext.data.Connection.requestId,xhr:xhr,headers:headers,options:options,async:async,timeout:setTimeout(function(){request.timedout=true;me.abort(request)},options.timeout||me.timeout)};me.requests[request.id]=request;me.latestId=request.id;if(async){xhr.onreadystatechange=Ext.Function.bind(me.onStateChange,me,[request])}xhr.send(requestOptions.data);if(!async){return this.onComplete(request)}return request}else{Ext.callback(options.callback,options.scope,[options,undefined,undefined]);return null}},upload:function(form,url,params,options){form=Ext.getDom(form);options=options||{};var id=Ext.id(),frame=document.createElement("iframe"),hiddens=[],encoding="multipart/form-data",buf={target:form.target,method:form.method,encoding:form.encoding,enctype:form.enctype,action:form.action},hiddenItem;Ext.fly(frame).set({id:id,name:id,cls:Ext.baseCSSPrefix+"hide-display",src:Ext.SSL_SECURE_URL});document.body.appendChild(frame);if(document.frames){document.frames[id].name=id}Ext.fly(form).set({target:id,method:"POST",enctype:encoding,encoding:encoding,action:url||buf.action});if(params){Ext.iterate(Ext.Object.fromQueryString(params),function(name,value){hiddenItem=document.createElement("input");Ext.fly(hiddenItem).set({type:"hidden",value:value,name:name});form.appendChild(hiddenItem);hiddens.push(hiddenItem)})}Ext.fly(frame).on("load",Ext.Function.bind(this.onUploadComplete,this,[frame,options]),null,{single:true});form.submit();Ext.fly(form).set(buf);Ext.each(hiddens,function(h){Ext.removeNode(h)})},onUploadComplete:function(frame,options){var me=this,response={responseText:"",responseXML:null},doc,firstChild;try{doc=frame.contentWindow.document||frame.contentDocument||window.frames[frame.id].document;if(doc){if(doc.body){if(/textarea/i.test((firstChild=doc.body.firstChild||{}).tagName)){response.responseText=firstChild.value}else{response.responseText=doc.body.innerHTML}}response.responseXML=doc.XMLDocument||doc}}catch(e){}me.fireEvent("requestcomplete",me,response,options);Ext.callback(options.success,options.scope,[response,options]);Ext.callback(options.callback,options.scope,[options,true,response]);setTimeout(function(){Ext.removeNode(frame)},100)},isFormUpload:function(options){var form=this.getForm(options);if(form){return(options.isUpload||(/multipart\/form-data/i).test(form.getAttribute("enctype")))}return false},getForm:function(options){return Ext.getDom(options.form)||null},setOptions:function(options,scope){var me=this,params=options.params||{},extraParams=me.extraParams,urlParams=options.urlParams,url=options.url||me.url,jsonData=options.jsonData,method,disableCache,data;if(Ext.isFunction(params)){params=params.call(scope,options)}if(Ext.isFunction(url)){url=url.call(scope,options)}url=this.setupUrl(options,url);data=options.rawData||options.xmlData||jsonData||null;if(jsonData&&!Ext.isPrimitive(jsonData)){data=Ext.encode(data)}if(Ext.isObject(params)){params=Ext.Object.toQueryString(params)}if(Ext.isObject(extraParams)){extraParams=Ext.Object.toQueryString(extraParams)}params=params+((extraParams)?((params)?"&":"")+extraParams:"");urlParams=Ext.isObject(urlParams)?Ext.Object.toQueryString(urlParams):urlParams;params=this.setupParams(options,params);method=(options.method||me.method||((params||data)?"POST":"GET")).toUpperCase();this.setupMethod(options,method);disableCache=options.disableCaching!==false?(options.disableCaching||me.disableCaching):false;if(method==="GET"&&disableCache){url=Ext.urlAppend(url,(options.disableCachingParam||me.disableCachingParam)+"="+(new Date().getTime()))}if((method=="GET"||data)&¶ms){url=Ext.urlAppend(url,params);params=null}if(urlParams){url=Ext.urlAppend(url,urlParams)}return{url:url,method:method,data:data||params||null}},setupUrl:function(options,url){var form=this.getForm(options);if(form){url=url||form.action}return url},setupParams:function(options,params){var form=this.getForm(options),serializedForm;if(form&&!this.isFormUpload(options)){serializedForm=Ext.Element.serializeForm(form);params=params?(params+"&"+serializedForm):serializedForm}return params},setupMethod:function(options,method){if(this.isFormUpload(options)){return"POST"}return method},setupHeaders:function(xhr,options,data,params){var me=this,headers=Ext.apply({},options.headers||{},me.defaultHeaders||{}),contentType=me.defaultPostHeader,jsonData=options.jsonData,xmlData=options.xmlData,key,header;if(!headers["Content-Type"]&&(data||params)){if(data){if(options.rawData){contentType="text/plain"}else{if(xmlData&&Ext.isDefined(xmlData)){contentType="text/xml"}else{if(jsonData&&Ext.isDefined(jsonData)){contentType="application/json"}}}}headers["Content-Type"]=contentType}if(me.useDefaultXhrHeader&&!headers["X-Requested-With"]){headers["X-Requested-With"]=me.defaultXhrHeader}try{for(key in headers){if(headers.hasOwnProperty(key)){header=headers[key];xhr.setRequestHeader(key,header)}}}catch(e){me.fireEvent("exception",key,header)}return headers},getXhrInstance:(function(){var options=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],i=0,len=options.length,xhr;for(;i=200&&status<300)||status==304,isException=false;if(!success){switch(status){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:isException=true;break}}return{success:success,isException:isException}},createResponse:function(request){var xhr=request.xhr,headers={},lines=xhr.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),count=lines.length,line,index,key,value,response;while(count--){line=lines[count];index=line.indexOf(":");if(index>=0){key=line.substr(0,index).toLowerCase();if(line.charAt(index+1)==" "){++index}headers[key]=line.substr(index+1)}}request.xhr=null;delete request.xhr;response={request:request,requestId:request.id,status:xhr.status,statusText:xhr.statusText,getResponseHeader:function(header){return headers[header.toLowerCase()]},getAllResponseHeaders:function(){return headers},responseText:xhr.responseText,responseXML:xhr.responseXML};xhr=null;return response},createException:function(request){return{request:request,requestId:request.id,status:request.aborted?-1:0,statusText:request.aborted?"transaction aborted":"communication failure",aborted:request.aborted,timedout:request.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.ElementLoader",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.data.Connection","Ext.Ajax"],statics:{Renderer:{Html:function(loader,response,active){loader.getTarget().update(response.responseText,active.scripts===true);return true}}},url:null,params:null,baseParams:null,autoLoad:false,target:null,loadMask:false,ajaxOptions:null,scripts:false,isLoader:true,constructor:function(config){var me=this,autoLoad;config=config||{};Ext.apply(me,config);me.setTarget(me.target);me.addEvents("beforeload","exception","load");me.mixins.observable.constructor.call(me);if(me.autoLoad){autoLoad=me.autoLoad;if(autoLoad===true){autoLoad={}}me.load(autoLoad)}},setTarget:function(target){var me=this;target=Ext.get(target);if(me.target&&me.target!=target){me.abort()}me.target=target},getTarget:function(){return this.target||null},abort:function(){var active=this.active;if(active!==undefined){Ext.Ajax.abort(active.request);if(active.mask){this.removeMask()}delete this.active}},removeMask:function(){this.target.unmask()},addMask:function(mask){this.target.mask(mask===true?null:mask)},load:function(options){options=Ext.apply({},options);var me=this,target=me.target,mask=Ext.isDefined(options.loadMask)?options.loadMask:me.loadMask,params=Ext.apply({},options.params),ajaxOptions=Ext.apply({},options.ajaxOptions),callback=options.callback||me.callback,scope=options.scope||me.scope||me,request;Ext.applyIf(ajaxOptions,me.ajaxOptions);Ext.applyIf(options,ajaxOptions);Ext.applyIf(params,me.params);Ext.apply(params,me.baseParams);Ext.applyIf(options,{url:me.url});Ext.apply(options,{scope:me,params:params,callback:me.onComplete});if(me.fireEvent("beforeload",me,options)===false){return}if(mask){me.addMask(mask)}request=Ext.Ajax.request(options);me.active={request:request,options:options,mask:mask,scope:scope,callback:callback,success:options.success||me.success,failure:options.failure||me.failure,renderer:options.renderer||me.renderer,scripts:Ext.isDefined(options.scripts)?options.scripts:me.scripts};me.setOptions(me.active,options)},setOptions:Ext.emptyFn,onComplete:function(options,success,response){var me=this,active=me.active,scope=active.scope,renderer=me.getRenderer(active.renderer);if(success){success=renderer.call(me,me,response,active)}if(success){Ext.callback(active.success,scope,[me,response,options]);me.fireEvent("load",me,response,options)}else{Ext.callback(active.failure,scope,[me,response,options]);me.fireEvent("exception",me,response,options)}Ext.callback(active.callback,scope,[me,success,response,options]);if(active.mask){me.removeMask()}delete me.active},getRenderer:function(renderer){if(Ext.isFunction(renderer)){return renderer}return this.statics().Renderer.Html},startAutoRefresh:function(interval,options){var me=this;me.stopAutoRefresh();me.autoRefresh=setInterval(function(){me.load(options)},interval)},stopAutoRefresh:function(){clearInterval(this.autoRefresh);delete this.autoRefresh},isAutoRefreshing:function(){return Ext.isDefined(this.autoRefresh)},destroy:function(){var me=this;me.stopAutoRefresh();delete me.target;me.abort();me.clearListeners()}});Ext.define("Ext.ComponentLoader",{extend:"Ext.ElementLoader",statics:{Renderer:{Data:function(loader,response,active){var success=true;try{loader.getTarget().update(Ext.decode(response.responseText))}catch(e){success=false}return success},Component:function(loader,response,active){var success=true,target=loader.getTarget(),items=[];try{items=Ext.decode(response.responseText)}catch(e){success=false}if(success){if(active.removeAll){target.removeAll()}target.add(items)}return success}}},target:null,loadMask:false,renderer:"html",setTarget:function(target){var me=this;if(Ext.isString(target)){target=Ext.getCmp(target)}if(me.target&&me.target!=target){me.abort()}me.target=target},removeMask:function(){this.target.setLoading(false)},addMask:function(mask){this.target.setLoading(mask)},setOptions:function(active,options){active.removeAll=Ext.isDefined(options.removeAll)?options.removeAll:this.removeAll},getRenderer:function(renderer){if(Ext.isFunction(renderer)){return renderer}var renderers=this.statics().Renderer;switch(renderer){case"component":return renderers.Component;case"data":return renderers.Data;default:return Ext.ElementLoader.Renderer.Html}}});Ext.define("Ext.data.Association",{primaryKey:"id",defaultReaderType:"json",statics:{create:function(association){if(!association.isAssociation){if(Ext.isString(association)){association={type:association}}switch(association.type){case"belongsTo":return Ext.create("Ext.data.BelongsToAssociation",association);case"hasMany":return Ext.create("Ext.data.HasManyAssociation",association);default:}}return association}},constructor:function(config){Ext.apply(this,config);var types=Ext.ModelManager.types,ownerName=config.ownerModel,associatedName=config.associatedModel,ownerModel=types[ownerName],associatedModel=types[associatedName],ownerProto;this.ownerModel=ownerModel;this.associatedModel=associatedModel;Ext.applyIf(this,{ownerName:ownerName,associatedName:associatedName})},getReader:function(){var me=this,reader=me.reader,model=me.associatedModel;if(reader){if(Ext.isString(reader)){reader={type:reader}}if(reader.isReader){reader.setModel(model)}else{Ext.applyIf(reader,{model:model,type:me.defaultReaderType})}me.reader=Ext.createByAlias("reader."+reader.type,reader)}return me.reader||null}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(name,config){var proto=config.prototype,model;if(proto&&proto.isModel){model=config}else{if(!config.extend){config.extend="Ext.data.Model"}model=Ext.define(name,config)}this.types[name]=model;return model},onModelDefined:function(model){var stack=this.associationStack,length=stack.length,create=[],association,i,created;for(i=0;i1){for(;i]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^]*?for="(.*?)"/,ifRe:/^]*?if="(.*?)"/,execRe:/^]*?exec="(.*?)"/,constructor:function(){this.callParent(arguments);var me=this,html=me.html,argsRe=me.argsRe,nameRe=me.nameRe,ifRe=me.ifRe,execRe=me.execRe,id=0,tpls=[],VALUES="values",PARENT="parent",XINDEX="xindex",XCOUNT="xcount",RETURN="return ",WITHVALUES="with(values){ ",m,matchName,matchIf,matchExec,exp,fn,exec,name,i;html=["",html,""].join("");while((m=html.match(argsRe))){exp=null;fn=null;exec=null;matchName=m[0].match(nameRe);matchIf=m[0].match(ifRe);matchExec=m[0].match(execRe);exp=matchIf?matchIf[1]:null;if(exp){fn=Ext.functionFactory(VALUES,PARENT,XINDEX,XCOUNT,WITHVALUES+"try{"+RETURN+Ext.String.htmlDecode(exp)+";}catch(e){return;}}")}exp=matchExec?matchExec[1]:null;if(exp){exec=Ext.functionFactory(VALUES,PARENT,XINDEX,XCOUNT,WITHVALUES+Ext.String.htmlDecode(exp)+";}")}name=matchName?matchName[1]:null;if(name){if(name==="."){name=VALUES}else{if(name===".."){name=PARENT}}name=Ext.functionFactory(VALUES,PARENT,"try{"+WITHVALUES+RETURN+name+";}}catch(e){return;}")}tpls.push({id:id,target:name,exec:exec,test:fn,body:m[1]||""});html=html.replace(m[0],"{xtpl"+id+"}");id=id+1}for(i=tpls.length-1;i>=0;--i){me.compileTpl(tpls[i])}me.master=tpls[tpls.length-1];me.tpls=tpls},applySubTemplate:function(id,values,parent,xindex,xcount){var me=this,t=me.tpls[id];return t.compiled.call(me,values,parent,xindex,xcount)},codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?\}/g,compileTpl:function(tpl){var fm=Ext.util.Format,me=this,useFormat=me.disableFormats!==true,body,bodyReturn,evaluatedFn;function fn(m,name,format,args,math){var v;if(name.substr(0,4)=="xtpl"){return"',this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount),'"}if(name=="."){v='Ext.Array.indexOf(["string", "number", "boolean"], typeof values) > -1 || Ext.isDate(values) ? values : ""'}else{if(name=="#"){v="xindex"}else{if(name.substr(0,7)=="parent."){v=name}else{if(name.indexOf(".")!=-1){v="values."+name}else{v="values['"+name+"']"}}}}if(math){v="("+v+math+")"}if(format&&useFormat){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format="this."+format.substr(5)+"("}}else{args="";format="("+v+" === undefined ? '' : "}return"',"+format+v+args+"),'"}function codeFn(m,code){return"',("+code.replace(me.compileARe,"'")+"),'"}bodyReturn=tpl.body.replace(me.compileBRe,"\\n").replace(me.compileCRe,"\\'").replace(me.re,fn).replace(me.codeRe,codeFn);body="evaluatedFn = function(values, parent, xindex, xcount){return ['"+bodyReturn+"'].join('');};";eval(body);tpl.compiled=function(values,parent,xindex,xcount){var vs,length,buffer,i;if(tpl.test&&!tpl.test.call(me,values,parent,xindex,xcount)){return""}vs=tpl.target?tpl.target.call(me,values,parent):values;if(!vs){return""}parent=tpl.target?values:parent;if(tpl.target&&Ext.isArray(vs)){buffer=[];length=vs.length;if(tpl.exec){for(i=0;i]+>/gi,asText:function(s){return String(s).replace(this.stripTagsRE,"")},asUCText:function(s){return String(s).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(s){return String(s).toUpperCase()},asDate:function(s){if(!s){return 0}if(Ext.isDate(s)){return s.getTime()}return Date.parse(String(s))},asFloat:function(s){var val=parseFloat(String(s).replace(/,/g,""));return isNaN(val)?0:val},asInt:function(s){var val=parseInt(String(s).replace(/,/g,""),10);return isNaN(val)?0:val}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(config){var me=this;Ext.apply(me,config);me.filter=me.filter||me.filterFn;if(me.filter===undefined){if(me.property===undefined||me.value===undefined){}else{me.filter=me.createFilterFn()}me.filterFn=me.filter}},createFilterFn:function(){var me=this,matcher=me.createValueMatcher(),property=me.property;return function(item){var value=me.getRoot.call(me,item)[property];return matcher===null?value===null:matcher.test(value)}},getRoot:function(item){var root=this.root;return root===undefined?item:item[root]},createValueMatcher:function(){var me=this,value=me.value,anyMatch=me.anyMatch,exactMatch=me.exactMatch,caseSensitive=me.caseSensitive,escapeRe=Ext.String.escapeRegex;if(value===null){return value}if(!value.exec){value=String(value);if(anyMatch===true){value=escapeRe(value)}else{value="^"+escapeRe(value);if(exactMatch===true){value+="$"}}value=new RegExp(value,caseSensitive?"":"i")}return value}});Ext.define("Ext.util.Sorter",{direction:"ASC",constructor:function(config){var me=this;Ext.apply(me,config);me.updateSortFunction()},createSortFunction:function(sorterFn){var me=this,property=me.property,direction=me.direction||"ASC",modifier=direction.toUpperCase()=="DESC"?-1:1;return function(o1,o2){return modifier*sorterFn.call(me,o1,o2)}},defaultSorterFn:function(o1,o2){var me=this,transform=me.transform,v1=me.getRoot(o1)[me.property],v2=me.getRoot(o2)[me.property];if(transform){v1=transform(v1);v2=transform(v2)}return v1>v2?1:(v1max)){return false}else{return true}},email:function(config,email){return Ext.data.validations.emailRe.test(email)},format:function(config,value){return !!(config.matcher&&config.matcher.test(value))},inclusion:function(config,value){return config.list&&Ext.Array.indexOf(config.list,value)!=-1},exclusion:function(config,value){return config.list&&Ext.Array.indexOf(config.list,value)==-1}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(config){Ext.apply(this,config);this.totalRecords=this.total;if(config.count===undefined){this.count=this.records.length}}});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",constructor:function(config){Ext.apply(this,config)},write:function(request){var operation=request.operation,records=operation.records||[],len=records.length,i=0,data=[];for(;i=0;--i){comp=this.zIndexStack[i];if(!comp.hidden){if(!lastActivated){this._setActiveChild(comp);lastActivated=true}if(comp.modal){this._showModalMask(comp);return}}}this._hideModalMask();if(!lastActivated){this._setActiveChild(null)}},_showModalMask:function(comp){var zIndex=comp.el.getStyle("zIndex")-4,maskTarget=comp.floatParent?comp.floatParent.getTargetEl():Ext.get(comp.getEl().dom.parentNode),parentBox;if(!maskTarget){return}parentBox=maskTarget.getBox();if(!this.mask){this.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});this.mask.setVisibilityMode(Ext.Element.DISPLAY);this.mask.on("click",this._onMaskClick,this)}if(maskTarget.dom===document.body){parentBox.height=Ext.Element.getViewHeight()}maskTarget.addCls(Ext.baseCSSPrefix+"body-masked");this.mask.setBox(parentBox);this.mask.setStyle("zIndex",zIndex);this.mask.show()},_hideModalMask:function(){if(this.mask&&this.mask.dom.parentNode){Ext.get(this.mask.dom.parentNode).removeCls(Ext.baseCSSPrefix+"body-masked");this.mask.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){if(this.mask&&this.mask.isVisible()){this.mask.setSize(Ext.get(this.mask.dom.parentNode).getViewSize(true))}},register:function(comp){if(comp.zIndexManager){comp.zIndexManager.unregister(comp)}comp.zIndexManager=this;this.list[comp.id]=comp;this.zIndexStack.push(comp);comp.on("hide",this._activateLast,this)},unregister:function(comp){delete comp.zIndexManager;if(this.list&&this.list[comp.id]){delete this.list[comp.id];comp.un("hide",this._activateLast);Ext.Array.remove(this.zIndexStack,comp);this._activateLast(comp)}},get:function(id){return typeof id=="object"?id:this.list[id]},bringToFront:function(comp){comp=this.get(comp);if(comp!==this.front){Ext.Array.remove(this.zIndexStack,comp);this.zIndexStack.push(comp);this.assignZIndices();return true}if(comp.modal){this._showModalMask(comp)}return false},sendToBack:function(comp){comp=this.get(comp);Ext.Array.remove(this.zIndexStack,comp);this.zIndexStack.unshift(comp);this.assignZIndices();return comp},hideAll:function(){for(var id in this.list){if(this.list[id].isComponent&&this.list[id].isVisible()){this.list[id].hide()}}},hide:function(){var i=0,ln=this.zIndexStack.length,comp;this.tempHidden=[];for(;i0;){comp=stack[i];if(comp.isComponent&&fn.call(scope||comp,comp)===false){return}}},destroy:function(){this.each(function(c){c.destroy()});delete this.zIndexStack;delete this.list;delete this.container;delete this.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.layout.container.boxOverflow.None",{alternateClassName:"Ext.layout.boxOverflow.None",constructor:function(layout,config){this.layout=layout;Ext.apply(this,config||{})},handleOverflow:Ext.emptyFn,clearOverflow:Ext.emptyFn,onRemove:Ext.emptyFn,getItem:function(item){return this.layout.owner.getComponent(item)},onRemove:Ext.emptyFn});Ext.define("Ext.util.KeyMap",{alternateClassName:"Ext.KeyMap",constructor:function(el,binding,eventName){var me=this;Ext.apply(me,{el:Ext.get(el),eventName:eventName||me.eventName,bindings:[]});if(binding){me.addBinding(binding)}me.enable()},eventName:"keydown",addBinding:function(binding){if(Ext.isArray(binding)){Ext.each(binding,this.addBinding,this);return}var keyCode=binding.key,processed=false,key,keys,keyString,i,len;if(Ext.isString(keyCode)){keys=[];keyString=keyCode.toUpperCase();for(i=0,len=keyString.length;i=this.getMaxScrollPosition()},scrollTo:function(position,animate){var me=this,layout=me.layout,oldPosition=me.getScrollPosition(),newPosition=Ext.Number.constrain(position,0,me.getMaxScrollPosition());if(newPosition!=oldPosition&&!me.scrolling){if(animate==undefined){animate=me.animateScroll}layout.innerCt.scrollTo(layout.parallelBefore,newPosition,animate?me.getScrollAnim():false);if(animate){me.scrolling=true}else{me.scrolling=false;me.updateScrollButtons()}me.fireEvent("scroll",me,newPosition,animate?me.getScrollAnim():false)}},scrollToItem:function(item,animate){var me=this,layout=me.layout,visibility,box,newPos;item=me.getItem(item);if(item!=undefined){visibility=this.getItemVisibility(item);if(!visibility.fullyVisible){box=item.getBox(true,true);newPos=box[layout.parallelPosition];if(visibility.hiddenEnd){newPos-=(this.layout.innerCt["get"+layout.parallelPrefixCap]()-box[layout.parallelPrefix])}this.scrollTo(newPos,animate)}}},getItemVisibility:function(item){var me=this,box=me.getItem(item).getBox(true,true),layout=me.layout,itemStart=box[layout.parallelPosition],itemEnd=itemStart+box[layout.parallelPrefix],scrollStart=me.getScrollPosition(),scrollEnd=scrollStart+layout.innerCt["get"+layout.parallelPrefixCap]();return{hiddenStart:itemStartscrollEnd,fullyVisible:itemStart>scrollStart&&itemEndt1){return t1}while(t0x2){t0=t2}else{t1=t2}t2=(t1-t0)/2+t0}return t2}return solve(t,1/(200*duration))},cubicBezier:function(x1,y1,x2,y2){var fn=function(pos){return Ext.fx.CubicBezier.cubicBezierAtTime(pos,x1,y1,x2,y2,1)};fn.toCSS3=function(){return"cubic-bezier("+[x1,y1,x2,y2].join(",")+")"};fn.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-x2,1-y2,1-x1,1-y1)};return fn}});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:0.2,constructor:function(red,green,blue){var me=this,clamp=Ext.Number.constrain;me.r=clamp(red,0,255);me.g=clamp(green,0,255);me.b=clamp(blue,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var me=this;return[me.r,me.g,me.b]},getHSL:function(){var me=this,r=me.r/255,g=me.g/255,b=me.b/255,max=Math.max(r,g,b),min=Math.min(r,g,b),delta=max-min,h,s=0,l=0.5*(max+min);if(min!=max){s=(l<0.5)?delta/(max+min):delta/(2-max-min);if(r==max){h=60*(g-b)/delta}else{if(g==max){h=120+60*(b-r)/delta}else{h=240+60*(r-g)/delta}}if(h<0){h+=360}if(h>=360){h-=360}}return[h,s,l]},getLighter:function(factor){var hsl=this.getHSL();factor=factor||this.lightnessFactor;hsl[2]=Ext.Number.constrain(hsl[2]+factor,0,1);return this.fromHSL(hsl[0],hsl[1],hsl[2])},getDarker:function(factor){factor=factor||this.lightnessFactor;return this.getLighter(-factor)},toString:function(){var me=this,round=Math.round,r=round(me.r).toString(16),g=round(me.g).toString(16),b=round(me.b).toString(16);r=(r.length==1)?"0"+r:r;g=(g.length==1)?"0"+g:g;b=(b.length==1)?"0"+b:b;return["#",r,g,b].join("")},toHex:function(color){if(Ext.isArray(color)){color=color[0]}if(!Ext.isString(color)){return""}if(color.substr(0,1)==="#"){return color}var digits=this.colorToHexRe.exec(color);if(Ext.isArray(digits)){var red=parseInt(digits[2],10),green=parseInt(digits[3],10),blue=parseInt(digits[4],10),rgb=blue|(green<<8)|(red<<16);return digits[1]+"#"+("000000"+rgb.toString(16)).slice(-6)}else{return""}},fromString:function(str){var values,r,g,b,parse=parseInt;if((str.length==4||str.length==7)&&str.substr(0,1)==="#"){values=str.match(this.hexRe);if(values){r=parse(values[1],16)>>0;g=parse(values[2],16)>>0;b=parse(values[3],16)>>0;if(str.length==4){r+=(r*16);g+=(g*16);b+=(b*16)}}}else{values=str.match(this.rgbRe);if(values){r=values[1];g=values[2];b=values[3]}}return(typeof r=="undefined")?undefined:Ext.create("Ext.draw.Color",r,g,b)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(h,s,l){var C,X,m,i,rgb=[],abs=Math.abs,floor=Math.floor;if(s==0||h==null){rgb=[l,l,l]}else{h/=60;C=s*(1-abs(2*l-1));X=C*(1-abs(h-2*floor(h/2)-1));m=l-C/2;switch(floor(h)){case 0:rgb=[C,X,0];break;case 1:rgb=[X,C,0];break;case 2:rgb=[0,C,X];break;case 3:rgb=[0,X,C];break;case 4:rgb=[X,0,C];break;case 5:rgb=[C,0,X];break}rgb=[rgb[0]+m,rgb[1]+m,rgb[2]+m]}return Ext.create("Ext.draw.Color",rgb[0]*255,rgb[1]*255,rgb[2]*255)}},function(){var prototype=this.prototype;this.addStatics({fromHSL:function(){return prototype.fromHSL.apply(prototype,arguments)},fromString:function(){return prototype.fromString.apply(prototype,arguments)},toHex:function(){return prototype.toHex.apply(prototype,arguments)}})});Ext.define("Ext.dd.StatusProxy",{animRepair:false,constructor:function(config){Ext.apply(this,config);this.id=this.id||Ext.id();this.proxy=Ext.createWidget("component",{floating:true,stateful:false,id:this.id,html:'
    ',cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:!config||config.shadow!==false,renderTo:document.body});this.el=this.proxy.el;this.el.show();this.el.setVisibilityMode(Ext.Element.VISIBILITY);this.el.hide();this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(cssClass){cssClass=cssClass||this.dropNotAllowed;if(this.dropStatus!=cssClass){this.el.replaceCls(this.dropStatus,cssClass);this.dropStatus=cssClass}},reset:function(clearGhost){this.el.dom.className=Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(clearGhost){this.ghost.update("")}},update:function(html){if(typeof html=="string"){this.ghost.update(html)}else{this.ghost.update("");html.style.margin="0";this.ghost.dom.appendChild(html)}var el=this.ghost.dom.firstChild;if(el){Ext.fly(el).setStyle("float","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(clear){this.proxy.hide();if(clear){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.proxy.show();this.proxy.toFront()},sync:function(){this.proxy.el.sync()},repair:function(xy,callback,scope){this.callback=callback;this.scope=scope;if(xy&&this.animRepair!==false){this.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.animate({duration:this.repairDuration||500,easing:"ease-out",to:{x:xy[0],y:xy[1]},stopAnimation:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null},destroy:function(){Ext.destroy(this.ghost,this.proxy,this.el)}});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",constructor:function(panel,config){this.panel=panel;this.id=this.panel.id+"-ddproxy";Ext.apply(this,config)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.unghost(null,false);delete this.ghost}},show:function(){if(!this.ghost){var panelSize=this.panel.getSize();this.panel.el.setVisibilityMode(Ext.Element.DISPLAY);this.ghost=this.panel.ghost();if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});this.proxy.setSize(panelSize)}}},repair:function(xy,callback,scope){this.hide();if(typeof callback=="function"){callback.call(scope||this)}},moveProxy:function(parentNode,before){if(this.proxy){parentNode.insertBefore(this.proxy.dom,before)}}});Ext.define("Ext.layout.component.AbstractDock",{extend:"Ext.layout.component.Component",type:"dock",autoSizing:true,beforeLayout:function(){var returnValue=this.callParent(arguments);if(returnValue!==false&&(!this.initializedBorders||this.childrenChanged)&&(!this.owner.border||this.owner.manageBodyBorders)){this.handleItemBorders();this.initializedBorders=true}return returnValue},handleItemBorders:function(){var owner=this.owner,body=owner.body,docked=this.getLayoutItems(),borders={top:[],right:[],bottom:[],left:[]},oldBorders=this.borders,opposites={top:"bottom",right:"left",bottom:"top",left:"right"},i,ln,item,dock,side;for(i=0,ln=docked.length;i1||Ext.isArray(objs)){args=arguments.length>1?arguments:objs;for(len=args.length;i=me.length){return me.add(myKey,myObj)}me.length++;Ext.Array.splice(me.items,index,0,myObj);if(typeof myKey!="undefined"&&myKey!==null){me.map[myKey]=myObj}Ext.Array.splice(me.keys,index,0,myKey);me.fireEvent("add",index,myObj,myKey);return myObj},remove:function(o){return this.removeAt(this.indexOf(o))},removeAll:function(items){Ext.each(items||[],function(item){this.remove(item)},this);return this},removeAt:function(index){var me=this,o,key;if(index=0){me.length--;o=me.items[index];Ext.Array.erase(me.items,index,1);key=me.keys[index];if(typeof key!="undefined"){delete me.map[key]}Ext.Array.erase(me.keys,index,1);me.fireEvent("remove",o,key);return o}return false},removeAtKey:function(key){return this.removeAt(this.indexOfKey(key))},getCount:function(){return this.length},indexOf:function(o){return Ext.Array.indexOf(this.items,o)},indexOfKey:function(key){return Ext.Array.indexOf(this.keys,key)},get:function(key){var me=this,mk=me.map[key],item=mk!==undefined?mk:(typeof key=="number")?me.items[key]:undefined;return typeof item!="function"||me.allowFunctions?item:null},getAt:function(index){return this.items[index]},getByKey:function(key){return this.map[key]},contains:function(o){return Ext.Array.contains(this.items,o)},containsKey:function(key){return typeof this.map[key]!="undefined"},clear:function(){var me=this;me.length=0;me.items=[];me.keys=[];me.map={};me.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(property,root,start,end){var values=this.extractValues(property,root),length=values.length,sum=0,i;start=start||0;end=(end||end===0)?end:length-1;for(i=start;i<=end;i++){sum+=values[i]}return sum},collect:function(property,root,allowNull){var values=this.extractValues(property,root),length=values.length,hits={},unique=[],value,strValue,i;for(i=0;i=end;i--){range[range.length]=items[i]}}return range},filter:function(property,value,anyMatch,caseSensitive){var filters=[],filterFn;if(Ext.isString(property)){filters.push(Ext.create("Ext.util.Filter",{property:property,value:value,anyMatch:anyMatch,caseSensitive:caseSensitive}))}else{if(Ext.isArray(property)||property instanceof Ext.util.Filter){filters=filters.concat(property)}}filterFn=function(record){var isMatch=true,length=filters.length,i;for(i=0;iv2?1:(v1=0){return Ext.functionFactory("obj","return obj"+(i>0?".":"")+expr)}}return function(obj){return obj[expr]}}}()});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(request,data){var root=this.root;if(this.allowSingle&&data.length==1){data=data[0]}if(this.encode){if(root){request.params[root]=Ext.encode(data)}else{}}else{request.jsonData=request.jsonData||{};if(root){request.jsonData[root]=data}else{request.jsonData=data}}return request}});Ext.define("Ext.data.proxy.Proxy",{alias:"proxy.proxy",alternateClassName:["Ext.data.DataProxy","Ext.data.Proxy"],requires:["Ext.data.reader.Json","Ext.data.writer.Json"],uses:["Ext.data.Batch","Ext.data.Operation","Ext.data.Model"],mixins:{observable:"Ext.util.Observable"},batchOrder:"create,update,destroy",batchActions:true,defaultReaderType:"json",defaultWriterType:"json",isProxy:true,constructor:function(config){config=config||{};if(config.model===undefined){delete config.model}this.mixins.observable.constructor.call(this,config);if(this.model!==undefined&&!(this.model instanceof Ext.data.Model)){this.setModel(this.model)}},setModel:function(model,setOnStore){this.model=Ext.ModelManager.getModel(model);var reader=this.reader,writer=this.writer;this.setReader(reader);this.setWriter(writer);if(setOnStore&&this.store){this.store.setModel(this.model)}},getModel:function(){return this.model},setReader:function(reader){var me=this;if(reader===undefined||typeof reader=="string"){reader={type:reader}}if(reader.isReader){reader.setModel(me.model)}else{Ext.applyIf(reader,{proxy:me,model:me.model,type:me.defaultReaderType});reader=Ext.createByAlias("reader."+reader.type,reader)}me.reader=reader;return me.reader},getReader:function(){return this.reader},setWriter:function(writer){if(writer===undefined||typeof writer=="string"){writer={type:writer}}if(!(writer instanceof Ext.data.writer.Writer)){Ext.applyIf(writer,{model:this.model,type:this.defaultWriterType});writer=Ext.createByAlias("writer."+writer.type,writer)}this.writer=writer;return this.writer},getWriter:function(){return this.writer},create:Ext.emptyFn,read:Ext.emptyFn,update:Ext.emptyFn,destroy:Ext.emptyFn,batch:function(operations,listeners){var me=this,batch=Ext.create("Ext.data.Batch",{proxy:me,listeners:listeners||{}}),useBatch=me.batchActions,records;Ext.each(me.batchOrder.split(","),function(action){records=operations[action];if(records){if(useBatch){batch.add(Ext.create("Ext.data.Operation",{action:action,records:records}))}else{Ext.each(records,function(record){batch.add(Ext.create("Ext.data.Operation",{action:action,records:[record]}))})}}},me);batch.start();return batch}},function(){Ext.data.DataProxy=this});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(config){var me=this;config=config||{};this.addEvents("exception");me.callParent([config]);me.extraParams=config.extraParams||{};me.api=config.api||{};me.nocache=me.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},buildRequest:function(operation){var params=Ext.applyIf(operation.params||{},this.extraParams||{}),request;params=Ext.applyIf(params,this.getParams(operation));if(operation.id&&!params.id){params.id=operation.id}request=Ext.create("Ext.data.Request",{params:params,action:operation.action,records:operation.records,operation:operation,url:operation.url});request.url=this.buildUrl(request);operation.request=request;return request},processResponse:function(success,operation,request,response,callback,scope){var me=this,reader,result;if(success===true){reader=me.getReader();result=reader.read(me.extractResponseData(response));if(result.success!==false){Ext.apply(operation,{response:response,resultSet:result});operation.commitRecords(result.records);operation.setCompleted();operation.setSuccessful()}else{operation.setException(result.message);me.fireEvent("exception",this,response,operation)}}else{me.setException(operation,response);me.fireEvent("exception",this,response,operation)}if(typeof callback=="function"){callback.call(scope||me,operation)}me.afterRequest(request,success)},setException:function(operation,response){operation.setException({status:response.status,statusText:response.statusText})},extractResponseData:function(response){return response},applyEncoding:function(value){return Ext.encode(value)},encodeSorters:function(sorters){var min=[],length=sorters.length,i=0;for(;i0){params[groupParam]=me.encodeSorters(groupers)}if(sortParam&&sorters&&sorters.length>0){if(simpleSortMode){params[sortParam]=sorters[0].property;params[directionParam]=sorters[0].direction}else{params[sortParam]=me.encodeSorters(sorters)}}if(filterParam&&filters&&filters.length>0){params[filterParam]=me.encodeFilters(filters)}return params},buildUrl:function(request){var me=this,url=me.getUrl(request);if(me.noCache){url=Ext.urlAppend(url,Ext.String.format("{0}={1}",me.cacheString,Ext.Date.now()))}return url},getUrl:function(request){return request.url||this.api[request.action]||this.url},doRequest:function(operation,callback,scope){},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(operation,callback,scope){var writer=this.getWriter(),request=this.buildRequest(operation,callback,scope);if(operation.allowWrite()){request=writer.write(request)}Ext.apply(request,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(request,operation,callback,scope),method:this.getMethod(request),disableCaching:false});Ext.Ajax.request(request);return request},getMethod:function(request){return this.actionMethods[request.action]},createRequestCallback:function(request,operation,callback,scope){var me=this;return function(options,success,response){me.processResponse(success,operation,request,response,callback,scope)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.data.proxy.Ajax","Ext.util.MixedCollection"],onClassExtended:function(cls,data){var onBeforeClassCreated=data.onBeforeClassCreated;data.onBeforeClassCreated=function(cls,data){var me=this,name=Ext.getClassName(cls),prototype=cls.prototype,superCls=cls.prototype.superclass,validations=data.validations||[],fields=data.fields||[],associations=data.associations||[],belongsTo=data.belongsTo,hasMany=data.hasMany,idgen=data.idgen,fieldsMixedCollection=new Ext.util.MixedCollection(false,function(field){return field.name}),associationsMixedCollection=new Ext.util.MixedCollection(false,function(association){return association.name}),superValidations=superCls.validations,superFields=superCls.fields,superAssociations=superCls.associations,association,i,ln,dependencies=[];cls.modelName=name;prototype.modelName=name;if(superValidations){validations=superValidations.concat(validations)}data.validations=validations;if(superFields){fields=superFields.items.concat(fields)}for(i=0,ln=fields.length;i0){associatedRecords=associatedStore.data.items;associatedRecordCount=associatedRecords.length;for(j=0;j1;if(hasMultipleArgs||Ext.isArray(args[0])){items=hasMultipleArgs?args:args[0];me.suspendLayout=true;for(i=0,ln=items.length;i "+selector)[0]||null},down:function(selector){return this.query(selector)[0]||null},show:function(){this.callParent(arguments);this.performDeferredLayouts();return this},performDeferredLayouts:function(){var layoutCollection=this.layoutOnShow,ln=layoutCollection.getCount(),i=0,needsLayout,item;for(;i0){me.hideAll()}},me)},hideAll:function(){var active=this.active,c;if(active&&active.length>0){c=active.clone();c.each(function(m){m.hide()});return true}return false},onHide:function(m){var me=this,active=me.active;active.remove(m);if(active.length<1){Ext.getDoc().un("mousedown",me.onMouseDown,me);me.attached=false}},onShow:function(m){var me=this,active=me.active,last=active.last(),attached=me.attached,menuEl=m.getEl(),zIndex;me.lastShow=new Date();active.add(m);if(!attached){Ext.getDoc().on("mousedown",me.onMouseDown,me);me.attached=true}m.toFront()},onBeforeHide:function(m){if(m.activeChild){m.activeChild.hide()}if(m.autoHideTimer){clearTimeout(m.autoHideTimer);delete m.autoHideTimer}},onBeforeShow:function(m){var active=this.active,parentMenu=m.parentMenu;active.remove(m);if(!parentMenu&&!m.allowOtherMenus){this.hideAll()}else{if(parentMenu&&parentMenu.activeChild&&m!=parentMenu.activeChild){parentMenu.activeChild.hide()}}},onMouseDown:function(e){var me=this,active=me.active,lastShow=me.lastShow,target=e.target;if(Ext.Date.getElapsed(lastShow)>50&&active.length>0&&!e.getTarget("."+Ext.baseCSSPrefix+"menu")){me.hideAll();if(Ext.isIE&&Ext.fly(target).focusable()){target.focus()}}},register:function(menu){var me=this;if(!me.active){me.init()}if(menu.floating){me.menus[menu.id]=menu;menu.on({beforehide:me.onBeforeHide,hide:me.onHide,beforeshow:me.onBeforeShow,show:me.onShow,scope:me})}},get:function(menu){var menus=this.menus;if(typeof menu=="string"){if(!menus){return null}return menus[menu]}else{if(menu.isMenu){return menu}else{if(Ext.isArray(menu)){return Ext.create("Ext.menu.Menu",{items:menu})}else{return Ext.ComponentManager.create(menu,"menu")}}}},unregister:function(menu){var me=this,menus=me.menus,active=me.active;delete menus[menu.id];active.remove(menu);menu.un({beforehide:me.onBeforeHide,hide:me.onHide,beforeshow:me.onBeforeShow,show:me.onShow,scope:me})},registerCheckable:function(menuItem){var groups=this.groups,groupId=menuItem.group;if(groupId){if(!groups[groupId]){groups[groupId]=[]}groups[groupId].push(menuItem)}},unregisterCheckable:function(menuItem){var groups=this.groups,groupId=menuItem.group;if(groupId){Ext.Array.remove(groups[groupId],menuItem)}},onCheckChange:function(menuItem,state){var groups=this.groups,groupId=menuItem.group,i=0,group,ln,curr;if(groupId&&state){group=groups[groupId];ln=group.length;for(;i/,beforeLayout:function(){return this.callParent(arguments)||this.lastText!==this.owner.text},onLayout:function(width,height){var me=this,isNum=Ext.isNumber,owner=me.owner,ownerEl=owner.el,btnEl=owner.btnEl,btnInnerEl=owner.btnInnerEl,btnIconEl=owner.btnIconEl,sizeIconEl=(owner.icon||owner.iconCls)&&(owner.iconAlign=="top"||owner.iconAlign=="bottom"),minWidth=owner.minWidth,maxWidth=owner.maxWidth,ownerWidth,btnFrameWidth,metrics;me.getTargetInfo();me.callParent(arguments);btnInnerEl.unclip();me.setTargetSize(width,height);if(!isNum(width)){if(owner.text&&(Ext.isIE6||Ext.isIE7)&&Ext.isStrict&&btnEl&&btnEl.getWidth()>20){btnFrameWidth=me.btnFrameWidth;metrics=Ext.util.TextMetrics.measure(btnInnerEl,owner.text);ownerEl.setWidth(metrics.width+btnFrameWidth+me.adjWidth);btnEl.setWidth(metrics.width+btnFrameWidth);btnInnerEl.setWidth(metrics.width+btnFrameWidth);if(sizeIconEl){btnIconEl.setWidth(metrics.width+btnFrameWidth)}}else{ownerEl.setWidth(null);btnEl.setWidth(null);btnInnerEl.setWidth(null);btnIconEl.setWidth(null)}if(minWidth||maxWidth){ownerWidth=ownerEl.getWidth();if(minWidth&&(ownerWidthmaxWidth)){btnInnerEl.clip();me.setTargetSize(maxWidth,height)}}}}this.lastText=owner.text},setTargetSize:function(width,height){var me=this,owner=me.owner,isNum=Ext.isNumber,btnInnerEl=owner.btnInnerEl,btnWidth=(isNum(width)?width-me.adjWidth:width),btnHeight=(isNum(height)?height-me.adjHeight:height),btnFrameHeight=me.btnFrameHeight,text=owner.getText(),textHeight;me.callParent(arguments);me.setElementSize(owner.btnEl,btnWidth,btnHeight);me.setElementSize(btnInnerEl,btnWidth,btnHeight);if(btnHeight>=0){btnInnerEl.setStyle("line-height",btnHeight-btnFrameHeight+"px")}if(text&&this.htmlRE.test(text)){btnInnerEl.setStyle("line-height","normal");textHeight=Ext.util.TextMetrics.measure(btnInnerEl,text).height;btnInnerEl.setStyle("padding-top",me.btnFrameTop+Math.max(btnInnerEl.getHeight()-btnFrameHeight-textHeight,0)/2+"px");me.setElementSize(btnInnerEl,btnWidth,btnHeight)}},getTargetInfo:function(){var me=this,owner=me.owner,ownerEl=owner.el,frameSize=me.frameSize,frameBody=owner.frameBody,btnWrap=owner.btnWrap,innerEl=owner.btnInnerEl;if(!("adjWidth" in me)){Ext.apply(me,{adjWidth:frameSize.left+frameSize.right+ownerEl.getBorderWidth("lr")+ownerEl.getPadding("lr")+btnWrap.getPadding("lr")+(frameBody?frameBody.getFrameWidth("lr"):0),adjHeight:frameSize.top+frameSize.bottom+ownerEl.getBorderWidth("tb")+ownerEl.getPadding("tb")+btnWrap.getPadding("tb")+(frameBody?frameBody.getFrameWidth("tb"):0),btnFrameWidth:innerEl.getFrameWidth("lr"),btnFrameHeight:innerEl.getFrameWidth("tb"),btnFrameTop:innerEl.getFrameWidth("t")})}return me.callParent()}});Ext.define("Ext.button.Button",{alias:"widget.button",extend:"Ext.Component",requires:["Ext.menu.Manager","Ext.util.ClickRepeater","Ext.layout.component.Button","Ext.util.TextMetrics","Ext.util.KeyMap"],alternateClassName:"Ext.Button",isButton:true,componentLayout:"button",hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",textAlign:"center",type:"button",clickEvent:"click",preventDefault:true,handleMouseEvents:true,tooltipType:"qtip",baseCls:Ext.baseCSSPrefix+"btn",pressedCls:"pressed",overCls:"over",focusCls:"focus",menuActiveCls:"menu-active",ariaRole:"button",renderTpl:' tabIndex="{tabIndex}" role="link">{text}',scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,initComponent:function(){var me=this;me.callParent(arguments);me.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(me.menu){me.split=true;me.menu=Ext.menu.Manager.get(me.menu);me.menu.ownerCt=me}if(me.url){me.href=me.url}if(me.href&&!me.hasOwnProperty("preventDefault")){me.preventDefault=false}if(Ext.isString(me.toggleGroup)){me.enableToggle=true}},initAria:function(){this.callParent();var actionEl=this.getActionEl();if(this.menu){actionEl.dom.setAttribute("aria-haspopup",true)}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.btnEl},setButtonCls:function(){var me=this,cls=[],btnIconEl=me.btnIconEl,hide="x-hide-display";if(me.useSetClass){if(!Ext.isEmpty(me.oldCls)){me.removeClsWithUI(me.oldCls);me.removeClsWithUI(me.pressedCls)}if(me.iconCls||me.icon){if(me.text){cls.push("icon-text-"+me.iconAlign)}else{cls.push("icon")}if(btnIconEl){btnIconEl.removeCls(hide)}}else{if(me.text){cls.push("noicon")}if(btnIconEl){btnIconEl.addCls(hide)}}me.oldCls=cls;me.addClsWithUI(cls);me.addClsWithUI(me.pressed?me.pressedCls:null)}},onRender:function(ct,position){var me=this,repeater,btn;Ext.applyIf(me.renderData,me.getTemplateArgs());me.addChildEls("btnEl","btnWrap","btnInnerEl","btnIconEl");if(me.scale){me.ui=me.ui+"-"+me.scale}me.callParent(arguments);if(me.split&&me.arrowTooltip){me.arrowEl.dom.setAttribute(me.getTipAttr(),me.arrowTooltip)}me.mon(me.btnEl,{scope:me,focus:me.onFocus,blur:me.onBlur});btn=me.el;if(me.icon){me.setIcon(me.icon)}if(me.iconCls){me.setIconCls(me.iconCls)}if(me.tooltip){me.setTooltip(me.tooltip,true)}if(me.textAlign){me.setTextAlign(me.textAlign)}if(me.handleMouseEvents){me.mon(btn,{scope:me,mouseover:me.onMouseOver,mouseout:me.onMouseOut,mousedown:me.onMouseDown});if(me.split){me.mon(btn,{mousemove:me.onMouseMove,scope:me})}}if(me.menu){me.mon(me.menu,{scope:me,show:me.onMenuShow,hide:me.onMenuHide});me.keyMap=Ext.create("Ext.util.KeyMap",me.el,{key:Ext.EventObject.DOWN,handler:me.onDownKey,scope:me})}if(me.repeat){repeater=Ext.create("Ext.util.ClickRepeater",btn,Ext.isObject(me.repeat)?me.repeat:{});me.mon(repeater,"click",me.onRepeatClick,me)}else{me.mon(btn,me.clickEvent,me.onClick,me)}Ext.ButtonToggleManager.register(me)},getTemplateArgs:function(){var me=this,persistentPadding=me.getPersistentBtnPadding(),innerSpanStyle="";if(Math.max.apply(Math,persistentPadding)>0){innerSpanStyle="margin:"+Ext.Array.map(persistentPadding,function(pad){return -pad+"px"}).join(" ")}return{href:me.getHref(),target:me.target||"_blank",type:me.type,splitCls:me.getSplitCls(),cls:me.cls,iconCls:me.iconCls||"",text:me.text||" ",tabIndex:me.tabIndex,innerSpanStyle:innerSpanStyle}},getHref:function(){var me=this,params=Ext.apply({},me.baseParams);params=Ext.apply(params,me.params);return me.href?Ext.urlAppend(me.href,Ext.Object.toQueryString(params)):false},setParams:function(params){this.params=params;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var me=this;return me.split?(me.baseCls+"-"+me.arrowCls)+" "+(me.baseCls+"-"+me.arrowCls+"-"+me.arrowAlign):""},afterRender:function(){var me=this;me.useSetClass=true;me.setButtonCls();me.doc=Ext.getDoc();this.callParent(arguments)},setIconCls:function(cls){var me=this,btnIconEl=me.btnIconEl,oldCls=me.iconCls;me.iconCls=cls;if(btnIconEl){btnIconEl.removeCls(oldCls);btnIconEl.addCls(cls||"");me.setButtonCls()}return me},setTooltip:function(tooltip,initial){var me=this;if(me.rendered){if(!initial){me.clearTip()}if(Ext.isObject(tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:me.btnEl.id},tooltip));me.tooltip=tooltip}else{me.btnEl.dom.setAttribute(me.getTipAttr(),tooltip)}}else{me.tooltip=tooltip}return me},setTextAlign:function(align){var me=this,btnEl=me.btnEl;if(btnEl){btnEl.removeCls(me.baseCls+"-"+me.textAlign);btnEl.addCls(me.baseCls+"-"+align)}me.textAlign=align;return me},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(deep){var menu=this.menu,items;if(menu){items=menu.getRefItems(deep);items.unshift(menu)}return items||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var me=this;if(me.rendered){me.clearTip()}if(me.menu&&me.destroyMenu!==false){Ext.destroy(me.menu)}Ext.destroy(me.btnInnerEl,me.repeater);me.callParent()},onDestroy:function(){var me=this;if(me.rendered){me.doc.un("mouseover",me.monitorMouseOver,me);me.doc.un("mouseup",me.onMouseUp,me);delete me.doc;Ext.ButtonToggleManager.unregister(me);Ext.destroy(me.keyMap);delete me.keyMap}me.callParent()},setHandler:function(handler,scope){this.handler=handler;this.scope=scope;return this},setText:function(text){var me=this;me.text=text;if(me.el){me.btnInnerEl.update(text||" ");me.setButtonCls()}me.doComponentLayout();return me},setIcon:function(icon){var me=this,iconEl=me.btnIconEl;me.icon=icon;if(iconEl){iconEl.setStyle("background-image",icon?"url("+icon+")":"");me.setButtonCls()}return me},getText:function(){return this.text},toggle:function(state,suppressEvent){var me=this;state=state===undefined?!me.pressed:!!state;if(state!==me.pressed){if(me.rendered){me[state?"addClsWithUI":"removeClsWithUI"](me.pressedCls)}me.btnEl.dom.setAttribute("aria-pressed",state);me.pressed=state;if(!suppressEvent){me.fireEvent("toggle",me,state);Ext.callback(me.toggleHandler,me.scope||me,[me,state])}}return me},maybeShowMenu:function(){var me=this;if(me.menu&&!me.hasVisibleMenu()&&!me.ignoreNextClick){me.showMenu()}},showMenu:function(){var me=this;if(me.rendered&&me.menu){if(me.tooltip&&me.getTipAttr()!="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(me.btnEl)}if(me.menu.isVisible()){me.menu.hide()}me.menu.showBy(me.el,me.menuAlign)}return me},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var menu=this.menu;return menu&&menu.rendered&&menu.isVisible()},onRepeatClick:function(repeat,e){this.onClick(e)},onClick:function(e){var me=this;if(me.preventDefault||(me.disabled&&me.getHref())&&e){e.preventDefault()}if(e.button!==0){return}if(!me.disabled){me.doToggle();me.maybeShowMenu();me.fireHandler(e)}},fireHandler:function(e){var me=this,handler=me.handler;me.fireEvent("click",me,e);if(handler){handler.call(me.scope||me,me,e)}me.onBlur()},doToggle:function(){var me=this;if(me.enableToggle&&(me.allowDepress!==false||!me.pressed)){me.toggle()}},onMouseOver:function(e){var me=this;if(!me.disabled&&!e.within(me.el,true,true)){me.onMouseEnter(e)}},onMouseOut:function(e){var me=this;if(!e.within(me.el,true,true)){if(me.overMenuTrigger){me.onMenuTriggerOut(e)}me.onMouseLeave(e)}},onMouseMove:function(e){var me=this,el=me.el,over=me.overMenuTrigger,overlap,btnSize;if(me.split){if(me.arrowAlign==="right"){overlap=e.getX()-el.getX();btnSize=el.getWidth()}else{overlap=e.getY()-el.getY();btnSize=el.getHeight()}if(overlap>(btnSize-me.getTriggerSize())){if(!over){me.onMenuTriggerOver(e)}}else{if(over){me.onMenuTriggerOut(e)}}}},getTriggerSize:function(){var me=this,size=me.triggerSize,side,sideFirstLetter,undef;if(size===undef){side=me.arrowAlign;sideFirstLetter=side.charAt(0);size=me.triggerSize=me.el.getFrameWidth(sideFirstLetter)+me.btnWrap.getFrameWidth(sideFirstLetter)+(me.frameSize&&me.frameSize[side]||0)}return size},onMouseEnter:function(e){var me=this;me.addClsWithUI(me.overCls);me.fireEvent("mouseover",me,e)},onMouseLeave:function(e){var me=this;me.removeClsWithUI(me.overCls);me.fireEvent("mouseout",me,e)},onMenuTriggerOver:function(e){var me=this;me.overMenuTrigger=true;me.fireEvent("menutriggerover",me,me.menu,e)},onMenuTriggerOut:function(e){var me=this;delete me.overMenuTrigger;me.fireEvent("menutriggerout",me,me.menu,e)},enable:function(silent){var me=this;me.callParent(arguments);me.removeClsWithUI("disabled");return me},disable:function(silent){var me=this;me.callParent(arguments);me.addClsWithUI("disabled");me.removeClsWithUI(me.overCls);return me},setScale:function(scale){var me=this,ui=me.ui.replace("-"+me.scale,"");if(!Ext.Array.contains(me.allowedScales,scale)){throw ("#setScale: scale must be an allowed scale ("+me.allowedScales.join(", ")+")")}me.scale=scale;me.setUI(ui)},setUI:function(ui){var me=this;if(me.scale&&!ui.match(me.scale)){ui=ui+"-"+me.scale}me.callParent([ui])},onFocus:function(e){var me=this;if(!me.disabled){me.addClsWithUI(me.focusCls)}},onBlur:function(e){var me=this;me.removeClsWithUI(me.focusCls)},onMouseDown:function(e){var me=this;if(!me.disabled&&e.button===0){me.addClsWithUI(me.pressedCls);me.doc.on("mouseup",me.onMouseUp,me)}},onMouseUp:function(e){var me=this;if(e.button===0){if(!me.pressed){me.removeClsWithUI(me.pressedCls)}me.doc.un("mouseup",me.onMouseUp,me)}},onMenuShow:function(e){var me=this;me.ignoreNextClick=0;me.addClsWithUI(me.menuActiveCls);me.fireEvent("menushow",me,me.menu)},onMenuHide:function(e){var me=this;me.removeClsWithUI(me.menuActiveCls);me.ignoreNextClick=Ext.defer(me.restoreClick,250,me);me.fireEvent("menuhide",me,me.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var me=this;if(!me.disabled){if(me.menu){me.showMenu()}}},getPersistentBtnPadding:function(){var cls=Ext.button.Button,padding=cls.persistentPadding,btn,leftTop,btnEl,btnInnerEl;if(!padding){padding=cls.persistentPadding=[0,0,0,0];if(!Ext.isIE){btn=Ext.create("Ext.button.Button",{renderTo:Ext.getBody(),text:"test",style:"position:absolute;top:-999px;"});btnEl=btn.btnEl;btnInnerEl=btn.btnInnerEl;btnEl.setSize(null,null);leftTop=btnInnerEl.getOffsetsTo(btnEl);padding[0]=leftTop[1];padding[1]=btnEl.getWidth()-btnInnerEl.getWidth()-leftTop[0];padding[2]=btnEl.getHeight()-btnInnerEl.getHeight()-leftTop[1];padding[3]=leftTop[0];btn.destroy()}}return padding}},function(){var groups={};function toggleGroup(btn,state){var g,i,l;if(state){g=groups[btn.toggleGroup];for(i=0,l=g.length;i(None)',constructor:function(layout){var me=this;me.callParent(arguments);layout.beforeLayout=Ext.Function.createInterceptor(layout.beforeLayout,this.clearOverflow,this);me.afterCtCls=me.afterCtCls||Ext.baseCSSPrefix+"box-menu-"+layout.parallelAfter;me.menuItems=[]},onRemove:function(comp){Ext.Array.remove(this.menuItems,comp)},handleOverflow:function(calculations,targetSize){var me=this,layout=me.layout,methodName="get"+layout.parallelPrefixCap,newSize={},posArgs=[null,null];me.callParent(arguments);this.createMenu(calculations,targetSize);newSize[layout.perpendicularPrefix]=targetSize[layout.perpendicularPrefix];newSize[layout.parallelPrefix]=targetSize[layout.parallelPrefix]-me.afterCt[methodName]();posArgs[layout.perpendicularSizeIndex]=(calculations.meta.maxSize-me.menuTrigger["get"+layout.perpendicularPrefixCap]())/2;me.menuTrigger.setPosition.apply(me.menuTrigger,posArgs);return{targetSize:newSize}},clearOverflow:function(calculations,targetSize){var me=this,newWidth=targetSize?targetSize.width+(me.afterCt?me.afterCt.getWidth():0):0,items=me.menuItems,i=0,length=items.length,item;me.hideTrigger();for(;iavailable){me.menuItems.push(box.component);box.component.hide()}}},createInnerElements:function(){var me=this,target=me.layout.getRenderTarget();if(!this.afterCt){target.addCls(Ext.baseCSSPrefix+me.layout.direction+"-box-overflow-body");this.afterCt=target.insertSibling({cls:Ext.layout.container.Box.prototype.innerCls+" "+this.afterCtCls},"before")}},destroy:function(){Ext.destroy(this.menu,this.menuTrigger)}});Ext.define("Ext.util.Region",{requires:["Ext.util.Offset"],statics:{getRegion:function(el){return Ext.fly(el).getPageBox(true)},from:function(o){return new this(o.top,o.right,o.bottom,o.left)}},constructor:function(t,r,b,l){var me=this;me.y=me.top=me[1]=t;me.right=r;me.bottom=b;me.x=me.left=me[0]=l},contains:function(region){var me=this;return(region.x>=me.x&®ion.right<=me.right&®ion.y>=me.y&®ion.bottom<=me.bottom)},intersect:function(region){var me=this,t=Math.max(me.y,region.y),r=Math.min(me.right,region.right),b=Math.min(me.bottom,region.bottom),l=Math.max(me.x,region.x);if(b>t&&r>l){return new this.self(t,r,b,l)}else{return false}},union:function(region){var me=this,t=Math.min(me.y,region.y),r=Math.max(me.right,region.right),b=Math.max(me.bottom,region.bottom),l=Math.min(me.x,region.x);return new this.self(t,r,b,l)},constrainTo:function(r){var me=this,constrain=Ext.Number.constrain;me.top=me.y=constrain(me.top,r.y,r.bottom);me.bottom=constrain(me.bottom,r.y,r.bottom);me.left=me.x=constrain(me.left,r.x,r.right);me.right=constrain(me.right,r.x,r.right);return me},adjust:function(t,r,b,l){var me=this;me.top=me.y+=t;me.left=me.x+=l;me.right+=r;me.bottom+=b;return me},getOutOfBoundOffset:function(axis,p){if(!Ext.isObject(axis)){if(axis=="x"){return this.getOutOfBoundOffsetX(p)}else{return this.getOutOfBoundOffsetY(p)}}else{p=axis;var d=Ext.create("Ext.util.Offset");d.x=this.getOutOfBoundOffsetX(p.x);d.y=this.getOutOfBoundOffsetY(p.y);return d}},getOutOfBoundOffsetX:function(p){if(p<=this.x){return this.x-p}else{if(p>=this.right){return this.right-p}}return 0},getOutOfBoundOffsetY:function(p){if(p<=this.y){return this.y-p}else{if(p>=this.bottom){return this.bottom-p}}return 0},isOutOfBound:function(axis,p){if(!Ext.isObject(axis)){if(axis=="x"){return this.isOutOfBoundX(p)}else{return this.isOutOfBoundY(p)}}else{p=axis;return(this.isOutOfBoundX(p.x)||this.isOutOfBoundY(p.y))}},isOutOfBoundX:function(p){return(pthis.right)},isOutOfBoundY:function(p){return(pthis.bottom)},restrict:function(axis,p,factor){if(Ext.isObject(axis)){var newP;factor=p;p=axis;if(p.copy){newP=p.copy()}else{newP={x:p.x,y:p.y}}newP.x=this.restrictX(p.x,factor);newP.y=this.restrictY(p.y,factor);return newP}else{if(axis=="x"){return this.restrictX(p,factor)}else{return this.restrictY(p,factor)}}},restrictX:function(p,factor){if(!factor){factor=1}if(p<=this.x){p-=(p-this.x)*factor}else{if(p>=this.right){p-=(p-this.right)*factor}}return p},restrictY:function(p,factor){if(!factor){factor=1}if(p<=this.y){p-=(p-this.y)*factor}else{if(p>=this.bottom){p-=(p-this.bottom)*factor}}return p},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(p){var me=this;me.top=me.y=me[1]=p.y;me.right=p.right;me.bottom=p.bottom;me.left=me.x=me[0]=p.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(x,y){if(arguments.length==1){y=x.y;x=x.x}var me=this;me.top=me.y+=y;me.right+=x;me.bottom+=y;me.left=me.x+=x;return me},round:function(){var me=this;me.top=me.y=Math.round(me.y);me.right=Math.round(me.right);me.bottom=Math.round(me.bottom);me.left=me.x=Math.round(me.x);return me},equals:function(region){return(this.top==region.top&&this.right==region.right&&this.bottom==region.bottom&&this.left==region.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],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(sMethod,args){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue}oDD[sMethod].apply(oDD,args)}}},_onLoad:function(){this.init();var Event=Ext.EventManager;Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true)},_onResize:function(e){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(oDD,sGroup){if(!this.initialized){this.init()}if(!this.ids[sGroup]){this.ids[sGroup]={}}this.ids[sGroup][oDD.id]=oDD},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={}}var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id]}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g]&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id]}}delete this.handleIds[oDD.id]},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={}}this.handleIds[sDDId][sHandleId]=sHandleId},isDragDrop:function(id){return(this.getDDById(id))?true:false},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[];for(var i in p_oDD.groups){for(var j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue}if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd}}}return oDDs},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true);for(var i=0,len=targets.length;ithis.clickPixelThresh||diffY>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);if(!this.dragCurrent.moveOnly){this.fireEvents(e,false)}}this.stopEvent(e);return true},fireEvents:function(e,isDrop){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return}var pt=e.getPoint();var oldOvers=[];var outEvts=[];var overEvts=[];var dropEvts=[];var enterEvts=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue}if(!this.isOverTarget(pt,ddo,this.mode)){outEvts.push(ddo)}oldOvers[i]=true;delete this.dragOvers[i]}for(var sGroup in dc.groups){if("string"!=typeof sGroup){continue}for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(!this.isTypeOfDD(oDD)){continue}if(oDD.isTarget&&!oDD.isLocked()&&((oDD!=dc)||(dc.ignoreSelf===false))){if(this.isOverTarget(pt,oDD,this.mode)){if(isDrop){dropEvts.push(oDD)}else{if(!oldOvers[oDD.id]){enterEvts.push(oDD)}else{overEvts.push(oDD)}this.dragOvers[oDD.id]=oDD}}}}}if(this.mode){if(outEvts.length){dc.b4DragOut(e,outEvts);dc.onDragOut(e,outEvts)}if(enterEvts.length){dc.onDragEnter(e,enterEvts)}if(overEvts.length){dc.b4DragOver(e,overEvts);dc.onDragOver(e,overEvts)}if(dropEvts.length){dc.b4DragDrop(e,dropEvts);dc.onDragDrop(e,dropEvts)}}else{var len=0;for(i=0,len=outEvts.length;i2000){}else{setTimeout(this._addListeners,10);if(document&&document.body){this._timeoutCount+=1}}}},handleWasClicked:function(node,id){if(this.isHandle(id,node.id)){return true}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true}else{p=p.parentNode}}}return false}},function(){this._addListeners()});Ext.define("Ext.layout.container.Box",{alias:["layout.box"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.BoxLayout",requires:["Ext.layout.container.boxOverflow.None","Ext.layout.container.boxOverflow.Menu","Ext.layout.container.boxOverflow.Scroller","Ext.util.Format","Ext.dd.DragDropManager"],defaultMargins:{top:0,right:0,bottom:0,left:0},padding:"0",pack:"start",type:"box",scrollOffset:0,itemCls:Ext.baseCSSPrefix+"box-item",targetCls:Ext.baseCSSPrefix+"box-layout-ct",innerCls:Ext.baseCSSPrefix+"box-inner",bindToOwnerCtContainer:true,availableSpaceOffset:0,reserveOffset:true,shrinkToFit:true,clearInnerCtOnLayout:false,flexSortFn:function(a,b){var maxParallelPrefix="max"+this.parallelPrefixCap,infiniteValue=Infinity;a=a.component[maxParallelPrefix]||infiniteValue;b=b.component[maxParallelPrefix]||infiniteValue;if(!isFinite(a)&&!isFinite(b)){return false}return a-b},minSizeSortFn:function(a,b){return b.available-a.available},constructor:function(config){var me=this;me.callParent(arguments);me.flexSortFn=Ext.Function.bind(me.flexSortFn,me);me.initOverflowHandler()},getChildBox:function(child){child=child.el||this.owner.getComponent(child).el;var size=child.getBox(false,true);return{left:size.left,top:size.top,width:size.width,height:size.height}},calculateChildBox:function(child){var me=this,boxes=me.calculateChildBoxes(me.getVisibleItems(),me.getLayoutTargetSize()).boxes,ln=boxes.length,i=0;child=me.owner.getComponent(child);for(;iparallelSize}availableSpace=mmax(0,parallelSize-nonFlexSize-paddingParallel-(me.reserveOffset?me.availableSpaceOffset:0));if(tooNarrow){for(i=0;i0){for(i=0;i0)}else{remainingSpace=availableSpace;remainingFlex=totalFlex;flexedBoxes=[];for(i=0;i0){calcs[me.perpendicularLeftTop]=perpendicularOffset+Math.round(diff/2)}}}}parallelOffset+=(calcs[parallelPrefix]||0)+childMargins[me.parallelAfter]}return{boxes:boxes,meta:{calculatedWidth:calculatedWidth,maxSize:maxSize,nonFlexSize:nonFlexSize,desiredSize:desiredSize,minimumSize:minimumSize,shortfall:shortfall,tooNarrow:tooNarrow}}},onRemove:function(comp){this.callParent(arguments);if(this.overflowHandler){this.overflowHandler.onRemove(comp)}},initOverflowHandler:function(){var handler=this.overflowHandler;if(typeof handler=="string"){handler={type:handler}}var handlerType="None";if(handler&&handler.type!==undefined){handlerType=handler.type}var constructor=Ext.layout.container.boxOverflow[handlerType];if(constructor[this.type]){constructor=constructor[this.type]}this.overflowHandler=Ext.create("Ext.layout.container.boxOverflow."+handlerType,this,handler)},onLayout:function(){this.callParent();if(this.clearInnerCtOnLayout===true&&this.adjustmentPass!==true){this.innerCt.setSize(null,null)}var me=this,targetSize=me.getLayoutTargetSize(),items=me.getVisibleItems(),calcs=me.calculateChildBoxes(items,targetSize),boxes=calcs.boxes,meta=calcs.meta,handler,method,results;if(me.autoSize&&calcs.meta.desiredSize){targetSize[me.parallelPrefix]=calcs.meta.desiredSize}if(meta.shortfall>0){handler=me.overflowHandler;method=meta.tooNarrow?"handleOverflow":"clearOverflow";results=handler[method](calcs,targetSize);if(results){if(results.targetSize){targetSize=results.targetSize}if(results.recalculate){items=me.getVisibleItems();calcs=me.calculateChildBoxes(items,targetSize);boxes=calcs.boxes}}}else{me.overflowHandler.clearOverflow()}me.layoutTargetLastSize=targetSize;me.childBoxCache=calcs;me.updateInnerCtSize(targetSize,calcs);me.updateChildBoxes(boxes);me.handleTargetOverflow(targetSize)},animCallback:Ext.emptyFn,updateChildBoxes:function(boxes){var me=this,i=0,length=boxes.length,animQueue=[],dd=Ext.dd.DDM.getDDById(me.innerCt.id),oldBox,newBox,changed,comp,boxAnim,animCallback;for(;imeta.calculatedWidth){me.owner.el.setWidth(meta.calculatedWidth)}if(me.innerCt.dom.scrollTop){me.innerCt.dom.scrollTop=0}},handleTargetOverflow:function(previousTargetSize){var target=this.getTarget(),overflow=target.getStyle("overflow"),newTargetSize;if(overflow&&overflow!="hidden"&&!this.adjustmentPass){newTargetSize=this.getLayoutTargetSize();if(newTargetSize.width!=previousTargetSize.width||newTargetSize.height!=previousTargetSize.height){this.adjustmentPass=true;this.onLayout();return true}}delete this.adjustmentPass},isValidParent:function(item,target,position){var itemEl=item.el?item.el.dom:Ext.getDom(item);return(itemEl&&this.innerCt&&itemEl.parentNode===this.innerCt.dom)||false},getRenderTarget:function(){if(!this.innerCt){this.innerCt=this.getTarget().createChild({cls:this.innerCls,role:"presentation"});this.padding=Ext.util.Format.parseBox(this.padding)}return this.innerCt},renderItem:function(item,target){this.callParent(arguments);var me=this,itemEl=item.getEl(),style=itemEl.dom.style,margins=item.margins||item.margin;if(margins){if(Ext.isString(margins)||Ext.isNumber(margins)){margins=Ext.util.Format.parseBox(margins)}else{Ext.applyIf(margins,{top:0,right:0,bottom:0,left:0})}}else{margins=Ext.apply({},me.defaultMargins)}margins.top+=itemEl.getMargin("t");margins.right+=itemEl.getMargin("r");margins.bottom+=itemEl.getMargin("b");margins.left+=itemEl.getMargin("l");margins.height=margins.top+margins.bottom;margins.width=margins.left+margins.right;style.marginTop=style.marginRight=style.marginBottom=style.marginLeft="0";item.margins=margins},destroy:function(){Ext.destroy(this.innerCt,this.overflowHandler);this.callParent(arguments)}});Ext.define("Ext.layout.container.HBox",{alias:["layout.hbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.HBoxLayout",align:"top",alignCenteringString:"middle",type:"hbox",direction:"horizontal",parallelSizeIndex:0,perpendicularSizeIndex:1,parallelPrefix:"width",parallelPrefixCap:"Width",parallelLT:"l",parallelRB:"r",parallelBefore:"left",parallelBeforeCap:"Left",parallelAfter:"right",parallelPosition:"x",perpendicularPrefix:"height",perpendicularPrefixCap:"Height",perpendicularLT:"t",perpendicularRB:"b",perpendicularLeftTop:"top",perpendicularRightBottom:"bottom",perpendicularPosition:"y",configureItem:function(item){if(item.flex){item.layoutManagedWidth=1}else{item.layoutManagedWidth=2}if(this.align==="stretch"||this.align==="stretchmax"){item.layoutManagedHeight=1}else{item.layoutManagedHeight=2}this.callParent(arguments)}});Ext.define("Ext.layout.container.VBox",{alias:["layout.vbox"],extend:"Ext.layout.container.Box",alternateClassName:"Ext.layout.VBoxLayout",align:"left",alignCenteringString:"center",type:"vbox",direction:"vertical",parallelSizeIndex:1,perpendicularSizeIndex:0,parallelPrefix:"height",parallelPrefixCap:"Height",parallelLT:"t",parallelRB:"b",parallelBefore:"top",parallelBeforeCap:"Top",parallelAfter:"bottom",parallelPosition:"y",perpendicularPrefix:"width",perpendicularPrefixCap:"Width",perpendicularLT:"l",perpendicularRB:"r",perpendicularLeftTop:"left",perpendicularRightBottom:"right",perpendicularPosition:"x",configureItem:function(item){if(item.flex){item.layoutManagedHeight=1}else{item.layoutManagedHeight=2}if(this.align==="stretch"||this.align==="stretchmax"){item.layoutManagedWidth=1}else{item.layoutManagedWidth=2}this.callParent(arguments)}});Ext.define("Ext.FocusManager",{singleton:true,alternateClassName:"Ext.FocusMgr",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ComponentManager","Ext.ComponentQuery","Ext.util.HashMap","Ext.util.KeyNav"],enabled:false,focusElementCls:Ext.baseCSSPrefix+"focus-element",focusFrameCls:Ext.baseCSSPrefix+"focus-frame",whitelist:["textfield"],tabIndexWhitelist:["a","button","embed","frame","iframe","img","input","object","select","textarea"],constructor:function(){var me=this,CQ=Ext.ComponentQuery;me.addEvents("beforecomponentfocus","componentfocus","disable","enable");me.keyNav=Ext.create("Ext.util.KeyNav",Ext.getDoc(),{disabled:true,scope:me,backspace:me.focusLast,enter:me.navigateIn,esc:me.navigateOut,tab:me.navigateSiblings});me.focusData={};me.subscribers=Ext.create("Ext.util.HashMap");me.focusChain={};Ext.apply(CQ.pseudos,{focusable:function(cmps){var len=cmps.length,results=[],i=0,c,isFocusable=function(x){return x&&x.focusable!==false&&CQ.is(x,"[rendered]:not([destroying]):not([isDestroyed]):not([disabled]){isVisible(true)}{el && c.el.dom && c.el.isVisible()}")};for(;i=len){i=0}else{if(i<0){i=len-1}}c=cmps[i];if(CQ.is(c,":focusable")){return[c]}else{if(c.placeholder&&CQ.is(c.placeholder,":focusable")){return[c.placeholder]}}}return[]},prevFocus:function(cmps,idx){return this.nextFocus(cmps,idx,-1)},root:function(cmps){var len=cmps.length,results=[],i=0,c;for(;ib.el.getZIndex()});return floating.concat(inline)},initDOM:function(options){var me=this,sp=" ",cls=me.focusFrameCls;if(!Ext.isReady){Ext.onReady(me.initDOM,me);return}if(!me.focusEl){me.focusEl=Ext.getBody().createChild({tabIndex:"-1",cls:me.focusElementCls,html:sp})}if(!me.focusFrame&&options.focusFrame){me.focusFrame=Ext.getBody().createChild({cls:cls,children:[{cls:cls+"-top"},{cls:cls+"-bottom"},{cls:cls+"-left"},{cls:cls+"-right"}],style:"top: -100px; left: -100px;"});me.focusFrame.setVisibilityMode(Ext.Element.DISPLAY);me.focusFrameWidth=2;me.focusFrame.hide().setLeftTop(0,0)}},isWhitelisted:function(cmp){return cmp&&Ext.Array.some(this.whitelist,function(x){return cmp.isXType(x)})},navigateIn:function(e){var me=this,focusedCmp=me.focusedCmp,rootCmps,firstChild;if(!focusedCmp){rootCmps=me.getRootComponents();if(rootCmps.length){rootCmps[0].focus()}}else{firstChild=Ext.ComponentQuery.query(">:focusable",focusedCmp)[0];if(firstChild){firstChild.focus()}else{if(Ext.isFunction(focusedCmp.onClick)){e.button=0;focusedCmp.onClick(e);focusedCmp.focus()}}}},navigateOut:function(e){var me=this,parent;if(!me.focusedCmp||!(parent=me.focusedCmp.up(":focusable"))){me.focusEl.focus()}else{parent.focus()}return true},navigateSiblings:function(e,source,parent){var me=this,src=source||me,key=e.getKey(),EO=Ext.EventObject,goBack=e.shiftKey||key==EO.LEFT||key==EO.UP,checkWhitelist=key==EO.LEFT||key==EO.RIGHT||key==EO.UP||key==EO.DOWN,nextSelector=goBack?"prev":"next",idx,next,focusedCmp;focusedCmp=(src.focusedCmp&&src.focusedCmp.comp)||src.focusedCmp;if(!focusedCmp&&!parent){return}if(checkWhitelist&&me.isWhitelisted(focusedCmp)){return true}parent=parent||focusedCmp.up();if(parent){idx=focusedCmp?Ext.Array.indexOf(parent.getRefItems(),focusedCmp):-1;next=Ext.ComponentQuery.query(">:"+nextSelector+"Focus("+idx+")",parent)[0];if(next&&focusedCmp!==next){next.focus();return next}}},onComponentBlur:function(cmp,e){var me=this;if(me.focusedCmp===cmp){me.previousFocusedCmp=cmp;delete me.focusedCmp}if(me.focusFrame){me.focusFrame.hide()}},onComponentCreated:function(hash,id,cmp){this.setFocus(cmp,true,this.options)},onComponentDestroy:function(cmp){this.setFocus(cmp,false)},onComponentFocus:function(cmp,e){var me=this,chain=me.focusChain;if(!Ext.ComponentQuery.is(cmp,":focusable")){me.clearComponent(cmp);if(chain[cmp.id]){return}var parent=cmp.up();if(parent){chain[cmp.id]=true;parent.focus()}return}me.focusChain={};clearTimeout(me.cmpFocusDelay);if(arguments.length!==2){me.cmpFocusDelay=Ext.defer(me.onComponentFocus,90,me,[cmp,e]);return}if(me.fireEvent("beforecomponentfocus",me,cmp,me.previousFocusedCmp)===false){me.clearComponent(cmp);return}me.focusedCmp=cmp;if(me.shouldShowFocusFrame(cmp)){var cls="."+me.focusFrameCls+"-",ff=me.focusFrame,fw=me.focusFrameWidth,box=cmp.el.getPageBox(),bt=box.top,bl=box.left,bw=box.width,bh=box.height,ft=ff.child(cls+"top"),fb=ff.child(cls+"bottom"),fl=ff.child(cls+"left"),fr=ff.child(cls+"right");ft.setWidth(bw).setLeftTop(bl,bt);fb.setWidth(bw).setLeftTop(bl,bt+bh-fw);fl.setHeight(bh-fw-fw).setLeftTop(bl,bt+fw);fr.setHeight(bh-fw-fw).setLeftTop(bl+bw-fw,bt+fw);ff.show()}me.fireEvent("componentfocus",me,cmp,me.previousFocusedCmp)},onComponentHide:function(cmp){var me=this,CQ=Ext.ComponentQuery,cmpHadFocus=false,focusedCmp,parent;if(me.focusedCmp){focusedCmp=CQ.query("[id="+me.focusedCmp.id+"]",cmp)[0];cmpHadFocus=me.focusedCmp.id===cmp.id||focusedCmp;if(focusedCmp){me.clearComponent(focusedCmp)}}me.clearComponent(cmp);if(cmpHadFocus){parent=CQ.query("^:focusable",cmp)[0];if(parent){parent.focus()}}},removeDOM:function(){var me=this;if(me.enabled||me.subscribers.length){return}Ext.destroy(me.focusEl,me.focusFrame);delete me.focusEl;delete me.focusFrame;delete me.focusFrameWidth},removeXTypeFromWhitelist:function(xtype){var me=this;if(Ext.isArray(xtype)){Ext.Array.forEach(xtype,me.removeXTypeFromWhitelist,me);return}Ext.Array.remove(me.whitelist,xtype)},setFocus:function(cmp,focusable,options){var me=this,el,dom,data,needsTabIndex=function(n){return !Ext.Array.contains(me.tabIndexWhitelist,n.tagName.toLowerCase())&&n.tabIndex<=0};options=options||{};if(!cmp.rendered){cmp.on("afterrender",Ext.pass(me.setFocus,arguments,me),me,{single:true});return}el=cmp.getFocusEl();dom=el.dom;if((focusable&&!me.focusData[cmp.id])||(!focusable&&me.focusData[cmp.id])){if(focusable){data={focusFrame:options.focusFrame};if(needsTabIndex(dom)){data.tabIndex=dom.tabIndex;dom.tabIndex=-1}el.on({focus:data.focusFn=Ext.bind(me.onComponentFocus,me,[cmp],0),blur:data.blurFn=Ext.bind(me.onComponentBlur,me,[cmp],0),scope:me});cmp.on({hide:me.onComponentHide,close:me.onComponentHide,beforedestroy:me.onComponentDestroy,scope:me});me.focusData[cmp.id]=data}else{data=me.focusData[cmp.id];if("tabIndex" in data){dom.tabIndex=data.tabIndex}el.un("focus",data.focusFn,me);el.un("blur",data.blurFn,me);cmp.un("hide",me.onComponentHide,me);cmp.un("close",me.onComponentHide,me);cmp.un("beforedestroy",me.onComponentDestroy,me);delete me.focusData[cmp.id]}}},setFocusAll:function(focusable,options){var me=this,cmps=Ext.ComponentManager.all.getArray(),len=cmps.length,cmp,i=0;for(;i"),safeSetFocus);me.setFocus(cmp,true,options);cmp.on("add",data.onAdd,me)}else{if(!cmp.isContainer){me.setFocus(cmp,true,options)}}};if(!container||!container.isContainer){return}if(!container.rendered){container.on("afterrender",Ext.pass(me.subscribe,arguments,me),me,{single:true});return}me.initDOM(options);data.keyNav=me.setupSubscriberKeys(container,options.keys);data.onAdd=function(ct,cmp,idx){safeSetFocus(cmp)};container.on("beforedestroy",me.unsubscribe,me);safeSetFocus(container);subs.add(container.id,data)},unsubscribe:function(container){var me=this,EA=Ext.Array,subs=me.subscribers,data,safeSetFocus=function(cmp){if(cmp.isContainer&&!subs.containsKey(cmp.id)){EA.forEach(cmp.query(">"),safeSetFocus);me.setFocus(cmp,false);cmp.un("add",data.onAdd,me)}else{if(!cmp.isContainer){me.setFocus(cmp,false)}}};if(!container||!subs.containsKey(container.id)){return}data=subs.get(container.id);data.keyNav.destroy();container.un("beforedestroy",me.unsubscribe,me);subs.removeAtKey(container.id);safeSetFocus(container);me.removeDOM()}});Ext.define("Ext.toolbar.Toolbar",{extend:"Ext.container.Container",requires:["Ext.toolbar.Fill","Ext.layout.container.HBox","Ext.layout.container.VBox","Ext.FocusManager"],uses:["Ext.toolbar.Separator"],alias:"widget.toolbar",alternateClassName:"Ext.Toolbar",isToolbar:true,baseCls:Ext.baseCSSPrefix+"toolbar",ariaRole:"toolbar",defaultType:"button",vertical:false,enableOverflow:false,menuTriggerCls:Ext.baseCSSPrefix+"toolbar-more-icon",trackMenus:true,itemCls:Ext.baseCSSPrefix+"toolbar-item",initComponent:function(){var me=this,keys;if(!me.layout&&me.enableOverflow){me.layout={overflowHandler:"Menu"}}if(me.dock==="right"||me.dock==="left"){me.vertical=true}me.layout=Ext.applyIf(Ext.isString(me.layout)?{type:me.layout}:me.layout||{},{type:me.vertical?"vbox":"hbox",align:me.vertical?"stretchmax":"middle",clearInnerCtOnLayout:true});if(me.vertical){me.addClsWithUI("vertical")}if(me.ui==="footer"){me.ignoreBorderManagement=true}me.callParent();me.addEvents("overflowchange");keys=me.vertical?["up","down"]:["left","right"];Ext.FocusManager.subscribe(me,{keys:keys})},getRefItems:function(deep){var me=this,items=me.callParent(arguments),layout=me.layout,handler;if(deep&&me.enableOverflow){handler=layout.overflowHandler;if(handler&&handler.menu){items=items.concat(handler.menu.getRefItems(deep))}}return items},lookupComponent:function(c){if(Ext.isString(c)){var shortcut=Ext.toolbar.Toolbar.shortcuts[c];if(shortcut){c={xtype:shortcut}}else{c={xtype:"tbtext",text:c}}this.applyDefaults(c)}return this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c},trackMenu:function(item,remove){if(this.trackMenus&&item.menu){var method=remove?"mun":"mon",me=this;me[method](item,"mouseover",me.onButtonOver,me);me[method](item,"menushow",me.onButtonMenuShow,me);me[method](item,"menuhide",me.onButtonMenuHide,me)}},constructButton:function(item){return item.events?item:this.createComponent(item,item.split?"splitbutton":this.defaultType)},onBeforeAdd:function(component){if(component.is("field")||(component.is("button")&&this.ui!="footer")){component.ui=component.ui+"-toolbar"}if(component instanceof Ext.toolbar.Separator){component.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(component){this.callParent(arguments);this.trackMenu(component);if(this.disabled){component.disable()}},onRemove:function(c){this.callParent(arguments);this.trackMenu(c,true)},onButtonOver:function(btn){if(this.activeMenuBtn&&this.activeMenuBtn!=btn){this.activeMenuBtn.hideMenu();btn.showMenu();this.activeMenuBtn=btn}},onButtonMenuShow:function(btn){this.activeMenuBtn=btn},onButtonMenuHide:function(btn){delete this.activeMenuBtn}},function(){this.shortcuts={"-":"tbseparator"," ":"tbspacer","->":"tbfill"}});Ext.define("Ext.panel.AbstractPanel",{extend:"Ext.container.Container",requires:["Ext.util.MixedCollection","Ext.Element","Ext.toolbar.Toolbar"],baseCls:Ext.baseCSSPrefix+"panel",isPanel:true,componentLayout:"dock",defaultDockWeights:{top:1,left:3,right:5,bottom:7},renderTpl:['
    {bodyCls}',' {baseCls}-body-{ui}',' {parent.baseCls}-body-{parent.ui}-{.}','" style="{bodyStyle}">',"
    "],border:true,initComponent:function(){var me=this;me.addEvents("bodyresize");me.addChildEls("body");if(me.frame&&me.border&&me.bodyBorder===undefined){me.bodyBorder=false}if(me.frame&&me.border&&(me.bodyBorder===false||me.bodyBorder===0)){me.manageBodyBorders=true}me.callParent()},initItems:function(){var me=this,items=me.dockedItems;me.callParent();me.dockedItems=Ext.create("Ext.util.MixedCollection",false,me.getComponentId);if(items){me.addDocked(items)}},getDockedComponent:function(comp){if(Ext.isObject(comp)){comp=comp.getItemId()}return this.dockedItems.get(comp)},getComponent:function(comp){var component=this.callParent(arguments);if(component===undefined&&!Ext.isNumber(comp)){component=this.getDockedComponent(comp)}return component},initBodyStyles:function(){var me=this,bodyStyle=me.bodyStyle,styles=[],Element=Ext.Element,prop;if(Ext.isFunction(bodyStyle)){bodyStyle=bodyStyle()}if(Ext.isString(bodyStyle)){styles=bodyStyle.split(";")}else{for(prop in bodyStyle){if(bodyStyle.hasOwnProperty(prop)){styles.push(prop+":"+bodyStyle[prop])}}}if(me.bodyPadding!==undefined){styles.push("padding: "+Element.unitizeBox((me.bodyPadding===true)?5:me.bodyPadding))}if(me.frame&&me.bodyBorder){if(!Ext.isNumber(me.bodyBorder)){me.bodyBorder=1}styles.push("border-width: "+Element.unitizeBox(me.bodyBorder))}delete me.bodyStyle;return styles.length?styles.join(";"):undefined},initBodyCls:function(){var me=this,cls="",bodyCls=me.bodyCls;if(bodyCls){Ext.each(bodyCls,function(v){cls+=" "+v});delete me.bodyCls}return cls.length>0?cls:undefined},initRenderData:function(){return Ext.applyIf(this.callParent(),{bodyStyle:this.initBodyStyles(),bodyCls:this.initBodyCls()})},addDocked:function(items,pos){var me=this,i=0,item,length;items=me.prepareItems(items);length=items.length;for(;i {bodyCls}','',' {parent.baseCls}-body-{parent.ui}-{.}','"',' style="{bodyStyle}">'],initComponent:function(){var me=this,ruleStyle,rule,style,titleTextEl,ui;me.indicateDragCls=me.baseCls+"-draggable";me.title=me.title||" ";me.tools=me.tools||[];me.items=me.items||[];me.orientation=me.orientation||"horizontal";me.dock=(me.dock)?me.dock:(me.orientation=="horizontal")?"top":"left";me.addClsWithUI(me.orientation);me.addClsWithUI(me.dock);me.addChildEls("body");if(!Ext.isEmpty(me.iconCls)){me.initIconCmp();me.items.push(me.iconCmp)}if(me.orientation=="vertical"){if(Ext.isIE6||Ext.isIE7){me.width=this.width||24}else{if(Ext.isIEQuirks){me.width=this.width||25}}me.layout={type:"vbox",align:"center",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};me.textConfig={cls:me.baseCls+"-text",type:"text",text:me.title,rotate:{degrees:90}};ui=me.ui;if(Ext.isArray(ui)){ui=ui[0]}ruleStyle="."+me.baseCls+"-text-"+ui;if(Ext.scopeResetCSS){ruleStyle="."+Ext.baseCSSPrefix+"reset "+ruleStyle}rule=Ext.util.CSS.getRule(ruleStyle);if(rule){style=rule.style}if(style){Ext.apply(me.textConfig,{"font-family":style.fontFamily,"font-weight":style.fontWeight,"font-size":style.fontSize,fill:style.color})}me.titleCmp=Ext.create("Ext.draw.Component",{ariaRole:"heading",focusable:false,viewBox:false,flex:1,autoSize:true,margins:"5 0 0 0",items:[me.textConfig],renderSelectors:{textEl:"."+me.baseCls+"-text"}})}else{me.layout={type:"hbox",align:"middle",clearInnerCtOnLayout:true,bindToOwnerCtContainer:false};me.titleCmp=Ext.create("Ext.Component",{xtype:"component",ariaRole:"heading",focusable:false,flex:1,cls:me.baseCls+"-text-container",renderTpl:['{title}'],renderData:{title:me.title,cls:me.baseCls,ui:me.ui},childEls:["textEl"]})}me.items.push(me.titleCmp);me.items=me.items.concat(me.tools);this.callParent()},initIconCmp:function(){this.iconCmp=Ext.create("Ext.Component",{focusable:false,renderTpl:[''],renderData:{blank:Ext.BLANK_IMAGE_URL,cls:this.baseCls,iconCls:this.iconCls,orientation:this.orientation},childEls:["iconEl"],iconCls:this.iconCls})},afterRender:function(){var me=this;me.el.unselectable();if(me.indicateDrag){me.el.addCls(me.indicateDragCls)}me.mon(me.el,{click:me.onClick,scope:me});me.callParent()},afterLayout:function(){var me=this;me.callParent(arguments);if(Ext.isIE7){me.el.repaint()}},addUIClsToElement:function(cls,force){var me=this,result=me.callParent(arguments),classes=[me.baseCls+"-body-"+cls,me.baseCls+"-body-"+me.ui+"-"+cls],array,i;if(!force&&me.rendered){if(me.bodyCls){me.body.addCls(me.bodyCls)}else{me.body.addCls(classes)}}else{if(me.bodyCls){array=me.bodyCls.split(" ");for(i=0;i0},runningFilter:function(o){return o.paused===false&&o.running===true&&o.isAnimator!==true},runner:function(){var me=this,items=me.items;me.targetData={};me.targetArr={};me.timestamp=new Date();items.filterBy(me.startingFilter).each(me.startAnim,me);items.filterBy(me.runningFilter).each(me.runAnim,me);me.applyPendingAttrs()},startAnim:function(anim){anim.start(this.timestamp)},runAnim:function(anim){if(!anim){return}var me=this,targetId=anim.target.getId(),useCSS3=me.useCSS3&&anim.target.type=="element",elapsedTime=me.timestamp-anim.startTime,target,o;this.collectTargetData(anim,elapsedTime,useCSS3);if(useCSS3){anim.target.setAttr(me.targetData[targetId],true);me.targetData[targetId]=[];me.collectTargetData(anim,anim.duration,useCSS3);anim.paused=true;target=anim.target.target;if(anim.target.isComposite){target=anim.target.target.last()}o={};o[Ext.supports.CSS3TransitionEnd]=anim.lastFrame;o.scope=anim;o.single=true;target.on(o)}else{if(elapsedTime>=anim.duration){me.applyPendingAttrs(true);delete me.targetData[targetId];delete me.targetArr[targetId];anim.lastFrame()}}},collectTargetData:function(anim,elapsedTime,useCSS3){var targetId=anim.target.getId(),targetData=this.targetData[targetId],data;if(!targetData){targetData=this.targetData[targetId]=[];this.targetArr[targetId]=anim.target}data={duration:anim.duration,easing:(useCSS3&&anim.reverse)?anim.easingFn.reverse().toCSS3():anim.easing,attrs:{}};Ext.apply(data.attrs,anim.runAnim(elapsedTime));targetData.push(data)},applyPendingAttrs:function(isLastFrame){var targetData=this.targetData,targetArr=this.targetArr,targetId;for(targetId in targetData){if(targetData.hasOwnProperty(targetId)){targetArr[targetId].setAttr(targetData[targetId],false,isLastFrame)}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(config){var me=this;config=Ext.apply(me,config||{});me.config=config;me.id=Ext.id(null,"ext-animator-");me.addEvents("beforeanimate","keyframe","afteranimate");me.mixins.observable.constructor.call(me,config);me.timeline=[];me.createTimeline(me.keyframes);if(me.target){me.applyAnimator(me.target);Ext.fx.Manager.addAnim(me)}},sorter:function(a,b){return a.pct-b.pct},createTimeline:function(keyframes){var me=this,attrs=[],to=me.to||{},duration=me.duration,prevMs,ms,i,ln,pct,anim,nextAnim,attr;for(pct in keyframes){if(keyframes.hasOwnProperty(pct)&&me.animKeyFramesRE.test(pct)){attr={attrs:Ext.apply(keyframes[pct],to)};if(pct=="from"){pct=0}else{if(pct=="to"){pct=100}}attr.pct=parseInt(pct,10);attrs.push(attr)}}Ext.Array.sort(attrs,me.sorter);ln=attrs.length;for(i=0;i2){data.push([b].concat(Ext.Array.splice(params,0,2)));name="l";b=(b=="m")?"l":"L"}while(params.length>=paramCounts[name]){data.push([b].concat(Ext.Array.splice(params,0,paramCounts[name])));if(!paramCounts[name]){break}}})}data.toString=me.path2string;return data},mapPath:function(path,matrix){if(!matrix){return path}var x,y,i,ii,j,jj,pathi;path=this.path2curve(path);for(i=0,ii=path.length;i7){points[i].shift();point=points[i];while(point.length){Ext.Array.splice(points,i++,0,["C"].concat(Ext.Array.splice(point,0,6)))}Ext.Array.erase(points,i,1);ln=points.length}seg=points[i];segLn=seg.length;attrs.x=seg[segLn-2];attrs.y=seg[segLn-1];attrs.bx=parseFloat(seg[segLn-4])||attrs.x;attrs.by=parseFloat(seg[segLn-3])||attrs.y}return points},interpolatePaths:function(path,path2){var me=this,p=me.pathToAbsolute(path),p2=me.pathToAbsolute(path2),attrs={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},attrs2={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},fixArc=function(pp,i){if(pp[i].length>7){pp[i].shift();var pi=pp[i];while(pi.length){Ext.Array.splice(pp,i++,0,["C"].concat(Ext.Array.splice(pi,0,6)))}Ext.Array.erase(pp,i,1);ii=Math.max(p.length,p2.length||0)}},fixM=function(path1,path2,a1,a2,i){if(path1&&path2&&path1[i][0]=="M"&&path2[i][0]!="M"){Ext.Array.splice(path2,i,0,["M",a2.x,a2.y]);a1.bx=0;a1.by=0;a1.x=path1[i][1];a1.y=path1[i][2];ii=Math.max(p.length,p2.length||0)}};for(var i=0,ii=Math.max(p.length,p2.length||0);i1){h=msqrt(h);rx=h*rx;ry=h*ry}rx2=rx*rx;ry2=ry*ry;k=(large_arc_flag==sweep_flag?-1:1)*msqrt(mabs((rx2*ry2-rx2*y*y-ry2*x*x)/(rx2*y*y+ry2*x*x)));cx=k*rx*y/ry+(x1+x2)/2;cy=k*-ry*x/rx+(y1+y2)/2;f1=masin(((y1-cy)/ry).toFixed(7));f2=masin(((y2-cy)/ry).toFixed(7));f1=x1f2){f1=f1-PI*2}if(!sweep_flag&&f2>f1){f2=f2-PI*2}}else{f1=recursive[0];f2=recursive[1];cx=recursive[2];cy=recursive[3]}df=f2-f1;if(mabs(df)>_120){f2old=f2;x2old=x2;y2old=y2;f2=f1+_120*(sweep_flag&&f2>f1?1:-1);x2=cx+rx*mcos(f2);y2=cy+ry*msin(f2);res=me.arc2curve(x2,y2,rx,ry,angle,0,sweep_flag,x2old,y2old,[f2,f2old,cx,cy])}df=f2-f1;c1=mcos(f1);s1=msin(f1);c2=mcos(f2);s2=msin(f2);t=math.tan(df/4);hx=4/3*rx*t;hy=4/3*ry*t;m1=[x1,y1];m2=[x1+hx*s1,y1-hy*c1];m3=[x2+hx*s2,y2-hy*c2];m4=[x2,y2];m2[0]=2*m1[0]-m2[0];m2[1]=2*m1[1]-m2[1];if(recursive){return[m2,m3,m4].concat(res)}else{res=[m2,m3,m4].concat(res).join().split(",");newres=[];ln=res.length;for(i=0;i(cp2[1]-cp1[1])*(path[0]-cp1[0])},intersectIntersection:function(s,e,cp1,cp2){var p=[],dcx=cp1[0]-cp2[0],dcy=cp1[1]-cp2[1],dpx=s[0]-e[0],dpy=s[1]-e[1],n1=cp1[0]*cp2[1]-cp1[1]*cp2[0],n2=s[0]*e[1]-s[1]*e[0],n3=1/(dcx*dpy-dcy*dpx);p[0]=(n1*dpx-n2*dcx)*n3;p[1]=(n1*dpy-n2*dcy)*n3;return p},intersect:function(subjectPolygon,clipPolygon){var me=this,i=0,ln=clipPolygon.length,cp1=clipPolygon[ln-1],outputList=subjectPolygon,cp2,s,e,point,ln2,inputList,j;for(;i1000000000000){t1=0.5}if(Math.abs(t2)>1000000000000){t2=0.5}if(t1>0&&t1<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t1);x.push(dot.x);y.push(dot.y)}if(t2>0&&t2<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t2);x.push(dot.x);y.push(dot.y)}a=(c2y-2*c1y+p1y)-(p2y-2*c2y+c1y);b=2*(c1y-p1y)-2*(c2y-c1y);c=p1y-c1y;t1=(-b+Math.sqrt(b*b-4*a*c))/2/a;t2=(-b-Math.sqrt(b*b-4*a*c))/2/a;if(Math.abs(t1)>1000000000000){t1=0.5}if(Math.abs(t2)>1000000000000){t2=0.5}if(t1>0&&t1<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t1);x.push(dot.x);y.push(dot.y)}if(t2>0&&t2<1){dot=this.findDotAtSegment(p1x,p1y,c1x,c1y,c2x,c2y,p2x,p2y,t2);x.push(dot.x);y.push(dot.y)}return{min:{x:Math.min.apply(0,x),y:Math.min.apply(0,y)},max:{x:Math.max.apply(0,x),y:Math.max.apply(0,y)}}},getAnchors:function(prevX,prevY,curX,curY,nextX,nextY,value){value=value||4;var M=Math,PI=M.PI,halfPI=PI/2,abs=M.abs,sin=M.sin,cos=M.cos,atan=M.atan,control1Length,control2Length,control1Angle,control2Angle,control1X,control1Y,control2X,control2Y,alpha;control1Length=(curX-prevX)/value;control2Length=(nextX-curX)/value;if((curY>=prevY&&curY>=nextY)||(curY<=prevY&&curY<=nextY)){control1Angle=control2Angle=halfPI}else{control1Angle=atan((curX-prevX)/abs(curY-prevY));if(prevYhalfPI){alpha-=PI}control1Angle+=alpha;control2Angle+=alpha;control1X=curX-control1Length*sin(control1Angle);control1Y=curY+control1Length*cos(control1Angle);control2X=curX+control2Length*sin(control2Angle);control2Y=curY+control2Length*cos(control2Angle);if((curY>prevY&&control1YprevY)){control1X+=abs(prevY-control1Y)*(control1X-curX)/(control1Y-curY);control1Y=prevY}if((curY>nextY&&control2YnextY)){control2X-=abs(nextY-control2Y)*(control2X-curX)/(control2Y-curY);control2Y=nextY}return{x1:control1X,y1:control1Y,x2:control2X,y2:control2Y}},smooth:function(originalPath,value){var path=this.path2curve(originalPath),newp=[path[0]],x=path[0][1],y=path[0][2],j,points,i=1,ii=path.length,beg=1,mx=x,my=y,cx=0,cy=0;for(;i=bbox.x&&x<=(bbox.x+bbox.width)&&y>=bbox.y&&y<=(bbox.y+bbox.height))},parseGradient:function(gradient){var me=this,type=gradient.type||"linear",angle=gradient.angle||0,radian=me.radian,stops=gradient.stops,stopsArr=[],stop,vector,max,stopObj;if(type=="linear"){vector=[0,0,Math.cos(angle*radian),Math.sin(angle*radian)];max=1/(Math.max(Math.abs(vector[2]),Math.abs(vector[3]))||1);vector[2]*=max;vector[3]*=max;if(vector[2]<0){vector[0]=-vector[2];vector[2]=0}if(vector[3]<0){vector[1]=-vector[3];vector[3]=0}}for(stop in stops){if(stops.hasOwnProperty(stop)&&me.stopsRE.test(stop)){stopObj={offset:parseInt(stop,10),color:Ext.draw.Color.toHex(stops[stop].color)||"#ffffff",opacity:stops[stop].opacity||1};stopsArr.push(stopObj)}}Ext.Array.sort(stopsArr,me.sorter);if(type=="linear"){return{id:gradient.id,type:type,vector:vector,stops:stopsArr}}else{return{id:gradient.id,type:type,centerX:gradient.centerX,centerY:gradient.centerY,focalX:gradient.focalX,focalY:gradient.focalY,radius:gradient.radius,vector:vector,stops:stopsArr}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(from,end,damper,initial,attr){damper=(typeof damper=="number")?damper:1;var unitRE=this.unitRE,match=unitRE.exec(from),start,units;if(match){from=match[1];units=match[2];if(!this.scrollRE.test(attr)&&!units&&this.pixelDefaultsRE.test(attr)){units="px"}}from=+from||0;match=unitRE.exec(end);if(match){end=match[1];units=match[2]||units}end=+end||0;start=(initial!=null)?initial:from;return{from:from,delta:(end-start)*damper,units:units}},get:function(from,end,damper,initialFrom,attr){var ln=from.length,out=[],i,initial,res,j,len;for(i=0;i=duration){elapsedTime=duration;lastFrame=true}if(me.reverse){elapsedTime=duration-elapsedTime}for(attr in attrs){if(attrs.hasOwnProperty(attr)){values=attrs[attr];easing=lastFrame?1:easingFn(elapsedTime/duration);ret[attr]=propHandlers[attr].set(values,easing)}}return ret},lastFrame:function(){var me=this,iter=me.iterations,iterCount=me.currentIteration;iterCount++;if(iterCount=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true}}for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={};for(var i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true}}for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=iLeft;this.rightConstraint=iRight;this.minX=this.initPageX-iLeft;this.maxX=this.initPageX+iRight;if(iTickSize){this.setXTicks(this.initPageX,iTickSize)}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(iUp,iDown,iTickSize){this.topConstraint=iUp;this.bottomConstraint=iDown;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+iDown;if(iTickSize){this.setYTicks(this.initPageY,iTickSize)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy)}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(val,tickArray){if(!tickArray){return val}else{if(tickArray[0]>=val){return tickArray[0]}else{for(var i=0,len=tickArray.length;i=val){var diff1=val-tickArray[i];var diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next]}}return tickArray[tickArray.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(id,sGroup,config){if(id){this.init(id,sGroup,config)}},scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX;var y=iPageY-this.startPageY;this.setDelta(x,y)},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY)},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY),fly=el.dom?el:Ext.fly(el,"_dd"),elSize=fly.getSize(),EL=Ext.Element,vpSize;if(!this.deltaSetXY){vpSize=this.cachedViewportSize={width:EL.getDocumentWidth(),height:EL.getDocumentHeight()};var aCoord=[Math.max(0,Math.min(oCoord.x,vpSize.width-elSize.width)),Math.max(0,Math.min(oCoord.y,vpSize.height-elSize.height))];fly.setXY(aCoord);var newLeft=fly.getLeft(true);var newTop=fly.getTop(true);this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y]}else{vpSize=this.cachedViewportSize;fly.setLeftTop(Math.max(0,Math.min(oCoord.x+this.deltaSetXY[0],vpSize.width-elSize.width)),Math.max(0,Math.min(oCoord.y+this.deltaSetXY[1],vpSize.height-elSize.height)))}this.cachePosition(oCoord.x,oCoord.y);this.autoScroll(oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);return oCoord},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY}else{var aCoord=Ext.Element.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1]}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=Ext.Element.getViewHeight();var clientW=Ext.Element.getViewWidth();var st=this.DDMInstance.getScrollTop();var sl=this.DDMInstance.getScrollLeft();var bot=h+y;var right=w+x;var toBot=(clientH+st-y-this.deltaY);var toRight=(clientW+sl-x-this.deltaX);var thresh=40;var scrAmt=(document.all)?80:30;if(bot>clientH&&toBot0&&y-stclientW&&toRight0&&x-slthis.maxX){x=this.maxX}}if(this.constrainY){if(ythis.maxY){y=this.maxY}}x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y}},applyConfig:function(){this.callParent();this.scroll=(this.config.scroll!==false)},b4MouseDown:function(e){this.autoOffset(e.getPageX(),e.getPageY())},b4Drag:function(e){this.setDragElPos(e.getPageX(),e.getPageY())},toString:function(){return("DD "+this.id)}});Ext.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame()},50);return}var div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){this.callParent();this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(iPageX,iPageY){var el=this.getEl();var dragEl=this.getDragEl();var s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2))}this.setDragElPos(iPageX,iPageY);Ext.fly(dragEl).show()},_resizeProxy:function(){if(this.resizeFrame){var el=this.getEl();Ext.fly(this.getDragEl()).setSize(el.offsetWidth,el.offsetHeight)}},b4MouseDown:function(e){var x=e.getPageX();var y=e.getPageY();this.autoOffset(x,y);this.setDragElPos(x,y)},b4StartDrag:function(x,y){this.showFrame(x,y)},b4EndDrag:function(e){Ext.fly(this.getDragEl()).hide()},endDrag:function(e){var lel=this.getEl();var del=this.getDragEl();del.style.visibility="";this.beforeMove();lel.style.visibility="hidden";Ext.dd.DDM.moveToEl(lel,del);del.style.visibility="hidden";lel.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(el,config){this.el=Ext.get(el);if(!this.dragData){this.dragData={}}Ext.apply(this,config);if(!this.proxy){this.proxy=Ext.create("Ext.dd.StatusProxy",{animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(e){return this.dragData},onDragEnter:function(e,id){var target=Ext.dd.DragDropManager.getDDById(id);this.cachedTarget=target;if(this.beforeDragEnter(target,e,id)!==false){if(target.isNotifyTarget){var status=target.notifyEnter(this,e,this.dragData);this.proxy.setStatus(status)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(target,e,id)}}},beforeDragEnter:function(target,e,id){return true},alignElWithMouse:function(){this.callParent(arguments);this.proxy.sync()},onDragOver:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragOver(target,e,id)!==false){if(target.isNotifyTarget){var status=target.notifyOver(this,e,this.dragData);this.proxy.setStatus(status)}if(this.afterDragOver){this.afterDragOver(target,e,id)}}},beforeDragOver:function(target,e,id){return true},onDragOut:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragOut(target,e,id)!==false){if(target.isNotifyTarget){target.notifyOut(this,e,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(target,e,id)}}this.cachedTarget=null},beforeDragOut:function(target,e,id){return true},onDragDrop:function(e,id){var target=this.cachedTarget||Ext.dd.DragDropManager.getDDById(id);if(this.beforeDragDrop(target,e,id)!==false){if(target.isNotifyTarget){if(target.notifyDrop(this,e,this.dragData)!==false){this.onValidDrop(target,e,id)}else{this.onInvalidDrop(target,e,id)}}else{this.onValidDrop(target,e,id)}if(this.afterDragDrop){this.afterDragDrop(target,e,id)}}delete this.cachedTarget},beforeDragDrop:function(target,e,id){return true},onValidDrop:function(target,e,id){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(target,e,id)}},getRepairXY:function(e,data){return this.el.getXY()},onInvalidDrop:function(target,e,id){this.beforeInvalidDrop(target,e,id);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,e,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(e,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(e,id)}},afterRepair:function(){var me=this;if(Ext.enableFx){me.el.highlight(me.repairHighlightColor)}me.dragging=false},beforeInvalidDrop:function(target,e,id){return true},handleMouseDown:function(e){if(this.dragging){return}var data=this.getDragData(e);if(data&&this.onBeforeDrag(data,e)!==false){this.dragData=data;this.proxy.stop();this.callParent(arguments)}},onBeforeDrag:function(data,e){return true},onStartDrag:Ext.emptyFn,startDrag:function(x,y){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(x,y);this.proxy.show()},onInitDrag:function(x,y){var clone=this.el.dom.cloneNode(true);clone.id=Ext.id();this.proxy.update(clone);this.onStartDrag(x,y);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(e){},endDrag:function(e){this.onEndDrag(this.dragData,e)},onEndDrag:function(data,e){},autoOffset:function(x,y){this.setDelta(-12,-20)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(panel,cfg){this.panel=panel;this.dragData={panel:panel};this.proxy=Ext.create("Ext.panel.Proxy",panel,cfg);this.callParent([panel.el,cfg]);Ext.defer(function(){var header=panel.header,el=panel.body;if(header){this.setHandleElId(header.id);el=header.el}el.setStyle("cursor","move");this.scroll=false},200,this)},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(x,y){this.proxy.show()},b4MouseDown:function(e){var x=e.getPageX(),y=e.getPageY();this.autoOffset(x,y)},onInitDrag:function(x,y){this.onStartDrag(x,y);return true},createFrame:Ext.emptyFn,getDragEl:function(e){return this.proxy.ghost.el.dom},endDrag:function(e){this.proxy.hide();this.panel.saveState()},autoOffset:function(x,y){x-=this.startPageX;y-=this.startPageY;this.setDelta(x,y)}});Ext.define("Ext.layout.component.Dock",{alias:["layout.dock"],extend:"Ext.layout.component.AbstractDock"});Ext.define("Ext.panel.Panel",{extend:"Ext.panel.AbstractPanel",requires:["Ext.panel.Header","Ext.fx.Anim","Ext.util.KeyMap","Ext.panel.DD","Ext.XTemplate","Ext.layout.component.Dock","Ext.util.Memento"],alias:"widget.panel",alternateClassName:"Ext.Panel",collapsedCls:"collapsed",animCollapse:Ext.enableFx,minButtonWidth:75,collapsed:false,collapseFirst:true,hideCollapseTool:false,titleCollapse:false,floatable:true,collapsible:false,closable:false,closeAction:"destroy",preventHeader:false,headerPosition:"top",frame:false,frameHeader:true,initComponent:function(){var me=this,cls;me.addEvents("beforeclose","beforeexpand","beforecollapse","expand","collapse","titlechange","iconchange");this.addStateEvents("expand","collapse");if(me.unstyled){me.setUI("plain")}if(me.frame){me.setUI(me.ui+"-framed")}me.bridgeToolbars();me.callParent();me.collapseDirection=me.collapseDirection||me.headerPosition||Ext.Component.DIRECTION_TOP},setBorder:function(border){this.callParent(arguments)},beforeDestroy:function(){Ext.destroy(this.ghostPanel,this.dd);this.callParent()},initAria:function(){this.callParent();this.initHeaderAria()},initHeaderAria:function(){var me=this,el=me.el,header=me.header;if(el&&header){el.dom.setAttribute("aria-labelledby",header.titleCmp.id)}},getHeader:function(){return this.header},setTitle:function(newTitle){var me=this,oldTitle=this.title;me.title=newTitle;if(me.header){me.header.setTitle(newTitle)}else{me.updateHeader()}if(me.reExpander){me.reExpander.setTitle(newTitle)}me.fireEvent("titlechange",me,newTitle,oldTitle)},setIconCls:function(newIconCls){var me=this,oldIconCls=me.iconCls;me.iconCls=newIconCls;var header=me.header;if(header){header.setIconCls(newIconCls)}me.fireEvent("iconchange",me,newIconCls,oldIconCls)},bridgeToolbars:function(){var me=this,docked=[],fbar,fbarDefaults,minButtonWidth=me.minButtonWidth;function initToolbar(toolbar,pos,useButtonAlign){if(Ext.isArray(toolbar)){toolbar={xtype:"toolbar",items:toolbar}}else{if(!toolbar.xtype){toolbar.xtype="toolbar"}}toolbar.dock=pos;if(pos=="left"||pos=="right"){toolbar.vertical=true}if(useButtonAlign){toolbar.layout=Ext.applyIf(toolbar.layout||{},{pack:{left:"start",center:"center"}[me.buttonAlign]||"end"})}return toolbar}if(me.tbar){docked.push(initToolbar(me.tbar,"top"));me.tbar=null}if(me.bbar){docked.push(initToolbar(me.bbar,"bottom"));me.bbar=null}if(me.buttons){me.fbar=me.buttons;me.buttons=null}if(me.fbar){fbar=initToolbar(me.fbar,"bottom",true);fbar.ui="footer";if(minButtonWidth){fbarDefaults=fbar.defaults;fbar.defaults=function(config){var defaults=fbarDefaults||{};if((!config.xtype||config.xtype==="button"||(config.isComponent&&config.isXType("button")))&&!("minWidth" in defaults)){defaults=Ext.apply({minWidth:minButtonWidth},defaults)}return defaults}}docked.push(fbar);me.fbar=null}if(me.lbar){docked.push(initToolbar(me.lbar,"left"));me.lbar=null}if(me.rbar){docked.push(initToolbar(me.rbar,"right"));me.rbar=null}if(me.dockedItems){if(!Ext.isArray(me.dockedItems)){me.dockedItems=[me.dockedItems]}me.dockedItems=me.dockedItems.concat(docked)}else{me.dockedItems=docked}},initTools:function(){var me=this;me.tools=me.tools?Ext.Array.clone(me.tools):[];if(me.collapsible&&!(me.hideCollapseTool||me.header===false)){me.collapseDirection=me.collapseDirection||me.headerPosition||"top";me.collapseTool=me.expandTool=me.createComponent({xtype:"tool",type:"collapse-"+me.collapseDirection,expandType:me.getOppositeDirection(me.collapseDirection),handler:me.toggleCollapse,scope:me});if(me.collapseFirst){me.tools.unshift(me.collapseTool)}}me.addTools();if(me.closable){me.addClsWithUI("closable");me.addTool({type:"close",handler:Ext.Function.bind(me.close,this,[])})}if(me.collapseTool&&!me.collapseFirst){me.tools.push(me.collapseTool)}},addTools:Ext.emptyFn,close:function(){if(this.fireEvent("beforeclose",this)!==false){this.doClose()}},doClose:function(){this.fireEvent("close",this);this[this.closeAction]()},onRender:function(ct,position){var me=this,topContainer;me.initTools();me.updateHeader();me.callParent(arguments)},afterRender:function(){var me=this;me.callParent(arguments);if(me.collapsed){me.collapsed=false;me.collapse(null,false,true)}},updateHeader:function(force){var me=this,header=me.header,title=me.title,tools=me.tools;if(!me.preventHeader&&(force||title||(tools&&tools.length))){if(!header){header=me.header=Ext.create("Ext.panel.Header",{title:title,orientation:(me.headerPosition=="left"||me.headerPosition=="right")?"vertical":"horizontal",dock:me.headerPosition||"top",textCls:me.headerTextCls,iconCls:me.iconCls,baseCls:me.baseCls+"-header",tools:tools,ui:me.ui,indicateDrag:me.draggable,border:me.border,frame:me.frame&&me.frameHeader,ignoreParentFrame:me.frame||me.overlapHeader,ignoreBorderManagement:me.frame||me.ignoreHeaderBorderManagement,listeners:me.collapsible&&me.titleCollapse?{click:me.toggleCollapse,scope:me}:null});me.addDocked(header,0);me.tools=header.tools}header.show();me.initHeaderAria()}else{if(header){header.hide()}}},setUI:function(ui){var me=this;me.callParent(arguments);if(me.header){me.header.setUI(ui)}},getContentTarget:function(){return this.body},getTargetEl:function(){return this.body||this.frameBody||this.el},isVisible:function(deep){var me=this;if(me.collapsed&&me.placeholder){return me.placeholder.isVisible(deep)}return me.callParent(arguments)},onHide:function(){var me=this;if(me.collapsed&&me.placeholder){me.placeholder.hide()}else{me.callParent(arguments)}},onShow:function(){var me=this;if(me.collapsed&&me.placeholder){me.hidden=true;me.placeholder.show()}else{me.callParent(arguments)}},addTool:function(tool){var me=this,header=me.header;if(Ext.isArray(tool)){Ext.each(tool,me.addTool,me);return}me.tools.push(tool);if(header){header.addTool(tool)}me.updateHeader()},getOppositeDirection:function(d){var c=Ext.Component;switch(d){case c.DIRECTION_TOP:return c.DIRECTION_BOTTOM;case c.DIRECTION_RIGHT:return c.DIRECTION_LEFT;case c.DIRECTION_BOTTOM:return c.DIRECTION_TOP;case c.DIRECTION_LEFT:return c.DIRECTION_RIGHT}},collapse:function(direction,animate,internal){var me=this,c=Ext.Component,height=me.getHeight(),width=me.getWidth(),frameInfo,newSize=0,dockedItems=me.dockedItems.items,dockedItemCount=dockedItems.length,i=0,comp,pos,anim={from:{height:height,width:width},to:{height:height,width:width},listeners:{afteranimate:me.afterCollapse,scope:me},duration:Ext.Number.from(animate,Ext.fx.Anim.prototype.duration)},reExpander,reExpanderOrientation,reExpanderDock,getDimension,collapseDimension;if(!direction){direction=me.collapseDirection}if(internal){animate=false}else{if(me.collapsed||me.fireEvent("beforecollapse",me,direction,animate)===false){return false}}reExpanderDock=direction;me.expandDirection=me.getOppositeDirection(direction);me.hiddenDocked=[];switch(direction){case c.DIRECTION_TOP:case c.DIRECTION_BOTTOM:reExpanderOrientation="horizontal";collapseDimension="height";getDimension="getHeight";for(;imaxWidth){constrainedWidth=maxWidth}}if(constrainedWidth){this.callParent([constrainedWidth,height])}}el.setXY(xy)},doAutoWidth:function(){var me=this,owner=me.owner,body=owner.body,width=body.getTextWidth();if(owner.header){width=Math.max(width,owner.header.getWidth())}if(!Ext.isDefined(me.frameWidth)){me.frameWidth=owner.el.getWidth()-body.getWidth()}width+=me.frameWidth+body.getPadding("lr");return width}});Ext.define("Ext.tip.Tip",{extend:"Ext.panel.Panel",requires:["Ext.layout.component.Tip"],alternateClassName:"Ext.Tip",minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",constrainPosition:true,frame:false,autoRender:true,hidden:true,baseCls:Ext.baseCSSPrefix+"tip",floating:{shadow:true,shim:true,constrain:true},focusOnToFront:false,componentLayout:"tip",closeAction:"hide",ariaRole:"tooltip",initComponent:function(){var me=this;me.floating=Ext.apply({},{shadow:me.shadow},me.self.prototype.floating);me.callParent(arguments);me.constrain=me.constrain||me.constrainPosition},showAt:function(xy){var me=this;this.callParent(arguments);if(me.isVisible()){me.setPagePosition(xy[0],xy[1]);if(me.constrainPosition||me.constrain){me.doConstrain()}me.toFront(true)}},showBy:function(el,pos){this.showAt(this.el.getAlignToXY(el,pos||this.defaultAlign))},initDraggable:function(){var me=this;me.draggable={el:me.getDragEl(),delegate:me.header.el,constrain:me,constrainTo:me.el.getScopeParent()};Ext.Component.prototype.initDraggable.call(me)},ghost:undefined,unghost:undefined});Ext.define("Ext.tip.ToolTip",{extend:"Ext.tip.Tip",alias:"widget.tooltip",alternateClassName:"Ext.ToolTip",showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,quickShowInterval:250,initComponent:function(){var me=this;me.callParent(arguments);me.lastActive=new Date();me.setTarget(me.target);me.origAnchor=me.anchor},onRender:function(ct,position){var me=this;me.callParent(arguments);me.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+me.getAnchorPosition();me.anchorEl=me.el.createChild({cls:Ext.baseCSSPrefix+"tip-anchor "+me.anchorCls})},afterRender:function(){var me=this,zIndex;me.callParent(arguments);zIndex=parseInt(me.el.getZIndex(),10)||0;me.anchorEl.setStyle("z-index",zIndex+1).setVisibilityMode(Ext.Element.DISPLAY)},setTarget:function(target){var me=this,t=Ext.get(target),tg;if(me.target){tg=Ext.get(me.target);me.mun(tg,"mouseover",me.onTargetOver,me);me.mun(tg,"mouseout",me.onTargetOut,me);me.mun(tg,"mousemove",me.onMouseMove,me)}me.target=t;if(t){me.mon(t,{freezeEvent:true,mouseover:me.onTargetOver,mouseout:me.onTargetOut,mousemove:me.onMouseMove,scope:me})}if(me.anchor){me.anchorTarget=me.target}},onMouseMove:function(e){var me=this,t=me.delegate?e.getTarget(me.delegate):me.triggerElement=true,xy;if(t){me.targetXY=e.getXY();if(t===me.triggerElement){if(!me.hidden&&me.trackMouse){xy=me.getTargetXY();if(me.constrainPosition){xy=me.el.adjustForConstraints(xy,me.el.getScopeParent())}me.setPagePosition(xy)}}else{me.hide();me.lastActive=new Date(0);me.onTargetOver(e)}}else{if((!me.closable&&me.isVisible())&&me.autoHide!==false){me.hide()}}},getTargetXY:function(){var me=this,mouseOffset;if(me.delegate){me.anchorTarget=me.triggerElement}if(me.anchor){me.targetCounter++;var offsets=me.getOffsets(),xy=(me.anchorToTarget&&!me.trackMouse)?me.el.getAlignToXY(me.anchorTarget,me.getAnchorAlign()):me.targetXY,dw=Ext.Element.getViewWidth()-5,dh=Ext.Element.getViewHeight()-5,de=document.documentElement,bd=document.body,scrollX=(de.scrollLeft||bd.scrollLeft||0)+5,scrollY=(de.scrollTop||bd.scrollTop||0)+5,axy=[xy[0]+offsets[0],xy[1]+offsets[1]],sz=me.getSize(),constrainPosition=me.constrainPosition;me.anchorEl.removeCls(me.anchorCls);if(me.targetCounter<2&&constrainPosition){if(axy[0]dw){if(me.anchorToTarget){me.defaultAlign="r-l";if(me.mouseOffset){me.mouseOffset[0]*=-1}}me.anchor="right";return me.getTargetXY()}if(axy[1]dh){if(me.anchorToTarget){me.defaultAlign="b-t";if(me.mouseOffset){me.mouseOffset[1]*=-1}}me.anchor="bottom";return me.getTargetXY()}}me.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+me.getAnchorPosition();me.anchorEl.addCls(me.anchorCls);me.targetCounter=0;return axy}else{mouseOffset=me.getMouseOffset();return(me.targetXY)?[me.targetXY[0]+mouseOffset[0],me.targetXY[1]+mouseOffset[1]]:mouseOffset}},getMouseOffset:function(){var me=this,offset=me.anchor?[0,0]:[15,18];if(me.mouseOffset){offset[0]+=me.mouseOffset[0];offset[1]+=me.mouseOffset[1]}return offset},getAnchorPosition:function(){var me=this,m;if(me.anchor){me.tipAnchor=me.anchor.charAt(0)}else{m=me.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);me.tipAnchor=m[1].charAt(0)}switch(me.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var me=this,mouseOffset,offsets,ap=me.getAnchorPosition().charAt(0);if(me.anchorToTarget&&!me.trackMouse){switch(ap){case"t":offsets=[0,9];break;case"b":offsets=[0,-13];break;case"r":offsets=[-13,0];break;default:offsets=[9,0];break}}else{switch(ap){case"t":offsets=[-15-me.anchorOffset,30];break;case"b":offsets=[-19-me.anchorOffset,-13-me.el.dom.offsetHeight];break;case"r":offsets=[-15-me.el.dom.offsetWidth,-13-me.anchorOffset];break;default:offsets=[25,-13-me.anchorOffset];break}}mouseOffset=me.getMouseOffset();offsets[0]+=mouseOffset[0];offsets[1]+=mouseOffset[1];return offsets},onTargetOver:function(e){var me=this,t;if(me.disabled||e.within(me.target.dom,true)){return}t=e.getTarget(me.delegate);if(t){me.triggerElement=t;me.clearTimer("hide");me.targetXY=e.getXY();me.delayShow()}},delayShow:function(){var me=this;if(me.hidden&&!me.showTimer){if(Ext.Date.getElapsed(me.lastActive)0&&namespace!==name){return name}return this.name+"."+type+"."+name},getController:function(name){var controller=this.controllers.get(name);if(!controller){controller=Ext.create(this.getModuleClassName(name,"controller"),{application:this,id:name});this.controllers.add(controller)}return controller},getStore:function(name){var store=Ext.StoreManager.get(name);if(!store){store=Ext.create(this.getModuleClassName(name,"store"),{storeId:name})}return store},getModel:function(model){model=this.getModuleClassName(model,"model");return Ext.ModelManager.getModel(model)},getView:function(view){view=this.getModuleClassName(view,"view");return Ext.ClassManager.get(view)}});Ext.define("Ext.chart.Callout",{constructor:function(config){if(config.callouts){config.callouts.styles=Ext.applyIf(config.callouts.styles||{},{color:"#000",font:"11px Helvetica, sans-serif"});this.callouts=Ext.apply(this.callouts||{},config.callouts);this.calloutsArray=[]}},renderCallouts:function(){if(!this.callouts){return}var me=this,items=me.items,animate=me.chart.animate,config=me.callouts,styles=config.styles,group=me.calloutsArray,store=me.chart.store,len=store.getCount(),ratio=items.length/len,previouslyPlacedCallouts=[],i,count,j,p;for(i=0,count=0;iindex){co=calloutsArray[len];for(p in co){if(co[p]){co[p].hide(true)}}}}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},isCompositeSprite:true,constructor:function(config){var me=this;config=config||{};Ext.apply(me,config);me.addEvents("mousedown","mouseup","mouseover","mouseout","click");me.id=Ext.id(null,"ext-sprite-group-");me.callParent()},onClick:function(e){this.fireEvent("click",e)},onMouseUp:function(e){this.fireEvent("mouseup",e)},onMouseDown:function(e){this.fireEvent("mousedown",e)},onMouseOver:function(e){this.fireEvent("mouseover",e)},onMouseOut:function(e){this.fireEvent("mouseout",e)},attachEvents:function(o){var me=this;o.on({scope:me,mousedown:me.onMouseDown,mouseup:me.onMouseUp,mouseover:me.onMouseOver,mouseout:me.onMouseOut,click:me.onClick})},add:function(key,o){var result=this.callParent(arguments);this.attachEvents(result);return result},insert:function(index,key,o){return this.callParent(arguments)},remove:function(o){var me=this;o.un({scope:me,mousedown:me.onMouseDown,mouseup:me.onMouseUp,mouseover:me.onMouseOver,mouseout:me.onMouseOut,click:me.onClick});return me.callParent(arguments)},getBBox:function(){var i=0,sprite,bb,items=this.items,len=this.length,infinity=Infinity,minX=infinity,maxHeight=-infinity,minY=infinity,maxWidth=-infinity,maxWidthBBox,maxHeightBBox;for(;i0){item=me.first();me.remove(item);surface.remove(item)}}me.clearListeners()}});Ext.define("Ext.layout.component.Auto",{alias:"layout.autocomponent",extend:"Ext.layout.component.Component",type:"autocomponent",onLayout:function(width,height){this.setTargetSize(width,height)}});Ext.define("Ext.chart.theme.Theme",{requires:["Ext.draw.Color"],theme:"Base",themeAttrs:false,initTheme:function(theme){var me=this,themes=Ext.chart.theme,key,gradients;if(theme){theme=theme.split(":");for(key in themes){if(key==theme[0]){gradients=theme[1]=="gradients";me.themeAttrs=new themes[key]({useGradients:gradients});if(gradients){me.gradients=me.themeAttrs.gradients}if(me.themeAttrs.background){me.background=me.themeAttrs.background}return}}}}},function(){(function(){Ext.chart.theme=function(config,base){config=config||{};var i=0,l,colors,color,seriesThemes,markerThemes,seriesTheme,markerTheme,key,gradients=[],midColor,midL;if(config.baseColor){midColor=Ext.draw.Color.fromString(config.baseColor);midL=midColor.getHSL()[2];if(midL<0.15){midColor=midColor.getLighter(0.3)}else{if(midL<0.3){midColor=midColor.getLighter(0.15)}else{if(midL>0.85){midColor=midColor.getDarker(0.3)}else{if(midL>0.7){midColor=midColor.getDarker(0.15)}}}}config.colors=[midColor.getDarker(0.3).toString(),midColor.getDarker(0.15).toString(),midColor.toString(),midColor.getLighter(0.15).toString(),midColor.getLighter(0.3).toString()];delete config.baseColor}if(config.colors){colors=config.colors.slice();markerThemes=base.markerThemes;seriesThemes=base.seriesThemes;l=colors.length;base.colors=colors;for(;i0?staticX:staticX+width,y:height>0?staticY:staticY+height,width:abs(width),height:abs(height)};me.mask.updateBox(me.maskSelection);me.mask.show();me.maskSprite.setAttributes({hidden:true},true)}else{if(mask=="horizontal"){path=["M",staticX,y,"L",staticX,height]}else{if(mask=="vertical"){path=["M",x,staticY,"L",width,staticY]}else{path=["M",staticX,y,"L",staticX,height,"M",x,staticY,"L",width,staticY]}}me.maskSprite.setAttributes({path:path,fill:me.maskMouseDown?me.maskSprite.stroke:false,"stroke-width":mask===true?1:3,hidden:false},true)}},onMouseLeave:function(e){var me=this;me.mouseMoved=false;me.mouseDown=false;me.maskMouseDown=false;me.mask.hide();me.maskSprite.hide(true)}});Ext.define("Ext.chart.Navigation",{constructor:function(){this.originalStore=this.store},setZoom:function(zoomConfig){var me=this,axes=me.axes,bbox=me.chartBBox,xScale=1/bbox.width,yScale=1/bbox.height,zoomer={x:zoomConfig.x*xScale,y:zoomConfig.y*yScale,width:zoomConfig.width*xScale,height:zoomConfig.height*yScale};axes.each(function(axis){var ends=axis.calcEnds();if(axis.position=="bottom"||axis.position=="top"){var from=(ends.to-ends.from)*zoomer.x+ends.from,to=(ends.to-ends.from)*zoomer.width+from;axis.minimum=from;axis.maximum=to}else{var to=(ends.to-ends.from)*(1-zoomer.y)+ends.from,from=to-(ends.to-ends.from)*zoomer.height;axis.minimum=from;axis.maximum=to}});me.redraw(false)},restoreZoom:function(){this.store=this.substore=this.originalStore;this.redraw(true)}});Ext.define("Ext.chart.Shape",{singleton:true,circle:function(surface,opts){return surface.add(Ext.apply({type:"circle",x:opts.x,y:opts.y,stroke:null,radius:opts.radius},opts))},line:function(surface,opts){return surface.add(Ext.apply({type:"rect",x:opts.x-opts.radius,y:opts.y-opts.radius,height:2*opts.radius,width:2*opts.radius/5},opts))},square:function(surface,opts){return surface.add(Ext.applyIf({type:"rect",x:opts.x-opts.radius,y:opts.y-opts.radius,height:2*opts.radius,width:2*opts.radius,radius:null},opts))},triangle:function(surface,opts){opts.radius*=1.75;return surface.add(Ext.apply({type:"path",stroke:null,path:"M".concat(opts.x,",",opts.y,"m0-",opts.radius*0.58,"l",opts.radius*0.5,",",opts.radius*0.87,"-",opts.radius,",0z")},opts))},diamond:function(surface,opts){var r=opts.radius;r*=1.5;return surface.add(Ext.apply({type:"path",stroke:null,path:["M",opts.x,opts.y-r,"l",r,r,-r,r,-r,-r,r,-r,"z"]},opts))},cross:function(surface,opts){var r=opts.radius;r=r/1.7;return surface.add(Ext.apply({type:"path",stroke:null,path:"M".concat(opts.x-r,",",opts.y,"l",[-r,-r,r,-r,r,r,r,-r,r,r,-r,r,r,r,-r,r,-r,-r,-r,r,-r,-r,"z"])},opts))},plus:function(surface,opts){var r=opts.radius/1.3;return surface.add(Ext.apply({type:"path",stroke:null,path:"M".concat(opts.x-r/2,",",opts.y-r/2,"l",[0,-r,r,0,0,r,r,0,0,r,-r,0,0,r,-r,0,0,-r,-r,0,0,-r,"z"])},opts))},arrow:function(surface,opts){var r=opts.radius;return surface.add(Ext.apply({type:"path",path:"M".concat(opts.x-r*0.7,",",opts.y-r*0.4,"l",[r*0.6,0,0,-r*0.4,r,r*0.8,-r,r*0.8,0,-r*0.4,-r*0.6,0],"z")},opts))},drop:function(surface,x,y,text,size,angle){size=size||30;angle=angle||0;surface.add({type:"path",path:["M",x,y,"l",size,0,"A",size*0.4,size*0.4,0,1,0,x+size*0.7,y-size*0.7,"z"],fill:"#000",stroke:"none",rotate:{degrees:22.5-angle,x:x,y:y}});angle=(angle+90)*Math.PI/180;surface.add({type:"text",x:x+size*Math.sin(angle)-10,y:y+size*Math.cos(angle)+5,text:text,"font-size":size*12/40,stroke:"none",fill:"#fff"})}});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml"],separatorRe:/[, ]+/,statics:{create:function(config,enginePriority){enginePriority=enginePriority||["Svg","Vml"];var i=0,len=enginePriority.length,surfaceClass;for(;i1;if(hasMultipleArgs||Ext.isArray(args[0])){var items=hasMultipleArgs?args:args[0],results=[],i,ln,item;for(i=0,ln=items.length;izIndex){high=idx-1}else{if(otherZIndex-1;i--){this.remove(items[i],destroySprites)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var me=this,viewBox=me.viewBox,width=me.width,height=me.height,viewBoxX,viewBoxY,viewBoxWidth,viewBoxHeight,relativeHeight,relativeWidth,size;if(viewBox&&(width||height)){viewBoxX=viewBox.x;viewBoxY=viewBox.y;viewBoxWidth=viewBox.width;viewBoxHeight=viewBox.height;relativeHeight=height/viewBoxHeight;relativeWidth=width/viewBoxWidth;if(viewBoxWidth*relativeHeight1){if(field[j]){hides.push(groupIndex)}index++}if(!item&&label){label.hide(true);groupIndex++}if(item&&field[j]){if(!label){label=me.onCreateLabel(storeItem,item,i,display,j,index)}me.onPlaceLabel(label,storeItem,item,i,display,animate,j,index);groupIndex++;if(config.contrast&&item.sprite){sprite=item.sprite;if(sprite._endStyle){colorString=sprite._endStyle.fill}else{if(sprite._to){colorString=sprite._to.fill}else{colorString=sprite.attr.fill}}colorString=colorString||sprite.attr.fill;spriteColor=Color.fromString(colorString);if(colorString&&!spriteColor){colorString=colorString.match(me.colorStringRe)[1];for(k=0;k0.5?0.2:0.8;label.setAttributes({fill:String(Color.fromHSL.apply({},labelColor))},true)}}count++;index++}}}me.hideLabels(hides)},hideLabels:function(hides){var labelsGroup=this.labelsGroup,hlen=hides.length;while(hlen--){labelsGroup.getAt(hides[hlen]).hide(true)}}});Ext.define("Ext.chart.MaskLayer",{extend:"Ext.Component",constructor:function(config){config=Ext.apply(config||{},{style:"position:absolute;background-color:#888;cursor:move;opacity:0.6;border:1px solid #222;"});this.callParent([config])},initComponent:function(){var me=this;me.callParent(arguments);me.addEvents("mousedown","mouseup","mousemove","mouseenter","mouseleave")},initDraggable:function(){this.callParent(arguments);this.dd.onStart=function(e){var me=this,comp=me.comp;this.startPosition=comp.getPosition(true);if(comp.ghost&&!comp.liveDrag){me.proxy=comp.ghost();me.dragTarget=me.proxy.header.el}if(me.constrain||me.constrainDelegate){me.constrainTo=me.calculateConstrainRegion()}}}});Ext.define("Ext.chart.TipSurface",{extend:"Ext.draw.Component",spriteArray:false,renderFirst:true,constructor:function(config){this.callParent([config]);if(config.sprites){this.spriteArray=[].concat(config.sprites);delete config.sprites}},onRender:function(){var me=this,i=0,l=0,sp,sprites;this.callParent(arguments);sprites=me.spriteArray;if(me.renderFirst&&sprites){me.renderFirst=false;for(l=sprites.length;i0)]+=math.abs(rec)}max=mmax(max,-values[0],+values[1]);min=mmin(min,-values[0],+values[1])}else{for(i=0;i=y-gutterY-trueLength){path.push("M",currentX,Math.floor(currentY)+0.5,"l",dashSize*2+1,0);if(currentY!=y-gutterY){for(i=1;i4){text=text.substr(0,text.length-4)+"...";sprite.setAttributes({text:text},true);bbox=sprite.getBBox();if(bbox.width=0){if(!this.sprites){for(i=0;i<=steps;i++){sprite=surface.add({type:"path",path:["M",centerX+(rho-margin)*cos(i/steps*pi-pi),centerY+(rho-margin)*sin(i/steps*pi-pi),"L",centerX+rho*cos(i/steps*pi-pi),centerY+rho*sin(i/steps*pi-pi),"Z"],stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)}}else{sprites=this.sprites;for(i=0;i<=steps;i++){sprites[i].setAttributes({path:["M",centerX+(rho-margin)*cos(i/steps*pi-pi),centerY+(rho-margin)*sin(i/steps*pi-pi),"L",centerX+rho*cos(i/steps*pi-pi),centerY+rho*sin(i/steps*pi-pi),"Z"],stroke:"#ccc"},true)}}}this.sprites=sprites;this.drawLabel();if(this.title){this.drawTitle()}},drawTitle:function(){var me=this,chart=me.chart,surface=chart.surface,bbox=chart.chartBBox,labelSprite=me.titleSprite,labelBBox;if(!labelSprite){me.titleSprite=labelSprite=surface.add({type:"text",zIndex:2})}labelSprite.setAttributes(Ext.apply({text:me.title},me.label||{}),true);labelBBox=labelSprite.getBBox();labelSprite.setAttributes({x:bbox.x+(bbox.width/2)-(labelBBox.width/2),y:bbox.y+bbox.height-(labelBBox.height/2)-4},true)},setTitle:function(title){this.title=title;this.drawTitle()},drawLabel:function(){var chart=this.chart,surface=chart.surface,bbox=chart.chartBBox,centerX=bbox.x+(bbox.width/2),centerY=bbox.y+bbox.height,margin=this.margin||10,rho=Math.min(bbox.width,2*bbox.height)/2+2*margin,round=Math.round,labelArray=[],label,maxValue=this.maximum||0,steps=this.steps,i=0,adjY,pi=Math.PI,cos=Math.cos,sin=Math.sin,labelConf=this.label,renderer=labelConf.renderer||function(v){return v};if(!this.labelArray){for(i=0;i<=steps;i++){adjY=(i===0||i===steps)?7:0;label=surface.add({type:"text",text:renderer(round(i/steps*maxValue)),x:centerX+rho*cos(i/steps*pi-pi),y:centerY+rho*sin(i/steps*pi-pi)-adjY,"text-anchor":"middle","stroke-width":0.2,zIndex:10,stroke:"#333"});label.setAttributes({hidden:false},true);labelArray.push(label)}}else{labelArray=this.labelArray;for(i=0;i<=steps;i++){adjY=(i===0||i===steps)?7:0;labelArray[i].setAttributes({text:renderer(round(i/steps*maxValue)),x:centerX+rho*cos(i/steps*pi-pi),y:centerY+rho*sin(i/steps*pi-pi)-adjY},true)}}this.labelArray=labelArray}});Ext.define("Ext.chart.axis.Numeric",{extend:"Ext.chart.axis.Axis",alternateClassName:"Ext.chart.NumericAxis",type:"numeric",alias:"axis.numeric",constructor:function(config){var me=this,hasLabel=!!(config.label&&config.label.renderer),label;me.callParent([config]);label=me.label;if(me.roundToDecimal===false){return}if(!hasLabel){label.renderer=function(v){return me.roundToDecimal(v,me.decimals)}}},roundToDecimal:function(v,dec){var val=Math.pow(10,dec||0);return Math.floor(v*val)/val},minimum:NaN,maximum:NaN,decimals:2,scale:"linear",position:"left",adjustMaximumByMajorUnit:false,adjustMinimumByMajorUnit:false,applyData:function(){this.callParent();return this.calcEnds()}});Ext.define("Ext.chart.axis.Radial",{extend:"Ext.chart.axis.Abstract",position:"radial",alias:"axis.radial",drawAxis:function(init){var chart=this.chart,surface=chart.surface,bbox=chart.chartBBox,store=chart.store,l=store.getCount(),centerX=bbox.x+(bbox.width/2),centerY=bbox.y+(bbox.height/2),rho=Math.min(bbox.width,bbox.height)/2,sprites=[],sprite,steps=this.steps,i,j,pi2=Math.PI*2,cos=Math.cos,sin=Math.sin;if(this.sprites&&!chart.resizing){this.drawLabel();return}if(!this.sprites){for(i=1;i<=steps;i++){sprite=surface.add({type:"circle",x:centerX,y:centerY,radius:Math.max(rho*i/steps,0),stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)}store.each(function(rec,i){sprite=surface.add({type:"path",path:["M",centerX,centerY,"L",centerX+rho*cos(i/l*pi2),centerY+rho*sin(i/l*pi2),"Z"],stroke:"#ccc"});sprite.setAttributes({hidden:false},true);sprites.push(sprite)})}else{sprites=this.sprites;for(i=0;i0){options.create=toCreate;needsSync=true}if(toUpdate.length>0){options.update=toUpdate;needsSync=true}if(toDestroy.length>0){options.destroy=toDestroy;needsSync=true}if(needsSync&&me.fireEvent("beforesync",options)!==false){me.proxy.batch(options,me.getBatchListeners())}},getBatchListeners:function(){var me=this,listeners={scope:me,exception:me.onBatchException};if(me.batchUpdateMode=="operation"){listeners.operationcomplete=me.onBatchOperationComplete}else{listeners.complete=me.onBatchComplete}return listeners},save:function(){return this.sync.apply(this,arguments)},load:function(options){var me=this,operation;options=options||{};Ext.applyIf(options,{action:"read",filters:me.filters.items,sorters:me.getSorters()});operation=Ext.create("Ext.data.Operation",options);if(me.fireEvent("beforeload",me,operation)!==false){me.loading=true;me.proxy.read(operation,me.onProxyLoad,me)}return me},afterEdit:function(record){var me=this;if(me.autoSync){me.sync()}me.fireEvent("update",me,record,Ext.data.Model.EDIT)},afterReject:function(record){this.fireEvent("update",this,record,Ext.data.Model.REJECT)},afterCommit:function(record){this.fireEvent("update",this,record,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){var me=this;if(!me.isDestroyed){if(me.storeId){Ext.data.StoreManager.unregister(me)}me.clearData();me.data=null;me.tree=null;me.reader=me.writer=null;me.clearListeners();me.isDestroyed=true;if(me.implicitModel){Ext.destroy(me.model)}}},doSort:function(sorterFn){var me=this;if(me.remoteSort){me.load()}else{me.data.sortBy(sorterFn);me.fireEvent("datachanged",me)}},getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return !!this.loading}});Ext.define("Ext.util.Grouper",{extend:"Ext.util.Sorter",getGroupString:function(instance){return instance.get(this.property)}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.ModelManager","Ext.data.Model","Ext.util.Grouper"],uses:["Ext.data.proxy.Memory"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,isStore:true,onClassExtended:function(cls,data){var model=data.model;if(typeof model=="string"){var onBeforeClassCreated=data.onBeforeClassCreated;data.onBeforeClassCreated=function(cls,data){var me=this;Ext.require(model,function(){onBeforeClassCreated.call(me,cls,data)})}}},constructor:function(config){config=Ext.Object.merge({},config);var me=this,groupers=config.groupers||me.groupers,groupField=config.groupField||me.groupField,proxy,data;if(config.buffered||me.buffered){me.prefetchData=Ext.create("Ext.util.MixedCollection",false,function(record){return record.index});me.pendingRequests=[];me.pagesRequested=[];me.sortOnLoad=false;me.filterOnLoad=false}me.addEvents("beforeprefetch","groupchange","prefetch");data=config.data||me.data;me.data=Ext.create("Ext.util.MixedCollection",false,function(record){return record.internalId});if(data){me.inlineData=data;delete config.data}if(!groupers&&groupField){groupers=[{property:groupField,direction:config.groupDir||me.groupDir}]}delete config.groupers;me.groupers=Ext.create("Ext.util.MixedCollection");me.groupers.addAll(me.decodeGroupers(groupers));this.callParent([config]);if(me.groupers.items.length){me.sort(me.groupers.items,"prepend",false)}proxy=me.proxy;data=me.inlineData;if(data){if(proxy instanceof Ext.data.proxy.Memory){proxy.data=data;me.read()}else{me.add.apply(me,data)}me.sort();delete me.inlineData}else{if(me.autoLoad){Ext.defer(me.load,10,me,[typeof me.autoLoad==="object"?me.autoLoad:undefined])}}},onBeforeSort:function(){var groupers=this.groupers;if(groupers.getCount()>0){this.sort(groupers.items,"prepend",false)}},decodeGroupers:function(groupers){if(!Ext.isArray(groupers)){if(groupers===undefined){groupers=[]}else{groupers=[groupers]}}var length=groupers.length,Grouper=Ext.util.Grouper,config,i;for(i=0;i0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(requestGroupString){var records=this.data.items,length=records.length,groups=[],pointers={},record,groupStr,group,i;for(i=0;i-1){isPhantom=record.phantom===true;if(!isMove&&!isPhantom){me.removed.push(record)}record.unjoin(me);me.data.remove(record);sync=sync||!isPhantom;me.fireEvent("remove",me,record,index)}}me.fireEvent("datachanged",me);if(!isMove&&me.autoSync&&sync){me.sync()}},removeAt:function(index){var record=this.getAt(index);if(record){this.remove(record)}},load:function(options){var me=this;options=options||{};if(Ext.isFunction(options)){options={callback:options}}Ext.applyIf(options,{groupers:me.groupers.items,page:me.currentPage,start:(me.currentPage-1)*me.pageSize,limit:me.pageSize,addRecords:false});return me.callParent([options])},onProxyLoad:function(operation){var me=this,resultSet=operation.getResultSet(),records=operation.getRecords(),successful=operation.wasSuccessful();if(resultSet){me.totalCount=resultSet.total}if(successful){me.loadRecords(records,operation)}me.loading=false;me.fireEvent("load",me,records,successful);me.fireEvent("read",me,records,operation.wasSuccessful());Ext.callback(operation.callback,operation.scope||me,[records,operation,successful])},onCreateRecords:function(records,operation,success){if(success){var i=0,data=this.data,snapshot=this.snapshot,length=records.length,originalRecords=operation.records,record,original,index;for(;i-1){data.removeAt(index);data.insert(index,record)}if(snapshot){index=snapshot.indexOf(original);if(index>-1){snapshot.removeAt(index);snapshot.insert(index,record)}}record.phantom=false;record.join(this)}}}},onUpdateRecords:function(records,operation,success){if(success){var i=0,length=records.length,data=this.data,snapshot=this.snapshot,record;for(;ithis.totalCount)?this.totalCount-1:end;var me=this,i=start,prefetchData=me.prefetchData,range=[],startLoaded=!!prefetchData.getByKey(start),endLoaded=!!prefetchData.getByKey(end),startPage=me.getPageFromRecordIndex(start),endPage=me.getPageFromRecordIndex(end);me.cb=cb;me.scope=scope;me.requestStart=start;me.requestEnd=end;if(!startLoaded||!endLoaded){if(startPage===endPage){me.mask();me.prefetchPage(startPage,{callback:me.onWaitForGuarantee,scope:me})}else{me.mask();me.prefetchPage(startPage,{callback:me.onWaitForGuarantee,scope:me});me.prefetchPage(endPage,{callback:me.onWaitForGuarantee,scope:me})}}else{me.onGuaranteedRange()}},sort:function(){var me=this,prefetchData=me.prefetchData,sorters,start,end,range;if(me.buffered){if(me.remoteSort){prefetchData.clear();me.callParent(arguments)}else{sorters=me.getSorters();start=me.guaranteedStart;end=me.guaranteedEnd;if(sorters.length){prefetchData.sort(sorters);range=prefetchData.getRange();prefetchData.clear();me.cacheRecords(range);delete me.guaranteedStart;delete me.guaranteedEnd;me.guaranteeRange(start,end)}me.callParent(arguments)}}else{me.callParent(arguments)}},doSort:function(sorterFn){var me=this;if(me.remoteSort){me.load()}else{me.data.sortBy(sorterFn);if(!me.buffered){var range=me.getRange(),ln=range.length,i=0;for(;i0){min=records[0].get(field)}for(;i0){max=records[0].get(field)}for(;imax){max=value}}return max},average:function(field,grouped){var me=this;if(grouped&&me.isGrouped()){return me.aggregate(me.getAverage,me,true,[field])}else{return me.getAverage(me.data.items,field)}},getAverage:function(records,field){var i=0,len=records.length,sum=0;if(records.length>0){for(;i>0),df)}}}},doConstrain:function(){var me=this,store=me.chart.store,data=[],series=me.chart.series.items,math=Math,mmax=math.max,mmin=math.min,fields=me.fields,ln=fields.length,range=me.getRange(),min=range.min,max=range.max,i,l,excludes=[],value,values,rec,data=[];for(i=0,l=series.length;i+max){return}}data.push(record)});me.chart.substore=Ext.create("Ext.data.JsonStore",{model:store.model,data:data})},processView:function(){var me=this;if(me.fromDate){me.minimum=+me.fromDate}if(me.toDate){me.maximum=+me.toDate}if(me.constrain){me.doConstrain()}},calcEnds:function(){var me=this,range,step=me.step;if(step){range=me.getRange();range=Ext.draw.Draw.snapEndsByDateAndStep(new Date(range.min),new Date(range.max),Ext.isNumber(step)?[Date.MILLI,step]:step);if(me.minimum){range.from=me.minimum}if(me.maximum){range.to=me.maximum}range.step=(range.to-range.from)/range.steps;return range}else{return me.callParent(arguments)}}});Ext.define("Ext.chart.series.Series",{mixins:{observable:"Ext.util.Observable",labels:"Ext.chart.Label",highlights:"Ext.chart.Highlight",tips:"Ext.chart.Tip",callouts:"Ext.chart.Callout"},type:null,title:null,showInLegend:true,renderer:function(sprite,record,attributes,index,store){return attributes},shadowAttributes:null,triggerAfterDraw:false,constructor:function(config){var me=this;if(config){Ext.apply(me,config)}me.shadowGroups=[];me.mixins.labels.constructor.call(me,config);me.mixins.highlights.constructor.call(me,config);me.mixins.tips.constructor.call(me,config);me.mixins.callouts.constructor.call(me,config);me.addEvents({scope:me,itemmouseover:true,itemmouseout:true,itemmousedown:true,itemmouseup:true,mouseleave:true,afterdraw:true,titlechange:true});me.mixins.observable.constructor.call(me,config);me.on({scope:me,itemmouseover:me.onItemMouseOver,itemmouseout:me.onItemMouseOut,mouseleave:me.onMouseLeave})},eachRecord:function(fn,scope){var chart=this.chart;(chart.substore||chart.store).each(fn,scope)},getRecordCount:function(){var chart=this.chart,store=chart.substore||chart.store;return store?store.getCount():0},isExcluded:function(index){var excludes=this.__excludes;return !!(excludes&&excludes[index])},setBBox:function(noGutter){var me=this,chart=me.chart,chartBBox=chart.chartBBox,gutterX=noGutter?0:chart.maxGutter[0],gutterY=noGutter?0:chart.maxGutter[1],clipBox,bbox;clipBox={x:chartBBox.x,y:chartBBox.y,width:chartBBox.width,height:chartBBox.height};me.clipBox=clipBox;bbox={x:(clipBox.x+gutterX)-(chart.zoom.x*chart.zoom.width),y:(clipBox.y+gutterY)-(chart.zoom.y*chart.zoom.height),width:(clipBox.width-(gutterX*2))*chart.zoom.width,height:(clipBox.height-(gutterY*2))*chart.zoom.height};me.bbox=bbox},onAnimate:function(sprite,attr){var me=this;sprite.stopAnimation();if(me.triggerAfterDraw){return sprite.animate(Ext.applyIf(attr,me.chart.animate))}else{me.triggerAfterDraw=true;return sprite.animate(Ext.apply(Ext.applyIf(attr,me.chart.animate),{listeners:{afteranimate:function(){me.triggerAfterDraw=false;me.fireEvent("afterrender")}}}))}},getGutters:function(){return[0,0]},onItemMouseOver:function(item){var me=this;if(item.series===me){if(me.highlight){me.highlightItem(item)}if(me.tooltip){me.showTip(item)}}},onItemMouseOut:function(item){var me=this;if(item.series===me){me.unHighlightItem();if(me.tooltip){me.hideTip(item)}}},onMouseLeave:function(){var me=this;me.unHighlightItem();if(me.tooltip){me.hideTip()}},getItemForPoint:function(x,y){if(!this.items||!this.items.length||this.seriesIsHidden){return null}var me=this,items=me.items,bbox=me.bbox,item,i,ln;if(!Ext.draw.Draw.withinBox(x,y,bbox)){return null}for(i=0,ln=items.length;i0){min=Infinity;max=-min;me.eachRecord(function(record){var xValue=record.get(xField);if(xValue>max){max=xValue}if(xValuemax){max=yValue}if(yValue0){min=Infinity;max=-min;me.eachRecord(function(record){if(stacked){positiveTotal=0;negativeTotal=0;me.eachYValue(record,eachYValueStacked);if(positiveTotal>max){max=positiveTotal}if(negativeTotal-1){xAxis="top"}else{if(Ext.Array.indexOf(axis,"bottom")>-1){xAxis="bottom"}else{if(axes.get("top")){xAxis="top"}else{if(axes.get("bottom")){xAxis="bottom"}}}}if(Ext.Array.indexOf(axis,"left")>-1){yAxis="left"}else{if(Ext.Array.indexOf(axis,"right")>-1){yAxis="right"}else{if(axes.get("left")){yAxis="left"}else{if(axes.get("right")){yAxis="right"}}}}return{xAxis:xAxis,yAxis:yAxis}}});Ext.define("Ext.chart.series.Area",{extend:"Ext.chart.series.Cartesian",alias:"series.area",requires:["Ext.chart.axis.Axis","Ext.draw.Color","Ext.fx.Anim"],type:"area",stacked:true,style:{},constructor:function(config){this.callParent(arguments);var me=this,surface=me.chart.surface,i,l;Ext.apply(me,config,{__excludes:[],highlightCfg:{lineWidth:3,stroke:"#55c",opacity:0.8,color:"#f00"}});if(me.highlight){me.highlightSprite=surface.add({type:"path",path:["M",0,0],zIndex:1000,opacity:0.3,lineWidth:5,hidden:true,stroke:"#444"})}me.group=surface.getGroup(me.seriesId)},shrink:function(xValues,yValues,size){var len=xValues.length,ratio=Math.floor(len/size),i,j,xSum=0,yCompLen=this.areas.length,ySum=[],xRes=[],yRes=[];for(j=0;jbbox.width)&&me.areas){sumValues=me.shrink(xValues,yValues,bbox.width);xValues=sumValues.x;yValues=sumValues.y}return{bbox:bbox,minX:minX,minY:minY,xValues:xValues,yValues:yValues,xScale:xScale,yScale:yScale,areasLen:areasLen}},getPaths:function(){var me=this,chart=me.chart,store=chart.getChartStore(),first=true,bounds=me.getBounds(),bbox=bounds.bbox,items=me.items=[],componentPaths=[],componentPath,paths=[],i,ln,x,y,xValue,yValue,acumY,areaIndex,prevAreaIndex,areaElem,path;ln=bounds.xValues.length;for(i=0;ibbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y;if(me.chart.animate&&!me.chart.resizing){label.show(true);me.onAnimate(label,{to:{x:x,y:y}})}else{label.setAttributes({x:x,y:y},true);if(resizing){me.animation.on("afteranimate",function(){label.show(true)})}else{label.show(true)}}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,prev=(i==0)?false:items[i-1].point,next=(i==items.length-1)?false:items[i+1].point,cur=item.point,dir,norm,normal,a,aprev,anext,bbox=callout.label.getBBox(),offsetFromViz=30,offsetToSide=10,offsetBox=3,boxx,boxy,boxw,boxh,p,clipRect=me.clipRect,x,y;if(!prev){prev=cur}if(!next){next=cur}a=(next[1]-prev[1])/(next[0]-prev[0]);aprev=(cur[1]-prev[1])/(cur[0]-prev[0]);anext=(next[1]-cur[1])/(next[0]-cur[0]);norm=Math.sqrt(1+a*a);dir=[1/norm,a/norm];normal=[-dir[1],dir[0]];if(aprev>0&&anext<0&&normal[1]<0||aprev<0&&anext>0&&normal[1]>0){normal[0]*=-1;normal[1]*=-1}else{if(Math.abs(aprev)Math.abs(anext)&&normal[0]>0){normal[0]*=-1;normal[1]*=-1}}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);callout.box.setAttributes({x:boxx,y:boxy,width:boxw,height:boxh},true);callout.label.setAttributes({x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y},true);for(p in callout){callout[p].show(true)}},isItemInPoint:function(x,y,item,i){var me=this,pointsUp=item.pointsUp,pointsDown=item.pointsDown,abs=Math.abs,dist=Infinity,p,pln,point;for(p=0,pln=pointsUp.length;pabs(x-point[0])){dist=abs(x-point[0])}else{point=pointsUp[p-1];if(y>=point[1]&&(!pointsDown.length||y<=(pointsDown[p-1][1]))){item.storeIndex=p-1;item.storeField=me.yField[i];item.storeItem=me.chart.store.getAt(p-1);item._points=pointsDown.length?[point,pointsDown[p-1]]:[point];return true}else{break}}}return false},highlightSeries:function(){var area,to,fillColor;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}area.__highlighted=true;area.__prevOpacity=area.__prevOpacity||area.attr.opacity||1;area.__prevFill=area.__prevFill||area.attr.fill;area.__prevLineWidth=area.__prevLineWidth||area.attr.lineWidth;fillColor=Ext.draw.Color.fromString(area.__prevFill);to={lineWidth:(area.__prevLineWidth||0)+2};if(fillColor){to.fill=fillColor.getLighter(0.2).toString()}else{to.opacity=Math.max(area.__prevOpacity-0.3,0)}if(this.chart.animate){area.__highlightAnim=Ext.create("Ext.fx.Anim",Ext.apply({target:area,to:to},this.chart.animate))}else{area.setAttributes(to,true)}}},unHighlightSeries:function(){var area;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}if(area.__highlighted){area.__highlighted=false;area.__highlightAnim=Ext.create("Ext.fx.Anim",{target:area,to:{fill:area.__prevFill,opacity:area.__prevOpacity,lineWidth:area.__prevLineWidth}})}}},highlightItem:function(item){var me=this,points,path;if(!item){this.highlightSeries();return}points=item._points;path=points.length==2?["M",points[0][0],points[0][1],"L",points[1][0],points[1][1]]:["M",points[0][0],points[0][1],"L",points[0][0],me.bbox.y+me.bbox.height];me.highlightSprite.setAttributes({path:path,hidden:false},true)},unHighlightItem:function(item){if(!item){this.unHighlightSeries()}if(this.highlightSprite){this.highlightSprite.hide(true)}},hideAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=true;this.areas[this._index].hide(true);this.drawSeries()}},showAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=false;this.areas[this._index].show(true);this.drawSeries()}},getLegendColor:function(index){var me=this;return me.colorArrayStyle[index%me.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Area",{extend:"Ext.chart.series.Cartesian",alias:"series.area",requires:["Ext.chart.axis.Axis","Ext.draw.Color","Ext.fx.Anim"],type:"area",stacked:true,style:{},constructor:function(config){this.callParent(arguments);var me=this,surface=me.chart.surface,i,l;Ext.apply(me,config,{__excludes:[],highlightCfg:{lineWidth:3,stroke:"#55c",opacity:0.8,color:"#f00"}});if(me.highlight){me.highlightSprite=surface.add({type:"path",path:["M",0,0],zIndex:1000,opacity:0.3,lineWidth:5,hidden:true,stroke:"#444"})}me.group=surface.getGroup(me.seriesId)},shrink:function(xValues,yValues,size){var len=xValues.length,ratio=Math.floor(len/size),i,j,xSum=0,yCompLen=this.areas.length,ySum=[],xRes=[],yRes=[];for(j=0;jbbox.width)&&me.areas){sumValues=me.shrink(xValues,yValues,bbox.width);xValues=sumValues.x;yValues=sumValues.y}return{bbox:bbox,minX:minX,minY:minY,xValues:xValues,yValues:yValues,xScale:xScale,yScale:yScale,areasLen:areasLen}},getPaths:function(){var me=this,chart=me.chart,store=chart.getChartStore(),first=true,bounds=me.getBounds(),bbox=bounds.bbox,items=me.items=[],componentPaths=[],componentPath,paths=[],i,ln,x,y,xValue,yValue,acumY,areaIndex,prevAreaIndex,areaElem,path;ln=bounds.xValues.length;for(i=0;ibbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y;if(me.chart.animate&&!me.chart.resizing){label.show(true);me.onAnimate(label,{to:{x:x,y:y}})}else{label.setAttributes({x:x,y:y},true);if(resizing){me.animation.on("afteranimate",function(){label.show(true)})}else{label.show(true)}}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,prev=(i==0)?false:items[i-1].point,next=(i==items.length-1)?false:items[i+1].point,cur=item.point,dir,norm,normal,a,aprev,anext,bbox=callout.label.getBBox(),offsetFromViz=30,offsetToSide=10,offsetBox=3,boxx,boxy,boxw,boxh,p,clipRect=me.clipRect,x,y;if(!prev){prev=cur}if(!next){next=cur}a=(next[1]-prev[1])/(next[0]-prev[0]);aprev=(cur[1]-prev[1])/(cur[0]-prev[0]);anext=(next[1]-cur[1])/(next[0]-cur[0]);norm=Math.sqrt(1+a*a);dir=[1/norm,a/norm];normal=[-dir[1],dir[0]];if(aprev>0&&anext<0&&normal[1]<0||aprev<0&&anext>0&&normal[1]>0){normal[0]*=-1;normal[1]*=-1}else{if(Math.abs(aprev)Math.abs(anext)&&normal[0]>0){normal[0]*=-1;normal[1]*=-1}}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);callout.box.setAttributes({x:boxx,y:boxy,width:boxw,height:boxh},true);callout.label.setAttributes({x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y},true);for(p in callout){callout[p].show(true)}},isItemInPoint:function(x,y,item,i){var me=this,pointsUp=item.pointsUp,pointsDown=item.pointsDown,abs=Math.abs,dist=Infinity,p,pln,point;for(p=0,pln=pointsUp.length;pabs(x-point[0])){dist=abs(x-point[0])}else{point=pointsUp[p-1];if(y>=point[1]&&(!pointsDown.length||y<=(pointsDown[p-1][1]))){item.storeIndex=p-1;item.storeField=me.yField[i];item.storeItem=me.chart.store.getAt(p-1);item._points=pointsDown.length?[point,pointsDown[p-1]]:[point];return true}else{break}}}return false},highlightSeries:function(){var area,to,fillColor;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}area.__highlighted=true;area.__prevOpacity=area.__prevOpacity||area.attr.opacity||1;area.__prevFill=area.__prevFill||area.attr.fill;area.__prevLineWidth=area.__prevLineWidth||area.attr.lineWidth;fillColor=Ext.draw.Color.fromString(area.__prevFill);to={lineWidth:(area.__prevLineWidth||0)+2};if(fillColor){to.fill=fillColor.getLighter(0.2).toString()}else{to.opacity=Math.max(area.__prevOpacity-0.3,0)}if(this.chart.animate){area.__highlightAnim=Ext.create("Ext.fx.Anim",Ext.apply({target:area,to:to},this.chart.animate))}else{area.setAttributes(to,true)}}},unHighlightSeries:function(){var area;if(this._index!==undefined){area=this.areas[this._index];if(area.__highlightAnim){area.__highlightAnim.paused=true}if(area.__highlighted){area.__highlighted=false;area.__highlightAnim=Ext.create("Ext.fx.Anim",{target:area,to:{fill:area.__prevFill,opacity:area.__prevOpacity,lineWidth:area.__prevLineWidth}})}}},highlightItem:function(item){var me=this,points,path;if(!item){this.highlightSeries();return}points=item._points;path=points.length==2?["M",points[0][0],points[0][1],"L",points[1][0],points[1][1]]:["M",points[0][0],points[0][1],"L",points[0][0],me.bbox.y+me.bbox.height];me.highlightSprite.setAttributes({path:path,hidden:false},true)},unHighlightItem:function(item){if(!item){this.unHighlightSeries()}if(this.highlightSprite){this.highlightSprite.hide(true)}},hideAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=true;this.areas[this._index].hide(true);this.drawSeries()}},showAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=false;this.areas[this._index].show(true);this.drawSeries()}},getLegendColor:function(index){var me=this;return me.colorArrayStyle[index%me.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Bar",{extend:"Ext.chart.series.Cartesian",alternateClassName:["Ext.chart.BarSeries","Ext.chart.BarChart","Ext.chart.StackedBarChart"],requires:["Ext.chart.axis.Axis","Ext.fx.Anim"],type:"bar",alias:"series.bar",column:false,style:{},gutter:38.2,groupGutter:38.2,xPadding:0,yPadding:10,constructor:function(config){this.callParent(arguments);var me=this,surface=me.chart.surface,shadow=me.chart.shadow,i,l;Ext.apply(me,config,{highlightCfg:{lineWidth:3,stroke:"#55c",opacity:0.8,color:"#f00"},shadowAttributes:[{"stroke-width":6,"stroke-opacity":0.05,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:1.2}},{"stroke-width":4,"stroke-opacity":0.1,stroke:"rgb(150, 150, 150)",translate:{x:0.9,y:0.9}},{"stroke-width":2,"stroke-opacity":0.15,stroke:"rgb(100, 100, 100)",translate:{x:0.6,y:0.6}}]});me.group=surface.getGroup(me.seriesId+"-bars");if(shadow){for(i=0,l=me.shadowAttributes.length;i0)][i]+=mabs(rec)}});total[+(maxY>0)].push(mabs(maxY));total[+(minY>0)].push(mabs(minY));minus=mmax.apply(math,total[0]);plus=mmax.apply(math,total[1]);scale=(column?bbox.height-yPadding*2:bbox.width-xPadding*2)/(plus+minus);zero=zero+minus*scale*(column?-1:1)}else{if(minY/maxY<0){zero=zero-minY*scale*(column?-1:1)}}return{bars:bars,bbox:bbox,barsLen:barsLen,groupBarsLen:groupBarsLen,barWidth:barWidth,groupBarWidth:groupBarWidth,scale:scale,zero:zero,xPadding:xPadding,yPadding:yPadding,signed:minY/maxY<0,minY:minY,maxY:maxY}},getPaths:function(){var me=this,chart=me.chart,store=chart.getChartStore(),bounds=me.bounds=me.getBounds(),items=me.items=[],gutter=me.gutter/100,groupGutter=me.groupGutter/100,animate=chart.animate,column=me.column,group=me.group,enableShadows=chart.shadow,shadowGroups=me.shadowGroups,shadowAttributes=me.shadowAttributes,shadowGroupsLn=shadowGroups.length,bbox=bounds.bbox,xPadding=me.xPadding,yPadding=me.yPadding,stacked=me.stacked,barsLen=bounds.barsLen,colors=me.colorArrayStyle,colorLength=colors&&colors.length||0,math=Math,mmax=math.max,mmin=math.min,mabs=math.abs,j,yValue,height,totalDim,totalNegDim,bottom,top,hasShadow,barAttr,attrs,counter,shadowIndex,shadow,sprite,offset,floorY;store.each(function(record,i,total){bottom=bounds.zero;top=bounds.zero;totalDim=0;totalNegDim=0;hasShadow=false;for(j=0,counter=0;j1?j:0)%colorLength]};if(column){Ext.apply(barAttr,{height:height,width:mmax(bounds.groupBarWidth,0),x:(bbox.x+xPadding+i*bounds.barWidth*(1+gutter)+counter*bounds.groupBarWidth*(1+groupGutter)*!stacked),y:bottom-height})}else{offset=(total-1)-i;Ext.apply(barAttr,{height:mmax(bounds.groupBarWidth,0),width:height+(bottom==bounds.zero),x:bottom+(bottom!=bounds.zero),y:(bbox.y+yPadding+offset*bounds.barWidth*(1+gutter)+counter*bounds.groupBarWidth*(1+groupGutter)*!stacked+1)})}if(height<0){if(column){barAttr.y=top;barAttr.height=mabs(height)}else{barAttr.x=top+height;barAttr.width=mabs(height)}}if(stacked){if(height<0){top+=height*(column?-1:1)}else{bottom+=height*(column?-1:1)}totalDim+=mabs(height);if(height<0){totalNegDim+=mabs(height)}}barAttr.x=Math.floor(barAttr.x)+1;floorY=Math.floor(barAttr.y);if(!Ext.isIE9&&barAttr.y>floorY){floorY--}barAttr.y=floorY;barAttr.width=Math.floor(barAttr.width);barAttr.height=Math.floor(barAttr.height);items.push({series:me,storeItem:record,value:[record.get(me.xField),yValue],attr:barAttr,point:column?[barAttr.x+barAttr.width/2,yValue>=0?barAttr.y:barAttr.y+barAttr.height]:[yValue>=0?barAttr.x+barAttr.width:barAttr.x,barAttr.y+barAttr.height/2]});if(animate&&chart.resizing){attrs=column?{x:barAttr.x,y:bounds.zero,width:barAttr.width,height:0}:{x:bounds.zero,y:barAttr.y,width:0,height:barAttr.height};if(enableShadows&&(stacked&&!hasShadow||!stacked)){hasShadow=true;for(shadowIndex=0;shadowIndex(yValue>=0?zero-chartBBox.y:chartBBox.y+chartBBox.height-zero)){display=insideEnd}}else{if(height+offsetY>attr.height){display=outside;label.isOutside=true}}x=attr.x+groupBarWidth/2;y=display==insideStart?(zero+((height/2+3)*(yValue>=0?-1:1))):(yValue>=0?(attr.y+((height/2+3)*(display==outside?-1:1))):(attr.y+attr.height+((height/2+3)*(display===outside?1:-1))))}else{if(display==outside){if(width+offsetX+attr.width>(yValue>=0?chartBBox.x+chartBBox.width-zero:zero-chartBBox.x)){display=insideEnd}}else{if(width+offsetX>attr.width){display=outside;label.isOutside=true}}x=display==insideStart?(zero+((width/2+5)*(yValue>=0?1:-1))):(yValue>=0?(attr.x+attr.width+((width/2+5)*(display===outside?1:-1))):(attr.x+((width/2+5)*(display===outside?-1:1))));y=attr.y+groupBarWidth/2}finalAttr={x:x,y:y};if(rotate){finalAttr.rotate={x:x,y:y,degrees:270}}if(animate&&resizing){if(column){x=attr.x+attr.width/2;y=zero}else{x=zero;y=attr.y+attr.height/2}label.setAttributes({x:x,y:y},true);if(rotate){label.setAttributes({rotate:{x:x,y:y,degrees:270}},true)}}if(animate){me.onAnimate(label,{to:finalAttr})}else{label.setAttributes(Ext.apply(finalAttr,{hidden:false}),true)}},getLabelSize:function(value){var tester=this.testerLabel,config=this.label,endLabelStyle=Ext.apply({},config,this.seriesLabelStyle||{}),rotated=config.orientation==="vertical",bbox,w,h,undef;if(!tester){tester=this.testerLabel=this.chart.surface.add(Ext.apply({type:"text",opacity:0},endLabelStyle))}tester.setAttributes({text:value},true);bbox=tester.getBBox();w=bbox.width;h=bbox.height;return{width:rotated?h:w,height:rotated?w:h}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item){var bbox=item.sprite.getBBox();return bbox.x<=x&&bbox.y<=y&&(bbox.x+bbox.width)>=x&&(bbox.y+bbox.height)>=y},hideAll:function(){var axes=this.chart.axes;if(!isNaN(this._index)){if(!this.__excludes){this.__excludes=[]}this.__excludes[this._index]=true;this.drawSeries();axes.each(function(axis){axis.drawAxis()})}},showAll:function(){var axes=this.chart.axes;if(!isNaN(this._index)){if(!this.__excludes){this.__excludes=[]}this.__excludes[this._index]=false;this.drawSeries();axes.each(function(axis){axis.drawAxis()})}},getLegendColor:function(index){var me=this,colorLength=me.colorArrayStyle.length;if(me.style&&me.style.fill){return me.style.fill}else{return me.colorArrayStyle[index%colorLength]}},highlightItem:function(item){this.callParent(arguments);this.renderLabels()},unHighlightItem:function(){this.callParent(arguments);this.renderLabels()},cleanHighlights:function(){this.callParent(arguments);this.renderLabels()}});Ext.define("Ext.chart.series.Column",{alternateClassName:["Ext.chart.ColumnSeries","Ext.chart.ColumnChart","Ext.chart.StackedColumnChart"],extend:"Ext.chart.series.Bar",type:"column",alias:"series.column",column:true,xPadding:10,yPadding:0});Ext.define("Ext.chart.series.Gauge",{extend:"Ext.chart.series.Series",type:"gauge",alias:"series.gauge",rad:Math.PI/180,highlightDuration:150,angleField:false,needle:false,donut:false,showInLegend:false,style:{},constructor:function(config){this.callParent(arguments);var me=this,chart=me.chart,surface=chart.surface,store=chart.store,shadow=chart.shadow,i,l,cfg;Ext.apply(me,config,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":1,stroke:"rgb(200, 200, 200)",translate:{x:1.2,y:2}},{"stroke-width":4,"stroke-opacity":1,stroke:"rgb(150, 150, 150)",translate:{x:0.9,y:1.5}},{"stroke-width":2,"stroke-opacity":1,stroke:"rgb(100, 100, 100)",translate:{x:0.6,y:1}}]});me.group=surface.getGroup(me.seriesId);if(shadow){for(i=0,l=me.shadowAttributes.length;i180,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,singleSlice=false;x+=margin*cos(midAngle);y+=margin*sin(midAngle);x1=x+opt.startRho*cos(a1);y1=y+opt.startRho*sin(a1);x2=x+opt.endRho*cos(a1);y2=y+opt.endRho*sin(a1);x3=x+opt.startRho*cos(a2);y3=y+opt.startRho*sin(a2);x4=x+opt.endRho*cos(a2);y4=y+opt.endRho*sin(a2);if(abs(x1-x3)<=delta&&abs(y1-y3)<=delta){singleSlice=true}if(singleSlice){return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["Z"]]}}else{return{path:[["M",x1,y1],["L",x2,y2],["A",opt.endRho,opt.endRho,0,+flag,1,x4,y4],["L",x3,y3],["A",opt.startRho,opt.startRho,0,+flag,0,x1,y1],["Z"]]}}},calcMiddle:function(item){var me=this,rad=me.rad,slice=item.slice,x=me.centerX,y=me.centerY,startAngle=slice.startAngle,endAngle=slice.endAngle,radius=Math.max(("rho" in slice)?slice.rho:me.radius,me.label.minMargin),donut=+me.donut,a1=Math.min(startAngle,endAngle)*rad,a2=Math.max(startAngle,endAngle)*rad,midAngle=-(a1+(a2-a1)/2),xm=x+(item.endRho+item.startRho)/2*Math.cos(midAngle),ym=y-(item.endRho+item.startRho)/2*Math.sin(midAngle);item.middle={x:xm,y:ym}},drawSeries:function(){var me=this,chart=me.chart,store=chart.getChartStore(),group=me.group,animate=me.chart.animate,axis=me.chart.axes.get(0),minimum=axis&&axis.minimum||me.minimum||0,maximum=axis&&axis.maximum||me.maximum||0,field=me.angleField||me.field||me.xField,surface=chart.surface,chartBBox=chart.chartBBox,rad=me.rad,donut=+me.donut,values={},items=[],seriesStyle=me.seriesStyle,seriesLabelStyle=me.seriesLabelStyle,colorArrayStyle=me.colorArrayStyle,colorArrayLength=colorArrayStyle&&colorArrayStyle.length||0,gutterX=chart.maxGutter[0],gutterY=chart.maxGutter[1],cos=Math.cos,sin=Math.sin,rendererAttributes,centerX,centerY,slice,slices,sprite,value,item,ln,record,i,j,startAngle,endAngle,middleAngle,sliceLength,path,p,spriteOptions,bbox,splitAngle,sliceA,sliceB;Ext.apply(seriesStyle,me.style||{});me.setBBox();bbox=me.bbox;if(me.colorSet){colorArrayStyle=me.colorSet;colorArrayLength=colorArrayStyle.length}if(!store||!store.getCount()){return}centerX=me.centerX=chartBBox.x+(chartBBox.width/2);centerY=me.centerY=chartBBox.y+chartBBox.height;me.radius=Math.min(centerX-chartBBox.x,centerY-chartBBox.y);me.slices=slices=[];me.items=items=[];if(!me.value){record=store.getAt(0);me.value=record.get(field)}value=me.value;if(me.needle){sliceA={series:me,value:value,startAngle:-180,endAngle:0,rho:me.radius};splitAngle=-180*(1-(value-minimum)/(maximum-minimum));slices.push(sliceA)}else{splitAngle=-180*(1-(value-minimum)/(maximum-minimum));sliceA={series:me,value:value,startAngle:-180,endAngle:splitAngle,rho:me.radius};sliceB={series:me,value:me.maximum-value,startAngle:splitAngle,endAngle:0,rho:me.radius};slices.push(sliceA,sliceB)}for(i=0,ln=slices.length;ibbox.width){coords=me.shrink(xValues,yValues,bbox.width);xValues=coords.x;yValues=coords.y}me.items=[];count=0;ln=xValues.length;for(i=0;ibbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=(y-heightbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y}}if(me.chart.animate&&!me.chart.resizing){label.show(true);me.onAnimate(label,{to:{x:x,y:y}})}else{label.setAttributes({x:x,y:y},true);if(resizing&&me.animation){me.animation.on("afteranimate",function(){label.show(true)})}else{label.show(true)}}},highlightItem:function(){var me=this;me.callParent(arguments);if(me.line&&!me.highlighted){if(!("__strokeWidth" in me.line)){me.line.__strokeWidth=me.line.attr["stroke-width"]||0}if(me.line.__anim){me.line.__anim.paused=true}me.line.__anim=Ext.create("Ext.fx.Anim",{target:me.line,to:{"stroke-width":me.line.__strokeWidth+3}});me.highlighted=true}},unHighlightItem:function(){var me=this;me.callParent(arguments);if(me.line&&me.highlighted){me.line.__anim=Ext.create("Ext.fx.Anim",{target:me.line,to:{"stroke-width":me.line.__strokeWidth}});me.highlighted=false}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){if(!display){return}var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,prev=i==0?false:items[i-1].point,next=(i==items.length-1)?false:items[i+1].point,cur=[+item.point[0],+item.point[1]],dir,norm,normal,a,aprev,anext,offsetFromViz=config.offsetFromViz||30,offsetToSide=config.offsetToSide||10,offsetBox=config.offsetBox||3,boxx,boxy,boxw,boxh,p,clipRect=me.clipRect,bbox={width:config.styles.width||10,height:config.styles.height||10},x,y;if(!prev){prev=cur}if(!next){next=cur}a=(next[1]-prev[1])/(next[0]-prev[0]);aprev=(cur[1]-prev[1])/(cur[0]-prev[0]);anext=(next[1]-cur[1])/(next[0]-cur[0]);norm=Math.sqrt(1+a*a);dir=[1/norm,a/norm];normal=[-dir[1],dir[0]];if(aprev>0&&anext<0&&normal[1]<0||aprev<0&&anext>0&&normal[1]>0){normal[0]*=-1;normal[1]*=-1}else{if(Math.abs(aprev)Math.abs(anext)&&normal[0]>0){normal[0]*=-1;normal[1]*=-1}}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",cur[0],cur[1],"L",x,y,"Z"]}});if(callout.panel){callout.panel.setPosition(boxx,boxy,true)}}else{callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);if(callout.panel){callout.panel.setPosition(boxx,boxy)}}for(p in callout){callout[p].show(true)}},isItemInPoint:function(x,y,item,i){var me=this,items=me.items,tolerance=me.selectionTolerance,result=null,prevItem,nextItem,prevPoint,nextPoint,ln,x1,y1,x2,y2,xIntersect,yIntersect,dist1,dist2,dist,midx,midy,sqrt=Math.sqrt,abs=Math.abs;nextItem=items[i];prevItem=i&&items[i-1];if(i>=ln){prevItem=items[ln-1]}prevPoint=prevItem&&prevItem.point;nextPoint=nextItem&&nextItem.point;x1=prevItem?prevPoint[0]:nextPoint[0]-tolerance;y1=prevItem?prevPoint[1]:nextPoint[1];x2=nextItem?nextPoint[0]:prevPoint[0]+tolerance;y2=nextItem?nextPoint[1]:prevPoint[1];dist1=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));dist2=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));dist=Math.min(dist1,dist2);if(dist<=tolerance){return dist==dist1?prevItem:nextItem}return false},toggleAll:function(show){var me=this,i,ln,shadow,shadows;if(!show){Ext.chart.series.Cartesian.prototype.hideAll.call(me)}else{Ext.chart.series.Cartesian.prototype.showAll.call(me)}if(me.line){me.line.setAttributes({hidden:!show},true);if(me.line.shadows){for(i=0,shadows=me.line.shadows,ln=shadows.length;i1?j:i)%colorArrayLength]}||{}));item=Ext.apply({},rendererAttributes.segment,{slice:slice,series:me,storeItem:slice.storeItem,index:i});me.calcMiddle(item);if(enableShadows){item.shadows=slice.shadowAttrs[j]}items[i]=item;if(!sprite){spriteOptions=Ext.apply({type:"path",group:group,middle:item.middle},Ext.apply(seriesStyle,colorArrayStyle&&{fill:colorArrayStyle[(layers>1?j:i)%colorArrayLength]}||{}));sprite=surface.add(Ext.apply(spriteOptions,rendererAttributes))}slice.sprite=slice.sprite||[];item.sprite=sprite;slice.sprite.push(sprite);slice.point=[item.middle.x,item.middle.y];if(animate){rendererAttributes=me.renderer(sprite,store.getAt(i),rendererAttributes,i,store);sprite._to=rendererAttributes;sprite._animating=true;me.onAnimate(sprite,{to:rendererAttributes,listeners:{afteranimate:{fn:function(){this._animating=false},scope:sprite}}})}else{rendererAttributes=me.renderer(sprite,store.getAt(i),Ext.apply(rendererAttributes,{hidden:false}),i,store);sprite.setAttributes(rendererAttributes,true)}rhoAcum+=deltaRho}}ln=group.getCount();for(i=0;i>0]&&group.getAt(i)){group.getAt(i).hide(true)}}if(enableShadows){lnsh=shadowGroups.length;for(shindex=0;shindex>0]){for(j=0;j90&&dg<270)?dg+180:dg;prevDg=label.attr.rotation.degrees;if(prevDg!=null&&Math.abs(prevDg-dg)>180){if(dg>prevDg){dg-=360}else{dg+=360}dg=dg%360}else{dg=fixAngle(dg)}opt.rotate={degrees:dg,x:opt.x,y:opt.y};break;default:break}opt.translate={x:0,y:0};if(animate&&!resizing&&(display!="rotate"||prevDg!=null)){me.onAnimate(label,{to:opt})}else{label.setAttributes(opt,true)}label._from=from},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,resizing=chart.resizing,config=me.callouts,centerX=me.centerX,centerY=me.centerY,middle=item.middle,opt={x:middle.x,y:middle.y},x=middle.x-centerX,y=middle.y-centerY,rho=1,rhoCenter,theta=Math.atan2(y,x||1),bbox=callout.label.getBBox(),offsetFromViz=20,offsetToSide=10,offsetBox=10,p;rho=item.endRho+offsetFromViz;rhoCenter=(item.endRho+item.startRho)/2+(item.endRho-item.startRho)/3;opt.x=rho*Math.cos(theta)+centerX;opt.y=rho*Math.sin(theta)+centerY;x=rhoCenter*Math.cos(theta);y=rhoCenter*Math.sin(theta);if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",x+centerX,y+centerY,"L",opt.x,opt.y,"Z","M",opt.x,opt.y,"l",x>0?offsetToSide:-offsetToSide,0,"z"]}});me.onAnimate(callout.box,{to:{x:opt.x+(x>0?offsetToSide:-(offsetToSide+bbox.width+2*offsetBox)),y:opt.y+(y>0?(-bbox.height-offsetBox/2):(-bbox.height-offsetBox/2)),width:bbox.width+2*offsetBox,height:bbox.height+2*offsetBox}});me.onAnimate(callout.label,{to:{x:opt.x+(x>0?(offsetToSide+offsetBox):-(offsetToSide+bbox.width+offsetBox)),y:opt.y+(y>0?-bbox.height/4:-bbox.height/4)}})}else{callout.lines.setAttributes({path:["M",x+centerX,y+centerY,"L",opt.x,opt.y,"Z","M",opt.x,opt.y,"l",x>0?offsetToSide:-offsetToSide,0,"z"]},true);callout.box.setAttributes({x:opt.x+(x>0?offsetToSide:-(offsetToSide+bbox.width+2*offsetBox)),y:opt.y+(y>0?(-bbox.height-offsetBox/2):(-bbox.height-offsetBox/2)),width:bbox.width+2*offsetBox,height:bbox.height+2*offsetBox},true);callout.label.setAttributes({x:opt.x+(x>0?(offsetToSide+offsetBox):-(offsetToSide+bbox.width+offsetBox)),y:opt.y+(y>0?-bbox.height/4:-bbox.height/4)},true)}for(p in callout){callout[p].show(true)}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item,i){var me=this,cx=me.centerX,cy=me.centerY,abs=Math.abs,dx=abs(x-cx),dy=abs(y-cy),startAngle=item.startAngle,endAngle=item.endAngle,rho=Math.sqrt(dx*dx+dy*dy),angle=Math.atan2(y-cy,x-cx)/me.rad;if(angle>me.firstAngle){angle-=360}return(angle<=startAngle&&angle>endAngle&&rho>=item.startRho&&rho<=item.endRho)},hideAll:function(){var i,l,shadow,shadows,sh,lsh,sprite;if(!isNaN(this._index)){this.__excludes=this.__excludes||[];this.__excludes[this._index]=true;sprite=this.slices[this._index].sprite;for(sh=0,lsh=sprite.length;shbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=(y-heightbbox.x+bbox.width)?(x-(x+width-bbox.x-bbox.width)):x;y=y-heightbbox.y+bbox.height)?(y-(y+height-bbox.y-bbox.height)):y}}if(!chart.animate){label.setAttributes({x:x,y:y},true);label.show(true)}else{if(resizing){anim=item.sprite.getActiveAnimation();if(anim){anim.on("afteranimate",function(){label.setAttributes({x:x,y:y},true);label.show(true)})}else{label.show(true)}}else{me.onAnimate(label,{to:{x:x,y:y}})}}},onPlaceCallout:function(callout,storeItem,item,i,display,animate,index){var me=this,chart=me.chart,surface=chart.surface,resizing=chart.resizing,config=me.callouts,items=me.items,cur=item.point,normal,bbox=callout.label.getBBox(),offsetFromViz=30,offsetToSide=10,offsetBox=3,boxx,boxy,boxw,boxh,p,clipRect=me.bbox,x,y;normal=[Math.cos(Math.PI/4),-Math.sin(Math.PI/4)];x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(boxx(clipRect[0]+clipRect[2])){normal[0]*=-1}if(boxy(clipRect[1]+clipRect[3])){normal[1]*=-1}x=cur[0]+normal[0]*offsetFromViz;y=cur[1]+normal[1]*offsetFromViz;boxx=x+(normal[0]>0?0:-(bbox.width+2*offsetBox));boxy=y-bbox.height/2-offsetBox;boxw=bbox.width+2*offsetBox;boxh=bbox.height+2*offsetBox;if(chart.animate){me.onAnimate(callout.lines,{to:{path:["M",cur[0],cur[1],"L",x,y,"Z"]}},true);me.onAnimate(callout.box,{to:{x:boxx,y:boxy,width:boxw,height:boxh}},true);me.onAnimate(callout.label,{to:{x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y}},true)}else{callout.lines.setAttributes({path:["M",cur[0],cur[1],"L",x,y,"Z"]},true);callout.box.setAttributes({x:boxx,y:boxy,width:boxw,height:boxh},true);callout.label.setAttributes({x:x+(normal[0]>0?offsetBox:-(bbox.width+offsetBox)),y:y},true)}for(p in callout){callout[p].show(true)}},onAnimate:function(sprite,attr){sprite.show();return this.callParent(arguments)},isItemInPoint:function(x,y,item){var point,tolerance=10,abs=Math.abs;function dist(point){var dx=abs(point[0]-x),dy=abs(point[1]-y);return Math.sqrt(dx*dx+dy*dy)}point=item.point;return(point[0]-tolerance<=x&&point[0]+tolerance>=x&&point[1]-tolerance<=y&&point[1]+tolerance>=y)}});Ext.define("Ext.chart.theme.Base",{requires:["Ext.chart.theme.Theme"],constructor:function(config){Ext.chart.theme.call(this,config,{background:false,axis:{stroke:"#444","stroke-width":1},axisLabelTop:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisLabelRight:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisLabelBottom:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisLabelLeft:{fill:"#444",font:"12px Arial, Helvetica, sans-serif",spacing:2,padding:5,renderer:function(v){return v}},axisTitleTop:{font:"bold 18px Arial",fill:"#444"},axisTitleRight:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},axisTitleBottom:{font:"bold 18px Arial",fill:"#444"},axisTitleLeft:{font:"bold 18px Arial",fill:"#444",rotate:{x:0,y:0,degrees:270}},series:{"stroke-width":0},seriesLabel:{font:"12px Arial",fill:"#333"},marker:{stroke:"#555",fill:"#000",radius:3,size:3},colors:["#94ae0a","#115fa6","#a61120","#ff8809","#ffd13e","#a61187","#24ad9a","#7c7474","#a66111"],seriesThemes:[{fill:"#115fa6"},{fill:"#94ae0a"},{fill:"#a61120"},{fill:"#ff8809"},{fill:"#ffd13e"},{fill:"#a61187"},{fill:"#24ad9a"},{fill:"#7c7474"},{fill:"#a66111"}],markerThemes:[{fill:"#115fa6",type:"circle"},{fill:"#94ae0a",type:"cross"},{fill:"#a61120",type:"plus"}]})}},function(){var palette=["#b1da5a","#4ce0e7","#e84b67","#da5abd","#4d7fe6","#fec935"],names=["Green","Sky","Red","Purple","Blue","Yellow"],i=0,j=0,l=palette.length,themes=Ext.chart.theme,categories=[["#f0a50a","#c20024","#2044ba","#810065","#7eae29"],["#6d9824","#87146e","#2a9196","#d39006","#1e40ac"],["#fbbc29","#ce2e4e","#7e0062","#158b90","#57880e"],["#ef5773","#fcbd2a","#4f770d","#1d3eaa","#9b001f"],["#7eae29","#fdbe2a","#910019","#27b4bc","#d74dbc"],["#44dce1","#0b2592","#996e05","#7fb325","#b821a1"]],cats=categories.length;for(;i1){for(len=args.length;i0){if(paramOrder){for(len=paramOrder.length;i0){request.timeout=setTimeout(Ext.bind(me.handleTimeout,me,[request]),timeout)}me.setupErrorHandling(request);me[callbackName]=Ext.bind(me.handleResponse,me,[request],true);Ext.getHead().appendChild(script);return request},abort:function(request){var requests=this.statics().requests,key;if(request){if(!request.id){request=requests[request]}this.abort(request)}else{for(key in requests){if(requests.hasOwnProperty(key)){this.abort(requests[key])}}}},setupErrorHandling:function(request){request.script.onerror=Ext.bind(this.handleError,this,[request])},handleAbort:function(request){request.errorType="abort";this.handleResponse(null,request)},handleError:function(request){request.errorType="error";this.handleResponse(null,request)},cleanupErrorHandling:function(request){request.script.onerror=null},handleTimeout:function(request){request.errorType="timeout";this.handleResponse(null,request)},handleResponse:function(result,request){var success=true;if(request.timeout){clearTimeout(request.timeout)}delete this[request.callbackName];delete this.statics()[request.id];this.cleanupErrorHandling(request);Ext.fly(request.script).remove();if(request.errorType){success=false;Ext.callback(request.failure,request.scope,[request.errorType])}else{Ext.callback(request.success,request.scope,[result])}Ext.callback(request.callback,request.scope,[success,result,request.errorType])},createScript:function(url,params){var script=document.createElement("script");script.setAttribute("src",Ext.urlAppend(url,Ext.Object.toQueryString(params)));script.setAttribute("async",true);script.setAttribute("type","text/javascript");return script}});Ext.define("Ext.data.JsonPStore",{extend:"Ext.data.Store",alias:"store.jsonp",constructor:function(config){this.callParent(Ext.apply(config,{reader:Ext.create("Ext.data.reader.Json",config),proxy:Ext.create("Ext.data.proxy.JsonP",config)}))}});Ext.define("Ext.data.NodeInterface",{requires:["Ext.data.Field"],statics:{decorate:function(record){if(!record.isNode){var mgr=Ext.ModelManager,modelName=record.modelName,modelClass=mgr.getModel(modelName),idName=modelClass.prototype.idProperty,newFields=[],i,newField,len;modelClass.override(this.getPrototypeBody());newFields=this.applyFields(modelClass,[{name:idName,type:"string",defaultValue:null},{name:"parentId",type:"string",defaultValue:null},{name:"index",type:"int",defaultValue:null},{name:"depth",type:"int",defaultValue:0},{name:"expanded",type:"bool",defaultValue:false,persist:false},{name:"expandable",type:"bool",defaultValue:true,persist:false},{name:"checked",type:"auto",defaultValue:null},{name:"leaf",type:"bool",defaultValue:false,persist:false},{name:"cls",type:"string",defaultValue:null,persist:false},{name:"iconCls",type:"string",defaultValue:null,persist:false},{name:"icon",type:"string",defaultValue:null,persist:false},{name:"root",type:"boolean",defaultValue:false,persist:false},{name:"isLast",type:"boolean",defaultValue:false,persist:false},{name:"isFirst",type:"boolean",defaultValue:false,persist:false},{name:"allowDrop",type:"boolean",defaultValue:true,persist:false},{name:"allowDrag",type:"boolean",defaultValue:true,persist:false},{name:"loaded",type:"boolean",defaultValue:false,persist:false},{name:"loading",type:"boolean",defaultValue:false,persist:false},{name:"href",type:"string",defaultValue:null,persist:false},{name:"hrefTarget",type:"string",defaultValue:null,persist:false},{name:"qtip",type:"string",defaultValue:null,persist:false},{name:"qtitle",type:"string",defaultValue:null,persist:false}]);len=newFields.length;for(i=0;i0},isExpandable:function(){var me=this;if(me.get("expandable")){return !(me.isLeaf()||(me.isLoaded()&&!me.hasChildNodes()))}return false},appendChild:function(node,suppressEvents,suppressNodeUpdate){var me=this,i,ln,index,oldParent,ps;if(Ext.isArray(node)){for(i=0,ln=node.length;i0){Ext.Array.sort(cs,sortFn);for(i=0;ilength){ret=ret.substring(ret.length-length)}else{if(ret.length>>16)&4095)|(me.version<<12),4);parts[3]=toHex(128|((me.clockSeq>>>8)&63),2)+toHex(me.clockSeq&255,2);parts[4]=toHex(me.salt.hi,4)+toHex(me.salt.lo,8);if(me.version==4){me.init()}else{++ts.lo;if(ts.lo>=twoPow32){ts.lo=0;++ts.hi}}return parts.join("-").toLowerCase()},getRecId:function(rec){return rec.getId()},init:function(){var me=this,salt,time;if(me.version==4){me.clockSeq=rand(0,twoPow14-1);salt=me.salt||(me.salt={});time=me.timestamp||(me.timestamp={});salt.lo=rand(0,twoPow32-1);salt.hi=rand(0,twoPow16-1);time.lo=rand(0,twoPow32-1);time.hi=rand(0,twoPow28-1)}else{me.salt=split(me.salt);me.timestamp=split(me.timestamp);me.salt.hi|=256}},reconfigure:function(config){Ext.apply(this,config);this.init()}}}());Ext.define("Ext.data.XmlStore",{extend:"Ext.data.Store",alternateClassName:"Ext.data.XmlStore",alias:"store.xml",constructor:function(config){config=config||{};config=config||{};Ext.applyIf(config,{proxy:{type:"ajax",reader:"xml",writer:"xml"}});this.callParent([config])}});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",clear:function(){}});Ext.define("Ext.data.proxy.JsonP",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],requires:["Ext.data.JsonP"],defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:true,constructor:function(){this.addEvents("exception");this.callParent(arguments)},doRequest:function(operation,callback,scope){var me=this,writer=me.getWriter(),request=me.buildRequest(operation),params=request.params;if(operation.allowWrite()){request=writer.write(request)}Ext.apply(request,{callbackKey:me.callbackKey,timeout:me.timeout,scope:me,disableCaching:false,callback:me.createRequestCallback(request,operation,callback,scope)});if(me.autoAppendParams){request.params={}}request.jsonp=Ext.data.JsonP.request(request);request.params=params;operation.setStarted();me.lastRequest=request;return request},createRequestCallback:function(request,operation,callback,scope){var me=this;return function(success,response,errorType){delete me.lastRequest;me.processResponse(success,operation,request,response,callback,scope)}},setException:function(operation,response){operation.setException(operation.request.jsonp.errorType)},buildUrl:function(request){var me=this,url=me.callParent(arguments),params=Ext.apply({},request.params),filters=params.filters,records,filter,i;delete params.filters;if(me.autoAppendParams){url=Ext.urlAppend(url,Ext.Object.toQueryString(params))}if(filters&&filters.length){for(i=0;i0){url=Ext.urlAppend(url,Ext.String.format("{0}={1}",me.recordParam,me.encodeRecords(records)))}return url},destroy:function(){this.abort();this.callParent()},abort:function(){var lastRequest=this.lastRequest;if(lastRequest){Ext.data.JsonP.abort(lastRequest.jsonp)}},encodeRecords:function(records){var encoded="",i=0,len=records.length;for(;i")}for(;i");for(key in item){if(item.hasOwnProperty(key)){xml.push("<",key,">",item[key],"")}}xml.push("")}if(root){xml.push("")}request.xmlData=xml.join("");return request}});Ext.define("Ext.direct.Event",{alias:"direct.event",requires:["Ext.direct.Manager"],status:true,constructor:function(config){Ext.apply(this,config)},getData:function(){return this.data}});Ext.define("Ext.direct.RemotingEvent",{extend:"Ext.direct.Event",alias:"direct.rpc",getTransaction:function(){return this.transaction||Ext.direct.Manager.getTransaction(this.tid)}});Ext.define("Ext.direct.ExceptionEvent",{extend:"Ext.direct.RemotingEvent",alias:"direct.exception",status:false});Ext.define("Ext.direct.Provider",{alias:"direct.provider",mixins:{observable:"Ext.util.Observable"},constructor:function(config){var me=this;Ext.apply(me,config);me.addEvents("connect","disconnect","data","exception");me.mixins.observable.constructor.call(me,config)},isConnected:function(){return false},connect:Ext.emptyFn,disconnect:Ext.emptyFn});Ext.define("Ext.direct.JsonProvider",{extend:"Ext.direct.Provider",alias:"direct.jsonprovider",uses:["Ext.direct.ExceptionEvent"],parseResponse:function(response){if(!Ext.isEmpty(response.responseText)){if(Ext.isObject(response.responseText)){return response.responseText}return Ext.decode(response.responseText)}return null},createEvents:function(response){var data=null,events=[],event,i=0,len;try{data=this.parseResponse(response)}catch(e){event=Ext.create("Ext.direct.ExceptionEvent",{data:e,xhr:response,code:Ext.direct.Manager.self.exceptions.PARSE,message:"Error parsing json response: \n\n "+data});return[event]}if(Ext.isArray(data)){for(len=data.length;i0){this.sendRequest(len==1?buffer[0]:buffer);this.callBuffer=[]}},configureFormRequest:function(action,method,form,callback,scope){var me=this,transaction=Ext.create("Ext.direct.Transaction",{provider:me,action:action,method:method.name,args:[form,callback,scope],callback:scope&&Ext.isFunction(callback)?Ext.Function.bind(callback,scope):callback,isForm:true}),isUpload,params;if(me.fireEvent("beforecall",me,transaction,method)!==false){Ext.direct.Manager.addTransaction(transaction);isUpload=String(form.getAttribute("enctype")).toLowerCase()=="multipart/form-data";params={extTID:transaction.id,extAction:action,extMethod:method.name,extType:"rpc",extUpload:String(isUpload)};Ext.apply(transaction,{form:Ext.getDom(form),isUpload:isUpload,params:callback&&Ext.isObject(callback.params)?Ext.apply(params,callback.params):params});me.fireEvent("call",me,transaction,method);me.sendFormRequest(transaction)}},sendFormRequest:function(transaction){Ext.Ajax.request({url:this.url,params:transaction.params,callback:this.onData,scope:this,form:transaction.form,isUpload:transaction.isUpload,transaction:transaction})}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(a,b,c,d,e,f){if(a!=null){this.matrix=[[a,c,e],[b,d,f],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(a,b,c,d,e,f){var me=this,out=[[],[],[]],matrix=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,res;for(x=0;x<3;x++){for(y=0;y<3;y++){res=0;for(z=0;z<3;z++){res+=me.matrix[x][z]*matrix[z][y]}out[x][y]=res}}me.matrix=out},prepend:function(a,b,c,d,e,f){var me=this,out=[[],[],[]],matrix=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,res;for(x=0;x<3;x++){for(y=0;y<3;y++){res=0;for(z=0;z<3;z++){res+=matrix[x][z]*me.matrix[z][y]}out[x][y]=res}}me.matrix=out},invert:function(){var matrix=this.matrix,a=matrix[0][0],b=matrix[1][0],c=matrix[0][1],d=matrix[1][1],e=matrix[0][2],f=matrix[1][2],x=a*d-b*c;return new Ext.draw.Matrix(d/x,-b/x,-c/x,a/x,(c*f-d*e)/x,(b*e-a*f)/x)},clone:function(){var matrix=this.matrix,a=matrix[0][0],b=matrix[1][0],c=matrix[0][1],d=matrix[1][1],e=matrix[0][2],f=matrix[1][2];return new Ext.draw.Matrix(a,b,c,d,e,f)},translate:function(x,y){this.prepend(1,0,0,1,x,y)},scale:function(x,y,cx,cy){var me=this;if(y==null){y=x}me.add(1,0,0,1,cx,cy);me.add(x,0,0,y,0,0);me.add(1,0,0,1,-cx,-cy)},rotate:function(a,x,y){a=Ext.draw.Draw.rad(a);var me=this,cos=+Math.cos(a).toFixed(9),sin=+Math.sin(a).toFixed(9);me.add(cos,sin,-sin,cos,x,y);me.add(1,0,0,1,-x,-y)},x:function(x,y){var matrix=this.matrix;return x*matrix[0][0]+y*matrix[0][1]+matrix[0][2]},y:function(x,y){var matrix=this.matrix;return x*matrix[1][0]+y*matrix[1][1]+matrix[1][2]},get:function(i,j){return +this.matrix[i][j].toFixed(4)},toString:function(){var me=this;return[me.get(0,0),me.get(0,1),me.get(1,0),me.get(1,1),0,0].join()},toSvg:function(){var me=this;return"matrix("+[me.get(0,0),me.get(1,0),me.get(0,1),me.get(1,1),me.get(0,2),me.get(1,2)].join()+")"},toFilter:function(){var me=this;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',FilterType=bilinear,M11="+me.get(0,0)+", M12="+me.get(0,1)+", M21="+me.get(1,0)+", M22="+me.get(1,1)+", Dx="+me.get(0,2)+", Dy="+me.get(1,2)+")"},offset:function(){var matrix=this.matrix;return[(matrix[0][2]||0).toFixed(4),(matrix[1][2]||0).toFixed(4)]},split:function(){function norm(a){return a[0]*a[0]+a[1]*a[1]}function normalize(a){var mag=Math.sqrt(norm(a));a[0]/=mag;a[1]/=mag}var matrix=this.matrix,out={translateX:matrix[0][2],translateY:matrix[1][2]},row;row=[[matrix[0][0],matrix[0][1]],[matrix[1][0],matrix[1][1]]];out.scaleX=Math.sqrt(norm(row[0]));normalize(row[0]);out.shear=row[0][0]*row[1][0]+row[0][1]*row[1][1];row[1]=[row[1][0]-row[0][0]*out.shear,row[1][1]-row[0][1]*out.shear];out.scaleY=Math.sqrt(norm(row[1]));normalize(row[1]);out.shear/=out.scaleY;out.rotate=Math.asin(-row[0][1]);out.isSimple=!+out.shear.toFixed(9)&&(out.scaleX.toFixed(9)==out.scaleY.toFixed(9)||!out.rotate);return out}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(sprite,cfg){var me=this,el=sprite.el;me.sprite=sprite;me.el=el;me.dragData={el:el,sprite:sprite};me.callParent([el,cfg]);me.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(e){return this.el},getRegion:function(){var me=this,el=me.el,pos,x1,x2,y1,y2,t,r,b,l,bbox,sprite;sprite=me.sprite;bbox=sprite.getBBox();try{pos=Ext.Element.getXY(el)}catch(e){}if(!pos){return null}x1=pos[0];x2=x1+bbox.width;y1=pos[1];y2=y1+bbox.height;return Ext.create("Ext.util.Region",y1,x2,y2,x1)},startDrag:function(x,y){var me=this,attr=me.sprite.attr;me.prev=me.sprite.surface.transformToViewBox(x,y)},onDrag:function(e){var xy=e.getXY(),me=this,sprite=me.sprite,attr=sprite.attr,dx,dy;xy=me.sprite.surface.transformToViewBox(xy[0],xy[1]);dx=xy[0]-me.prev[0];dy=xy[1]-me.prev[1];sprite.setAttributes({translate:{x:attr.translation.x+dx,y:attr.translation.y+dy}},true);me.prev=xy},setDragElPos:function(){return false}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(config){var me=this;config=config||{};me.id=Ext.id(null,"ext-sprite-");me.transformations=[];Ext.copyTo(this,config,"surface,group,type,draggable");me.bbox={};me.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete config.surface;delete config.group;delete config.type;delete config.draggable;me.setAttributes(config);me.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");me.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var me=this;me.draggable=true;if(!me.el){me.surface.createSpriteElement(me)}me.dd=Ext.create("Ext.draw.SpriteDD",me,Ext.isBoolean(me.draggable)?null:me.draggable);me.on("beforedestroy",me.dd.destroy,me.dd)},setAttributes:function(attrs,redraw){var me=this,fontProps=me.fontProperties,fontPropsLength=fontProps.length,pathProps=me.pathProperties,pathPropsLength=pathProps.length,hasSurface=!!me.surface,custom=hasSurface&&me.surface.customAttributes||{},spriteAttrs=me.attr,attr,i,translate,translation,rotate,rotation,scale,scaling;attrs=Ext.apply({},attrs);for(attr in custom){if(attrs.hasOwnProperty(attr)&&typeof custom[attr]=="function"){Ext.apply(attrs,custom[attr].apply(me,[].concat(attrs[attr])))}}if(!!attrs.hidden!==!!spriteAttrs.hidden){me.dirtyHidden=true}for(i=0;i-1)&&(attrs[key] in gradientsMap)){attrs[key]=gradientsMap[attrs[key]]}if(key in parsers){el.dom.setAttribute(key,parsers[key](attrs[key],sprite,me))}else{el.dom.setAttribute(key,attrs[key])}}}if(sprite.type=="text"){me.tuneText(sprite,attrs)}style=sattr.style;if(style){el.setStyle(style)}sprite.dirty=false;if(Ext.isSafari3){me.webkitRect.show();setTimeout(function(){me.webkitRect.hide()})}},setClip:function(sprite,params){var me=this,rect=params["clip-rect"],clipEl,clipPath;if(rect){if(sprite.clip){sprite.clip.parentNode.parentNode.removeChild(sprite.clip.parentNode)}clipEl=me.createSvgElement("clipPath");clipPath=me.createSvgElement("rect");clipEl.id=Ext.id(null,"ext-clip-");clipPath.setAttribute("x",rect.x);clipPath.setAttribute("y",rect.y);clipPath.setAttribute("width",rect.width);clipPath.setAttribute("height",rect.height);clipEl.appendChild(clipPath);me.getDefs().appendChild(clipEl);sprite.el.dom.setAttribute("clip-path","url(#"+clipEl.id+")");sprite.clip=clipPath}},applyZIndex:function(sprite){var me=this,items=me.items,idx=items.indexOf(sprite),el=sprite.el,prevEl;if(me.el.dom.childNodes[idx+2]!==el.dom){if(idx>0){do{prevEl=items.getAt(--idx).el}while(!prevEl&&idx>0)}el.insertAfter(prevEl||me.bgRect)}sprite.zIndexDirty=false},createItem:function(config){var sprite=Ext.create("Ext.draw.Sprite",config);sprite.surface=this;return sprite},addGradient:function(gradient){gradient=Ext.draw.Draw.parseGradient(gradient);var me=this,ln=gradient.stops.length,vector=gradient.vector,usePlain=Ext.isSafari&&!Ext.isStrict,gradientEl,stop,stopEl,i,gradientsMap;gradientsMap=me.gradientsMap||{};if(!usePlain){if(gradient.type=="linear"){gradientEl=me.createSvgElement("linearGradient");gradientEl.setAttribute("x1",vector[0]);gradientEl.setAttribute("y1",vector[1]);gradientEl.setAttribute("x2",vector[2]);gradientEl.setAttribute("y2",vector[3])}else{gradientEl=me.createSvgElement("radialGradient");gradientEl.setAttribute("cx",gradient.centerX);gradientEl.setAttribute("cy",gradient.centerY);gradientEl.setAttribute("r",gradient.radius);if(Ext.isNumber(gradient.focalX)&&Ext.isNumber(gradient.focalY)){gradientEl.setAttribute("fx",gradient.focalX);gradientEl.setAttribute("fy",gradient.focalY)}}gradientEl.id=gradient.id;me.getDefs().appendChild(gradientEl);for(i=0;i")}vml.W=me.span.offsetWidth;vml.H=me.span.offsetHeight+2;if(params["text-anchor"]=="middle"){textStyle["v-text-align"]="center"}else{if(params["text-anchor"]=="end"){textStyle["v-text-align"]="right";vml.bbx=-Math.round(vml.W/2)}else{textStyle["v-text-align"]="left";vml.bbx=Math.round(vml.W/2)}}}vml.X=params.x;vml.Y=params.y;vml.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(vml.X*zoom),Math.round(vml.Y*zoom),Math.round(vml.X*zoom)+1);sprite.bbox.plain=null;sprite.bbox.transform=null;sprite.dirtyFont=false},setText:function(sprite,text){sprite.vml.textpath.string=Ext.htmlDecode(text)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(sprite){sprite.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(sprite){sprite.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(width,height){var me=this;width=width||me.width;height=height||me.height;me.width=width;me.height=height;if(me.el){if(width!=undefined){me.el.setWidth(width)}if(height!=undefined){me.el.setHeight(height)}me.applyViewBox();me.callParent(arguments)}},setViewBox:function(x,y,width,height){this.callParent(arguments);this.viewBox={x:x,y:y,width:width,height:height};this.applyViewBox()},applyViewBox:function(){var me=this,viewBox=me.viewBox,width=me.width,height=me.height,viewBoxX,viewBoxY,viewBoxWidth,viewBoxHeight,relativeHeight,relativeWidth,size;if(viewBox&&(width||height)){viewBoxX=viewBox.x;viewBoxY=viewBox.y;viewBoxWidth=viewBox.width;viewBoxHeight=viewBox.height;relativeHeight=height/viewBoxHeight;relativeWidth=width/viewBoxWidth;if(viewBoxWidth*relativeHeight')}}catch(e){return function(tagName){return doc.createElement("<"+tagName+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}})(),render:function(container){var me=this,doc=Ext.getDoc().dom;if(!me.el){var el=doc.createElement("div");me.el=Ext.get(el);me.el.addCls(me.baseVmlCls);me.span=doc.createElement("span");Ext.get(me.span).addCls(me.measureSpanCls);el.appendChild(me.span);me.el.setSize(me.width||10,me.height||10);container.appendChild(el);me.el.on({scope:me,mouseup:me.onMouseUp,mousedown:me.onMouseDown,mouseover:me.onMouseOver,mouseout:me.onMouseOut,mousemove:me.onMouseMove,mouseenter:me.onMouseEnter,mouseleave:me.onMouseLeave,click:me.onClick})}me.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(sprite){sprite.dirty=true;this.renderItem(sprite)},renderItem:function(sprite){if(!this.el){return}if(!sprite.el){this.createSpriteElement(sprite)}if(sprite.dirty){this.applyAttrs(sprite);if(sprite.dirtyTransform){this.applyTransformations(sprite)}}},rotationCompensation:function(deg,dx,dy){var matrix=Ext.create("Ext.draw.Matrix");matrix.rotate(-deg,0.5,0.5);return{x:matrix.x(dx,dy),y:matrix.y(dx,dy)}},extractTransform:function(sprite){var me=this,matrix=Ext.create("Ext.draw.Matrix"),scale,transformstions,tranformationsLength,transform,i=0,shift=me.viewBoxShift;for(transformstions=sprite.transformations,tranformationsLength=transformstions.length;i32767){offset[0]=32767}else{if(offset[0]<-32768){offset[0]=-32768}}if(offset[1]>32767){offset[1]=32767}else{if(offset[1]<-32768){offset[1]=-32768}}skew.offset=offset}else{if(skew){skew.matrix="1 0 0 1";skew.offset="0 0"}split=matrix.split();if(split.isSimple){domStyle.filter="";me.setSimpleCoords(sprite,split.scaleX,split.scaleY,split.translateX,split.translateY,split.rotate/Math.PI*180)}else{domStyle.filter=matrix.toFilter();var bb=me.getBBox(sprite),dx=bb.x-sprite.x,dy=bb.y-sprite.y;dom.coordorigin=(dx*-zoom)+" "+(dy*-zoom);if(fill){dom.removeChild(fill);fill.position=dx+" "+dy;fill.size=sprite.width*sprite.scale.x+" "+sprite.height*1.1;dom.appendChild(fill)}}}},createItem:function(config){return Ext.create("Ext.draw.Sprite",config)},getRegion:function(){return this.el.getRegion()},addCls:function(sprite,className){if(sprite&&sprite.el){sprite.el.addCls(className)}},removeCls:function(sprite,className){if(sprite&&sprite.el){sprite.el.removeCls(className)}},addGradient:function(gradient){var gradients=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),colors=[],stops=Ext.create("Ext.util.MixedCollection");stops.addAll(gradient.stops);stops.sortByKey("ASC",function(a,b){a=parseInt(a,10);b=parseInt(b,10);return a>b?1:(a0){if(!me.owner.isFixedWidth()){box.width=undefined}if(!me.owner.isFixedHeight()){box.height=undefined}me.setItemSize(item,box.width,box.height)}},configureItem:function(item){item.layoutManagedHeight=0;item.layoutManagedWidth=0;this.callParent(arguments)}},function(){this.prototype.renderItem=Ext.layout.container.Box.prototype.renderItem});Ext.define("Ext.layout.container.AbstractCard",{extend:"Ext.layout.container.Fit",type:"card",sizeAllCards:false,hideInactive:true,deferredRender:false,beforeLayout:function(){var me=this;me.getActiveItem();if(me.activeItem&&me.deferredRender){me.renderItems([me.activeItem],me.getRenderTarget());return true}else{return this.callParent(arguments)}},renderChildren:function(){if(!this.deferredRender){this.getActiveItem();this.callParent()}},onLayout:function(){var me=this,activeItem=me.activeItem,items=me.getVisibleItems(),ln=items.length,targetBox=me.getTargetBox(),i,item;for(i=0;i1){me.doSelect(record,keepExisting,false)}else{me.doSelect(record,false)}}}}break;case"SIMPLE":if(me.isSelected(record)){me.doDeselect(record)}else{me.doSelect(record,true)}break;case"SINGLE":if(me.allowDeselect&&me.isSelected(record)){me.doDeselect(record)}else{me.doSelect(record,false)}break}},selectRange:function(startRow,endRow,keepExisting,dir){var me=this,store=me.store,selectedCount=0,i,tmp,dontDeselect,records=[];if(me.isLocked()){return}if(!keepExisting){me.deselectAll(true)}if(!Ext.isNumber(startRow)){startRow=store.indexOf(startRow)}if(!Ext.isNumber(endRow)){endRow=store.indexOf(endRow)}if(startRow>endRow){tmp=endRow;endRow=startRow;startRow=tmp}for(i=startRow;i<=endRow;i++){if(me.isSelected(store.getAt(i))){selectedCount++}}if(!dir){dontDeselect=-1}else{dontDeselect=(dir=="up")?startRow:endRow}for(i=startRow;i<=endRow;i++){if(selectedCount==(endRow-startRow+1)){if(i!=dontDeselect){me.doDeselect(i,true)}}else{records.push(store.getAt(i))}}me.doMultiSelect(records,true)},select:function(records,keepExisting,suppressEvent){if(Ext.isDefined(records)){this.doSelect(records,keepExisting,suppressEvent)}},deselect:function(records,suppressEvent){this.doDeselect(records,suppressEvent)},doSelect:function(records,keepExisting,suppressEvent){var me=this,record;if(me.locked){return}if(typeof records==="number"){records=[me.store.getAt(records)]}if(me.selectionMode=="SINGLE"&&records){record=records.length?records[0]:records;me.doSingleSelect(record,suppressEvent)}else{me.doMultiSelect(records,keepExisting,suppressEvent)}},doMultiSelect:function(records,keepExisting,suppressEvent){var me=this,selected=me.selected,change=false,i=0,len,record;if(me.locked){return}records=!Ext.isArray(records)?[records]:records;len=records.length;if(!keepExisting&&selected.getCount()>0){if(me.doDeselect(me.getSelection(),suppressEvent)===false){return}}function commit(){selected.add(record);change=true}for(;i0&&!suppressEvent);return accepted===attempted},doSingleSelect:function(record,suppressEvent){var me=this,changed=false,selected=me.selected;if(me.locked){return}if(me.isSelected(record)){return}function commit(){me.bulkChange=true;if(selected.getCount()>0&&me.doDeselect(me.lastSelected,suppressEvent)===false){delete me.bulkChange;return false}delete me.bulkChange;selected.add(record);me.lastSelected=record;changed=true}me.onSelectChange(record,true,suppressEvent,commit);if(changed){if(!suppressEvent){me.setLastFocused(record)}me.maybeFireSelectionChange(!suppressEvent)}},setLastFocused:function(record,supressFocus){var me=this,recordBeforeLast=me.lastFocused;me.lastFocused=record;me.onLastFocusChanged(recordBeforeLast,record,supressFocus)},isFocused:function(record){return record===this.getLastFocused()},maybeFireSelectionChange:function(fireEvent){var me=this;if(fireEvent&&!me.bulkChange){me.fireEvent("selectionchange",me,me.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(selMode){selMode=selMode?selMode.toUpperCase():"SINGLE";this.selectionMode=this.modes[selMode]?selMode:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(locked){this.locked=!!locked},isSelected:function(record){record=Ext.isNumber(record)?this.store.getAt(record):record;return this.selected.indexOf(record)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var me=this,toBeSelected=[],oldSelections=me.getSelection(),len=oldSelections.length,selection,change,i=0,lastFocused=this.getLastFocused();for(;i0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(store,record){var me=this,selected=me.selected;if(me.locked||!me.pruneRemoved){return}if(selected.remove(record)){if(me.lastSelected==record){me.lastSelected=null}if(me.getLastFocused()==record){me.setLastFocused(null)}me.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(record,isSelected,suppressEvent){},onLastFocusChanged:function(oldFocused,newFocused){},onEditorKey:function(field,e){},bindComponent:function(cmp){}});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(cfg){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(view){var me=this,eventListeners={refresh:me.refresh,scope:me};me.view=view;me.bind(view.getStore());view.on(view.triggerEvent,me.onItemClick,me);view.on(view.triggerCtEvent,me.onContainerClick,me);view.on(eventListeners);if(me.enableKeyNav){me.initKeyNav(view)}},onItemClick:function(view,record,item,index,e){this.selectWithEvent(record,e)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on("render",Ext.Function.bind(me.initKeyNav,me,[view],0),me,{single:true});return}view.el.set({tabIndex:-1});me.keyNav=Ext.create("Ext.util.KeyNav",view.el,{down:Ext.pass(me.onNavKey,[1],me),right:Ext.pass(me.onNavKey,[1],me),left:Ext.pass(me.onNavKey,[-1],me),up:Ext.pass(me.onNavKey,[-1],me),scope:me})},onNavKey:function(step){step=step||1;var me=this,view=me.view,selected=me.getSelection()[0],numRecords=me.view.store.getCount(),idx;if(selected){idx=view.indexOf(view.getNode(selected))+step}else{idx=0}if(idx<0){idx=numRecords-1}else{if(idx>=numRecords){idx=0}}me.select(idx)},onSelectChange:function(record,isSelected,suppressEvent,commitFn){var me=this,view=me.view,eventName=isSelected?"select":"deselect";if((suppressEvent||me.fireEvent("before"+eventName,me,record))!==false&&commitFn()!==false){if(isSelected){view.onItemSelect(record)}else{view.onItemDeselect(record)}if(!suppressEvent){me.fireEvent(eventName,me,record)}}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.state.CookieProvider",{extend:"Ext.state.Provider",constructor:function(config){var me=this;me.path="/";me.expires=new Date(new Date().getTime()+(1000*60*60*24*7));me.domain=null;me.secure=false;me.callParent(arguments);me.state=me.readCookies()},set:function(name,value){var me=this;if(typeof value=="undefined"||value===null){me.clear(name);return}me.setCookie(name,value);me.callParent(arguments)},clear:function(name){this.clearCookie(name);this.callParent(arguments)},readCookies:function(){var cookies={},c=document.cookie+";",re=/\s?(.*?)=(.*?);/g,prefix=this.prefix,len=prefix.length,matches,name,value;while((matches=re.exec(c))!=null){name=matches[1];value=matches[2];if(name&&name.substring(0,len)==prefix){cookies[name.substr(len)]=this.decodeValue(value)}}return cookies},setCookie:function(name,value){var me=this;document.cookie=me.prefix+name+"="+me.encodeValue(value)+((me.expires==null)?"":("; expires="+me.expires.toGMTString()))+((me.path==null)?"":("; path="+me.path))+((me.domain==null)?"":("; domain="+me.domain))+((me.secure==true)?"; secure":"")},clearCookie:function(name){var me=this;document.cookie=me.prefix+name+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((me.path==null)?"":("; path="+me.path))+((me.domain==null)?"":("; domain="+me.domain))+((me.secure==true)?"; secure":"")}});Ext.define("Ext.state.LocalStorageProvider",{extend:"Ext.state.Provider",alias:"state.localstorage",constructor:function(){var me=this;me.callParent(arguments);me.store=me.getStorageObject();me.state=me.readLocalStorage()},readLocalStorage:function(){var store=this.store,i=0,len=store.length,prefix=this.prefix,prefixLen=prefix.length,data={},key;for(;i0)?e.changedTouches[0]:e;return new this(e.pageX,e.pageY)}},constructor:function(x,y){this.callParent([y,x,y,x])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(p){return(this.x==p.x&&this.y==p.y)},isWithin:function(p,threshold){if(!Ext.isObject(threshold)){threshold={x:threshold,y:threshold}}return(this.x<=p.x+threshold.x&&this.x>=p.x-threshold.x&&this.y<=p.y+threshold.y&&this.y>=p.y-threshold.y)},roundedEquals:function(p){return(Math.round(this.x)==Math.round(p.x)&&Math.round(this.y)==Math.round(p.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.LoadMask",{extend:"Ext.Component",alias:"widget.loadmask",mixins:{floating:"Ext.util.Floating"},uses:["Ext.data.StoreManager"],msg:"Loading...",msgCls:Ext.baseCSSPrefix+"mask-loading",useMsg:true,disabled:false,baseCls:Ext.baseCSSPrefix+"mask-msg",renderTpl:'
    ',modal:true,floating:{shadow:"frame"},focusOnToFront:false,constructor:function(el,config){var me=this;if(el.isComponent){me.ownerCt=el;me.bindComponent(el)}else{me.ownerCt=new Ext.Component({el:Ext.get(el),rendered:true,componentLayoutCounter:1});me.container=el}me.callParent([config]);if(me.store){me.bindStore(me.store,true)}me.renderData={msgCls:me.msgCls};me.renderSelectors={msgEl:"div"}},bindComponent:function(comp){this.mon(comp,{resize:this.onComponentResize,scope:this})},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onComponentResize:function(){var me=this;if(me.rendered&&me.isVisible()){me.toFront();me.center()}},bindStore:function(store,initial){var me=this;if(!initial&&me.store){me.mun(me.store,{scope:me,beforeload:me.onBeforeLoad,load:me.onLoad,exception:me.onLoad});if(!store){me.store=null}}if(store){store=Ext.data.StoreManager.lookup(store);me.mon(store,{scope:me,beforeload:me.onBeforeLoad,load:me.onLoad,exception:me.onLoad})}me.store=store;if(store&&store.isLoading()){me.onBeforeLoad()}},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},onBeforeLoad:function(){var me=this,owner=me.ownerCt||me.floatParent,origin;if(!this.disabled){if(owner.componentLayoutCounter){Ext.Component.prototype.show.call(me)}else{origin=owner.afterComponentLayout;owner.afterComponentLayout=function(){owner.afterComponentLayout=origin;origin.apply(owner,arguments);if(me.loading){Ext.Component.prototype.show.call(me)}}}}},onHide:function(){var me=this;me.callParent(arguments);me.showOnParentShow=true},onShow:function(){var me=this,msgEl=me.msgEl;me.callParent(arguments);me.loading=true;if(me.useMsg){msgEl.show().update(me.msg)}else{msgEl.parent().hide()}},afterShow:function(){this.callParent(arguments);this.center()},onLoad:function(){this.loading=false;Ext.Component.prototype.hide.call(this)}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",alternateClassName:"Ext.view.AbstractView",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],inheritableStatics:{getRecord:function(node){return this.getBoundView(node).getRecord(node)},getBoundView:function(node){return Ext.getCmp(node.boundView)}},deferInitialRefresh:true,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var me=this,isDef=Ext.isDefined,itemTpl=me.itemTpl,memberFn={};if(itemTpl){if(Ext.isArray(itemTpl)){itemTpl=itemTpl.join("")}else{if(Ext.isObject(itemTpl)){memberFn=Ext.apply(memberFn,itemTpl.initialConfig);itemTpl=itemTpl.html}}if(!me.itemSelector){me.itemSelector="."+me.itemCls}itemTpl=Ext.String.format('
    {1}
    ',me.itemCls,itemTpl);me.tpl=Ext.create("Ext.XTemplate",itemTpl,memberFn)}me.callParent();if(Ext.isString(me.tpl)||Ext.isArray(me.tpl)){me.tpl=Ext.create("Ext.XTemplate",me.tpl)}me.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");me.addCmpEvents();me.store=Ext.data.StoreManager.lookup(me.store||"ext-empty-store");me.all=new Ext.CompositeElementLite()},onRender:function(){var me=this,mask=me.loadMask,cfg={msg:me.loadingText,msgCls:me.loadingCls,useMsg:me.loadingUseMsg};me.callParent(arguments);if(mask){if(Ext.isObject(mask)){cfg=Ext.apply(cfg,mask)}me.loadMask=Ext.create("Ext.LoadMask",me,cfg);me.loadMask.on({scope:me,beforeshow:me.onMaskBeforeShow,hide:me.onMaskHide})}},onMaskBeforeShow:function(){var loadingHeight=this.loadingHeight;this.getSelectionModel().deselectAll();if(loadingHeight){this.setCalculatedSize(undefined,loadingHeight)}},onMaskHide:function(){var me=this;if(!me.destroying&&me.loadingHeight){me.setHeight(me.height)}},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var me=this,mode="SINGLE";if(!me.selModel){me.selModel={}}if(me.simpleSelect){mode="SIMPLE"}else{if(me.multiSelect){mode="MULTI"}}Ext.applyIf(me.selModel,{allowDeselect:me.allowDeselect,mode:mode});if(!me.selModel.events){me.selModel=Ext.create("Ext.selection.DataViewModel",me.selModel)}if(!me.selModel.hasRelaySetup){me.relayEvents(me.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);me.selModel.hasRelaySetup=true}if(me.disableSelection){me.selModel.locked=true}return me.selModel},refresh:function(){var me=this,el,records;if(!me.rendered||me.isDestroyed){return}me.fireEvent("beforerefresh",me);el=me.getTargetEl();records=me.store.getRange();el.update("");if(records.length<1){if(!me.deferEmptyText||me.hasSkippedEmptyText){el.update(me.emptyText)}me.all.clear()}else{me.tpl.overwrite(el,me.collectData(records,0));me.all.fill(Ext.query(me.getItemSelector(),el.dom));me.updateIndexes(0)}me.selModel.refresh();me.hasSkippedEmptyText=true;me.fireEvent("refresh",me);if(!me.viewReady){me.viewReady=true;me.fireEvent("viewready",me)}},prepareData:function(data,index,record){if(record){Ext.apply(data,record.getAssociatedData())}return data},collectData:function(records,startIndex){var r=[],i=0,len=records.length,record;for(;i-1){node=me.bufferRender([record],index)[0];if(me.getNode(record)){me.all.replaceElement(index,node,true);me.updateIndexes(index,index);me.selModel.refresh();me.fireEvent("itemupdate",record,index,node)}}},onAdd:function(ds,records,index){var me=this,nodes;if(me.all.getCount()===0){me.refresh();return}nodes=me.bufferRender(records,index);me.doAdd(nodes,records,index);me.selModel.refresh();me.updateIndexes(index);me.fireEvent("itemadd",records,index,nodes)},doAdd:function(nodes,records,index){var all=this.all;if(index=end&&ns[i];i--){nodes.push(ns[i])}}return nodes},indexOf:function(node){node=this.getNode(node);if(Ext.isNumber(node.viewIndex)){return node.viewIndex}return this.all.indexOf(node)},onDestroy:function(){var me=this;me.all.clear();me.callParent();me.bindStore(null);me.selModel.destroy()},onItemSelect:function(record){var node=this.getNode(record);if(node){Ext.fly(node).addCls(this.selectedItemCls)}},onItemDeselect:function(record){var node=this.getNode(record);if(node){Ext.fly(node).removeCls(this.selectedItemCls)}},getItemSelector:function(){return this.itemSelector}},function(){Ext.deprecate("extjs","4.0",function(){Ext.view.AbstractView.override({getSelectionCount:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectionCount will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection().length},getSelectedRecords:function(){if(Ext.global.console){Ext.global.console.warn("DataView: getSelectedRecords will be removed, please interact with the Ext.selection.DataViewModel")}return this.selModel.getSelection()},select:function(records,keepExisting,supressEvents){if(Ext.global.console){Ext.global.console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()")}var sm=this.getSelectionModel();return sm.select.apply(sm,arguments)},clearSelections:function(){if(Ext.global.console){Ext.global.console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()")}var sm=this.getSelectionModel();return sm.deselectAll()}})})});Ext.define("Ext.Action",{constructor:function(config){this.initialConfig=config;this.itemId=config.itemId=(config.itemId||config.id||Ext.id());this.items=[]},isAction:true,setText:function(text){this.initialConfig.text=text;this.callEach("setText",[text])},getText:function(){return this.initialConfig.text},setIconCls:function(cls){this.initialConfig.iconCls=cls;this.callEach("setIconCls",[cls])},getIconCls:function(){return this.initialConfig.iconCls},setDisabled:function(v){this.initialConfig.disabled=v;this.callEach("setDisabled",[v])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(v){this.initialConfig.hidden=v;this.callEach("setVisible",[!v])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(fn,scope){this.initialConfig.handler=fn;this.initialConfig.scope=scope;this.callEach("setHandler",[fn,scope])},each:function(fn,scope){Ext.each(this.items,fn,scope)},callEach:function(fnName,args){var items=this.items,i=0,len=items.length;for(;ime.zindex){me.shim.setStyle("z-index",me.zindex-2)}shim.show();if(shadow.isVisible()){shadowPos=shadow.el.getXY();shimStyle=shim.dom.style;shadowSize=shadow.el.getSize();if(Ext.supports.CSS3BoxShadow){shadowSize.height+=6;shadowSize.width+=4;shadowPos[0]-=2;shadowPos[1]-=4}shimStyle.left=(shadowPos[0])+"px";shimStyle.top=(shadowPos[1])+"px";shimStyle.width=(shadowSize.width)+"px";shimStyle.height=(shadowSize.height)+"px"}else{shim.setSize(w,h);shim.setLeftTop(l,t)}}}else{if(shim){shimIndex=shim.getStyle("z-index");if(shimIndex>me.zindex){me.shim.setStyle("z-index",me.zindex-2)}shim.show();shim.setSize(w,h);shim.setLeftTop(l,t)}}}return me},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var vw=Ext.Element.getViewWidth(),vh=Ext.Element.getViewHeight(),s=Ext.getDoc().getScroll(),xy=this.getXY(),x=xy[0],y=xy[1],so=this.shadowOffset,w=this.dom.offsetWidth+so,h=this.dom.offsetHeight+so,moved=false;if((x+w)>vw+s.left){x=vw-w-so;moved=true}if((y+h)>vh+s.top){y=vh-h-so;moved=true}if(x',"
     
    ","",'
    ','
    ',"
     
    ","
    ","
    "],componentLayout:"progressbar",initComponent:function(){this.callParent();this.addChildEls("bar");this.addEvents("update")},afterRender:function(){var me=this;me.textEl=me.textEl?Ext.get(me.textEl):me.el.select("."+me.baseCls+"-text");me.callParent(arguments);if(me.value){me.updateProgress(me.value,me.text)}else{me.updateText(me.text)}},updateProgress:function(value,text,animate){var me=this,newWidth;me.value=value||0;if(text){me.updateText(text)}if(me.rendered&&!me.isDestroyed){if(me.isVisible(true)){newWidth=Math.floor(me.value*me.el.getWidth(true));if(Ext.isForcedBorderBox){newWidth+=me.bar.getBorderWidth("lr")}if(animate===true||(animate!==false&&me.animate)){me.bar.stopAnimation();me.bar.animate(Ext.apply({to:{width:newWidth+"px"}},me.animate))}else{me.bar.setWidth(newWidth)}}else{me.doComponentLayout()}}me.fireEvent("update",me,me.value,text);return me},updateText:function(text){var me=this;me.text=text;if(me.rendered){me.textEl.update(me.text)}return me},applyText:function(text){this.updateText(text)},wait:function(o){var me=this;if(!me.waitTimer){scope=me;o=o||{};me.updateText(o.text);me.waitTimer=Ext.TaskManager.start({run:function(i){var inc=o.increment||10;i-=1;me.updateProgress(((((i+inc)%inc)+1)*(100/inc))*0.01,null,o.animate)},interval:o.interval||1000,duration:o.duration,onStop:function(){if(o.fn){o.fn.apply(o.scope||me)}me.reset()},scope:scope})}return me},isWaiting:function(){return this.waitTimer!==null},reset:function(hide){var me=this;me.updateProgress(0);me.clearTimer();if(hide===true){me.hide()}return me},clearTimer:function(){var me=this;if(me.waitTimer){me.waitTimer.onStop=null;Ext.TaskManager.stop(me.waitTimer);me.waitTimer=null}},onDestroy:function(){var me=this;me.clearTimer();if(me.rendered){if(me.textEl.isComposite){me.textEl.clear()}Ext.destroyMembers(me,"textEl","progressBar")}me.callParent()}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.DomHelper"],markup:function(){if(Ext.supports.CSS3BoxShadow){return''}else{if(Ext.isIE){return''}else{return''}}}(),shadows:[],pull:function(){var sh=this.shadows.shift();if(!sh){sh=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));sh.autoBoxAdjust=false}return sh},push:function(sh){this.shadows.push(sh)},reset:function(){Ext.Array.each(this.shadows,function(shadow){shadow.remove()});this.shadows=[]}});Ext.define("Ext.Shadow",{requires:["Ext.ShadowPool"],constructor:function(config){var me=this,adjusts={h:0},offset,rad;Ext.apply(me,config);if(!Ext.isString(me.mode)){me.mode=me.defaultMode}offset=me.offset;rad=Math.floor(offset/2);me.opacity=50;switch(me.mode.toLowerCase()){case"drop":if(Ext.supports.CSS3BoxShadow){adjusts.w=adjusts.h=-offset;adjusts.l=adjusts.t=offset}else{adjusts.w=0;adjusts.l=adjusts.t=offset;adjusts.t-=1;if(Ext.isIE){adjusts.l-=offset+rad;adjusts.t-=offset+rad;adjusts.w-=rad;adjusts.h-=rad;adjusts.t+=1}}break;case"sides":if(Ext.supports.CSS3BoxShadow){adjusts.h-=offset;adjusts.t=offset;adjusts.l=adjusts.w=0}else{adjusts.w=(offset*2);adjusts.l=-offset;adjusts.t=offset-1;if(Ext.isIE){adjusts.l-=(offset-rad);adjusts.t-=offset+rad;adjusts.l+=1;adjusts.w-=(offset-rad)*2;adjusts.w-=rad+1;adjusts.h-=1}}break;case"frame":if(Ext.supports.CSS3BoxShadow){adjusts.l=adjusts.w=adjusts.t=0}else{adjusts.w=adjusts.h=(offset*2);adjusts.l=adjusts.t=-offset;adjusts.t+=1;adjusts.h-=2;if(Ext.isIE){adjusts.l-=(offset-rad);adjusts.t-=(offset-rad);adjusts.l+=1;adjusts.w-=(offset+rad+1);adjusts.h-=(offset+rad);adjusts.h+=1}break}}me.adjusts=adjusts},offset:4,defaultMode:"drop",show:function(target){var me=this,index;target=Ext.get(target);if(!me.el){me.el=Ext.ShadowPool.pull();if(me.el.dom.nextSibling!=target.dom){me.el.insertBefore(target)}}index=(parseInt(target.getStyle("z-index"),10)-1)||0;me.el.setStyle("z-index",me.zIndex||index);if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){me.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+me.opacity+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+(me.offset)+")"}me.realign(target.getLeft(true),target.getTop(true),target.dom.offsetWidth,target.dom.offsetHeight);me.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(l,t,targetWidth,targetHeight){if(!this.el){return}var adjusts=this.adjusts,d=this.el.dom,targetStyle=d.style,shadowWidth,shadowHeight,cn,sww,sws,shs;targetStyle.left=(l+adjusts.l)+"px";targetStyle.top=(t+adjusts.t)+"px";shadowWidth=Math.max(targetWidth+adjusts.w,0);shadowHeight=Math.max(targetHeight+adjusts.h,0);sws=shadowWidth+"px";shs=shadowHeight+"px";if(targetStyle.width!=sws||targetStyle.height!=shs){targetStyle.width=sws;targetStyle.height=shs;if(Ext.supports.CSS3BoxShadow){targetStyle.boxShadow="0 0 "+this.offset+"px 0 #888"}else{if(!Ext.isIE){cn=d.childNodes;sww=Math.max(0,(shadowWidth-12))+"px";cn[0].childNodes[1].style.width=sww;cn[1].childNodes[1].style.width=sww;cn[2].childNodes[1].style.width=sww;cn[1].style.height=Math.max(0,(shadowHeight-12))+"px"}}}},hide:function(){var me=this;if(me.el){me.el.dom.style.display="none";Ext.ShadowPool.push(me.el);delete me.el}},setZIndex:function(z){this.zIndex=z;if(this.el){this.el.setStyle("z-index",z)}},setOpacity:function(opacity){if(this.el){if(Ext.isIE&&!Ext.supports.CSS3BoxShadow){opacity=Math.floor(opacity*100/2)/100}this.opacity=opacity;this.el.setOpacity(opacity)}}});Ext.define("Ext.button.Split",{alias:"widget.splitbutton",extend:"Ext.button.Button",alternateClassName:"Ext.SplitButton",arrowCls:"split",split:true,initComponent:function(){this.callParent();this.addEvents("arrowclick")},setArrowHandler:function(handler,scope){this.arrowHandler=handler;this.scope=scope},onClick:function(e,t){var me=this;e.preventDefault();if(!me.disabled){if(me.overMenuTrigger){me.maybeShowMenu();me.fireEvent("arrowclick",me,e);if(me.arrowHandler){me.arrowHandler.call(me.scope||me,me,e)}}else{me.doToggle();me.fireHandler()}}}});Ext.define("Ext.button.Cycle",{alias:"widget.cycle",extend:"Ext.button.Split",alternateClassName:"Ext.CycleButton",getButtonText:function(item){var me=this,text="";if(item&&me.showText===true){if(me.prependText){text+=me.prependText}text+=item.text;return text}return me.text},setActiveItem:function(item,suppressEvent){var me=this;if(!Ext.isObject(item)){item=me.menu.getComponent(item)}if(item){if(!me.rendered){me.text=me.getButtonText(item);me.iconCls=item.iconCls}else{me.setText(me.getButtonText(item));me.setIconCls(item.iconCls)}me.activeItem=item;if(!item.checked){item.setChecked(true,false)}if(me.forceIcon){me.setIconCls(me.forceIcon)}if(!suppressEvent){me.fireEvent("change",me,item)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){var me=this,checked=0,items;me.addEvents("change");if(me.changeHandler){me.on("change",me.changeHandler,me.scope||me);delete me.changeHandler}items=(me.menu.items||[]).concat(me.items||[]);me.menu=Ext.applyIf({cls:Ext.baseCSSPrefix+"cycle-menu",items:[]},me.menu);Ext.each(items,function(item,i){item=Ext.applyIf({group:me.id,itemIndex:i,checkHandler:me.checkHandler,scope:me,checked:item.checked||false},item);me.menu.items.push(item);if(item.checked){checked=i}});me.itemCount=me.menu.items.length;me.callParent(arguments);me.on("click",me.toggleSelected,me);me.setActiveItem(checked,me);if(me.width&&me.showText){me.addCls(Ext.baseCSSPrefix+"cycle-fixed-width")}},checkHandler:function(item,pressed){if(pressed){this.setActiveItem(item)}},toggleSelected:function(){var me=this,m=me.menu,checkItem;checkItem=me.activeItem.next(":not([disabled])")||m.items.getAt(0);checkItem.setChecked(true)}});Ext.define("Ext.container.ButtonGroup",{extend:"Ext.panel.Panel",alias:"widget.buttongroup",alternateClassName:"Ext.ButtonGroup",baseCls:Ext.baseCSSPrefix+"btn-group",layout:{type:"table"},defaultType:"button",frame:true,frameHeader:false,internalDefaults:{removeMode:"container",hideParent:true},initComponent:function(){var me=this,cols=me.columns;me.noTitleCls=me.baseCls+"-notitle";if(cols){me.layout=Ext.apply({},{columns:cols},me.layout)}if(!me.title){me.addCls(me.noTitleCls)}me.callParent(arguments)},afterLayout:function(){var me=this;me.callParent(arguments);if(me.layout.table&&(Ext.isIEQuirks||Ext.isIE6)&&!me.width){var t=me.getTargetEl();t.setWidth(me.layout.table.offsetWidth+t.getPadding("lr"))}if(Ext.isIE7){me.el.repaint()}},afterRender:function(){var me=this;if(me.header){delete me.header.items.items[0].flex;me.suspendLayout=true;me.header.insert(1,{xtype:"component",ui:me.ui,flex:1});me.header.insert(0,{xtype:"component",ui:me.ui,flex:1});me.suspendLayout=false}me.callParent(arguments)},onBeforeAdd:function(component){if(component.is("button")){component.ui=component.ui+"-toolbar"}this.callParent(arguments)},applyDefaults:function(c){if(!Ext.isString(c)){c=this.callParent(arguments);var d=this.internalDefaults;if(c.events){Ext.applyIf(c.initialConfig,d);Ext.apply(c,d)}else{Ext.applyIf(c,d)}}return c}});Ext.define("Ext.container.Viewport",{extend:"Ext.container.Container",alias:"widget.viewport",requires:["Ext.EventManager"],alternateClassName:"Ext.Viewport",isViewport:true,ariaRole:"application",initComponent:function(){var me=this,html=Ext.fly(document.body.parentNode),el;me.callParent(arguments);html.addCls(Ext.baseCSSPrefix+"viewport");if(me.autoScroll){html.setStyle("overflow","auto")}me.el=el=Ext.getBody();el.setHeight=Ext.emptyFn;el.setWidth=Ext.emptyFn;el.setSize=Ext.emptyFn;el.dom.scroll="no";me.allowDomMove=false;Ext.EventManager.onWindowResize(me.fireResize,me);me.renderTo=me.el;me.width=Ext.Element.getViewportWidth();me.height=Ext.Element.getViewportHeight()},fireResize:function(w,h){this.setSize(w,h)}});Ext.define("Ext.dd.DDTarget",{extend:"Ext.dd.DragDrop",constructor:function(id,sGroup,config){if(id){this.initTarget(id,sGroup,config)}},getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.define("Ext.dd.DragTracker",{uses:["Ext.util.Region"],mixins:{observable:"Ext.util.Observable"},active:false,trackOver:false,tolerance:5,autoStart:false,constructor:function(config){Ext.apply(this,config);this.addEvents("mouseover","mouseout","mousedown","mouseup","mousemove","beforedragstart","dragstart","dragend","drag");this.dragRegion=Ext.create("Ext.util.Region",0,0,0,0);if(this.el){this.initEl(this.el)}this.mixins.observable.constructor.call(this);if(this.disabled){this.disable()}},initEl:function(el){this.el=Ext.get(el);this.handle=Ext.get(this.delegate);this.delegate=this.handle?undefined:this.delegate;if(!this.handle){this.handle=this.el}this.mon(this.handle,{mousedown:this.onMouseDown,delegate:this.delegate,scope:this});if(this.trackOver||this.overCls){this.mon(this.handle,{mouseover:this.onMouseOver,mouseout:this.onMouseOut,delegate:this.delegate,scope:this})}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},destroy:function(){this.clearListeners();delete this.el},onMouseOver:function(e,target){var me=this;if(!me.disabled){if(Ext.EventManager.contains(e)||me.delegate){me.mouseIsOut=false;if(me.overCls){me.el.addCls(me.overCls)}me.fireEvent("mouseover",me,e,me.delegate?e.getTarget(me.delegate,target):me.handle)}}},onMouseOut:function(e){if(this.mouseIsDown){this.mouseIsOut=true}else{if(this.overCls){this.el.removeCls(this.overCls)}this.fireEvent("mouseout",this,e)}},onMouseDown:function(e,target){if(this.disabled||e.dragTracked){return}this.dragTarget=this.delegate?target:this.handle.dom;this.startXY=this.lastXY=e.getXY();this.startRegion=Ext.fly(this.dragTarget).getRegion();if(this.fireEvent("mousedown",this,e)===false||this.fireEvent("beforedragstart",this,e)===false||this.onBeforeStart(e)===false){return}this.mouseIsDown=true;e.dragTracked=true;if(this.preventDefault!==false){e.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=Ext.defer(this.triggerStart,this.autoStart===true?1000:this.autoStart,this,[e])}},onMouseMove:function(e,target){if(this.active&&Ext.isIE&&!e.browserEvent.button){e.preventDefault();this.onMouseUp(e);return}e.preventDefault();var xy=e.getXY(),s=this.startXY;this.lastXY=xy;if(!this.active){if(Math.max(Math.abs(s[0]-xy[0]),Math.abs(s[1]-xy[1]))>this.tolerance){this.triggerStart(e)}else{return}}if(this.fireEvent("mousemove",this,e)===false){this.onMouseUp(e)}else{this.onDrag(e);this.fireEvent("drag",this,e)}},onMouseUp:function(e){this.mouseIsDown=false;if(this.mouseIsOut){this.mouseIsOut=false;this.onMouseOut(e)}e.preventDefault();this.fireEvent("mouseup",this,e);this.endDrag(e)},endDrag:function(e){var doc=Ext.getDoc(),wasActive=this.active;doc.un("mousemove",this.onMouseMove,this);doc.un("mouseup",this.onMouseUp,this);doc.un("selectstart",this.stopSelect,this);this.clearStart();this.active=false;if(wasActive){this.onEnd(e);this.fireEvent("dragend",this,e)}delete this._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(e){this.clearStart();this.active=true;this.onStart(e);this.fireEvent("dragstart",this,e)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(e){e.stopEvent();return false},onBeforeStart:function(e){},onStart:function(xy){},onDrag:function(e){},onEnd:function(e){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getConstrainRegion:function(){if(this.constrainTo){if(this.constrainTo instanceof Ext.util.Region){return this.constrainTo}if(!this._constrainRegion){this._constrainRegion=Ext.fly(this.constrainTo).getViewRegion()}}else{if(!this._constrainRegion){this._constrainRegion=this.getDragCt().getViewRegion()}}return this._constrainRegion},getXY:function(constrain){return constrain?this.constrainModes[constrain](this,this.lastXY):this.lastXY},getOffset:function(constrain){var xy=this.getXY(constrain),s=this.startXY;return[xy[0]-s[0],xy[1]-s[1]]},constrainModes:{point:function(me,xy){var dr=me.dragRegion,constrainTo=me.getConstrainRegion();if(!constrainTo){return xy}dr.x=dr.left=dr[0]=dr.right=xy[0];dr.y=dr.top=dr[1]=dr.bottom=xy[1];dr.constrainTo(constrainTo);return[dr.left,dr.top]},dragTarget:function(me,xy){var s=me.startXY,dr=me.startRegion.copy(),constrainTo=me.getConstrainRegion(),adjust;if(!constrainTo){return xy}dr.translateBy(xy[0]-s[0],xy[1]-s[1]);if(dr.right>constrainTo.right){xy[0]+=adjust=(constrainTo.right-dr.right);dr.left+=adjust}if(dr.leftconstrainTo.bottom){xy[1]+=adjust=(constrainTo.bottom-dr.bottom);dr.top+=adjust}if(dr.top'],initComponent:function(){this.callParent();this.addEvents("success","failure")},onRender:function(){var me=this,params,vars,undef,swfId=me.getSwfId();me.renderData.swfId=swfId;me.callParent(arguments);params=Ext.apply({allowScriptAccess:"always",bgcolor:me.backgroundColor,wmode:me.wmode},me.flashParams);vars=Ext.apply({allowedDomain:document.location.hostname},me.flashVars);new swfobject.embedSWF(me.url,swfId,me.swfWidth,me.swfHeight,me.flashVersion,me.expressInstall?me.statics.EXPRESS_INSTALL_URL:undef,vars,params,me.flashAttributes,Ext.bind(me.swfCallback,me))},swfCallback:function(e){var me=this;if(e.success){me.swf=Ext.get(e.ref);me.onSuccess();me.fireEvent("success",me)}else{me.onFailure();me.fireEvent("failure",me)}},getSwfId:function(){return this.swfId||(this.swfId="extswf"+this.getAutoId())},onSuccess:function(){this.swf.setStyle("visibility","inherit")},onFailure:Ext.emptyFn,beforeDestroy:function(){var me=this,swf=me.swf;if(swf){swfobject.removeSWF(me.getSwfId());Ext.destroy(swf);delete me.swf}me.callParent()},statics:{EXPRESS_INSTALL_URL:"http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf"}});Ext.define("Ext.form.action.Action",{alternateClassName:"Ext.form.Action",submitEmptyText:true,constructor:function(config){if(config){Ext.apply(this,config)}var params=config.params;if(Ext.isString(params)){this.params=Ext.Object.fromQueryString(params)}},run:Ext.emptyFn,onFailure:function(response){this.response=response;this.failureType=Ext.form.action.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(response){this.response=response;if(!response.responseText&&!response.responseXML){return true}return(this.result=this.handleResponse(response))},getUrl:function(){return this.url||this.form.url},getMethod:function(){return(this.method||this.form.method||"POST").toUpperCase()},getParams:function(){return Ext.apply({},this.params,this.form.baseParams)},createCallback:function(){var me=this,undef,form=me.form;return{success:me.onSuccess,failure:me.onFailure,scope:me,timeout:(this.timeout*1000)||(form.timeout*1000),upload:form.fileUpload?me.onSuccess:undef}},statics:{CLIENT_INVALID:"client",SERVER_INVALID:"server",CONNECT_FAILURE:"connect",LOAD_FAILURE:"load"}});Ext.define("Ext.form.action.Submit",{extend:"Ext.form.action.Action",alternateClassName:"Ext.form.Action.Submit",alias:"formaction.submit",type:"submit",run:function(){var form=this.form;if(this.clientValidation===false||form.isValid()){this.doSubmit()}else{this.failureType=Ext.form.action.Action.CLIENT_INVALID;form.afterAction(this,false)}},doSubmit:function(){var formEl,ajaxOptions=Ext.apply(this.createCallback(),{url:this.getUrl(),method:this.getMethod(),headers:this.headers});if(this.form.hasUpload()){formEl=ajaxOptions.form=this.buildForm();ajaxOptions.isUpload=true}else{ajaxOptions.params=this.getParams()}Ext.Ajax.request(ajaxOptions);if(formEl){Ext.removeNode(formEl)}},getParams:function(){var nope=false,configParams=this.callParent(),fieldParams=this.form.getValues(nope,nope,this.submitEmptyText!==nope);return Ext.apply({},fieldParams,configParams)},buildForm:function(){var fieldsSpec=[],formSpec,formEl,basicForm=this.form,params=this.getParams(),uploadFields=[];basicForm.getFields().each(function(field){if(field.isFileUpload()){uploadFields.push(field)}});function addField(name,val){fieldsSpec.push({tag:"input",type:"hidden",name:name,value:Ext.String.htmlEncode(val)})}Ext.iterate(params,function(key,val){if(Ext.isArray(val)){Ext.each(val,function(v){addField(key,v)})}else{addField(key,val)}});formSpec={tag:"form",action:this.getUrl(),method:this.getMethod(),target:this.target||"_self",style:"display:none",cn:fieldsSpec};if(uploadFields.length){formSpec.encoding=formSpec.enctype="multipart/form-data"}formEl=Ext.DomHelper.append(Ext.getBody(),formSpec);Ext.Array.each(uploadFields,function(field){if(field.rendered){formEl.appendChild(field.extractFileInput())}});return formEl},onSuccess:function(response){var form=this.form,success=true,result=this.processResponse(response);if(result!==true&&!result.success){if(result.errors){form.markInvalid(result.errors)}this.failureType=Ext.form.action.Action.SERVER_INVALID;success=false}form.afterAction(this,success)},handleResponse:function(response){var form=this.form,errorReader=form.errorReader,rs,errors,i,len,records;if(errorReader){rs=errorReader.read(response);records=rs.records;errors=[];if(records){for(i=0,len=records.length;i','","",'','','',{compiled:true,disableFormats:true}],activeErrorsTpl:['','
      class="last">{.}
    ',"
    "],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",initLabelable:function(){this.addCls(this.formItemCls);this.addEvents("errorchange")},getFieldLabel:function(){return this.fieldLabel||""},getLabelableRenderData:function(){var me=this,labelAlign=me.labelAlign,labelCls=me.labelCls,labelClsExtra=me.labelClsExtra,labelPad=me.labelPad,labelStyle;if(labelAlign==="top"){labelStyle="margin-bottom:"+labelPad+"px;"}else{labelStyle="margin-right:"+labelPad+"px;";if(Ext.isBorderBox){labelStyle+="width:"+me.labelWidth+"px;"}}return Ext.copyTo({inputId:me.getInputId(),fieldLabel:me.getFieldLabel(),labelCls:labelClsExtra?labelCls+" "+labelClsExtra:labelCls,labelStyle:labelStyle+(me.labelStyle||""),subTplMarkup:me.getSubTplMarkup()},me,"hideLabel,hideEmptyLabel,fieldBodyCls,baseBodyCls,errorMsgCls,clearCls,labelSeparator",true)},onLabelableRender:function(){this.addChildEls("labelEl","bodyEl","errorEl")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(msg){this.activeError=msg;this.activeErrors=[msg];this.renderActiveError()},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(errors){this.activeErrors=errors;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:errors});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var me=this,activeError=me.getActiveError(),hasError=!!activeError;if(activeError!==me.lastActiveError){me.fireEvent("errorchange",me,activeError);me.lastActiveError=activeError}if(me.rendered&&!me.isDestroyed&&!me.preventMark){me.el[hasError?"addCls":"removeCls"](me.invalidCls);me.getActionEl().dom.setAttribute("aria-invalid",hasError);me.errorEl.dom.innerHTML=activeError}},setFieldDefaults:function(defaults){var me=this;Ext.iterate(defaults,function(key,val){if(!me.hasOwnProperty(key)){me[key]=val}})},getBodyNaturalWidth:function(){return this.bodyEl.getWidth()}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var me=this;me.originalValue=me.lastValue=me.value;me.suspendCheckChange++;me.setValue(me.value);me.suspendCheckChange--},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(value){var me=this;me.value=value;me.checkChange();return me},isEqual:function(value1,value2){return String(value1)===String(value2)},isEqualAsString:function(value1,value2){return String(Ext.value(value1,""))===String(Ext.value(value2,""))},getSubmitData:function(){var me=this,data=null;if(!me.disabled&&me.submitValue&&!me.isFileUpload()){data={};data[me.getName()]=""+me.getValue()}return data},getModelData:function(){var me=this,data=null;if(!me.disabled&&!me.isFileUpload()){data={};data[me.getName()]=me.getValue()}return data},reset:function(){var me=this;me.setValue(me.originalValue);me.clearInvalid();delete me.wasValid},resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var me=this,newVal=me.getValue(),oldVal=me.lastValue;if(!me.isEqual(newVal,oldVal)&&!me.isDestroyed){me.lastValue=newVal;me.fireEvent("change",me,newVal,oldVal);me.onChange(newVal,oldVal)}}},onChange:function(newVal,oldVal){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var me=this;return !me.disabled&&!me.isEqual(me.getValue(),me.originalValue)},checkDirty:function(){var me=this,isDirty=me.isDirty();if(isDirty!==me.wasDirty){me.fireEvent("dirtychange",me,isDirty);me.onDirtyChange(isDirty);me.wasDirty=isDirty}},onDirtyChange:Ext.emptyFn,getErrors:function(value){return[]},isValid:function(){var me=this;return me.disabled||Ext.isEmpty(me.getErrors())},validate:function(){var me=this,isValid=me.isValid();if(isValid!==me.wasValid){me.wasValid=isValid;me.fireEvent("validitychange",me,isValid)}return isValid},batchChanges:function(fn){try{this.suspendCheckChange++;fn()}catch(e){throw e}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.layout.component.field.Field",{alias:["layout.field"],extend:"Ext.layout.component.Component",uses:["Ext.tip.QuickTip","Ext.util.TextMetrics"],type:"field",beforeLayout:function(width,height){var me=this;return me.callParent(arguments)||(!me.owner.preventMark&&me.activeError!==me.owner.getActiveError())},onLayout:function(width,height){var me=this,owner=me.owner,labelStrategy=me.getLabelStrategy(),errorStrategy=me.getErrorStrategy(),isDefined=Ext.isDefined,isNumber=Ext.isNumber,lastSize,autoWidth,autoHeight,info,undef;lastSize=me.lastComponentSize||{};if(!isDefined(width)){width=lastSize.width;if(width<0){width=undef}}if(!isDefined(height)){height=lastSize.height;if(height<0){height=undef}}autoWidth=!isNumber(width);autoHeight=!isNumber(height);info={autoWidth:autoWidth,autoHeight:autoHeight,width:autoWidth?owner.getBodyNaturalWidth():width,height:height,setOuterWidth:false,insets:{top:0,right:0,bottom:0,left:0}};labelStrategy.prepare(owner,info);errorStrategy.prepare(owner,info);labelStrategy.adjustHorizInsets(owner,info);errorStrategy.adjustHorizInsets(owner,info);labelStrategy.layoutHoriz(owner,info);errorStrategy.layoutHoriz(owner,info);labelStrategy.adjustVertInsets(owner,info);errorStrategy.adjustVertInsets(owner,info);labelStrategy.layoutVert(owner,info);errorStrategy.layoutVert(owner,info);if(autoWidth&&autoHeight){me.setElementSize(owner.el,(info.setOuterWidth?info.width:undef),info.height)}else{me.setTargetSize((!autoWidth||info.setOuterWidth?info.width:undef),info.height)}me.sizeBody(info);me.activeError=owner.getActiveError()},onFocus:function(){this.getErrorStrategy().onFocus(this.owner)},sizeBody:function(info){var me=this,owner=me.owner,insets=info.insets,totalWidth=info.width,totalHeight=info.height,width=Ext.isNumber(totalWidth)?totalWidth-insets.left-insets.right:totalWidth,height=Ext.isNumber(totalHeight)?totalHeight-insets.top-insets.bottom:totalHeight;me.setElementSize(owner.bodyEl,width,height);me.sizeBodyContents(width,height)},sizeBodyContents:Ext.emptyFn,getLabelStrategy:function(){var me=this,strategies=me.labelStrategies,labelAlign=me.owner.labelAlign;return strategies[labelAlign]||strategies.base},getErrorStrategy:function(){var me=this,owner=me.owner,strategies=me.errorStrategies,msgTarget=owner.msgTarget;return !owner.preventMark&&Ext.isString(msgTarget)?(strategies[msgTarget]||strategies.elementId):strategies.none},labelStrategies:(function(){var applyIf=Ext.applyIf,emptyFn=Ext.emptyFn,base={prepare:function(owner,info){var cls=owner.labelCls+"-"+owner.labelAlign,labelEl=owner.labelEl;if(labelEl&&!labelEl.hasCls(cls)){labelEl.addCls(cls)}},adjustHorizInsets:emptyFn,adjustVertInsets:emptyFn,layoutHoriz:emptyFn,layoutVert:emptyFn},left=applyIf({prepare:function(owner,info){base.prepare(owner,info);if(info.autoWidth){info.width+=(!owner.labelEl?0:owner.labelWidth+owner.labelPad)}info.setOuterWidth=true},adjustHorizInsets:function(owner,info){if(owner.labelEl){info.insets.left+=owner.labelWidth+owner.labelPad}},layoutHoriz:function(owner,info){var labelEl=owner.labelEl;if(labelEl&&!owner.isLabelSized&&!Ext.isBorderBox){labelEl.setWidth(owner.labelWidth);owner.isLabelSized=true}}},base);return{base:base,top:applyIf({adjustVertInsets:function(owner,info){var labelEl=owner.labelEl;if(labelEl){info.insets.top+=Ext.util.TextMetrics.measure(labelEl,owner.fieldLabel,info.width).height+labelEl.getFrameWidth("tb")+owner.labelPad}}},base),left:left,right:left}})(),errorStrategies:(function(){function setDisplayed(el,displayed){var wasDisplayed=el.getStyle("display")!=="none";if(displayed!==wasDisplayed){el.setDisplayed(displayed)}}function setStyle(el,name,value){if(el.getStyle(name)!==value){el.setStyle(name,value)}}function showTip(owner){var tip=Ext.layout.component.field.Field.tip,target;if(tip&&tip.isVisible()){target=tip.activeTarget;if(target&&target.el===owner.getActionEl().dom){tip.toFront(true)}}}var applyIf=Ext.applyIf,emptyFn=Ext.emptyFn,base={prepare:function(owner){setDisplayed(owner.errorEl,false)},adjustHorizInsets:emptyFn,adjustVertInsets:emptyFn,layoutHoriz:emptyFn,layoutVert:emptyFn,onFocus:emptyFn};return{none:base,side:applyIf({prepare:function(owner){var errorEl=owner.errorEl;errorEl.addCls(Ext.baseCSSPrefix+"form-invalid-icon");Ext.layout.component.field.Field.initTip();errorEl.dom.setAttribute("data-errorqtip",owner.getActiveError()||"");setDisplayed(errorEl,owner.hasActiveError())},adjustHorizInsets:function(owner,info){if(owner.autoFitErrors&&owner.hasActiveError()){info.insets.right+=owner.errorEl.getWidth()}},layoutHoriz:function(owner,info){if(owner.hasActiveError()){setStyle(owner.errorEl,"left",info.width-info.insets.right+"px")}},layoutVert:function(owner,info){if(owner.hasActiveError()){setStyle(owner.errorEl,"top",info.insets.top+"px")}},onFocus:showTip},base),under:applyIf({prepare:function(owner){var errorEl=owner.errorEl,cls=Ext.baseCSSPrefix+"form-invalid-under";if(!errorEl.hasCls(cls)){errorEl.addCls(cls)}setDisplayed(errorEl,owner.hasActiveError())},adjustVertInsets:function(owner,info){if(owner.autoFitErrors){info.insets.bottom+=owner.errorEl.getHeight()}},layoutHoriz:function(owner,info){var errorEl=owner.errorEl,insets=info.insets;setStyle(errorEl,"width",info.width-insets.right-insets.left+"px");setStyle(errorEl,"marginLeft",insets.left+"px")}},base),qtip:applyIf({prepare:function(owner){setDisplayed(owner.errorEl,false);Ext.layout.component.field.Field.initTip();owner.getActionEl().dom.setAttribute("data-errorqtip",owner.getActiveError()||"")},onFocus:showTip},base),title:applyIf({prepare:function(owner){setDisplayed(owner.errorEl,false);owner.el.dom.title=owner.getActiveError()||""}},base),elementId:applyIf({prepare:function(owner){setDisplayed(owner.errorEl,false);var targetEl=Ext.fly(owner.msgTarget);if(targetEl){targetEl.dom.innerHTML=owner.getActiveError()||"";targetEl.setDisplayed(owner.hasActiveError())}}},base)}})(),statics:{initTip:function(){var tip=this.tip;if(!tip){tip=this.tip=Ext.create("Ext.tip.QuickTip",{baseCls:Ext.baseCSSPrefix+"form-invalid-tip",renderTo:Ext.getBody()});tip.tagConfig=Ext.apply({},{attribute:"errorqtip"},tip.tagConfig)}},destroyTip:function(){var tip=this.tip;if(tip){tip.destroy();delete this.tip}}}});Ext.define("Ext.form.field.VTypes",(function(){var alpha=/^[a-zA-Z_]+$/,alphanum=/^[a-zA-Z0-9_]+$/,email=/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/,url=/(((^https?)|(^ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{singleton:true,alternateClassName:"Ext.form.VTypes",email:function(v){return email.test(v)},emailText:'This field should be an e-mail address in the format "user@example.com"',emailMask:/[a-z0-9_\.\-@\+]/i,url:function(v){return url.test(v)},urlText:'This field should be a URL in the format "http://www.example.com"',alpha:function(v){return alpha.test(v)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(v){return alphanum.test(v)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}})());Ext.define("Ext.layout.component.field.Text",{extend:"Ext.layout.component.field.Field",alias:"layout.textfield",requires:["Ext.util.TextMetrics"],type:"textfield",beforeLayout:function(width,height){var me=this,owner=me.owner,lastValue=this.lastValue,value=owner.getRawValue();this.lastValue=value;return me.callParent(arguments)||(owner.grow&&value!==lastValue)},sizeBodyContents:function(width,height){var size=this.adjustForGrow(width,height);this.setElementSize(this.owner.inputEl,size[0],size[1])},adjustForGrow:function(width,height){var me=this,owner=me.owner,inputEl,value,calcWidth,result=[width,height];if(owner.grow){inputEl=owner.inputEl;value=(inputEl.dom.value||(owner.hasFocus?"":owner.emptyText)||"")+owner.growAppend;calcWidth=inputEl.getTextWidth(value)+inputEl.getBorderWidth("lr")+inputEl.getPadding("lr");result[0]=Ext.Number.constrain(calcWidth,owner.growMin,Math.max(owner.growMin,Math.min(owner.growMax,Ext.isNumber(width)?width:Infinity)))}return result}});Ext.define("Ext.layout.component.field.TextArea",{extend:"Ext.layout.component.field.Text",alias:"layout.textareafield",type:"textareafield",adjustForGrow:function(width,height){var me=this,owner=me.owner,inputEl,value,max,curWidth,curHeight,calcHeight,result=[width,height];if(owner.grow){inputEl=owner.inputEl;curWidth=inputEl.getWidth(true);curHeight=inputEl.getHeight();value=inputEl.dom.value||" ";value+=owner.growAppend;value=value.replace(/\n/g,"
    ");calcHeight=Ext.util.TextMetrics.measure(inputEl,value,curWidth).height+inputEl.getBorderWidth("tb")+inputEl.getPadding("tb");max=owner.growMax;if(Ext.isNumber(height)){max=Math.min(max,height)}result[1]=Ext.Number.constrain(calcHeight,owner.growMin,max)}return result}});Ext.define("Ext.layout.container.Anchor",{alias:"layout.anchor",extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.AnchorLayout",type:"anchor",defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,onLayout:function(){this.callParent(arguments);var me=this,size=me.getLayoutTargetSize(),owner=me.owner,target=me.getTarget(),ownerWidth=size.width,ownerHeight=size.height,overflow=target.getStyle("overflow"),components=me.getVisibleItems(owner),len=components.length,boxes=[],box,newTargetSize,component,anchorSpec,calcWidth,calcHeight,i,el,cleaner;if(ownerWidth<20&&ownerHeight<20){return}if(!me.clearEl){me.clearEl=target.createChild({cls:Ext.baseCSSPrefix+"clear",role:"presentation"})}if(!Ext.supports.RightMargin){cleaner=Ext.Element.getRightMarginFixCleaner(target);target.addCls(Ext.baseCSSPrefix+"inline-children")}for(i=0;iname="{name}" ','size="{size}" ','tabIndex="{tabIdx}" ','class="{fieldCls} {typeCls}" autocomplete="off" />',{compiled:true,disableFormats:true}],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:Ext.baseCSSPrefix+"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var me=this;me.callParent();me.subTplData=me.subTplData||{};me.addEvents("focus","blur","specialkey");me.initLabelable();me.initField();if(!me.name){me.name=me.getInputId()}},getInputId:function(){return this.inputId||(this.inputId=Ext.id())},getSubTplData:function(){var me=this,type=me.inputType,inputId=me.getInputId();return Ext.applyIf(me.subTplData,{id:inputId,cmpId:me.id,name:me.name||inputId,type:type,size:me.size||20,cls:me.cls,fieldCls:me.fieldCls,tabIdx:me.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(type==="password"?"text":type)})},afterRender:function(){this.callParent();if(this.inputEl){this.inputEl.selectable()}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var me=this;if(!me.hasOwnProperty("renderTpl")){me.renderTpl=me.getTpl("labelableRenderTpl")}return me.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(style){var me=this,inputEl=me.inputEl;if(inputEl){inputEl.applyStyles(style)}me.fieldStyle=style},onRender:function(){var me=this,fieldStyle=me.fieldStyle;me.onLabelableRender();me.addChildEls({name:"inputEl",id:me.getInputId()});me.callParent(arguments);me.setRawValue(me.rawValue);if(me.readOnly){me.setReadOnly(true)}if(me.disabled){me.disable()}if(fieldStyle){me.setFieldStyle(fieldStyle)}me.renderActiveError()},initAria:function(){var me=this;me.callParent();me.getActionEl().dom.setAttribute("aria-describedby",Ext.id(me.errorEl))},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var me=this,fileInput=me.isFileUpload()?me.inputEl.dom:null,clone;if(fileInput){clone=fileInput.cloneNode(true);fileInput.parentNode.replaceChild(clone,fileInput);me.inputEl=Ext.get(clone)}return fileInput},getSubmitData:function(){var me=this,data=null,val;if(!me.disabled&&me.submitValue&&!me.isFileUpload()){val=me.getSubmitValue();if(val!==null){data={};data[me.getName()]=val}}return data},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var me=this,v=(me.inputEl?me.inputEl.getValue():Ext.value(me.rawValue,""));me.rawValue=v;return v},setRawValue:function(value){var me=this;value=Ext.value(value,"");me.rawValue=value;if(me.inputEl){me.inputEl.dom.value=value}return value},valueToRaw:function(value){return""+Ext.value(value,"")},rawToValue:function(rawValue){return rawValue},processRawValue:function(value){return value},getValue:function(){var me=this,val=me.rawToValue(me.processRawValue(me.getRawValue()));me.value=val;return val},setValue:function(value){var me=this;me.setRawValue(me.valueToRaw(value));return me.mixins.field.setValue.call(me,value)},onDisable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=true}},onEnable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=false}},setReadOnly:function(readOnly){var me=this,inputEl=me.inputEl;if(inputEl){inputEl.dom.readOnly=readOnly;inputEl.dom.setAttribute("aria-readonly",readOnly)}me[readOnly?"addCls":"removeCls"](me.readOnlyCls);me.readOnly=readOnly},fireKey:function(e){if(e.isSpecialKey()){this.fireEvent("specialkey",this,Ext.create("Ext.EventObjectImpl",e))}},initEvents:function(){var me=this,inputEl=me.inputEl,onChangeTask,onChangeEvent;if(inputEl){me.mon(inputEl,Ext.EventManager.getKeyEvent(),me.fireKey,me);me.mon(inputEl,"focus",me.onFocus,me);me.mon(inputEl,"blur",me.onBlur,me,me.inEditor?{buffer:10}:null);onChangeTask=Ext.create("Ext.util.DelayedTask",me.checkChange,me);me.onChangeEvent=onChangeEvent=function(){onChangeTask.delay(me.checkChangeBuffer)};Ext.each(me.checkChangeEvents,function(eventName){if(eventName==="propertychange"){me.usesPropertychange=true}me.mon(inputEl,eventName,onChangeEvent)},me)}me.callParent()},doComponentLayout:function(){var me=this,inputEl=me.inputEl,usesPropertychange=me.usesPropertychange,ename="propertychange",onChangeEvent=me.onChangeEvent;if(usesPropertychange){me.mun(inputEl,ename,onChangeEvent)}me.callParent(arguments);if(usesPropertychange){me.mon(inputEl,ename,onChangeEvent)}},preFocus:Ext.emptyFn,onFocus:function(){var me=this,focusCls=me.focusCls,inputEl=me.inputEl;me.preFocus();if(focusCls&&inputEl){inputEl.addCls(focusCls)}if(!me.hasFocus){me.hasFocus=true;me.componentLayout.onFocus();me.fireEvent("focus",me)}},beforeBlur:Ext.emptyFn,onBlur:function(){var me=this,focusCls=me.focusCls,inputEl=me.inputEl;if(me.destroying){return}me.beforeBlur();if(focusCls&&inputEl){inputEl.removeCls(focusCls)}if(me.validateOnBlur){me.validate()}me.hasFocus=false;me.fireEvent("blur",me);me.postBlur()},postBlur:Ext.emptyFn,onDirtyChange:function(isDirty){this[isDirty?"addCls":"removeCls"](this.dirtyCls)},isValid:function(){var me=this;return me.disabled||me.validateValue(me.processRawValue(me.getRawValue()))},validateValue:function(value){var me=this,errors=me.getErrors(value),isValid=Ext.isEmpty(errors);if(!me.preventMark){if(isValid){me.clearInvalid()}else{me.markInvalid(errors)}}return isValid},markInvalid:function(errors){var me=this,oldMsg=me.getActiveError();me.setActiveErrors(Ext.Array.from(errors));if(oldMsg!==me.getActiveError()){me.doComponentLayout()}},clearInvalid:function(){var me=this,hadError=me.hasActiveError();me.unsetActiveError();if(hadError){me.doComponentLayout()}},renderActiveError:function(){var me=this,hasError=me.hasActiveError();if(me.inputEl){me.inputEl[hasError?"addCls":"removeCls"](me.invalidCls+"-field")}me.mixins.labelable.renderActiveError.call(me)},getActionEl:function(){return this.inputEl||this.el}});Ext.define("Ext.form.field.Text",{extend:"Ext.form.field.Base",alias:"widget.textfield",requires:["Ext.form.field.VTypes","Ext.layout.component.field.Text"],alternateClassName:["Ext.form.TextField","Ext.form.Text"],size:20,growMin:30,growMax:800,growAppend:"W",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}",blankText:"This field is required",regexText:"",emptyCls:Ext.baseCSSPrefix+"form-empty-field",ariaRole:"textbox",componentLayout:"textfield",initComponent:function(){this.callParent();this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){var me=this,el=me.inputEl;me.callParent();if(me.selectOnFocus||me.emptyText){me.mon(el,"mousedown",me.onMouseDown,me)}if(me.maskRe||(me.vtype&&me.disableKeyFilter!==true&&(me.maskRe=Ext.form.field.VTypes[me.vtype+"Mask"]))){me.mon(el,"keypress",me.filterKeys,me)}if(me.enableKeyEvents){me.mon(el,{scope:me,keyup:me.onKeyUp,keydown:me.onKeyDown,keypress:me.onKeyPress})}},isEqual:function(value1,value2){return this.isEqualAsString(value1,value2)},onChange:function(){this.callParent();this.autoSize()},afterRender:function(){var me=this;if(me.enforceMaxLength){me.inputEl.dom.maxLength=me.maxLength}me.applyEmptyText();me.autoSize();me.callParent()},onMouseDown:function(e){var me=this;if(!me.hasFocus){me.mon(me.inputEl,"mouseup",Ext.emptyFn,me,{single:true,preventDefault:true})}},processRawValue:function(value){var me=this,stripRe=me.stripCharsRe,newValue;if(stripRe){newValue=value.replace(stripRe,"");if(newValue!==value){me.setRawValue(newValue);value=newValue}}return value},onDisable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable="on"}},onEnable:function(){this.callParent();if(Ext.isIE){this.inputEl.dom.unselectable=""}},onKeyDown:function(e){this.fireEvent("keydown",this,e)},onKeyUp:function(e){this.fireEvent("keyup",this,e)},onKeyPress:function(e){this.fireEvent("keypress",this,e)},reset:function(){this.callParent();this.applyEmptyText()},applyEmptyText:function(){var me=this,emptyText=me.emptyText,isEmpty;if(me.rendered&&emptyText){isEmpty=me.getRawValue().length<1&&!me.hasFocus;if(Ext.supports.Placeholder){me.inputEl.dom.placeholder=emptyText}else{if(isEmpty){me.setRawValue(emptyText)}}if(isEmpty){me.inputEl.addCls(me.emptyCls)}me.autoSize()}},preFocus:function(){var me=this,inputEl=me.inputEl,emptyText=me.emptyText,isEmpty;if(emptyText&&!Ext.supports.Placeholder&&inputEl.dom.value===emptyText){me.setRawValue("");isEmpty=true;inputEl.removeCls(me.emptyCls)}else{if(Ext.supports.Placeholder){me.inputEl.removeCls(me.emptyCls)}}if(me.selectOnFocus||isEmpty){inputEl.dom.select()}},onFocus:function(){var me=this;me.callParent(arguments);if(me.emptyText){me.autoSize()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(e){if(e.ctrlKey&&!e.altKey){return}var key=e.getKey(),charCode=String.fromCharCode(e.getCharCode());if(Ext.isGecko&&(e.isNavKeyPress()||key===e.BACKSPACE||(key===e.DELETE&&e.button===-1))){return}if(!Ext.isGecko&&e.isSpecialKey()&&!charCode){return}if(!this.maskRe.test(charCode)){e.stopEvent()}},getRawValue:function(){var me=this,v=me.callParent();if(v===me.emptyText){v=""}return v},setValue:function(value){var me=this,inputEl=me.inputEl;if(inputEl&&me.emptyText&&!Ext.isEmpty(value)){inputEl.removeCls(me.emptyCls)}me.callParent(arguments);me.applyEmptyText();return me},getErrors:function(value){var me=this,errors=me.callParent(arguments),validator=me.validator,emptyText=me.emptyText,allowBlank=me.allowBlank,vtype=me.vtype,vtypes=Ext.form.field.VTypes,regex=me.regex,format=Ext.String.format,msg;value=value||me.processRawValue(me.getRawValue());if(Ext.isFunction(validator)){msg=validator.call(me,value);if(msg!==true){errors.push(msg)}}if(value.length<1||value===emptyText){if(!allowBlank){errors.push(me.blankText)}return errors}if(value.lengthme.maxLength){errors.push(format(me.maxLengthText,me.maxLength))}if(vtype){if(!vtypes[vtype](value,me)){errors.push(me.vtypeText||vtypes[vtype+"Text"])}}if(regex&&!regex.test(value)){errors.push(me.regexText||me.invalidText)}return errors},selectText:function(start,end){var me=this,v=me.getRawValue(),doFocus=true,el=me.inputEl.dom,undef,range;if(v.length>0){start=start===undef?0:start;end=end===undef?v.length:end;if(el.setSelectionRange){el.setSelectionRange(start,end)}else{if(el.createTextRange){range=el.createTextRange();range.moveStart("character",start);range.moveEnd("character",end-v.length);range.select()}}doFocus=Ext.isGecko||Ext.isOpera}if(doFocus){me.focus()}},autoSize:function(){var me=this,width;if(me.grow&&me.rendered){me.doComponentLayout();width=me.inputEl.getWidth();if(width!==me.lastInputWidth){me.fireEvent("autosize",width);me.lastInputWidth=width}}},initAria:function(){this.callParent();this.getActionEl().dom.setAttribute("aria-required",this.allowBlank===false)},getBodyNaturalWidth:function(){return Math.round(this.size*6.5)+20}});Ext.define("Ext.form.field.TextArea",{extend:"Ext.form.field.Text",alias:["widget.textareafield","widget.textarea"],alternateClassName:"Ext.form.TextArea",requires:["Ext.XTemplate","Ext.layout.component.field.TextArea"],fieldSubTpl:['",{compiled:true,disableFormats:true}],growMin:60,growMax:1000,growAppend:"\n-",cols:20,rows:4,enterIsSpecial:false,preventScrollbars:false,componentLayout:"textareafield",onRender:function(ct,position){var me=this;Ext.applyIf(me.subTplData,{cols:me.cols,rows:me.rows});me.callParent(arguments)},afterRender:function(){var me=this;me.callParent(arguments);if(me.grow){if(me.preventScrollbars){me.inputEl.setStyle("overflow","hidden")}me.inputEl.setHeight(me.growMin)}},fireKey:function(e){if(e.isSpecialKey()&&(this.enterIsSpecial||(e.getKey()!==e.ENTER||e.hasModifier()))){this.fireEvent("specialkey",this,e)}},autoSize:function(){var me=this,height;if(me.grow&&me.rendered){me.doComponentLayout();height=me.inputEl.getHeight();if(height!==me.lastInputHeight){me.fireEvent("autosize",height);me.lastInputHeight=height}}},initAria:function(){this.callParent(arguments);this.getActionEl().dom.setAttribute("aria-multiline",true)},getBodyNaturalWidth:function(){return Math.round(this.cols*6.5)+20}});Ext.define("Ext.window.MessageBox",{extend:"Ext.window.Window",requires:["Ext.toolbar.Toolbar","Ext.form.field.Text","Ext.form.field.TextArea","Ext.button.Button","Ext.layout.container.Anchor","Ext.layout.container.HBox","Ext.ProgressBar"],alias:"widget.messagebox",OK:1,YES:2,NO:4,CANCEL:8,OKCANCEL:9,YESNO:6,YESNOCANCEL:14,INFO:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",hideMode:"offsets",closeAction:"hide",resizable:false,title:" ",width:600,height:500,minWidth:250,maxWidth:600,minHeight:110,maxHeight:500,constrain:true,cls:Ext.baseCSSPrefix+"message-box",layout:{type:"anchor"},defaultTextHeight:75,minProgressWidth:250,minPromptWidth:250,buttonText:{ok:"OK",yes:"Yes",no:"No",cancel:"Cancel"},buttonIds:["ok","yes","no","cancel"],titleText:{confirm:"Confirm",prompt:"Prompt",wait:"Loading...",alert:"Attention"},iconHeight:35,makeButton:function(btnIdx){var btnId=this.buttonIds[btnIdx];return Ext.create("Ext.button.Button",{handler:this.btnCallback,itemId:btnId,scope:this,text:this.buttonText[btnId],minWidth:75})},btnCallback:function(btn){var me=this,value,field;if(me.cfg.prompt||me.cfg.multiline){if(me.cfg.multiline){field=me.textArea}else{field=me.textField}value=field.getValue();field.reset()}btn.blur();me.hide();me.userCallback(btn.itemId,value,me.cfg)},hide:function(){var me=this;me.dd.endDrag();me.progressBar.reset();me.removeCls(me.cfg.cls);me.callParent()},initComponent:function(){var me=this,i,button;me.title=" ";me.topContainer=Ext.create("Ext.container.Container",{anchor:"100%",style:{padding:"10px",overflow:"hidden"},items:[me.iconComponent=Ext.create("Ext.Component",{cls:"ext-mb-icon",width:50,height:me.iconHeight,style:{"float":"left"}}),me.promptContainer=Ext.create("Ext.container.Container",{layout:{type:"anchor"},items:[me.msg=Ext.create("Ext.Component",{autoEl:{tag:"span"},cls:"ext-mb-text"}),me.textField=Ext.create("Ext.form.field.Text",{anchor:"100%",enableKeyEvents:true,listeners:{keydown:me.onPromptKey,scope:me}}),me.textArea=Ext.create("Ext.form.field.TextArea",{anchor:"100%",height:75})]})]});me.progressBar=Ext.create("Ext.ProgressBar",{anchor:"-10",style:"margin-left:10px"});me.items=[me.topContainer,me.progressBar];me.msgButtons=[];for(i=0;i<4;i++){button=me.makeButton(i);me.msgButtons[button.itemId]=button;me.msgButtons.push(button)}me.bottomTb=Ext.create("Ext.toolbar.Toolbar",{ui:"footer",dock:"bottom",layout:{pack:"center"},items:[me.msgButtons[0],me.msgButtons[1],me.msgButtons[2],me.msgButtons[3]]});me.dockedItems=[me.bottomTb];me.callParent()},onPromptKey:function(textField,e){var me=this,blur;if(e.keyCode===Ext.EventObject.RETURN||e.keyCode===10){if(me.msgButtons.ok.isVisible()){blur=true;me.msgButtons.ok.handler.call(me,me.msgButtons.ok)}else{if(me.msgButtons.yes.isVisible()){me.msgButtons.yes.handler.call(me,me.msgButtons.yes);blur=true}}if(blur){me.textField.blur()}}},reconfigure:function(cfg){var me=this,buttons=cfg.buttons||0,hideToolbar=true,initialWidth=me.maxWidth,i;cfg=cfg||{};me.cfg=cfg;if(cfg.width){initialWidth=cfg.width}delete me.defaultFocus;me.animateTarget=cfg.animateTarget||undefined;me.modal=cfg.modal!==false;if(cfg.title){me.setTitle(cfg.title||" ")}if(!me.rendered){me.width=initialWidth;me.render(Ext.getBody())}else{me.setSize(initialWidth,me.maxHeight)}me.setPosition(-10000,-10000);me.closable=cfg.closable&&!cfg.wait;me.header.child("[type=close]").setVisible(cfg.closable!==false);if(!cfg.title&&!me.closable){me.header.hide()}else{me.header.show()}me.liveDrag=!cfg.proxyDrag;me.userCallback=Ext.Function.bind(cfg.callback||cfg.fn||Ext.emptyFn,cfg.scope||Ext.global);me.setIcon(cfg.icon);if(cfg.msg){me.msg.update(cfg.msg);me.msg.show()}else{me.msg.hide()}if(cfg.prompt||cfg.multiline){me.multiline=cfg.multiline;if(cfg.multiline){me.textArea.setValue(cfg.value);me.textArea.setHeight(cfg.defaultTextHeight||me.defaultTextHeight);me.textArea.show();me.textField.hide();me.defaultFocus=me.textArea}else{me.textField.setValue(cfg.value);me.textArea.hide();me.textField.show();me.defaultFocus=me.textField}}else{me.textArea.hide();me.textField.hide()}if(cfg.progress||cfg.wait){me.progressBar.show();me.updateProgress(0,cfg.progressText);if(cfg.wait===true){me.progressBar.wait(cfg.waitConfig)}}else{me.progressBar.hide()}for(i=0;i<4;i++){if(buttons&Math.pow(2,i)){if(!me.defaultFocus){me.defaultFocus=me.msgButtons[i]}me.msgButtons[i].show();hideToolbar=false}else{me.msgButtons[i].hide()}}if(hideToolbar){me.bottomTb.hide()}else{me.bottomTb.show()}},show:function(cfg){var me=this;me.reconfigure(cfg);me.addCls(cfg.cls);if(cfg.animateTarget){me.doAutoSize(true);me.callParent()}else{me.callParent();me.doAutoSize(true)}return me},afterShow:function(){if(this.animateTarget){this.center()}this.callParent(arguments)},doAutoSize:function(center){var me=this,icon=me.iconComponent,iconHeight=me.iconHeight;if(!Ext.isDefined(me.frameWidth)){me.frameWidth=me.el.getWidth()-me.body.getWidth()}icon.setHeight(iconHeight);me.minWidth=me.cfg.minWidth||Ext.getClass(this).prototype.minWidth;me.topContainer.doLayout();if(Ext.isIE6||Ext.isIEQuirks){me.textField.setCalculatedSize(9);me.textArea.setCalculatedSize(9)}var width=me.cfg.width||me.msg.getWidth()+icon.getWidth()+25,height=(me.header.rendered?me.header.getHeight():0)+Math.max(me.promptContainer.getHeight(),icon.getHeight())+me.progressBar.getHeight()+(me.bottomTb.rendered?me.bottomTb.getHeight():0)+20;icon.setHeight(Math.max(iconHeight,me.msg.getHeight()));me.setSize(width+me.frameWidth,height+me.frameWidth);if(center){me.center()}return me},updateText:function(text){this.msg.update(text);return this.doAutoSize(true)},setIcon:function(icon){var me=this;me.iconComponent.removeCls(me.iconCls);if(icon){me.iconComponent.show();me.iconComponent.addCls(Ext.baseCSSPrefix+"dlg-icon");me.iconComponent.addCls(me.iconCls=icon)}else{me.iconComponent.removeCls(Ext.baseCSSPrefix+"dlg-icon");me.iconComponent.hide()}return me},updateProgress:function(value,progressText,msg){this.progressBar.updateProgress(value,progressText);if(msg){this.updateText(msg)}return this},onEsc:function(){if(this.closable!==false){this.callParent(arguments)}},confirm:function(cfg,msg,fn,scope){if(Ext.isString(cfg)){cfg={title:cfg,icon:"ext-mb-question",msg:msg,buttons:this.YESNO,callback:fn,scope:scope}}return this.show(cfg)},prompt:function(cfg,msg,fn,scope,multiline,value){if(Ext.isString(cfg)){cfg={prompt:true,title:cfg,minWidth:this.minPromptWidth,msg:msg,buttons:this.OKCANCEL,callback:fn,scope:scope,multiline:multiline,value:value}}return this.show(cfg)},wait:function(cfg,title,config){if(Ext.isString(cfg)){cfg={title:title,msg:cfg,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:config}}return this.show(cfg)},alert:function(cfg,msg,fn,scope){if(Ext.isString(cfg)){cfg={title:cfg,msg:msg,buttons:this.OK,fn:fn,scope:scope,minWidth:this.minWidth}}return this.show(cfg)},progress:function(cfg,msg,progressText){if(Ext.isString(cfg)){cfg={title:cfg,msg:msg,progress:true,progressText:progressText}}return this.show(cfg)}},function(){Ext.MessageBox=Ext.Msg=new this()});Ext.define("Ext.form.Basic",{extend:"Ext.util.Observable",alternateClassName:"Ext.form.BasicForm",requires:["Ext.util.MixedCollection","Ext.form.action.Load","Ext.form.action.Submit","Ext.window.MessageBox","Ext.data.Errors","Ext.util.DelayedTask"],constructor:function(owner,config){var me=this,onItemAddOrRemove=me.onItemAddOrRemove;me.owner=owner;me.mon(owner,{add:onItemAddOrRemove,remove:onItemAddOrRemove,scope:me});Ext.apply(me,config);if(Ext.isString(me.paramOrder)){me.paramOrder=me.paramOrder.split(/[\s,|]/)}me.checkValidityTask=Ext.create("Ext.util.DelayedTask",me.checkValidity,me);me.addEvents("beforeaction","actionfailed","actioncomplete","validitychange","dirtychange");me.callParent()},initialize:function(){this.initialized=true;this.onValidityChange(!this.hasInvalidField())},timeout:30,paramsAsHash:false,waitTitle:"Please Wait...",trackResetOnLoad:false,wasDirty:false,destroy:function(){this.clearListeners();this.checkValidityTask.cancel()},onItemAddOrRemove:function(parent,child){var me=this,isAdding=!!child.ownerCt,isContainer=child.isContainer;function handleField(field){me[isAdding?"mon":"mun"](field,{validitychange:me.checkValidity,dirtychange:me.checkDirty,scope:me,buffer:100});delete me._fields}if(child.isFormField){handleField(child)}else{if(isContainer){if(child.isDestroyed){delete me._fields}else{Ext.Array.forEach(child.query("[isFormField]"),handleField)}}}delete this._boundItems;if(me.initialized){me.checkValidityTask.delay(10)}},getFields:function(){var fields=this._fields;if(!fields){fields=this._fields=Ext.create("Ext.util.MixedCollection");fields.addAll(this.owner.query("[isFormField]"))}return fields},getBoundItems:function(){var boundItems=this._boundItems;if(!boundItems||boundItems.getCount()===0){boundItems=this._boundItems=Ext.create("Ext.util.MixedCollection");boundItems.addAll(this.owner.query("[formBind]"))}return boundItems},hasInvalidField:function(){return !!this.getFields().findBy(function(field){var preventMark=field.preventMark,isValid;field.preventMark=true;isValid=field.isValid();field.preventMark=preventMark;return !isValid})},isValid:function(){var me=this,invalid;me.batchLayouts(function(){invalid=me.getFields().filterBy(function(field){return !field.validate()})});return invalid.length<1},checkValidity:function(){var me=this,valid=!me.hasInvalidField();if(valid!==me.wasValid){me.onValidityChange(valid);me.fireEvent("validitychange",me,valid);me.wasValid=valid}},onValidityChange:function(valid){var boundItems=this.getBoundItems();if(boundItems){boundItems.each(function(cmp){if(cmp.disabled===valid){cmp.setDisabled(!valid)}})}},isDirty:function(){return !!this.getFields().findBy(function(f){return f.isDirty()})},checkDirty:function(){var dirty=this.isDirty();if(dirty!==this.wasDirty){this.fireEvent("dirtychange",this,dirty);this.wasDirty=dirty}},hasUpload:function(){return !!this.getFields().findBy(function(f){return f.isFileUpload()})},doAction:function(action,options){if(Ext.isString(action)){action=Ext.ClassManager.instantiateByAlias("formaction."+action,Ext.apply({},options,{form:this}))}if(this.fireEvent("beforeaction",this,action)!==false){this.beforeAction(action);Ext.defer(action.run,100,action)}return this},submit:function(options){return this.doAction(this.standardSubmit?"standardsubmit":this.api?"directsubmit":"submit",options)},load:function(options){return this.doAction(this.api?"directload":"load",options)},updateRecord:function(record){var fields=record.fields,values=this.getFieldValues(),name,obj={};fields.each(function(f){name=f.name;if(name in values){obj[name]=values[name]}});record.beginEdit();record.set(obj);record.endEdit();return this},loadRecord:function(record){this._record=record;return this.setValues(record.data)},getRecord:function(){return this._record},beforeAction:function(action){var waitMsg=action.waitMsg,maskCls=Ext.baseCSSPrefix+"mask-loading",waitMsgTarget;this.getFields().each(function(f){if(f.isFormField&&f.syncValue){f.syncValue()}});if(waitMsg){waitMsgTarget=this.waitMsgTarget;if(waitMsgTarget===true){this.owner.el.mask(waitMsg,maskCls)}else{if(waitMsgTarget){waitMsgTarget=this.waitMsgTarget=Ext.get(waitMsgTarget);waitMsgTarget.mask(waitMsg,maskCls)}else{Ext.MessageBox.wait(waitMsg,action.waitTitle||this.waitTitle)}}}},afterAction:function(action,success){if(action.waitMsg){var MessageBox=Ext.MessageBox,waitMsgTarget=this.waitMsgTarget;if(waitMsgTarget===true){this.owner.el.unmask()}else{if(waitMsgTarget){waitMsgTarget.unmask()}else{MessageBox.updateProgress(1);MessageBox.hide()}}}if(success){if(action.reset){this.reset()}Ext.callback(action.success,action.scope||action,[this,action]);this.fireEvent("actioncomplete",this,action)}else{Ext.callback(action.failure,action.scope||action,[this,action]);this.fireEvent("actionfailed",this,action)}},findField:function(id){return this.getFields().findBy(function(f){return f.id===id||f.getName()===id})},markInvalid:function(errors){var me=this;function mark(fieldId,msg){var field=me.findField(fieldId);if(field){field.markInvalid(msg)}}if(Ext.isArray(errors)){Ext.each(errors,function(err){mark(err.id,err.msg)})}else{if(errors instanceof Ext.data.Errors){errors.each(function(err){mark(err.field,err.message)})}else{Ext.iterate(errors,mark)}}return this},setValues:function(values){var me=this;function setVal(fieldId,val){var field=me.findField(fieldId);if(field){field.setValue(val);if(me.trackResetOnLoad){field.resetOriginalValue()}}}if(Ext.isArray(values)){Ext.each(values,function(val){setVal(val.id,val.value)})}else{Ext.iterate(values,setVal)}return this},getValues:function(asString,dirtyOnly,includeEmptyText,useDataValues){var values={};this.getFields().each(function(field){if(!dirtyOnly||field.isDirty()){var data=field[useDataValues?"getModelData":"getSubmitData"](includeEmptyText);if(Ext.isObject(data)){Ext.iterate(data,function(name,val){if(includeEmptyText&&val===""){val=field.emptyText||""}if(name in values){var bucket=values[name],isArray=Ext.isArray;if(!isArray(bucket)){bucket=values[name]=[bucket]}if(isArray(val)){values[name]=bucket.concat(val)}else{bucket.push(val)}}else{values[name]=val}})}}});if(asString){values=Ext.Object.toQueryString(values)}return values},getFieldValues:function(dirtyOnly){return this.getValues(false,dirtyOnly,false,true)},clearInvalid:function(){var me=this;me.batchLayouts(function(){me.getFields().each(function(f){f.clearInvalid()})});return me},reset:function(){var me=this;me.batchLayouts(function(){me.getFields().each(function(f){f.reset()})});return me},applyToFields:function(obj){this.getFields().each(function(f){Ext.apply(f,obj)});return this},applyIfToFields:function(obj){this.getFields().each(function(f){Ext.applyIf(f,obj)});return this},batchLayouts:function(fn){var me=this,suspended=new Ext.util.HashMap();me.getFields().each(function(field){var ownerCt=field.ownerCt;if(!suspended.contains(ownerCt)){suspended.add(ownerCt);ownerCt.oldSuspendLayout=ownerCt.suspendLayout;ownerCt.suspendLayout=true}});fn();suspended.each(function(id,ct){ct.suspendLayout=ct.oldSuspendLayout;delete ct.oldSuspendLayout});me.owner.doComponentLayout()}});Ext.define("Ext.form.FieldAncestor",{initFieldAncestor:function(){var me=this,onSubtreeChange=me.onFieldAncestorSubtreeChange;me.addEvents("fieldvaliditychange","fielderrorchange");me.on("add",onSubtreeChange,me);me.on("remove",onSubtreeChange,me);me.initFieldDefaults()},initFieldDefaults:function(){if(!this.fieldDefaults){this.fieldDefaults={}}},onFieldAncestorSubtreeChange:function(parent,child){var me=this,isAdding=!!child.ownerCt;function handleCmp(cmp){var isLabelable=cmp.isFieldLabelable,isField=cmp.isFormField;if(isLabelable||isField){if(isLabelable){me["onLabelable"+(isAdding?"Added":"Removed")](cmp)}if(isField){me["onField"+(isAdding?"Added":"Removed")](cmp)}}else{if(cmp.isContainer){Ext.Array.forEach(cmp.getRefItems(),handleCmp)}}}handleCmp(child)},onLabelableAdded:function(labelable){var me=this;me.mon(labelable,"errorchange",me.handleFieldErrorChange,me,{buffer:10});labelable.setFieldDefaults(me.fieldDefaults)},onFieldAdded:function(field){var me=this;me.mon(field,"validitychange",me.handleFieldValidityChange,me)},onLabelableRemoved:function(labelable){var me=this;me.mun(labelable,"errorchange",me.handleFieldErrorChange,me)},onFieldRemoved:function(field){var me=this;me.mun(field,"validitychange",me.handleFieldValidityChange,me)},handleFieldValidityChange:function(field,isValid){var me=this;me.fireEvent("fieldvaliditychange",me,field,isValid);me.onFieldValidityChange()},handleFieldErrorChange:function(labelable,activeError){var me=this;me.fireEvent("fielderrorchange",me,labelable,activeError);me.onFieldErrorChange()},onFieldValidityChange:Ext.emptyFn,onFieldErrorChange:Ext.emptyFn});Ext.define("Ext.layout.container.CheckboxGroup",{extend:"Ext.layout.container.Container",alias:["layout.checkboxgroup"],onLayout:function(){var numCols=this.getColCount(),shadowCt=this.getShadowCt(),owner=this.owner,items=owner.items,shadowItems=shadowCt.items,numItems=items.length,colIndex=0,i,numRows;shadowItems.each(function(col){col.items.clear()});while(shadowItems.length>numCols){shadowCt.remove(shadowItems.last())}while(shadowItems.length0&&i%numRows===0){colIndex++}shadowItems.getAt(colIndex).items.add(items.getAt(i))}}else{for(i=0;i'],maskOnDisable:false,getElConfig:function(){return{tag:"fieldset",id:this.id}},initComponent:function(){var me=this,baseCls=me.baseCls;me.callParent();me.initLegend();me.addChildEls("body");if(me.collapsed){me.addCls(baseCls+"-collapsed");me.collapse()}},onRender:function(container,position){this.callParent(arguments);this.initLegend()},initLegend:function(){var me=this,legendItems,legend=me.legend;if(!legend&&(me.title||me.checkboxToggle||me.collapsible)){legendItems=[];if(me.checkboxToggle){legendItems.push(me.createCheckboxCmp())}else{if(me.collapsible){legendItems.push(me.createToggleCmp())}}legendItems.push(me.createTitleCmp());legend=me.legend=Ext.create("Ext.container.Container",{baseCls:me.baseCls+"-header",ariaRole:"",ownerCt:this,getElConfig:function(){var result={tag:"legend",cls:this.baseCls};if(!Ext.isGecko3){result.children=[{cls:Ext.baseCSSPrefix+"clear"}]}return result},items:legendItems})}if(legend&&!legend.rendered&&me.rendered){me.legend.render(me.el,me.body)}},createTitleCmp:function(){var me=this;me.titleCmp=Ext.create("Ext.Component",{html:me.title,getElConfig:function(){return{tag:Ext.isGecko3?"span":"div",cls:me.titleCmp.cls,id:me.titleCmp.id}},cls:me.baseCls+"-header-text"});return me.titleCmp},createCheckboxCmp:function(){var me=this,suffix="-checkbox";me.checkboxCmp=Ext.create("Ext.form.field.Checkbox",{getElConfig:function(){return{tag:Ext.isGecko3?"span":"div",id:me.checkboxCmp.id,cls:me.checkboxCmp.cls}},name:me.checkboxName||me.id+suffix,cls:me.baseCls+"-header"+suffix,checked:!me.collapsed,listeners:{change:me.onCheckChange,scope:me}});return me.checkboxCmp},createToggleCmp:function(){var me=this;me.toggleCmp=Ext.create("Ext.panel.Tool",{getElConfig:function(){return{tag:Ext.isGecko3?"span":"div",id:me.toggleCmp.id,cls:me.toggleCmp.cls}},type:"toggle",handler:me.toggle,scope:me});return me.toggleCmp},setTitle:function(title){var me=this;me.title=title;me.initLegend();me.titleCmp.update(title);return me},getTargetEl:function(){return this.body||this.frameBody||this.el},getContentTarget:function(){return this.body},getRefItems:function(deep){var refItems=this.callParent(arguments),legend=this.legend;if(legend){refItems.unshift(legend);if(deep){refItems.unshift.apply(refItems,legend.getRefItems(true))}}return refItems},expand:function(){return this.setExpanded(true)},collapse:function(){return this.setExpanded(false)},setExpanded:function(expanded){var me=this,checkboxCmp=me.checkboxCmp;expanded=!!expanded;if(checkboxCmp){checkboxCmp.setValue(expanded)}if(expanded){me.removeCls(me.baseCls+"-collapsed")}else{me.addCls(me.baseCls+"-collapsed")}me.collapsed=!expanded;if(expanded){me.getComponentLayout().childrenChanged=true}me.doComponentLayout();return me},toggle:function(){this.setExpanded(!!this.collapsed)},onCheckChange:function(cmp,checked){this.setExpanded(checked)},beforeDestroy:function(){var legend=this.legend;if(legend){legend.destroy()}this.callParent()}});Ext.define("Ext.form.Label",{extend:"Ext.Component",alias:"widget.label",requires:["Ext.util.Format"],maskOnDisable:false,getElConfig:function(){var me=this;return{tag:"label",id:me.id,htmlFor:me.forId||"",html:me.text?Ext.util.Format.htmlEncode(me.text):(me.html||"")}},setText:function(text,encode){var me=this;encode=encode!==false;if(encode){me.text=text;delete me.html}else{me.html=text;delete me.text}if(me.rendered){me.el.dom.innerHTML=encode!==false?Ext.util.Format.htmlEncode(text):text}return this}});Ext.define("Ext.form.Panel",{extend:"Ext.panel.Panel",mixins:{fieldAncestor:"Ext.form.FieldAncestor"},alias:"widget.form",alternateClassName:["Ext.FormPanel","Ext.form.FormPanel"],requires:["Ext.form.Basic","Ext.util.TaskRunner"],layout:"anchor",ariaRole:"form",initComponent:function(){var me=this;if(me.frame){me.border=false}me.initFieldAncestor();me.callParent();me.relayEvents(me.form,["beforeaction","actionfailed","actioncomplete","validitychange","dirtychange"]);if(me.pollForChanges){me.startPolling(me.pollInterval||500)}},initItems:function(){var me=this;me.form=me.createForm();me.callParent();me.form.initialize()},createForm:function(){return Ext.create("Ext.form.Basic",this,Ext.applyIf({listeners:{}},this.initialConfig))},getForm:function(){return this.form},loadRecord:function(record){return this.getForm().loadRecord(record)},getRecord:function(){return this.getForm().getRecord()},getValues:function(){return this.getForm().getValues()},beforeDestroy:function(){this.stopPolling();this.form.destroy();this.callParent()},load:function(options){this.form.load(options)},submit:function(options){this.form.submit(options)},disable:function(silent){this.callParent(arguments);this.form.getFields().each(function(field){field.disable()})},enable:function(silent){this.callParent(arguments);this.form.getFields().each(function(field){field.enable()})},startPolling:function(interval){this.stopPolling();var task=Ext.create("Ext.util.TaskRunner",interval);task.start({interval:0,run:this.checkChange,scope:this});this.pollTask=task},stopPolling:function(){var task=this.pollTask;if(task){task.stopAll();delete this.pollTask}},checkChange:function(){this.form.getFields().each(function(field){field.checkChange()})}});Ext.define("Ext.form.RadioGroup",{extend:"Ext.form.CheckboxGroup",alias:"widget.radiogroup",allowBlank:true,blankText:"You must select one item in this group",defaultType:"radiofield",groupCls:Ext.baseCSSPrefix+"form-radio-group",getBoxes:function(){return this.query("[isRadio]")},setValue:function(value){var me=this;if(Ext.isObject(value)){Ext.Object.each(value,function(name,cbValue){var radios=Ext.form.RadioManager.getWithValue(name,cbValue);radios.each(function(cb){cb.setValue(true)})})}return me}});Ext.define("Ext.form.RadioManager",{extend:"Ext.util.MixedCollection",singleton:true,getByName:function(name){return this.filterBy(function(item){return item.name==name})},getWithValue:function(name,value){return this.filterBy(function(item){return item.name==name&&item.inputValue==value})},getChecked:function(name){return this.findBy(function(item){return item.name==name&&item.checked})}});Ext.define("Ext.form.action.DirectLoad",{extend:"Ext.form.action.Load",requires:["Ext.direct.Manager"],alternateClassName:"Ext.form.Action.DirectLoad",alias:"formaction.directload",type:"directload",run:function(){this.form.api.load.apply(window,this.getArgs())},getArgs:function(){var me=this,args=[],form=me.form,paramOrder=form.paramOrder,params=me.getParams(),i,len;if(paramOrder){for(i=0,len=paramOrder.length;i",'',"",'tabIndex="{tabIdx}" ','class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"",'',"",{disableFormats:true,compiled:true}],isCheckbox:true,focusCls:Ext.baseCSSPrefix+"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",ariaRole:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var me=this,checked=!!me.checked;me.originalValue=me.lastValue=checked;me.setValue(checked)},onRender:function(ct,position){var me=this;me.addChildEls("boxLabelEl");Ext.applyIf(me.subTplData,{boxLabel:me.boxLabel,boxLabelCls:me.boxLabelCls,boxLabelAlign:me.boxLabelAlign});me.callParent(arguments)},initEvents:function(){var me=this;me.callParent();me.mon(me.inputEl,"click",me.onBoxClick,me)},onBoxClick:function(e){var me=this;if(!me.disabled&&!me.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var unchecked=this.uncheckedValue,uncheckedVal=Ext.isDefined(unchecked)?unchecked:null;return this.checked?this.inputValue:uncheckedVal},setRawValue:function(value){var me=this,inputEl=me.inputEl,inputValue=me.inputValue,checked=(value===true||value==="true"||value==="1"||value===1||(((Ext.isString(value)||Ext.isNumber(value))&&inputValue)?value==inputValue:me.onRe.test(value)));if(inputEl){inputEl.dom.setAttribute("aria-checked",checked);me[checked?"addCls":"removeCls"](me.checkedCls)}me.checked=me.rawValue=checked;return checked},setValue:function(checked){var me=this;if(Ext.isArray(checked)){me.getManager().getByName(me.name).each(function(cb){cb.setValue(Ext.Array.contains(checked,cb.inputValue))})}else{me.callParent(arguments)}return me},valueToRaw:function(value){return value},onChange:function(newVal,oldVal){var me=this,handler=me.handler;if(handler){handler.call(me.scope||me,me,newVal)}me.callParent(arguments)},beforeDestroy:function(){this.callParent();this.getManager().removeAtKey(this.id)},getManager:function(){return Ext.form.CheckboxManager},onEnable:function(){var me=this,inputEl=me.inputEl;me.callParent();if(inputEl){inputEl.dom.disabled=me.readOnly}},setReadOnly:function(readOnly){var me=this,inputEl=me.inputEl;if(inputEl){inputEl.dom.disabled=readOnly||me.disabled}me.readOnly=readOnly},getBodyNaturalWidth:function(){var me=this,bodyEl=me.bodyEl,ws="white-space",width;bodyEl.setStyle(ws,"nowrap");width=bodyEl.getWidth();bodyEl.setStyle(ws,"");return width}});Ext.define("Ext.layout.component.field.Trigger",{alias:["layout.triggerfield"],extend:"Ext.layout.component.field.Field",type:"triggerfield",sizeBodyContents:function(width,height){var me=this,owner=me.owner,inputEl=owner.inputEl,triggerWrap=owner.triggerWrap,triggerWidth=owner.getTriggerWidth();if(owner.hideTrigger||owner.readOnly||triggerWidth>0){me.setElementSize(inputEl,Ext.isNumber(width)?width-triggerWidth:width);triggerWrap.setWidth(triggerWidth)}}});Ext.define("Ext.view.View",{extend:"Ext.view.AbstractView",alternateClassName:"Ext.DataView",alias:"widget.dataview",inheritableStatics:{EventMap:{mousedown:"MouseDown",mouseup:"MouseUp",click:"Click",dblclick:"DblClick",contextmenu:"ContextMenu",mouseover:"MouseOver",mouseout:"MouseOut",mouseenter:"MouseEnter",mouseleave:"MouseLeave",keydown:"KeyDown",focus:"Focus"}},addCmpEvents:function(){this.addEvents("beforeitemmousedown","beforeitemmouseup","beforeitemmouseenter","beforeitemmouseleave","beforeitemclick","beforeitemdblclick","beforeitemcontextmenu","beforeitemkeydown","itemmousedown","itemmouseup","itemmouseenter","itemmouseleave","itemclick","itemdblclick","itemcontextmenu","itemkeydown","beforecontainermousedown","beforecontainermouseup","beforecontainermouseover","beforecontainermouseout","beforecontainerclick","beforecontainerdblclick","beforecontainercontextmenu","beforecontainerkeydown","containermouseup","containermouseover","containermouseout","containerclick","containerdblclick","containercontextmenu","containerkeydown","selectionchange","beforeselect")},afterRender:function(){var me=this,listeners;me.callParent();listeners={scope:me,freezeEvent:true,click:me.handleEvent,mousedown:me.handleEvent,mouseup:me.handleEvent,dblclick:me.handleEvent,contextmenu:me.handleEvent,mouseover:me.handleEvent,mouseout:me.handleEvent,keydown:me.handleEvent};me.mon(me.getTargetEl(),listeners);if(me.store){me.bindStore(me.store,true)}},handleEvent:function(e){if(this.processUIEvent(e)!==false){this.processSpecialEvent(e)}},processItemEvent:Ext.emptyFn,processContainerEvent:Ext.emptyFn,processSpecialEvent:Ext.emptyFn,stillOverItem:function(event,overItem){var nowOver;if(overItem&&typeof(overItem.offsetParent)==="object"){nowOver=(event.type=="mouseout")?event.getRelatedTarget():event.getTarget();return Ext.fly(overItem).contains(nowOver)}return false},processUIEvent:function(e){var me=this,item=e.getTarget(me.getItemSelector(),me.getTargetEl()),map=this.statics().EventMap,index,record,type=e.type,overItem=me.mouseOverItem,newType;if(!item){if(type=="mouseover"&&me.stillOverItem(e,overItem)){item=overItem}if(type=="keydown"){record=me.getSelectionModel().getLastSelected();if(record){item=me.getNode(record)}}}if(item){index=me.indexOf(item);if(!record){record=me.getRecord(item)}if(me.processItemEvent(record,item,index,e)===false){return false}newType=me.isNewItemEvent(item,e);if(newType===false){return false}if((me["onBeforeItem"+map[newType]](record,item,index,e)===false)||(me.fireEvent("beforeitem"+newType,me,record,item,index,e)===false)||(me["onItem"+map[newType]](record,item,index,e)===false)){return false}me.fireEvent("item"+newType,me,record,item,index,e)}else{if((me.processContainerEvent(e)===false)||(me["onBeforeContainer"+map[type]](e)===false)||(me.fireEvent("beforecontainer"+type,me,e)===false)||(me["onContainer"+map[type]](e)===false)){return false}me.fireEvent("container"+type,me,e)}return true},isNewItemEvent:function(item,e){var me=this,overItem=me.mouseOverItem,type=e.type;switch(type){case"mouseover":if(item===overItem){return false}me.mouseOverItem=item;return"mouseenter";case"mouseout":if(me.stillOverItem(e,overItem)){return false}me.mouseOverItem=null;return"mouseleave"}return type},onItemMouseEnter:function(record,item,index,e){if(this.trackOver){this.highlightItem(item)}},onItemMouseLeave:function(record,item,index,e){if(this.trackOver){this.clearHighlight()}},onItemMouseDown:Ext.emptyFn,onItemMouseUp:Ext.emptyFn,onItemFocus:Ext.emptyFn,onItemClick:Ext.emptyFn,onItemDblClick:Ext.emptyFn,onItemContextMenu:Ext.emptyFn,onItemKeyDown:Ext.emptyFn,onBeforeItemMouseDown:Ext.emptyFn,onBeforeItemMouseUp:Ext.emptyFn,onBeforeItemFocus:Ext.emptyFn,onBeforeItemMouseEnter:Ext.emptyFn,onBeforeItemMouseLeave:Ext.emptyFn,onBeforeItemClick:Ext.emptyFn,onBeforeItemDblClick:Ext.emptyFn,onBeforeItemContextMenu:Ext.emptyFn,onBeforeItemKeyDown:Ext.emptyFn,onContainerMouseDown:Ext.emptyFn,onContainerMouseUp:Ext.emptyFn,onContainerMouseOver:Ext.emptyFn,onContainerMouseOut:Ext.emptyFn,onContainerClick:Ext.emptyFn,onContainerDblClick:Ext.emptyFn,onContainerContextMenu:Ext.emptyFn,onContainerKeyDown:Ext.emptyFn,onBeforeContainerMouseDown:Ext.emptyFn,onBeforeContainerMouseUp:Ext.emptyFn,onBeforeContainerMouseOver:Ext.emptyFn,onBeforeContainerMouseOut:Ext.emptyFn,onBeforeContainerClick:Ext.emptyFn,onBeforeContainerDblClick:Ext.emptyFn,onBeforeContainerContextMenu:Ext.emptyFn,onBeforeContainerKeyDown:Ext.emptyFn,highlightItem:function(item){var me=this;me.clearHighlight();me.highlightedItem=item;Ext.fly(item).addCls(me.overItemCls)},clearHighlight:function(){var me=this,highlighted=me.highlightedItem;if(highlighted){Ext.fly(highlighted).removeCls(me.overItemCls);delete me.highlightedItem}},refresh:function(){var me=this;me.clearHighlight();me.callParent(arguments);if(!me.isFixedHeight()){me.doComponentLayout()}}});Ext.define("Ext.layout.component.BoundList",{extend:"Ext.layout.component.Component",alias:"layout.boundlist",type:"component",beforeLayout:function(){return this.callParent(arguments)||this.owner.refreshed>0},onLayout:function(width,height){var me=this,owner=me.owner,floating=owner.floating,el=owner.el,xy=el.getXY(),isNumber=Ext.isNumber,minWidth,maxWidth,minHeight,maxHeight,naturalWidth,naturalHeight,constrainedWidth,constrainedHeight,undef;if(floating){el.setXY([-9999,-9999])}me.setTargetSize(width,height);if(!isNumber(width)){minWidth=owner.minWidth;maxWidth=owner.maxWidth;if(isNumber(minWidth)||isNumber(maxWidth)){naturalWidth=el.getWidth();if(naturalWidthmaxWidth){constrainedWidth=maxWidth}}if(constrainedWidth){me.setTargetSize(constrainedWidth)}}}if(!isNumber(height)){minHeight=owner.minHeight;maxHeight=owner.maxHeight;if(isNumber(minHeight)||isNumber(maxHeight)){naturalHeight=el.getHeight();if(naturalHeightmaxHeight){constrainedHeight=maxHeight}}if(constrainedHeight){me.setTargetSize(undef,constrainedHeight)}}}if(floating){el.setXY(xy)}},afterLayout:function(){var me=this,toolbar=me.owner.pagingToolbar;me.callParent();if(toolbar){toolbar.doComponentLayout()}},setTargetSize:function(width,height){var me=this,owner=me.owner,listHeight=null,toolbar;if(Ext.isNumber(height)){listHeight=height-owner.el.getFrameWidth("tb");toolbar=owner.pagingToolbar;if(toolbar){listHeight-=toolbar.getHeight()}}me.setElementSize(owner.listEl,null,listHeight);me.callParent(arguments)}});Ext.define("Ext.toolbar.TextItem",{extend:"Ext.toolbar.Item",requires:["Ext.XTemplate"],alias:"widget.tbtext",alternateClassName:"Ext.Toolbar.TextItem",text:"",renderTpl:"{text}",baseCls:Ext.baseCSSPrefix+"toolbar-text",onRender:function(){Ext.apply(this.renderData,{text:this.text});this.callParent(arguments)},setText:function(t){if(this.rendered){this.el.update(t);this.ownerCt.doLayout()}else{this.text=t}}});Ext.define("Ext.form.field.Trigger",{extend:"Ext.form.field.Text",alias:["widget.triggerfield","widget.trigger"],requires:["Ext.DomHelper","Ext.util.ClickRepeater","Ext.layout.component.field.Trigger"],alternateClassName:["Ext.form.TriggerField","Ext.form.TwinTriggerField","Ext.form.Trigger"],fieldSubTpl:['name="{name}" ','size="{size}" ','tabIndex="{tabIdx}" ','class="{fieldCls} {typeCls}" autocomplete="off" />','",{compiled:true,disableFormats:true}],triggerBaseCls:Ext.baseCSSPrefix+"form-trigger",triggerWrapCls:Ext.baseCSSPrefix+"form-trigger-wrap",hideTrigger:false,editable:true,readOnly:false,repeatTriggerClick:false,autoSize:Ext.emptyFn,monitorTab:true,mimicing:false,triggerIndexRe:/trigger-index-(\d+)/,componentLayout:"triggerfield",initComponent:function(){this.wrapFocusCls=this.triggerWrapCls+"-focus";this.callParent(arguments)},onRender:function(ct,position){var me=this,triggerCls,triggerBaseCls=me.triggerBaseCls,triggerWrapCls=me.triggerWrapCls,triggerConfigs=[],i;if(!me.trigger1Cls){me.trigger1Cls=me.triggerCls}for(i=0;(triggerCls=me["trigger"+(i+1)+"Cls"])||i<1;i++){triggerConfigs.push({cls:[Ext.baseCSSPrefix+"trigger-index-"+i,triggerBaseCls,triggerCls].join(" "),role:"button"})}triggerConfigs[i-1].cls+=" "+triggerBaseCls+"-last";me.addChildEls("triggerWrap");Ext.applyIf(me.subTplData,{triggerWrapCls:triggerWrapCls,triggerEl:Ext.DomHelper.markup(triggerConfigs),clearCls:me.clearCls});me.callParent(arguments);me.triggerEl=Ext.select("."+triggerBaseCls,true,me.triggerWrap.dom);me.doc=Ext.getDoc();me.initTrigger()},onEnable:function(){this.callParent();this.triggerWrap.unmask()},onDisable:function(){this.callParent();this.triggerWrap.mask()},afterRender:function(){this.callParent();this.updateEditState();this.triggerEl.unselectable()},updateEditState:function(){var me=this,inputEl=me.inputEl,triggerWrap=me.triggerWrap,noeditCls=Ext.baseCSSPrefix+"trigger-noedit",displayed,readOnly;if(me.rendered){if(me.readOnly){inputEl.addCls(noeditCls);readOnly=true;displayed=false}else{if(me.editable){inputEl.removeCls(noeditCls);readOnly=false}else{inputEl.addCls(noeditCls);readOnly=true}displayed=!me.hideTrigger}triggerWrap.setDisplayed(displayed);inputEl.dom.readOnly=readOnly;me.doComponentLayout()}},getTriggerWidth:function(){var me=this,triggerWrap=me.triggerWrap,totalTriggerWidth=0;if(triggerWrap&&!me.hideTrigger&&!me.readOnly){me.triggerEl.each(function(trigger){totalTriggerWidth+=trigger.getWidth()});totalTriggerWidth+=me.triggerWrap.getFrameWidth("lr")}return totalTriggerWidth},setHideTrigger:function(hideTrigger){if(hideTrigger!=this.hideTrigger){this.hideTrigger=hideTrigger;this.updateEditState()}},setEditable:function(editable){if(editable!=this.editable){this.editable=editable;this.updateEditState()}},setReadOnly:function(readOnly){if(readOnly!=this.readOnly){this.readOnly=readOnly;this.updateEditState()}},initTrigger:function(){var me=this,triggerWrap=me.triggerWrap,triggerEl=me.triggerEl;if(me.repeatTriggerClick){me.triggerRepeater=Ext.create("Ext.util.ClickRepeater",triggerWrap,{preventDefault:true,handler:function(cr,e){me.onTriggerWrapClick(e)}})}else{me.mon(me.triggerWrap,"click",me.onTriggerWrapClick,me)}triggerEl.addClsOnOver(me.triggerBaseCls+"-over");triggerEl.each(function(el,c,i){el.addClsOnOver(me["trigger"+(i+1)+"Cls"]+"-over")});triggerEl.addClsOnClick(me.triggerBaseCls+"-click");triggerEl.each(function(el,c,i){el.addClsOnClick(me["trigger"+(i+1)+"Cls"]+"-click")})},onDestroy:function(){var me=this;Ext.destroyMembers(me,"triggerRepeater","triggerWrap","triggerEl");delete me.doc;me.callParent()},onFocus:function(){var me=this;me.callParent();if(!me.mimicing){me.bodyEl.addCls(me.wrapFocusCls);me.mimicing=true;me.mon(me.doc,"mousedown",me.mimicBlur,me,{delay:10});if(me.monitorTab){me.on("specialkey",me.checkTab,me)}}},checkTab:function(me,e){if(!this.ignoreMonitorTab&&e.getKey()==e.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(e){if(!this.isDestroyed&&!this.bodyEl.contains(e.target)&&this.validateBlur(e)){this.triggerBlur()}},triggerBlur:function(){var me=this;me.mimicing=false;me.mun(me.doc,"mousedown",me.mimicBlur,me);if(me.monitorTab&&me.inputEl){me.un("specialkey",me.checkTab,me)}Ext.form.field.Trigger.superclass.onBlur.call(me);if(me.bodyEl){me.bodyEl.removeCls(me.wrapFocusCls)}},beforeBlur:Ext.emptyFn,validateBlur:function(e){return true},onTriggerWrapClick:function(e){var me=this,t=e&&e.getTarget("."+Ext.baseCSSPrefix+"form-trigger",null),match=t&&t.className.match(me.triggerIndexRe),idx,triggerClickMethod;if(match&&!me.readOnly){idx=parseInt(match[1],10);triggerClickMethod=me["onTrigger"+(idx+1)+"Click"]||me.onTriggerClick;if(triggerClickMethod){triggerClickMethod.call(me,e)}}},onTriggerClick:Ext.emptyFn});Ext.define("Ext.form.field.Picker",{extend:"Ext.form.field.Trigger",alias:"widget.pickerfield",alternateClassName:"Ext.form.Picker",requires:["Ext.util.KeyNav"],matchFieldWidth:true,pickerAlign:"tl-bl?",openCls:Ext.baseCSSPrefix+"pickerfield-open",editable:true,initComponent:function(){this.callParent();this.addEvents("expand","collapse","select")},initEvents:function(){var me=this;me.callParent();me.keyNav=Ext.create("Ext.util.KeyNav",me.inputEl,{down:function(){if(!me.isExpanded){me.onTriggerClick()}},esc:me.collapse,scope:me,forceKeyDown:true});if(!me.editable){me.mon(me.inputEl,"click",me.onTriggerClick,me)}if(Ext.isGecko){me.inputEl.dom.setAttribute("autocomplete","off")}},expand:function(){var me=this,bodyEl,picker,collapseIf;if(me.rendered&&!me.isExpanded&&!me.isDestroyed){bodyEl=me.bodyEl;picker=me.getPicker();collapseIf=me.collapseIf;picker.show();me.isExpanded=true;me.alignPicker();bodyEl.addCls(me.openCls);me.mon(Ext.getDoc(),{mousewheel:collapseIf,mousedown:collapseIf,scope:me});Ext.EventManager.onWindowResize(me.alignPicker,me);me.fireEvent("expand",me);me.onExpand()}},onExpand:Ext.emptyFn,alignPicker:function(){var me=this,picker;if(me.isExpanded){picker=me.getPicker();if(me.matchFieldWidth){picker.setSize(me.bodyEl.getWidth(),picker.store&&picker.store.getCount()?null:0)}if(picker.isFloating()){me.doAlign()}}},doAlign:function(){var me=this,picker=me.picker,aboveSfx="-above",isAbove;me.picker.alignTo(me.inputEl,me.pickerAlign,me.pickerOffset);isAbove=picker.el.getY()0){me.spinUp()}else{if(delta<0){me.spinDown()}}e.stopEvent()}},onDestroy:function(){Ext.destroyMembers(this,"spinnerKeyNav","spinUpEl","spinDownEl");this.callParent()}});Ext.define("Ext.form.field.Number",{extend:"Ext.form.field.Spinner",alias:"widget.numberfield",alternateClassName:["Ext.form.NumberField","Ext.form.Number"],allowDecimals:true,decimalSeparator:".",decimalPrecision:2,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,step:1,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",negativeText:"The value cannot be negative",baseChars:"0123456789",autoStripChars:false,initComponent:function(){var me=this,allowed;me.callParent();me.setMinValue(me.minValue);me.setMaxValue(me.maxValue);if(me.disableKeyFilter!==true){allowed=me.baseChars+"";if(me.allowDecimals){allowed+=me.decimalSeparator}if(me.minValue<0){allowed+="-"}allowed=Ext.String.escapeRegex(allowed);me.maskRe=new RegExp("["+allowed+"]");if(me.autoStripChars){me.stripCharsRe=new RegExp("[^"+allowed+"]","gi")}}},getErrors:function(value){var me=this,errors=me.callParent(arguments),format=Ext.String.format,num;value=Ext.isDefined(value)?value:this.processRawValue(this.getRawValue());if(value.length<1){return errors}value=String(value).replace(me.decimalSeparator,".");if(isNaN(value)){errors.push(format(me.nanText,value))}num=me.parseValue(value);if(me.minValue===0&&num<0){errors.push(this.negativeText)}else{if(numme.maxValue){errors.push(format(me.maxText,me.maxValue))}return errors},rawToValue:function(rawValue){var value=this.fixPrecision(this.parseValue(rawValue));if(value===null){value=rawValue||null}return value},valueToRaw:function(value){var me=this,decimalSeparator=me.decimalSeparator;value=me.parseValue(value);value=me.fixPrecision(value);value=Ext.isNumber(value)?value:parseFloat(String(value).replace(decimalSeparator,"."));value=isNaN(value)?"":String(value).replace(".",decimalSeparator);return value},onChange:function(){var me=this,value=me.getValue(),valueIsNull=value===null;me.callParent(arguments);me.setSpinUpEnabled(valueIsNull||valueme.minValue)},setMinValue:function(value){this.minValue=Ext.Number.from(value,Number.NEGATIVE_INFINITY)},setMaxValue:function(value){this.maxValue=Ext.Number.from(value,Number.MAX_VALUE)},parseValue:function(value){value=parseFloat(String(value).replace(this.decimalSeparator,"."));return isNaN(value)?null:value},fixPrecision:function(value){var me=this,nan=isNaN(value),precision=me.decimalPrecision;if(nan||!value){return nan?"":value}else{if(!me.allowDecimals||precision<=0){precision=0}}return parseFloat(Ext.Number.toFixed(parseFloat(value),precision))},beforeBlur:function(){var me=this,v=me.parseValue(me.getRawValue());if(!Ext.isEmpty(v)){me.setValue(v)}},onSpinUp:function(){var me=this;if(!me.readOnly){me.setValue(Ext.Number.constrain(me.getValue()+me.step,me.minValue,me.maxValue))}},onSpinDown:function(){var me=this;if(!me.readOnly){me.setValue(Ext.Number.constrain(me.getValue()-me.step,me.minValue,me.maxValue))}}});Ext.define("Ext.toolbar.Paging",{extend:"Ext.toolbar.Toolbar",alias:"widget.pagingtoolbar",alternateClassName:"Ext.PagingToolbar",requires:["Ext.toolbar.TextItem","Ext.form.field.Number"],displayInfo:false,prependButtons:false,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",inputItemWidth:30,getPagingItems:function(){var me=this;return[{itemId:"first",tooltip:me.firstText,overflowText:me.firstText,iconCls:Ext.baseCSSPrefix+"tbar-page-first",disabled:true,handler:me.moveFirst,scope:me},{itemId:"prev",tooltip:me.prevText,overflowText:me.prevText,iconCls:Ext.baseCSSPrefix+"tbar-page-prev",disabled:true,handler:me.movePrevious,scope:me},"-",me.beforePageText,{xtype:"numberfield",itemId:"inputItem",name:"inputItem",cls:Ext.baseCSSPrefix+"tbar-page-number",allowDecimals:false,minValue:1,hideTrigger:true,enableKeyEvents:true,selectOnFocus:true,submitValue:false,width:me.inputItemWidth,margins:"-1 2 3 2",listeners:{scope:me,keydown:me.onPagingKeyDown,blur:me.onPagingBlur}},{xtype:"tbtext",itemId:"afterTextItem",text:Ext.String.format(me.afterPageText,1)},"-",{itemId:"next",tooltip:me.nextText,overflowText:me.nextText,iconCls:Ext.baseCSSPrefix+"tbar-page-next",disabled:true,handler:me.moveNext,scope:me},{itemId:"last",tooltip:me.lastText,overflowText:me.lastText,iconCls:Ext.baseCSSPrefix+"tbar-page-last",disabled:true,handler:me.moveLast,scope:me},"-",{itemId:"refresh",tooltip:me.refreshText,overflowText:me.refreshText,iconCls:Ext.baseCSSPrefix+"tbar-loading",handler:me.doRefresh,scope:me}]},initComponent:function(){var me=this,pagingItems=me.getPagingItems(),userItems=me.items||me.buttons||[];if(me.prependButtons){me.items=userItems.concat(pagingItems)}else{me.items=pagingItems.concat(userItems)}delete me.buttons;if(me.displayInfo){me.items.push("->");me.items.push({xtype:"tbtext",itemId:"displayItem"})}me.callParent();me.addEvents("change","beforechange");me.on("afterlayout",me.onLoad,me,{single:true});me.bindStore(me.store||"ext-empty-store",true)},updateInfo:function(){var me=this,displayItem=me.child("#displayItem"),store=me.store,pageData=me.getPageData(),count,msg;if(displayItem){count=store.getCount();if(count===0){msg=me.emptyMsg}else{msg=Ext.String.format(me.displayMsg,pageData.fromRecord,pageData.toRecord,pageData.total)}displayItem.setText(msg);me.doComponentLayout()}},onLoad:function(){var me=this,pageData,currPage,pageCount,afterText;if(!me.rendered){return}pageData=me.getPageData();currPage=pageData.currentPage;pageCount=pageData.pageCount;afterText=Ext.String.format(me.afterPageText,isNaN(pageCount)?1:pageCount);me.child("#afterTextItem").setText(afterText);me.child("#inputItem").setValue(currPage);me.child("#first").setDisabled(currPage===1);me.child("#prev").setDisabled(currPage===1);me.child("#next").setDisabled(currPage===pageCount);me.child("#last").setDisabled(currPage===pageCount);me.child("#refresh").enable();me.updateInfo();me.fireEvent("change",me,pageData)},getPageData:function(){var store=this.store,totalCount=store.getTotalCount();return{total:totalCount,currentPage:store.currentPage,pageCount:Math.ceil(totalCount/store.pageSize),fromRecord:((store.currentPage-1)*store.pageSize)+1,toRecord:Math.min(store.currentPage*store.pageSize,totalCount)}},onLoadError:function(){if(!this.rendered){return}this.child("#refresh").enable()},readPageFromInput:function(pageData){var v=this.child("#inputItem").getValue(),pageNum=parseInt(v,10);if(!v||isNaN(pageNum)){this.child("#inputItem").setValue(pageData.currentPage);return false}return pageNum},onPagingFocus:function(){this.child("#inputItem").select()},onPagingBlur:function(e){var curPage=this.getPageData().currentPage;this.child("#inputItem").setValue(curPage)},onPagingKeyDown:function(field,e){var me=this,k=e.getKey(),pageData=me.getPageData(),increment=e.shiftKey?10:1,pageNum;if(k==e.RETURN){e.stopEvent();pageNum=me.readPageFromInput(pageData);if(pageNum!==false){pageNum=Math.min(Math.max(1,pageNum),pageData.pageCount);if(me.fireEvent("beforechange",me,pageNum)!==false){me.store.loadPage(pageNum)}}}else{if(k==e.HOME||k==e.END){e.stopEvent();pageNum=k==e.HOME?1:pageData.pageCount;field.setValue(pageNum)}else{if(k==e.UP||k==e.PAGEUP||k==e.DOWN||k==e.PAGEDOWN){e.stopEvent();pageNum=me.readPageFromInput(pageData);if(pageNum){if(k==e.DOWN||k==e.PAGEDOWN){increment*=-1}pageNum+=increment;if(pageNum>=1&&pageNum<=pageData.pages){field.setValue(pageNum)}}}}}},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},doLoad:function(start){if(this.fireEvent("beforechange",this,o)!==false){this.store.load()}},moveFirst:function(){if(this.fireEvent("beforechange",this,1)!==false){this.store.loadPage(1)}},movePrevious:function(){var me=this,prev=me.store.currentPage-1;if(prev>0){if(me.fireEvent("beforechange",me,prev)!==false){me.store.previousPage()}}},moveNext:function(){var me=this,total=me.getPageData().pageCount,next=me.store.currentPage+1;if(next<=total){if(me.fireEvent("beforechange",me,next)!==false){me.store.nextPage()}}},moveLast:function(){var me=this,last=me.getPageData().pageCount;if(me.fireEvent("beforechange",me,last)!==false){me.store.loadPage(last)}},doRefresh:function(){var me=this,current=me.store.currentPage;if(me.fireEvent("beforechange",me,current)!==false){me.store.loadPage(current)}},bindStore:function(store,initial){var me=this;if(!initial&&me.store){if(store!==me.store&&me.store.autoDestroy){me.store.destroyStore()}else{me.store.un("beforeload",me.beforeLoad,me);me.store.un("load",me.onLoad,me);me.store.un("exception",me.onLoadError,me)}if(!store){me.store=null}}if(store){store=Ext.data.StoreManager.lookup(store);store.on({scope:me,beforeload:me.beforeLoad,load:me.onLoad,exception:me.onLoadError})}me.store=store},unbind:function(store){this.bindStore(null)},bind:function(store){this.bindStore(store)},onDestroy:function(){this.bindStore(null);this.callParent()}});Ext.define("Ext.view.BoundList",{extend:"Ext.view.View",alias:"widget.boundlist",alternateClassName:"Ext.BoundList",requires:["Ext.layout.component.BoundList","Ext.toolbar.Paging"],pageSize:0,autoScroll:true,baseCls:Ext.baseCSSPrefix+"boundlist",itemCls:Ext.baseCSSPrefix+"boundlist-item",listItemCls:"",shadow:false,trackOver:true,refreshed:0,ariaRole:"listbox",componentLayout:"boundlist",renderTpl:['
    '],initComponent:function(){var me=this,baseCls=me.baseCls,itemCls=me.itemCls;me.selectedItemCls=baseCls+"-selected";me.overItemCls=baseCls+"-item-over";me.itemSelector="."+itemCls;if(me.floating){me.addCls(baseCls+"-floating")}if(!me.tpl){me.tpl=Ext.create("Ext.XTemplate",'
      ','
    • '+me.getInnerTpl(me.displayField)+"
    • ","
    ")}else{if(Ext.isString(me.tpl)){me.tpl=Ext.create("Ext.XTemplate",me.tpl)}}if(me.pageSize){me.pagingToolbar=me.createPagingToolbar()}me.callParent();me.addChildEls("listEl")},createPagingToolbar:function(){return Ext.widget("pagingtoolbar",{pageSize:this.pageSize,store:this.store,border:false})},onRender:function(){var me=this,toolbar=me.pagingToolbar;me.callParent(arguments);if(toolbar){toolbar.render(me.el)}},bindStore:function(store,initial){var me=this,toolbar=me.pagingToolbar;me.callParent(arguments);if(toolbar){toolbar.bindStore(store,initial)}},getTargetEl:function(){return this.listEl||this.el},getInnerTpl:function(displayField){return"{"+displayField+"}"},refresh:function(){var me=this;me.callParent();if(me.isVisible()){me.refreshed++;me.doComponentLayout();me.refreshed--}},initAria:function(){this.callParent();var selModel=this.getSelectionModel(),mode=selModel.getSelectionMode(),actionEl=this.getActionEl();if(mode!=="SINGLE"){actionEl.dom.setAttribute("aria-multiselectable",true)}},onDestroy:function(){Ext.destroyMembers(this,"pagingToolbar","listEl");this.callParent()}});Ext.define("Ext.view.BoundListKeyNav",{extend:"Ext.util.KeyNav",requires:"Ext.view.BoundList",constructor:function(el,config){var me=this;me.boundList=config.boundList;me.callParent([el,Ext.apply({},config,me.defaultHandlers)])},defaultHandlers:{up:function(){var me=this,boundList=me.boundList,allItems=boundList.all,oldItem=boundList.highlightedItem,oldItemIdx=oldItem?boundList.indexOf(oldItem):-1,newItemIdx=oldItemIdx>0?oldItemIdx-1:allItems.getCount()-1;me.highlightAt(newItemIdx)},down:function(){var me=this,boundList=me.boundList,allItems=boundList.all,oldItem=boundList.highlightedItem,oldItemIdx=oldItem?boundList.indexOf(oldItem):-1,newItemIdx=oldItemIdx','size="{size}" ','tabIndex="{tabIdx}" ','class="{fieldCls} {typeCls}" autocomplete="off" />','",{compiled:true,disableFormats:true}],getSubTplData:function(){var me=this;Ext.applyIf(me.subTplData,{hiddenDataCls:me.hiddenDataCls});return me.callParent(arguments)},afterRender:function(){var me=this;me.callParent(arguments);me.setHiddenValue(me.value)},multiSelect:false,delimiter:", ",displayField:"text",triggerAction:"all",allQuery:"",queryParam:"query",queryMode:"remote",queryCaching:true,pageSize:0,autoSelect:true,typeAhead:false,typeAheadDelay:250,selectOnTab:true,forceSelection:false,defaultListConfig:{emptyText:"",loadingText:"Loading...",loadingHeight:70,minWidth:70,maxHeight:300,shadow:"sides"},ignoreSelection:0,initComponent:function(){var me=this,isDefined=Ext.isDefined,store=me.store,transform=me.transform,transformSelect,isLocalMode;Ext.applyIf(me.renderSelectors,{hiddenDataEl:"."+me.hiddenDataCls.split(" ").join(".")});this.addEvents("beforequery","select","beforeselect","beforedeselect");if(transform){transformSelect=Ext.getDom(transform);if(transformSelect){store=Ext.Array.map(Ext.Array.from(transformSelect.options),function(option){return[option.value,option.text]});if(!me.name){me.name=transformSelect.name}if(!("value" in me)){me.value=transformSelect.value}}}me.bindStore(store||"ext-empty-store",true);store=me.store;if(store.autoCreated){me.queryMode="local";me.valueField=me.displayField="field1";if(!store.expanded){me.displayField="field2"}}if(!isDefined(me.valueField)){me.valueField=me.displayField}isLocalMode=me.queryMode==="local";if(!isDefined(me.queryDelay)){me.queryDelay=isLocalMode?10:500}if(!isDefined(me.minChars)){me.minChars=isLocalMode?0:4}if(!me.displayTpl){me.displayTpl=Ext.create("Ext.XTemplate",'{[typeof values === "string" ? values : values["'+me.displayField+'"]]}'+me.delimiter+"")}else{if(Ext.isString(me.displayTpl)){me.displayTpl=Ext.create("Ext.XTemplate",me.displayTpl)}}me.callParent();me.doQueryTask=Ext.create("Ext.util.DelayedTask",me.doRawQuery,me);if(me.store.getCount()>0){me.setValue(me.value)}if(transformSelect){me.render(transformSelect.parentNode,transformSelect);Ext.removeNode(transformSelect);delete me.renderTo}},getStore:function(){return this.store},beforeBlur:function(){this.doQueryTask.cancel();this.assertValue()},assertValue:function(){var me=this,value=me.getRawValue(),rec;if(me.forceSelection){if(me.multiSelect){if(value!==me.getDisplayValue()){me.setValue(me.lastSelection)}}else{rec=me.findRecordByDisplay(value);if(rec){me.select(rec)}else{me.setValue(me.lastSelection)}}}me.collapse()},onTypeAhead:function(){var me=this,displayField=me.displayField,record=me.store.findRecord(displayField,me.getRawValue()),boundList=me.getPicker(),newValue,len,selStart;if(record){newValue=record.get(displayField);len=newValue.length;selStart=me.getRawValue().length;boundList.highlightItem(boundList.getNode(record));if(selStart!==0&&selStart!==len){me.setRawValue(newValue);me.selectText(selStart,newValue.length)}}},resetToDefault:function(){},bindStore:function(store,initial){var me=this,oldStore=me.store;if(oldStore&&!initial){if(oldStore!==store&&oldStore.autoDestroy){oldStore.destroyStore()}else{oldStore.un({scope:me,load:me.onLoad,exception:me.collapse})}if(!store){me.store=null;if(me.picker){me.picker.bindStore(null)}}}if(store){if(!initial){me.resetToDefault()}me.store=Ext.data.StoreManager.lookup(store);me.store.on({scope:me,load:me.onLoad,exception:me.collapse});if(me.picker){me.picker.bindStore(store)}}},onLoad:function(){var me=this,value=me.value;if(me.rawQuery){me.rawQuery=false;me.syncSelection();if(me.picker&&!me.picker.getSelectionModel().hasSelection()){me.doAutoSelect()}}else{if(me.value){me.setValue(me.value)}else{if(me.store.getCount()){me.doAutoSelect()}else{me.setValue("")}}}},doRawQuery:function(){this.doQuery(this.getRawValue(),false,true)},doQuery:function(queryString,forceAll,rawQuery){queryString=queryString||"";var me=this,qe={query:queryString,forceAll:forceAll,combo:me,cancel:false},store=me.store,isLocalMode=me.queryMode==="local";if(me.fireEvent("beforequery",qe)===false||qe.cancel){return false}queryString=qe.query;forceAll=qe.forceAll;if(forceAll||(queryString.length>=me.minChars)){me.expand();if(!me.queryCaching||me.lastQuery!==queryString){me.lastQuery=queryString;if(isLocalMode){if(forceAll){store.clearFilter()}else{store.clearFilter(true);store.filter(me.displayField,queryString)}}else{me.rawQuery=rawQuery;if(me.pageSize){me.loadPage(1)}else{store.load({params:me.getParams(queryString)})}}}if(me.getRawValue()!==me.getDisplayValue()){me.ignoreSelection++;me.picker.getSelectionModel().deselectAll();me.ignoreSelection--}if(isLocalMode){me.doAutoSelect()}if(me.typeAhead){me.doTypeAhead()}}return true},loadPage:function(pageNum){this.store.loadPage(pageNum,{params:this.getParams(this.lastQuery)})},onPageChange:function(toolbar,newPage){this.loadPage(newPage);return false},getParams:function(queryString){var params={},param=this.queryParam;if(param){params[param]=queryString}return params},doAutoSelect:function(){var me=this,picker=me.picker,lastSelected,itemNode;if(picker&&me.autoSelect&&me.store.getCount()>0){lastSelected=picker.getSelectionModel().lastSelected;itemNode=picker.getNode(lastSelected||0);if(itemNode){picker.highlightItem(itemNode);picker.listEl.scrollChildIntoView(itemNode,false)}}},doTypeAhead:function(){if(!this.typeAheadTask){this.typeAheadTask=Ext.create("Ext.util.DelayedTask",this.onTypeAhead,this)}if(this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.typeAheadTask.delay(this.typeAheadDelay)}},onTriggerClick:function(){var me=this;if(!me.readOnly&&!me.disabled){if(me.isExpanded){me.collapse()}else{me.onFocus({});if(me.triggerAction==="all"){me.doQuery(me.allQuery,true)}else{me.doQuery(me.getRawValue(),false,true)}}me.inputEl.focus()}},onKeyUp:function(e,t){var me=this,key=e.getKey();if(!me.readOnly&&!me.disabled&&me.editable){me.lastKey=key;if(!e.isSpecialKey()||key==e.BACKSPACE||key==e.DELETE){me.doQueryTask.delay(me.queryDelay)}}if(me.enableKeyEvents){me.callParent(arguments)}},initEvents:function(){var me=this;me.callParent();if(!me.enableKeyEvents){me.mon(me.inputEl,"keyup",me.onKeyUp,me)}},onDestroy:function(){this.bindStore(null);this.callParent()},createPicker:function(){var me=this,picker,menuCls=Ext.baseCSSPrefix+"menu",opts=Ext.apply({pickerField:me,selModel:{mode:me.multiSelect?"SIMPLE":"SINGLE"},floating:true,hidden:true,ownerCt:me.ownerCt,cls:me.el.up("."+menuCls)?menuCls:"",store:me.store,displayField:me.displayField,focusOnToFront:false,pageSize:me.pageSize,tpl:me.tpl},me.listConfig,me.defaultListConfig);picker=me.picker=Ext.create("Ext.view.BoundList",opts);if(me.pageSize){picker.pagingToolbar.on("beforechange",me.onPageChange,me)}me.mon(picker,{itemclick:me.onItemClick,refresh:me.onListRefresh,scope:me});me.mon(picker.getSelectionModel(),{beforeselect:me.onBeforeSelect,beforedeselect:me.onBeforeDeselect,selectionchange:me.onListSelectionChange,scope:me});return picker},alignPicker:function(){var me=this,picker=me.picker,heightAbove=me.getPosition()[1]-Ext.getBody().getScroll().top,heightBelow=Ext.Element.getViewHeight()-heightAbove-me.getHeight(),space=Math.max(heightAbove,heightBelow);me.callParent();if(picker.getHeight()>space){picker.setHeight(space-5);me.doAlign()}},onListRefresh:function(){this.alignPicker();this.syncSelection()},onItemClick:function(picker,record){var me=this,lastSelection=me.lastSelection,valueField=me.valueField,selected;if(!me.multiSelect&&lastSelection){selected=lastSelection[0];if(selected&&(record.get(valueField)===selected.get(valueField))){me.displayTplData=[record.data];me.setRawValue(me.getDisplayValue());me.collapse()}}},onBeforeSelect:function(list,record){return this.fireEvent("beforeselect",this,record,record.index)},onBeforeDeselect:function(list,record){return this.fireEvent("beforedeselect",this,record,record.index)},onListSelectionChange:function(list,selectedRecords){var me=this,isMulti=me.multiSelect,hasRecords=selectedRecords.length>0;if(!me.ignoreSelection&&me.isExpanded){if(!isMulti){Ext.defer(me.collapse,1,me)}if(isMulti||hasRecords){me.setValue(selectedRecords,false)}if(hasRecords){me.fireEvent("select",me,selectedRecords)}me.inputEl.focus()}},onExpand:function(){var me=this,keyNav=me.listKeyNav,selectOnTab=me.selectOnTab,picker=me.getPicker();if(keyNav){keyNav.enable()}else{keyNav=me.listKeyNav=Ext.create("Ext.view.BoundListKeyNav",this.inputEl,{boundList:picker,forceKeyDown:true,tab:function(e){if(selectOnTab){this.selectHighlighted(e);me.triggerBlur()}return true}})}if(selectOnTab){me.ignoreMonitorTab=true}Ext.defer(keyNav.enable,1,keyNav);me.inputEl.focus()},onCollapse:function(){var me=this,keyNav=me.listKeyNav;if(keyNav){keyNav.disable();me.ignoreMonitorTab=false}},select:function(r){this.setValue(r,true)},findRecord:function(field,value){var ds=this.store,idx=ds.findExact(field,value);return idx!==-1?ds.getAt(idx):false},findRecordByValue:function(value){return this.findRecord(this.valueField,value)},findRecordByDisplay:function(value){return this.findRecord(this.displayField,value)},setValue:function(value,doSelect){var me=this,valueNotFoundText=me.valueNotFoundText,inputEl=me.inputEl,i,len,record,models=[],displayTplData=[],processedValue=[];if(me.store.loading){me.value=value;me.setHiddenValue(me.value);return me}value=Ext.Array.from(value);for(i=0,len=value.length;i0){me.hiddenDataEl.update(Ext.DomHelper.markup({tag:"input",type:"hidden",name:me.name}));childrenCount=1;input=dom.firstChild}while(childrenCount>valueCount){dom.removeChild(childNodes[0]);--childrenCount}while(childrenCount=0){selection.push(value)}});me.ignoreSelection++;selModel=picker.getSelectionModel();selModel.deselectAll();if(selection.length){selModel.select(selection)}me.ignoreSelection--}}});Ext.define("Ext.picker.Month",{extend:"Ext.Component",requires:["Ext.XTemplate","Ext.util.ClickRepeater","Ext.Date","Ext.button.Button"],alias:"widget.monthpicker",alternateClassName:"Ext.MonthPicker",renderTpl:['
    ','
    ','','',"","
    ",'
    ','
    ','','',"
    ",'','',"","
    ",'
    ',"
    ",'','
    ',"
    "],okText:"OK",cancelText:"Cancel",baseCls:Ext.baseCSSPrefix+"monthpicker",showButtons:true,width:178,smallCls:Ext.baseCSSPrefix+"monthpicker-small",totalYears:10,yearOffset:5,monthOffset:6,initComponent:function(){var me=this;me.selectedCls=me.baseCls+"-selected";me.addEvents("cancelclick","monthclick","monthdblclick","okclick","select","yearclick","yeardblclick");if(me.small){me.addCls(me.smallCls)}me.setValue(me.value);me.activeYear=me.getYear(new Date().getFullYear()-4,-4);this.callParent()},onRender:function(ct,position){var me=this,i=0,months=[],shortName=Ext.Date.getShortMonthName,monthLen=me.monthOffset;for(;iactive+me.yearOffset)){me.activeYear=year-me.yearOffset+1}}me.updateBody()}return me},getValue:function(){return this.value},hasSelection:function(){var value=this.value;return value[0]!==null&&value[1]!==null},getYears:function(){var me=this,offset=me.yearOffset,start=me.activeYear,end=start+offset,i=start,years=[];for(;i','",'','','','',"","",'','',"{#:this.isEndOfWeek}",'","","","",'','',"","",{firstInitial:function(value){return value.substr(0,1)},isEndOfWeek:function(value){value--;var end=value%7===0&&value!==0;return end?'':""},longDay:function(value){return Ext.Date.format(value,this.longDayFormat)}}],ariaTitle:"Date Picker",todayText:"Today",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",disabledDaysText:"Disabled",disabledDatesText:"Disabled",nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,disableAnim:false,baseCls:Ext.baseCSSPrefix+"datepicker",longDayFormat:"F d, Y",focusOnShow:false,focusOnSelect:true,width:178,initHour:12,numDays:42,initComponent:function(){var me=this,clearTime=Ext.Date.clearTime;me.selectedCls=me.baseCls+"-selected";me.disabledCellCls=me.baseCls+"-disabled";me.prevCls=me.baseCls+"-prevday";me.activeCls=me.baseCls+"-active";me.nextCls=me.baseCls+"-prevday";me.todayCls=me.baseCls+"-today";me.dayNames=me.dayNames.slice(me.startDay).concat(me.dayNames.slice(0,me.startDay));this.callParent();me.value=me.value?clearTime(me.value,true):clearTime(new Date());me.addEvents("select");me.initDisabledDays()},onRender:function(container,position){var me=this,days=new Array(me.numDays),today=Ext.Date.format(new Date(),me.format);Ext.applyIf(me,{renderData:{}});Ext.apply(me.renderData,{dayNames:me.dayNames,ariaTitle:me.ariaTitle,value:me.value,showToday:me.showToday,prevText:me.prevText,nextText:me.nextText,days:days});me.getTpl("renderTpl").longDayFormat=me.longDayFormat;me.addChildEls("eventEl","prevEl","nextEl","middleBtnEl","footerEl");this.callParent(arguments);me.el.unselectable();me.cells=me.eventEl.select("tbody td");me.textNodes=me.eventEl.query("tbody td span");me.monthBtn=Ext.create("Ext.button.Split",{text:"",tooltip:me.monthYearText,renderTo:me.middleBtnEl});me.todayBtn=Ext.create("Ext.button.Button",{renderTo:me.footerEl,text:Ext.String.format(me.todayText,today),tooltip:Ext.String.format(me.todayTip,today),handler:me.selectToday,scope:me})},initEvents:function(){var me=this,eDate=Ext.Date,day=eDate.DAY;this.callParent();me.prevRepeater=Ext.create("Ext.util.ClickRepeater",me.prevEl,{handler:me.showPrevMonth,scope:me,preventDefault:true,stopDefault:true});me.nextRepeater=Ext.create("Ext.util.ClickRepeater",me.nextEl,{handler:me.showNextMonth,scope:me,preventDefault:true,stopDefault:true});me.keyNav=Ext.create("Ext.util.KeyNav",me.eventEl,Ext.apply({scope:me,left:function(e){if(e.ctrlKey){me.showPrevMonth()}else{me.update(eDate.add(me.activeDate,day,-1))}},right:function(e){if(e.ctrlKey){me.showNextMonth()}else{me.update(eDate.add(me.activeDate,day,1))}},up:function(e){if(e.ctrlKey){me.showNextYear()}else{me.update(eDate.add(me.activeDate,day,-7))}},down:function(e){if(e.ctrlKey){me.showPrevYear()}else{me.update(eDate.add(me.activeDate,day,7))}},pageUp:me.showNextMonth,pageDown:me.showPrevMonth,enter:function(e){e.stopPropagation();return true}},me.keyNavConfig));if(me.showToday){me.todayKeyListener=me.eventEl.addKeyListener(Ext.EventObject.SPACE,me.selectToday,me)}me.mon(me.eventEl,"mousewheel",me.handleMouseWheel,me);me.mon(me.eventEl,"click",me.handleDateClick,me,{delegate:"a."+me.baseCls+"-date"});me.mon(me.monthBtn,"click",me.showMonthPicker,me);me.mon(me.monthBtn,"arrowclick",me.showMonthPicker,me);me.update(me.value)},initDisabledDays:function(){var me=this,dd=me.disabledDates,re="(?:",len;if(!me.disabledDatesRE&&dd){len=dd.length-1;Ext.each(dd,function(d,i){re+=Ext.isDate(d)?"^"+Ext.String.escapeRegex(Ext.Date.dateFormat(d,me.format))+"$":dd[i];if(i!=len){re+="|"}},me);me.disabledDatesRE=new RegExp(re+")")}},setDisabledDates:function(dd){var me=this;if(Ext.isArray(dd)){me.disabledDates=dd;me.disabledDatesRE=null}else{me.disabledDatesRE=dd}me.initDisabledDays();me.update(me.value,true);return me},setDisabledDays:function(dd){this.disabledDays=dd;return this.update(this.value,true)},setMinDate:function(dt){this.minDate=dt;return this.update(this.value,true)},setMaxDate:function(dt){this.maxDate=dt;return this.update(this.value,true)},setValue:function(value){this.value=Ext.Date.clearTime(value,true);return this.update(this.value)},getValue:function(){return this.value},focus:function(){this.update(this.activeDate)},onEnable:function(){this.callParent();this.setDisabledStatus(false);this.update(this.activeDate)},onDisable:function(){this.callParent();this.setDisabledStatus(true)},setDisabledStatus:function(disabled){var me=this;me.keyNav.setDisabled(disabled);me.prevRepeater.setDisabled(disabled);me.nextRepeater.setDisabled(disabled);if(me.showToday){me.todayKeyListener.setDisabled(disabled);me.todayBtn.setDisabled(disabled)}},getActive:function(){return this.activeDate||this.value},runAnimation:function(isHide){var picker=this.monthPicker,options={duration:200,callback:function(){if(isHide){picker.hide()}else{picker.show()}}};if(isHide){picker.el.slideOut("t",options)}else{picker.el.slideIn("t",options)}},hideMonthPicker:function(animate){var me=this,picker=me.monthPicker;if(picker){if(me.shouldAnimate(animate)){me.runAnimation(true)}else{picker.hide()}}return me},showMonthPicker:function(animate){var me=this,picker;if(me.rendered&&!me.disabled){picker=me.createMonthPicker();picker.setValue(me.getActive());picker.setSize(me.getSize());picker.setPosition(-1,-1);if(me.shouldAnimate(animate)){me.runAnimation(false)}else{picker.show()}}return me},shouldAnimate:function(animate){return Ext.isDefined(animate)?animate:!this.disableAnim},createMonthPicker:function(){var me=this,picker=me.monthPicker;if(!picker){me.monthPicker=picker=Ext.create("Ext.picker.Month",{renderTo:me.el,floating:true,shadow:false,small:me.showToday===false,listeners:{scope:me,cancelclick:me.onCancelClick,okclick:me.onOkClick,yeardblclick:me.onOkClick,monthdblclick:me.onOkClick}});if(!me.disableAnim){picker.el.setStyle("display","none")}me.on("beforehide",Ext.Function.bind(me.hideMonthPicker,me,[false]))}return picker},onOkClick:function(picker,value){var me=this,month=value[0],year=value[1],date=new Date(year,month,me.getActive().getDate());if(date.getMonth()!==month){date=new Date(year,month,1).getLastDateOfMonth()}me.update(date);me.hideMonthPicker()},onCancelClick:function(){this.hideMonthPicker()},showPrevMonth:function(e){return this.update(Ext.Date.add(this.activeDate,Ext.Date.MONTH,-1))},showNextMonth:function(e){return this.update(Ext.Date.add(this.activeDate,Ext.Date.MONTH,1))},showPrevYear:function(){this.update(Ext.Date.add(this.activeDate,Ext.Date.YEAR,-1))},showNextYear:function(){this.update(Ext.Date.add(this.activeDate,Ext.Date.YEAR,1))},handleMouseWheel:function(e){e.stopEvent();if(!this.disabled){var delta=e.getWheelDelta();if(delta>0){this.showPrevMonth()}else{if(delta<0){this.showNextMonth()}}}},handleDateClick:function(e,t){var me=this,handler=me.handler;e.stopEvent();if(!me.disabled&&t.dateValue&&!Ext.fly(t.parentNode).hasCls(me.disabledCellCls)){me.cancelFocus=me.focusOnSelect===false;me.setValue(new Date(t.dateValue));delete me.cancelFocus;me.fireEvent("select",me,me.value);if(handler){handler.call(me.scope||me,me,me.value)}me.onSelect()}},onSelect:function(){if(this.hideOnSelect){this.hide()}},selectToday:function(){var me=this,btn=me.todayBtn,handler=me.handler;if(btn&&!btn.disabled){me.setValue(Ext.Date.clearTime(new Date()));me.fireEvent("select",me,me.value);if(handler){handler.call(me.scope||me,me,me.value)}me.onSelect()}return me},selectedUpdate:function(date,active){var me=this,t=date.getTime(),cells=me.cells,cls=me.selectedCls;cells.removeCls(cls);cells.each(function(c){if(c.dom.firstChild.dateValue==t){me.el.dom.setAttribute("aria-activedescendent",c.dom.id);c.addCls(cls);if(me.isVisible()&&!me.cancelFocus){Ext.fly(c.dom.firstChild).focus(50)}return false}},this)},fullUpdate:function(date,active){var me=this,cells=me.cells.elements,textNodes=me.textNodes,disabledCls=me.disabledCellCls,eDate=Ext.Date,i=0,extraDays=0,visible=me.isVisible(),sel=+eDate.clearTime(date,true),today=+eDate.clearTime(new Date()),min=me.minDate?eDate.clearTime(me.minDate,true):Number.NEGATIVE_INFINITY,max=me.maxDate?eDate.clearTime(me.maxDate,true):Number.POSITIVE_INFINITY,ddMatch=me.disabledDatesRE,ddText=me.disabledDatesText,ddays=me.disabledDays?me.disabledDays.join(""):false,ddaysText=me.disabledDaysText,format=me.format,days=eDate.getDaysInMonth(date),firstOfMonth=eDate.getFirstDateOfMonth(date),startingPos=firstOfMonth.getDay()-me.startDay,previousMonth=eDate.add(date,eDate.MONTH,-1),longDayFormat=me.longDayFormat,prevStart,current,disableToday,tempDate,setCellClass,html,cls,formatValue,value;if(startingPos<0){startingPos+=7}days+=startingPos;prevStart=eDate.getDaysInMonth(previousMonth)-startingPos;current=new Date(previousMonth.getFullYear(),previousMonth.getMonth(),prevStart,me.initHour);if(me.showToday){tempDate=eDate.clearTime(new Date());disableToday=(tempDatemax||(ddMatch&&format&&ddMatch.test(eDate.dateFormat(tempDate,format)))||(ddays&&ddays.indexOf(tempDate.getDay())!=-1));if(!me.disabled){me.todayBtn.setDisabled(disableToday);me.todayKeyListener.setDisabled(disableToday)}}setCellClass=function(cell){value=+eDate.clearTime(current,true);cell.title=eDate.format(current,longDayFormat);cell.firstChild.dateValue=value;if(value==today){cell.className+=" "+me.todayCls;cell.title=me.todayText}if(value==sel){cell.className+=" "+me.selectedCls;me.el.dom.setAttribute("aria-activedescendant",cell.id);if(visible&&me.floating){Ext.fly(cell.firstChild).focus(50)}}if(valuemax){cell.className=disabledCls;cell.title=me.maxText;return}if(ddays){if(ddays.indexOf(current.getDay())!=-1){cell.title=ddaysText;cell.className=disabledCls}}if(ddMatch&&format){formatValue=eDate.dateFormat(current,format);if(ddMatch.test(formatValue)){cell.title=ddText.replace("%0",formatValue);cell.className=disabledCls}}};for(;i=days){html=(++extraDays);cls=me.nextCls}else{html=i-startingPos+1;cls=me.activeCls}}textNodes[i].innerHTML=html;cells[i].className=cls;current.setDate(current.getDate()+1);setCellClass(cells[i])}me.monthBtn.setText(me.monthNames[date.getMonth()]+" "+date.getFullYear())},update:function(date,forceRefresh){var me=this,active=me.activeDate;if(me.rendered){me.activeDate=date;if(!forceRefresh&&active&&me.el&&active.getMonth()==date.getMonth()&&active.getFullYear()==date.getFullYear()){me.selectedUpdate(date,active)}else{me.fullUpdate(date,active)}}return me},beforeDestroy:function(){var me=this;if(me.rendered){Ext.destroy(me.todayKeyListener,me.keyNav,me.monthPicker,me.monthBtn,me.nextRepeater,me.prevRepeater,me.todayBtn);delete me.textNodes;delete me.cells.elements}me.callParent()},onShow:function(){this.callParent(arguments);if(this.focusOnShow){this.focus()}}},function(){var proto=this.prototype;proto.monthNames=Ext.Date.monthNames;proto.dayNames=Ext.Date.dayNames;proto.format=Ext.Date.defaultFormat});Ext.define("Ext.form.field.Date",{extend:"Ext.form.field.Picker",alias:"widget.datefield",requires:["Ext.picker.Date"],alternateClassName:["Ext.form.DateField","Ext.form.Date"],format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerCls:Ext.baseCSSPrefix+"form-date-trigger",showToday:true,initTime:"12",initTimeFormat:"H",matchFieldWidth:false,startDay:0,initComponent:function(){var me=this,isString=Ext.isString,min,max;min=me.minValue;max=me.maxValue;if(isString(min)){me.minValue=me.parseDate(min)}if(isString(max)){me.maxValue=me.parseDate(max)}me.disabledDatesRE=null;me.initDisabledDays();me.callParent()},initValue:function(){var me=this,value=me.value;if(Ext.isString(value)){me.value=me.rawToValue(value)}me.callParent()},initDisabledDays:function(){if(this.disabledDates){var dd=this.disabledDates,len=dd.length-1,re="(?:";Ext.each(dd,function(d,i){re+=Ext.isDate(d)?"^"+Ext.String.escapeRegex(d.dateFormat(this.format))+"$":dd[i];if(i!==len){re+="|"}},this);this.disabledDatesRE=new RegExp(re+")")}},setDisabledDates:function(dd){var me=this,picker=me.picker;me.disabledDates=dd;me.initDisabledDays();if(picker){picker.setDisabledDates(me.disabledDatesRE)}},setDisabledDays:function(dd){var picker=this.picker;this.disabledDays=dd;if(picker){picker.setDisabledDays(dd)}},setMinValue:function(dt){var me=this,picker=me.picker,minValue=(Ext.isString(dt)?me.parseDate(dt):dt);me.minValue=minValue;if(picker){picker.minText=Ext.String.format(me.minText,me.formatDate(me.minValue));picker.setMinDate(minValue)}},setMaxValue:function(dt){var me=this,picker=me.picker,maxValue=(Ext.isString(dt)?me.parseDate(dt):dt);me.maxValue=maxValue;if(picker){picker.maxText=Ext.String.format(me.maxText,me.formatDate(me.maxValue));picker.setMaxDate(maxValue)}},getErrors:function(value){var me=this,format=Ext.String.format,clearTime=Ext.Date.clearTime,errors=me.callParent(arguments),disabledDays=me.disabledDays,disabledDatesRE=me.disabledDatesRE,minValue=me.minValue,maxValue=me.maxValue,len=disabledDays?disabledDays.length:0,i=0,svalue,fvalue,day,time;value=me.formatDate(value||me.processRawValue(me.getRawValue()));if(value===null||value.length<1){return errors}svalue=value;value=me.parseDate(value);if(!value){errors.push(format(me.invalidText,svalue,me.format));return errors}time=value.getTime();if(minValue&&timeclearTime(maxValue).getTime()){errors.push(format(me.maxText,me.formatDate(maxValue)))}if(disabledDays){day=value.getDay();for(;i',{compiled:true,disableFormats:true}],fieldCls:Ext.baseCSSPrefix+"form-display-field",htmlEncode:false,validateOnChange:false,initEvents:Ext.emptyFn,submitValue:false,isValid:function(){return true},validate:function(){return true},getRawValue:function(){return this.rawValue},setRawValue:function(value){var me=this;value=Ext.value(value,"");me.rawValue=value;if(me.rendered){me.inputEl.dom.innerHTML=me.htmlEncode?Ext.util.Format.htmlEncode(value):value}return value},getContentTarget:function(){return this.inputEl}});Ext.define("Ext.form.field.File",{extend:"Ext.form.field.Text",alias:["widget.filefield","widget.fileuploadfield"],alternateClassName:["Ext.form.FileUploadField","Ext.ux.form.FileUploadField","Ext.form.File"],uses:["Ext.button.Button","Ext.layout.component.field.File"],buttonText:"Browse...",buttonOnly:false,buttonMargin:3,fieldBodyCls:Ext.baseCSSPrefix+"form-file-wrap",readOnly:true,componentLayout:"filefield",onRender:function(){var me=this,inputEl;me.callParent(arguments);me.createButton();me.createFileInput();if(me.disabled){me.disableItems()}inputEl=me.inputEl;inputEl.dom.removeAttribute("name");if(me.buttonOnly){inputEl.setDisplayed(false)}},createButton:function(){var me=this;me.button=Ext.widget("button",Ext.apply({ui:me.ui,renderTo:me.bodyEl,text:me.buttonText,cls:Ext.baseCSSPrefix+"form-file-btn",preventDefault:false,style:me.buttonOnly?"":"margin-left:"+me.buttonMargin+"px"},me.buttonConfig))},createFileInput:function(){var me=this;me.fileInputEl=me.button.el.createChild({name:me.getName(),cls:Ext.baseCSSPrefix+"form-file-input",tag:"input",type:"file",size:1}).on("change",me.onFileChange,me)},onFileChange:function(){this.lastValue=null;Ext.form.field.File.superclass.setValue.call(this,this.fileInputEl.dom.value)},setValue:Ext.emptyFn,reset:function(){var me=this;if(me.rendered){me.fileInputEl.remove();me.createFileInput();me.inputEl.dom.value=""}me.callParent()},onDisable:function(){this.callParent();this.disableItems()},disableItems:function(){var file=this.fileInputEl,button=this.button;if(file){file.dom.disabled=true}if(button){button.disable()}},onEnable:function(){var me=this;me.callParent();me.fileInputEl.dom.disabled=false;me.button.enable()},isFileUpload:function(){return true},extractFileInput:function(){var fileInput=this.fileInputEl.dom;this.reset();return fileInput},onDestroy:function(){Ext.destroyMembers(this,"fileInputEl","button");this.callParent()}});Ext.define("Ext.form.field.Hidden",{extend:"Ext.form.field.Base",alias:["widget.hiddenfield","widget.hidden"],alternateClassName:"Ext.form.Hidden",inputType:"hidden",hideLabel:true,initComponent:function(){this.formItemCls+="-hidden";this.callParent()},isEqual:function(value1,value2){return this.isEqualAsString(value1,value2)},initEvents:Ext.emptyFn,setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.picker.Color",{extend:"Ext.Component",requires:"Ext.XTemplate",alias:"widget.colorpicker",alternateClassName:"Ext.ColorPalette",componentCls:Ext.baseCSSPrefix+"color-picker",selectedCls:Ext.baseCSSPrefix+"color-picker-selected",value:null,clickEvent:"click",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],colorRe:/(?:^|\s)color-(.{6})(?:\s|$)/,renderTpl:['','',' ',"",""],initComponent:function(){var me=this;me.callParent(arguments);me.addEvents("select");if(me.handler){me.on("select",me.handler,me.scope,true)}},onRender:function(container,position){var me=this,clickEvent=me.clickEvent;Ext.apply(me.renderData,{itemCls:me.itemCls,colors:me.colors});me.callParent(arguments);me.mon(me.el,clickEvent,me.handleClick,me,{delegate:"a"});if(clickEvent!="click"){me.mon(me.el,"click",Ext.emptyFn,me,{delegate:"a",stopEvent:true})}},afterRender:function(){var me=this,value;me.callParent(arguments);if(me.value){value=me.value;me.value=null;me.select(value,true)}},handleClick:function(event,target){var me=this,color;event.stopEvent();if(!me.disabled){color=target.className.match(me.colorRe)[1];me.select(color.toUpperCase())}},select:function(color,suppressEvent){var me=this,selectedCls=me.selectedCls,value=me.value,el;color=color.replace("#","");if(!me.rendered){me.value=color;return}if(color!=value||me.allowReselect){el=me.el;if(me.value){el.down("a.color-"+value).removeCls(selectedCls)}el.down("a.color-"+color).addCls(selectedCls);me.value=color;if(suppressEvent!==true){me.fireEvent("select",me,color)}}},getValue:function(){return this.value||null}});Ext.define("Ext.layout.component.field.HtmlEditor",{extend:"Ext.layout.component.field.Field",alias:["layout.htmleditor"],type:"htmleditor",sizeBodyContents:function(width,height){var me=this,owner=me.owner,bodyEl=owner.bodyEl,toolbar=owner.getToolbar(),textarea=owner.textareaEl,iframe=owner.iframeEl,editorHeight;if(Ext.isNumber(width)){width-=bodyEl.getFrameWidth("lr")}toolbar.setWidth(width);textarea.setWidth(width);iframe.setWidth(width);if(Ext.isNumber(height)){editorHeight=height-toolbar.getHeight()-bodyEl.getFrameWidth("tb");textarea.setHeight(editorHeight);iframe.setHeight(editorHeight)}}});Ext.define("Ext.form.field.HtmlEditor",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.htmleditor",alternateClassName:"Ext.form.HtmlEditor",requires:["Ext.tip.QuickTipManager","Ext.picker.Color","Ext.toolbar.Item","Ext.toolbar.Toolbar","Ext.util.Format","Ext.layout.component.field.HtmlEditor"],fieldSubTpl:['
    ','','',{compiled:true,disableFormats:true}],enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:(Ext.isOpera||Ext.isIE6)?" ":"​",fieldBodyCls:Ext.baseCSSPrefix+"html-editor-wrap",componentLayout:"htmleditor",initialized:false,activated:false,sourceEditMode:false,iframePad:3,hideMode:"offsets",maskOnDisable:true,initComponent:function(){var me=this;me.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange");me.callParent(arguments);me.initLabelable();me.initField()},createToolbar:function(editor){var me=this,items=[],tipsEnabled=Ext.tip.QuickTipManager&&Ext.tip.QuickTipManager.isEnabled(),baseCSSPrefix=Ext.baseCSSPrefix,fontSelectItem,toolbar,undef;function btn(id,toggle,handler){return{itemId:id,cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-"+id,enableToggle:toggle!==false,scope:editor,handler:handler||editor.relayBtnCmd,clickEvent:"mousedown",tooltip:tipsEnabled?editor.buttonTips[id]||undef:undef,overflowText:editor.buttonTips[id].title||undef,tabIndex:-1}}if(me.enableFont&&!Ext.isSafari2){fontSelectItem=Ext.widget("component",{renderTpl:['"],renderData:{cls:baseCSSPrefix+"font-select",fonts:me.fontFamilies,defaultFont:me.defaultFont},childEls:["selectEl"],onDisable:function(){var selectEl=this.selectEl;if(selectEl){selectEl.dom.disabled=true}Ext.Component.superclass.onDisable.apply(this,arguments)},onEnable:function(){var selectEl=this.selectEl;if(selectEl){selectEl.dom.disabled=false}Ext.Component.superclass.onEnable.apply(this,arguments)}});items.push(fontSelectItem,"-")}if(me.enableFormat){items.push(btn("bold"),btn("italic"),btn("underline"))}if(me.enableFontSize){items.push("-",btn("increasefontsize",false,me.adjustFont),btn("decreasefontsize",false,me.adjustFont))}if(me.enableColors){items.push("-",{itemId:"forecolor",cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-forecolor",overflowText:editor.buttonTips.forecolor.title,tooltip:tipsEnabled?editor.buttonTips.forecolor||undef:undef,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,clickEvent:"mousedown",handler:function(cp,color){me.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+color:color);me.deferFocus();this.up("menu").hide()}}]})},{itemId:"backcolor",cls:baseCSSPrefix+"btn-icon",iconCls:baseCSSPrefix+"edit-backcolor",overflowText:editor.buttonTips.backcolor.title,tooltip:tipsEnabled?editor.buttonTips.backcolor||undef:undef,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,clickEvent:"mousedown",handler:function(cp,color){if(Ext.isGecko){me.execCmd("useCSS",false);me.execCmd("hilitecolor",color);me.execCmd("useCSS",true);me.deferFocus()}else{me.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+color:color);me.deferFocus()}this.up("menu").hide()}}]})})}if(me.enableAlignments){items.push("-",btn("justifyleft"),btn("justifycenter"),btn("justifyright"))}if(!Ext.isSafari2){if(me.enableLinks){items.push("-",btn("createlink",false,me.createLink))}if(me.enableLists){items.push("-",btn("insertorderedlist"),btn("insertunorderedlist"))}if(me.enableSourceEdit){items.push("-",btn("sourceedit",true,function(btn){me.toggleSourceEdit(!me.sourceEditMode)}))}}toolbar=Ext.widget("toolbar",{renderTo:me.toolbarWrap,enableOverflow:true,items:items});if(fontSelectItem){me.fontSelect=fontSelectItem.selectEl;me.mon(me.fontSelect,"change",function(){me.relayCmd("fontname",me.fontSelect.dom.value);me.deferFocus()})}me.mon(toolbar.el,"click",function(e){e.preventDefault()});me.toolbar=toolbar},onDisable:function(){this.bodyEl.mask();this.callParent(arguments)},onEnable:function(){this.bodyEl.unmask();this.callParent(arguments)},setReadOnly:function(readOnly){var me=this,textareaEl=me.textareaEl,iframeEl=me.iframeEl,body;me.readOnly=readOnly;if(textareaEl){textareaEl.dom.readOnly=readOnly}if(me.initialized){body=me.getEditorBody();if(Ext.isIE){iframeEl.setDisplayed(false);body.contentEditable=!readOnly;iframeEl.setDisplayed(true)}else{me.setDesignMode(!readOnly)}if(body){body.style.cursor=readOnly?"default":"text"}me.disableItems(readOnly)}},getDocMarkup:function(){var me=this,h=me.iframeEl.getHeight()-me.iframePad*2;return Ext.String.format('',me.iframePad,h)},getEditorBody:function(){var doc=this.getDoc();return doc.body||doc.documentElement},getDoc:function(){return(!Ext.isIE&&this.iframeEl.dom.contentDocument)||this.getWin().document},getWin:function(){return Ext.isIE?this.iframeEl.dom.contentWindow:window.frames[this.iframeEl.dom.name]},onRender:function(){var me=this;me.onLabelableRender();me.addChildEls("toolbarWrap","iframeEl","textareaEl");me.callParent(arguments);me.textareaEl.dom.value=me.value||"";me.monitorTask=Ext.TaskManager.start({run:me.checkDesignMode,scope:me,interval:100});me.createToolbar(me);me.disableItems(true)},initRenderTpl:function(){var me=this;if(!me.hasOwnProperty("renderTpl")){me.renderTpl=me.getTpl("labelableRenderTpl")}return me.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},getSubTplData:function(){var cssPrefix=Ext.baseCSSPrefix;return{cmpId:this.id,id:this.getInputId(),toolbarWrapCls:cssPrefix+"html-editor-tb",textareaCls:cssPrefix+"hidden",iframeName:Ext.id(),iframeSrc:Ext.SSL_SECURE_URL,size:"height:100px;"}},getSubTplMarkup:function(){var data=this.getSubTplData();return this.getTpl("fieldSubTpl").apply(data)},getBodyNaturalWidth:function(){return 565},initFrameDoc:function(){var me=this,doc,task;Ext.TaskManager.stop(me.monitorTask);doc=me.getDoc();me.win=me.getWin();doc.open();doc.write(me.getDocMarkup());doc.close();task={run:function(){var doc=me.getDoc();if(doc.body||doc.readyState==="complete"){Ext.TaskManager.stop(task);me.setDesignMode(true);Ext.defer(me.initEditor,10,me)}},interval:10,duration:10000,scope:me};Ext.TaskManager.start(task)},checkDesignMode:function(){var me=this,doc=me.getDoc();if(doc&&(!doc.editorInitialized||me.getDesignMode()!=="on")){me.initFrameDoc()}},setDesignMode:function(mode){var me=this,doc=me.getDoc();if(doc){if(me.readOnly){mode=false}doc.designMode=(/on|true/i).test(String(mode).toLowerCase())?"on":"off"}},getDesignMode:function(){var doc=this.getDoc();return !doc?"":String(doc.designMode).toLowerCase()},disableItems:function(disabled){this.getToolbar().items.each(function(item){if(item.getItemId()!=="sourceedit"){item.setDisabled(disabled)}})},toggleSourceEdit:function(sourceEditMode){var me=this,iframe=me.iframeEl,textarea=me.textareaEl,hiddenCls=Ext.baseCSSPrefix+"hidden",btn=me.getToolbar().getComponent("sourceedit");if(!Ext.isBoolean(sourceEditMode)){sourceEditMode=!me.sourceEditMode}me.sourceEditMode=sourceEditMode;if(btn.pressed!==sourceEditMode){btn.toggle(sourceEditMode)}if(sourceEditMode){me.disableItems(true);me.syncValue();iframe.addCls(hiddenCls);textarea.removeCls(hiddenCls);textarea.dom.removeAttribute("tabIndex");textarea.focus()}else{if(me.initialized){me.disableItems(me.readOnly)}me.pushValue();iframe.removeCls(hiddenCls);textarea.addCls(hiddenCls);textarea.dom.setAttribute("tabIndex",-1);me.deferFocus()}me.fireEvent("editmodechange",me,sourceEditMode);me.doComponentLayout()},createLink:function(){var url=prompt(this.createLinkText,this.defaultLinkValue);if(url&&url!=="http://"){this.relayCmd("createlink",url)}},clearInvalid:Ext.emptyFn,setValue:function(value){var me=this,textarea=me.textareaEl;me.mixins.field.setValue.call(me,value);if(value===null||value===undefined){value=""}if(textarea){textarea.dom.value=value}me.pushValue();return this},cleanHtml:function(html){html=String(html);if(Ext.isWebKit){html=html.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}if(html.charCodeAt(0)===this.defaultValue.replace(/\D/g,"")){html=html.substring(1)}return html},syncValue:function(){var me=this,body,html,bodyStyle,match;if(me.initialized){body=me.getEditorBody();html=body.innerHTML;if(Ext.isWebKit){bodyStyle=body.getAttribute("style");match=bodyStyle.match(/text-align:(.*?);/i);if(match&&match[1]){html='
    '+html+"
    "}}html=me.cleanHtml(html);if(me.fireEvent("beforesync",me,html)!==false){me.textareaEl.dom.value=html;me.fireEvent("sync",me,html)}}},getValue:function(){var me=this,value;if(!me.sourceEditMode){me.syncValue()}value=me.rendered?me.textareaEl.dom.value:me.value;me.value=value;return value},pushValue:function(){var me=this,v;if(me.initialized){v=me.textareaEl.dom.value||"";if(!me.activated&&v.length<1){v=me.defaultValue}if(me.fireEvent("beforepush",me,v)!==false){me.getEditorBody().innerHTML=v;if(Ext.isGecko){me.setDesignMode(false);me.setDesignMode(true)}me.fireEvent("push",me,v)}}},deferFocus:function(){this.focus(false,true)},getFocusEl:function(){var me=this,win=me.win;return win&&!me.sourceEditMode?win:me.textareaEl},initEditor:function(){try{var me=this,dbody=me.getEditorBody(),ss=me.textareaEl.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),doc,fn;ss["background-attachment"]="fixed";dbody.bgProperties="fixed";Ext.DomHelper.applyStyles(dbody,ss);doc=me.getDoc();if(doc){try{Ext.EventManager.removeAll(doc)}catch(e){}}fn=Ext.Function.bind(me.onEditorEvent,me);Ext.EventManager.on(doc,{mousedown:fn,dblclick:fn,click:fn,keyup:fn,buffer:100});fn=me.onRelayedEvent;Ext.EventManager.on(doc,{mousedown:fn,mousemove:fn,mouseup:fn,click:fn,dblclick:fn,scope:me});if(Ext.isGecko){Ext.EventManager.on(doc,"keypress",me.applyCommand,me)}if(me.fixKeys){Ext.EventManager.on(doc,"keydown",me.fixKeys,me)}Ext.EventManager.on(window,"unload",me.beforeDestroy,me);doc.editorInitialized=true;me.initialized=true;me.pushValue();me.setReadOnly(me.readOnly);me.fireEvent("initialize",me)}catch(ex){}},beforeDestroy:function(){var me=this,monitorTask=me.monitorTask,doc,prop;if(monitorTask){Ext.TaskManager.stop(monitorTask)}if(me.rendered){try{doc=me.getDoc();if(doc){Ext.EventManager.removeAll(doc);for(prop in doc){if(doc.hasOwnProperty(prop)){delete doc[prop]}}}}catch(e){}Ext.destroyMembers(me,"tb","toolbarWrap","iframeEl","textareaEl")}me.callParent()},onRelayedEvent:function(event){var iframeEl=this.iframeEl,iframeXY=iframeEl.getXY(),eventXY=event.getXY();event.xy=[iframeXY[0]+eventXY[0],iframeXY[1]+eventXY[1]];event.injectEvent(iframeEl);event.xy=eventXY},onFirstFocus:function(){var me=this,selection,range;me.activated=true;me.disableItems(me.readOnly);if(Ext.isGecko){me.win.focus();selection=me.win.getSelection();if(!selection.focusNode||selection.focusNode.nodeType!==3){range=selection.getRangeAt(0);range.selectNodeContents(me.getEditorBody());range.collapse(true);me.deferFocus()}try{me.execCmd("useCSS",true);me.execCmd("styleWithCSS",false)}catch(e){}}me.fireEvent("activate",me)},adjustFont:function(btn){var adjust=btn.getItemId()==="increasefontsize"?1:-1,size=this.getDoc().queryCommandValue("FontSize")||"2",isPxSize=Ext.isString(size)&&size.indexOf("px")!==-1,isSafari;size=parseInt(size,10);if(isPxSize){if(size<=10){size=1+adjust}else{if(size<=13){size=2+adjust}else{if(size<=16){size=3+adjust}else{if(size<=18){size=4+adjust}else{if(size<=24){size=5+adjust}else{size=6+adjust}}}}}size=Ext.Number.constrain(size,1,6)}else{isSafari=Ext.isSafari;if(isSafari){adjust*=2}size=Math.max(1,size+adjust)+(isSafari?"px":0)}this.execCmd("FontSize",size)},onEditorEvent:function(e){this.updateToolbar()},updateToolbar:function(){var me=this,btns,doc,name,fontSelect;if(me.readOnly){return}if(!me.activated){me.onFirstFocus();return}btns=me.getToolbar().items.map;doc=me.getDoc();if(me.enableFont&&!Ext.isSafari2){name=(doc.queryCommandValue("FontName")||me.defaultFont).toLowerCase();fontSelect=me.fontSelect.dom;if(name!==fontSelect.value){fontSelect.value=name}}function updateButtons(){Ext.Array.forEach(Ext.Array.toArray(arguments),function(name){btns[name].toggle(doc.queryCommandState(name))})}if(me.enableFormat){updateButtons("bold","italic","underline")}if(me.enableAlignments){updateButtons("justifyleft","justifycenter","justifyright")}if(!Ext.isSafari2&&me.enableLists){updateButtons("insertorderedlist","insertunorderedlist")}Ext.menu.Manager.hideAll();me.syncValue()},relayBtnCmd:function(btn){this.relayCmd(btn.getItemId())},relayCmd:function(cmd,value){Ext.defer(function(){var me=this;me.focus();me.execCmd(cmd,value);me.updateToolbar()},10,this)},execCmd:function(cmd,value){var me=this,doc=me.getDoc(),undef;doc.execCommand(cmd,false,value===undef?null:value);me.syncValue()},applyCommand:function(e){if(e.ctrlKey){var me=this,c=e.getCharCode(),cmd;if(c>0){c=String.fromCharCode(c);switch(c){case"b":cmd="bold";break;case"i":cmd="italic";break;case"u":cmd="underline";break}if(cmd){me.win.focus();me.execCmd(cmd);me.deferFocus();e.preventDefault()}}}},insertAtCursor:function(text){var me=this,range;if(me.activated){me.win.focus();if(Ext.isIE){range=me.getDoc().selection.createRange();if(range){range.pasteHTML(text);me.syncValue();me.deferFocus()}}else{me.execCmd("InsertHTML",text);me.deferFocus()}}},fixKeys:function(){if(Ext.isIE){return function(e){var me=this,k=e.getKey(),doc=me.getDoc(),range,target;if(k===e.TAB){e.stopEvent();range=doc.selection.createRange();if(range){range.collapse(true);range.pasteHTML("    ");me.deferFocus()}}else{if(k===e.ENTER){range=doc.selection.createRange();if(range){target=range.parentElement();if(!target||target.tagName.toLowerCase()!=="li"){e.stopEvent();range.pasteHTML("
    ");range.collapse(false);range.select()}}}}}}if(Ext.isOpera){return function(e){var me=this;if(e.getKey()===e.TAB){e.stopEvent();me.win.focus();me.execCmd("InsertHTML","    ");me.deferFocus()}}}if(Ext.isWebKit){return function(e){var me=this,k=e.getKey();if(k===e.TAB){e.stopEvent();me.execCmd("InsertText","\t");me.deferFocus()}else{if(k===e.ENTER){e.stopEvent();me.execCmd("InsertHtml","

    ");me.deferFocus()}}}}return null}(),getToolbar:function(){return this.toolbar},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:Ext.baseCSSPrefix+"html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:Ext.baseCSSPrefix+"html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:Ext.baseCSSPrefix+"html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:Ext.baseCSSPrefix+"html-editor-tip"}}});Ext.define("Ext.form.field.Radio",{extend:"Ext.form.field.Checkbox",alias:["widget.radiofield","widget.radio"],alternateClassName:"Ext.form.Radio",requires:["Ext.form.RadioManager"],isRadio:true,inputType:"radio",ariaRole:"radio",getGroupValue:function(){var selected=this.getManager().getChecked(this.name);return selected?selected.inputValue:null},onBoxClick:function(e){var me=this;if(!me.disabled&&!me.readOnly){this.setValue(true)}},setValue:function(v){var me=this,active;if(Ext.isBoolean(v)){me.callParent(arguments)}else{active=me.getManager().getWithValue(me.name,v).getAt(0);if(active){active.setValue(true)}}return me},getSubmitValue:function(){return this.checked?this.inputValue:null},getModelData:function(){return this.getSubmitData()},onChange:function(newVal,oldVal){var me=this;me.callParent(arguments);if(newVal){this.getManager().getByName(me.name).each(function(item){if(item!==me){item.setValue(false)}},me)}},getManager:function(){return Ext.form.RadioManager}});Ext.define("Ext.picker.Time",{extend:"Ext.view.BoundList",alias:"widget.timepicker",requires:["Ext.data.Store","Ext.Date"],increment:15,format:"g:i A",displayField:"disp",initDate:[2008,0,1],componentCls:Ext.baseCSSPrefix+"timepicker",loadMask:false,initComponent:function(){var me=this,dateUtil=Ext.Date,clearTime=dateUtil.clearTime,initDate=me.initDate;me.absMin=clearTime(new Date(initDate[0],initDate[1],initDate[2]));me.absMax=dateUtil.add(clearTime(new Date(initDate[0],initDate[1],initDate[2])),"mi",(24*60)-1);me.store=me.createStore();me.updateList();me.callParent()},setMinValue:function(value){this.minValue=value;this.updateList()},setMaxValue:function(value){this.maxValue=value;this.updateList()},normalizeDate:function(date){var initDate=this.initDate;date.setFullYear(initDate[0],initDate[1],initDate[2]);return date},updateList:function(){var me=this,min=me.normalizeDate(me.minValue||me.absMin),max=me.normalizeDate(me.maxValue||me.absMax);me.store.filterBy(function(record){var date=record.get("date");return date>=min&&date<=max})},createStore:function(){var me=this,utilDate=Ext.Date,times=[],min=me.absMin,max=me.absMax;while(min<=max){times.push({disp:utilDate.dateFormat(min,me.format),date:min});min=utilDate.add(min,"mi",me.increment)}return Ext.create("Ext.data.Store",{fields:["disp","date"],data:times})}});Ext.define("Ext.form.field.Time",{extend:"Ext.form.field.Picker",alias:"widget.timefield",requires:["Ext.form.field.Date","Ext.picker.Time","Ext.view.BoundListKeyNav","Ext.Date"],alternateClassName:["Ext.form.TimeField","Ext.form.Time"],triggerCls:Ext.baseCSSPrefix+"form-time-trigger",minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,pickerMaxHeight:300,selectOnTab:true,initDate:"1/1/2008",initDateFormat:"j/n/Y",initComponent:function(){var me=this,min=me.minValue,max=me.maxValue;if(min){me.setMinValue(min)}if(max){me.setMaxValue(max)}this.callParent()},initValue:function(){var me=this,value=me.value;if(Ext.isString(value)){me.value=me.rawToValue(value)}me.callParent()},setMinValue:function(value){var me=this,picker=me.picker;me.setLimit(value,true);if(picker){picker.setMinValue(me.minValue)}},setMaxValue:function(value){var me=this,picker=me.picker;me.setLimit(value,false);if(picker){picker.setMaxValue(me.maxValue)}},setLimit:function(value,isMin){var me=this,d,val;if(Ext.isString(value)){d=me.parseDate(value)}else{if(Ext.isDate(value)){d=value}}if(d){val=Ext.Date.clearTime(new Date(me.initDate));val.setHours(d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds());me[isMin?"minValue":"maxValue"]=val}},rawToValue:function(rawValue){return this.parseDate(rawValue)||rawValue||null},valueToRaw:function(value){return this.formatDate(this.parseDate(value))},getErrors:function(value){var me=this,format=Ext.String.format,errors=me.callParent(arguments),minValue=me.minValue,maxValue=me.maxValue,date;value=me.formatDate(value||me.processRawValue(me.getRawValue()));if(value===null||value.length<1){return errors}date=me.parseDate(value);if(!date){errors.push(format(me.invalidText,value,me.format));return errors}if(minValue&&datemaxValue){errors.push(format(me.maxText,me.formatDate(maxValue)))}return errors},formatDate:function(){return Ext.form.field.Date.prototype.formatDate.apply(this,arguments)},parseDate:function(value){if(!value||Ext.isDate(value)){return value}var me=this,val=me.safeParse(value,me.format),altFormats=me.altFormats,altFormatsArray=me.altFormatsArray,i=0,len;if(!val&&altFormats){altFormatsArray=altFormatsArray||altFormats.split("|");len=altFormatsArray.length;for(;iotherHeight){otherHeaderCt.layout.align="stretch";otherHeaderCt.setCalculatedSize(otherHeaderCt.getWidth(),owner.getHeight(),otherHeaderCt.ownerCt);delete otherHeaderCt.layout.align;modifiedGrid=otherHeaderCt.up("tablepanel")}else{if(otherHeight>thisHeight){headerHeight=otherHeight;this.align="stretch";owner.setCalculatedSize(owner.getWidth(),otherHeaderCt.getHeight(),owner.ownerCt);delete this.align;modifiedGrid=owner.up("tablepanel")}}topGrid.componentLayout.layoutBusy=false;items=bothHeaderCts[0].layout.getLayoutItems().concat(bothHeaderCts[1].layout.getLayoutItems())}else{headerHeight=this.getRenderTarget().getViewSize().height;items=me.getLayoutItems()}len=items.length;for(;inormalHeights[i]){Ext.fly(normalRowEls[i]).setHeight(lockedHeights[i])}else{if(lockedHeights[i]','
    ',""],initComponent:function(){var me=this,dock=me.dock,cls=Ext.baseCSSPrefix+"scroller-vertical";me.offsets={bottom:0};me.scrollProp="scrollTop";me.vertical=true;me.sizeProp="width";if(dock==="top"||dock==="bottom"){cls=Ext.baseCSSPrefix+"scroller-horizontal";me.sizeProp="height";me.scrollProp="scrollLeft";me.vertical=false;me.weight+=5}me.cls+=(" "+cls);Ext.applyIf(me.renderSelectors,{stretchEl:"."+Ext.baseCSSPrefix+"stretcher",scrollEl:"."+Ext.baseCSSPrefix+"scroller-ct"});me.callParent()},ensureDimension:function(){var me=this,sizeProp=me.sizeProp;me[sizeProp]=me.scrollerSize=Ext.getScrollbarSize()[sizeProp]},initRenderData:function(){var me=this,ret=me.callParent(arguments)||{};ret.baseId=me.id;return ret},afterRender:function(){var me=this;me.callParent();me.mon(me.scrollEl,"scroll",me.onElScroll,me);Ext.cache[me.el.id].skipGarbageCollection=true},onAdded:function(container){this.ownerGrid=container;this.callParent(arguments)},getSizeCalculation:function(){var me=this,owner=me.getPanel(),width=1,height=1,view,tbl;if(!me.vertical){var items=owner.query("tableview"),center=items[1]||items[0];if(!center){return false}width=center.headerCt.getFullWidth();if(Ext.isIEQuirks){width--}}else{view=owner.down("tableview:not([lockableInjected])");if(!view||!view.el){return false}tbl=view.el.child("table",true);if(!tbl){return false}height=tbl.offsetHeight}if(isNaN(width)){width=1}if(isNaN(height)){height=1}return{width:width,height:height}},invalidate:function(firstPass){var me=this,stretchEl=me.stretchEl;if(!stretchEl||!me.ownerCt){return}var size=me.getSizeCalculation(),scrollEl=me.scrollEl,elDom=scrollEl.dom,reservedSpace=me.reservedSpace,pos,extra=5;if(size){stretchEl.setSize(size);size=me.el.getSize(true);if(me.vertical){size.width+=extra;size.height-=reservedSpace;pos="left"}else{size.width-=reservedSpace;size.height+=extra;pos="top"}scrollEl.setSize(size);elDom.style[pos]=(-extra)+"px";elDom.scrollTop=elDom.scrollTop}},afterComponentLayout:function(){this.callParent(arguments);this.invalidate()},restoreScrollPos:function(){var me=this,el=this.scrollEl,elDom=el&&el.dom;if(me._scrollPos!==null&&elDom){elDom[me.scrollProp]=me._scrollPos;me._scrollPos=null}},setReservedSpace:function(reservedSpace){var me=this;if(me.reservedSpace!==reservedSpace){me.reservedSpace=reservedSpace;me.invalidate()}},saveScrollPos:function(){var me=this,el=this.scrollEl,elDom=el&&el.dom;me._scrollPos=elDom?elDom[me.scrollProp]:null},setScrollTop:function(scrollTop){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return elDom.scrollTop=Ext.Number.constrain(scrollTop,0,elDom.scrollHeight-elDom.clientHeight)}},setScrollLeft:function(scrollLeft){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return elDom.scrollLeft=Ext.Number.constrain(scrollLeft,0,elDom.scrollWidth-elDom.clientWidth)}},scrollByDeltaY:function(delta){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return this.setScrollTop(elDom.scrollTop+delta)}},scrollByDeltaX:function(delta){var el=this.scrollEl,elDom=el&&el.dom;if(elDom){return this.setScrollLeft(elDom.scrollLeft+delta)}},scrollToTop:function(){this.setScrollTop(0)},onElScroll:function(event,target){this.fireEvent("bodyscroll",event,target)},getPanel:function(){var me=this;if(!me.panel){me.panel=this.up("[scrollerOwner]")}return me.panel}});Ext.define("Ext.grid.PagingScroller",{extend:"Ext.grid.Scroller",alias:"widget.paginggridscroller",percentageFromEdge:0.35,scrollToLoadBuffer:200,activePrefetch:true,chunkSize:50,snapIncrement:25,syncScroll:true,initComponent:function(){var me=this,ds=me.store;ds.on("guaranteedrange",me.onGuaranteedRange,me);me.callParent(arguments)},onGuaranteedRange:function(range,start,end){var me=this,ds=me.store,rs;if(range.length&&me.visibleStart=pageSize){if(requestEnd>totalCount-1){me.cancelLoad();if(store.rangeSatisfied(totalCount-pageSize,totalCount-1)){me.syncScroll=true}store.guaranteeRange(totalCount-pageSize,totalCount-1)}else{if(visibleStart<=guaranteedStart||visibleEnd>guaranteedEnd){if(visibleStart<=guaranteedStart){requestStart-=snap;requestEnd-=snap;if(requestStart<0){requestStart=0;requestEnd=pageSize}}if(store.rangeSatisfied(requestStart,requestEnd)){me.cancelLoad();store.guaranteeRange(requestStart,requestEnd)}else{store.mask();me.attemptLoad(requestStart,requestEnd)}me.syncScroll=false}else{if(activePrefetch&&visibleStart<(guaranteedStart+numFromEdge)&&prevPage>0){me.syncScroll=true;store.prefetchPage(prevPage)}else{if(activePrefetch&&visibleEnd>(guaranteedEnd-numFromEdge)&&nextPagemaxScrollTop){return}for(;iclientHeight){reqScrollbars=1;if(horizontalScroller&&((clientWidth-scrollWidth)clientWidth){reqScrollbars=2;if(verticalScroller&&((clientHeight-scrollHeight)0&&horizontalCanScrollRight)){e.stopEvent();horizScroller.scrollByDeltaX(deltaX)}}if(vertScroller){if((deltaY<0&&verticalCanScrollUp)||(deltaY>0&&verticalCanScrollDown)){e.stopEvent();vertScroller.scrollByDeltaY(deltaY)}}},onViewReady:function(){var me=this;me.fireEvent("viewready",me);if(me.deferRowRender){me.determineScrollbars();me.invalidateScroller()}},onViewRefresh:function(){var me=this;if(!me.rendering){this.determineScrollbars();if(this.invalidateScrollerOnRefresh){this.invalidateScroller()}}},setScrollTop:function(top){var me=this,rootCmp=me.getScrollerOwner(),verticalScroller=me.getVerticalScroller();rootCmp.virtualScrollTop=top;if(verticalScroller){verticalScroller.setScrollTop(top)}},getScrollerOwner:function(){var rootCmp=this;if(!this.scrollerOwner){rootCmp=this.up("[scrollerOwner]")}return rootCmp},scrollByDeltaY:function(deltaY){var verticalScroller=this.getVerticalScroller();if(verticalScroller){verticalScroller.scrollByDeltaY(deltaY)}},scrollByDeltaX:function(deltaX){var horizontalScroller=this.getHorizontalScroller();if(horizontalScroller){horizontalScroller.scrollByDeltaX(deltaX)}},getLhsMarker:function(){var me=this;if(!me.lhsMarker){me.lhsMarker=Ext.DomHelper.append(me.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return me.lhsMarker},getRhsMarker:function(){var me=this;if(!me.rhsMarker){me.rhsMarker=Ext.DomHelper.append(me.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true)}return me.rhsMarker},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var mode="SINGLE",type;if(this.simpleSelect){mode="SIMPLE"}else{if(this.multiSelect){mode="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:mode});if(!this.selModel.events){type=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+type,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},onVerticalScroll:function(event,target){var owner=this.getScrollerOwner(),items=owner.query("tableview"),i=0,len=items.length;for(;i";me.callParent();me.mon(me.store,{load:me.onStoreLoad,scope:me})},onStoreLoad:function(){var me=this;if(me.invalidateScrollerOnRefresh){if(Ext.isGecko){if(!me.scrollToTopTask){me.scrollToTopTask=Ext.create("Ext.util.DelayedTask",me.scrollToTop,me)}me.scrollToTopTask.delay(1)}else{me.scrollToTop()}}},scrollToTop:Ext.emptyFn,addElListener:function(eventName,fn,scope){this.mon(this,eventName,fn,scope,{element:"el"})},getGridColumns:function(){return this.headerCt.getGridColumns()},getHeaderAtIndex:function(index){return this.headerCt.getHeaderAtIndex(index)},getCell:function(record,column){var row=this.getNode(record);return Ext.fly(row).down(column.getCellSelector())},getFeature:function(id){var features=this.featuresMC;if(features){return features.get(id)}},initFeatures:function(){var me=this,i=0,features,len;me.features=me.features||[];features=me.features;len=features.length;me.featuresMC=Ext.create("Ext.util.MixedCollection");for(;ielRegion.bottom){adjustment=rowRegion.bottom-elRegion.bottom}}record=me.getRecord(row);rowIdx=me.store.indexOf(record);if(adjustment){panel.scrollByDeltaY(adjustment)}me.fireEvent("rowfocus",record,row,rowIdx)}},focusCell:function(position){var me=this,cell=me.getCellByPosition(position),el=me.el,adjustmentY=0,adjustmentX=0,elRegion=el.getRegion(),panel=me.ownerCt,cellRegion,record;if(cell){cellRegion=cell.getRegion();if(cellRegion.topelRegion.bottom){adjustmentY=cellRegion.bottom-elRegion.bottom}}if(cellRegion.leftelRegion.right){adjustmentX=cellRegion.right-elRegion.right}}if(adjustmentY){panel.scrollByDeltaY(adjustmentY)}if(adjustmentX){panel.scrollByDeltaX(adjustmentX)}el.focus();me.fireEvent("cellfocus",record,cell,position)}},scrollByDelta:function(delta,dir){dir=dir||"scrollTop";var elDom=this.el.dom;elDom[dir]=(elDom[dir]+=delta)},onUpdate:function(ds,index){this.callParent(arguments)},saveScrollState:function(){if(this.rendered){var dom=this.el.dom,state=this.scrollState;state.left=dom.scrollLeft;state.top=dom.scrollTop}},restoreScrollState:function(){if(this.rendered){var dom=this.el.dom,state=this.scrollState,headerEl=this.headerCt.el.dom;headerEl.scrollLeft=dom.scrollLeft=state.left;dom.scrollTop=state.top}},refresh:function(){this.setNewTemplate();this.callParent(arguments)},processItemEvent:function(record,row,rowIndex,e){var me=this,cell=e.getTarget(me.cellSelector,row),cellIndex=cell?cell.cellIndex:-1,map=me.statics().EventMap,selModel=me.getSelectionModel(),type=e.type,result;if(type=="keydown"&&!cell&&selModel.getCurrentPosition){cell=me.getCellByPosition(selModel.getCurrentPosition());if(cell){cell=cell.dom;cellIndex=cell.cellIndex}}result=me.fireEvent("uievent",type,me,cell,rowIndex,cellIndex,e);if(result===false||me.callParent(arguments)===false){return false}if(type=="mouseover"||type=="mouseout"){return true}return !((me["onBeforeCell"+map[type]](cell,cellIndex,record,row,rowIndex,e)===false)||(me.fireEvent("beforecell"+type,me,cell,cellIndex,record,row,rowIndex,e)===false)||(me["onCell"+map[type]](cell,cellIndex,record,row,rowIndex,e)===false)||(me.fireEvent("cell"+type,me,cell,cellIndex,record,row,rowIndex,e)===false))},processSpecialEvent:function(e){var me=this,map=me.statics().EventMap,features=me.features,ln=features.length,type=e.type,i,feature,prefix,featureTarget,beforeArgs,args,panel=me.ownerCt;me.callParent(arguments);if(type=="mouseover"||type=="mouseout"){return}for(i=0;imaxWidth){maxWidth=scrollWidth}}return maxWidth},getPositionByEvent:function(e){var me=this,cellNode=e.getTarget(me.cellSelector),rowNode=e.getTarget(me.itemSelector),record=me.getRecord(rowNode),header=me.getHeaderByCell(cellNode);return me.getPosition(record,header)},getHeaderByCell:function(cell){if(cell){var m=cell.className.match(this.cellRe);if(m&&m[1]){return Ext.getCmp(m[1])}}return false},walkCells:function(pos,direction,e,preventWrap,verifierFn,scope){var me=this,row=pos.row,column=pos.column,rowCount=me.store.getCount(),firstCol=me.getFirstVisibleColumnIndex(),lastCol=me.getLastVisibleColumnIndex(),newPos={row:row,column:column},activeHeader=me.headerCt.getHeaderAtIndex(column);if(!activeHeader||activeHeader.hidden){return false}e=e||{};direction=direction.toLowerCase();switch(direction){case"right":if(column===lastCol){if(preventWrap||row===rowCount-1){return false}if(!e.ctrlKey){newPos.row=row+1;newPos.column=firstCol}}else{if(!e.ctrlKey){newPos.column=column+me.getRightGap(activeHeader)}else{newPos.column=lastCol}}break;case"left":if(column===firstCol){if(preventWrap||row===0){return false}if(!e.ctrlKey){newPos.row=row-1;newPos.column=lastCol}}else{if(!e.ctrlKey){newPos.column=column+me.getLeftGap(activeHeader)}else{newPos.column=firstCol}}break;case"up":if(row===0){return false}else{if(!e.ctrlKey){newPos.row=row-1}else{newPos.row=0}}break;case"down":if(row===rowCount-1){return false}else{if(!e.ctrlKey){newPos.row=row+1}else{newPos.row=rowCount-1}}break}if(verifierFn&&verifierFn.call(scope||window,newPos)!==true){return false}else{return newPos}},getFirstVisibleColumnIndex:function(){var headerCt=this.getHeaderCt(),allColumns=headerCt.getGridColumns(),visHeaders=Ext.ComponentQuery.query(":not([hidden])",allColumns),firstHeader=visHeaders[0];return headerCt.getHeaderIndex(firstHeader)},getLastVisibleColumnIndex:function(){var headerCt=this.getHeaderCt(),allColumns=headerCt.getGridColumns(),visHeaders=Ext.ComponentQuery.query(":not([hidden])",allColumns),lastHeader=visHeaders[visHeaders.length-1];return headerCt.getHeaderIndex(lastHeader)},getHeaderCt:function(){return this.headerCt},getPosition:function(record,header){var me=this,store=me.store,gridCols=me.headerCt.getGridColumns();return{row:store.indexOf(record),column:Ext.Array.indexOf(gridCols,header)}},getRightGap:function(activeHeader){var headerCt=this.getHeaderCt(),headers=headerCt.getGridColumns(),activeHeaderIdx=Ext.Array.indexOf(headers,activeHeader),i=activeHeaderIdx+1,nextIdx;for(;i<=headers.length;i++){if(!headers[i].hidden){nextIdx=i;break}}return nextIdx-activeHeaderIdx},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(activeHeader){var headerCt=this.getHeaderCt(),headers=headerCt.getGridColumns(),activeHeaderIdx=Ext.Array.indexOf(headers,activeHeader),i=activeHeaderIdx-1,prevIdx;for(;i>=0;i--){if(!headers[i].hidden){prevIdx=i;break}}return prevIdx-activeHeaderIdx}});Ext.define("Ext.grid.View",{extend:"Ext.view.Table",alias:"widget.gridview",stripeRows:true,invalidateScrollerOnRefresh:true,scrollToTop:function(){if(this.rendered){var section=this.ownerCt,verticalScroller=section.verticalScroller;if(verticalScroller){verticalScroller.scrollToTop()}}},onAdd:function(ds,records,index){this.callParent(arguments);this.doStripeRows(index)},onRemove:function(ds,records,index){this.callParent(arguments);this.doStripeRows(index)},onUpdate:function(ds,record,operation){var index=ds.indexOf(record);this.callParent(arguments);this.doStripeRows(index,index)},doStripeRows:function(startRow,endRow){if(this.stripeRows){var rows=this.getNodes(startRow,endRow),rowsLn=rows.length,i=0,row;for(;i=0){context.row=view.getNode(idx);me.reposition();if(me.tooltip&&me.tooltip.isVisible()){me.tooltip.setTarget(context.row)}}else{me.editingPlugin.cancelEdit()}},onCtScroll:function(e,target){var me=this,scrollTop=target.scrollTop,scrollLeft=target.scrollLeft;if(scrollTop!==me.lastScrollTop){me.lastScrollTop=scrollTop;if((me.tooltip&&me.tooltip.isVisible())||me.hiddenTip){me.repositionTip()}}if(scrollLeft!==me.lastScrollLeft){me.lastScrollLeft=scrollLeft;me.reposition()}},onColumnAdd:function(column){this.setField(column)},onColumnRemove:function(column){this.columns.remove(column)},onColumnResize:function(column,width){column.getEditor().setWidth(width-2);if(this.isVisible()){this.reposition()}},onColumnHide:function(column){column.getEditor().hide();if(this.isVisible()){this.reposition()}},onColumnShow:function(column){var field=column.getEditor();field.setWidth(column.getWidth()-2).show();if(this.isVisible()){this.reposition()}},onColumnMove:function(column,fromIdx,toIdx){var field=column.getEditor();if(this.items.indexOf(field)!=toIdx){this.move(fromIdx,toIdx)}},onFieldAdd:function(map,fieldId,column){var me=this,colIdx=me.editingPlugin.grid.headerCt.getHeaderIndex(column),field=column.getEditor({xtype:"displayfield"});me.insert(colIdx,field)},onFieldRemove:function(map,fieldId,column){var me=this,field=column.getEditor(),fieldEl=field.el;me.remove(field,false);if(fieldEl){fieldEl.remove()}},onFieldReplace:function(map,fieldId,column,oldColumn){var me=this;me.onFieldRemove(map,fieldId,oldColumn)},clearFields:function(){var me=this,map=me.columns;map.each(function(fieldId){map.removeAtKey(fieldId)})},getFloatingButtons:function(){var me=this,cssPrefix=Ext.baseCSSPrefix,btnsCss=cssPrefix+"grid-row-editor-buttons",plugin=me.editingPlugin,btns;if(!me.floatingButtons){btns=me.floatingButtons=Ext.create("Ext.Container",{renderTpl:['
    ','
    ','
    ','
    ','
    '],renderTo:me.el,baseCls:btnsCss,layout:{type:"hbox",align:"middle"},defaults:{margins:"0 1 0 1"},items:[{itemId:"update",flex:1,xtype:"button",handler:plugin.completeEdit,scope:plugin,text:me.saveBtnText,disabled:!me.isValid},{flex:1,xtype:"button",handler:plugin.cancelEdit,scope:plugin,text:me.cancelBtnText}]});me.mon(btns.el,{mousedown:Ext.emptyFn,click:Ext.emptyFn,stopEvent:true})}return me.floatingButtons},reposition:function(animateConfig){var me=this,context=me.context,row=context&&Ext.get(context.row),btns=me.getFloatingButtons(),btnEl=btns.el,grid=me.editingPlugin.grid,viewEl=grid.view.el,scroller=grid.verticalScroller,mainBodyWidth=grid.headerCt.getFullWidth(),scrollerWidth=grid.getWidth(),width=Math.min(mainBodyWidth,scrollerWidth),scrollLeft=grid.view.el.dom.scrollLeft,btnWidth=btns.getWidth(),left=(width-btnWidth)/2+scrollLeft,y,rowH,newHeight,invalidateScroller=function(){if(scroller){scroller.invalidate();btnEl.scrollIntoView(viewEl,false)}if(animateConfig&&animateConfig.callback){animateConfig.callback.call(animateConfig.scope||me)}};if(row&&Ext.isElement(row.dom)){row.scrollIntoView(viewEl,false);y=row.getXY()[1]-5;rowH=row.getHeight();newHeight=rowH+10;if(Ext.isIE){newHeight+=2}if(me.getHeight()!=newHeight){me.setHeight(newHeight);me.el.setLeft(0)}if(animateConfig){var animObj={to:{y:y},duration:animateConfig.duration||125,listeners:{afteranimate:function(){invalidateScroller();y=row.getXY()[1]-5;me.el.setY(y)}}};me.animate(animObj)}else{me.el.setY(y);invalidateScroller()}}if(me.getWidth()!=mainBodyWidth){me.setWidth(mainBodyWidth)}btnEl.setLeft(left)},getEditor:function(fieldInfo){var me=this;if(Ext.isNumber(fieldInfo)){return me.query(">[isFormField]")[fieldInfo]}else{if(fieldInfo instanceof Ext.grid.column.Column){return fieldInfo.getEditor()}}},removeField:function(field){var me=this;field=me.getEditor(field);me.mun(field,"validitychange",me.onValidityChange,me);me.columns.removeKey(field.id)},setField:function(column){var me=this,field;if(Ext.isArray(column)){Ext.Array.forEach(column,me.setField,me);return}field=column.getEditor(null,{xtype:"displayfield",getModelData:function(){return null}});field.margins="0 0 0 2";field.setWidth(column.getDesiredWidth()-2);me.mon(field,"change",me.onFieldChange,me);me.columns.add(field.id,column);if(column.hidden){me.onColumnHide(column)}if(me.isVisible()&&me.context){me.renderColumnData(field,me.context.record)}},loadRecord:function(record){var me=this,form=me.getForm();form.loadRecord(record);if(form.isValid()){me.hideToolTip()}else{me.showToolTip()}Ext.Array.forEach(me.query(">displayfield"),function(field){me.renderColumnData(field,record)},me)},renderColumnData:function(field,record){var me=this,grid=me.editingPlugin.grid,headerCt=grid.headerCt,view=grid.view,store=view.store,column=me.columns.get(field.id),value=record.get(column.dataIndex);if(column.renderer){var metaData={tdCls:"",style:""},rowIdx=store.indexOf(record),colIdx=headerCt.getHeaderIndex(column);value=column.renderer.call(column.scope||headerCt.ownerCt,value,metaData,record,rowIdx,colIdx,store,view)}field.setRawValue(value);field.resetOriginalValue()},beforeEdit:function(){var me=this;if(me.isVisible()&&!me.autoCancel&&me.isDirty()){me.showToolTip();return false}},startEdit:function(record,columnHeader){var me=this,grid=me.editingPlugin.grid,view=grid.getView(),store=grid.store,context=me.context=Ext.apply(me.editingPlugin.context,{view:grid.getView(),store:store});context.grid.getSelectionModel().select(record);me.loadRecord(record);if(!me.isVisible()){me.show();me.focusContextCell()}else{me.reposition({callback:this.focusContextCell})}},focusContextCell:function(){var field=this.getEditor(this.context.colIdx);if(field&&field.focus){field.focus()}},cancelEdit:function(){var me=this,form=me.getForm();me.hide();form.clearInvalid();form.reset()},completeEdit:function(){var me=this,form=me.getForm();if(!form.isValid()){return}form.updateRecord(me.context.record);me.hide();return true},onShow:function(){var me=this;me.callParent(arguments);me.reposition()},onHide:function(){var me=this;me.callParent(arguments);me.hideToolTip();me.invalidateScroller();if(me.context){me.context.view.focus();me.context=null}},isDirty:function(){var me=this,form=me.getForm();return form.isDirty()},getToolTip:function(){var me=this,tip;if(!me.tooltip){tip=me.tooltip=Ext.createWidget("tooltip",{cls:Ext.baseCSSPrefix+"grid-row-editor-errors",title:me.errorsText,autoHide:false,closable:true,closeAction:"disable",anchor:"left"})}return me.tooltip},hideToolTip:function(){var me=this,tip=me.getToolTip();if(tip.rendered){tip.disable()}me.hiddenTip=false},showToolTip:function(){var me=this,tip=me.getToolTip(),context=me.context,row=Ext.get(context.row),viewEl=context.grid.view.el;tip.setTarget(row);tip.showAt([-10000,-10000]);tip.body.update(me.getErrors());tip.mouseOffset=[viewEl.getWidth()-row.getWidth()+me.lastScrollLeft+15,0];me.repositionTip();tip.doLayout();tip.enable()},repositionTip:function(){var me=this,tip=me.getToolTip(),context=me.context,row=Ext.get(context.row),viewEl=context.grid.view.el,viewHeight=viewEl.getHeight(),viewTop=me.lastScrollTop,viewBottom=viewTop+viewHeight,rowHeight=row.getHeight(),rowTop=row.dom.offsetTop,rowBottom=rowTop+rowHeight;if(rowBottom>viewTop&&rowTop":"",errors=[];Ext.Array.forEach(me.query(">[isFormField]"),function(field){errors=errors.concat(Ext.Array.map(field.getErrors(),function(e){return"
  • "+e+"
  • "}))},me);return dirtyText+"
      "+errors.join("")+"
    "},invalidateScroller:function(){var me=this,context=me.context,scroller=context.grid.verticalScroller;if(scroller){scroller.invalidate()}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",uses:["Ext.grid.ColumnLayout","Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var me=this;me.headerCounter=0;me.plugins=me.plugins||[];if(!me.isHeader){me.resizer=Ext.create("Ext.grid.plugin.HeaderResizer");me.reorderer=Ext.create("Ext.grid.plugin.HeaderReorderer");if(!me.enableColumnResize){me.resizer.disable()}if(!me.enableColumnMove){me.reorderer.disable()}me.plugins.push(me.reorderer,me.resizer)}if(me.isHeader&&!me.items){me.layout="auto"}else{me.layout={type:"gridcolumn",availableSpaceOffset:me.availableSpaceOffset,align:"stretchmax",resetStretch:true}}me.defaults=me.defaults||{};Ext.applyIf(me.defaults,{width:me.defaultWidth,triStateSort:me.triStateSort,sortable:me.sortable});me.callParent();me.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){Ext.destroy(this.resizer,this.reorderer);this.callParent()},applyDefaults:function(config){if(config&&!config.isComponent&&config.xtype=="rownumberer"){return config}return this.callParent([config])},applyColumnsState:function(columns){if(!columns||!columns.length){return}var me=this,i=0,index,col;Ext.each(columns,function(columnState){col=me.down("gridcolumn[headerId="+columnState.id+"]");if(col){index=me.items.indexOf(col);if(i!==index){me.moveHeader(index,i)}if(col.applyColumnState){col.applyColumnState(columnState)}++i}})},getColumnsState:function(){var me=this,columns=[],state;me.items.each(function(col){state=col.getColumnState&&col.getColumnState();if(state){columns.push(state)}});return columns},onAdd:function(c){var me=this;if(!c.headerId){c.headerId=c.initialConfig.id||("h"+(++me.headerCounter))}me.callParent(arguments);me.purgeCache()},onRemove:function(c){var me=this;me.callParent(arguments);me.purgeCache()},afterRender:function(){this.callParent();var store=this.up("[store]").store,sorters=store.sorters,first=sorters.first(),hd;if(first){hd=this.down("gridcolumn[dataIndex="+first.property+"]");if(hd){hd.setSortState(first.direction,false,true)}}},afterLayout:function(){if(!this.isHeader){var me=this,topHeaders=me.query(">gridcolumn:not([hidden])"),viewEl,firstHeaderEl,lastHeaderEl;me.callParent(arguments);if(topHeaders.length){firstHeaderEl=topHeaders[0].el;if(firstHeaderEl!==me.pastFirstHeaderEl){if(me.pastFirstHeaderEl){me.pastFirstHeaderEl.removeCls(me.firstHeaderCls)}firstHeaderEl.addCls(me.firstHeaderCls);me.pastFirstHeaderEl=firstHeaderEl}lastHeaderEl=topHeaders[topHeaders.length-1].el;if(lastHeaderEl!==me.pastLastHeaderEl){if(me.pastLastHeaderEl){me.pastLastHeaderEl.removeCls(me.lastHeaderCls)}lastHeaderEl.addCls(me.lastHeaderCls);me.pastLastHeaderEl=lastHeaderEl}}}},onHeaderShow:function(header,preventLayout){var me=this,gridSection=me.ownerCt,menu=me.getMenu(),topItems,topItemsVisible,colCheckItem,itemToEnable,len,i;if(menu){colCheckItem=menu.down("menucheckitem[headerId="+header.id+"]");if(colCheckItem){colCheckItem.setChecked(true,true)}topItems=menu.query("#columnItem>menucheckitem[checked]");topItemsVisible=topItems.length;if((me.getVisibleGridColumns().length>1)&&me.disabledMenuItems&&me.disabledMenuItems.length){if(topItemsVisible==1){Ext.Array.remove(me.disabledMenuItems,topItems[0])}for(i=0,len=me.disabledMenuItems.length;imenucheckitem[checked]");if((itemsToDisable.length===1)){if(!me.disabledMenuItems){me.disabledMenuItems=[]}if((me.getVisibleGridColumns().length===1)&&itemsToDisable[0].menu){itemsToDisable=itemsToDisable.concat(itemsToDisable[0].menu.query("menucheckitem[checked]"))}len=itemsToDisable.length;for(i=0;igridcolumn[hideable]"),itemsLn=items.length,menuItem;for(;i{text}
    ',dataIndex:null,text:" ",sortable:true,hideable:true,menuDisabled:false,renderer:false,align:"left",draggable:true,initDraggable:Ext.emptyFn,isHeader:true,initComponent:function(){var me=this,i,len,item;if(Ext.isDefined(me.header)){me.text=me.header;delete me.header}if(me.flex){me.minWidth=me.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}else{me.minWidth=me.width}if(!me.triStateSort){me.possibleSortStates.length=2}if(Ext.isDefined(me.columns)){me.isGroupHeader=true;me.items=me.columns;delete me.columns;delete me.flex;me.width=0;for(i=0,len=me.items.length;i:not([hidden])");if(!items.length){me.ownerCt.hide()}else{for(i=0,len=items.length;i*");for(i=0,len=items.length;i:not([hidden])");for(i=0,len=items.length;i
    ',indicatorCls:"x-grid-drop-indicator",constructor:function(config){var me=this;Ext.apply(me,config);if(!me.ddGroup){me.ddGroup="view-dd-zone-"+me.view.id}me.callParent([me.view.el])},fireViewEvent:function(){var me=this,result;me.lock();result=me.view.fireEvent.apply(me.view,arguments);me.unlock();return result},getTargetFromEvent:function(e){var node=e.getTarget(this.view.getItemSelector()),mouseY,nodeList,testNode,i,len,box;if(!node){mouseY=e.getPageY();for(i=0,nodeList=this.view.getNodes(),len=nodeList.length;i=(region.bottom-region.top)/2){pos="before"}else{pos="after"}return pos},containsRecordAtOffset:function(records,record,offset){if(!record){return false}var view=this.view,recordIndex=view.indexOf(record),nodeBefore=view.getNode(recordIndex+offset),recordBefore=nodeBefore?view.getRecord(nodeBefore):null;return recordBefore&&Ext.Array.contains(records,recordBefore)},positionIndicator:function(node,data,e){var me=this,view=me.view,pos=me.getPosition(e,node),overRecord=view.getRecord(node),draggingRecords=data.records,indicator,indicatorY;if(!Ext.Array.contains(draggingRecords,overRecord)&&(pos=="before"&&!me.containsRecordAtOffset(draggingRecords,overRecord,-1)||pos=="after"&&!me.containsRecordAtOffset(draggingRecords,overRecord,1))){me.valid=true;if(me.overRecord!=overRecord||me.currentPosition!=pos){indicatorY=Ext.fly(node).getY()-view.el.getY()-1;if(pos=="after"){indicatorY+=Ext.fly(node).getHeight()}me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0,indicatorY);me.overRecord=overRecord;me.currentPosition=pos}}else{me.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(node,dragZone,e,data){var me=this;if(!Ext.Array.contains(data.records,me.view.getRecord(node))){me.positionIndicator(node,data,e)}return me.valid?me.dropAllowed:me.dropNotAllowed},notifyOut:function(node,dragZone,e,data){var me=this;me.callParent(arguments);delete me.overRecord;delete me.currentPosition;if(me.indicator){me.indicator.hide()}},onContainerOver:function(dd,e,data){var me=this,view=me.view,count=view.store.getCount();if(count){me.positionIndicator(view.getNode(count-1),data,e)}else{delete me.overRecord;delete me.currentPosition;me.getIndicator().setWidth(Ext.fly(view.el).getWidth()).showAt(0,0);me.valid=true}return me.dropAllowed},onContainerDrop:function(dd,e,data){return this.onNodeDrop(dd,null,e,data)},onNodeDrop:function(node,dragZone,e,data){var me=this,dropped=false,processDrop=function(){me.invalidateDrop();me.handleNodeDrop(data,me.overRecord,me.currentPosition);dropped=true;me.fireViewEvent("drop",node,data,me.overRecord,me.currentPosition)},performOperation=false;if(me.valid){performOperation=me.fireViewEvent("beforedrop",node,data,me.overRecord,me.currentPosition,processDrop);if(performOperation!==false){if(!dropped){processDrop()}}}return performOperation},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'
    ',indicatorCls:"x-grid-drop-indicator",handleNodeDrop:function(data,record,position){var view=this.view,store=view.getStore(),index,records,i,len;if(data.copy){records=data.records;data.records=[];for(i=0,len=records.length;i"}return v}},enableAction:function(index){var me=this;if(!index){index=0}else{if(!Ext.isNumber(index)){index=Ext.Array.indexOf(me.items,index)}}me.items[index].disabled=false;me.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+index).removeCls(me.disabledCls)},disableAction:function(index){var me=this;if(!index){index=0}else{if(!Ext.isNumber(index)){index=Ext.Array.indexOf(me.items,index)}}me.items[index].disabled=true;me.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+index).addCls(me.disabledCls)},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(type,view,cell,recordIndex,cellIndex,e){var me=this,match=e.getTarget().className.match(me.actionIdRe),item,fn;if(match){item=me.items[parseInt(match[1],10)];if(item){if(type=="click"){fn=item.handler||me.handler;if(fn&&!item.disabled){fn.call(item.scope||me.scope||me,view,recordIndex,cellIndex,item,e)}}else{if(type=="mousedown"&&item.stopSelection!==false){return false}}}}return me.callParent(arguments)},cascade:function(fn,scope){fn.call(scope||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.grid.column.Boolean",{extend:"Ext.grid.column.Column",alias:["widget.booleancolumn"],alternateClassName:"Ext.grid.BooleanColumn",trueText:"true",falseText:"false",undefinedText:" ",constructor:function(cfg){this.callParent(arguments);var trueText=this.trueText,falseText=this.falseText,undefinedText=this.undefinedText;this.renderer=function(value){if(value===undefined){return undefinedText}if(!value||value==="false"){return falseText}return trueText}}});Ext.define("Ext.grid.column.Date",{extend:"Ext.grid.column.Column",alias:["widget.datecolumn"],requires:["Ext.Date"],alternateClassName:"Ext.grid.DateColumn",initComponent:function(){var me=this;me.callParent(arguments);if(!me.format){me.format=Ext.Date.defaultFormat}me.renderer=Ext.util.Format.dateRenderer(me.format)}});Ext.define("Ext.grid.column.Number",{extend:"Ext.grid.column.Column",alias:["widget.numbercolumn"],requires:["Ext.util.Format"],alternateClassName:"Ext.grid.NumberColumn",format:"0,000.00",constructor:function(cfg){this.callParent(arguments);this.renderer=Ext.util.Format.numberRenderer(this.format)}});Ext.define("Ext.grid.column.Template",{extend:"Ext.grid.column.Column",alias:["widget.templatecolumn"],requires:["Ext.XTemplate"],alternateClassName:"Ext.grid.TemplateColumn",constructor:function(cfg){var me=this,tpl;me.callParent(arguments);tpl=me.tpl=(!Ext.isPrimitive(me.tpl)&&me.tpl.compile)?me.tpl:Ext.create("Ext.XTemplate",me.tpl);me.renderer=function(value,p,record){var data=Ext.apply({},record.data,record.getAssociatedData());return tpl.apply(data)}}});Ext.define("Ext.grid.feature.Feature",{extend:"Ext.util.Observable",alias:"feature.feature",isFeature:true,disabled:false,hasFeatureEvent:true,eventPrefix:null,eventSelector:null,view:null,grid:null,collectData:false,getFeatureTpl:function(){return""},getFireEventArgs:function(eventName,view,featureTarget,e){return[eventName,view,featureTarget,e]},attachEvents:function(){},getFragmentTpl:function(){return},mutateMetaRowTpl:function(metaRowTplArray){},getMetaRowTplFragments:function(){return{}},getTableFragments:function(){return{}},getAdditionalData:function(data,idx,record,orig){return{}},enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Ext.grid.feature.AbstractSummary",{extend:"Ext.grid.feature.Feature",alias:"feature.abstractsummary",showSummaryRow:true,nestedIdRe:/\{\{id\}([\w\-]*)\}/g,toggleSummaryRow:function(visible){this.showSummaryRow=!!visible},getSummaryFragments:function(){var fragments={};if(this.showSummaryRow){Ext.apply(fragments,{printSummaryRow:Ext.bind(this.printSummaryRow,this)})}return fragments},printSummaryRow:function(index){var inner=this.view.getTableChunker().metaRowTpl.join(""),prefix=Ext.baseCSSPrefix;inner=inner.replace(prefix+"grid-row",prefix+"grid-row-summary");inner=inner.replace("{{id}}","{gridSummaryValue}");inner=inner.replace(this.nestedIdRe,"{id$1}");inner=inner.replace("{[this.embedRowCls()]}","{rowCls}");inner=inner.replace("{[this.embedRowAttr()]}","{rowAttr}");inner=Ext.create("Ext.XTemplate",inner,{firstOrLastCls:Ext.view.TableChunker.firstOrLastCls});return inner.applyTemplate({columns:this.getPrintData(index)})},getColumnValue:function(column,summaryData){var comp=Ext.getCmp(column.id),value=summaryData[column.id],renderer=comp.summaryRenderer;if(renderer){value=renderer.call(comp.scope||this,value,summaryData,column.dataIndex)}return value},getSummary:function(store,type,field,group){if(type){if(Ext.isFunction(type)){return store.aggregate(type,null,group)}switch(type){case"count":return store.count(group);case"min":return store.min(field,group);case"max":return store.max(field,group);case"sum":return store.sum(field,group);case"average":return store.average(field,group);default:return group?{}:""}}}});Ext.define("Ext.grid.feature.Chunking",{extend:"Ext.grid.feature.Feature",alias:"feature.chunking",chunkSize:20,rowHeight:Ext.isIE?27:26,visibleChunk:0,hasFeatureEvent:false,attachEvents:function(){var grid=this.view.up("gridpanel"),scroller=grid.down("gridscroller[dock=right]");scroller.el.on("scroll",this.onBodyScroll,this,{buffer:300})},onBodyScroll:function(e,t){var view=this.view,top=t.scrollTop,nextChunk=Math.floor(top/this.rowHeight/this.chunkSize);if(nextChunk!==this.visibleChunk){this.visibleChunk=nextChunk;view.refresh();view.el.dom.scrollTop=top;view.el.dom.scrollTop=top}},collectData:function(records,preppedRecords,startIndex,fullWidth,orig){var o={fullWidth:orig.fullWidth,chunks:[]},recordCount=orig.rows.length,start=0,i=0,visibleChunk=this.visibleChunk,chunk,rows,chunkLength;for(;startrecordCount){chunkLength=recordCount-start}else{chunkLength=this.chunkSize}if(i>=visibleChunk-1&&i<=visibleChunk+1){rows=orig.rows.slice(start,start+this.chunkSize)}else{rows=[]}o.chunks.push({rows:rows,fullWidth:fullWidth,chunkHeight:chunkLength*this.rowHeight})}return o},getTableFragments:function(){return{openTableWrap:function(){return'
    '},closeTableWrap:function(){return"
    "}}}});Ext.define("Ext.grid.feature.Grouping",{extend:"Ext.grid.feature.Feature",alias:"feature.grouping",eventPrefix:"group",eventSelector:"."+Ext.baseCSSPrefix+"grid-group-hd",constructor:function(){var me=this;me.collapsedState={};me.callParent(arguments)},groupHeaderTpl:"Group: {name}",depthToIndent:17,collapsedCls:Ext.baseCSSPrefix+"grid-group-collapsed",hdCollapsedCls:Ext.baseCSSPrefix+"grid-group-hd-collapsed",groupByText:"Group By This Field",showGroupsText:"Show in Groups",hideGroupedHeader:false,startCollapsed:false,enableGroupingMenu:true,enableNoGroups:true,enable:function(){var me=this,view=me.view,store=view.store,groupToggleMenuItem;me.lastGroupField=me.getGroupField();if(me.lastGroupIndex){store.group(me.lastGroupIndex)}me.callParent();groupToggleMenuItem=me.view.headerCt.getMenu().down("#groupToggleMenuItem");groupToggleMenuItem.setChecked(true,true);me.refreshIf()},disable:function(){var me=this,view=me.view,store=view.store,remote=store.remoteGroup,groupToggleMenuItem,lastGroup;lastGroup=store.groupers.first();if(lastGroup){me.lastGroupIndex=lastGroup.property;me.block();store.clearGrouping();me.unblock()}me.callParent();groupToggleMenuItem=me.view.headerCt.getMenu().down("#groupToggleMenuItem");groupToggleMenuItem.setChecked(true,true);groupToggleMenuItem.setChecked(false,true);if(!remote){view.refresh()}},refreshIf:function(){if(this.blockRefresh!==true){this.view.refresh()}},getFeatureTpl:function(values,parent,x,xcount){var me=this;return["",'
    {collapsed}'+me.groupHeaderTpl+"
    ",'{[this.recurse(values)]}',"
    "].join("")},getFragmentTpl:function(){return{indentByDepth:this.indentByDepth,depthToIndent:this.depthToIndent}},indentByDepth:function(values){var depth=values.depth||0;return'style="padding-left:'+depth*this.depthToIndent+'px;"'},destroy:function(){var me=this;delete me.view;delete me.prunedHeader},attachEvents:function(){var me=this,view=me.view;view.on({scope:me,groupclick:me.onGroupClick,rowfocus:me.onRowFocus});view.store.on("groupchange",me.onGroupChange,me);me.pruneGroupedHeader();if(me.enableGroupingMenu){me.injectGroupingMenu()}me.lastGroupField=me.getGroupField();me.block();me.onGroupChange();me.unblock()},injectGroupingMenu:function(){var me=this,view=me.view,headerCt=view.headerCt;headerCt.showMenuBy=me.showMenuBy;headerCt.getMenuItems=me.getMenuItems()},showMenuBy:function(t,header){var menu=this.getMenu(),groupMenuItem=menu.down("#groupMenuItem"),groupableMth=header.groupable===false?"disable":"enable";groupMenuItem[groupableMth]();Ext.grid.header.Container.prototype.showMenuBy.apply(this,arguments)},getMenuItems:function(){var me=this,groupByText=me.groupByText,disabled=me.disabled,showGroupsText=me.showGroupsText,enableNoGroups=me.enableNoGroups,groupMenuItemClick=Ext.Function.bind(me.onGroupMenuItemClick,me),groupToggleMenuItemClick=Ext.Function.bind(me.onGroupToggleMenuItemClick,me);return function(){var o=Ext.grid.header.Container.prototype.getMenuItems.call(this);o.push("-",{iconCls:Ext.baseCSSPrefix+"group-by-icon",itemId:"groupMenuItem",text:groupByText,handler:groupMenuItemClick});if(enableNoGroups){o.push({itemId:"groupToggleMenuItem",text:showGroupsText,checked:!disabled,checkHandler:groupToggleMenuItemClick})}return o}},onGroupMenuItemClick:function(menuItem,e){var me=this,menu=menuItem.parentMenu,hdr=menu.activeHeader,view=me.view,store=view.store,remote=store.remoteGroup;delete me.lastGroupIndex;me.block();me.enable();store.group(hdr.dataIndex);me.pruneGroupedHeader();me.unblock();if(!remote){view.refresh()}},block:function(){this.blockRefresh=this.view.blockRefresh=true},unblock:function(){this.blockRefresh=this.view.blockRefresh=false},onGroupToggleMenuItemClick:function(menuItem,checked){this[checked?"enable":"disable"]()},pruneGroupedHeader:function(){var me=this,view=me.view,store=view.store,groupField=me.getGroupField(),headerCt=view.headerCt,header=headerCt.down("header[dataIndex="+groupField+"]");if(header){if(me.prunedHeader){me.prunedHeader.show()}me.prunedHeader=header;header.hide()}},getGroupField:function(){var group=this.view.store.groupers.first();if(group){return group.property}return""},onRowFocus:function(rowIdx){var node=this.view.getNode(rowIdx),groupBd=Ext.fly(node).up("."+this.collapsedCls);if(groupBd){this.expand(groupBd)}},expand:function(groupBd){var me=this,view=me.view,grid=view.up("gridpanel"),groupBdDom=Ext.getDom(groupBd);me.collapsedState[groupBdDom.id]=false;groupBd.removeCls(me.collapsedCls);groupBd.prev().removeCls(me.hdCollapsedCls);grid.determineScrollbars();grid.invalidateScroller();view.fireEvent("groupexpand")},collapse:function(groupBd){var me=this,view=me.view,grid=view.up("gridpanel"),groupBdDom=Ext.getDom(groupBd);me.collapsedState[groupBdDom.id]=true;groupBd.addCls(me.collapsedCls);groupBd.prev().addCls(me.hdCollapsedCls);grid.determineScrollbars();grid.invalidateScroller();view.fireEvent("groupcollapse")},onGroupChange:function(){var me=this,field=me.getGroupField(),menuItem;if(me.hideGroupedHeader){if(me.lastGroupField){menuItem=me.getMenuItem(me.lastGroupField);if(menuItem){menuItem.setChecked(true)}}if(field){menuItem=me.getMenuItem(field);if(menuItem){menuItem.setChecked(false)}}}if(me.blockRefresh!==true){me.view.refresh()}me.lastGroupField=field},getMenuItem:function(dataIndex){var view=this.view,header=view.headerCt.down("gridcolumn[dataIndex="+dataIndex+"]"),menu=view.headerCt.getMenu();return menu.down("menuitem[headerId="+header.id+"]")},onGroupClick:function(view,group,idx,foo,e){var me=this,toggleCls=me.toggleCls,groupBd=Ext.fly(group.nextSibling,"_grouping");if(groupBd.hasCls(me.collapsedCls)){me.expand(groupBd)}else{me.collapse(groupBd)}},getMetaRowTplFragments:function(){return{isRow:this.isRow,closeRow:this.closeRow}},isRow:function(){return""},closeRow:function(){return""},mutateMetaRowTpl:function(metaRowTpl){metaRowTpl.unshift("{[this.isRow()]}");metaRowTpl.push("{[this.closeRow()]}")},getAdditionalData:function(data,idx,record,orig){var view=this.view,hCt=view.headerCt,col=hCt.items.getAt(0),o={},tdAttrKey=col.id+"-tdAttr";o[tdAttrKey]=this.indentByDepth(data)+" "+(orig[tdAttrKey]?orig[tdAttrKey]:"");o.collapsed="true";return o},getGroupRows:function(group,records,preppedRecords,fullWidth){var me=this,children=group.children,rows=group.rows=[],view=me.view;group.viewId=view.id;Ext.Array.each(records,function(record,idx){if(Ext.Array.indexOf(children,record)!=-1){rows.push(Ext.apply(preppedRecords[idx],{depth:1}))}});delete group.children;group.fullWidth=fullWidth;if(me.collapsedState[view.id+"-gp-"+group.name]){group.collapsedCls=me.collapsedCls;group.hdCollapsedCls=me.hdCollapsedCls}return group},collectData:function(records,preppedRecords,startIndex,fullWidth,o){var me=this,store=me.view.store,groups;if(!me.disabled&&store.isGrouped()){groups=store.getGroups();Ext.Array.each(groups,function(group,idx){me.getGroupRows(group,records,preppedRecords,fullWidth)},me);return{rows:groups,fullWidth:fullWidth}}return o},getFireEventArgs:function(type,view,featureTarget,e){var returnArray=[type,view,featureTarget],groupBd=Ext.fly(featureTarget.nextSibling,"_grouping"),groupBdId=Ext.getDom(groupBd).id,prefix=view.id+"-gp-",groupName=groupBdId.substr(prefix.length);returnArray.push(groupName,e);return returnArray}});Ext.define("Ext.grid.feature.GroupingSummary",{extend:"Ext.grid.feature.Grouping",alias:"feature.groupingsummary",mixins:{summary:"Ext.grid.feature.AbstractSummary"},getFeatureTpl:function(){var tpl=this.callParent(arguments);if(this.showSummaryRow){tpl=tpl.replace("","");tpl+="{[this.printSummaryRow(xindex)]}"}return tpl},getFragmentTpl:function(){var me=this,fragments=me.callParent();Ext.apply(fragments,me.getSummaryFragments());if(me.showSummaryRow){me.summaryGroups=me.view.store.getGroups();me.summaryData=me.generateSummaryData()}return fragments},getPrintData:function(index){var me=this,columns=me.view.headerCt.getColumnsForTpl(),i=0,length=columns.length,data=[],name=me.summaryGroups[index-1].name,active=me.summaryData[name],column;for(;i','','
    {rowBody}
    ',"",""].join("")},getMetaRowTplFragments:function(){return{getRowBody:this.getRowBody,rowBodyTrCls:this.rowBodyTrCls,rowBodyTdCls:this.rowBodyTdCls,rowBodyDivCls:this.rowBodyDivCls}},mutateMetaRowTpl:function(metaRowTpl){metaRowTpl.push("{[this.getRowBody(values)]}")},getAdditionalData:function(data,idx,record,orig){var headerCt=this.view.headerCt,colspan=headerCt.getColumnCount();return{rowBody:"",rowBodyCls:this.rowBodyCls,rowBodyColspan:colspan}}});Ext.define("Ext.grid.feature.RowWrap",{extend:"Ext.grid.feature.Feature",alias:"feature.rowwrap",hasFeatureEvent:false,mutateMetaRowTpl:function(metaRowTpl){metaRowTpl[0]=metaRowTpl[0].replace(Ext.baseCSSPrefix+"grid-row","");metaRowTpl[0]=metaRowTpl[0].replace("{[this.embedRowCls()]}","");metaRowTpl.unshift('');metaRowTpl.unshift('
    ');metaRowTpl.push("
    ");metaRowTpl.push("")},embedColSpan:function(){return"{colspan}"},embedFullWidth:function(){return"{fullWidth}"},getAdditionalData:function(data,idx,record,orig){var headerCt=this.view.headerCt,colspan=headerCt.getColumnCount(),fullWidth=headerCt.getFullWidth(),items=headerCt.query("gridcolumn"),itemsLn=items.length,i=0,o={colspan:colspan,fullWidth:fullWidth},id,tdClsKey,colResizerCls;for(;i{[this.printSummaryRow()]}"},getPrintData:function(index){var me=this,columns=me.view.headerCt.getColumnsForTpl(),i=0,length=columns.length,data=[],active=me.summaryData,column;for(;ifromCt.items.indexOf(hd))){toIdx--}if(fromCt!==toCt){fromCt.suspendLayout=true;fromCt.remove(hd,false);fromCt.suspendLayout=false}if(fromCt.isGroupHeader){if(!fromCt.items.getCount()){groupCt=fromCt.ownerCt;groupCt.suspendLayout=true;groupCt.remove(fromCt,false);fromCt.el.dom.parentNode.removeChild(fromCt.el.dom);groupCt.suspendLayout=false}else{fromCt.minWidth=fromCt.getWidth()-hd.getWidth();fromCt.setWidth(fromCt.minWidth)}}toCt.suspendLayout=true;if(fromCt===toCt){toCt.move(fromIdx,toIdx)}else{toCt.insert(toIdx,hd)}toCt.suspendLayout=false;if(toCt.isGroupHeader){hd.savedFlex=hd.flex;delete hd.flex;hd.width=hd.getWidth();toCt.minWidth=toCt.getWidth()+hd.getWidth()-(hd.savedFlex?1:0);toCt.setWidth(toCt.minWidth)}else{if(hd.savedFlex){hd.flex=hd.savedFlex;delete hd.width}}headerCt.purgeCache();headerCt.doLayout();headerCt.onHeaderMoved(hd,fromIdx,toIdx);if(!fromCt.items.getCount()){fromCt.destroy()}}}}}});Ext.define("Ext.grid.plugin.Editing",{alias:"editing.editing",requires:["Ext.grid.column.Column","Ext.util.KeyNav"],mixins:{observable:"Ext.util.Observable"},clicksToEdit:2,defaultFieldXType:"textfield",editStyle:"",constructor:function(config){var me=this;Ext.apply(me,config);me.addEvents("beforeedit","edit","validateedit");me.mixins.observable.constructor.call(me);me.relayEvents(me,["afteredit"],"after")},init:function(grid){var me=this;me.grid=grid;me.view=grid.view;me.initEvents();me.mon(grid,"reconfigure",me.onReconfigure,me);me.onReconfigure();grid.relayEvents(me,["beforeedit","edit","validateedit"]);grid.isEditable=true;grid.editingPlugin=grid.view.editingPlugin=me},onReconfigure:function(){this.initFieldAccessors(this.view.getGridColumns())},destroy:function(){var me=this,grid=me.grid,headerCt=grid.headerCt,events=grid.events;Ext.destroy(me.keyNav);me.removeFieldAccessors(grid.getView().getGridColumns());me.clearListeners();delete me.grid.editingPlugin;delete me.grid.view.editingPlugin;delete me.grid;delete me.view;delete me.editor;delete me.keyNav},getEditStyle:function(){return this.editStyle},initFieldAccessors:function(column){var me=this;if(Ext.isArray(column)){Ext.Array.forEach(column,me.initFieldAccessors,me);return}Ext.applyIf(column,{getEditor:function(record,defaultField){return me.getColumnField(this,defaultField)},setEditor:function(field){me.setColumnField(this,field)}})},removeFieldAccessors:function(column){var me=this;if(Ext.isArray(column)){Ext.Array.forEach(column,me.removeFieldAccessors,me);return}delete column.getEditor;delete column.setEditor},getColumnField:function(columnHeader,defaultField){var field=columnHeader.field;if(!field&&columnHeader.editor){field=columnHeader.editor;delete columnHeader.editor}if(!field&&defaultField){field=defaultField}if(field){if(Ext.isString(field)){field={xtype:field}}if(Ext.isObject(field)&&!field.isFormField){field=Ext.ComponentManager.create(field,this.defaultFieldXType);columnHeader.field=field}Ext.apply(field,{name:columnHeader.dataIndex});return field}},setColumnField:function(column,field){if(Ext.isObject(field)&&!field.isFormField){field=Ext.ComponentManager.create(field,this.defaultFieldXType)}column.field=field},initEvents:function(){var me=this;me.initEditTriggers();me.initCancelTriggers()},initCancelTriggers:Ext.emptyFn,initEditTriggers:function(){var me=this,view=me.view,clickEvent=me.clicksToEdit===1?"click":"dblclick";me.mon(view,"cell"+clickEvent,me.startEditByClick,me);view.on("render",function(){me.keyNav=Ext.create("Ext.util.KeyNav",view.el,{enter:me.onEnterKey,esc:me.onEscKey,scope:me})},me,{single:true})},onEnterKey:function(e){var me=this,grid=me.grid,selModel=grid.getSelectionModel(),record,columnHeader=grid.headerCt.getHeaderAtIndex(0);if(selModel.getCurrentPosition){pos=selModel.getCurrentPosition();record=grid.store.getAt(pos.row);columnHeader=grid.headerCt.getHeaderAtIndex(pos.column)}else{record=selModel.getLastSelected()}me.startEdit(record,columnHeader)},onEscKey:function(e){this.cancelEdit()},startEditByClick:function(view,cell,colIdx,record,row,rowIdx,e){this.startEdit(record,view.getHeaderAtIndex(colIdx))},beforeEdit:Ext.emptyFn,startEdit:function(record,columnHeader){var me=this,context=me.getEditingContext(record,columnHeader);if(me.beforeEdit(context)===false||me.fireEvent("beforeedit",context)===false||context.cancel){return false}me.context=context;me.editing=true},getEditingContext:function(record,columnHeader){var me=this,grid=me.grid,store=grid.store,rowIdx,colIdx,view=grid.getView(),value;if(Ext.isNumber(record)){rowIdx=record;record=store.getAt(rowIdx)}else{rowIdx=store.indexOf(record)}if(Ext.isNumber(columnHeader)){colIdx=columnHeader;columnHeader=grid.headerCt.getHeaderAtIndex(colIdx)}else{colIdx=columnHeader.getIndex()}value=record.get(columnHeader.dataIndex);return{grid:grid,record:record,field:columnHeader.dataIndex,value:value,row:view.getNode(rowIdx),column:columnHeader,rowIdx:rowIdx,colIdx:colIdx}},cancelEdit:function(){this.editing=false},completeEdit:function(){var me=this;if(me.editing&&me.validateEdit()){me.fireEvent("edit",me.context)}delete me.context;me.editing=false},validateEdit:function(){var me=this,context=me.context;return me.fireEvent("validateedit",me,context)!==false&&!context.cancel}});Ext.define("Ext.grid.plugin.CellEditing",{alias:"plugin.cellediting",extend:"Ext.grid.plugin.Editing",requires:["Ext.grid.CellEditor","Ext.util.DelayedTask"],constructor:function(){this.callParent(arguments);this.editors=Ext.create("Ext.util.MixedCollection",false,function(editor){return editor.editorId});this.editTask=Ext.create("Ext.util.DelayedTask")},onReconfigure:function(){this.editors.clear();this.callParent()},destroy:function(){var me=this;me.editTask.cancel();me.editors.each(Ext.destroy,Ext);me.editors.clear();me.callParent(arguments)},onBodyScroll:function(){var ed=this.getActiveEditor();if(ed&&ed.field){if(ed.field.triggerBlur){ed.field.triggerBlur()}else{ed.field.blur()}}},initCancelTriggers:function(){var me=this,grid=me.grid,view=grid.view;view.addElListener("mousewheel",me.cancelEdit,me);me.mon(view,"bodyscroll",me.onBodyScroll,me);me.mon(grid,{columnresize:me.cancelEdit,columnmove:me.cancelEdit,scope:me})},startEdit:function(record,columnHeader){var me=this,value=record.get(columnHeader.dataIndex),context=me.getEditingContext(record,columnHeader),ed;record=context.record;columnHeader=context.column;me.completeEdit();context.originalValue=context.value=value;if(me.beforeEdit(context)===false||me.fireEvent("beforeedit",context)===false||context.cancel){return false}if(columnHeader&&!columnHeader.getEditor(record)){return false}ed=me.getEditor(record,columnHeader);if(ed){me.context=context;me.setActiveEditor(ed);me.setActiveRecord(record);me.setActiveColumn(columnHeader);me.editTask.delay(15,ed.startEdit,ed,[me.getCell(record,columnHeader),value])}else{me.grid.getView().getEl(columnHeader).focus((Ext.isWebKit||Ext.isIE)?10:false)}},completeEdit:function(){var activeEd=this.getActiveEditor();if(activeEd){activeEd.completeEdit()}},setActiveEditor:function(ed){this.activeEditor=ed},getActiveEditor:function(){return this.activeEditor},setActiveColumn:function(column){this.activeColumn=column},getActiveColumn:function(){return this.activeColumn},setActiveRecord:function(record){this.activeRecord=record},getActiveRecord:function(){return this.activeRecord},getEditor:function(record,column){var me=this,editors=me.editors,editorId=column.getItemId(),editor=editors.getByKey(editorId);if(editor){return editor}else{editor=column.getEditor(record);if(!editor){return false}if(!(editor instanceof Ext.grid.CellEditor)){editor=Ext.create("Ext.grid.CellEditor",{editorId:editorId,field:editor})}editor.parentEl=me.grid.getEditorParent();editor.on({scope:me,specialkey:me.onSpecialKey,complete:me.onEditComplete,canceledit:me.cancelEdit});editors.add(editor);return editor}},setColumnField:function(column,field){var ed=this.editors.getByKey(column.getItemId());Ext.destroy(ed,column.field);this.editors.removeAtKey(column.getItemId());this.callParent(arguments)},getCell:function(record,column){return this.grid.getView().getCell(record,column)},onSpecialKey:function(ed,field,e){var grid=this.grid,sm;if(e.getKey()===e.TAB){e.stopEvent();sm=grid.getSelectionModel();if(sm.onEditorTab){sm.onEditorTab(this,e)}}},onEditComplete:function(ed,value,startValue){var me=this,grid=me.grid,sm=grid.getSelectionModel(),activeColumn=me.getActiveColumn(),dataIndex;if(activeColumn){dataIndex=activeColumn.dataIndex;me.setActiveEditor(null);me.setActiveColumn(null);me.setActiveRecord(null);delete sm.wasEditing;if(!me.validateEdit()){return}if(value!==startValue){me.context.record.set(dataIndex,value)}else{grid.getView().getEl(activeColumn).focus()}me.context.value=value;me.fireEvent("edit",me,me.context)}},cancelEdit:function(){var me=this,activeEd=me.getActiveEditor(),viewEl=me.grid.getView().getEl(me.getActiveColumn());me.setActiveEditor(null);me.setActiveColumn(null);me.setActiveRecord(null);if(activeEd){activeEd.cancelEdit();viewEl.focus()}},startEditByPosition:function(position){var me=this,grid=me.grid,sm=grid.getSelectionModel(),editRecord=grid.store.getAt(position.row),editColumnHeader=grid.headerCt.getHeaderAtIndex(position.column);if(sm.selectByPosition){sm.selectByPosition(position)}me.startEdit(editRecord,editColumnHeader)}});Ext.define("Ext.grid.plugin.DragDrop",{extend:"Ext.AbstractPlugin",alias:"plugin.gridviewdragdrop",uses:["Ext.view.DragZone","Ext.grid.ViewDropZone"],dragText:"{0} selected row{1}",ddGroup:"GridDD",enableDrop:true,enableDrag:true,init:function(view){view.on("render",this.onViewRender,this,{single:true})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},enable:function(){var me=this;if(me.dragZone){me.dragZone.unlock()}if(me.dropZone){me.dropZone.unlock()}me.callParent()},disable:function(){var me=this;if(me.dragZone){me.dragZone.lock()}if(me.dropZone){me.dropZone.lock()}me.callParent()},onViewRender:function(view){var me=this;if(me.enableDrag){me.dragZone=Ext.create("Ext.view.DragZone",{view:view,ddGroup:me.dragGroup||me.ddGroup,dragText:me.dragText})}if(me.enableDrop){me.dropZone=Ext.create("Ext.grid.ViewDropZone",{view:view,ddGroup:me.dropGroup||me.ddGroup})}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.util.Observable",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(headerCt){this.headerCt=headerCt;headerCt.on("render",this.onHeaderCtRender,this)},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){this.dragZone=Ext.create("Ext.grid.header.DragZone",this.headerCt);this.dropZone=Ext.create("Ext.grid.header.DropZone",this.headerCt);if(this.disabled){this.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.util.Observable",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,configs:{dynamic:true},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(headerCt){this.headerCt=headerCt;headerCt.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var headerCt=this.headerCt,el=headerCt.el;headerCt.mon(el,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=Ext.create("Ext.dd.DragTracker",{disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:el})},onHeaderCtMouseMove:function(e,t){if(this.headerCt.dragging){if(this.activeHd){this.activeHd.el.dom.style.cursor="";delete this.activeHd}}else{var headerEl=e.getTarget("."+this.colHeaderCls,3,true),overHeader,resizeHeader;if(headerEl){overHeader=Ext.getCmp(headerEl.id);if(overHeader.isOnLeftEdge(e)){resizeHeader=overHeader.previousNode("gridcolumn:not([hidden])")}else{if(overHeader.isOnRightEdge(e)){resizeHeader=overHeader}else{resizeHeader=null}}if(resizeHeader){if(resizeHeader.isGroupHeader){resizeHeader=resizeHeader.down(":not([isGroupHeader]):not([hidden]):last")}if(resizeHeader&&!(resizeHeader.fixed||(resizeHeader.resizable===false)||this.disabled)){this.activeHd=resizeHeader;overHeader.el.dom.style.cursor=this.eResizeCursor}}else{overHeader.el.dom.style.cursor="";delete this.activeHd}}}},onBeforeStart:function(e){var t=e.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(t).hasCls("x-column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var dragHdEl=this.dragHd.el,region=Ext.util.Region.getRegion(dragHdEl);return region.adjust(0,this.maxColWidth-dragHdEl.getWidth(),0,this.minColWidth)},onStart:function(e){var me=this,dragHd=me.dragHd,dragHdEl=dragHd.el,width=dragHdEl.getWidth(),headerCt=me.headerCt,t=e.getTarget();if(me.dragHd&&!Ext.fly(t).hasCls("x-column-header-trigger")){headerCt.dragging=true}me.origWidth=width;if(!me.dynamic){var xy=dragHdEl.getXY(),gridSection=headerCt.up("[scrollerOwner]"),dragHct=me.dragHd.up(":not([isGroupHeader])"),firstSection=dragHct.up(),lhsMarker=gridSection.getLhsMarker(),rhsMarker=gridSection.getRhsMarker(),el=rhsMarker.parent(),offsetLeft=el.getLeft(true),offsetTop=el.getTop(true),topLeft=el.translatePoints(xy),markerHeight=firstSection.body.getHeight()+headerCt.getHeight(),top=topLeft.top-offsetTop;lhsMarker.setTop(top);rhsMarker.setTop(top);lhsMarker.setHeight(markerHeight);rhsMarker.setHeight(markerHeight);lhsMarker.setLeft(topLeft.left-offsetLeft);rhsMarker.setLeft(topLeft.left+width-offsetLeft)}},onDrag:function(e){if(!this.dynamic){var xy=this.tracker.getXY("point"),gridSection=this.headerCt.up("[scrollerOwner]"),rhsMarker=gridSection.getRhsMarker(),el=rhsMarker.parent(),topLeft=el.translatePoints(xy),offsetLeft=el.getLeft(true);rhsMarker.setLeft(topLeft.left-offsetLeft)}else{this.doResize()}},onEnd:function(e){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var dragHd=this.dragHd,gridSection=this.headerCt.up("[scrollerOwner]"),lhsMarker=gridSection.getLhsMarker(),rhsMarker=gridSection.getRhsMarker(),currWidth=dragHd.getWidth(),offset=this.tracker.getOffset("point"),offscreen=-9999;lhsMarker.setLeft(offscreen);rhsMarker.setLeft(offscreen)}this.doResize()}},doResize:function(){if(this.dragHd){var dragHd=this.dragHd,nextHd,offset=this.tracker.getOffset("point");if(dragHd.flex){delete dragHd.flex}this.headerCt.suspendLayout=true;dragHd.setWidth(this.origWidth+offset[0],false);if(this.headerCt.forceFit){nextHd=dragHd.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(nextHd){delete nextHd.flex;nextHd.setWidth(nextHd.getWidth()-offset[0],false)}}this.headerCt.suspendLayout=false;this.headerCt.doComponentLayout(this.headerCt.getFullWidth())}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.plugin.RowEditing",{extend:"Ext.grid.plugin.Editing",alias:"plugin.rowediting",requires:["Ext.grid.RowEditor"],editStyle:"row",autoCancel:true,errorSummary:true,constructor:function(){var me=this;me.callParent(arguments);if(!me.clicksToMoveEditor){me.clicksToMoveEditor=me.clicksToEdit}me.autoCancel=!!me.autoCancel},destroy:function(){var me=this;Ext.destroy(me.editor);me.callParent(arguments)},startEdit:function(record,columnHeader){var me=this,editor=me.getEditor();if(me.callParent(arguments)===false){return false}if(editor.beforeEdit()!==false){editor.startEdit(me.context.record,me.context.column)}},cancelEdit:function(){var me=this;if(me.editing){me.getEditor().cancelEdit();me.callParent(arguments);me.fireEvent("canceledit",me.context)}},completeEdit:function(){var me=this;if(me.editing&&me.validateEdit()){me.editing=false;me.fireEvent("edit",me.context)}},validateEdit:function(){var me=this,editor=me.editor,context=me.context,record=context.record,newValues={},originalValues={},name;editor.items.each(function(item){name=item.name;newValues[name]=item.getValue();originalValues[name]=record.get(name)});Ext.apply(context,{newValues:newValues,originalValues:originalValues});return me.callParent(arguments)&&me.getEditor().completeEdit()},getEditor:function(){var me=this;if(!me.editor){me.editor=me.initEditor()}return me.editor},initEditor:function(){var me=this,grid=me.grid,view=me.view,headerCt=grid.headerCt;return Ext.create("Ext.grid.RowEditor",{autoCancel:me.autoCancel,errorSummary:me.errorSummary,fields:headerCt.getGridColumns(),hidden:true,editingPlugin:me,renderTo:view.el})},initEditTriggers:function(){var me=this,grid=me.grid,view=me.view,headerCt=grid.headerCt,moveEditorEvent=me.clicksToMoveEditor===1?"click":"dblclick";me.callParent(arguments);if(me.clicksToMoveEditor!==me.clicksToEdit){me.mon(view,"cell"+moveEditorEvent,me.moveEditorByClick,me)}view.on("render",function(){me.mon(headerCt,{add:me.onColumnAdd,remove:me.onColumnRemove,columnresize:me.onColumnResize,columnhide:me.onColumnHide,columnshow:me.onColumnShow,columnmove:me.onColumnMove,scope:me})},me,{single:true})},startEditByClick:function(){var me=this;if(!me.editing||me.clicksToMoveEditor===me.clicksToEdit){me.callParent(arguments)}},moveEditorByClick:function(){var me=this;if(me.editing){me.superclass.startEditByClick.apply(me,arguments)}},onColumnAdd:function(ct,column){if(column.isHeader){var me=this,editor;me.initFieldAccessors(column);editor=me.getEditor();if(editor&&editor.onColumnAdd){editor.onColumnAdd(column)}}},onColumnRemove:function(ct,column){if(column.isHeader){var me=this,editor=me.getEditor();if(editor&&editor.onColumnRemove){editor.onColumnRemove(column)}me.removeFieldAccessors(column)}},onColumnResize:function(ct,column,width){if(column.isHeader){var me=this,editor=me.getEditor();if(editor&&editor.onColumnResize){editor.onColumnResize(column,width)}}},onColumnHide:function(ct,column){var me=this,editor=me.getEditor();if(editor&&editor.onColumnHide){editor.onColumnHide(column)}},onColumnShow:function(ct,column){var me=this,editor=me.getEditor();if(editor&&editor.onColumnShow){editor.onColumnShow(column)}},onColumnMove:function(ct,column,fromIdx,toIdx){var me=this,editor=me.getEditor();if(editor&&editor.onColumnMove){editor.onColumnMove(column,fromIdx,toIdx)}},setColumnField:function(column,field){var me=this;me.callParent(arguments);me.getEditor().setField(column.field,column)}});Ext.define("Ext.grid.property.Grid",{extend:"Ext.grid.Panel",alias:"widget.propertygrid",alternateClassName:"Ext.grid.PropertyGrid",uses:["Ext.grid.plugin.CellEditing","Ext.grid.property.Store","Ext.grid.property.HeaderContainer","Ext.XTemplate","Ext.grid.CellEditor","Ext.form.field.Date","Ext.form.field.Text","Ext.form.field.Number"],valueField:"value",nameField:"name",enableColumnMove:false,columnLines:true,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,initComponent:function(){var me=this;me.addCls(Ext.baseCSSPrefix+"property-grid");me.plugins=me.plugins||[];me.plugins.push(Ext.create("Ext.grid.plugin.CellEditing",{clicksToEdit:me.clicksToEdit,startEdit:function(record,column){return this.self.prototype.startEdit.call(this,record,me.headerCt.child("#"+me.valueField))}}));me.selModel={selType:"cellmodel",onCellSelect:function(position){if(position.column!=1){position.column=1}return this.self.prototype.onCellSelect.call(this,position)}};me.customRenderers=me.customRenderers||{};me.customEditors=me.customEditors||{};if(!me.store){me.propStore=me.store=Ext.create("Ext.grid.property.Store",me,me.source)}me.store.sort("name","ASC");me.columns=Ext.create("Ext.grid.property.HeaderContainer",me,me.store);me.addEvents("beforepropertychange","propertychange");me.callParent();me.getView().walkCells=this.walkCells;me.editors={date:Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.Date",{selectOnFocus:true})}),string:Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.Text",{selectOnFocus:true})}),number:Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.Number",{selectOnFocus:true})}),"boolean":Ext.create("Ext.grid.CellEditor",{field:Ext.create("Ext.form.field.ComboBox",{editable:false,store:[[true,me.headerCt.trueText],[false,me.headerCt.falseText]]})})};me.store.on("update",me.onUpdate,me)},onUpdate:function(store,record,operation){var me=this,v,oldValue;if(operation==Ext.data.Model.EDIT){v=record.get(me.valueField);oldValue=record.modified.value;if(me.fireEvent("beforepropertychange",me.source,record.getId(),v,oldValue)!==false){if(me.source){me.source[record.getId()]=v}record.commit();me.fireEvent("propertychange",me.source,record.getId(),v,oldValue)}else{record.reject()}}},walkCells:function(pos,direction,e,preventWrap,verifierFn,scope){if(direction=="left"){direction="up"}else{if(direction=="right"){direction="down"}}pos=Ext.view.Table.prototype.walkCells.call(this,pos,direction,e,preventWrap,verifierFn,scope);if(!pos.column){pos.column=1}return pos},getCellEditor:function(record,column){var me=this,propName=record.get(me.nameField),val=record.get(me.valueField),editor=me.customEditors[propName];if(editor){if(!(editor instanceof Ext.grid.CellEditor)){if(!(editor instanceof Ext.form.field.Base)){editor=Ext.ComponentManager.create(editor,"textfield")}editor=me.customEditors[propName]=Ext.create("Ext.grid.CellEditor",{field:editor})}}else{if(Ext.isDate(val)){editor=me.editors.date}else{if(Ext.isNumber(val)){editor=me.editors.number}else{if(Ext.isBoolean(val)){editor=me.editors["boolean"]}else{editor=me.editors.string}}}}editor.editorId=propName;return editor},beforeDestroy:function(){var me=this;me.callParent();me.destroyEditors(me.editors);me.destroyEditors(me.customEditors);delete me.source},destroyEditors:function(editors){for(var ed in editors){if(editors.hasOwnProperty(ed)){Ext.destroy(editors[ed])}}},setSource:function(source){this.source=source;this.propStore.setSource(source)},getSource:function(){return this.propStore.getSource()},setProperty:function(prop,value,create){this.propStore.setValue(prop,value,create)},removeProperty:function(prop){this.propStore.remove(prop)}});Ext.define("Ext.grid.property.HeaderContainer",{extend:"Ext.grid.header.Container",alternateClassName:"Ext.grid.PropertyColumnModel",nameWidth:115,nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",nameColumnCls:Ext.baseCSSPrefix+"grid-property-name",constructor:function(grid,store){var me=this;me.grid=grid;me.store=store;me.callParent([{items:[{header:me.nameText,width:grid.nameColumnWidth||me.nameWidth,sortable:true,dataIndex:grid.nameField,renderer:Ext.Function.bind(me.renderProp,me),itemId:grid.nameField,menuDisabled:true,tdCls:me.nameColumnCls},{header:me.valueText,renderer:Ext.Function.bind(me.renderCell,me),getEditor:Ext.Function.bind(me.getCellEditor,me),flex:1,fixed:true,dataIndex:grid.valueField,itemId:grid.valueField,menuDisabled:true}]}])},getCellEditor:function(record){return this.grid.getCellEditor(record,this)},renderProp:function(v){return this.getPropertyName(v)},renderCell:function(val,meta,rec){var me=this,renderer=me.grid.customRenderers[rec.get(me.grid.nameField)],result=val;if(renderer){return renderer.apply(me,arguments)}if(Ext.isDate(val)){result=me.renderDate(val)}else{if(Ext.isBoolean(val)){result=me.renderBool(val)}}return Ext.util.Format.htmlEncode(result)},renderDate:Ext.util.Format.date,renderBool:function(bVal){return this[bVal?"trueText":"falseText"]},getPropertyName:function(name){var pn=this.grid.propertyNames;return pn&&pn[name]?pn[name]:name}});Ext.define("Ext.grid.property.Property",{extend:"Ext.data.Model",alternateClassName:"Ext.PropGridProperty",fields:[{name:"name",type:"string"},{name:"value"}],idProperty:"name"});Ext.define("Ext.grid.property.Store",{extend:"Ext.data.Store",alternateClassName:"Ext.grid.PropertyStore",uses:["Ext.data.reader.Reader","Ext.data.proxy.Proxy","Ext.data.ResultSet","Ext.grid.property.Property"],constructor:function(grid,source){var me=this;me.grid=grid;me.source=source;me.callParent([{data:source,model:Ext.grid.property.Property,proxy:me.getProxy()}])},getProxy:function(){if(!this.proxy){Ext.grid.property.Store.prototype.proxy=Ext.create("Ext.data.proxy.Memory",{model:Ext.grid.property.Property,reader:this.getReader()})}return this.proxy},getReader:function(){if(!this.reader){Ext.grid.property.Store.prototype.reader=Ext.create("Ext.data.reader.Reader",{model:Ext.grid.property.Property,buildExtractors:Ext.emptyFn,read:function(dataObject){return this.readRecords(dataObject)},readRecords:function(dataObject){var val,propName,result={records:[],success:true};for(propName in dataObject){if(dataObject.hasOwnProperty(propName)){val=dataObject[propName];if(this.isEditableValue(val)){result.records.push(new Ext.grid.property.Property({name:propName,value:val},propName))}}}result.total=result.count=result.records.length;return Ext.create("Ext.data.ResultSet",result)},isEditableValue:function(val){return Ext.isPrimitive(val)||Ext.isDate(val)}})}return this.reader},setSource:function(dataObject){var me=this;me.source=dataObject;me.suspendEvents();me.removeAll();me.proxy.data=dataObject;me.load();me.resumeEvents();me.fireEvent("datachanged",me)},getProperty:function(row){return Ext.isNumber(row)?this.getAt(row):this.getById(row)},setValue:function(prop,value,create){var me=this,rec=me.getRec(prop);if(rec){rec.set("value",value);me.source[prop]=value}else{if(create){me.source[prop]=value;rec=new Ext.grid.property.Property({name:prop,value:value},prop);me.add(rec)}}},remove:function(prop){var rec=this.getRec(prop);if(rec){this.callParent([rec]);delete this.source[prop]}},getRec:function(prop){return this.getById(prop)},getSource:function(){return this.source}});Ext.define("Ext.layout.component.Body",{alias:["layout.body"],extend:"Ext.layout.component.Component",uses:["Ext.layout.container.Container"],type:"body",onLayout:function(width,height){var me=this,owner=me.owner;me.setTargetSize(width,height);me.setBodySize.apply(me,arguments);if(owner&&owner.layout&&owner.layout.isLayout){if(!Ext.isNumber(owner.height)||!Ext.isNumber(owner.width)){owner.layout.bindToOwnerCtComponent=true}else{owner.layout.bindToOwnerCtComponent=false}}me.callParent(arguments)},setBodySize:function(width,height){var me=this,owner=me.owner,frameSize=owner.frameSize,isNumber=Ext.isNumber;if(isNumber(width)){width-=owner.el.getFrameWidth("lr")-frameSize.left-frameSize.right}if(isNumber(height)){height-=owner.el.getFrameWidth("tb")-frameSize.top-frameSize.bottom}me.setElementSize(owner.body,width,height)}});Ext.define("Ext.layout.component.FieldSet",{extend:"Ext.layout.component.Body",alias:["layout.fieldset"],type:"fieldset",doContainerLayout:function(){if(!this.owner.collapsed){this.callParent()}}});Ext.define("Ext.layout.component.Tab",{alias:["layout.tab"],extend:"Ext.layout.component.Button",beforeLayout:function(){var me=this,dirty=me.lastClosable!==me.owner.closable;if(dirty){delete me.adjWidth}return this.callParent(arguments)||dirty},onLayout:function(){var me=this;me.callParent(arguments);me.lastClosable=me.owner.closable}});Ext.define("Ext.layout.component.field.File",{alias:["layout.filefield"],extend:"Ext.layout.component.field.Field",type:"filefield",sizeBodyContents:function(width,height){var me=this,owner=me.owner;if(!owner.buttonOnly){me.setElementSize(owner.inputEl,Ext.isNumber(width)?width-owner.button.getWidth()-owner.buttonMargin:width)}}});Ext.define("Ext.layout.component.field.Slider",{alias:["layout.sliderfield"],extend:"Ext.layout.component.field.Field",type:"sliderfield",sizeBodyContents:function(width,height){var owner=this.owner,thumbs=owner.thumbs,length=thumbs.length,inputEl=owner.inputEl,innerEl=owner.innerEl,endEl=owner.endEl,i=0;for(;ipanel:not([collapsed])"):[];me.setupEvents();if(me.multi){me.setCollapsed(comp);if(expanded.length===1&&expanded[0]===comp){me.setExpanded(toExpand)}me.animate=me.initialAnimate;me.layout();me.animate=false}else{if(toExpand){me.onComponentExpand(toExpand)}}return false},onComponentShow:function(comp){this.onComponentExpand(comp)},setCollapsed:function(comp){var otherDocks=comp.getDockedItems(),dockItem,len=otherDocks.length,i=0;comp.hiddenDocked=[];for(;i','
     
    ',""],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,width:5,height:5,collapseTarget:"next",onRender:function(){var me=this,target=me.getCollapseTarget(),collapseDir=me.getCollapseDirection();Ext.applyIf(me.renderData,{collapseDir:collapseDir,collapsible:me.collapsible||target.collapsible});me.addChildEls("collapseEl");this.callParent(arguments);if(me.performCollapse!==false){if(me.renderData.collapsible){me.mon(me.collapseEl,"click",me.toggleTargetCmp,me)}if(me.collapseOnDblClick){me.mon(me.el,"dblclick",me.toggleTargetCmp,me)}}me.mon(target,"collapse",me.onTargetCollapse,me);me.mon(target,"expand",me.onTargetExpand,me);me.el.addCls(me.baseCls+"-"+me.orientation);me.el.unselectable();me.tracker=Ext.create("Ext.resizer.SplitterTracker",{el:me.el});me.relayEvents(me.tracker,["beforedragstart","dragstart","dragend"])},getCollapseDirection:function(){var me=this,idx,type=me.ownerCt.layout.type;if(me.collapseTarget.isComponent){idx=Number(me.ownerCt.items.indexOf(me.collapseTarget)==me.ownerCt.items.indexOf(me)-1)<<1|Number(type=="hbox")}else{idx=Number(me.collapseTarget=="prev")<<1|Number(type=="hbox")}me.orientation=["horizontal","vertical"][idx&1];return["bottom","right","top","left"][idx]},getCollapseTarget:function(){var me=this;return me.collapseTarget.isComponent?me.collapseTarget:me.collapseTarget=="prev"?me.previousSibling():me.nextSibling()},onTargetCollapse:function(target){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(target){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(e,t){var cmp=this.getCollapseTarget();if(cmp.isVisible()){if(cmp.collapsed){cmp.expand(cmp.animCollapse)}else{cmp.collapse(this.renderData.collapseDir,cmp.animCollapse)}}},setSize:function(){var me=this;me.callParent(arguments);if(Ext.isIE){me.el.repaint()}}});Ext.define("Ext.layout.container.Border",{alias:["layout.border"],extend:"Ext.layout.container.Container",requires:["Ext.resizer.Splitter","Ext.container.Container","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:Ext.baseCSSPrefix+"border-item",bindToOwnerCtContainer:true,percentageRe:/(\d+)%/,slideDirection:{north:"t",south:"b",west:"l",east:"r"},constructor:function(config){this.initialConfig=config;this.callParent(arguments)},onLayout:function(){var me=this;if(!me.borderLayoutInitialized){me.initializeBorderLayout()}me.fixHeightConstraints();me.shadowLayout.onLayout();if(me.embeddedContainer){me.embeddedContainer.layout.onLayout()}if(!me.initialCollapsedComplete){Ext.iterate(me.regions,function(name,region){if(region.borderCollapse){me.onBeforeRegionCollapse(region,region.collapseDirection,false,0)}});me.initialCollapsedComplete=true}},isValidParent:function(item,target,position){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}return this.shadowLayout.isValidParent(item,target,position)},beforeLayout:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.beforeLayout()},renderItems:function(items,target){},renderItem:function(item){},renderChildren:function(){if(!this.borderLayoutInitialized){this.initializeBorderLayout()}this.shadowLayout.renderChildren()},getVisibleItems:function(){return Ext.ComponentQuery.query(":not([slideOutAnim])",this.callParent(arguments))},initializeBorderLayout:function(){var me=this,i=0,items=me.getLayoutItems(),ln=items.length,regions=(me.regions={}),vBoxItems=[],hBoxItems=[],horizontalFlex=0,verticalFlex=0,comp,percentage;me.splitters={};for(;isize.height);if(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks){me.adjustedWidth=size.width-Ext.getScrollBarWidth()}else{target.setStyle("overflow","auto")}if(me.adjustmentPass){me.onLayout()}}delete me.adjustmentPass},configureItem:function(item){this.callParent(arguments);if(item.columnWidth){item.layoutManagedWidth=1}}});Ext.define("Ext.layout.container.Table",{alias:["layout.table"],extend:"Ext.layout.container.Auto",alternateClassName:"Ext.layout.TableLayout",monitorResize:false,type:"table",autoSize:true,clearEl:true,targetCls:Ext.baseCSSPrefix+"table-layout-ct",tableCls:Ext.baseCSSPrefix+"table-layout",cellCls:Ext.baseCSSPrefix+"table-layout-cell",tableAttrs:null,renderItems:function(items){var tbody=this.getTable().tBodies[0],rows=tbody.rows,i=0,len=items.length,cells,curCell,rowIdx,cellIdx,item,trEl,tdEl,itemCt;cells=this.calculateCells(items);for(;i=totalCols||rowspans[colIdx]>0){if(colIdx>=totalCols){colIdx=0;cellIdx=0;rowIdx++;for(j=0;j0){rowspans[j]--}}}else{colIdx++}}cells.push({rowIdx:rowIdx,cellIdx:cellIdx});for(j=item.colspan||1;j;--j){rowspans[colIdx]=item.rowspan||1;++colIdx}++cellIdx}return cells},getTable:function(){var table=this.table;if(!table){table=this.table=this.getTarget().createChild(Ext.apply({tag:"table",role:"presentation",cls:this.tableCls,cellspacing:0,cn:{tag:"tbody"}},this.tableAttrs),null,true)}return table},needsDivWrap:function(){return Ext.isOpera10_5}});Ext.define("Ext.menu.Item",{extend:"Ext.Component",alias:"widget.menuitem",alternateClassName:"Ext.menu.TextItem",activeCls:Ext.baseCSSPrefix+"menu-item-active",ariaRole:"menuitem",canActivate:true,clickHideDelay:1,destroyMenu:true,disabledCls:Ext.baseCSSPrefix+"menu-item-disabled",hideOnClick:true,isMenuItem:true,menuAlign:"tl-tr?",menuExpandDelay:200,menuHideDelay:200,renderTpl:['',"{text}","",'','target="{hrefTarget}" hidefocus="true" unselectable="on">','','style="margin-right: 17px;" >{text}','','',"","",""],maskOnDisable:false,activate:function(){var me=this;if(!me.activated&&me.canActivate&&me.rendered&&!me.isDisabled()&&me.isVisible()){me.el.addCls(me.activeCls);me.focus();me.activated=true;me.fireEvent("activate",me)}},blur:function(){this.$focused=false;this.callParent(arguments)},deactivate:function(){var me=this;if(me.activated){me.el.removeCls(me.activeCls);me.blur();me.hideMenu();me.activated=false;me.fireEvent("deactivate",me)}},deferExpandMenu:function(){var me=this;if(!me.menu.rendered||!me.menu.isVisible()){me.parentMenu.activeChild=me.menu;me.menu.parentItem=me;me.menu.parentMenu=me.menu.ownerCt=me.parentMenu;me.menu.showBy(me,me.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},deferHideParentMenus:function(){Ext.menu.Manager.hideAll()},expandMenu:function(delay){var me=this;if(me.menu){clearTimeout(me.hideMenuTimer);if(delay===0){me.deferExpandMenu()}else{me.expandMenuTimer=Ext.defer(me.deferExpandMenu,Ext.isNumber(delay)?delay:me.menuExpandDelay,me)}}},focus:function(){this.$focused=true;this.callParent(arguments)},getRefItems:function(deep){var menu=this.menu,items;if(menu){items=menu.getRefItems(deep);items.unshift(menu)}return items||[]},hideMenu:function(delay){var me=this;if(me.menu){clearTimeout(me.expandMenuTimer);me.hideMenuTimer=Ext.defer(me.deferHideMenu,Ext.isNumber(delay)?delay:me.menuHideDelay,me)}},initComponent:function(){var me=this,prefix=Ext.baseCSSPrefix,cls=[prefix+"menu-item"];me.addEvents("activate","click","deactivate");if(me.plain){cls.push(prefix+"menu-item-plain")}if(me.cls){cls.push(me.cls)}me.cls=cls.join(" ");if(me.menu){me.menu=Ext.menu.Manager.get(me.menu)}me.callParent(arguments)},onClick:function(e){var me=this;if(!me.href){e.stopEvent()}if(me.disabled){return}if(me.hideOnClick){me.deferHideParentMenusTimer=Ext.defer(me.deferHideParentMenus,me.clickHideDelay,me)}Ext.callback(me.handler,me.scope||me,[me,e]);me.fireEvent("click",me,e);if(!me.hideOnClick){me.focus()}},onDestroy:function(){var me=this;clearTimeout(me.expandMenuTimer);clearTimeout(me.hideMenuTimer);clearTimeout(me.deferHideParentMenusTimer);if(me.menu){delete me.menu.parentItem;delete me.menu.parentMenu;delete me.menu.ownerCt;if(me.destroyMenu!==false){me.menu.destroy()}}me.callParent(arguments)},onRender:function(ct,pos){var me=this,blank=Ext.BLANK_IMAGE_URL;Ext.applyIf(me.renderData,{href:me.href||"#",hrefTarget:me.hrefTarget,icon:me.icon||blank,iconCls:me.iconCls+(me.checkChangeDisabled?" "+me.disabledCls:""),menu:Ext.isDefined(me.menu),plain:me.plain,text:me.text,blank:blank});me.addChildEls("itemEl","iconEl","textEl","arrowEl");me.callParent(arguments)},setHandler:function(fn,scope){this.handler=fn||null;this.scope=scope},setIconCls:function(iconCls){var me=this;if(me.iconEl){if(me.iconCls){me.iconEl.removeCls(me.iconCls)}if(iconCls){me.iconEl.addCls(iconCls)}}me.iconCls=iconCls},setText:function(text){var me=this,el=me.textEl||me.el;me.text=text;if(me.rendered){el.update(text||"");me.ownerCt.redoComponentLayout()}}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,afterRender:function(){var me=this;this.callParent();me.checked=!me.checked;me.setChecked(!me.checked,true)},initComponent:function(){var me=this;me.addEvents("beforecheckchange","checkchange");me.callParent(arguments);Ext.menu.Manager.registerCheckable(me);if(me.group){if(!me.iconCls){me.iconCls=me.groupCls}if(me.initialConfig.hideOnClick!==false){me.hideOnClick=true}}},disableCheckChange:function(){var me=this;if(me.iconEl){me.iconEl.addCls(me.disabledCls)}me.checkChangeDisabled=true},enableCheckChange:function(){var me=this;me.iconEl.removeCls(me.disabledCls);me.checkChangeDisabled=false},onClick:function(e){var me=this;if(!me.disabled&&!me.checkChangeDisabled&&!(me.checked&&me.group)){me.setChecked(!me.checked)}this.callParent([e])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(checked,suppressEvents){var me=this;if(me.checked!==checked&&(suppressEvents||me.fireEvent("beforecheckchange",me,checked)!==false)){if(me.el){me.el[checked?"addCls":"removeCls"](me.checkedCls)[!checked?"addCls":"removeCls"](me.uncheckedCls)}me.checked=checked;Ext.menu.Manager.onCheckChange(me,checked);if(!suppressEvents){Ext.callback(me.checkHandler,me.scope,[me,checked]);me.fireEvent("checkchange",me,checked)}}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(menu){var me=this;me.menu=menu;me.callParent([menu.el,{down:me.down,enter:me.enter,esc:me.escape,left:me.left,right:me.right,space:me.enter,tab:me.tab,up:me.up}])},down:function(e){var me=this,fi=me.menu.focusedItem;if(fi&&e.getKey()==Ext.EventObject.DOWN&&me.isWhitelisted(fi)){return true}me.focusNextItem(1)},enter:function(e){var menu=this.menu,focused=menu.focusedItem;if(menu.activeItem){menu.onClick(e)}else{if(focused&&focused.isFormField){return true}}},escape:function(e){Ext.menu.Manager.hideAll()},focusNextItem:function(step){var menu=this.menu,items=menu.items,focusedItem=menu.focusedItem,startIdx=focusedItem?items.indexOf(focusedItem):-1,idx=startIdx+step;while(idx!=startIdx){if(idx<0){idx=items.length-1}else{if(idx>=items.length){idx=0}}var item=items.getAt(idx);if(menu.canActivateItem(item)){menu.setActiveItem(item);break}idx+=step}},isWhitelisted:function(item){return Ext.FocusManager.isWhitelisted(item)},left:function(e){var menu=this.menu,fi=menu.focusedItem,ai=menu.activeItem;if(fi&&this.isWhitelisted(fi)){return true}menu.hide();if(menu.parentMenu){menu.parentMenu.focus()}},right:function(e){var menu=this.menu,fi=menu.focusedItem,ai=menu.activeItem,am;if(fi&&this.isWhitelisted(fi)){return true}if(ai){am=menu.activeItem.menu;if(am){ai.expandMenu(0);Ext.defer(function(){am.setActiveItem(am.items.getAt(0))},25)}}},tab:function(e){var me=this;if(e.shiftKey){me.up(e)}else{me.down(e)}},up:function(e){var me=this,fi=me.menu.focusedItem;if(fi&&e.getKey()==Ext.EventObject.UP&&me.isWhitelisted(fi)){return true}me.focusNextItem(-1)}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:" ",onRender:function(ct,pos){var me=this,sepCls=me.separatorCls;me.cls+=" "+sepCls;me.callParent(arguments)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:120,initComponent:function(){var me=this,prefix=Ext.baseCSSPrefix,cls=[prefix+"menu"],bodyCls=me.bodyCls?[me.bodyCls]:[];me.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(me);if(me.plain){cls.push(prefix+"menu-plain")}me.cls=cls.join(" ");bodyCls.unshift(prefix+"menu-body");me.bodyCls=bodyCls.join(" ");me.layout={type:"vbox",align:"stretchmax",autoSize:true,clearInnerCtOnLayout:true,overflowHandler:"Scroller"};if(me.floating===false&&me.initialConfig.hidden!==true){me.hidden=false}me.callParent(arguments);me.on("beforeshow",function(){var hasItems=!!me.items.length;if(hasItems&&me.rendered){me.el.setStyle("visibility",null)}return hasItems})},afterRender:function(ct){var me=this,prefix=Ext.baseCSSPrefix,space=" ";me.callParent(arguments);if(me.showSeparator){me.iconSepEl=me.layout.getRenderTarget().insertFirst({cls:prefix+"menu-icon-separator",html:space})}me.focusEl=me.el.createChild({cls:prefix+"menu-focus",tabIndex:"-1",html:space});me.mon(me.el,{click:me.onClick,mouseover:me.onMouseOver,scope:me});me.mouseMonitor=me.el.monitorMouseLeave(100,me.onMouseLeave,me);if(me.showSeparator&&((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)){me.iconSepEl.setHeight(me.el.getHeight())}me.keyNav=Ext.create("Ext.menu.KeyNav",me)},afterLayout:function(){var me=this;me.callParent(arguments);if((!Ext.isStrict&&Ext.isIE)||Ext.isIE6){var innerCt=me.layout.getRenderTarget(),innerCtWidth=0,dis=me.dockedItems,l=dis.length,i=0,di,clone,newWidth;innerCtWidth=innerCt.getWidth();newWidth=innerCtWidth+me.body.getBorderWidth("lr")+me.body.getPadding("lr");me.body.setWidth(newWidth);for(;i=0){if(!item.menu||!me.ignoreParentClicks){item.onClick(e)}else{e.stopEvent()}}}me.fireEvent("click",me,item,e)}},onDestroy:function(){var me=this;Ext.menu.Manager.unregister(me);if(me.rendered){me.el.un(me.mouseMonitor);me.keyNav.destroy();delete me.keyNav}me.callParent(arguments)},onMouseLeave:function(e){var me=this;me.deactivateActiveItem();if(me.disabled){return}me.fireEvent("mouseleave",me,e)},onMouseOver:function(e){var me=this,fromEl=e.getRelatedTarget(),mouseEnter=!me.el.contains(fromEl),item=me.getItemFromEvent(e);if(mouseEnter&&me.parentMenu){me.parentMenu.setActiveItem(me.parentItem);me.parentMenu.mouseMonitor.mouseenter()}if(me.disabled){return}if(item){me.setActiveItem(item);if(item.activated&&item.expandMenu){item.expandMenu()}}if(mouseEnter){me.fireEvent("mouseenter",me,e)}me.fireEvent("mouseover",me,item,e)},setActiveItem:function(item){var me=this;if(item&&(item!=me.activeItem&&item!=me.focusedItem)){me.deactivateActiveItem();if(me.canActivateItem(item)){if(item.activate){item.activate();if(item.activated){me.activeItem=item;me.focusedItem=item;me.focus()}}else{item.focus();me.focusedItem=item}}item.el.scrollIntoView(me.layout.getRenderTarget())}},showBy:function(cmp,pos,off){var me=this,xy,region;if(me.floating&&cmp){me.layout.autoSize=true;me.doAutoRender();delete me.needsLayout;cmp=cmp.el||cmp;xy=me.el.getAlignToXY(cmp,pos||me.defaultAlign,off);if(me.floatParent){region=me.floatParent.getTargetEl().getViewRegion();xy[0]-=region.x;xy[1]-=region.y}me.showAt(xy)}return me},doConstrain:function(){var me=this,y=me.el.getY(),max,full,vector,returnY=y,normalY,parentEl,scrollTop,viewHeight;delete me.height;me.setSize();full=me.getHeight();if(me.floating){parentEl=Ext.fly(me.el.getScopeParent());scrollTop=parentEl.getScroll().top;viewHeight=parentEl.getViewSize().height;normalY=y-scrollTop;max=me.maxHeight?me.maxHeight:viewHeight-normalY;if(full>viewHeight){max=viewHeight;returnY=y-normalY}else{if(maxmax&&max>0){me.layout.autoSize=false;me.setHeight(max);if(me.showSeparator){me.iconSepEl.setHeight(me.layout.getRenderTarget().dom.scrollHeight)}}vector=me.getConstrainVector(me.el.getScopeParent());if(vector){me.setPosition(me.getPosition()[0]+vector[0])}me.el.setY(returnY)}});Ext.define("Ext.menu.ColorPicker",{extend:"Ext.menu.Menu",alias:"widget.colormenu",requires:["Ext.picker.Color"],hideOnClick:true,pickerId:null,initComponent:function(){var me=this,cfg=Ext.apply({},me.initialConfig);delete cfg.listeners;Ext.apply(me,{plain:true,showSeparator:false,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-color-item",id:me.pickerId,xtype:"colorpicker"},cfg)});me.callParent(arguments);me.picker=me.down("colorpicker");me.relayEvents(me.picker,["select"]);if(me.hideOnClick){me.on("select",me.hidePickerOnSelect,me)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.menu.DatePicker",{extend:"Ext.menu.Menu",alias:"widget.datemenu",requires:["Ext.picker.Date"],hideOnClick:true,pickerId:null,initComponent:function(){var me=this;Ext.apply(me,{showSeparator:false,plain:true,border:false,bodyPadding:0,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-date-item",id:me.pickerId,xtype:"datepicker"},me.initialConfig)});me.callParent(arguments);me.picker=me.down("datepicker");me.relayEvents(me.picker,["select"]);if(me.hideOnClick){me.on("select",me.hidePickerOnSelect,me)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",renderTpl:[''],tooltipType:"qtip",stopEvent:true,initComponent:function(){var me=this;me.addEvents("click");me.type=me.type||me.id;Ext.applyIf(me.renderData,{baseCls:me.baseCls,blank:Ext.BLANK_IMAGE_URL,type:me.type});me.addChildEls("toolEl");me.tooltip=me.tooltip||me.qtip;me.callParent()},afterRender:function(){var me=this,attr;me.callParent(arguments);if(me.tooltip){if(Ext.isObject(me.tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:me.id},me.tooltip))}else{attr=me.tooltipType=="qtip"?"data-qtip":"title";me.toolEl.dom.setAttribute(attr,me.tooltip)}}me.mon(me.toolEl,{click:me.onClick,mousedown:me.onMouseDown,mouseover:me.onMouseOver,mouseout:me.onMouseOut,scope:me})},setType:function(type){var me=this;me.type=type;if(me.rendered){me.toolEl.dom.className=me.baseCls+"-"+type}return me},bindTo:function(component){this.owner=component},onClick:function(e,target){var me=this,owner;if(me.disabled){return false}owner=me.owner||me.ownerCt;me.el.removeCls(me.toolPressedCls);me.el.removeCls(me.toolOverCls);if(me.stopEvent!==false){e.stopEvent()}Ext.callback(me.handler,me.scope||me,[e,target,owner,me]);me.fireEvent("click",me,e);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.resizer.Handle",{extend:"Ext.Component",handleCls:"",baseHandleCls:Ext.baseCSSPrefix+"resizable-handle",region:"",onRender:function(){this.addCls(this.baseHandleCls,this.baseHandleCls+"-"+this.region,this.handleCls);this.callParent(arguments);this.el.unselectable()}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(config){var me=this,target,tag,handles=me.handles,handleCls,possibles,len,i=0,pos;this.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(config)||Ext.isElement(config)||config.dom){target=config;config=arguments[1]||{};config.target=target}me.mixins.observable.constructor.call(me,config);target=me.target;if(target){if(target.isComponent){me.el=target.getEl();if(target.minWidth){me.minWidth=target.minWidth}if(target.minHeight){me.minHeight=target.minHeight}if(target.maxWidth){me.maxWidth=target.maxWidth}if(target.maxHeight){me.maxHeight=target.maxHeight}if(target.floating){if(!this.hasOwnProperty("handles")){this.handles="n ne e se s sw w nw"}}}else{me.el=me.target=Ext.get(target)}}else{me.target=me.el=Ext.get(me.el)}tag=me.el.dom.tagName;if(tag=="TEXTAREA"||tag=="IMG"){me.originalTarget=me.target;me.target=me.el=me.el.wrap({cls:me.wrapCls,id:me.el.id+"-rzwrap"});me.el.setPositioning(me.originalTarget.getPositioning());me.originalTarget.clearPositioning();var box=me.originalTarget.getBox();me.el.setBox(box)}me.el.position();if(me.pinned){me.el.addCls(me.pinnedCls)}me.resizeTracker=Ext.create("Ext.resizer.ResizeTracker",{disabled:me.disabled,target:me.target,constrainTo:me.constrainTo,overCls:me.overCls,throttle:me.throttle,originalTarget:me.originalTarget,delegate:"."+me.handleCls,dynamic:me.dynamic,preserveRatio:me.preserveRatio,heightIncrement:me.heightIncrement,widthIncrement:me.widthIncrement,minHeight:me.minHeight,maxHeight:me.maxHeight,minWidth:me.minWidth,maxWidth:me.maxWidth});me.resizeTracker.on("mousedown",me.onBeforeResize,me);me.resizeTracker.on("drag",me.onResize,me);me.resizeTracker.on("dragend",me.onResizeEnd,me);if(me.handles=="all"){me.handles="n s e w ne nw se sw"}handles=me.handles=me.handles.split(/ |\s*?[,;]\s*?/);possibles=me.possiblePositions;len=handles.length;handleCls=me.handleCls+" "+(this.target.isComponent?(me.target.baseCls+"-handle "):"")+me.handleCls+"-";for(;iwidthRatio){me.minWidth=me.el.getWidth()*heightRatio}else{me.minHeight=me.el.getHeight()*widthRatio}}if(me.throttle){var throttledResizeFn=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(me,arguments)},me.throttle);me.resize=function(box,direction,atEnd){if(atEnd){Ext.resizer.ResizeTracker.prototype.resize.apply(me,arguments)}else{throttledResizeFn.apply(null,arguments)}}}},onBeforeStart:function(e){this.startBox=this.el.getBox()},getDynamicTarget:function(){var me=this,target=me.target;if(me.dynamic){return target}else{if(!me.proxy){me.proxy=me.createProxy(target)}}me.proxy.show();return me.proxy},createProxy:function(target){var proxy,cls=this.proxyCls,renderTo;if(target.isComponent){proxy=target.getProxy().addCls(cls)}else{renderTo=Ext.getBody();if(Ext.scopeResetCSS){renderTo=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"reset"})}proxy=target.createProxy({tag:"div",cls:cls,id:target.id+"-rzproxy"},renderTo)}proxy.removeCls(Ext.baseCSSPrefix+"proxy-el");return proxy},onStart:function(e){this.activeResizeHandle=Ext.getCmp(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(e){if(this.dynamic||this.proxy){this.updateDimensions(e)}},updateDimensions:function(e,atEnd){var me=this,region=me.activeResizeHandle.region,offset=me.getOffset(me.constrainTo?"dragTarget":null),box=me.startBox,ratio,widthAdjust=0,heightAdjust=0,snappedWidth,snappedHeight,adjustX=0,adjustY=0,dragRatio,horizDir=offset[0]<0?"right":"left",vertDir=offset[1]<0?"down":"up",oppositeCorner,axis;switch(region){case"south":heightAdjust=offset[1];axis=2;break;case"north":heightAdjust=-offset[1];adjustY=-heightAdjust;axis=2;break;case"east":widthAdjust=offset[0];axis=1;break;case"west":widthAdjust=-offset[0];adjustX=-widthAdjust;axis=1;break;case"northeast":heightAdjust=-offset[1];adjustY=-heightAdjust;widthAdjust=offset[0];oppositeCorner=[box.x,box.y+box.height];axis=3;break;case"southeast":heightAdjust=offset[1];widthAdjust=offset[0];oppositeCorner=[box.x,box.y];axis=3;break;case"southwest":widthAdjust=-offset[0];adjustX=-widthAdjust;heightAdjust=offset[1];oppositeCorner=[box.x+box.width,box.y];axis=3;break;case"northwest":heightAdjust=-offset[1];adjustY=-heightAdjust;widthAdjust=-offset[0];adjustX=-widthAdjust;oppositeCorner=[box.x+box.width,box.y+box.height];axis=3;break}var newBox={width:box.width+widthAdjust,height:box.height+heightAdjust,x:box.x+adjustX,y:box.y+adjustY};snappedWidth=Ext.Number.snap(newBox.width,me.widthIncrement);snappedHeight=Ext.Number.snap(newBox.height,me.heightIncrement);if(snappedWidth!=newBox.width||snappedHeight!=newBox.height){switch(region){case"northeast":newBox.y-=snappedHeight-newBox.height;break;case"north":newBox.y-=snappedHeight-newBox.height;break;case"southwest":newBox.x-=snappedWidth-newBox.width;break;case"west":newBox.x-=snappedWidth-newBox.width;break;case"northwest":newBox.x-=snappedWidth-newBox.width;newBox.y-=snappedHeight-newBox.height}newBox.width=snappedWidth;newBox.height=snappedHeight}if(newBox.widthme.maxWidth){newBox.width=Ext.Number.constrain(newBox.width,me.minWidth,me.maxWidth);if(adjustX){newBox.x=box.x+(box.width-newBox.width)}}else{me.lastX=newBox.x}if(newBox.heightme.maxHeight){newBox.height=Ext.Number.constrain(newBox.height,me.minHeight,me.maxHeight);if(adjustY){newBox.y=box.y+(box.height-newBox.height)}}else{me.lastY=newBox.y}if(me.preserveRatio||e.shiftKey){var newHeight,newWidth;ratio=me.startBox.width/me.startBox.height;newHeight=Math.min(Math.max(me.minHeight,newBox.width/ratio),me.maxHeight);newWidth=Math.min(Math.max(me.minWidth,newBox.height*ratio),me.maxWidth);if(axis==1){newBox.height=newHeight}else{if(axis==2){newBox.width=newWidth}else{dragRatio=Math.abs(oppositeCorner[0]-this.lastXY[0])/Math.abs(oppositeCorner[1]-this.lastXY[1]);if(dragRatio>ratio){newBox.height=newHeight}else{newBox.width=newWidth}if(region=="northeast"){newBox.y=box.y-(newBox.height-box.height)}else{if(region=="northwest"){newBox.y=box.y-(newBox.height-box.height);newBox.x=box.x-(newBox.width-box.width)}else{if(region=="southwest"){newBox.x=box.x-(newBox.width-box.width)}}}}}}if(heightAdjust===0){vertDir="none"}if(widthAdjust===0){horizDir="none"}me.resize(newBox,{horizontal:horizDir,vertical:vertDir},atEnd)},getResizeTarget:function(atEnd){return atEnd?this.target:this.getDynamicTarget()},resize:function(box,direction,atEnd){var target=this.getResizeTarget(atEnd);if(target.isComponent){if(target.floating){target.setPagePosition(box.x,box.y)}target.setSize(box.width,box.height)}else{target.setBox(box);if(this.originalTarget){this.originalTarget.setBox(box)}}},onEnd:function(e){this.updateDimensions(e,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",getPrevCmp:function(){var splitter=this.getSplitter();return splitter.previousSibling()},getNextCmp:function(){var splitter=this.getSplitter();return splitter.nextSibling()},onBeforeStart:function(e){var me=this,prevCmp=me.getPrevCmp(),nextCmp=me.getNextCmp(),collapseEl=me.getSplitter().collapseEl,overlay;if(collapseEl&&(e.getTarget()===me.getSplitter().collapseEl.dom)){return false}if(nextCmp.collapsed||prevCmp.collapsed){return false}overlay=me.overlay=Ext.getBody().createChild({cls:me.overlayCls,html:" "});overlay.unselectable();overlay.setSize(Ext.Element.getViewWidth(true),Ext.Element.getViewHeight(true));overlay.show();me.prevBox=prevCmp.getEl().getBox();me.nextBox=nextCmp.getEl().getBox();me.constrainTo=me.calculateConstrainRegion()},onStart:function(e){var splitter=this.getSplitter();splitter.addCls(splitter.baseCls+"-active")},calculateConstrainRegion:function(){var me=this,splitter=me.getSplitter(),splitWidth=splitter.getWidth(),defaultMin=splitter.defaultSplitMin,orient=splitter.orientation,prevBox=me.prevBox,prevCmp=me.getPrevCmp(),nextBox=me.nextBox,nextCmp=me.getNextCmp(),prevConstrainRegion,nextConstrainRegion;if(orient==="vertical"){prevConstrainRegion=Ext.create("Ext.util.Region",prevBox.y,(prevCmp.maxWidth?prevBox.x+prevCmp.maxWidth:nextBox.right-(nextCmp.minWidth||defaultMin))+splitWidth,prevBox.bottom,prevBox.x+(prevCmp.minWidth||defaultMin));nextConstrainRegion=Ext.create("Ext.util.Region",nextBox.y,nextBox.right-(nextCmp.minWidth||defaultMin),nextBox.bottom,(nextCmp.maxWidth?nextBox.right-nextCmp.maxWidth:prevBox.x+(prevBox.minWidth||defaultMin))-splitWidth)}else{prevConstrainRegion=Ext.create("Ext.util.Region",prevBox.y+(prevCmp.minHeight||defaultMin),prevBox.right,(prevCmp.maxHeight?prevBox.y+prevCmp.maxHeight:nextBox.bottom-(nextCmp.minHeight||defaultMin))+splitWidth,prevBox.x);nextConstrainRegion=Ext.create("Ext.util.Region",(nextCmp.maxHeight?nextBox.bottom-nextCmp.maxHeight:prevBox.y+(prevCmp.minHeight||defaultMin))-splitWidth,nextBox.right,nextBox.bottom-(nextCmp.minHeight||defaultMin),nextBox.x)}return prevConstrainRegion.intersect(nextConstrainRegion)},performResize:function(e){var me=this,offset=me.getOffset("dragTarget"),splitter=me.getSplitter(),orient=splitter.orientation,prevCmp=me.getPrevCmp(),nextCmp=me.getNextCmp(),owner=splitter.ownerCt,layout=owner.getLayout();owner.suspendLayout=true;if(orient==="vertical"){if(prevCmp){if(!prevCmp.maintainFlex){delete prevCmp.flex;prevCmp.setSize(me.prevBox.width+offset[0],prevCmp.getHeight())}}if(nextCmp){if(!nextCmp.maintainFlex){delete nextCmp.flex;nextCmp.setSize(me.nextBox.width-offset[0],nextCmp.getHeight())}}}else{if(prevCmp){if(!prevCmp.maintainFlex){delete prevCmp.flex;prevCmp.setSize(prevCmp.getWidth(),me.prevBox.height+offset[1])}}if(nextCmp){if(!nextCmp.maintainFlex){delete nextCmp.flex;nextCmp.setSize(prevCmp.getWidth(),me.nextBox.height-offset[1])}}}delete owner.suspendLayout;layout.onLayout()},endDrag:function(){var me=this;if(me.overlay){me.overlay.remove();delete me.overlay}me.callParent(arguments)},onEnd:function(e){var me=this,splitter=me.getSplitter();splitter.removeCls(splitter.baseCls+"-active");me.performResize()},onDrag:function(e){var me=this,offset=me.getOffset("dragTarget"),splitter=me.getSplitter(),splitEl=splitter.getEl(),orient=splitter.orientation;if(orient==="vertical"){splitEl.setX(me.startRegion.left+offset[0])}else{splitEl.setY(me.startRegion.top+offset[1])}},getSplitter:function(){return Ext.getCmp(this.getDragCt().id)}});Ext.define("Ext.selection.CellModel",{extend:"Ext.selection.Model",alias:"selection.cellmodel",requires:["Ext.util.KeyNav"],enableKeyNav:true,preventWrap:false,constructor:function(){this.addEvents("deselect","select");this.callParent(arguments)},bindComponent:function(view){var me=this;me.primaryView=view;me.views=me.views||[];me.views.push(view);me.bind(view.getStore(),true);view.on({cellmousedown:me.onMouseDown,refresh:me.onViewRefresh,scope:me});if(me.enableKeyNav){me.initKeyNav(view)}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on("render",Ext.Function.bind(me.initKeyNav,me,[view],0),me,{single:true});return}view.el.set({tabIndex:-1});me.keyNav=Ext.create("Ext.util.KeyNav",view.el,{up:me.onKeyUp,down:me.onKeyDown,right:me.onKeyRight,left:me.onKeyLeft,tab:me.onKeyTab,scope:me})},getHeaderCt:function(){return this.primaryView.headerCt},onKeyUp:function(e,t){this.move("up",e)},onKeyDown:function(e,t){this.move("down",e)},onKeyLeft:function(e,t){this.move("left",e)},onKeyRight:function(e,t){this.move("right",e)},move:function(dir,e){var me=this,pos=me.primaryView.walkCells(me.getCurrentPosition(),dir,e,me.preventWrap);if(pos){me.setCurrentPosition(pos)}return pos},getCurrentPosition:function(){return this.position},setCurrentPosition:function(pos){var me=this;if(me.position){me.onCellDeselect(me.position)}if(pos){me.onCellSelect(pos)}me.position=pos},onMouseDown:function(view,cell,cellIndex,record,row,rowIndex,e){this.setCurrentPosition({row:rowIndex,column:cellIndex})},onCellSelect:function(position){var me=this,store=me.view.getStore(),record=store.getAt(position.row);me.doSelect(record);me.primaryView.onCellSelect(position);me.primaryView.onCellFocus(position);me.fireEvent("select",me,record,position.row,position.column)},onCellDeselect:function(position){var me=this,store=me.view.getStore(),record=store.getAt(position.row);me.doDeselect(record);me.primaryView.onCellDeselect(position);me.fireEvent("deselect",me,record,position.row,position.column)},onKeyTab:function(e,t){var me=this,direction=e.shiftKey?"left":"right",editingPlugin=me.view.editingPlugin,position=me.move(direction,e);if(editingPlugin&&position&&me.wasEditing){editingPlugin.startEditByPosition(position)}delete me.wasEditing},onEditorTab:function(editingPlugin,e){var me=this,direction=e.shiftKey?"left":"right",position=me.move(direction,e);if(position){editingPlugin.startEditByPosition(position);me.wasEditing=true}},refresh:function(){var pos=this.getCurrentPosition();if(pos){this.onCellSelect(pos)}},onViewRefresh:function(){var pos=this.getCurrentPosition();if(pos){this.onCellDeselect(pos);this.setCurrentPosition(null)}},selectByPosition:function(position){this.setCurrentPosition(position)}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,ignoreRightMouseSelection:true,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(view){var me=this;me.views=me.views||[];me.views.push(view);me.bind(view.getStore(),true);view.on({itemmousedown:me.onRowMouseDown,scope:me});if(me.enableKeyNav){me.initKeyNav(view)}},initKeyNav:function(view){var me=this;if(!view.rendered){view.on("render",Ext.Function.bind(me.initKeyNav,me,[view],0),me,{single:true});return}view.el.set({tabIndex:-1});me.keyNav=new Ext.util.KeyNav(view.el,{up:me.onKeyUp,down:me.onKeyDown,right:me.onKeyRight,left:me.onKeyLeft,pageDown:me.onKeyPageDown,pageUp:me.onKeyPageUp,home:me.onKeyHome,end:me.onKeyEnd,scope:me});view.el.on(Ext.EventManager.getKeyEvent(),me.onKeyPress,me)},getRowsVisible:function(){var rowsVisible=false,view=this.views[0],row=view.getNode(0),rowHeight,gridViewHeight;if(row){rowHeight=Ext.fly(row).getHeight();gridViewHeight=view.el.getHeight();rowsVisible=Math.floor(gridViewHeight/rowHeight)}return rowsVisible},onKeyEnd:function(e,t){var me=this,last=me.store.getAt(me.store.getCount()-1);if(last){if(e.shiftKey){me.selectRange(last,me.lastFocused||0);me.setLastFocused(last)}else{if(e.ctrlKey){me.setLastFocused(last)}else{me.doSelect(last)}}}},onKeyHome:function(e,t){var me=this,first=me.store.getAt(0);if(first){if(e.shiftKey){me.selectRange(first,me.lastFocused||0);me.setLastFocused(first)}else{if(e.ctrlKey){me.setLastFocused(first)}else{me.doSelect(first,false)}}}},onKeyPageUp:function(e,t){var me=this,rowsVisible=me.getRowsVisible(),selIdx,prevIdx,prevRecord,currRec;if(rowsVisible){selIdx=me.lastFocused?me.store.indexOf(me.lastFocused):0;prevIdx=selIdx-rowsVisible;if(prevIdx<0){prevIdx=0}prevRecord=me.store.getAt(prevIdx);if(e.shiftKey){currRec=me.store.getAt(selIdx);me.selectRange(prevRecord,currRec,e.ctrlKey,"up");me.setLastFocused(prevRecord)}else{if(e.ctrlKey){e.preventDefault();me.setLastFocused(prevRecord)}else{me.doSelect(prevRecord)}}}},onKeyPageDown:function(e,t){var me=this,rowsVisible=me.getRowsVisible(),selIdx,nextIdx,nextRecord,currRec;if(rowsVisible){selIdx=me.lastFocused?me.store.indexOf(me.lastFocused):0;nextIdx=selIdx+rowsVisible;if(nextIdx>=me.store.getCount()){nextIdx=me.store.getCount()-1}nextRecord=me.store.getAt(nextIdx);if(e.shiftKey){currRec=me.store.getAt(selIdx);me.selectRange(nextRecord,currRec,e.ctrlKey,"down");me.setLastFocused(nextRecord)}else{if(e.ctrlKey){e.preventDefault();me.setLastFocused(nextRecord)}else{me.doSelect(nextRecord)}}}},onKeyPress:function(e,t){if(e.getKey()===e.SPACE){e.stopEvent();var me=this,record=me.lastFocused;if(record){if(me.isSelected(record)){me.doDeselect(record,false)}else{me.doSelect(record,true)}}}},onKeyUp:function(e,t){var me=this,view=me.views[0],idx=me.store.indexOf(me.lastFocused),record;if(idx>0){record=me.store.getAt(idx-1);if(e.shiftKey&&me.lastFocused){if(me.isSelected(me.lastFocused)&&me.isSelected(record)){me.doDeselect(me.lastFocused,true);me.setLastFocused(record)}else{if(!me.isSelected(me.lastFocused)){me.doSelect(me.lastFocused,true);me.doSelect(record,true)}else{me.doSelect(record,true)}}}else{if(e.ctrlKey){me.setLastFocused(record)}else{me.doSelect(record)}}}},onKeyDown:function(e,t){var me=this,view=me.views[0],idx=me.store.indexOf(me.lastFocused),record;if(idx+1 '},onRowMouseDown:function(view,record,item,index,e){view.el.focus();var me=this,checker=e.getTarget("."+Ext.baseCSSPrefix+"grid-row-checker");if(!me.allowRightMouseSelection(e)){return}if(me.checkOnly&&!checker){return}if(checker){var mode=me.getSelectionMode();if(mode!=="SINGLE"){me.setSelectionMode("SIMPLE")}me.selectWithEvent(record,e);me.setSelectionMode(mode)}else{me.selectWithEvent(record,e)}},onSelectChange:function(){this.callParent(arguments);var hdSelectStatus=this.selected.getCount()===this.store.getCount();this.toggleUiHeader(hdSelectStatus)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(e,t){var focused=this.getLastFocused(),view=this.view;if(focused){if(focused.isExpanded()){this.onKeyDown(e,t)}else{if(!focused.isLeaf()){view.expand(focused)}}}},onKeyLeft:function(e,t){var focused=this.getLastFocused(),view=this.view,viewSm=view.getSelectionModel(),parentNode,parentRecord;if(focused){parentNode=focused.parentNode;if(focused.isExpanded()){view.collapse(focused)}else{if(parentNode&&!parentNode.isRoot()){if(e.shiftKey){viewSm.selectRange(parentNode,focused,e.ctrlKey,"up");viewSm.setLastFocused(parentNode)}else{if(e.ctrlKey){viewSm.setLastFocused(parentNode)}else{viewSm.select(parentNode)}}}}}},onKeyPress:function(e,t){var key=e.getKey(),selected,checked;if(key===e.SPACE||key===e.ENTER){e.stopEvent();selected=this.getLastSelected();if(selected){this.view.onCheckChange(selected)}}else{this.callParent(arguments)}}});Ext.define("Ext.slider.Thumb",{requires:["Ext.dd.DragTracker","Ext.util.Format"],topZIndex:10000,constructor:function(config){var me=this;Ext.apply(me,config||{},{cls:Ext.baseCSSPrefix+"slider-thumb",constrain:false});me.callParent([config]);if(me.slider.vertical){Ext.apply(me,Ext.slider.Thumb.Vertical)}},render:function(){var me=this;me.el=me.slider.innerEl.insertFirst({cls:me.cls});if(me.disabled){me.disable()}me.initEvents()},move:function(v,animate){if(!animate){this.el.setLeft(v)}else{Ext.create("Ext.fx.Anim",{target:this.el,duration:350,to:{left:v}})}},bringToFront:function(){this.el.setStyle("zIndex",this.topZIndex)},sendToBack:function(){this.el.setStyle("zIndex","")},enable:function(){var me=this;me.disabled=false;if(me.el){me.el.removeCls(me.slider.disabledCls)}},disable:function(){var me=this;me.disabled=true;if(me.el){me.el.addCls(me.slider.disabledCls)}},initEvents:function(){var me=this,el=me.el;me.tracker=Ext.create("Ext.dd.DragTracker",{onBeforeStart:Ext.Function.bind(me.onBeforeDragStart,me),onStart:Ext.Function.bind(me.onDragStart,me),onDrag:Ext.Function.bind(me.onDrag,me),onEnd:Ext.Function.bind(me.onDragEnd,me),tolerance:3,autoStart:300,overCls:Ext.baseCSSPrefix+"slider-thumb-over"});me.tracker.initEl(el)},onBeforeDragStart:function(e){if(this.disabled){return false}else{this.slider.promoteThumb(this);return true}},onDragStart:function(e){var me=this;me.el.addCls(Ext.baseCSSPrefix+"slider-thumb-drag");me.dragging=true;me.dragStartValue=me.value;me.slider.fireEvent("dragstart",me.slider,e,me)},onDrag:function(e){var me=this,slider=me.slider,index=me.index,newValue=me.getNewValue(),above,below;if(me.constrain){above=slider.thumbs[index+1];below=slider.thumbs[index-1];if(below!==undefined&&newValue<=below.value){newValue=below.value}if(above!==undefined&&newValue>=above.value){newValue=above.value}}slider.setValue(index,newValue,false);slider.fireEvent("drag",slider,e,me)},getNewValue:function(){var slider=this.slider,pos=slider.innerEl.translatePoints(this.tracker.getXY());return Ext.util.Format.round(slider.reverseValue(pos.left),slider.decimalPrecision)},onDragEnd:function(e){var me=this,slider=me.slider,value=me.value;me.el.removeCls(Ext.baseCSSPrefix+"slider-thumb-drag");me.dragging=false;slider.fireEvent("dragend",slider,e);if(me.dragStartValue!=value){slider.fireEvent("changecomplete",slider,value,me)}},destroy:function(){Ext.destroy(this.tracker)},statics:{Vertical:{getNewValue:function(){var slider=this.slider,innerEl=slider.innerEl,pos=innerEl.translatePoints(this.tracker.getXY()),bottom=innerEl.getHeight()-pos.top;return Ext.util.Format.round(slider.reverseValue(bottom),slider.decimalPrecision)},move:function(v,animate){if(!animate){this.el.setBottom(v)}else{Ext.create("Ext.fx.Anim",{target:this.el,duration:350,to:{bottom:v}})}}}}});Ext.define("Ext.slider.Tip",{extend:"Ext.tip.Tip",minWidth:10,alias:"widget.slidertip",offsets:[0,-10],isSliderTip:true,init:function(slider){var me=this;slider.on({scope:me,dragstart:me.onSlide,drag:me.onSlide,dragend:me.hide,destroy:me.destroy})},onSlide:function(slider,e,thumb){var me=this;me.show();me.update(me.getText(thumb));me.doComponentLayout();me.el.alignTo(thumb.el,"b-t?",me.offsets)},getText:function(thumb){return String(thumb.value)}});Ext.define("Ext.slider.Multi",{extend:"Ext.form.field.Base",alias:"widget.multislider",alternateClassName:"Ext.slider.MultiSlider",requires:["Ext.slider.Thumb","Ext.slider.Tip","Ext.Number","Ext.util.Format","Ext.Template","Ext.layout.component.field.Slider"],fieldSubTpl:['
    ','","
    ",{disableFormats:true,compiled:true}],vertical:false,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,dragging:false,constrainThumbs:true,componentLayout:"sliderfield",useTips:true,tipText:null,ariaRole:"slider",initValue:function(){var me=this,extValue=Ext.value,values=extValue(me.values,[extValue(me.value,extValue(me.minValue,0))]),i=0,len=values.length;me.originalValue=values;for(;ime.clickRange[0]&&local.topval?val:t.value}me.syncThumbs()},setValue:function(index,value,animate,changeComplete){var me=this,thumb=me.thumbs[index];value=me.normalizeValue(value);if(value!==thumb.value&&me.fireEvent("beforechange",me,value,thumb.value,thumb)!==false){thumb.value=value;if(me.rendered){me.inputEl.set({"aria-valuenow":value,"aria-valuetext":value});thumb.move(me.translateValue(value),Ext.isDefined(animate)?animate!==false:me.animate);me.fireEvent("change",me,value,thumb);if(changeComplete){me.fireEvent("changecomplete",me,value,thumb)}}}},translateValue:function(v){var ratio=this.getRatio();return(v*ratio)-(this.minValue*ratio)-this.halfThumb},reverseValue:function(pos){var ratio=this.getRatio();return(pos+(this.minValue*ratio))/ratio},focus:function(){this.focusEl.focus(10)},onDisable:function(){var me=this,i=0,thumbs=me.thumbs,len=thumbs.length,thumb,el,xy;me.callParent();for(;ime.clickRange[0]&&local.left {bodyCls} {baseCls}-body-{ui} {parent.baseCls}-body-{parent.ui}-{.}" style="{bodyStyle}">','
    {baseCls}-strip-{ui} {parent.baseCls}-strip-{parent.ui}-{.}">
    '],initComponent:function(){var me=this,keys;if(me.plain){me.setUI(me.ui+"-plain")}me.addClsWithUI(me.dock);me.addEvents("change");me.addChildEls("body","strip");me.callParent(arguments);me.layout.align=(me.orientation=="vertical")?"left":"top";me.layout.overflowHandler=Ext.create("Ext.layout.container.boxOverflow.Scroller",me.layout);me.remove(me.titleCmp);delete me.titleCmp;keys=me.orientation=="vertical"?["up","down"]:["left","right"];Ext.FocusManager.subscribe(me,{keys:keys});Ext.apply(me.renderData,{bodyCls:me.bodyCls})},onAdd:function(tab){tab.position=this.dock;this.callParent(arguments)},onRemove:function(tab){var me=this;if(tab===me.previousTab){me.previousTab=null}if(me.items.getCount()===0){me.activeTab=null}me.callParent(arguments)},afterRender:function(){var me=this;me.mon(me.el,{scope:me,click:me.onClick,delegate:"."+Ext.baseCSSPrefix+"tab"});me.callParent(arguments)},afterComponentLayout:function(){var me=this;me.callParent(arguments);me.strip.setWidth(me.el.getWidth())},onClick:function(e,target){var tab=Ext.getCmp(target.id),tabPanel=this.tabPanel;target=e.getTarget();if(tab&&tab.isDisabled&&!tab.isDisabled()){if(tab.closable&&target===tab.closeEl.dom){tab.onCloseClick()}else{if(tabPanel){tabPanel.setActiveTab(tab.card)}else{this.setActiveTab(tab)}tab.focus()}}},closeTab:function(tab){var me=this,card=tab.card,tabPanel=me.tabPanel,nextTab;if(card&&card.fireEvent("beforeclose",card)===false){return false}if(tab.active&&me.items.getCount()>1){nextTab=me.previousTab||tab.next("tab")||me.items.first();me.setActiveTab(nextTab);if(tabPanel){tabPanel.setActiveTab(nextTab.card)}}tab.fireClose();me.remove(tab);if(tabPanel&&card){card.fireEvent("close",card);tabPanel.remove(card)}if(nextTab){nextTab.focus()}},setActiveTab:function(tab){if(tab.disabled){return}var me=this;if(me.activeTab){me.previousTab=me.activeTab;me.activeTab.deactivate()}tab.activate();if(me.rendered){me.layout.layout();tab.el&&tab.el.scrollIntoView(me.layout.getRenderTarget())}me.activeTab=tab;me.fireEvent("change",me,tab,tab.card)}});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:"x-tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:true,initComponent:function(){var me=this,dockedItems=me.dockedItems||[],activeTab=me.activeTab||0;me.layout=Ext.create("Ext.layout.container.Card",Ext.apply({owner:me,deferredRender:me.deferredRender,itemCls:me.itemCls},me.layout));me.tabBar=Ext.create("Ext.tab.Bar",Ext.apply({},me.tabBar,{dock:me.tabPosition,plain:me.plain,border:me.border,cardLayout:me.layout,tabPanel:me}));if(dockedItems&&!Ext.isArray(dockedItems)){dockedItems=[dockedItems]}dockedItems.push(me.tabBar);me.dockedItems=dockedItems;me.addEvents("beforetabchange","tabchange");me.callParent(arguments);me.setActiveTab(activeTab);me.on("afterlayout",me.afterInitialLayout,me,{single:true})},afterInitialLayout:function(){var me=this,card=me.getComponent(me.activeTab);if(card){me.layout.setActiveItem(card)}},setActiveTab:function(card){var me=this,previous;card=me.getComponent(card);if(card){previous=me.getActiveTab();if(previous&&previous!==card&&me.fireEvent("beforetabchange",me,card,previous)===false){return false}me.tabBar.setActiveTab(card.tab);me.activeTab=card;if(me.rendered){me.layout.setActiveItem(card)}if(previous&&previous!==card){me.fireEvent("tabchange",me,card,previous)}}},getActiveTab:function(){return this.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(item,index){var me=this,cfg=item.tabConfig||{},defaultConfig={xtype:"tab",card:item,disabled:item.disabled,closable:item.closable,hidden:item.hidden,tabBar:me.tabBar};if(item.closeText){defaultConfig.closeText=item.closeText}cfg=Ext.applyIf(cfg,defaultConfig);item.tab=me.tabBar.insert(index,cfg);item.on({scope:me,enable:me.onItemEnable,disable:me.onItemDisable,beforeshow:me.onItemBeforeShow,iconchange:me.onItemIconChange,titlechange:me.onItemTitleChange});if(item.isPanel){if(me.removePanelHeader){item.preventHeader=true;if(item.rendered){item.updateHeader()}}if(item.isPanel&&me.border){item.setBorder(false)}}if(this.rendered&&me.items.getCount()===1){me.setActiveTab(0)}},onItemEnable:function(item){item.tab.enable()},onItemDisable:function(item){item.tab.disable()},onItemBeforeShow:function(item){if(item!==this.activeTab){this.setActiveTab(item);return false}},onItemIconChange:function(item,newIconCls){item.tab.setIconCls(newIconCls);this.getTabBar().doLayout()},onItemTitleChange:function(item,newTitle){item.tab.setText(newTitle);this.getTabBar().doLayout()},doRemove:function(item,autoDestroy){var me=this,items=me.items,hasItemsLeft=items.getCount()>1;if(me.destroying||!hasItemsLeft){me.activeTab=null}else{if(item===me.activeTab){me.setActiveTab(item.next()||items.getAt(0))}}me.callParent(arguments);delete item.tab.card;delete item.tab},onRemove:function(item,autoDestroy){var me=this;item.un({scope:me,enable:me.onItemEnable,disable:me.onItemDisable,beforeshow:me.onItemBeforeShow});if(!me.destroying&&item.tab.ownerCt==me.tabBar){me.tabBar.remove(item.tab)}}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",initComponent:function(){var origRenderer=this.renderer||this.defaultRenderer,origScope=this.scope||window;this.renderer=function(value,metaData,record,rowIdx,colIdx,store,view){var buf=[],format=Ext.String.format,depth=record.getDepth(),treePrefix=Ext.baseCSSPrefix+"tree-",elbowPrefix=treePrefix+"elbow-",expanderCls=treePrefix+"expander",imgText='',checkboxText='',formattedValue=origRenderer.apply(origScope,arguments),href=record.get("href"),target=record.get("hrefTarget"),cls=record.get("cls");while(record){if(!record.isRoot()||(record.isRoot()&&view.rootVisible)){if(record.getDepth()===depth){buf.unshift(format(imgText,treePrefix+"icon "+treePrefix+"icon"+(record.get("icon")?"-inline ":(record.isLeaf()?"-leaf ":"-parent "))+(record.get("iconCls")||""),record.get("icon")||Ext.BLANK_IMAGE_URL));if(record.get("checked")!==null){buf.unshift(format(checkboxText,(treePrefix+"checkbox")+(record.get("checked")?" "+treePrefix+"checkbox-checked":""),record.get("checked")?'aria-checked="true"':""));if(record.get("checked")){metaData.tdCls+=(" "+treePrefix+"checked")}}if(record.isLast()){if(record.isExpandable()){buf.unshift(format(imgText,(elbowPrefix+"end-plus "+expanderCls),Ext.BLANK_IMAGE_URL))}else{buf.unshift(format(imgText,(elbowPrefix+"end"),Ext.BLANK_IMAGE_URL))}}else{if(record.isExpandable()){buf.unshift(format(imgText,(elbowPrefix+"plus "+expanderCls),Ext.BLANK_IMAGE_URL))}else{buf.unshift(format(imgText,(treePrefix+"elbow"),Ext.BLANK_IMAGE_URL))}}}else{if(record.isLast()||record.getDepth()===0){buf.unshift(format(imgText,(elbowPrefix+"empty"),Ext.BLANK_IMAGE_URL))}else{if(record.getDepth()!==0){buf.unshift(format(imgText,(elbowPrefix+"line"),Ext.BLANK_IMAGE_URL))}}}}record=record.parentNode}if(href){buf.push('',formattedValue,"")}else{buf.push(formattedValue)}if(cls){metaData.tdCls+=" "+cls}return buf.join("")};this.callParent(arguments)},defaultRenderer:function(value){return value}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:true,rootVisible:true,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,initComponent:function(){var me=this;if(me.initialConfig.animate===undefined){me.animate=Ext.enableFx}me.store=Ext.create("Ext.data.NodeStore",{recursive:true,rootVisible:me.rootVisible,listeners:{beforeexpand:me.onBeforeExpand,expand:me.onExpand,beforecollapse:me.onBeforeCollapse,collapse:me.onCollapse,scope:me}});if(me.node){me.setRootNode(me.node)}me.animQueue={};me.callParent(arguments)},processUIEvent:function(e){if(e.getTarget("."+this.nodeAnimWrapCls,this.el)){return false}return this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(node){var me=this;me.store.setNode(node);me.node=node;if(!me.rootVisible){node.expand()}},onRender:function(){var me=this,el;me.callParent(arguments);el=me.el;el.on({scope:me,delegate:me.expanderSelector,mouseover:me.onExpanderMouseOver,mouseout:me.onExpanderMouseOut});el.on({scope:me,delegate:me.checkboxSelector,click:me.onCheckboxChange})},onCheckboxChange:function(e,t){var me=this,item=e.getTarget(me.getItemSelector(),me.getTargetEl());if(item){me.onCheckChange(me.getRecord(item))}},onCheckChange:function(record){var checked=record.get("checked");if(Ext.isBoolean(checked)){checked=!checked;record.set("checked",checked);this.fireEvent("checkchange",record,checked)}},getChecked:function(){var checked=[];this.node.cascadeBy(function(rec){if(rec.get("checked")){checked.push(rec)}});return checked},isItemChecked:function(rec){return rec.get("checked")},createAnimWrap:function(record,index){var thHtml="",headerCt=this.panel.headerCt,headers=headerCt.getGridColumns(),i=0,len=headers.length,item,node=this.getNode(record),tmpEl,nodeEl;for(;i'}nodeEl=Ext.get(node);tmpEl=nodeEl.insertSibling({tag:"tr",html:['','
    ','',thHtml,"
    ","
    ",""].join("")},"after");return{record:record,node:node,el:tmpEl,expanding:false,collapsing:false,animating:false,animateEl:tmpEl.down("div"),targetEl:tmpEl.down("tbody")}},getAnimWrap:function(parent){if(!this.animate){return null}while(parent){if(parent.animWrap){return parent.animWrap}parent=parent.parentNode}return null},doAdd:function(nodes,records,index){var me=this,record=records[0],parent=record.parentNode,a=me.all.elements,relativeIndex=0,animWrap=me.getAnimWrap(parent),targetEl,children,len;if(!animWrap||!animWrap.expanding){me.resetScrollers();return me.callParent(arguments)}parent=animWrap.record;targetEl=animWrap.targetEl;children=targetEl.dom.childNodes;len=children.length-1;relativeIndex=index-me.indexOf(parent)-1;if(!len||relativeIndex>=len){targetEl.appendChild(nodes)}else{Ext.fly(children[relativeIndex+1]).insertSibling(nodes,"before",true)}Ext.Array.insert(a,index,nodes);if(animWrap.isAnimating){me.onExpand(parent)}},beginBulkUpdate:function(){this.bulkUpdate=true;this.ownerCt.changingScrollbars=true},endBulkUpdate:function(){var me=this,ownerCt=me.ownerCt;me.bulkUpdate=false;me.ownerCt.changingScrollbars=true;me.resetScrollers()},onRemove:function(ds,record,index){var me=this,bulk=me.bulkUpdate;me.doRemove(record,index);if(!bulk){me.updateIndexes(index)}if(me.store.getCount()===0){me.refresh()}if(!bulk){me.fireEvent("itemremove",record,index)}},doRemove:function(record,index){var me=this,parent=record.parentNode,all=me.all,animWrap=me.getAnimWrap(record),node=all.item(index).dom;if(!animWrap||!animWrap.collapsing){me.resetScrollers();return me.callParent(arguments)}animWrap.targetEl.appendChild(node);all.removeElement(index)},onBeforeExpand:function(parent,records,index){var me=this,animWrap;if(!me.rendered||!me.animate){return}if(me.getNode(parent)){animWrap=me.getAnimWrap(parent);if(!animWrap){animWrap=parent.animWrap=me.createAnimWrap(parent);animWrap.animateEl.setHeight(0)}else{if(animWrap.collapsing){animWrap.targetEl.select(me.itemSelector).remove()}}animWrap.expanding=true;animWrap.collapsing=false}},onExpand:function(parent){var me=this,queue=me.animQueue,id=parent.getId(),animWrap,animateEl,targetEl,queueItem;if(me.singleExpand){me.ensureSingleExpand(parent)}animWrap=me.getAnimWrap(parent);if(!animWrap){me.resetScrollers();return}animateEl=animWrap.animateEl;targetEl=animWrap.targetEl;animateEl.stopAnimation();queue[id]=true;animateEl.slideIn("t",{duration:me.expandDuration,listeners:{scope:me,lastframe:function(){animWrap.el.insertSibling(targetEl.query(me.itemSelector),"before");animWrap.el.remove();me.resetScrollers();delete animWrap.record.animWrap;delete queue[id]}}});animWrap.isAnimating=true},resetScrollers:function(){if(!this.bulkUpdate){var panel=this.panel;panel.determineScrollbars();panel.invalidateScroller()}},onBeforeCollapse:function(parent,records,index){var me=this,animWrap;if(!me.rendered||!me.animate){return}if(me.getNode(parent)){animWrap=me.getAnimWrap(parent);if(!animWrap){animWrap=parent.animWrap=me.createAnimWrap(parent,index)}else{if(animWrap.expanding){animWrap.targetEl.select(this.itemSelector).remove()}}animWrap.expanding=false;animWrap.collapsing=true}},onCollapse:function(parent){var me=this,queue=me.animQueue,id=parent.getId(),animWrap=me.getAnimWrap(parent),animateEl,targetEl;if(!animWrap){me.resetScrollers();return}animateEl=animWrap.animateEl;targetEl=animWrap.targetEl;queue[id]=true;animateEl.stopAnimation();animateEl.slideOut("t",{duration:me.collapseDuration,listeners:{scope:me,lastframe:function(){animWrap.el.remove();delete animWrap.record.animWrap;me.resetScrollers();delete queue[id]}}});animWrap.isAnimating=true},isAnimating:function(node){return !!this.animQueue[node.getId()]},collectData:function(records){var data=this.callParent(arguments),rows=data.rows,len=rows.length,i=0,row,record;for(;i=region.top&&y<(region.top+fragment)){return"before"}else{if(!noBelow&&(noAppend||(y>=(region.bottom-fragment)&&y<=region.bottom))){return"after"}else{return"append"}}},isValidDropPoint:function(node,position,dragZone,e,data){if(!node||!data.item){return false}var view=this.view,targetNode=view.getRecord(node),draggedRecords=data.records,dataLength=draggedRecords.length,ln=draggedRecords.length,i,record;if(!(targetNode&&position&&dataLength)){return false}for(i=0;i2)?argv[2]:null,path=(argc>3)?argv[3]:"/",domain=(argc>4)?argv[4]:null,secure=(argc>5)?argv[5]:false;document.cookie=name+"="+escape(value)+((expires===null)?"":("; expires="+expires.toGMTString()))+((path===null)?"":("; path="+path))+((domain===null)?"":("; domain="+domain))+((secure===true)?"; secure":"")},get:function(name){var arg=name+"=",alen=arg.length,clen=document.cookie.length,i=0,j=0;while(i=0;--i){selectorText=ssRules[i].selectorText;if(selectorText){selectorText=selectorText.split(",");selectors=selectorText.length;for(j=0;j=0?href.substr(i+1):null},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(token){this.currentToken=token;this.fireEvent("change",token)},updateIFrame:function(token){var html='
    '+Ext.util.Format.htmlEncode(token)+"
    ";try{var doc=this.iframe.contentWindow.document;doc.open();doc.write(html);doc.close();return true}catch(e){return false}},checkIFrame:function(){var me=this,contentWindow=me.iframe.contentWindow;if(!contentWindow||!contentWindow.document){Ext.Function.defer(this.checkIFrame,10,this);return}var doc=contentWindow.document,elem=doc.getElementById("state"),oldToken=elem?elem.innerText:null,oldHash=me.getHash();Ext.TaskManager.start({run:function(){var doc=contentWindow.document,elem=doc.getElementById("state"),newToken=elem?elem.innerText:null,newHash=me.getHash();if(newToken!==oldToken){oldToken=newToken;me.handleStateChange(newToken);window.top.location.hash=newToken;oldHash=newToken;me.doSave()}else{if(newHash!==oldHash){oldHash=newHash;me.updateIFrame(newHash)}}},interval:50,scope:me});me.ready=true;me.fireEvent("ready",me)},startUp:function(){var me=this;me.currentToken=me.hiddenField.value||this.getHash();if(me.oldIEMode){me.checkIFrame()}else{var hash=me.getHash();Ext.TaskManager.start({run:function(){var newHash=me.getHash();if(newHash!==hash){hash=newHash;me.handleStateChange(hash);me.doSave()}},interval:50,scope:me});me.ready=true;me.fireEvent("ready",me)}},fieldId:Ext.baseCSSPrefix+"history-field",iframeId:Ext.baseCSSPrefix+"history-frame",init:function(onReady,scope){var me=this;if(me.ready){Ext.callback(onReady,scope,[me]);return}if(!Ext.isReady){Ext.onReady(function(){me.init(onReady,scope)});return}me.hiddenField=Ext.getDom(me.fieldId);if(me.oldIEMode){me.iframe=Ext.getDom(me.iframeId)}me.addEvents("ready","change");if(onReady){me.on("ready",onReady,scope,{single:true})}me.startUp()},add:function(token,preventDup){var me=this;if(preventDup!==false){if(me.getToken()===token){return true}}if(me.oldIEMode){return me.updateIFrame(token)}else{window.top.location.hash=token;return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{[this.openTableWrap()]}",'',"",'','','',"","","{[this.openRows()]}","{row}",'',"{[this.embedFeature(values, parent, xindex, xcount)]}","","{[this.closeRows()]}","","
    ","{[this.closeTableWrap()]}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(values,reference){return this.apply(reference?values[reference]:values)}},embedFeature:function(values,parent,x,xcount){var tpl="";if(!values.disabled){tpl=values.getFeatureTpl(values,parent,x,xcount)}return tpl},embedFullWidth:function(){return'style="width: {fullWidth}px;"'},openRows:function(){return''},closeRows:function(){return""},metaRowTpl:['','','
    {{id}}
    ',"
    ",""],firstOrLastCls:function(xindex,xcount){var cssCls="";if(xindex===1){cssCls=Ext.baseCSSPrefix+"grid-cell-first"}else{if(xindex===xcount){cssCls=Ext.baseCSSPrefix+"grid-cell-last"}}return cssCls},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:function(){return""},closeTableWrap:function(){return""},getTableTpl:function(cfg,textOnly){var tpl,tableTplMemberFns={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},tplMemberFns={},features=cfg.features||[],ln=features.length,i=0,memberFns={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls},metaRowTpl=Array.prototype.slice.call(this.metaRowTpl,0),metaTableTpl;for(;i