/* Copyright(c) 2010 Sencha Inc. licensing@sencha.com http://www.sencha.com/touchlicense */ if(typeof Ext==="undefined"){Ext={}}Ext.apply=(function(){for(var a in {valueOf:1}){return function(c,b,e){if(e){Ext.apply(c,e)}if(c&&b&&typeof b==="object"){for(var d in b){c[d]=b[d]}}return c}}return function(c,b,e){if(e){Ext.apply(c,e)}if(c&&b&&typeof b==="object"){for(var d in b){c[d]=b[d]}if(b.toString!==Object.prototype.toString){c.toString=b.toString}if(b.valueOf!==Object.prototype.valueOf){c.valueOf=b.valueOf}}return c}})();Ext.apply(Ext,{platformVersion:"1.0",platformVersionDetail:{major:1,minor:0,patch:3},userAgent:navigator.userAgent.toLowerCase(),cache:{},idSeed:1000,BLANK_IMAGE_URL:"data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",isStrict:document.compatMode=="CSS1Compat",windowId:"ext-window",documentId:"ext-document",emptyFn:function(){},isSecure:/^https/i.test(window.location.protocol),isReady:false,enableGarbageCollector:true,enableListenerCollection:true,applyIf:function(b,a){var c,d;if(b){for(c in a){if(b[c]===d){b[c]=a[c]}}}return b},repaint:function(){var a=Ext.getBody().createChild({cls:"x-mask x-mask-transparent"});setTimeout(function(){a.remove()},0)},id:function(a,b){a=Ext.getDom(a)||{};if(a===document){a.id=this.documentId}else{if(a===window){a.id=this.windowId}}a.id=a.id||((b||"ext-gen")+(++Ext.idSeed));return a.id},extend:function(){var b=function(d){for(var c in d){if(!d.hasOwnProperty(c)){continue}this[c]=d[c]}};var a=Object.prototype.constructor;return function(c,h,f){if(Ext.isObject(h)){f=h;h=c;c=f.constructor!=a?f.constructor:function(){h.apply(this,arguments)}}if(!h){throw"Attempting to extend from a class which has not been loaded on the page."}var e=function(){},d,g=h.prototype;e.prototype=g;d=c.prototype=new e();d.constructor=c;c.superclass=g;if(g.constructor==a){g.constructor=h}c.override=function(i){Ext.override(c,i)};d.superclass=d.supr=(function(){return g});d.override=b;d.proto=d;c.override(f);c.extend=function(i){return Ext.extend(c,i)};return c}}(),override:function(a,b){Ext.apply(a.prototype,b)},namespace:function(){var e=arguments.length,d,f,c,a,h,g,b;for(d=0;dwindow.innerWidth?"portrait":"landscape"},isIterable:function(a){if(!a){return false}if(Ext.isArray(a)||a.callee){return true}if(/NodeList|HTMLCollection/.test(Object.prototype.toString.call(a))){return true}return((typeof a.nextNode!="undefined"||a.item)&&Ext.isNumber(a.length))||false},num:function(b,a){b=Number(Ext.isEmpty(b)||Ext.isArray(b)||typeof b=="boolean"||(typeof b=="string"&&Ext.util.Format.trim(b).length==0)?NaN:b);return isNaN(b)?a:b},isEmpty:function(d,a){var b=d==null,c=(Ext.isArray(d)&&!d.length),e=!a?d==="":false;return b||c||e},isArray:function(a){return Object.prototype.toString.apply(a)==="[object Array]"},isDate:function(a){return Object.prototype.toString.apply(a)==="[object Date]"},isObject:function(a){return !!a&&!a.tagName&&Object.prototype.toString.call(a)==="[object Object]"},isPrimitive:function(a){return Ext.isString(a)||Ext.isNumber(a)||Ext.isBoolean(a)},isFunction:function(a){return Object.prototype.toString.apply(a)==="[object Function]"},isNumber:function(a){return Object.prototype.toString.apply(a)==="[object Number]"&&isFinite(a)},isString:function(a){return typeof a==="string"},isBoolean:function(a){return Object.prototype.toString.apply(a)==="[object Boolean]"},isElement:function(a){return a?!!a.tagName:false},isDefined:function(a){return typeof a!=="undefined"},destroy:function(){var c=arguments.length,b,a;for(b=0;b0},suspendEvents:function(a){this.eventsSuspended=true;if(a&&!this.eventQueue){this.eventQueue=[]}},resumeEvents:function(){var a=this,b=a.eventQueue||[];a.eventsSuspended=false;delete a.eventQueue;Ext.each(b,function(c){a.fireEvent.apply(a,c)})},relayEvents:function(b,e,h){h=h||"";var g=this,a=e.length,d,c;function f(i){return function(){return g.fireEvent.apply(g,[h+i].concat(Array.prototype.slice.call(arguments,0,-1)))}}for(d=0,a=e.length;d0){h.firing=true;for(e=0;e1||Ext.isArray(e)){var b=arguments.length>1?arguments:e;for(var d=0,a=b.length;d=this.length){return this.add(c,e)}this.length++;this.items.splice(a,0,e);if(typeof c!="undefined"&&c!==null){this.map[c]=e}this.keys.splice(a,0,c);this.fireEvent("add",a,e,c);return e},remove:function(a){return this.removeAt(this.indexOf(a))},removeAll:function(a){Ext.each(a||[],function(b){this.remove(b)},this);return this},removeAt:function(a){if(a=0){this.length--;var c=this.items[a];this.items.splice(a,1);var b=this.keys[a];if(typeof b!="undefined"){delete this.map[b]}this.keys.splice(a,1);this.fireEvent("remove",c,b);return c}return false},removeByKey:function(a){return this.removeAt(this.indexOfKey(a))},removeKey:function(){console.warn("MixedCollection: removeKey has been deprecated. Please use removeByKey.");return this.removeByKey.apply(this,arguments)},getCount:function(){return this.length},indexOf:function(a){return this.items.indexOf(a)},indexOfKey:function(a){return this.keys.indexOf(a)},get:function(b){var a=this.map[b],c=a!==undefined?a:(typeof b=="number")?this.items[b]:undefined;return typeof c!="function"||this.allowFunctions?c:null},item:function(){console.warn("MixedCollection: item has been deprecated. Please use get.");return this.get.apply(this,arguments)},getAt:function(a){return this.items[a]},itemAt:function(){console.warn("MixedCollection: itemAt has been deprecated. Please use getAt.");return this.getAt.apply(this,arguments)},getByKey:function(a){return this.map[a]},key:function(){console.warn("MixedCollection: key has been deprecated. Please use getByKey.");return this.getByKey.apply(this,arguments)},contains:function(a){return this.indexOf(a)!=-1},containsKey:function(a){return typeof this.map[a]!="undefined"},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(j,a,h){var d,e,b=String(a).toUpperCase()=="DESC"?-1:1,g=[],k=this.keys,f=this.items;h=h||function(i,c){return i-c};for(d=0,e=f.length;de?1:(f=a;c--){d[d.length]=b[c]}}return d},filter:function(d,c,f,a){var b=[];if(Ext.isString(d)){b.push(new Ext.util.Filter({property:d,value:c,anyMatch:f,caseSensitive:a}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){b=b.concat(d)}}var e=function(g){var m=true,n=b.length,h;for(h=0;h=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom)},intersect:function(g){var f=this,d=Math.max(f.top,g.top),e=Math.min(f.right,g.right),a=Math.min(f.bottom,g.bottom),c=Math.max(f.left,g.left);if(a>d&&e>c){return new Ext.util.Region(d,e,a,c)}else{return false}},union:function(g){var f=this,d=Math.min(f.top,g.top),e=Math.max(f.right,g.right),a=Math.max(f.bottom,g.bottom),c=Math.min(f.left,g.left);return new Ext.util.Region(d,e,a,c)},constrainTo:function(b){var a=this,c=Ext.util.Numbers.constrain;a.top=c(a.top,b.top,b.bottom);a.bottom=c(a.bottom,b.top,b.bottom);a.left=c(a.left,b.left,b.right);a.right=c(a.right,b.left,b.right);return a},adjust:function(d,f,a,c){var e=this;e.top+=d;e.left+=c;e.right+=f;e.bottom+=a;return e},getOutOfBoundOffset:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.getOutOfBoundOffsetX(b)}else{return this.getOutOfBoundOffsetY(b)}}else{b=a;var c=new Ext.util.Offset();c.x=this.getOutOfBoundOffsetX(b.x);c.y=this.getOutOfBoundOffsetY(b.y);return c}},getOutOfBoundOffsetX:function(a){if(a<=this.left){return this.left-a}else{if(a>=this.right){return this.right-a}}return 0},getOutOfBoundOffsetY:function(a){if(a<=this.top){return this.top-a}else{if(a>=this.bottom){return this.bottom-a}}return 0},isOutOfBound:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.isOutOfBoundX(b)}else{return this.isOutOfBoundY(b)}}else{b=a;return(this.isOutOfBoundX(b.x)||this.isOutOfBoundY(b.y))}},isOutOfBoundX:function(a){return(athis.right)},isOutOfBoundY:function(a){return(athis.bottom)},restrict:function(b,d,a){if(Ext.isObject(b)){var c;a=d;d=b;if(d.copy){c=d.copy()}else{c={x:d.x,y:d.y}}c.x=this.restrictX(d.x,a);c.y=this.restrictY(d.y,a);return c}else{if(b=="x"){return this.restrictX(d,a)}else{return this.restrictY(d,a)}}},restrictX:function(b,a){if(!a){a=1}if(b<=this.left){b-=(b-this.left)*a}else{if(b>=this.right){b-=(b-this.right)*a}}return b},restrictY:function(b,a){if(!a){a=1}if(b<=this.top){b-=(b-this.top)*a}else{if(b>=this.bottom){b-=(b-this.bottom)*a}}return b},getSize:function(){return{width:this.right-this.left,height:this.bottom-this.top}},copy:function(){return new Ext.util.Region(this.top,this.right,this.bottom,this.left)},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(a){this.left+=a.x;this.right+=a.x;this.top+=a.y;this.bottom+=a.y;return this},round:function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this},equals:function(a){return(this.top==a.top&&this.right==a.right&&this.bottom==a.bottom&&this.left==a.left)}});Ext.util.Region.getRegion=function(a){return Ext.fly(a).getPageBox(true)};Ext.util.Region.from=function(a){return new Ext.util.Region(a.top,a.right,a.bottom,a.left)};Ext.util.Point=Ext.extend(Object,{constructor:function(a,b){this.x=(a!=null&&!isNaN(a))?a:0;this.y=(b!=null&&!isNaN(b))?b:0;return this},copy:function(){return new Ext.util.Point(this.x,this.y)},copyFrom:function(a){this.x=a.x;this.y=a.y;return this},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(a){return(this.x==a.x&&this.y==a.y)},isWithin:function(b,a){if(!Ext.isObject(a)){a={x:a};a.y=a.x}return(this.x<=b.x+a.x&&this.x>=b.x-a.x&&this.y<=b.y+a.y&&this.y>=b.y-a.y)},translate:function(a,b){if(a!=null&&!isNaN(a)){this.x+=a}if(b!=null&&!isNaN(b)){this.y+=b}},roundedEquals:function(a){return(Math.round(this.x)==Math.round(a.x)&&Math.round(this.y)==Math.round(a.y))}});Ext.util.Point.fromEvent=function(c){var b=(c.changedTouches&&c.changedTouches.length>0)?c.changedTouches[0]:c;return new Ext.util.Point(b.pageX,b.pageY)};Ext.util.Offset=Ext.extend(Object,{constructor:function(a,b){this.x=(a!=null&&!isNaN(a))?a:0;this.y=(b!=null&&!isNaN(b))?b:0;return this},copy:function(){return new Ext.util.Offset(this.x,this.y)},copyFrom:function(a){this.x=a.x;this.y=a.y},toString:function(){return"Offset["+this.x+","+this.y+"]"},equals:function(a){if(!(a instanceof Ext.util.Offset)){throw new Error("offset must be an instance of Ext.util.Offset")}return(this.x==a.x&&this.y==a.y)},round:function(b){if(!isNaN(b)){var a=Math.pow(10,b);this.x=Math.round(this.x*a)/a;this.y=Math.round(this.y*a)/a}else{this.x=Math.round(this.x);this.y=Math.round(this.y)}},isZero:function(){return this.x==0&&this.y==0}});Ext.util.Offset.fromObject=function(a){return new Ext.util.Offset(a.x,a.y)};Ext.Template=Ext.extend(Object,{constructor:function(d){var f=this,b=arguments,a=[],g,c,e;f.initialConfig={};if(Ext.isArray(d)){d=d.join("")}else{if(b.length>1){for(c=0,e=b.length;c]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/,nameRe:/^]*?for="(.*?)"/,ifRe:/^]*?if="(.*?)"/,execRe:/^]*?exec="(.*?)"/,constructor:function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var y=this,h=y.html,v=y.argsRe,c=y.nameRe,t=y.ifRe,x=y.execRe,o=0,j=[],n="values",w="parent",k="xindex",l="xcount",d="return ",b="with(values){ ",p,f,u,a,e,g,q,z,s;h=["",h,""].join("");while((p=h.match(v))){e=null;g=null;q=null;f=p[0].match(c);u=p[0].match(t);a=p[0].match(x);e=u?u[1]:null;if(e){g=new Function(n,w,k,l,b+"try{"+d+Ext.util.Format.htmlDecode(e)+";}catch(e){return;}}")}e=a?a[1]:null;if(e){q=new Function(n,w,k,l,b+Ext.util.Format.htmlDecode(e)+";}")}z=f?f[1]:null;if(z){if(z==="."){z=n}else{if(z===".."){z=w}}z=new Function(n,w,"try{"+b+d+z+";}}catch(e){return;}")}j.push({id:o,target:z,exec:q,test:g,body:p[1]||""});h=h.replace(p[0],"{xtpl"+o+"}");o=o+1}for(s=j.length-1;s>=0;--s){y.compileTpl(j[s])}y.master=j[j.length-1];y.tpls=j},applySubTemplate:function(g,a,c,e,f){var d=this,b=d.tpls[g];return b.compiled.call(d,a,c,e,f)},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='typeof values == "string" ? 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;ic?1:(d0){return setTimeout(d,c)}d();return 0},createSequence:function(c,b,a){if(!Ext.isFunction(b)){return c}else{return function(){var d=c.apply(this||window,arguments);b.apply(a||this||window,arguments);return d}}}};Ext.defer=Ext.util.Functions.defer;Ext.createInterceptor=Ext.util.Functions.createInterceptor;Ext.createSequence=Ext.util.Functions.createSequence;Ext.createDelegate=Ext.util.Functions.createDelegate;Ext.util.Date={getElapsed:function(b,a){return Math.abs(b-(a||new Date))}};Ext.util.Numbers={toFixedBroken:(0.9).toFixed()!=1,constrain:function(c,b,a){c=parseFloat(c);if(!isNaN(b)){c=Math.max(c,b)}if(!isNaN(a)){c=Math.min(c,a)}return c},toFixed:function(c,a){if(Ext.util.Numbers.toFixedBroken){a=a||0;var b=Math.pow(10,a);return Math.round(c*b)/b}return c.toFixed(a)}};Ext.util.Format={defaultDateFormat:"m/d/Y",escapeRe:/('|\\)/g,trimRe:/^[\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,formatRe:/\{(\d+)\}/g,escapeRegexRe:/([-.*+?^${}()|[\]\/\\])/g,ellipsis:function(c,a,d){if(c&&c.length>a){if(d){var e=c.substr(0,a-2),b=Math.max(e.lastIndexOf(" "),e.lastIndexOf("."),e.lastIndexOf("!"),e.lastIndexOf("?"));if(b!=-1&&b>=(a-15)){return e.substr(0,b)+"..."}}return c.substr(0,a-3)+"..."}return c},escapeRegex:function(a){return a.replace(Ext.util.Format.escapeRegexRe,"\\$1")},escape:function(a){return a.replace(Ext.util.Format.escapeRe,"\\$1")},toggle:function(b,c,a){return b==c?a:c},trim:function(a){return a.replace(Ext.util.Format.trimRe,"")},leftPad:function(d,b,c){var a=String(d);c=c||" ";while(a.length/g,">").replace(/").replace(/</g,"<").replace(/"/g,'"').replace(/&/g,"&")},date:function(a,b){if(!a){return""}if(!Ext.isDate(a)){a=new Date(Date.parse(a))}return a.dateFormat(b||Ext.util.Format.defaultDateFormat)}};Ext.LoadMask=Ext.extend(Ext.util.Observable,{msg:"Loading...",msgCls:"x-mask-loading",disabled:false,constructor:function(b,a){this.el=Ext.get(b);Ext.apply(this,a);this.addEvents("show","hide");if(this.store){this.bindStore(this.store,true)}Ext.LoadMask.superclass.constructor.call(this)},bindStore:function(a,b){if(!b&&this.store){this.mun(this.store,{scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.onLoad});if(!a){this.store=null}}if(a){a=Ext.StoreMgr.lookup(a);this.mon(a,{scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.onLoad})}this.store=a;if(a&&a.isLoading()){this.onBeforeLoad()}},disable:function(){this.disabled=true},enable:function(){this.disabled=false},isDisabled:function(){return this.disabled},onLoad:function(){this.el.unmask();this.fireEvent("hide",this,this.el,this.store)},onBeforeLoad:function(){if(!this.disabled){this.el.mask(Ext.LoadingSpinner+'
'+this.msg+"
",this.msgCls,false);this.fireEvent("show",this,this.el,this.store)}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){this.hide();this.clearListeners()}});Ext.LoadingSpinner='
';Ext.applyIf(Array.prototype,{indexOf:function(b,c){var a=this.length;c=c||0;c+=(c<0)?a:0;for(;c";for(q=0;q\^])\s?|\s|$)/,c=/^(?:(#)?([\w-]+|\*)(?:\((true|false)\))?)|(?:\{([^\}]+)\})/,b=[{re:/^\.([\w-]+)(?:\((true|false)\))?/,method:l},{re:/^(?:[\[\{](?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,method:m},{re:/^#([\w-]+)/,method:d},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,method:k}];g.Query=Ext.extend(Object,{constructor:function(n){n=n||{};Ext.apply(this,n)},execute:function(o){var q=this.operations,t=q.length,p,s,n;if(!o){n=Ext.ComponentMgr.all.items.slice()}for(s=0;s1){s=p.length;for(o=0;o','
',"",'
'].join("");d.body.appendChild(f);for(a=0;a

";return(b.childNodes.length==2)}},{identity:"Float",fn:function(a,b){return !!b.lastChild.style.cssFloat}},{identity:"AudioTag",fn:function(a){return !!a.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(e,g){var d="background-image:",b="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",f="linear-gradient(left top, black, white)",c="-moz-"+f,a=[d+b,d+f,d+c];g.style.cssText=a.join(";");return(""+g.style.backgroundImage).indexOf("gradient")!==-1}},{identity:"CSS3BorderRadius",fn:function(d,e){var b=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],c=false,a;for(a=0;aa)){return false}else{return true}},format:function(a,b){return !!(a.matcher&&a.matcher.test(b))},inclusion:function(a,b){return a.list&&a.list.indexOf(b)!=-1},exclusion:function(a,b){return a.list&&a.list.indexOf(b)==-1}};Ext.data.Errors=Ext.extend(Ext.util.MixedCollection,{isValid:function(){return this.length==0},getByField:function(e){var d=[],a,c,b;for(b=0;b]+>/gi,asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(/,/g,""));return isNaN(b)?0:b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,""),10);return isNaN(b)?0:b}};Ext.data.Types=new function(){var a=Ext.data.SortTypes;Ext.apply(this,{stripRe:/[\$,%]/g,AUTO:{convert:function(b){return b},sortType:a.none,type:"auto"},STRING:{convert:function(b){return(b===undefined||b===null)?"":String(b)},sortType:a.asUCString,type:"string"},INT:{convert:function(b){return b!==undefined&&b!==null&&b!==""?parseInt(String(b).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:a.none,type:"int"},FLOAT:{convert:function(b){return b!==undefined&&b!==null&&b!==""?parseFloat(String(b).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:a.none,type:"float"},BOOL:{convert:function(b){return b===true||b==="true"||b==1},sortType:a.none,type:"bool"},DATE:{convert:function(c){var d=this.dateFormat;if(!c){return null}if(Ext.isDate(c)){return c}if(d){if(d=="timestamp"){return new Date(c*1000)}if(d=="time"){return new Date(parseInt(c,10))}return Date.parseDate(c,d)}var b=Date.parse(c);return b?new Date(b):null},sortType:a.asDate,type:"date"}});Ext.apply(this,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})};Ext.ModelMgr=new Ext.AbstractManager({typeName:"mtype",defaultProxyType:"ajax",associationStack:[],registerType:function(t,s){var e=Ext.PluginMgr,l=e.findByType("model",true),k=s.fields||[],p=s.associations||[],o=s.belongsTo,h=s.hasMany,q=s.extend,j=s.plugins||[],b,c,d,n,f,a,g,m;if(o){if(!Ext.isArray(o)){o=[o]}for(n=0;nh?1:(i0){b.create=e;f=true}if(c.length>0){b.update=c;f=true}if(a.length>0){b.destroy=a;f=true}if(f&&d.fireEvent("beforesync",b)!==false){d.proxy.batch(b,d.getBatchListeners())}},getBatchListeners:function(){var a={scope:this,exception:this.onBatchException};if(this.batchUpdateMode=="operation"){a.operationcomplete=this.onBatchOperationComplete}else{a.complete=this.onBatchComplete}return a},save:function(){return this.sync.apply(this,arguments)},load:function(b){var c=this,a;b=b||{};Ext.applyIf(b,{action:"read",filters:c.filters.items,sorters:c.sorters.items});a=new Ext.data.Operation(b);if(c.fireEvent("beforeload",c,a)!==false){c.loading=true;c.proxy.read(a,c.onProxyLoad,c)}return c},afterEdit:function(a){this.fireEvent("update",this,a,Ext.data.Model.EDIT)},afterReject:function(a){this.fireEvent("update",this,a,Ext.data.Model.REJECT)},afterCommit:function(a){if(this.autoSave){this.sync()}this.fireEvent("update",this,a,Ext.data.Model.COMMIT)},clearData:Ext.emptyFn,destroyStore:function(){if(!this.isDestroyed){if(this.storeId){Ext.StoreMgr.unregister(this)}this.clearData();this.data=null;this.tree=null;this.reader=this.writer=null;this.clearListeners();this.isDestroyed=true;if(this.implicitModel){Ext.destroy(this.model)}}},getSortState:function(){return this.sortInfo},getCount:function(){},getById:function(a){},removeAll:function(){}});Ext.data.Store=Ext.extend(Ext.data.AbstractStore,{remoteSort:false,remoteFilter:false,groupField:undefined,groupDir:"ASC",pageSize:25,currentPage:1,clearOnPageLoad:true,implicitModel:false,loading:false,sortOnFilter:true,isStore:true,constructor:function(a){a=a||{};this.data=new Ext.util.MixedCollection(false,function(d){return d.internalId});if(a.data){this.inlineData=a.data;delete a.data}Ext.data.Store.superclass.constructor.call(this,a);var b=this.proxy,c=this.inlineData;if(c){if(b instanceof Ext.data.MemoryProxy){b.data=c;this.read()}else{this.add.apply(this,c)}this.sort();delete this.inlineData}else{if(this.autoLoad){Ext.defer(this.load,10,this,[typeof this.autoLoad=="object"?this.autoLoad:undefined])}}},getGroups:function(){var d=this.data.items,f=d.length,a=[],c={},b,g,h,e;for(e=0;e-1){this.removed.push(a);if(this.snapshot){this.snapshot.remove(a)}a.unjoin(this);this.data.remove(a);this.fireEvent("remove",this,a,c)}}this.fireEvent("datachanged",this)},removeAt:function(b){var a=this.getAt(b);if(a){this.remove(a)}},load:function(a){a=a||{};if(Ext.isFunction(a)){a={callback:a}}Ext.applyIf(a,{group:{field:this.groupField,direction:this.groupDir},start:0,limit:this.pageSize,addRecords:false});return Ext.data.Store.superclass.load.call(this,a)},isLoading:function(){return this.loading},onProxyLoad:function(b){var a=b.getRecords();this.loadRecords(a,b.addRecords);this.loading=false;this.fireEvent("load",this,a,b.wasSuccessful());this.fireEvent("read",this,a,b.wasSuccessful());var c=b.callback;if(typeof c=="function"){c.call(b.scope||this,a,b,b.wasSuccessful())}},onProxyWrite:function(c){var g=this.data,f=c.action,b=c.getRecords(),e=b.length,h=c.callback,a,d;if(c.wasSuccessful()){if(f=="create"||f=="update"){for(d=0;d0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(e){var f=false,d,a;if(Ext.isArray(e)){f=e}else{if(arguments.length>1){f=arguments}}if(f){a=f.length;for(d=0;d0){var f=d?function(){return e.apply(d,arguments)}:e;c.sort(f);for(b=0;b0){e[c]=this.encodeSorters(k)}if(a&&d&&d.length>0){e[a]=this.encodeFilters(d)}return e},buildUrl:function(b){var a=b.url||this.url;if(!a){throw new Error("You are using a ServerProxy but have not supplied it with a url.")}if(this.noCache){a=Ext.urlAppend(a,Ext.util.Format.format("{0}={1}",this.cacheString,(new Date().getTime())))}return a},doRequest:function(a,c,b){throw new Error("The doRequest function has not been implemented on your Ext.data.ServerProxy subclass. See src/data/ServerProxy.js for details")},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer);Ext.data.ServerProxy.superclass.destroy.apply(this,arguments)}});Ext.data.AjaxProxy=Ext.extend(Ext.data.ServerProxy,{actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},constructor:function(){this.addEvents("exception");Ext.data.AjaxProxy.superclass.constructor.apply(this,arguments)},doRequest:function(a,e,b){var d=this.getWriter(),c=this.buildRequest(a,e,b);if(a.allowWrite()){c=d.write(c)}Ext.apply(c,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(c,a,e,b),method:this.getMethod(c),disableCaching:false});Ext.Ajax.request(c);return c},getMethod:function(a){return this.actionMethods[a.action]},createRequestCallback:function(d,a,e,b){var c=this;return function(o,n,h){if(n===true){var l=c.getReader(),p=l.read(h),g=p.records,f=g.length,m=new Ext.util.MixedCollection(true,function(i){return i.getId()}),k,j;m.addAll(a.records);for(j=0;j0){b=Ext.urlAppend(b,Ext.util.Format.format("{0}={1}",this.recordParam,this.encodeRecords(a)))}return b},destroy:function(){this.abort();Ext.data.ScriptTagProxy.superclass.destroy.apply(this,arguments)},isLoading:function(){var a=this.lastRequest;return(a!=undefined&&!a.completed)},abort:function(){if(this.isLoading()){this.afterRequest(this.lastRequest)}},encodeRecords:function(a){var d="";for(var b=0,c=a.length;b=0){return new Function("obj","return obj"+(b>0?".":"")+c)}return function(d){return d[c]}}}()});Ext.data.ReaderMgr.registerType("json",Ext.data.JsonReader);Ext.data.TreeReader=Ext.extend(Ext.data.JsonReader,{extractData:function(b,e){var c=Ext.data.TreeReader.superclass.extractData.call(this,b,e),f=c.length,d=0,a;if(e){for(;d");if(f.length>0){c.push('<',a,">");g=f[0];for(d in g){if(g.hasOwnProperty(d)){c.push("<",d,">{",d,"}")}}c.push("")}c.push("");this.tpl=new Ext.XTemplate(c.join(""));return this.tpl}});Ext.data.WriterMgr.registerType("xml",Ext.data.XmlWriter);Ext.data.XmlReader=Ext.extend(Ext.data.Reader,{createAccessor:function(){var a=function(d,c,b){var e=Ext.DomQuery.selectNode(d,c),f;if(e&&e.firstChild){f=e.firstChild.nodeValue}return Ext.isEmpty(f)?b:f};return function(b){var c;if(b==this.totalProperty){c=function(e,d){var f=a(b,e,d);return parseFloat(f)}}else{if(b==this.successProperty){c=function(e,d){var f=a(b,e,true);return(f!==false&&f!=="false")}}else{c=function(e,d){return a(b,e,d)}}}return c}}(),getResponseData:function(a){var b=a.responseXML;if(!b){throw {message:"Ext.data.XmlReader.read: XML data not found"}}return b},getData:function(a){return a.documentElement||a},getRoot:function(b){var c=b.nodeName,a=this.root;if(!a||(c&&c==a)){return b}else{return Ext.DomQuery.selectNode(a,b)}},constructor:function(a){a=a||{};Ext.applyIf(a,{idProperty:a.idPath||a.id,successProperty:a.success});Ext.data.XmlReader.superclass.constructor.call(this,a)},extractData:function(a,b){var c=this.record;if(c!=a.nodeName){a=Ext.DomQuery.select(c,a)}else{a=[a]}return Ext.data.XmlReader.superclass.extractData.call(this,a,b)},getAssociatedDataRoot:function(b,a){return Ext.DomQuery.select(a,b)[0]},readRecords:function(a){if(Ext.isArray(a)){a=a[0]}this.xmlData=a;return Ext.data.XmlReader.superclass.readRecords.call(this,a)}});Ext.data.ReaderMgr.registerType("xml",Ext.data.XmlReader);Ext.data.XmlStore=Ext.extend(Ext.data.Store,{constructor:function(a){a=a||{};a=a||{};Ext.applyIf(a,{proxy:{type:"ajax",reader:"xml",writer:"xml"}});Ext.data.XmlStore.superclass.constructor.call(this,a)}});Ext.reg("xmlstore",Ext.data.XmlStore);Ext.History=new Ext.util.Observable({constructor:function(){Ext.History.superclass.constructor.call(this,config);this.addEvents("change")},init:function(){var a=this;a.setToken(window.location.hash);if(Ext.supports.History){window.addEventListener("hashchange",this.onChange)}else{setInterval(function(){var c=a.cleanToken(window.location.hash),b=a.getToken();if(c!=b){a.onChange()}},50)}},onChange:function(){var b=Ext.History,a=b.cleanToken(window.location.hash);if(b.token!=a){b.fireEvent("change",a)}b.setToken(a)},setToken:function(a){return this.token=this.cleanToken(a)},cleanToken:function(a){return a[0]=="#"?a.substr(1):a},getToken:function(){return this.token},add:function(a){window.location.hash=this.setToken(a);if(!Ext.supports.History){this.onChange()}}});Ext.ControllerManager=new Ext.AbstractManager({register:function(c,b){b.id=c;Ext.applyIf(b,{application:Ext.ApplicationManager.currentApplication});var a=new Ext.Controller(b);if(a.init){a.init()}this.all.add(a);return a}});Ext.regController=function(){return Ext.ControllerManager.register.apply(Ext.ControllerManager,arguments)};Ext.Controller=Ext.extend(Ext.util.Observable,{constructor:function(a){this.addEvents("instance-created","instance-creation-failed","instance-updated","instance-update-failed","instance-destroyed","instance-destruction-failed");Ext.Controller.superclass.constructor.call(this,a);Ext.apply(this,a||{});if(typeof this.model=="string"){this.model=Ext.ModelMgr.getModel(this.model)}},index:function(){this.render("index",{listeners:{scope:this,edit:this.edit,build:this.build,create:this.onCreateInstance,destroy:this.onDestroyInstance}})},edit:function(a){var b=this.render("edit",{listeners:this.getEditListeners()});b.loadModel(a)},build:function(){this.render("build",{listeners:this.getBuildListeners()})},create:function(f,c){c=c||{};var b=this.getModel(),a=new b(f),e=c.success,g=c.failure,d=c.scope||this;a.save({scope:this,success:function(h){if(typeof e=="function"){e.call(d,h)}this.fireEvent("instance-created",h)},failure:function(h,i){if(typeof g=="function"){g.call(d,h,i)}this.fireEvent("instance-creation-failed",h,i)}})},update:function(a,e,b){b=b||{};var d=b.success,f=b.failure,c=b.scope||this;if(Ext.isObject(e)){a.set(e)}a.save({scope:this,success:function(g){if(typeof d=="function"){d.call(c,g)}this.fireEvent("instance-updated",g)},failure:function(g,h){if(typeof f=="function"){f.call(c,g,h)}this.fireEvent("instance-update-failed",g,h)}})},destroy:function(a,b){b=b||{};var d=b.success,e=b.failure,c=b.scope||this;a.destroy({scope:this,success:function(f){if(typeof d=="function"){d.call(c,f)}this.fireEvent("instance-destroyed",f)},failure:function(f,g){if(typeof e=="function"){e.call(c,f,g)}this.fireEvent("instance-destruction-failed",f,g)}})},getBuildListeners:function(){return{scope:this,save:this.onCreateInstance,cancel:this.onCancelBuild}},getEditListeners:function(){return{scope:this,save:this.onUpdateInstance,cancel:this.onCancelEdit}},onCancelEdit:function(a){return this.closeView(a)},onCancelBuild:function(a){return this.closeView(a)},onCreateInstance:function(a){this.create(a.getValues(),{scope:this,success:function(b){this.closeView(a)},failure:function(b,c){console.log("fail")}})},onUpdateInstance:function(a){this.update(a.getRecord(),a.getValues(),{scope:this,success:function(b){this.closeView(a)},failure:function(b,c){}})},onDestroyInstance:function(a,b){this.destroy(a,{scope:this,success:function(c){},failure:function(c,d){}})},setRenderTarget:function(a){Ext.Controller.renderTarget=a},render:function(c,g){var f=Ext.Controller,b=this.application,d=b?b.currentProfile:undefined,e,a;Ext.applyIf(c,{profile:d});a=Ext.ComponentMgr.create(c);if(g!==false){e=d?d.getRenderTarget(c,b):g;if(g==undefined){g=e||(b?b.defaultTarget:undefined)}if(typeof g=="string"){g=Ext.getCmp(g)}if(g!=undefined&&g.add){if(d){d.beforeLayout(a,g,b)}g.add(a);if(g.layout&&g.layout.setActiveItem){g.layout.setActiveItem(a)}g.doComponentLayout();if(d){d.afterLayout(a,g,b)}}}return a},control:function(e,d,i){if(!e||!e.isView){throw"Trying to control a view that doesnt exist"}var h=i?e.refs[i]:e,g,f,a,b,c;if(!h){throw"No item called "+i+" found inside the "+e.name+" view."}for(g in d){f=d[g];if(Ext.isObject(f)&&!f.fn){this.control(e,f,g)}else{if(h.refs){for(a in h.refs){b=h.refs[a];if(b.isObservable&&b.events[g]){b.enableBubble(g)}}}if(!f.fn){c={};c[g]=f;c.scope=this}else{c=f;if(c.scope===undefined){c.scope=this}}h.addListener(c)}}return e},getModel:function(){return Ext.ModelMgr.getModel(this.model)},closeView:function(a){var b=a.ownerCt;if(b){b.remove(a);b.doLayout();b.setActiveItem(b.items.last())}}});Ext.util.Dispatcher=Ext.extend(Ext.util.Observable,{constructor:function(a){this.addEvents("before-dispatch","dispatch");Ext.util.Dispatcher.superclass.constructor.call(this,a)},dispatch:function(c){var b=new Ext.Interaction(c),a=b.controller,e=b.action,d=Ext.History;if(this.fireEvent("before-dispatch",b)!==false){if(d&&c.historyUrl){d.suspendEvents(false);d.add(c.historyUrl);Ext.defer(d.resumeEvents,100,d)}if(a&&e){a[e].call(a,b);b.dispatched=true}this.fireEvent("dispatch",b)}},redirect:function(b){if(b instanceof Ext.data.Model){}else{if(typeof b=="string"){var a=Ext.Router.recognize(b);if(a){return this.dispatch(a)}}}return null},createRedirect:function(a){return function(){Ext.Dispatcher.redirect(a)}}});Ext.Dispatcher=new Ext.util.Dispatcher();Ext.dispatch=function(){return Ext.Dispatcher.dispatch.apply(Ext.Dispatcher,arguments)};Ext.redirect=function(){return Ext.Dispatcher.redirect.apply(Ext.Dispatcher,arguments)};Ext.createRedirect=Ext.Dispatcher.createRedirect;Ext.util.Router=Ext.extend(Ext.util.Observable,{constructor:function(a){a=a||{};Ext.apply(this,a,{defaults:{action:"index"}});this.routes=[];Ext.util.Router.superclass.constructor.call(this,a)},connect:function(b,c){c=Ext.apply({url:b},c||{},this.defaults);var a=new Ext.util.Route(c);this.routes.push(a);return a},recognize:function(c){var b=this.routes,e=b.length,d,a;for(d=0;dwindow.innerWidth)?"portrait":"landscape"},fromPoint:function(a,b){return Ext.get(document.elementFromPoint(a,b))}});Ext.applyIf(Ext.Element,{getComputedTransformOffset:function(c){if(c instanceof Ext.Element){c=c.dom}var a=window.getComputedStyle(c).webkitTransform,b=a!="none"?new WebKitCSSMatrix(a):new WebKitCSSMatrix();if(typeof b.m41!="undefined"){return new Ext.util.Offset(b.m41,b.m42)}else{if(typeof b.d!="undefined"){return new Ext.util.Offset(b.d,b.e)}}return new Ext.util.Offset(0,0)},cssTransform:function(c,b){if(c instanceof Ext.Element){c=c.dom}var a=new WebKitCSSMatrix();Ext.iterate(b,function(e,d){d=Ext.isArray(d)?d:[d];a=a[e].apply(a,d)});if(Ext.supports.CSS3DTransform){c.style.webkitTransform="matrix3d("+a.m11+", "+a.m12+", "+a.m13+", "+a.m14+", "+a.m21+", "+a.m22+", "+a.m23+", "+a.m24+", "+a.m31+", "+a.m32+", "+a.m33+", "+a.m34+", "+a.m41+", "+a.m42+", "+a.m43+", "+a.m44+")"}else{c.style.webkitTransform=a}},cssTranslate:function(a,b){if(a instanceof Ext.Element){a=a.dom}if(Ext.supports.CSS3DTransform){a.style.webkitTransform="translate3d("+b.x+"px, "+b.y+"px, 0px)"}else{a.style.webkitTransform="translate("+b.x+"px, "+b.y+"px)"}}});Ext.Element.addMethods({getY:function(a){return this.getXY(a)[1]},getX:function(a){return this.getXY(a)[0]},getXY:function(){var a=window.webkitConvertPointFromNodeToPage(this.dom,new WebKitPoint(0,0));return[a.x,a.y]},getOffsetsTo:function(a){var c=this.getXY(),b=Ext.fly(a,"_internal").getXY();return[c[0]-b[0],c[1]-b[1]]},setXY:function(d){var b=this;if(arguments.length>1){d=[d,arguments[1]]}var c=b.translatePoints(d),a=b.dom.style;for(d in c){if(!c.hasOwnProperty(d)){continue}if(!isNaN(c[d])){a[d]=c[d]+"px"}}return b},setX:function(a){return this.setXY([a,this.getY()])},setY:function(a){return this.setXY([this.getX(),a])},setLeft:function(a){this.setStyle("left",Ext.Element.addUnits(a));return this},setTop:function(a){this.setStyle("top",Ext.Element.addUnits(a));return this},setTopLeft:function(c,b){var a=Ext.Element.addUnits;this.setStyle("top",a(c));this.setStyle("left",a(b));return this},setRight:function(a){this.setStyle("right",Ext.Element.addUnits(a));return this},setBottom:function(a){this.setStyle("bottom",Ext.Element.addUnits(a));return this},getLeft:function(a){return parseInt(this.getStyle("left"),10)||0},getRight:function(a){return parseInt(this.getStyle("right"),10)||0},getTop:function(a){return parseInt(this.getStyle("top"),10)||0},getBottom:function(a){return parseInt(this.getStyle("bottom"),10)||0},setBox:function(d,c,b,a){var e;if(Ext.isObject(d)){b=d.width;a=d.height;c=d.top;d=d.left}if(d!==e){this.setLeft(d)}if(c!==e){this.setTop(c)}if(b!==e){this.setWidth(b)}if(a!==e){this.setHeight(a)}return this},getBox:function(g,j){var h=this,e=h.dom,c=e.offsetWidth,k=e.offsetHeight,n,f,d,a,m,i;if(!j){n=h.getXY()}else{if(g){n=[0,0]}else{n=[parseInt(h.getStyle("left"),10)||0,parseInt(h.getStyle("top"),10)||0]}}if(!g){f={x:n[0],y:n[1],0:n[0],1:n[1],width:c,height:k}}else{d=h.getBorderWidth.call(h,"l")+h.getPadding.call(h,"l");a=h.getBorderWidth.call(h,"r")+h.getPadding.call(h,"r");m=h.getBorderWidth.call(h,"t")+h.getPadding.call(h,"t");i=h.getBorderWidth.call(h,"b")+h.getPadding.call(h,"b");f={x:n[0]+d,y:n[1]+m,0:n[0]+d,1:n[1]+m,width:c-(d+a),height:k-(m+i)}}f.left=f.x;f.top=f.y;f.right=f.x+f.width;f.bottom=f.y+f.height;return f},getPageBox:function(e){var g=this,c=g.dom,j=c.offsetWidth,f=c.offsetHeight,m=g.getXY(),k=m[1],a=m[0]+j,i=m[1]+f,d=m[0];if(!c){return new Ext.util.Region()}if(e){return new Ext.util.Region(k,a,i,d)}else{return{left:d,top:k,width:j,height:f,right:a,bottom:i}}},translatePoints:function(a,g){g=isNaN(a[1])?g:a[1];a=isNaN(a[0])?a:a[0];var d=this,e=d.isStyle("position","relative"),f=d.getXY(),b=parseInt(d.getStyle("left"),10),c=parseInt(d.getStyle("top"),10);b=!isNaN(b)?b:(e?0:d.dom.offsetLeft);c=!isNaN(c)?c:(e?0:d.dom.offsetTop);return{left:(a-f[0]+b),top:(g-f[1]+c)}}});(function(){Ext.Element.classReCache={};var b=Ext.Element,a=document.defaultView;b.addMethods({marginRightRe:/marginRight/i,trimRe:/^\s+|\s+$/g,spacesRe:/\s+/,addCls:function(g){var h=this,f,c,e,d=[];if(!Ext.isArray(g)){if(g&&!this.hasCls(g)){h.dom.className+=" "+g}}else{for(f=0,c=g.length;f'+d+""):""});j=g.getSize();Ext.Element.data(e,"mask",k);if(e===document.body){j.height=window.innerHeight;if(g.orientationHandler){Ext.EventManager.unOrientationChange(g.orientationHandler,g)}g.orientationHandler=function(){j=g.getSize();j.height=window.innerHeight;k.setSize(j)};Ext.EventManager.onOrientationChange(g.orientationHandler,g)}k.setSize(j);if(Ext.is.iPad){Ext.repaint()}},unmask:function(){var d=this,e=d.dom,c=Ext.Element.data(e,"mask");if(c){c.remove();Ext.Element.data(e,"mask",undefined)}d.removeCls(["x-masked","x-masked-relative"]);if(e===document.body){Ext.EventManager.unOrientationChange(d.orientationHandler,d);delete d.orientationHandler}},radioCls:function(f){var g=this.dom.parentNode.childNodes,d;f=Ext.isArray(f)?f:[f];for(var e=0,c=g.length;e0?c:0},getWidth:function(c){var e=this.dom,d=c?(e.clientWidth-this.getPadding("lr")):e.offsetWidth;return d>0?d:0},setWidth:function(c){var d=this;d.dom.style.width=b.addUnits(c);return d},setHeight:function(c){var d=this;d.dom.style.height=b.addUnits(c);return d},setSize:function(e,c){var f=this,d=f.dom.style;if(Ext.isObject(e)){c=e.height;e=e.width}d.width=b.addUnits(e);d.height=b.addUnits(c);return f},getBorderWidth:function(c){return this.sumStyles(c,b.borders)},getPadding:function(c){return this.sumStyles(c,b.paddings)},getMargin:function(c){return this.sumStyles(c,b.margins)},getViewSize:function(){var c=document,d=this.dom;if(d==c||d==c.body){return{width:b.getViewportWidth(),height:b.getViewportHeight()}}else{return{width:d.clientWidth,height:d.clientHeight}}},getSize:function(d){var c=this.dom;return{width:Math.max(0,d?(c.clientWidth-this.getPadding("lr")):c.offsetWidth),height:Math.max(0,d?(c.clientHeight-this.getPadding("tb")):c.offsetHeight)}},repaint:function(){var c=this.dom;this.addCls("x-repaint");c.style.background="transparent none";setTimeout(function(){c.style.background=null;Ext.get(c).removeCls("x-repaint")},1);return this},getOuterWidth:function(){return this.getWidth()+this.getMargin("lr")},getOuterHeight:function(){return this.getHeight()+this.getMargin("tb")},sumStyles:function(h,g){var j=0,d=h.match(/\w/g),c=d.length,f,e;for(e=0;e "+a,c.dom);return b?d:Ext.get(d)},parent:function(a,b){return this.matchNode("parentNode","parentNode",a,b)},next:function(a,b){return this.matchNode("nextSibling","nextSibling",a,b)},prev:function(a,b){return this.matchNode("previousSibling","previousSibling",a,b)},first:function(a,b){return this.matchNode("nextSibling","firstChild",a,b)},last:function(a,b){return this.matchNode("previousSibling","lastChild",a,b)},matchNode:function(b,e,a,c){if(!this.dom){return null}var d=this.dom[e];while(d){if(d.nodeType==1&&(!a||Ext.DomQuery.is(d,a))){return !c?Ext.get(d):d}d=d[b]}return null}});Ext.Element.addMethods({getScrollParent:function(){var b=this.dom,a;while(b&&b!=document.body){if(b.id&&(a=Ext.ScrollManager.get(b.id))){return a}b=b.parentNode}return null}});Ext.Element.addMethods({appendChild:function(a){return Ext.get(a).appendTo(this)},appendTo:function(a){Ext.getDom(a).appendChild(this.dom);return this},insertBefore:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(b,a){b=b||{};if(b.nodeType||b.dom||typeof b=="string"){b=Ext.getDom(b);this.dom.insertBefore(b,this.dom.firstChild);return !a?Ext.get(b):b}else{return this.createChild(b,this.dom.firstChild,a)}},insertSibling:function(e,c,d){var f=this,b,a=(c||"before").toLowerCase()=="after",g;if(Ext.isArray(e)){g=f;Ext.each(e,function(h){b=Ext.fly(g,"_internal").insertSibling(h,c,d);if(a){g=b}});return b}e=e||{};if(e.nodeType||e.dom){b=f.dom.parentNode.insertBefore(Ext.getDom(e),a?f.dom.nextSibling:f.dom);if(!d){b=Ext.get(b)}}else{if(a&&!f.dom.nextSibling){b=Ext.DomHelper.append(f.dom.parentNode,e,!d)}else{b=Ext.DomHelper[a?"insertAfter":"insertBefore"](f.dom,e,!d)}}return b},replace:function(a){a=Ext.get(a);this.insertBefore(a);a.remove();return this},replaceWith:function(a){var b=this;if(a.nodeType||a.dom||typeof a=="string"){a=Ext.get(a);b.dom.parentNode.insertBefore(a,b.dom)}else{a=Ext.DomHelper.insertBefore(b.dom,a)}delete Ext.cache[b.id];Ext.removeNode(b.dom);b.id=Ext.id(b.dom=a);Ext.Element.addToCache(b.isFlyweight?new Ext.Element(b.dom):b);return b},createChild:function(b,a,c){b=b||{tag:"div"};if(a){return Ext.DomHelper.insertBefore(a,b,c!==true)}else{return Ext.DomHelper[!this.dom.firstChild?"overwrite":"append"](this.dom,b,c!==true)}},wrap:function(a,b){var c=Ext.DomHelper.insertBefore(this.dom,a||{tag:"div"},!b);c.dom?c.dom.appendChild(this.dom):c.appendChild(this.dom);return c},insertHtml:function(b,c,a){var d=Ext.DomHelper.insertHtml(b,this.dom,c);return a?Ext.get(d):d}});Ext.Element.addMethods({getAnchorXY:function(f,j,m){f=(f||"tl").toLowerCase();m=m||{};var i=this,a=i.dom==document.body||i.dom==document,b=m.width||a?window.innerWidth:i.getWidth(),k=m.height||a?window.innerHeight:i.getHeight(),l,c=Math.round,d=i.getXY(),h=a?0:!j?d[0]:0,g=a?0:!j?d[1]:0,e={c:[c(b*0.5),c(k*0.5)],t:[c(b*0.5),0],l:[0,c(k*0.5)],r:[b,c(k*0.5)],b:[c(b*0.5),k],tl:[0,0],bl:[0,k],br:[b,k],tr:[b,0]};l=e[f];return[l[0]+h,l[1]+g]},getAlignToXY:function(e,w,h){e=Ext.get(e);if(!e||!e.dom){throw new Error("Element.alignToXY with an element that doesn't exist")}h=h||[0,0];if(!w||w=="?"){w="tl-bl?"}else{if(!(/-/).test(w)&&w!==""){w="tl-"+w}}w=w.toLowerCase();var u=this,d=w.match(/^([a-z]+)-([a-z]+)(\?)?$/),m=window.innerWidth,t=window.innerHeight,c="",a="",z,v,l,k,p,n,f,b,j,i,q,o,g,s;if(!d){throw"Element.alignTo with an invalid alignment "+w}c=d[1];a=d[2];s=!!d[3];z=u.getAnchorXY(c,true);v=e.getAnchorXY(a,false);l=v[0]-z[0]+h[0];k=v[1]-z[1]+h[1];if(s){q=u.getWidth();o=u.getHeight();g=e.getPageBox();b=c.charAt(0);f=c.charAt(c.length-1);i=a.charAt(0);j=a.charAt(a.length-1);n=((b=="t"&&i=="b")||(b=="b"&&i=="t"));p=((f=="r"&&j=="l")||(f=="l"&&j=="r"));if(l+q>m){l=p?g.left-q:m-q}if(l<0){l=p?g.right:0}if(k+o>t){k=n?g.top-o:t-o}if(k<0){k=n?g.bottom:0}}return[l,k]}});Ext.CompositeElement=function(b,a){this.elements=[];this.add(b,a);this.el=new Ext.Element.Flyweight()};Ext.CompositeElement.prototype={isComposite:true,getElement:function(a){var b=this.el;b.dom=a;b.id=a.id;return b},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(d,b){var e=this,f=e.elements;if(!d){return this}if(typeof d=="string"){d=Ext.Element.selectorFunction(d,b)}else{if(d.isComposite){d=d.elements}else{if(!Ext.isIterable(d)){d=[d]}}}for(var c=0,a=d.length;c-1){c=Ext.getDom(c);if(a){f=this.elements[b];f.parentNode.insertBefore(c,f);Ext.removeNode(f)}this.elements.splice(b,1,c)}return this}});Ext.DomHelper={emptyTags:/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,confRe:/tag|children|cn|html$/i,endRe:/end/i,markup:function(h){var d="",c,g,f,a,j;if(typeof h=="string"){d=h}else{if(Ext.isArray(h)){for(var e=0;e"}}}return d},applyStyles:function(d,e){if(e){var b=0,a,c;d=Ext.fly(d);if(typeof e=="function"){e=e.call()}if(typeof e=="string"){e=Ext.util.Format.trim(e).split(/\s*(?::|;)\s*/);for(a=e.length;b "'+f+'"'},insertBefore:function(a,c,b){return this.doInsert(a,c,b,"beforebegin")},insertAfter:function(a,c,b){return this.doInsert(a,c,b,"afterend","nextSibling")},insertFirst:function(a,c,b){return this.doInsert(a,c,b,"afterbegin","firstChild")},append:function(a,c,b){return this.doInsert(a,c,b,"beforeend","",true)},overwrite:function(a,c,b){a=Ext.getDom(a);a.innerHTML=this.markup(c);return b?Ext.get(a.firstChild):a.firstChild},doInsert:function(d,f,e,g,c,a){var b=this.insertHtml(g,Ext.getDom(d),this.markup(f));return e?Ext.get(b,true):b}};Ext.DomQuery={select:function(h,b){var g=[],d,f,e,c,a;b=b||document;if(typeof b=="string"){b=document.getElementById(b)}h=h.split(",");for(f=0,c=h.length;fthis.lastSize.height)||(a.height==this.lastSize.height&&a.width>this.lastSize.width)){this.fireEvent("resize",this,a)}}else{this.fireEvent("resize",this,a)}}},getSize:function(){var a={width:window.innerWidth,height:window.innerHeight};if(!Ext.is.Desktop){a.height=(this.orientation==this.initialOrientation)?Math.max(this.initialHeight,a.height):a.height}return a},getOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}},getOrientation:function(){var a=this.getSize();if(window.hasOwnProperty("orientation")){return(window.orientation==0||window.orientation==180)?"portrait":"landscape"}else{if(!Ext.is.iOS&&!Ext.is.Desktop){if((a.width==this.lastSize.width&&a.heightwindow.innerWidth)?"portrait":"landscape"}}}));Ext.util.TapRepeater=Ext.extend(Ext.util.Observable,{constructor:function(b,a){this.el=Ext.get(b);Ext.apply(this,a);this.addEvents("touchstart","tap","touchend");this.el.on({touchstart:this.onTouchStart,touchend:this.onTouchEnd,scope:this});if(this.preventDefault||this.stopDefault){this.el.on("tap",this.eventOptions,this)}Ext.util.TapRepeater.superclass.constructor.call(this)},interval:10,delay:250,preventDefault:true,stopDefault:false,timer:0,eventOptions:function(a){if(this.preventDefault){a.preventDefault()}if(this.stopDefault){a.stopEvent()}},destroy:function(){Ext.destroy(this.el);this.clearListeners()},onTouchStart:function(a){clearTimeout(this.timer);if(this.pressClass){this.el.addCls(this.pressClass)}this.tapStartTime=new Date();this.fireEvent("touchstart",this,a);this.fireEvent("tap",this,a);if(this.accelerate){this.delay=400}this.timer=Ext.defer(this.tap,this.delay||this.interval,this,[a])},tap:function(a){this.fireEvent("tap",this,a);this.timer=Ext.defer(this.tap,this.accelerate?this.easeOutExpo(Ext.util.Date.getElapsed(this.tapStartTime),400,-390,12000):this.interval,this,[a])},easeOutExpo:function(e,a,g,f){return(e==f)?a+g:g*(-Math.pow(2,-10*e/f)+1)+a},onTouchEnd:function(a){clearTimeout(this.timer);this.el.removeCls(this.pressClass);this.fireEvent("touchend",this,a)}});if(!this.JSON){this.JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i0)?"taphold":"dragstart";this.dragOptions=(this.delay>0)?{holdThreshold:this.delay}:{direction:this.direction,dragThreshold:this.threshold};this.container=window;if(this.constrain){if(this.constrain==="parent"){this.container=this.el.parent()}else{if(this.constrain!==window){this.container=Ext.get(this.constrain)}}}this.offset=new Ext.util.Offset();this.linearAnimation={x:new Ext.util.Draggable.Animation.Linear(),y:new Ext.util.Draggable.Animation.Linear()};this.updateBoundary(true);this.setDragging(false);if(!this.disabled){this.enable()}return this},enable:function(){return this.setEnabled(true)},disable:function(){return this.setEnabled(false)},setEnabled:function(a){this.eventTarget[a?"on":"un"](this.startEventName,this.onStart,this,this.dragOptions);this.eventTarget[a?"on":"un"]("drag",this.onDrag,this,this.dragOptions);this.eventTarget[a?"on":"un"]("dragend",this.onDragEnd,this,this.dragOptions);this.eventTarget[a?"on":"un"]("touchstart",this.onTouchStart,this);if(a){Ext.EventManager.onOrientationChange(this.onOrientationChange,this)}else{Ext.EventManager.orientationEvent.removeListener(this.onOrientationChange,this)}this.disabled=!a;return this},setUseCssTransform:function(a){if(typeof a=="undefined"){a=true}if(a!=this.useCssTransform){this.useCssTransform=a;var b=new Ext.util.Offset();if(a==false){this.setStyleOffset(this.offset);this.setTransformOffset(b,true)}else{this.setTransformOffset(this.offset);this.setStyleOffset(b)}}return this},setOffset:function(b,a){if(!this.horizontal){b.x=0}if(!this.vertical){b.y=0}if(!(b instanceof Ext.util.Offset)){b=Ext.util.Offset.fromObject(b)}b.round();if(!this.offset.equals(b)){if(a){this.startAnimation(b,a)}else{this.offset=b;this.region=new Ext.util.Region(this.initialRegion.top+b.y,this.initialRegion.right+b.x,this.initialRegion.bottom+b.y,this.initialRegion.left+b.x);if(this.useCssTransform){this.setTransformOffset(b)}else{this.setStyleOffset(b)}this.fireEvent("offsetchange",this,this.offset)}}return this},setTransformOffset:function(b,a){if(a){this.getProxyEl().dom.style.webkitTransform=""}else{Ext.Element.cssTranslate(this.getProxyEl(),b)}return this},setStyleOffset:function(b){var a=this.getProxyEl();a.dom.style.left=b.x+"px";a.dom.style.top=b.y+"px";return this},startAnimation:function(d,a){var c=this;this.stopAnimation();var b=Date.now();a=Ext.isNumber(a)?a:this.animationDuration;this.linearAnimation.x.set({startOffset:this.offset.x,endOffset:d.x,startTime:b,duration:a});this.linearAnimation.y.set({startOffset:this.offset.y,endOffset:d.y,startTime:b,duration:a});this.isAnimating=true;this.animationTimer=setInterval(function(){c.handleAnimationFrame()},this.getFrameDuration());return this},getFrameDuration:function(){return 1000/this.fps},stopAnimation:function(){if(this.isAnimating){clearInterval(this.animationTimer);this.isAnimating=false;this.setDragging(false)}return this},handleAnimationFrame:function(){if(!this.isAnimating){return}var a=new Ext.util.Offset();a.x=this.linearAnimation.x.getOffset();a.y=this.linearAnimation.y.getOffset();this.setOffset(a);if((a.x===this.linearAnimation.x.endOffset)&&(a.y===this.linearAnimation.y.endOffset)){this.stopAnimation()}},getOffset:function(){var a=this.offset.copy();a.y=-a.y;a.x=-a.x;return a},updateBoundary:function(f){var h;if(typeof f=="undefined"){f=false}this.size={width:this.el.dom.scrollWidth,height:this.el.dom.scrollHeight};if(this.container===window){this.containerBox={left:0,top:0,right:this.container.innerWidth,bottom:this.container.innerHeight,width:this.container.innerWidth,height:this.container.innerHeight}}else{this.containerBox=this.container.getPageBox()}var a=this.el.getXY();this.elBox={left:a[0]-this.offset.x,top:a[1]-this.offset.y,width:this.size.width,height:this.size.height};this.elBox.bottom=this.elBox.top+this.elBox.height;this.elBox.right=this.elBox.left+this.elBox.width;this.initialRegion=this.region=new Ext.util.Region(a[1],a[0]+this.elBox.width,a[1]+this.elBox.height,a[0]);var e=0,c=0,b=0,d=0;if(this.elBox.leftthis.containerBox.right){d-=this.elBox.right-this.containerBox.right}else{c+=this.containerBox.right-this.elBox.right}if(this.elBox.topthis.containerBox.bottom){e-=this.elBox.bottom-this.containerBox.bottom}else{b+=this.containerBox.bottom-this.elBox.bottom}h=new Ext.util.Region(e,c,b,d).round();if(this.offsetBoundary&&this.offsetBoundary.equals(h)){return this}this.offsetBoundary=h;this.fireEvent("offsetboundaryupdate",this,this.offsetBoundary);var g;if(this.useCssTransform){g=Ext.Element.getComputedTransformOffset(this.getProxyEl());if(!this.offset.equals(g)||f){this.setOffset(g)}}return this},onTouchStart:function(){},onStart:function(a){if(this.updateBoundaryOnTouchStart){this.updateBoundary()}this.stopAnimation();this.setDragging(true);this.startTouchPoint=new Ext.util.Point(a.startX,a.startY);this.startOffset=this.offset.copy();this.fireEvent("dragstart",this,a);return true},getNewOffsetFromTouchPoint:function(a){var c=a.x-this.startTouchPoint.x,b=a.y-this.startTouchPoint.y,d=this.offset.copy();if(c==0&&b==0){return d}if(this.horizontal){d.x=this.startOffset.x+c}if(this.vertical){d.y=this.startOffset.y+b}return d},onDrag:function(a){if(!this.dragging){return}this.lastTouchPoint=Ext.util.Point.fromEvent(a);var b=this.getNewOffsetFromTouchPoint(this.lastTouchPoint);if(this.offsetBoundary!=null){b=this.offsetBoundary.restrict(b,this.outOfBoundRestrictFactor)}this.setOffset(b);this.fireEvent("drag",this,a);return true},onDragEnd:function(a){if(this.dragging){this.fireEvent("beforedragend",this,a);if(this.revert&&!this.cancelRevert){this.setOffset(this.startOffset,true)}else{this.setDragging(false)}this.fireEvent("dragend",this,a)}return true},onOrientationChange:function(){this.updateBoundary()},setDragging:function(a){if(a){if(!this.dragging){this.dragging=true;this.getProxyEl().addCls(this.draggingCls)}}else{if(this.dragging){this.dragging=false;this.getProxyEl().removeCls(this.draggingCls)}}return this},getProxyEl:function(){return this.proxy||this.el},destroy:function(){this.el.removeCls(this.baseCls);this.getProxyEl().removeCls(this.proxyCls);this.clearListeners();this.disable()},reset:function(){this.startOffset=new Ext.util.Offset(0,0);this.setOffset(this.startOffset);var a=this.initialRegion.copy();this.updateBoundary();this.initialRegion=this.region=this.getProxyEl().getPageBox(true);this.startTouchPoint.x+=this.initialRegion.left-a.left;this.startTouchPoint.y+=this.initialRegion.top-a.top},moveTo:function(a,b){this.setOffset(new Ext.util.Offset(a-this.initialRegion.left,b-this.initialRegion.top));return this},isDragging:function(){return this.dragging},isVertical:function(){return this.vertical},isHorizontal:function(){return this.horizontal}});Ext.util.Draggable.Animation={};Ext.util.Draggable.Animation.Abstract=Ext.extend(Object,{startTime:null,startOffset:0,constructor:function(a){a=a||{};this.set(a);if(!this.startTime){this.startTime=Date.now()}},set:function(a,b){if(Ext.isObject(a)){Ext.apply(this,a)}else{this[a]=b}return this},getOffset:Ext.emptyFn});Ext.util.Draggable.Animation.Linear=Ext.extend(Ext.util.Draggable.Animation.Abstract,{duration:0,endOffset:0,getOffset:function(){var c=this.endOffset-this.startOffset,a=Date.now()-this.startTime,b=Math.min(1,(a/this.duration));return this.startOffset+(b*c)}});Ext.util.Droppable=Ext.extend(Ext.util.Observable,{baseCls:"x-droppable",activeCls:"x-drop-active",invalidCls:"x-drop-invalid",hoverCls:"x-drop-hover",validDropMode:"intersect",disabled:false,group:"base",tolerance:null,monitoring:false,constructor:function(b,a){a=a||{};Ext.apply(this,a);this.addEvents("dropactivate","dropdeactivate","dropenter","dropleave","drop");this.el=Ext.get(b);Ext.util.Droppable.superclass.constructor.call(this);if(!this.disabled){this.enable()}this.el.addCls(this.baseCls)},onDragStart:function(a,b){if(a.group===this.group){this.monitoring=true;this.el.addCls(this.activeCls);this.region=this.el.getPageBox(true);a.on({drag:this.onDrag,beforedragend:this.onBeforeDragEnd,dragend:this.onDragEnd,scope:this});if(this.isDragOver(a)){this.setCanDrop(true,a,b)}this.fireEvent("dropactivate",this,a,b)}else{a.on({dragend:function(){this.el.removeCls(this.invalidCls)},scope:this,single:true});this.el.addCls(this.invalidCls)}},isDragOver:function(a,b){return this.region[this.validDropMode](a.region)},onDrag:function(a,b){this.setCanDrop(this.isDragOver(a),a,b)},setCanDrop:function(c,a,b){if(c&&!this.canDrop){this.canDrop=true;this.el.addCls(this.hoverCls);this.fireEvent("dropenter",this,a,b)}else{if(!c&&this.canDrop){this.canDrop=false;this.el.removeCls(this.hoverCls);this.fireEvent("dropleave",this,a,b)}}},onBeforeDragEnd:function(a,b){a.cancelRevert=this.canDrop},onDragEnd:function(a,b){this.monitoring=false;this.el.removeCls(this.activeCls);a.un({drag:this.onDrag,beforedragend:this.onBeforeDragEnd,dragend:this.onDragEnd,scope:this});if(this.canDrop){this.canDrop=false;this.el.removeCls(this.hoverCls);this.fireEvent("drop",this,a,b)}this.fireEvent("dropdeactivate",this,a,b)},enable:function(){if(!this.mgr){this.mgr=Ext.util.Observable.observe(Ext.util.Draggable)}this.mgr.on({dragstart:this.onDragStart,scope:this});this.disabled=false},disable:function(){this.mgr.un({dragstart:this.onDragStart,scope:this});this.disabled=true},isDisabled:function(){return this.disabled},isMonitoring:function(){return this.monitoring}});(function(){Ext.ScrollManager=new Ext.AbstractManager();Ext.util.ScrollView=Ext.extend(Ext.util.Observable,{useIndicators:true,indicatorConfig:{},indicatorMargin:4,constructor:function(b,a){var c=[],d=["vertical","horizontal"];Ext.util.ScrollView.superclass.constructor.call(this);["useIndicators","indicatorConfig","indicatorMargin"].forEach(function(e){if(a.hasOwnProperty(e)){this[e]=a[e];delete a[e]}},this);a.scrollView=this;this.scroller=new Ext.util.Scroller(b,a);if(this.useIndicators===true){d.forEach(function(e){if(this.scroller[e]){c.push(e)}},this)}else{if(d.indexOf(this.useIndicators)!==-1){c.push(this.useIndicators)}}this.indicators={};this.indicatorOffsetExtras={};c.forEach(function(e){this.indicators[e]=new Ext.util.Scroller.Indicator(this.scroller.container,Ext.apply({},this.indicatorConfig,{type:e}))},this);this.mon(this.scroller,{scrollstart:this.onScrollStart,scrollend:this.onScrollEnd,scroll:this.onScroll,scope:this})},onScrollStart:function(){this.showIndicators()},onScrollEnd:function(){this.hideIndicators()},onScroll:function(a){if(a.offsetBoundary==null||(!this.indicators.vertical&&!this.indicators.horizontal)){return}var c,b,e,f=a.offsetBoundary,d=a.offset;this.containerSize=a.containerBox;this.scrollerSize=a.size;this.outOfBoundOffset=f.getOutOfBoundOffset(d);this.restrictedOffset=f.restrict(d);this.boundarySize=f.getSize();if(!this.indicatorSizes){this.indicatorSizes={vertical:0,horizontal:0}}if(!this.indicatorOffsets){this.indicatorOffsets={vertical:0,horizontal:0}}Ext.iterate(this.indicators,function(h,g){c=(h=="vertical")?"height":"width";b=(h=="vertical")?"y":"x";e=(h=="vertical")?"bottom":"right";if(this.scrollerSize[c]this.startMomentumResetTime){this.setStartTime(a);this.startTimeOffset=this.offset.copy()}},onDragEnd:function(a){if(Ext.util.Scroller.superclass.onDragEnd.apply(this,arguments)!==true){return}if(!this.startMomentumAnimation(a)){this.fireScrollEndEvent()}},onOrientationChange:function(){Ext.util.Scroller.superclass.onOrientationChange.apply(this,arguments);this.snapToBoundary()},fireScrollEndEvent:function(){this.isScrolling=false;this.isMomentumAnimating=false;this.snapToBoundary();this.fireEvent("scrollend",this,this.getOffset());this.snapToSlot()},getLastActualFps:function(){var a=(this.momentumAnimationEndTime-this.momentumAnimationStartTime-this.momentumAnimationProcessingTime)/1000;return this.momentumAnimationFramesHandled/a},scrollTo:function(c,a){this.stopMomentumAnimation();var b=this.offsetBoundary.restrict(new Ext.util.Offset(-c.x,-c.y));this.setOffset(b,a);return this},scrollBy:function(b,a){this.stopMomentumAnimation();var c=this.offset.copy();c.x+=b.x;c.y+=b.y;this.setOffset(c,a);return this},setSnap:function(a){this.snap=a},snapToBoundary:function(a){var b=this.offsetBoundary.restrict(this.offset);this.setOffset(b,a);return this},snapToSlot:function(){var a=this.offsetBoundary.restrict(this.offset);a.round();if(this.snap){if(this.snap===true){this.snap={x:50,y:50}}else{if(Ext.isNumber(this.snap)){this.snap={x:this.snap,y:this.snap}}}if(this.snap.y){a.y=Math.round(a.y/this.snap.y)*this.snap.y}if(this.snap.x){a.x=Math.round(a.x/this.snap.x)*this.snap.x}if(!this.offset.equals(a)){this.scrollTo({x:-a.x,y:-a.y},this.snapDuration)}}},startMomentumAnimation:function(g){var i=this,j=(g.event.originalTimeStamp)?g.event.originalTimeStamp:g.time,c=Math.max(40,j-this.originalStartTime);this.fireEvent("beforemomentumanimationstart");if((!this.momentum||!(c<=this.startMomentumResetTime))&&!this.offsetBoundary.isOutOfBound(this.offset)){return false}var d=this.minVelocityForAnimation,f,h=this.offset.copy(),a,b=(c/this.acceleration);this.isBouncing={x:false,y:false};this.isDecelerating={x:false,y:false};this.momentumAnimationStartTime=g.time;this.momentumAnimationProcessingTime=0;this.bouncingData={x:null,y:null};this.momentumAnimationStartVelocity={x:(this.offset.x-this.startTimeOffset.x)/b,y:(this.offset.y-this.startTimeOffset.y)/b};this.momentumAnimationStartOffset=h;["x","y"].forEach(function(e){this.isDecelerating[e]=(Math.abs(this.momentumAnimationStartVelocity[e])>d);if(this.bounces&&this.bounces[e]){a=this.offsetBoundary.restrict(e,h[e]);if(a!==h[e]){f=(h[e]-a)*this.bouncingVelocityFactor;this.bouncingData[e]={axis:e,offset:a,time:this.momentumAnimationStartTime,velocity:f};this.isBouncing[e]=true;this.isDecelerating[e]=false;this.fireEvent("bouncestart",this,this.bouncingData[e]);this.bouncingAnimation[e].set({startTime:this.bouncingData[e].time-this.bouncingTimeFactor,startOffset:this.bouncingData[e].offset,startVelocity:this.bouncingData[e].velocity})}}if(this.isDecelerating[e]){this.decelerationAnimation[e].set({startVelocity:this.momentumAnimationStartVelocity[e],startOffset:this.momentumAnimationStartOffset[e],startTime:this.momentumAnimationStartTime})}},this);if(this.isDecelerating.x||this.isDecelerating.y||this.isBouncing.x||this.isBouncing.y){this.isMomentumAnimating=true;this.momentumAnimationFramesHandled=0;this.fireEvent("momentumanimationstart");i.handleMomentumAnimationFrame();this.momentumAnimationTimer=setInterval(function(){i.handleMomentumAnimationFrame()},this.getFrameDuration());return true}return false},stopMomentumAnimation:function(){if(this.isMomentumAnimating){if(this.momentumAnimationTimer){clearInterval(this.momentumAnimationTimer)}this.momentumAnimationEndTime=Date.now();var a=this.getLastActualFps();if(!this.maxFps||a>this.maxFps){this.maxFps=a}if(this.autoAdjustFps){this.fps=this.maxFps}this.isDecelerating={};this.isBouncing={};this.fireEvent("momentumanimationend");this.fireScrollEndEvent()}return this},handleMomentumAnimationFrame:function(){if(!this.isMomentumAnimating){return}var c=Date.now(),f=this.offset.copy(),e=this.offsetBoundary,b,a,d;["x","y"].forEach(function(g){if(this.isDecelerating[g]){f[g]=this.decelerationAnimation[g].getOffset();b=this.momentumAnimationStartVelocity[g]*this.decelerationAnimation[g].getFrictionFactor();d=e.getOutOfBoundOffset(g,f[g]);if(d!==0){a=e.restrict(g,f[g]);if(this.bounces&&this.bounces[g]){this.bouncingData[g]={axis:g,offset:a,time:c,velocity:b};this.fireEvent("bouncestart",this,this.bouncingData[g]);this.bouncingAnimation[g].set({startTime:this.bouncingData[g].time,startOffset:this.bouncingData[g].offset,startVelocity:this.bouncingData[g].velocity});this.isBouncing[g]=true}this.isDecelerating[g]=false}else{if(Math.abs(b)<=1){this.isDecelerating[g]=false}}}else{if(this.isBouncing[g]){f[g]=this.bouncingAnimation[g].getOffset();a=e.restrict(g,f[g]);if(Math.abs(f[g]-a)<=1){this.isBouncing[g]=false;this.fireEvent("bounceend",this,{axis:g});f[g]=a}}}},this);if(!this.isDecelerating.x&&!this.isDecelerating.y&&!this.isBouncing.x&&!this.isBouncing.y){this.stopMomentumAnimation();return}this.momentumAnimationFramesHandled++;this.momentumAnimationProcessingTime+=Date.now()-c;this.setOffset(f)},destroy:function(){Ext.ScrollManager.unregister(this);return Ext.util.Scroller.superclass.destroy.apply(this,arguments)}});Ext.util.Scroller.Animation={};Ext.util.Scroller.Animation.Deceleration=Ext.extend(Ext.util.Draggable.Animation.Abstract,{acceleration:30,theta:null,startVelocity:null,getOffset:function(){return this.startOffset-this.startVelocity*(1-this.getFrictionFactor())/this.theta},getFrictionFactor:function(){var a=Date.now()-this.startTime;return Math.exp(a/this.acceleration*this.theta)}});Ext.util.Scroller.Animation.Bouncing=Ext.extend(Ext.util.Draggable.Animation.Abstract,{springTension:0.3,acceleration:30,startVelocity:null,getOffset:function(){var b=(Date.now()-this.startTime),a=(b/this.acceleration)*Math.pow(Math.E,-this.springTension*(b/this.acceleration));return this.startOffset+(this.startVelocity*a)}});Ext.util.Scroller.Indicator=Ext.extend(Object,{baseCls:"x-scrollbar",ui:"dark",type:"horizontal",constructor:function(a,b){this.container=a;Ext.apply(this,b);this.el=this.container.createChild({cls:[this.baseCls,this.baseCls+"-"+this.type,this.baseCls+"-"+this.ui].join(" ")});this.offset=new Ext.util.Offset();this.hide()},hide:function(){var a=this;if(this.hideTimer){clearTimeout(this.hideTimer)}this.hideTimer=setTimeout(function(){a.el.setStyle("opacity",0)},100);return this},show:function(){if(this.hideTimer){clearTimeout(this.hideTimer)}this.el.setStyle("opacity",1);return this},setVisibility:function(a){return this[a?"show":"hide"]()},setSize:function(a){if(this.size&&a>this.size){a=Math.round(a)}this.el.dom.style[(this.type=="horizontal")?"width":"height"]=a+"px";this.size=a;return this},setOffset:function(a){if(this.type=="vertical"){this.offset.y=a}else{this.offset.x=a}if(!Ext.is.iOS&&!Ext.is.Desktop){if(this.type=="vertical"){this.el.dom.style.top=this.offset.y+"px"}else{this.el.dom.style.left=this.offset.x+"px"}}else{Ext.Element.cssTranslate(this.el,this.offset)}return this}})})();Ext.util.Sortable=Ext.extend(Ext.util.Observable,{baseCls:"x-sortable",direction:"vertical",cancelSelector:null,constrain:window,group:"base",revert:true,itemSelector:null,handleSelector:null,disabled:false,delay:0,sorting:false,vertical:false,vertical:false,constructor:function(b,a){a=a||{};Ext.apply(this,a);this.addEvents("sortstart","sortend","sortchange");this.el=Ext.get(b);Ext.util.Sortable.superclass.constructor.call(this);if(this.direction=="horizontal"){this.horizontal=true}else{if(this.direction=="vertical"){this.vertical=true}else{this.horizontal=this.vertical=true}}this.el.addCls(this.baseCls);this.startEventName=(this.delay>0)?"taphold":"tapstart";if(!this.disabled){this.enable()}},onStart:function(b,a){if(this.cancelSelector&&b.getTarget(this.cancelSelector)){return}if(this.handleSelector&&!b.getTarget(this.handleSelector)){return}if(!this.sorting){this.onSortStart(b,a)}},onSortStart:function(c,b){this.sorting=true;var a=new Ext.util.Draggable(b,{threshold:0,revert:this.revert,direction:this.direction,constrain:this.constrain===true?this.el:this.constrain,animationDuration:100});a.on({drag:this.onDrag,dragend:this.onDragEnd,scope:this});this.dragEl=b;this.calculateBoxes();if(!a.dragging){a.onStart(c)}this.fireEvent("sortstart",this,c)},calculateBoxes:function(){this.items=[];var b=this.el.select(this.itemSelector,false),f=b.length,a,e,c,d;for(a=0;a(h.bottom-h.top)/2){if(h.bottom>k.top&&k.top>h.top){l.el.insertAfter(k.el)}else{l.el.insertBefore(k.el)}d=true}else{if(this.horizontal&&Math.abs(a.left-a.right)>(h.right-h.left)/2){if(h.right>k.left&&k.left>h.left){l.el.insertAfter(k.el)}else{l.el.insertBefore(k.el)}d=true}}if(d){l.reset();l.moveTo(h.left,h.top);this.calculateBoxes();this.fireEvent("sortchange",this,l.el,this.el.select(this.itemSelector,false).indexOf(l.el.dom));return}}}},onDragEnd:function(a,b){a.destroy();this.sorting=false;this.fireEvent("sortend",this,a,b)},enable:function(){this.el.on(this.startEventName,this.onStart,this,{delegate:this.itemSelector,holdThreshold:this.delay});this.disabled=false},disable:function(){this.el.un(this.startEventName,this.onStart,this);this.disabled=true},isDisabled:function(){return this.disabled},isSorting:function(){return this.sorting},isVertical:function(){return this.vertical},isHorizontal:function(){return this.horizontal}});(function(){Date.useStrict=false;function b(d){var c=Array.prototype.slice.call(arguments,1);return d.replace(/\{(\d+)\}/g,function(e,f){return c[f]})}Date.formatCodeToRegex=function(d,c){var e=Date.parseCodes[d];if(e){e=typeof e=="function"?e():e;Date.parseCodes[d]=e}return e?Ext.applyIf({c:e.c?b(e.c,c||"{0}"):e.c},e):{g:0,c:null,s:Ext.util.Format.escapeRegex(d)}};var a=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{"M$":function(d,c){var e=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var f=(d||"").match(e);return f?new Date(((f[1]||"")+f[2])*1):null}},parseRegexes:[],formatFunctions:{"M$":function(){return"\\/Date("+this.getTime()+")\\/"}},y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",defaults:{},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNumbers:{Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11},getShortMonthName:function(c){return Date.monthNames[c].substring(0,3)},getShortDayName:function(c){return Date.dayNames[c].substring(0,3)},getMonthNumber:function(c){return Date.monthNumbers[c.substring(0,1).toUpperCase()+c.substring(1,3).toLowerCase()]},formatCodes:{d:"Ext.util.Format.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"Ext.util.Format.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"Ext.util.Format.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"this.getFullYear()",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"Ext.util.Format.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.util.Format.leftPad(this.getHours(), 2, '0')",i:"Ext.util.Format.leftPad(this.getMinutes(), 2, '0')",s:"Ext.util.Format.leftPad(this.getSeconds(), 2, '0')",u:"Ext.util.Format.leftPad(this.getMilliseconds(), 3, '0')",O:"this.getGMTOffset()",P:"this.getGMTOffset(true)",T:"this.getTimezone()",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var j="Y-m-dTH:i:sP",g=[],f=0,d=j.length;f= 0 && y >= 0){","v = new Date(y, 0, 1, h, i, s, ms);","v = !strict? v : (strict === true && (z <= 364 || (v.isLeapYear() && z <= 365))? v.add(Date.DAY, z) : null);","}else if(strict === true && !Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = new Date(y, m, d, h, i, s, ms);","}","}","}","if(v){","if(zz != null){","v = v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(l){var e=Date.parseRegexes.length,n=1,f=[],k=[],j=false,d="",h=0,g,m;for(;h Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:function(){return a("A")},A:{calcLast:true,g:1,c:"if (results[{0}] == 'AM') {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM)"},g:function(){return a("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return a("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.util.Format.leftPad(hr, 2, '0') + Ext.util.Format.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.util.Format.leftPad(hr, 2, '0') + Ext.util.Format.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 e=[],c=[a("Y",1),a("m",2),a("d",3),a("h",4),a("i",5),a("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",a("P",8).c,"}else{",a("O",8).c,"}","}"].join("\n")}];for(var f=0,d=c.length;f0?"-":"+")+Ext.util.Format.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+(a?":":"")+Ext.util.Format.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")},getDayOfYear:function(){var b=0,e=this.clone(),a=this.getMonth(),c;for(c=0,e.setDate(1),e.setMonth(0);c28){a=Math.min(a,this.getFirstDateOfMonth().add("mo",c).getLastDateOfMonth().getDate())}e.setDate(a);e.setMonth(this.getMonth()+c);break;case Date.YEAR:e.setFullYear(this.getFullYear()+c);break}return e},between:function(c,a){var b=this.getTime();return c.getTime()<=b&&b<=a.getTime()}});Date.prototype.format=Date.prototype.dateFormat;Ext.data.Connection=Ext.extend(Ext.util.Observable,{method:"post",url:null,disableCaching:true,disableCachingParam:"_dc",timeout:30000,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",constructor:function(a){a=a||{};Ext.apply(this,a);this.addEvents("beforerequest","requestcomplete","requestexception");this.requests={};Ext.data.Connection.superclass.constructor.call(this)},request:function(d){var m=this;if(m.fireEvent("beforerequest",m,d)!==false){var h=d.params,c=d.url||m.url,f=d.urlParams,l=m.extraParams,i,j,g,b,q,s;if(Ext.isFunction(h)){h=h.call(d.scope||window,d)}if(Ext.isFunction(c)){c=c.call(d.scope||window,d)}j=d.rawData||d.xmlData||d.jsonData||null;if(d.jsonData&&!Ext.isPrimitive(d.jsonData)){j=Ext.encode(j)}h=Ext.urlEncode(l,Ext.isObject(h)?Ext.urlEncode(h):h);f=Ext.isObject(f)?Ext.urlEncode(f):f;b=(d.method||((h||j)?"POST":"GET")).toUpperCase();if(b==="GET"&&d.disableCaching!==false&&m.disableCaching){c=Ext.urlAppend(c,d.disableCachingParam||m.disableCachingParam+"="+(new Date().getTime()))}if((b=="GET"||j)&&h){c=Ext.urlAppend(c,h);h=null}if(f){c=Ext.urlAppend(c,f)}if(d.autoAbort===true||m.autoAbort){m.abort()}s=this.getXhrInstance();s.open(b.toUpperCase(),c,true);g=Ext.apply({},d.headers||{},m.defaultHeaders||{});if(!g["Content-Type"]&&(j||h)){var p=m.defaultPostHeader,n=d.jsonData,a=d.xmlData;if(j){if(d.rawData){p="text/plain"}else{if(a&&Ext.isDefined(a)){p="text/xml"}else{if(n&&Ext.isDefined(n)){p="application/json"}}}}g["Content-Type"]=p}if(m.useDefaultXhrHeader&&!g["X-Requested-With"]){g["X-Requested-With"]=m.defaultXhrHeader}for(q in g){if(g.hasOwnProperty(q)){try{s.setRequestHeader(q,g[q])}catch(k){m.fireEvent("exception",q,g[q])}}}i={id:++Ext.data.Connection.requestId,xhr:s,headers:g,options:d,timeout:setTimeout(function(){i.timedout=true;m.abort(i)},d.timeout||m.timeout)};m.requests[i.id]=i;s.onreadystatechange=Ext.createDelegate(m.onStateChange,m,[i]);s.send(j||h||null);return i}else{return d.callback?d.callback.apply(d.scope,[d,undefined,undefined]):null}},getXhrInstance:function(){return new XMLHttpRequest()},isLoading:function(a){return a&&!{0:true,4:true}[a.xhr.readyState]},abort:function(a){if(a&&this.isLoading(a)){if(!request.timedout){request.aborted=true}a.xhr.abort()}else{if(!a){var b;for(b in this.requests){if(!this.requests.hasOwnProperty(b)){continue}this.abort(this.requests[b])}}}},onStateChange:function(a){if(a.xhr.readyState==4){clearTimeout(a.timeout);delete a.timeout;this.onComplete(a)}},onComplete:function(d){var a=d.xhr.status,c=d.options,e=true,b;if((a>=200&&a<300)||a==304){b=this.createResponse(d);this.fireEvent("requestcomplete",this,b,c);if(c.success){if(!c.scope){c.success(b,c)}else{c.success.call(c.scope,b,c)}}}else{e=false;switch(a){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:b=this.createException(d);break;default:b=this.createResponse(d)}this.fireEvent("requestexception",this,b,c);if(c.failure){if(!c.scope){c.failure(b,c)}else{c.failure.call(c.scope,b,c)}}}if(c.callback){if(!c.scope){c.callback(c,e,b)}else{c.callback.call(c.scope,c,e,b)}}delete this.requests[d.id]},createResponse:function(a){var g=a.xhr,b={},h=g.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),c=h.length,i,d,f,e;while(c--){i=h[c];d=i.indexOf(":");if(d>=0){f=i.substr(0,d).toLowerCase();if(i.charAt(d+1)==" "){++d}b[f]=i.substr(d+1)}}delete a.xhr;return{request:a,requestId:a.id,status:g.status,statusText:g.statusText,getResponseHeader:function(j){return b[j.toLowerCase()]},getAllResponseHeaders:function(){return b},responseText:g.responseText,responseXML:g.responseXML}},createException:function(a){return{request:a,requestId:a.id,status:a.aborted?-1:0,statusText:a.aborted?"transaction aborted":"communication failure",aborted:a.aborted,timedout:a.timedout}}});Ext.data.Connection.requestId=0;Ext.Ajax=new Ext.data.Connection({autoAbort:false});Ext.util.EventSimulator=Ext.extend(Object,{supportedEvents:{touch:["touchstart","touchmove","touchend","gesturestart","gesturechange","gestureend"],mouse:["mousedown","mousemove","mouseup","click"]},getEventTypeByName:function(b){var a=null;Ext.iterate(this.supportedEvents,function(d,c){if(c.indexOf(b)!=-1){a=d}});return a},fire:function(b,c,a){b=b.toLowerCase();if(arguments.length==2){a=c;c=document}switch(this.getEventTypeByName(b)){case"touch":this.fireTouchEvent.call(this,b,c,a);break;case"mouse":this.fireMouseEvent.call(this,b,c,a);break;default:throw new Error("Event type "+b+" is currently not supported")}return this},createEvent:function(b,a){},createEventData:function(b,a){switch(this.getEventTypeByName(b.type)){case"touch":return this.createTouchEventData(b.type,b.target,b,a);break;case"mouse":return this.createMouseEventData(b.type,b.target,b,a);break;default:throw new Error("Event type "+b.type+" is currently not supported")}},fireTouchEvent:function(c,d,b){var e=this.createTouchEventData(c,d,b);var a=this.createTouchEvent(c,e);a.isSimulated=true;return d.dispatchEvent(a)},createTouchEventData:function(c,d,a,b){var e={type:c,timeStamp:Date.now(),bubbles:true,cancelable:true,detail:1,screenX:0,screenY:0,pageX:0,pageY:0,clientX:0,clientY:0,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false,scale:1,rotation:0};if(!b){e.target=d;e.view=document.defaultView}if(a){Ext.iterate(e,function(f,g){if(a.hasOwnProperty(f)){e[f]=a[f]}})}["touches","targetTouches","changedTouches"].forEach(function(f){if(a.hasOwnProperty(f)){e[f]=this.createTouchList(a[f],d,b)}else{e[f]=this.createTouchList(e,d,b)}},this);return e},createTouchEvent:function(b,c){if(typeof b!="string"){c=b;b=b.type}var a=document.createEvent("TouchEvent");if(a.initTouchEvent.length==9){a.initTouchEvent(c.touches,c.targetTouches,c.changedTouches,b,c.view,c.screenX,c.screenY,c.clientX,c.clientY)}else{a.initTouchEvent(b,c.bubbles,c.cancelable,c.view,c.detail,c.screenX,c.screenY,c.pageX,c.pageY,c.ctrlKey,c.altKey,c.shiftKey,c.metaKey,c.touches,c.targetTouches,c.changedTouches,c.scale,c.rotation)}return a},createTouch:function(c,a,b){if(!document.createTouch||b){return{pageX:a.pageX,pageY:a.pageY,clientX:a.pageX,clientY:a.pageY,screenX:a.pageX,screenY:a.pageY,identifier:+a.identifier||0}}return document.createTouch(document.defaultView,c,+a.identifier||0,+a.pageX||0,+a.pageY||0,+a.screenX||0,+a.screenY||0)},createTouchList:function(c,e,b){var f,d=[];if(Ext.isObject(c)&&typeof c.target!="undefined"){c=[c]}if(c){for(var a=0;a0){this.fireEvent("replaystart",c,j);setTimeout(function(){b=k[e];if(b){if(a.indexOf(b.type)===-1){g.fireEvent("beforecalculatetarget",b.type,b);h=Ext.util.Point.fromEvent(b);f=document.elementFromPoint(h.x,h.y);g.fireEvent("aftercalculatetarget",b.type,f,b)}if(f){if(g.interruptFlag===true){g.interruptFlag=false;g.interruptedIndexes[c]=e;g.fireEvent("interrupted",e);g.fireEvent("replayend",c,true);return}g.fireEvent("beforefire",b.type,f,b);l.fire(b.type,f,b);g.fireEvent("afterfire",b.type,f,b)}if(++e=0;b--){if(d.stopped){break}this.handleTarget(a[b],d,false)}if(this.startedChangedTouch){this.followTouches=this.followTouches.concat((Ext.supports.Touch&&d.targetTouches)?Ext.toArray(d.targetTouches):[d])}},handleTarget:function(g,f,a){var h=Ext.Element.data(g,"x-gestures")||[],d=h.length,c,b;for(c=0;c=a.cancelThreshold||Math.abs(b.pageY-a.startY)>=a.cancelThreshold)}});Ext.regGesture("tap",Ext.gesture.Tap);Ext.gesture.Swipe=Ext.extend(Ext.gesture.Gesture,{listenForEnd:false,swipeThreshold:35,swipeTime:1000,onTouchStart:function(a,b){this.startTime=a.timeStamp;this.startX=b.pageX;this.startY=b.pageY;this.lock("scroll","scrollstart","scrollend")},onTouchMove:function(g,h){var b=h.pageY-this.startY,d=h.pageX-this.startX,a=Math.abs(b),c=Math.abs(d),f=g.timeStamp-this.startTime;if(a-c>3||f>this.swipeTime){this.unlock("drag","dragstart","dragend");this.stop()}else{if(c>this.swipeThreshold&&c>a){this.fire("swipe",g,{direction:(d<0)?"left":"right",distance:c,deltaTime:f,deltaX:d});this.stop()}}}});Ext.regGesture("swipe",Ext.gesture.Swipe);Ext.gesture.Drag=Ext.extend(Ext.gesture.Touch,{handles:["dragstart","drag","dragend"],dragThreshold:5,direction:"both",horizontal:false,vertical:false,constructor:function(){Ext.gesture.Drag.superclass.constructor.apply(this,arguments);if(this.direction=="both"){this.horizontal=true;this.vertical=true}else{if(this.direction=="horizontal"){this.horizontal=true}else{this.vertical=true}}return this},onTouchStart:function(a,b){this.startX=this.previousX=b.pageX;this.startY=this.previousY=b.pageY;this.startTime=this.previousTime=a.timeStamp;this.dragging=false},onTouchMove:function(b,c){if(this.isLocked("drag")){return}var a=this.getInfo(c);if(!this.dragging){if(this.isDragging(a)&&this.fire("dragstart",b,a)){this.dragging=true;this.lock("drag","dragstart","dragend");this.fire("drag",b,a)}}else{this.fire("drag",b,a)}},onTouchEnd:function(a){if(this.dragging){this.fire("dragend",a,this.lastInfo)}this.dragging=false},isDragging:function(a){return((this.horizontal&&a.absDeltaX>=this.dragThreshold)||(this.vertical&&a.absDeltaY>=this.dragThreshold))},isVertical:function(){return this.vertical},isHorizontal:function(){return this.horizontal}});Ext.regGesture("drag",Ext.gesture.Drag);Ext.gesture.Pinch=Ext.extend(Ext.gesture.Gesture,{handles:["pinchstart","pinch","pinchend"],touches:2,onTouchStart:function(f){var b=this;if(Ext.supports.Touch&&f.targetTouches.length>=2){b.lock("swipe","scroll","scrollstart","scrollend","touchmove","touchend","touchstart","tap","tapstart","taphold","tapcancel","doubletap");b.pinching=true;var c=f.targetTouches,d=b.firstTouch=c[0],a=b.secondTouch=c[1];b.previousDistance=b.startDistance=b.getDistance();b.previousScale=1;b.fire("pinchstart",f,{distance:b.startDistance,scale:b.previousScale})}else{if(b.pinching){b.unlock("swipe","scroll","scrollstart","scrollend","touchmove","touchend","touchstart","tap","tapstart","taphold","tapcancel","doubletap");b.pinching=false}}},onTouchMove:function(a){if(this.pinching){this.fire("pinch",a,this.getPinchInfo())}},onTouchEnd:function(a){if(this.pinching){this.fire("pinchend",a,this.getPinchInfo())}},getPinchInfo:function(){var b=this,f=b.getDistance(),e=f/b.startDistance,d=b.firstTouch,a=b.secondTouch,c={scale:e,deltaScale:e-1,previousScale:b.previousScale,previousDeltaScale:e-b.previousScale,distance:f,deltaDistance:f-b.startDistance,startDistance:b.startDistance,previousDistance:b.previousDistance,previousDeltaDistance:f-b.previousDistance,firstTouch:d,secondTouch:a,firstPageX:d.pageX,firstPageY:d.pageY,secondPageX:a.pageX,secondPageY:a.pageY,midPointX:(d.pageX+a.pageX)/2,midPointY:(d.pageY+a.pageY)/2};b.previousScale=e;b.previousDistance=f;return c},getDistance:function(){var a=this;return Math.sqrt(Math.pow(Math.abs(a.firstTouch.pageX-a.secondTouch.pageX),2)+Math.pow(Math.abs(a.firstTouch.pageY-a.secondTouch.pageY),2))}});Ext.regGesture("pinch",Ext.gesture.Pinch);Ext.lib.Component=Ext.extend(Ext.util.Observable,{isComponent:true,renderTpl:null,tplWriteMode:"overwrite",baseCls:"x-component",disabledCls:"x-item-disabled",hidden:false,disabled:false,draggable:false,floating:false,styleHtmlContent:false,styleHtmlCls:"x-html",allowDomMove:true,autoShow:false,autoRender:false,needsLayout:false,rendered:false,constructor:function(b){b=b||{};this.initialConfig=b;Ext.apply(this,b);this.addEvents("beforeactivate","activate","beforedeactivate","deactivate","added","disable","enable","beforeshow","show","beforehide","hide","removed","beforerender","render","afterrender","beforedestroy","destroy","resize","move","beforestaterestore","staterestore","beforestatesave","statesave");this.getId();this.mons=[];this.additionalCls=[];this.renderData=this.renderData||{};this.renderSelectors=this.renderSelectors||{};this.initComponent();Ext.ComponentMgr.register(this);Ext.lib.Component.superclass.constructor.call(this);if(this.plugins){this.plugins=[].concat(this.plugins);for(var c=0,a=this.plugins.length;c=0;a--){if((f=d.getAt(a)).is(b)){return f}}}else{if(a){return d.getAt(--a)}}}}return null},getId:function(){return this.id||(this.id="ext-comp-"+(++Ext.lib.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.id},getEl:function(){return this.el},getTargetEl:function(){return this.el},isXType:function(b,a){if(Ext.isFunction(b)){b=b.xtype}else{if(Ext.isObject(b)){b=b.constructor.xtype}}return !a?("/"+this.getXTypes()+"/").indexOf("/"+b+"/")!=-1:this.constructor.xtype==b},getXTypes:function(){var a=this.constructor,b=[],d=this,c;if(!a.xtypes){while(d){c=d.constructor.xtype;if(c!=undefined){b.unshift(c)}d=d.constructor.superclass}a.xtypeChain=b;a.xtypes=b.join("/")}return a.xtypes},update:function(b,c,a){if(this.tpl&&!Ext.isString(b)){this.data=b;if(this.rendered){this.tpl[this.tplWriteMode](this.getTargetEl(),b||{})}}else{this.html=Ext.isObject(b)?Ext.DomHelper.markup(b):b;if(this.rendered){this.getTargetEl().update(this.html,c,a)}}if(this.rendered){this.doComponentLayout()}},setVisible:function(a){return this[a?"show":"hide"]()},isVisible:function(){var b=!this.hidden,a=this.ownerCt;this.hiddenOwnerCt=false;if(this.destroyed){return false}if(b&&this.rendered&&a){while(a){if(a.hidden||a.collapsed){this.hiddenOwnerCt=a;b=false;break}a=a.ownerCt}}return b},enable:function(a){if(this.rendered){this.el.removeCls(this.disabledCls);this.el.dom.disabled=false;this.onEnable()}this.disabled=false;if(a!==true){this.fireEvent("enable",this)}return this},disable:function(a){if(this.rendered){this.el.addCls(this.disabledCls);this.el.dom.disabled=true;this.onDisable()}this.disabled=true;if(a!==true){this.fireEvent("disable",this)}return this},isDisabled:function(){return this.disabled},setDisabled:function(a){return this[a?"disable":"enable"]()},isHidden:function(){return this.hidden},addCls:function(){var b=this,a=Ext.toArray(arguments);if(b.rendered){b.el.addCls(a)}else{b.additionalCls=b.additionalCls.concat(a)}return b},addClass:function(){throw"Component: addClass has been deprecated. Please use addCls."},removeCls:function(){var b=this,a=Ext.toArray(arguments);if(b.rendered){b.el.removeCls(a)}else{if(b.additionalCls.length){Ext.each(a,function(c){b.additionalCls.remove(c)})}}return b},removeClass:function(){throw"Component: removeClass has been deprecated. Please use removeCls."},addListener:function(b,f,e,a){if(Ext.isString(b)&&(Ext.isObject(f)||a&&a.element)){if(a.element){var d=f,c;f={};f[b]=d;b=a.element;if(e){f.scope=e}for(c in a){if(!a.hasOwnProperty(c)){continue}if(this.eventOptionsRe.test(c)){f[c]=a[c]}}}if(this[b]&&this[b].on){this.mon(this[b],f)}else{this.afterRenderEvents=this.afterRenderEvents||{};this.afterRenderEvents[b]=f}}return Ext.lib.Component.superclass.addListener.apply(this,arguments)},getBubbleTarget:function(){return this.ownerCt},isFloating:function(){return this.floating},isDraggable:function(){return !!this.draggable},isDroppable:function(){return !!this.droppable},onAdded:function(a,b){this.ownerCt=a;this.fireEvent("added",this,a,b)},onRemoved:function(){this.fireEvent("removed",this,this.ownerCt);delete this.ownerCt},onEnable:Ext.emptyFn,onDisable:Ext.emptyFn,beforeDestroy:Ext.emptyFn,onResize:Ext.emptyFn,setSize:function(b,a){if(Ext.isObject(b)){a=b.height;b=b.width}if(!this.rendered||!this.isVisible()){if(this.hiddenOwnerCt){var c=this.hiddenOwnerCt.layoutOnShow;c.remove(this);c.add(this)}this.needsLayout={width:b,height:a,isSetSize:true};if(!this.rendered){this.width=(b!==undefined)?b:this.width;this.height=(a!==undefined)?a:this.height}return this}this.doComponentLayout(b,a,true);return this},setCalculatedSize:function(b,a){if(Ext.isObject(b)){a=b.height;b=b.width}if(!this.rendered||!this.isVisible()){if(this.hiddenOwnerCt){var c=this.hiddenOwnerCt.layoutOnShow;c.remove(this);c.add(this)}this.needsLayout={width:b,height:a,isSetSize:false};return this}this.doComponentLayout(b,a);return this},doComponentLayout:function(d,a,b){var c=this.getComponentLayout();if(this.rendered&&c){d=(d!==undefined||this.collapsed===true)?d:this.width;a=(a!==undefined||this.collapsed===true)?a:this.height;if(b){this.width=d;this.height=a}c.layout(d,a)}return this},setComponentLayout:function(b){var a=this.componentLayout;if(a&&a.isLayout&&a!=b){a.setOwner(null)}this.componentLayout=b;b.setOwner(this)},getComponentLayout:function(){if(!this.componentLayout||!this.componentLayout.isLayout){this.setComponentLayout(Ext.layout.LayoutManager.create(this.componentLayout,"autocomponent"))}return this.componentLayout},afterComponentLayout:Ext.emptyFn,setPosition:function(a,b){if(Ext.isObject(a)){b=a.y;a=a.x}if(!this.rendered){return this}if(a!==undefined||b!==undefined){this.el.setBox(a,b);this.onPosition(a,b);this.fireEvent("move",this,a,b)}return this},onPosition:Ext.emptyFn,setWidth:function(a){return this.setSize(a)},setHeight:function(a){return this.setSize(undefined,a)},getSize:function(){return this.el.getSize()},getWidth:function(){return this.el.getWidth()},getHeight:function(){return this.el.getHeight()},setLoading:function(a,b){if(this.rendered){if(a){this.loadMask=this.loadMask||new Ext.LoadMask(b?this.getTargetEl():this.el,Ext.applyIf(Ext.isObject(a)?a:{}));this.loadMask.show()}else{Ext.destroy(this.loadMask);this.loadMask=null}}return this.loadMask},setDocked:function(a,b){this.dock=a;if(b&&this.ownerCt&&this.rendered){this.ownerCt.doComponentLayout()}return this},onDestroy:function(){if(this.monitorResize&&Ext.EventManager.resizeEvent){Ext.EventManager.resizeEvent.removeListener(this.setSize,this)}Ext.destroy(this.componentLayout,this.loadMask)},destroy:function(){if(!this.isDestroyed){if(this.fireEvent("beforedestroy",this)!==false){this.destroying=true;this.beforeDestroy();if(this.ownerCt&&this.ownerCt.remove){this.ownerCt.remove(this,false)}if(this.rendered){this.el.remove()}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.clearListeners();this.destroying=false;this.isDestroyed=true}}}});Ext.lib.Component.prototype.on=Ext.lib.Component.prototype.addListener;Ext.lib.Component.prototype.prev=Ext.lib.Component.prototype.previousSibling;Ext.lib.Component.prototype.next=Ext.lib.Component.prototype.nextSibling;Ext.lib.Component.AUTO_ID=1000;Ext.Component=Ext.extend(Ext.lib.Component,{});Ext.reg("component",Ext.Component);Ext.Component=Ext.extend(Ext.lib.Component,{showAnimation:null,monitorOrientation:false,floatingCls:"x-floating",hideOnMaskTap:true,stopMaskTapEvent:true,centered:false,modal:false,fullscreen:false,layoutOnOrientationChange:null,initComponent:function(){this.addEvents("beforeorientationchange","orientationchange");if(this.fullscreen||this.floating){this.monitorOrientation=true;this.autoRender=true}if(this.fullscreen){var a=Ext.Viewport.getSize();this.width=a.width;this.height=a.height;this.cls=(this.cls||"")+" x-fullscreen";this.renderTo=document.body}},onRender:function(){Ext.Component.superclass.onRender.apply(this,arguments);if(this.monitorOrientation){this.el.addCls("x-"+Ext.Viewport.orientation)}if(this.floating){this.setFloating(true)}if(this.draggable){this.setDraggable(this.draggable)}if(this.scroll){this.setScrollable(this.scroll)}},afterRender:function(){if(this.fullscreen){this.layoutOrientation(Ext.Viewport.orientation,this.width,this.height)}Ext.Component.superclass.afterRender.call(this)},initEvents:function(){Ext.Component.superclass.initEvents.call(this);if(this.monitorOrientation){Ext.EventManager.onOrientationChange(this.setOrientation,this)}},afterComponentLayout:function(){var c=this.scrollEl,a=this.scroller,b;if(c){b=c.parent();if(a.horizontal){c.setStyle("min-width",b.getWidth(true)+"px");c.setHeight(b.getHeight(true)||null)}if(a.vertical){c.setStyle("min-height",b.getHeight(true)+"px");c.setWidth(b.getWidth(true)||null)}a.updateBoundary(true)}if(this.fullscreen&&Ext.is.iPad){Ext.repaint()}},layoutOrientation:Ext.emptyFn,update:function(){Ext.Component.superclass.update.apply(this,arguments);var a=this.scroller;if(a&&a.updateBoundary){a.updateBoundary(true)}},show:function(a){var b=this.rendered;if((this.hidden||!b)&&this.fireEvent("beforeshow",this)!==false){if(this.anchorEl){this.anchorEl.hide()}if(!b&&this.autoRender){this.render(Ext.isBoolean(this.autoRender)?Ext.getBody():this.autoRender)}this.hidden=false;if(this.rendered){this.onShow(a);this.fireEvent("show",this)}}return this},showBy:function(b,c,d,a){if(!this.floating){return this}if(b.isComponent){b=b.el}else{b=Ext.get(b)}this.x=0;this.y=0;this.show(c);if(a!==false){if(!this.anchorEl){this.anchorEl=this.el.createChild({cls:"x-anchor"})}this.anchorEl.show()}this.alignTo(b,d,20)},alignTo:function(f,e,g){var b=f.getPageBox(),q={width:window.innerWidth,height:window.innerHeight},l=this.getSize(),a={width:Math.min(l.width,q.width),height:Math.min(l.height,q.height)},s,j=2,d=["tl-bl","t-b","tr-br","l-r","l-r","r-l","bl-tl","b-t","br-tr"],p=this.anchorEl,h=[0,g],i,c,k=false,n=[0,0],o=b.left+(b.width/2),m=b.top+(b.height/2);if(o<=q.width*(1/3)){j=1;n[0]=25}else{if(o>=q.width*(2/3)){j=3;n[0]=-30}}if(m>=q.height*(2/3)){j+=6;h=[0,-g];n[1]=-10}else{if(e!==false&&m>=q.height*(1/3)){j+=3;h=(j<=5)?[g,0]:[-g,0];n=(j<=5)?[10,0]:[-10,0];k=true}else{n[1]=10}}s=d[j-1];i=this.el.getAlignToXY(f,s,h);if(k){if(i[0]<0){a.width=b.left-g}else{if(i[0]+a.width>q.width){a.width=q.width-b.right-g}}}else{if(i[1]<0){a.height=b.top-g}else{if(i[1]+a.height>q.height){a.height=q.height-b.bottom-g}}}if(a.width!=l.width){this.setSize(a.width)}else{if(a.height!=l.height){this.setSize(undefined,a.height)}}i=this.el.getAlignToXY(f,s,h);this.setPosition(i[0],i[1]);if(p){p.removeCls(["x-anchor-bottom","x-anchor-left","x-anchor-right","x-anchor-top"]);if(h[1]==g){c="x-anchor-top"}else{if(h[1]==-g){c="x-anchor-bottom"}else{if(h[0]==g){c="x-anchor-left"}else{c="x-anchor-right"}}}i=p.getAlignToXY(f,s,n);p.setXY(i);p.addCls(c)}return s},setCentered:function(b,d){this.centered=b;if(this.rendered&&d){var a,c;if(!this.ownerCt){a=(Ext.Element.getViewportWidth()/2)-(this.getWidth()/2);c=(Ext.Element.getViewportHeight()/2)-(this.getHeight()/2)}else{a=(this.ownerCt.getTargetEl().getWidth()/2)-(this.getWidth()/2);c=(this.ownerCt.getTargetEl().getHeight()/2)-(this.getHeight()/2)}this.setPosition(a,c)}return this},hide:function(a){if(!this.hidden&&this.fireEvent("beforehide",this)!==false){this.hidden=true;if(this.rendered){this.onHide(a,true)}}return this},onShow:function(a){this.el.show();Ext.Component.superclass.onShow.call(this,a);if(a===undefined||a===true){a=this.showAnimation}if(this.floating){this.el.dom.parentNode||this.el.appendTo(document.body);if(a){this.el.setStyle("opacity",0.01)}if(this.centered){this.setCentered(true,true)}else{this.setPosition(this.x,this.y)}if(this.modal){this.el.parent().mask(null,"x-mask-gray")}if(this.hideOnMaskTap){Ext.getDoc().on("touchstart",this.onFloatingTouchStart,this,{capture:true,subsequent:true})}}if(a){Ext.Anim.run(this,a,{out:false,autoClear:true});this.showAnimation=a}},onFloatingTouchStart:function(a){if(!this.el.contains(a.target)){this.hide();if(this.stopMaskTapEvent||Ext.fly(a.target).hasCls("x-mask")){a.stopEvent()}}},onHide:function(b,a){if(b===undefined||b===true){b=this.showAnimation}if(this.hideOnMaskTap&&this.floating){Ext.getDoc().un("touchstart",this.onFloatingTouchStart,this,{capture:true,subsequent:true})}if(b){Ext.Anim.run(this,b,{out:true,reverse:true,autoClear:true,scope:this,fireHideEvent:a,after:this.doHide})}else{this.doHide(null,{fireHideEvent:a})}},doHide:function(c,a){var b=this.el.parent();this.el.hide();if(b&&this.floating&&this.modal){b.unmask()}if(a&&a.fireHideEvent){this.fireEvent("hide",this)}},setScrollable:function(a){var b=this,c;if(!b.rendered){b.scroll=a;return}Ext.destroy(b.scroller);b.scroller=null;if(b.originalGetTargetEl){b.getTargetEl=b.originalGetTargetEl}if(a!==false){c=Ext.isObject(a)?a.direction:a;a=Ext.apply({},Ext.isObject(a)?a:{},{direction:c});if(!b.scrollEl){b.scrollEl=b.getTargetEl().createChild()}b.originalGetTargetEl=b.getTargetEl;b.getTargetEl=function(){return b.scrollEl};b.scroller=(new Ext.util.ScrollView(b.scrollEl,a)).scroller}},setFloating:function(b,a){this.floating=!!b;this.hidden=true;if(this.rendered){if(b!==false){this.el.addCls(this.floatingCls);if(a){this.show()}}else{this.el.removeCls(this.floatingCls);Ext.getDoc().un("touchstart",this.onFloatingTouchStart,this)}}else{if(b!==false){if(this.layoutOnOrientationChange!==false){this.layoutOnOrientationChange=true}this.autoRender=true}}},setDraggable:function(a,b){this.isDraggable=a;if(this.rendered){if(a===false){if(this.dragObj){this.dragObj.disable()}}else{if(b){this.show()}if(this.dragObj){this.dragObj.enable()}else{this.dragObj=new Ext.util.Draggable(this.el,Ext.apply({},this.draggable||{}));this.relayEvents(this.dragObj,["dragstart","beforedragend","drag","dragend"])}}}},setOrientation:function(b,a,c){if(this.fireEvent("beforeorientationchange",this,b,a,c)!==false){if(this.orientation!=b){this.el.removeCls("x-"+this.orientation);this.el.addCls("x-"+b)}this.orientation=b;this.layoutOrientation(b,a,c);if(this.fullscreen){this.setSize(a,c)}else{if(this.layoutOnOrientationChange){this.doComponentLayout()}}if(this.floating&&this.centered){this.setCentered(true,true)}this.onOrientationChange(b,a,c);this.fireEvent("orientationchange",this,b,a,c)}},onOrientationChange:Ext.emptyFn,beforeDestroy:function(){if(this.floating&&this.modal&&!this.hidden){this.el.parent().unmask()}Ext.destroy(this.scroller);Ext.Component.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.monitorOrientation&&Ext.EventManager.orientationEvent){Ext.EventManager.orientationEvent.removeListener(this.setOrientation,this)}Ext.Component.superclass.onDestroy.call(this)}});Ext.BoxComponent=Ext.Component;Ext.reg("component",Ext.Component);Ext.reg("box",Ext.BoxComponent);Ext.lib.Container=Ext.extend(Ext.Component,{autoDestroy:true,defaultType:"panel",isContainer:true,baseCls:"x-container",bubbleEvents:["add","remove"],initComponent:function(){this.addEvents("afterlayout","beforeadd","beforeremove","add","remove","beforecardswitch","cardswitch");this.layoutOnShow=new Ext.util.MixedCollection();Ext.lib.Container.superclass.initComponent.call(this);this.initItems()},initItems:function(){var a=this.items;this.items=new Ext.util.MixedCollection(false,this.getComponentId);if(a){if(!Ext.isArray(a)){a=[a]}this.add(a)}},afterRender:function(){this.getLayout();Ext.lib.Container.superclass.afterRender.apply(this,arguments)},setLayout:function(b){var a=this.layout;if(a&&a.isLayout&&a!=b){a.setOwner(null)}this.layout=b;b.setOwner(this)},getLayout:function(){if(!this.layout||!this.layout.isLayout){this.setLayout(Ext.layout.LayoutManager.create(this.layout,"autocontainer"))}return this.layout},doLayout:function(){var a=this.getLayout();if(this.rendered&&a){a.layout()}return this},afterLayout:function(a){this.fireEvent("afterlayout",this,a)},prepareItems:function(a,c){if(!Ext.isArray(a)){a=[a]}var e,b,d;for(b=0,d=a.length;b1;if(a||Ext.isArray(f[0])){var g=a?f:f[0],b=[],c,e,j;for(c=0,e=g.length;c "+a)[0]||null},down:function(a){return this.query(a)[0]||null},show:function(){Ext.lib.Container.superclass.show.apply(this,arguments);var e=this.layoutOnShow,d=e.getCount(),b=0,a,c;for(;b0){c=0}if(d){this.adjustScroller(new Ext.util.Offset(f.offset.x,c))}}}this.resetLastWindowScroll()}this.lastFocusedField=h;this.focusedField=h;this.focusingField=null},getClosestScroller:function(){if(!this.closestScroller){this.closestScroller=this.scroller||this.el.getScrollParent()}return this.closestScroller},onFieldBlur:function(b,a){if(this.focusingField==b){this.focusingField=null}if(this.focusedField==b){this.focusedField=null}},afterLayout:function(a){if(this.floating&&this.centered){this.setCentered(true,true)}if(this.scroller){this.scroller.updateBoundary()}Ext.Container.superclass.afterLayout.call(this,a)},getActiveItem:function(){if(this.layout&&this.layout.type=="card"){return this.layout.activeItem}else{return null}},setActiveItem:function(a,b){this.layout.setActiveItem(a,b);return this},onBeforeCardSwitch:function(a,c,b,d){return this.fireEvent("beforecardswitch",this,a,c,b,d)},onCardSwitch:function(a,c,b,d){return this.fireEvent("cardswitch",this,a,c,b,d)},disable:function(){Ext.Container.superclass.disable.call(this);this.el.mask(null,"x-mask-gray")},enable:function(){Ext.Container.superclass.enable.call(this);this.el.unmask()}});Ext.reg("container",Ext.Container);Ext.lib.Panel=Ext.extend(Ext.Container,{baseCls:"x-panel",isPanel:true,componentLayout:"dock",renderTpl:['
{bodyCls}" style="{bodyStyle}">
'],initComponent:function(){this.addEvents("bodyresize");Ext.applyIf(this.renderSelectors,{body:"."+this.baseCls+"-body"});Ext.lib.Panel.superclass.initComponent.call(this)},initItems:function(){Ext.lib.Panel.superclass.initItems.call(this);var a=this.dockedItems;this.dockedItems=new Ext.util.MixedCollection(false,this.getComponentId);if(a){this.addDocked(a)}},getDockedComponent:function(a){if(Ext.isObject(a)){a=a.getItemId()}return this.dockedItems.get(a)},getComponent:function(a){var b=Ext.lib.Panel.superclass.getComponent.call(this,a);if(b==undefined){b=this.getDockedComponent(a)}return b},initBodyStyles:function(){var a=Ext.isString(this.bodyStyle)?this.bodyStyle.split(";"):[],b=Ext.Element;if(this.bodyPadding!=undefined){a.push("padding: "+b.unitizeBox((this.bodyPadding===true)?5:this.bodyPadding))}if(this.bodyMargin!=undefined){a.push("margin: "+b.unitizeBox((this.bodyMargin===true)?5:this.bodyMargin))}if(this.bodyBorder!=undefined){a.push("border-width: "+b.unitizeBox((this.bodyBorder===true)?1:this.bodyBorder))}delete this.bodyStyle;return a.length?a.join(";"):undefined},initRenderData:function(){return Ext.applyIf(Ext.lib.Panel.superclass.initRenderData.call(this),{bodyStyle:this.initBodyStyles(),bodyCls:this.bodyCls})},addDocked:function(a,e){a=this.prepareItems(a);var d,b,c;for(b=0,c=a.length;b1){this.doSelect(a,false,false)}else{this.doSelect(a,false)}}}}break;case"SIMPLE":if(this.isSelected(a)){this.doDeselect(a)}else{this.doSelect(a,true)}break;case"SINGLE":if(this.allowDeselect&&this.isSelected(a)){this.doDeselect(a)}else{this.doSelect(a,false)}break}},selectRange:function(g,h,k,b){var e,j=this.store.indexOf(g),d=this.store.indexOf(h),f,c=0,a;if(this.isLocked()){return}if(j>d){f=d;d=j;j=f}for(e=j;e<=d;e++){if(this.isSelected(this.store.getAt(e))){c++}}if(!b){a=-1}else{a=(b=="up")?j:d}for(e=j;e<=d;e++){if(c==(d-j+1)){if(e!=a){this.doDeselect(e,true)}}else{this.doSelect(e,true)}}},select:function(b,c,a){this.doSelect(b,c,a)},deselect:function(b,a){this.doDeselect(b,a)},doSelect:function(c,d,b){if(this.locked){return}if(typeof c==="number"){c=[this.store.getAt(c)]}if(this.selectionMode=="SINGLE"&&c){var a=c.length?c[0]:c;this.doSingleSelect(a,b)}else{this.doMultiSelect(c,d,b)}},doMultiSelect:function(c,g,b){if(this.locked){return}var e=this.selected,h=false,a;c=!Ext.isArray(c)?[c]:c;if(!g&&e.getCount()>0){h=true;this.doDeselect(this.getSelection(),true)}for(var d=0,f=c.length;d0){this.doDeselect(this.lastSelected,b)}c.add(a);this.lastSelected=a;this.onSelectChange(a,true,b);this.setLastFocused(a);this.maybeFireSelectionChange(!b)},setLastFocused:function(b){var a=this.lastFocused;this.lastFocused=b;this.onLastFocusChanged(a,b)},maybeFireSelectionChange:function(a){if(a){this.fireEvent("selectionchange",this,this.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(a){a=a?a.toUpperCase():"SINGLE";this.selectionMode=this.modes[a]?a:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(a){this.locked=!!a},isSelected:function(a){a=Ext.isNumber(a)?this.store.getAt(a):a;return this.selected.indexOf(a)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var a=[],e=this.getSelection(),d=e.length,c,f,b=0;for(;b0){a.clear();this.lastSelected=null;this.setLastFocused(null);this.maybeFireSelectionChange(true)}},onStoreRemove:function(b,a){if(this.locked){return}var c=this.selected;if(c.remove(a)){if(this.lastSelected==a){this.lastSelected=null}if(this.getLastFocused()==a){this.setLastFocused(null)}this.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:function(){},onStoreUpdate:function(){},onSelectChange:function(a,c,b){},onLastFocusChanged:function(b,a){},onEditorKey:function(b,a){},bindComponent:function(a){}});Ext.DataViewSelectionModel=Ext.extend(Ext.AbstractStoreSelectionModel,{deselectOnContainerClick:true,bindComponent:function(a){this.view=a;this.bind(a.getStore());var b={refresh:this.refresh,scope:this,el:{scope:this}};b.el[a.triggerEvent]=this.onItemClick;b.el[a.triggerCtEvent]=this.onContainerClick;a.on(b)},onItemClick:function(c){var a=this.view,b=a.findTargetByEvent(c);if(b){this.selectWithEvent(a.getRecord(b),c)}else{return false}},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},onSelectChange:function(b,d,c){var a=this.view;if(d){a.onItemSelect(b);if(!c){this.fireEvent("select",this,b)}}else{a.onItemDeselect(b);if(!c){this.fireEvent("deselect",this,b)}}}});Ext.DataView=Ext.extend(Ext.Component,{loadingText:"Loading...",selectedItemCls:"x-item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,last:false,triggerEvent:"click",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var a=Ext.isDefined;if(!a(this.tpl)||!a(this.store)||!a(this.itemSelector)){throw"DataView requires tpl, store and itemSelector configurations to be defined."}Ext.DataView.superclass.initComponent.call(this);if(Ext.isString(this.tpl)||Ext.isArray(this.tpl)){this.tpl=new Ext.XTemplate(this.tpl)}if(Ext.isDefined(this.overCls)||Ext.isDefined(this.overClass)){this.overItemCls=this.overCls||this.overClass;delete this.overCls;delete this.overClass;throw"Using the deprecated overCls or overClass configuration. Use overItemCls."}if(Ext.isDefined(this.selectedCls)||Ext.isDefined(this.selectedClass)){this.selectedItemCls=this.selectedCls||this.selectedClass;delete this.selectedCls;delete this.selectedClass;throw"Using the deprecated selectedCls or selectedClass configuration. Use selectedItemCls."}this.addEvents("beforerefresh","refresh");this.addCmpEvents();this.store=Ext.StoreMgr.lookup(this.store);this.all=new Ext.CompositeElementLite();this.getSelectionModel().bindComponent(this)},onRender:function(){Ext.DataView.superclass.onRender.apply(this,arguments);if(this.loadingText){this.loadMask=new Ext.LoadMask(this.el,{msg:this.loadingText})}},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var a;switch(true){case this.simpleSelect:a="SIMPLE";break;case this.multiSelect:a="MULTI";break;case this.singleSelect:default:a="SINGLE";break}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:a});if(!this.selModel.events){this.selModel=new Ext.DataViewSelectionModel(this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},refresh:function(){if(!this.rendered){return}this.fireEvent("beforerefresh",this);var b=this.getTargetEl(),a=this.store.getRange();b.update("");if(a.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){b.update(this.emptyText)}this.all.clear()}else{this.tpl.overwrite(b,this.collectData(a,0));this.all.fill(Ext.query(this.itemSelector,b.dom));this.updateIndexes(0)}this.hasSkippedEmptyText=true;this.fireEvent("refresh",this)},prepareData:function(c,b,a){if(a){Ext.apply(c,this.prepareAssociatedData(a))}return c},prepareAssociatedData:function(m,b){b=b||[];var g=m.associations.items,k=g.length,d={},e,a,f,o,p,c,n,l,h;for(l=0;l0){f=e.data.items;p=f.length;for(h=0;h-1){c=this.all.elements[b];d=this.bufferRender([a],b)[0];this.all.replaceElement(b,d,true);this.updateIndexes(b,b);this.selModel.refresh()}},onAdd:function(f,d,e){if(this.all.getCount()===0){this.refresh();return}var c=this.bufferRender(d,e),g,b=this.all.elements;if(e=a&&d[c];c--){b.push(d[c])}}return b},indexOf:function(a){a=this.getNode(a);if(Ext.isNumber(a.viewIndex)){return a.viewIndex}return this.all.indexOf(a)},onBeforeLoad:function(){if(this.loadingText){this.getTargetEl().update("");this.all.clear()}},onDestroy:function(){this.all.clear();Ext.DataView.superclass.onDestroy.call(this);this.bindStore(null);this.selModel.destroy()},onItemSelect:function(a){var b=this.getNode(a);Ext.fly(b).addCls(this.selectedItemCls)},onItemDeselect:function(a){var b=this.getNode(a);Ext.fly(b).removeCls(this.selectedItemCls)},select:function(a,b,d){console.warn("DataView: select will be removed, please access select through a DataView's SelectionModel, ie: view.getSelectionModel().select()");var c=this.getSelectionModel();return c.select.apply(c,arguments)},clearSelections:function(){console.warn("DataView: clearSelections will be removed, please access deselectAll through DataView's SelectionModel, ie: view.getSelectionModel().deselectAll()");var a=this.getSelectionModel();return a.deselectAll()}});Ext.reg("dataview",Ext.DataView);Ext.DataView.override({getSelectionCount:function(){return this.selModel.getSelection().length},getSelectedRecords:function(){return this.selModel.getSelection()}});Ext.DataView.override({scroll:"vertical",pressedCls:"x-item-pressed",pressedDelay:100,allowDeselect:true,triggerEvent:"singletap",triggerCtEvent:"containertap",addCmpEvents:function(){this.addEvents("itemtap","itemdoubletap","itemswipe","containertap","selectionchange","beforeselect")},afterRender:function(){var a=this;Ext.DataView.superclass.afterRender.call(a);var b={tapstart:a.onTapStart,tapcancel:a.onTapCancel,touchend:a.onTapCancel,doubletap:a.onDoubleTap,swipe:a.onSwipe,scope:a};b[this.triggerEvent]=a.onTap;a.mon(a.getTargetEl(),b);if(this.store){this.bindStore(this.store,true)}},onTap:function(c){var b=this.findTargetByEvent(c);if(b){Ext.fly(b).removeCls(this.pressedCls);var a=this.indexOf(b);if(this.onItemTap(b,a,c)!==false){this.fireEvent("itemtap",this,a,b,c)}}else{if(this.fireEvent("containertap",this,c)!==false){this.onContainerTap(c)}}},onTapStart:function(d,a){var c=this,b=this.findTargetByEvent(d);if(b){if(c.pressedDelay){if(c.pressedTimeout){clearTimeout(c.pressedTimeout)}c.pressedTimeout=setTimeout(function(){Ext.fly(b).addCls(c.pressedCls)},Ext.isNumber(c.pressedDelay)?c.pressedDelay:100)}else{Ext.fly(b).addCls(c.pressedCls)}}},onTapCancel:function(d,a){var c=this,b=this.findTargetByEvent(d);if(c.pressedTimeout){clearTimeout(c.pressedTimeout);delete c.pressedTimeout}if(b){Ext.fly(b).removeCls(c.pressedCls)}},onContainerTap:function(a){},onDoubleTap:function(b){var a=this.findTargetByEvent(b);if(a){this.fireEvent("itemdoubletap",this,this.indexOf(a),a,b)}},onSwipe:function(b){var a=this.findTargetByEvent(b);if(a){this.fireEvent("itemswipe",this,this.indexOf(a),a,b)}},onItemTap:function(b,a,c){if(this.pressedTimeout){clearTimeout(this.pressedTimeout);delete this.pressedTimeout}return true}});Ext.List=Ext.extend(Ext.DataView,{componentCls:"x-list",pinHeaders:Ext.is.iOS||Ext.is.Desktop,indexBar:false,grouped:false,clearSelectionOnDeactivate:true,renderTpl:['

'],groupTpl:['','
','

{group}

','
',"{items}","
","
","
"],itemSelector:".x-list-item",itemCls:"",onItemDisclosure:false,preventSelectionOnDisclose:true,initComponent:function(){var a={};if(Ext.isArray(this.itemTpl)){this.itemTpl=this.itemTpl.join("")}else{if(this.itemTpl&&this.itemTpl.html){Ext.apply(a,this.itemTpl.initialConfig);this.itemTpl=this.itemTpl.html}}if(!Ext.isDefined(this.itemTpl)){throw new Error("Ext.List: itemTpl is a required configuration.")}if(this.itemTpl&&this.itemTpl.indexOf('"x-list-item"')!==-1){throw new Error("Ext.List: Using a CSS class of x-list-item within your own tpl will break Ext.Lists. Remove the x-list-item from the tpl/itemTpl")}this.tpl='
'+this.itemTpl+"
";if(this.onItemDisclosure){this.tpl+='
'}this.tpl+="
";this.tpl=new Ext.XTemplate(this.tpl,a);if(this.grouped){this.listItemTpl=this.tpl;if(Ext.isString(this.listItemTpl)||Ext.isArray(this.listItemTpl)){this.listItemTpl=new Ext.XTemplate(this.listItemTpl,a)}if(Ext.isString(this.groupTpl)||Ext.isArray(this.groupTpl)){this.tpl=new Ext.XTemplate(this.groupTpl)}}else{this.indexBar=false}if(this.scroll!==false){this.scroll={direction:"vertical",useIndicators:!this.indexBar}}Ext.List.superclass.initComponent.call(this);if(this.onItemDisclosure){if(Ext.isFunction(this.onItemDisclosure)){this.onItemDisclosure={scope:this,handler:this.onItemDisclosure}}}this.on("deactivate",this.onDeactivate,this);this.addEvents("disclose","update")},onRender:function(){if(this.grouped){Ext.applyIf(this.renderData,{grouped:true});if(this.scroll){Ext.applyIf(this.renderSelectors,{header:".x-list-header-swap"})}}Ext.List.superclass.onRender.apply(this,arguments)},onDeactivate:function(){if(this.clearSelectionOnDeactivate){this.getSelectionModel().deselectAll()}},afterRender:function(){if(!this.grouped){this.el.addCls("x-list-flat")}this.getTargetEl().addCls("x-list-parent");if(this.indexBar){this.indexBar=new Ext.IndexBar(Ext.apply({},Ext.isObject(this.indexBar)?this.indexBar:{},{xtype:"indexbar",alphabet:true,renderTo:this.el}));this.addCls("x-list-indexed")}Ext.List.superclass.afterRender.call(this);if(this.onItemDisclosure){this.mon(this.getTargetEl(),"singletap",this.handleItemDisclosure,this,{delegate:".x-list-disclosure"})}},initEvents:function(){Ext.List.superclass.initEvents.call(this);if(this.grouped){if(this.pinHeaders&&this.scroll){this.mon(this.scroller,{scrollstart:this.onScrollStart,scroll:this.onScroll,scope:this})}if(this.indexBar){this.mon(this.indexBar,{index:this.onIndex,scope:this})}}},handleItemDisclosure:function(f,c){var d=this.findItemByChild(c),a,b;if(d){a=this.getRecord(d);b=this.indexOf(d);if(this.preventSelectionOnDisclose){f.stopEvent()}this.fireEvent("disclose",a,d,b,f);if(Ext.isObject(this.onItemDisclosure)&&this.onItemDisclosure.handler){this.onItemDisclosure.handler.call(this,a,d,b)}}},setActiveGroup:function(b){var a=this;if(b){if(!a.activeGroup||a.activeGroup.header!=b.header){a.header.setHTML(b.header.getHTML());a.header.show()}}else{a.header.hide()}this.activeGroup=b},getClosestGroups:function(g){if(!this.groupOffsets){this.updateOffsets()}var a=this.groupOffsets,d=a.length,f,b,e,c;for(b=0;bg.y){c=f;break}e=f}return{current:e,next:c}},updateIndexes:function(){Ext.List.superclass.updateIndexes.apply(this,arguments);this.updateList()},afterComponentLayout:function(){Ext.List.superclass.afterComponentLayout.apply(this,arguments);this.updateList()},updateList:function(){this.fireEvent("update",this);this.updateOffsets()},updateOffsets:function(){if(this.grouped){this.groupOffsets=[];var c=this.getTargetEl().query("h3.x-list-header"),b=c.length,d,a;for(a=0;athis.closest.next.offset)||(d.y0&&this.closest.next.offset-d.y<=this.headerHeight){var b=this.headerHeight-(this.closest.next.offset-d.y);Ext.Element.cssTranslate(this.header,{x:0,y:-b});this.transformed=true}else{if(this.transformed){this.header.setStyle("-webkit-transform",null);this.transformed=false}}},onIndex:function(e,g,f){var k=e.get("key").toLowerCase(),c=this.store.getGroups(),h=c.length,j,d,b,a;for(d=0;dk){b=a;break}else{b=a}}b=this.getTargetEl().down(".x-group-"+a);if(b){this.scroller.scrollTo({x:0,y:b.getOffsetsTo(this.scrollEl)[1]},false,null,true)}},getGroupId:function(a){return a.name.toLowerCase()},collectData:function(e,l){if(!this.grouped){return Ext.List.superclass.collectData.call(this,e,l)}var g=[],d=this.store.getGroups(),h=d.length,b,a,j,k,f;for(f=0,h=d.length;f
{value}
',itemSelector:"div.x-indexbar-item",letters:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],listPrefix:"",componentLayout:"autocomponent",scroll:false,initComponent:function(){this.componentLayout=this.getComponentLayout();if(!this.store){this.store=new Ext.data.Store({model:"IndexBarModel"})}if(this.alphabet==true){this.ui=this.ui||"alphabet"}if(this.direction=="horizontal"){this.horizontal=true}else{this.vertical=true}this.addEvents("index");Ext.apply(this.renderData,{componentCls:this.componentCls});Ext.apply(this.renderSelectors,{body:"."+this.componentCls+"-body"});Ext.IndexBar.superclass.initComponent.call(this)},renderTpl:['
'],getTargetEl:function(){return this.body},afterRender:function(){Ext.IndexBar.superclass.afterRender.call(this);if(this.alphabet===true){this.loadAlphabet()}if(this.vertical){this.el.addCls(this.componentCls+"-vertical")}else{if(this.horizontal){this.el.addCls(this.componentCls+"-horizontal")}}},loadAlphabet:function(){var e=this.letters,a=e.length,d=[],b,c;for(b=0;b0){a.unshift({key:"",value:this.listPrefix})}return a},initEvents:function(){Ext.IndexBar.superclass.initEvents.call(this);this.mon(this.el,{touchstart:this.onTouchStart,touchend:this.onTouchEnd,touchmove:this.onTouchMove,scope:this})},onTouchStart:function(b,a){b.stopEvent();this.el.addCls(this.componentCls+"-pressed");this.pageBox=this.el.getPageBox();this.onTouchMove(b)},onTouchEnd:function(b,a){b.stopEvent();this.el.removeCls(this.componentCls+"-pressed")},onTouchMove:function(d){d.stopPropagation();var a=Ext.util.Point.fromEvent(d),c,b,f=this.pageBox;if(!f){f=this.pageBox=this.el.getPageBox()}if(this.vertical){if(a.y>f.bottom||a.yf.right||a.x0)||(a==this.items.length-1&&b.deltaX<0)){this.currentScroll.x=b.deltaX/2}}else{if(this.vertical){if((a==0&&b.deltaY>0)||(a==this.items.length-1&&b.deltaY<0)){this.currentScroll.y=b.deltaY/2}}}this.updateCardPositions()},updateCardPositions:function(a){var g=this.items.items,f=g.length,h,c,b,e,d;for(c=0;c3&&a<=0&&this.layout.getNext()){this.next()}else{if(c>0&&Math.abs(c)>3&&a>=0&&this.layout.getPrev()){this.prev()}else{this.scrollToCard(this.layout.activeItem)}}},onBeforeCardSwitch:function(a){if(!this.customDrag&&this.items.indexOf(a)!=-1){var b=a.el.dom.style;b.webkitTransitionDuration=null;b.webkitTransform=null}return Ext.Carousel.superclass.onBeforeCardSwitch.apply(this,arguments)},scrollToCard:function(a){this.currentScroll={x:0,y:0};this.oldCard=this.layout.activeItem;if(a!=this.oldCard&&this.isCardInRange(a)&&this.onBeforeCardSwitch(a,this.oldCard,this.items.indexOf(a),true)!==false){this.layout.activeItem=a;if(this.horizontal){this.currentScroll.x=-this.getCardOffset(a)}else{this.currentScroll.y=-this.getCardOffset(a)}}this.updateCardPositions(true)},onTransitionEnd:function(b,a){this.customDrag=false;this.currentScroll={x:0,y:0};if(this.oldCard&&this.layout.activeItem!=this.oldCard){this.onCardSwitch(this.layout.activeItem,this.oldCard,this.items.indexOf(this.layout.activeItem),true)}delete this.oldCard},onCardSwitch:function(a,c,b,d){this.currentScroll={x:0,y:0};this.updateCardPositions();Ext.Carousel.superclass.onCardSwitch.apply(this,arguments);a.fireEvent("activate",a)},next:function(){var a=this.layout.getNext();if(a){this.customDrag=true;this.scrollToCard(a)}return this},prev:function(){var a=this.layout.getPrev();if(a){this.customDrag=true;this.scrollToCard(a)}return this},isVertical:function(){return this.vertical},isHorizontal:function(){return this.horizontal},beforeDestroy:function(){Ext.destroy(this.indicator);Ext.Carousel.superclass.beforeDestroy.call(this)}});Ext.reg("carousel",Ext.Carousel);Ext.Carousel.Indicator=Ext.extend(Ext.Component,{baseCls:"x-carousel-indicator",initComponent:function(){if(this.carousel.rendered){this.render(this.carousel.body);this.onBeforeCardSwitch(null,null,this.carousel.items.indexOf(this.carousel.layout.getActiveItem()))}else{this.carousel.on("render",function(){this.render(this.carousel.body)},this,{single:true})}Ext.Carousel.Indicator.superclass.initComponent.call(this)},onRender:function(){Ext.Carousel.Indicator.superclass.onRender.apply(this,arguments);for(var a=0,b=this.carousel.items.length;af)||(d.isVertical()&&g.pageY>c)){this.carousel.next()}else{this.carousel.prev()}},createIndicator:function(){this.indicators=this.indicators||[];this.indicators.push(this.el.createChild({tag:"span"}))},onBeforeCardSwitch:function(d,c,a,b){if(Ext.isNumber(b)&&b!=-1&&this.indicators[b]){this.indicators[b].radioCls("x-carousel-indicator-active")}},onCardAdd:function(){if(this.rendered){this.createIndicator()}},onCardRemove:function(){if(this.rendered){this.indicators.pop().remove()}}});Ext.reg("carouselindicator",Ext.Carousel.Indicator);Ext.Map=Ext.extend(Ext.Component,{baseCls:"x-map",useCurrentLocation:false,monitorResize:true,map:null,geo:null,maskMap:false,maskMapCls:"x-mask-map",initComponent:function(){this.mapOptions=this.mapOptions||{};this.scroll=false;if(!(window.google||{}).maps){this.html="Google Maps API is required"}else{if(this.useCurrentLocation){this.geo=this.geo||new Ext.util.GeoLocation({autoLoad:false});this.geo.on({locationupdate:this.onGeoUpdate,locationerror:this.onGeoError,scope:this})}}Ext.Map.superclass.initComponent.call(this);this.addEvents("maprender","centerchange","typechange","zoomchange");if(this.geo){this.on({activate:this.onUpdate,scope:this,single:true});this.geo.updateLocation()}},onRender:function(b,a){Ext.Map.superclass.onRender.apply(this,arguments);this.el.setVisibilityMode(Ext.Element.OFFSETS)},afterRender:function(){Ext.Map.superclass.afterRender.apply(this,arguments);this.renderMap()},onResize:function(a,b){Ext.Map.superclass.onResize.apply(this,arguments);if(this.map){google.maps.event.trigger(this.map,"resize")}},afterComponentLayout:function(){if(this.maskMap&&!this.mask){this.el.mask(null,this.maskMapCls);this.mask=true}},renderMap:function(){var b=this,c=(window.google||{}).maps;if(c){if(Ext.is.iPad){Ext.applyIf(b.mapOptions,{navigationControlOptions:{style:c.NavigationControlStyle.ZOOM_PAN}})}Ext.applyIf(b.mapOptions,{center:new c.LatLng(37.381592,-122.135672),zoom:12,mapTypeId:c.MapTypeId.ROADMAP});if(b.maskMap&&!b.mask){b.el.mask(null,this.maskMapCls);b.mask=true}if(b.el&&b.el.dom&&b.el.dom.firstChild){Ext.fly(b.el.dom.firstChild).remove()}if(b.map){c.event.clearInstanceListeners(b.map)}b.map=new c.Map(b.el.dom,b.mapOptions);var a=c.event;a.addListener(b.map,"zoom_changed",Ext.createDelegate(b.onZoom,b));a.addListener(b.map,"maptypeid_changed",Ext.createDelegate(b.onTypeChange,b));a.addListener(b.map,"center_changed",Ext.createDelegate(b.onCenterChange,b));b.fireEvent("maprender",b,b.map)}},onGeoUpdate:function(b){var a;if(b){a=this.mapOptions.center=new google.maps.LatLng(b.latitude,b.longitude)}if(this.rendered){this.update(a)}else{this.on("activate",this.onUpdate,this,{single:true,data:a})}},onGeoError:function(a){},onUpdate:function(c,b,a){this.update((a||{}).data)},update:function(c){var a=this,b=(window.google||{}).maps;if(b){c=c||a.coords||new b.LatLng(37.381592,-122.135672);if(c&&!(c instanceof b.LatLng)&&"longitude" in c){c=new b.LatLng(c.latitude,c.longitude)}if(!a.hidden&&a.rendered){a.map||a.renderMap();if(a.map&&c instanceof b.LatLng){a.map.panTo(c)}}else{a.on("activate",a.onUpdate,a,{single:true,data:c})}}},onZoom:function(){this.mapOptions.zoom=(this.map&&this.map.getZoom?this.map.getZoom():this.mapOptions.zoom)||10;this.fireEvent("zoomchange",this,this.map,this.mapOptions.zoom)},onTypeChange:function(){this.mapOptions.mapTypeId=this.map&&this.map.getMapTypeId?this.map.getMapTypeId():this.mapOptions.mapTypeId;this.fireEvent("typechange",this,this.map,this.mapOptions.mapTypeId)},onCenterChange:function(){this.mapOptions.center=this.map&&this.map.getCenter?this.map.getCenter():this.mapOptions.center;this.fireEvent("centerchange",this,this.map,this.mapOptions.center)},getState:function(){return this.mapOptions},onDestroy:function(){Ext.destroy(this.geo);if(this.maskMap&&this.mask){this.el.unmask()}if(this.map&&(window.google||{}).maps){google.maps.event.clearInstanceListeners(this.map)}Ext.Map.superclass.onDestroy.call(this)}});Ext.reg("map",Ext.Map);Ext.NestedList=Ext.extend(Ext.Panel,{componentCls:"x-nested-list",layout:"card",cardSwitchAnimation:"slide",backButton:null,backText:"Back",useTitleAsBackText:true,updateTitleText:true,displayField:"text",loadingText:"Loading...",emptyText:"No items available.",onItemDisclosure:false,clearSelectionDelay:200,allowDeselect:false,getItemTextTpl:function(a){return"{"+this.displayField+"}"},getTitleTextTpl:function(a){return"{"+this.displayField+"}"},renderTitleText:function(b){if(!b.titleTpl){b.titleTpl=new Ext.XTemplate(this.getTitleTextTpl(b))}var a=b.getRecord();if(a){return b.titleTpl.applyTemplate(a.data)}else{if(b.isRoot){return this.title||this.backText}else{throw new Error("No RecordNode passed into renderTitleText")}}},useToolbar:true,getDetailCard:function(b,a){return false},initComponent:function(){var b=Ext.StoreMgr.lookup(this.store),a=b.getRootNode(),c=a.getRecord()?this.renderTitleText(a):this.title||"";this.store=b;if(this.useToolbar){this.backButton=new Ext.Button({text:this.backText,ui:"back",handler:this.onBackTap,scope:this,hidden:true});if(!this.toolbar||!this.toolbar.isComponent){this.toolbar=Ext.apply({},this.toolbar||{},{dock:"top",xtype:"toolbar",ui:"light",title:c,items:[]});this.toolbar.items.unshift(this.backButton);this.toolbar=new Ext.Toolbar(this.toolbar);this.dockedItems=this.dockedItems||[];this.dockedItems.push(this.toolbar)}else{this.toolbar.insert(0,this.backButton)}}this.items=[this.getSubList(a)];Ext.NestedList.superclass.initComponent.call(this);this.on("itemtap",this.onItemTap,this);this.addEvents("listchange","leafitemtap")},getListConfig:function(b){var c=b.internalId,a=this.emptyText;return{itemId:c,xtype:"list",autoDestroy:true,recordNode:b,store:this.store.getSubStore(b),loadingText:this.loadingText,onItemDisclosure:this.onItemDisclosure,displayField:this.displayField,singleSelect:true,clearSelectionOnDeactivate:false,bubbleEvents:["itemtap","containertap","beforeselect","itemdoubletap","selectionchange"],itemTpl:' class="x-list-item-leaf">'+this.getItemTextTpl(b)+"",deferEmptyText:true,allowDeselect:this.allowDeselect,refresh:function(){if(this.hasSkippedEmptyText){this.emptyText=a}Ext.List.prototype.refresh.apply(this,arguments)}}},getSubList:function(b){var a=this.items,c,d=b.internalId;if(a&&a.get){c=a.get(d)}if(c){return c}else{return this.getListConfig(b)}},addNextCard:function(b,e){var c,a=b?b.parentNode:null,d;if(b.leaf){d=this.getDetailCard(b,a);if(d){c=this.add(d)}}else{c=this.getSubList(b);c=this.add(c)}return c},setActivePath:function(o){var n=o.substr(0,1)==="/",h=0,e=this.store,p=e.tree,f,g,c,m,b;if(n){o=o.substr(1)}m=Ext.toArray(o.split("/"));b=m.length;if(n){var l=this.items,a=this.items.items,k=l.length;for(;k>1;k--){this.remove(a[k-1],true)}var d=a[0].recordNode;if(d.id!==m[0]){throw new Error("rootNode doesn't match!")}h=1}for(;h','
',""],selectedIndex:0,getElConfig:function(){return{tag:"div",id:this.id,cls:"x-picker-"+this.align}},initComponent:function(){if(!this.name){throw new Error("Each picker slot is required to have a name.")}Ext.apply(this.renderSelectors,{mask:".x-picker-mask",bar:".x-picker-bar"});this.scroll={direction:"vertical",useIndicators:false,friction:0.7,acceleration:25,snapDuration:200,animationDuration:200};this.tpl=new Ext.XTemplate(['','
x-picker-invalid">{'+this.displayField+"}
","
"]);var d=this.data,f=[],c=d&&d.length,a,b,e;if(d&&Ext.isArray(d)&&c){for(a=0;ae){c=j;j=e;e=c}for(d=j;d<=e;d++){f.push({text:d,value:d})}a=this.getDaysInMonth(1,new Date().getFullYear());for(d=0;d style="{bodyStyle}">','
','
','
','
','','',"
","
",""],onClick:function(b){if(b){var a=b.config||{};if(typeof a.fn=="function"){a.fn.call(a.scope||null,b.itemId||b.text,a.input?a.input.dom.value:null,a)}if(a.cls){this.el.removeCls(a.cls)}if(a.input){a.input.dom.blur()}}this.hide()},show:function(c){var e,d,g={autocomplete:"off",autocapitalize:"off",autocorrect:"off",maxlength:0,autofocus:true,placeholder:"",type:"text"},a=/true|on/i;this.rendered||this.render(document.body);c=Ext.applyIf(c||{},{multiLine:false,prompt:false,value:"",modal:true});if(c.title){this.titleBar.setTitle(c.title);this.titleBar.show()}else{this.titleBar.hide()}if(this.inputsEl&&(c.multiLine||c.prompt)){this.inputsEl.show();if(this.multiLineEl&&c.multiLine){this.inputEl&&this.inputEl.hide();this.multiLineEl.show().setHeight(Ext.isNumber(c.multiLine)?parseFloat(c.multiLine):this.defaultTextHeight);c.input=this.multiLineEl}else{if(this.inputEl){this.inputEl.show();this.multiLineEl&&this.multiLineEl.hide();c.input=this.inputEl}}if(Ext.isObject(c.prompt)){Ext.apply(g,c.prompt)}for(d in g){if(g.hasOwnProperty(d)){e=g[d];c.input.dom.setAttribute(d.toLowerCase(),/^auto/i.test(d)?(a.test(e+"")?"on":"off"):e)}}}else{this.inputsEl&&this.inputsEl.hide()}this.setIcon(c.icon||"",false);this.updateText(c.msg,false);if(c.cls){this.el.addCls(c.cls)}this.modal=!!c.modal;var f=this.buttonBar,b=[];f.removeAll();Ext.each([].concat(c.buttons||Ext.MessageBox.OK),function(h){if(h){b.push(Ext.applyIf({config:c,scope:this,handler:this.onClick},h))}},this);f.add(b);if(f.rendered){f.doLayout()}Ext.MessageBox.superclass.show.call(this,c.animate);if(c.input){c.input.dom.value=c.value||"";if(a.test(g.autofocus+"")&&!("autofocus" in c.input.dom)){c.input.dom.focus()}}return this},onOrientationChange:function(){this.doComponentLayout();Ext.MessageBox.superclass.onOrientationChange.apply(this,arguments)},adjustScale:function(){Ext.apply(this,{maxWidth:window.innerWidth,maxHeight:window.innerHeight,minWidth:window.innerWidth*0.5,minHeight:window.innerHeight*0.5})},doComponentLayout:function(){this.adjustScale();return Ext.MessageBox.superclass.doComponentLayout.apply(this,arguments)},alert:function(d,c,b,a){return this.show({title:d,msg:c,buttons:Ext.MessageBox.OK,fn:b,scope:a,icon:Ext.MessageBox.INFO})},confirm:function(d,c,b,a){return this.show({title:d,msg:c,buttons:Ext.MessageBox.YESNO,fn:function(e){b.call(a,e)},scope:a,icon:Ext.MessageBox.QUESTION})},prompt:function(g,f,c,b,e,d,a){return this.show({title:g,msg:f,buttons:Ext.MessageBox.OKCANCEL,fn:function(i,h){c.call(b,i,h)},scope:b,icon:Ext.MessageBox.QUESTION,prompt:a||true,multiLine:e,value:d})},updateText:function(b,a){if(this.msgEl){this.msgEl.update(b?String(b):" ");if(a!==false){this.doComponentLayout()}}return this},setIcon:function(a,b){if(a){this.iconEl.show();this.iconEl.replaceCls(this.iconCls,a)}else{this.iconEl.replaceCls(this.iconCls,"x-hidden-display")}if(b!==false){this.doComponentLayout()}this.iconCls=a;return this}});(function(){var a=Ext.MessageBox;Ext.apply(a,{OK:{text:"OK",itemId:"ok",ui:"action"},CANCEL:{text:"Cancel",itemId:"cancel"},YES:{text:"Yes",itemId:"yes",ui:"action"},NO:{text:"No",itemId:"no"},INFO:"x-msgbox-info",WARNING:"x-msgbox-warning",QUESTION:"x-msgbox-question",ERROR:"x-msgbox-error"});Ext.apply(a,{OKCANCEL:[a.CANCEL,a.OK],YESNOCANCEL:[a.CANCEL,a.NO,a.YES],YESNO:[a.NO,a.YES]})})();Ext.reg("messagebox",Ext.MessageBox);Ext.reg("msgbox",Ext.MessageBox);Ext.Msg=new Ext.MessageBox();Ext.form.FormPanel=Ext.extend(Ext.Panel,{standardSubmit:false,componentCls:"x-form",url:undefined,baseParams:undefined,waitTpl:new Ext.XTemplate('
{message}…
'),submitOnAction:true,getElConfig:function(){return Ext.apply(Ext.form.FormPanel.superclass.getElConfig.call(this),{tag:"form"})},initComponent:function(){this.addEvents("submit","beforesubmit","exception");Ext.form.FormPanel.superclass.initComponent.call(this);this.on("action",this.onFieldAction,this)},afterRender:function(){Ext.form.FormPanel.superclass.afterRender.call(this);this.el.on("submit",this.onSubmit,this)},onSubmit:function(b,a){if(!this.standardSubmit||this.fireEvent("beforesubmit",this,this.getValues(true))===false){if(b){b.stopEvent()}}},onFieldAction:function(a){if(this.submitOnAction){a.blur();this.submit()}},submit:function(a){var b=this.el.dom||{},c;a=Ext.apply({url:this.url||b.action,submitDisabled:false,method:b.method||"post",autoAbort:false,params:null,waitMsg:null,headers:null,success:null,failure:null},a||{});c=this.getValues(this.standardSubmit||!a.submitDisabled);if(this.standardSubmit){if(b){if(a.url&&Ext.isEmpty(b.action)){b.action=a.url}b.method=(a.method||b.method).toLowerCase();if(this.fireEvent("beforesubmit",this,c,a)!==false){b.submit()}}return null}if(this.fireEvent("beforesubmit",this,c,a)!==false){if(a.waitMsg){this.showMask(a.waitMsg)}return Ext.Ajax.request({url:a.url,method:a.method,rawData:Ext.urlEncode(Ext.apply(Ext.apply({},this.baseParams||{}),a.params||{},c)),autoAbort:a.autoAbort,headers:Ext.apply({"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},a.headers||{}),scope:this,callback:function(d,g,e){var f=e.responseText;this.hideMask();if(g){e=Ext.decode(f);g=!!e.success;if(g){if(Ext.isFunction(a.success)){a.success.call(a.scope||this,this,e,f)}this.fireEvent("submit",this,e);return}}if(Ext.isFunction(a.failure)){a.failure.call(a.scope||this,this,e,f)}this.fireEvent("exception",this,e)}})}},loadRecord:function(a){if(a&&a.data){this.setValues(a.data);this.record=a}return this},loadModel:function(){return this.loadRecord.apply(this,arguments)},getRecord:function(){return this.record},updateRecord:function(b,e){var a,c,d;if(b&&(a=b.fields)){c=this.getValues(e);for(d in c){if(c.hasOwnProperty(d)&&a.containsKey(d)){b.set(d,c[d])}}}return this},setValues:function(b){var a=this.getFields(),c,e,d;b=b||{};for(c in b){if(b.hasOwnProperty(c)){e=a[c];d=b[c];if(e){if(Ext.isArray(e)){e.forEach(function(f){if(Ext.isArray(b[c])){f.setChecked((d.indexOf(f.getValue())!=-1))}else{f.setChecked((d==f.getValue()))}})}else{if(e.setChecked){e.setChecked(d)}else{e.setValue(d)}}}}}return this},getValues:function(d){var a=this.getFields(),e,b={},c;for(c in a){if(a.hasOwnProperty(c)){if(Ext.isArray(a[c])){b[c]=[];a[c].forEach(function(f){if(f.isChecked()&&!(d&&f.disabled)){if(f instanceof Ext.form.Radio){b[c]=f.getValue()}else{b[c].push(f.getValue())}}})}else{e=a[c];if(!(d&&e.disabled)){if(e instanceof Ext.form.Checkbox){b[c]=(e.isChecked())?e.getValue():null}else{b[c]=e.getValue()}}}}}return b},reset:function(){this.getFieldsAsArray().forEach(function(a){a.reset()});return this},enable:function(){this.getFieldsAsArray().forEach(function(a){a.enable()});return this},disable:function(){this.getFieldsAsArray().forEach(function(a){a.disable()});return this},getFieldsAsArray:function(){var a=[];var b=function(c){if(c.isField){a.push(c)}if(c.isContainer){c.items.each(b)}};this.items.each(b);return a},getFields:function(b){var a={},d;var c=function(e){if(e.isField){d=e.getName();if((b&&d==b)||typeof b=="undefined"){if(a.hasOwnProperty(d)){if(!Ext.isArray(a[d])){a[d]=[a[d]]}a[d].push(e)}else{a[d]=e}}}if(e.isContainer){e.items.each(c)}};this.items.each(c);return(b)?(a[b]||[]):a},getFieldsFromItem:function(){},showMask:function(a,b){a=Ext.isString(a)?{message:a}:a;if(a&&this.waitTpl){this.maskTarget=b=Ext.get(b||a.target)||this.el;b&&b.mask(this.waitTpl.apply(a))}return this},hideMask:function(){if(this.maskTarget){this.maskTarget.unmask();delete this.maskTarget}return this}});Ext.form.FormPanel.prototype.load=Ext.form.FormPanel.prototype.loadModel;Ext.reg("formpanel",Ext.form.FormPanel);Ext.reg("form",Ext.form.FormPanel);Ext.form.FieldSet=Ext.extend(Ext.Panel,{componentCls:"x-form-fieldset",initComponent:function(){this.componentLayout=this.getLayout();Ext.form.FieldSet.superclass.initComponent.call(this)},afterLayout:function(a){Ext.form.FieldSet.superclass.afterLayout.call(this,a);if(this.title&&!this.titleEl){this.setTitle(this.title)}else{if(this.titleEl){this.el.insertFirst(this.titleEl)}}if(this.instructions&&!this.instructionsEl){this.setInstructions(this.instructions)}else{if(this.instructionsEl){this.el.appendChild(this.instructionsEl)}}},setTitle:function(a){if(this.rendered){if(!this.titleEl){this.titleEl=this.el.insertFirst({cls:this.componentCls+"-title"})}this.titleEl.setHTML(a)}else{this.title=a}return this},setInstructions:function(a){if(this.rendered){if(!this.instructionsEl){this.instructionsEl=this.el.createChild({cls:this.componentCls+"-instructions"})}this.instructionsEl.setHTML(a)}else{this.instructions=a}return this}});Ext.reg("fieldset",Ext.form.FieldSet);Ext.form.Field=Ext.extend(Ext.Component,{isField:true,fieldCls:"x-form-field",baseCls:"x-field",inputCls:undefined,disabled:false,renderTpl:['','
{label}
',"
",'','
tabIndex="{tabIndex}" ','placeholder="{placeHolder}" ','style="{style}" ','maxlength="{maxlength}" ','autocomplete="{autoComplete}" ','autocapitalize="{autoCapitalize}" ','autocorrect="{autoCorrect}" />','
',"
",'
×
',"
"],isFormField:true,autoCreateField:true,inputType:"text",label:null,labelWidth:"30%",labelAlign:"left",required:false,useMask:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this)},getName:function(){return this.name||this.id||""},applyRenderSelectors:function(){this.renderSelectors=Ext.applyIf(this.renderSelectors||{},{mask:".x-field-mask",labelEl:".x-form-label",fieldEl:"."+Ext.util.Format.trim(this.renderData.fieldCls).replace(/ /g,".")});Ext.form.Field.superclass.applyRenderSelectors.call(this)},initRenderData:function(){Ext.form.Field.superclass.initRenderData.apply(this,arguments);Ext.applyIf(this.renderData,{disabled:this.disabled,fieldCls:"x-input-"+this.inputType+(this.inputCls?" "+this.inputCls:""),fieldEl:!this.fieldEl&&this.autoCreateField,inputId:Ext.id(),label:this.label,labelAlign:"x-label-align-"+this.labelAlign,name:this.getName(),required:this.required,style:this.style,tabIndex:this.tabIndex,inputType:this.inputType,useMask:this.useMask});return this.renderData},initEvents:function(){Ext.form.Field.superclass.initEvents.apply(this,arguments);if(this.fieldEl){if(this.useMask&&this.mask){this.mon(this.mask,{click:this.onMaskTap,scope:this})}}},onRender:function(){Ext.form.Field.superclass.onRender.apply(this,arguments);var a=[];if(this.required){a.push("x-field-required")}if(this.label){a.push("x-label-align-"+this.labelAlign)}this.el.addCls(a)},afterRender:function(){Ext.form.Field.superclass.afterRender.apply(this,arguments);if(this.label){this.setLabelWidth(this.labelWidth)}this.initValue()},isDisabled:function(){return this.disabled},onEnable:function(){this.fieldEl.dom.disabled=false},onDisable:function(){this.fieldEl.dom.disabled=true},initValue:function(){this.setValue(this.value||"",true);this.originalValue=this.getValue()},isDirty:function(){if(this.disabled||!this.rendered){return false}return String(this.getValue())!==String(this.originalValue)},onMaskTap:function(a){if(this.disabled){return false}return true},showMask:function(a){if(this.mask){this.mask.setStyle("display","block")}},hideMask:function(a){if(this.mask){this.mask.setStyle("display","none")}},reset:function(){this.setValue(this.originalValue)},getValue:function(){if(!this.rendered||!this.fieldEl){return this.value}return this.fieldEl.getValue()},setValue:function(a){this.value=a;if(this.rendered&&this.fieldEl){this.fieldEl.dom.value=(Ext.isEmpty(a)?"":a)}return this},setLabelWidth:function(a){if(this.labelEl){this.labelEl.setWidth(a)}return this}});Ext.reg("field",Ext.form.Field);Ext.form.Slider=Ext.extend(Ext.form.Field,{ui:"slider",inputCls:"x-slider",inputType:"slider",minValue:0,maxValue:100,animationDuration:200,value:0,trackWidth:null,monitorOrientation:true,renderTpl:['','
{label}
',"
",'','
tabIndex="{tabIndex}"','style="{style}" ',"/>"],increment:1,constructor:function(a){this.addEvents("beforechange","change","drag","dragend");Ext.form.Slider.superclass.constructor.call(this,a)},initComponent:function(){this.tabIndex=-1;if(this.increment==0){this.increment=1}this.increment=Math.abs(this.increment);this.values=[this.value];Ext.form.Slider.superclass.initComponent.apply(this,arguments);if(this.thumbs==undefined){var a=[],b=this.values,d=b.length,c,e=this.getThumbClass();for(c=0;c=(this.increment/2)){b+=(a>0)?this.increment:-this.increment}b=Math.max(this.minValue,b);b=Math.min(this.maxValue,b);return b},getValue:function(){return this.getThumb().getValue()},getThumb:function(){return this.thumbs[0]},getSliderValue:function(b,d){var a=d.dragObj.offsetBoundary.right,c=this.maxValue-this.minValue,e;this.trackWidth=(a>0)?a:this.trackWidth;e=c/this.trackWidth;return this.minValue+(e*(b))},getPixelValue:function(e,c){var a=c.dragObj.offsetBoundary.right,b=this.maxValue-this.minValue,d;this.trackWidth=(a>0)?a:this.trackWidth;d=this.trackWidth/b;return(d*(e-this.minValue))},renderThumbs:function(){var a=this.thumbs,c=a.length,b;for(b=0;bOFF"},{cls:"x-toggle-thumb-on",html:"ON"},{cls:"x-toggle-thumb-thumb"}])}});Ext.form.Text=Ext.extend(Ext.form.Field,{ui:"text",focusCls:"x-field-focus",maxLength:0,placeHolder:undefined,autoComplete:undefined,autoCapitalize:undefined,autoCorrect:undefined,isFocused:false,isClearIconVisible:false,useMask:Ext.is.iOS,initComponent:function(){this.addEvents("focus","blur","keyup","change","action");this.enableBubble("action");Ext.form.Text.superclass.initComponent.apply(this,arguments)},applyRenderSelectors:function(){this.renderSelectors=Ext.applyIf(this.renderSelectors||{},{clearIconEl:".x-field-clear",clearIconContainerEl:".x-field-clear-container"});Ext.form.Text.superclass.applyRenderSelectors.call(this)},initRenderData:function(){var e=Ext.form.Text.superclass.initRenderData.call(this),d=this.autoComplete,c=this.autoCapitalize,b=this.autoCorrect;Ext.applyIf(e,{placeHolder:this.placeHolder,maxlength:this.maxLength,useClearIcon:this.useClearIcon});var a=[true,"on"];if(d!==undefined){e.autoComplete=(a.indexOf(d)!==-1)?"on":"off"}if(c!==undefined){e.autoCapitalize=(a.indexOf(c)!==-1)?"on":"off"}if(b!==undefined){e.autoCorrect=(a.indexOf(b)!==-1)?"on":"off"}this.renderData=e;return e},initEvents:function(){Ext.form.Text.superclass.initEvents.call(this);if(this.fieldEl){this.mon(this.fieldEl,{focus:this.onFocus,blur:this.onBlur,keyup:this.onKeyUp,paste:this.updateClearIconVisibility,mousedown:this.onBeforeFocus,scope:this});if(this.clearIconEl){this.mon(this.clearIconContainerEl,{scope:this,tap:this.onClearIconTap})}}},onEnable:function(){Ext.form.Text.superclass.onEnable.apply(this,arguments);this.disabled=false;this.updateClearIconVisibility()},onDisable:function(){Ext.form.Text.superclass.onDisable.apply(this,arguments);this.blur();this.hideClearIcon()},onClearIconTap:function(){if(!this.disabled){this.setValue("")}},updateClearIconVisibility:function(){var a=this.getValue();if(!a){a=""}if(a.length<1){this.hideClearIcon()}else{this.showClearIcon()}return this},showClearIcon:function(){if(!this.disabled&&this.fieldEl&&this.clearIconEl&&!this.isClearIconVisible){this.isClearIconVisible=true;this.fieldEl.addCls("x-field-clearable");this.clearIconEl.removeCls("x-hidden-visibility")}return this},hideClearIcon:function(){if(this.fieldEl&&this.clearIconEl&&this.isClearIconVisible){this.isClearIconVisible=false;this.fieldEl.removeCls("x-field-clearable");this.clearIconEl.addCls("x-hidden-visibility")}return this},afterRender:function(){Ext.form.Text.superclass.afterRender.call(this);this.updateClearIconVisibility()},onBeforeFocus:function(a){this.fireEvent("beforefocus",a)},beforeFocus:Ext.emptyFn,onMaskTap:function(a){if(Ext.form.Text.superclass.onMaskTap.apply(this,arguments)!==true){return false}this.maskCorrectionTimer=Ext.defer(this.showMask,1000,this);this.hideMask()},onFocus:function(a){if(this.mask){if(this.maskCorrectionTimer){clearTimeout(this.maskCorrectionTimer)}this.hideMask()}this.beforeFocus();if(this.focusCls){this.el.addCls(this.focusCls)}if(!this.isFocused){this.isFocused=true;this.startValue=this.getValue();this.fireEvent("focus",this,a)}Ext.currentlyFocusedField=this},beforeBlur:Ext.emptyFn,onBlur:function(b){this.beforeBlur();if(this.focusCls){this.el.removeCls(this.focusCls)}this.isFocused=false;var a=this.getValue();if(String(a)!=String(this.startValue)){this.fireEvent("change",this,a,this.startValue)}this.fireEvent("blur",this,b);this.updateClearIconVisibility();this.showMask();this.afterBlur();Ext.currentlyFocusedField=null},afterBlur:Ext.emptyFn,focus:function(){if(this.rendered&&this.fieldEl&&this.fieldEl.dom.focus){this.fieldEl.dom.focus()}return this},blur:function(){if(this.rendered&&this.fieldEl&&this.fieldEl.dom.blur){this.fieldEl.dom.blur()}return this},setValue:function(){Ext.form.Text.superclass.setValue.apply(this,arguments);this.updateClearIconVisibility()},onKeyUp:function(a){this.updateClearIconVisibility();this.fireEvent("keyup",this,a);if(a.browserEvent.keyCode===13){this.blur();this.fireEvent("action",this,a)}}});Ext.reg("textfield",Ext.form.Text);Ext.form.TextField=Ext.extend(Ext.form.Text,{constructor:function(){console.warn("Ext.form.TextField has been deprecated and will be removed in Sencha Touch 1.0. Please use Ext.form.Text instead");Ext.form.TextField.superclass.constructor.apply(this,arguments)}});Ext.form.Password=Ext.extend(Ext.form.Text,{inputType:"password",autoCapitalize:false});Ext.reg("passwordfield",Ext.form.Password);Ext.form.Email=Ext.extend(Ext.form.Text,{inputType:"email",autoCapitalize:false});Ext.reg("emailfield",Ext.form.Email);Ext.form.Url=Ext.extend(Ext.form.Text,{inputType:"url",autoCapitalize:false});Ext.reg("urlfield",Ext.form.Url);Ext.form.Search=Ext.extend(Ext.form.Text,{inputType:"search"});Ext.reg("searchfield",Ext.form.Search);Ext.form.Number=Ext.extend(Ext.form.Text,{ui:"number",inputType:"number",minValue:undefined,maxValue:undefined,stepValue:undefined,renderTpl:['
{label}
','
','tabIndex="{tabIndex}" ','placeholder="{placeHolder}" ','style="{style}" ','min="{minValue}" ','max="{maxValue}" ','step="{stepValue}" ','autocomplete="{autoComplete}" ','autocapitalize="{autoCapitalize}" ','autofocus="{autoFocus}" ',"/>",'
',"
",'
×
'],onRender:function(){Ext.apply(this.renderData,{maxValue:this.maxValue,minValue:this.minValue,stepValue:this.stepValue});Ext.form.Number.superclass.onRender.apply(this,arguments)}});Ext.reg("numberfield",Ext.form.Number);Ext.form.Spinner=Ext.extend(Ext.form.Number,{componentCls:"x-spinner",minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,incrementValue:1,accelerateOnTapHold:true,defaultValue:0,cycle:false,disableInput:false,useClearIcon:false,autoCapitalize:false,renderTpl:['
{label}
','','
','
-
','
','tabIndex="{tabIndex}" ','placeholder="{placeHolder}" ','style="{style}" ','min="{minValue}" ','max="{maxValue}" ','step="{stepValue}" ','autocomplete="{autoComplete}" ','autofocus="{autoFocus}" ',"/>",'
',"
",'
+
',"
","
"],initComponent:function(){this.addEvents("spin","spindown","spinup");Ext.form.Spinner.superclass.initComponent.call(this)},onRender:function(){this.renderData.disableInput=this.disableInput;Ext.applyIf(this.renderSelectors,{spinUpEl:".x-spinner-up",spinDownEl:".x-spinner-down"});Ext.form.Spinner.superclass.onRender.apply(this,arguments);this.downRepeater=this.createRepeater(this.spinDownEl,this.onSpinDown);this.upRepeater=this.createRepeater(this.spinUpEl,this.onSpinUp)},initValue:function(){if(isNaN(this.defaultValue)){this.defaultValue=0}if(!this.value){this.value=this.defaultValue}Ext.form.Spinner.superclass.initValue.apply(this,arguments)},createRepeater:function(b,a){var c=new Ext.util.TapRepeater(b,{accelerate:this.accelerateOnTapHold});this.mon(c,{tap:a,touchstart:this.onTouchStart,touchend:this.onTouchEnd,preventDefault:true,scope:this});return c},onSpinDown:function(){if(!this.disabled){this.spin(true)}},onSpinUp:function(){if(!this.disabled){this.spin(false)}},onKeyUp:function(a){Ext.form.Spinner.superclass.onKeyUp.apply(this,arguments)},onTouchStart:function(a){if(!this.disabled){a.el.addCls("x-button-pressed")}},onTouchEnd:function(a){a.el.removeCls("x-button-pressed")},setValue:function(a){a=parseFloat(a);if(isNaN(a)){a=this.defaultValue}Ext.form.Spinner.superclass.setValue.call(this,a)},spin:function(g){var e=parseFloat(this.getValue()),b=this.incrementValue,d=this.cycle,c=this.minValue,a=this.maxValue,f=g?"down":"up";if(g){e-=b}else{e+=b}e=(isNaN(e))?this.defaultValue:e;if(ea){e=d?c:a}}this.setValue(e);this.fireEvent("spin"+f,this,e);this.fireEvent("spin",this,e,f)},destroy:function(){Ext.destroy(this.downRepeater,this.upRepeater);Ext.form.Spinner.superclass.destroy.call(this,arguments)}});Ext.reg("spinnerfield",Ext.form.Spinner);Ext.form.Hidden=Ext.extend(Ext.form.Field,{ui:"hidden",inputType:"hidden",tabIndex:-1});Ext.reg("hiddenfield",Ext.form.Hidden);Ext.form.HiddenField=Ext.extend(Ext.form.Hidden,{constructor:function(){console.warn("Ext.form.HiddenField has been deprecated and will be removed in Sencha Touch 1.0. Please use Ext.form.Hidden instead");Ext.form.HiddenField.superclass.constructor.apply(this,arguments)}});Ext.form.Checkbox=Ext.extend(Ext.form.Field,{ui:"checkbox",inputType:"checkbox",checked:false,value:"",constructor:function(a){this.addEvents("check","uncheck");Ext.form.Checkbox.superclass.constructor.call(this,a)},renderTpl:['
{label}
',' checked ','style="{style}" value="{inputValue}" />',""],onRender:function(){var a=this.getBooleanIsChecked(this.checked);Ext.apply(this.renderData,{inputValue:String(this.value),checked:a});Ext.form.Checkbox.superclass.onRender.apply(this,arguments);if(this.fieldEl){this.mon(this.fieldEl,{click:this.onChange,scope:this});this.setChecked(a);this.originalState=this.isChecked()}},onChange:function(a){if(a){if(a.browserEvent){a=a.browserEvent}if(Ext.supports.Touch&&!a.isSimulated){a.preventDefault();a.stopPropagation();return}}if(this.isChecked()){this.fireEvent("check",this)}else{this.fireEvent("uncheck",this)}},isChecked:function(){if(this.rendered){return this.fieldEl.dom.checked||false}else{return !!this.checked}},setChecked:function(b){var d=this.getBooleanIsChecked(b),e=this.rendered,a,c;if(e){c=this.fieldEl.dom;a=c.checked}else{a=!!this.checked}if(a!=d){if(e){c.checked=d}else{this.checked=d}this.onChange()}return this},check:function(){return this.setChecked(true)},uncheck:function(){return this.setChecked(false)},reset:function(){Ext.form.Checkbox.superclass.reset.apply(this,arguments);this.setChecked(this.originalState);return this},getBooleanIsChecked:function(a){return/^(true|1|on)/i.test(String(a))},getSameGroupFields:function(){var b=this.el.up("form"),c=Ext.getCmp(b.id),a=[];if(c){a=c.getFields(this.getName())}return a},getGroupValues:function(){var a=[];this.getSameGroupFields().forEach(function(b){if(b.isChecked()){a.push(b.getValue())}});return a},setGroupValues:function(a){this.getSameGroupFields().forEach(function(b){b.setChecked((a.indexOf(b.getValue())!==-1))});return this},setValue:function(a){a=String(a);Ext.form.Checkbox.superclass.setValue.call(this,a)}});Ext.reg("checkboxfield",Ext.form.Checkbox);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",ui:"radio",getGroupValue:function(){var c,a=this.getSameGroupFields();for(var b=0;b0){this.setOptions(this.options)}}Ext.form.Select.superclass.initComponent.call(this);this.addEvents("change")},onRender:function(){Ext.form.Select.superclass.onRender.apply(this,arguments);var a=this.hiddenName;if(a){this.hiddenField=this.el.insertSibling({name:a,tag:"input",type:"hidden"},"after")}},getPicker:function(){if(!this.picker){this.picker=new Ext.Picker({slots:[{align:"center",name:this.name,valueField:this.valueField,displayField:this.displayField,value:this.getValue(),store:this.store}],listeners:{change:this.onPickerChange,scope:this}})}return this.picker},getListPanel:function(){if(!this.listPanel){this.listPanel=new Ext.Panel({floating:true,stopMaskTapEvent:false,hideOnMaskTap:true,cls:"x-select-overlay",scroll:"vertical",items:{xtype:"list",store:this.store,itemId:"list",scroll:false,itemTpl:['{'+this.displayField+"}",''],listeners:{select:this.onListSelect,scope:this}}})}return this.listPanel},onOrientationChange:function(){if(this.listPanel&&!this.listPanel.hidden&&!Ext.is.Phone){this.listPanel.showBy(this.el,false,false)}},onMaskTap:function(){if(this.disabled){return}this.showComponent()},showComponent:function(){if(Ext.is.Phone){this.getPicker().show()}else{var b=this.getListPanel(),a=this.store.findExact(this.valueField,this.value);b.showBy(this.el,"fade",false);b.down("#list").getSelectionModel().select(a!=-1?a:0,false,true)}},onListSelect:function(a,b){if(b){this.setValue(b.get(this.valueField));this.fireEvent("change",this,this.getValue())}this.listPanel.hide({type:"fade",out:true,scope:this})},onPickerChange:function(a,c){var b=this.getValue(),d=c[this.name];if(d!=b){this.setValue(d);this.fireEvent("change",this,d)}},setValue:function(d){var b=0,a=this.hiddenField,c;if(d){b=this.store.findExact(this.valueField,d)}c=this.store.getAt(b);if(c&&this.rendered){this.fieldEl.dom.value=c.get(this.displayField);this.value=c.get(this.valueField);if(a){a.dom.value=this.value}}else{if(this.rendered){this.fieldEl.dom.value=d}this.value=d}if(this.picker){var e={};e[this.name]=this.value;this.picker.setValue(e)}return this},getValue:function(){return this.value},setOptions:function(b,a){if(!b){this.store.clearData();this.setValue(null)}else{this.store.loadData(b,a)}},destroy:function(){Ext.form.Select.superclass.destroy.apply(this,arguments);Ext.destroy(this.listPanel,this.picker,this.hiddenField)}});Ext.reg("selectfield",Ext.form.Select);Ext.form.TextArea=Ext.extend(Ext.form.Text,{ui:"textarea",maxRows:undefined,autoCapitalize:false,renderTpl:['
{label}
','
','",'
',"
"],onRender:function(){this.renderData.maxRows=this.maxRows;Ext.form.TextArea.superclass.onRender.apply(this,arguments)},onKeyUp:function(a){this.fireEvent("keyup",this,a)}});Ext.reg("textareafield",Ext.form.TextArea);Ext.form.DatePicker=Ext.extend(Ext.form.Field,{ui:"select",picker:null,destroyPickerOnHide:false,initComponent:function(){this.addEvents("change");this.tabIndex=-1;this.useMask=true;Ext.form.Text.superclass.initComponent.apply(this,arguments)},getDatePicker:function(){if(!this.datePicker){if(this.picker instanceof Ext.DatePicker){this.datePicker=this.picker}else{this.datePicker=new Ext.DatePicker(Ext.apply(this.picker||{}))}this.datePicker.setValue(this.value||null);this.datePicker.on({scope:this,change:this.onPickerChange,hide:this.onPickerHide})}return this.datePicker},onMaskTap:function(){if(Ext.form.DatePicker.superclass.onMaskTap.apply(this,arguments)!==true){return false}this.getDatePicker().show()},onPickerChange:function(a,b){this.setValue(b);this.fireEvent("change",this,this.getValue())},onPickerHide:function(){if(this.destroyPickerOnHide&&this.datePicker){this.datePicker.destroy()}},setValue:function(b,a){if(this.datePicker){this.datePicker.setValue(b,a);this.value=(b!=null)?this.datePicker.getValue():null}else{if(!Ext.isDate(b)&&!Ext.isObject(b)){b=null}if(Ext.isObject(b)){this.value=new Date(b.year,b.month-1,b.day)}else{this.value=b}}if(this.rendered){this.fieldEl.dom.value=this.getValue(true)}return this},getValue:function(b){var a=this.value||null;return(b&&Ext.isDate(a))?a.format(Ext.util.Format.defaultDateFormat):a},onDestroy:function(){if(this.datePicker){this.datePicker.destroy()}Ext.form.DatePicker.superclass.onDestroy.call(this)}});Ext.reg("datepickerfield",Ext.form.DatePicker);Ext.layout.LayoutManager=new Ext.AbstractManager({create:function(a,b){if(!a){a=b}if(Ext.isString(a)){return new this.types[a||b]}else{if(Ext.isObject(a)){if(a.isLayout){return a}else{return new this.types[a.type||b](a)}}}}});Ext.regLayout=function(){return Ext.layout.LayoutManager.registerType.apply(Ext.layout.LayoutManager,arguments)};Ext.layout.Layout=Ext.extend(Object,{isLayout:true,initialized:false,constructor:function(a){this.id=Ext.id(null,"ext-layout-"+this.type+"-");Ext.apply(this,a)},layout:function(){var a=this;a.layoutBusy=true;a.initLayout();if(a.beforeLayout.apply(a,arguments)!==false){a.onLayout.apply(a,arguments);a.afterLayout();a.owner.needsLayout=false;a.layoutBusy=false}},beforeLayout:function(){this.renderItems(this.getLayoutItems(),this.getTarget());return true},renderItems:function(a,e){var d=a.length,b=0,c;for(;b0){a.width-=b.el.getMargin("lr");a.height-=b.el.getMargin("tb");b.setCalculatedSize(a);b.setPosition(a)}}});Ext.regLayout("fit",Ext.layout.FitLayout);Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{type:"card",sizeAllCards:false,hideInactive:true,beforeLayout:function(){this.activeItem=this.getActiveItem();return Ext.layout.CardLayout.superclass.beforeLayout.apply(this,arguments)},onLayout:function(){Ext.layout.FitLayout.superclass.onLayout.apply(this,arguments);var f=this.activeItem,b=this.getLayoutItems(),e=b.length,a=this.getTargetBox(),c,d;for(c=0;c'+this.loadMoreText+"
"}this.el=c.createChild({cls:"x-list-paging"+(this.autoPaging?" x-loading":""),html:a+Ext.LoadingSpinner});if(this.autoPaging){this.mon(c.getScrollParent(),"scrollend",this.onScrollEnd,this)}else{this.mon(this.el,"tap",this.onPagingTap,this)}this.rendered=true},onBeforeLoad:function(){if(this.loading&&this.list.store.getCount()>0){this.list.loadMask.disable();return false}},onPagingTap:function(a){if(!this.loading){this.loading=true;this.list.store.nextPage();this.el.addCls("x-loading")}},onScrollEnd:function(a,b){if(b.y>=Math.abs(a.offsetBoundary.top)){this.loading=true;this.list.store.nextPage()}}});Ext.preg("listpaging",Ext.plugins.ListPagingPlugin);Ext.plugins.PullRefreshPlugin=Ext.extend(Ext.util.Observable,{pullRefreshText:"Pull down to refresh...",releaseRefreshText:"Release to refresh...",loadingText:"Loading...",snappingAnimationDuration:150,refreshFn:null,pullTpl:new Ext.XTemplate('
','
',Ext.LoadingSpinner,'
','

{message}

','
Last Updated: {lastUpdated:date("m/d/Y h:iA")}
',"
","
"),isRefreshing:false,isLoading:false,currentViewState:"",init:function(a){this.list=a;this.lastUpdated=new Date();a.on("update",this.onListUpdate,this);a.onBeforeLoad=Ext.util.Functions.createInterceptor(a.onBeforeLoad,this.onBeforeLoad,this)},onListUpdate:function(){if(!this.rendered){this.render()}this.list.getTargetEl().insertFirst(this.el);if(!this.refreshFn){this.onLoadComplete.call(this)}},render:function(){var b=this.list,c=b.getTargetEl(),a=c.getScrollParent();if(!this.pullTpl.isTemplate){this.pullTpl=new Ext.XTemplate(this.pullTpl)}this.el=this.pullTpl.insertFirst(c,{message:this.pullRefreshText,lastUpdated:this.lastUpdated},true);this.messageEl=this.el.down(".x-list-pullrefresh-message");this.updatedEl=this.el.down(".x-list-pullrefresh-updated > span");this.pullHeight=this.el.getHeight();this.scroller=a;a.on("bouncestart",this.onBounceStart,this);a.on("offsetchange",this.onOffsetChange,this);a.on("bounceend",this.onBounceEnd,this);a.on("offsetboundaryupdate",this.onOffsetBoundaryUpdate,this);this.rendered=true},onOffsetBoundaryUpdate:function(a,b){if(this.isRefreshing){b.bottom+=this.pullHeight}},onBounceStart:function(a,b){if(b.axis==="y"){if(!this.isRefreshing&&a.offset.y>this.pullHeight){this.isRefreshing=true;this.onOffsetBoundaryUpdate(a,a.offsetBoundary)}}},onBounceEnd:function(a,b){if(b.axis==="y"){if(this.isRefreshing){this.isRefreshing=false;this.setViewState("loading");this.isLoading=true;if(this.refreshFn){this.refreshFn.call(this,this.onLoadComplete,this)}else{this.list.getStore().load()}}}},onOffsetChange:function(a,b){if(b.y>0&&!this.isRefreshing&&!this.isLoading){if(b.y>this.pullHeight){this.setViewState("release")}else{this.setViewState("pull")}}},setViewState:function(a){if(a===this.currentViewState){return this}this.currentViewState=a;switch(a){case"pull":this.messageEl.setHTML(this.pullRefreshText);this.el.removeCls(["x-list-pullrefresh-release","x-list-pullrefresh-loading"]);break;case"release":this.messageEl.setHTML(this.releaseRefreshText);this.el.addCls("x-list-pullrefresh-release");break;case"loading":this.messageEl.setHTML(this.loadingText);this.el.addCls("x-list-pullrefresh-loading");break}return this},onBeforeLoad:function(){if(this.isLoading&&this.list.store.getCount()>0){this.list.loadMask.disable();return false}},onLoadComplete:function(){var a=this;if(this.isLoading){this.isLoading=false;this.setViewState("pull");this.updatedEl.setHTML(Ext.util.Format.date(this.lastUpdated,"m/d/Y h:iA"));setTimeout(function(){a.scroller.updateBoundary(a.snappingAnimationDuration)},100)}}});Ext.preg("pullrefresh",Ext.plugins.PullRefreshPlugin);