/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var v=this,z,h=v.jQuery,m=v.$,p=v.jQuery=v.$=function(I,H){return new p.fn.init(I,H)},g=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,C=/^.[^:#\[\.,]*$/;p.fn=p.prototype={init:function(K,J){K=K||document;if(K.nodeType){this[0]=K;this.length=1;this.context=K;return this}if(typeof K==="string"){var H=g.exec(K);if(H&&(H[1]||!J)){if(H[1]){K=p.clean([H[1]],J)}else{var I=document.getElementById(H[3]);if(I&&I.id!=H[3]){return p().find(K)}var L=p(I||[]);L.context=document;L.selector=K;return L}}else{return p(J).find(K)}}else{if(p.isFunction(K)){return p(document).ready(K)}}if(K.selector&&K.context){this.selector=K.selector;this.context=K.context}return this.setArray(p.isArray(K)?K:p.makeArray(K))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(H){return H===z?Array.prototype.slice.call(this):this[H]},pushStack:function(K,H,J){var I=p(K);I.prevObject=this;I.context=this.context;if(H==="find"){I.selector=this.selector+(this.selector?" ":"")+J}else{if(H){I.selector=this.selector+"."+H+"("+J+")"}}return I},setArray:function(H){this.length=0;Array.prototype.push.apply(this,H);return this},each:function(I,H){return p.each(this,I,H)},index:function(H){return p.inArray(H&&H.jquery?H[0]:H,this)},attr:function(H,K,I){var J=H;if(typeof H==="string"){if(K===z){return this[0]&&p[I||"attr"](this[0],H)}else{J={};J[H]=K}}return this.each(function(L){for(H in J){p.attr(I?this.style:this,H,p.prop(this,J[H],I,L,H))}})},css:function(I,H){if((I=="width"||I=="height")&&parseFloat(H)<0){H=z}return this.attr(I,H,"curCSS")},text:function(I){if(typeof I!=="object"&&I!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(I))}var H="";p.each(I||this,function(){p.each(this.childNodes,function(){if(this.nodeType!=8){H+=this.nodeType!=1?this.nodeValue:p.fn.text([this])}})});return H},wrapAll:function(H){if(this[0]){var I=p(H,this[0].ownerDocument).clone();if(this[0].parentNode){I.insertBefore(this[0])}I.map(function(){var J=this;while(J.firstChild){J=J.firstChild}return J}).append(this)}return this},wrapInner:function(H){return this.each(function(){p(this).contents().wrapAll(H)})},wrap:function(H){return this.each(function(){p(this).wrapAll(H)})},append:function(){return this.domManip(arguments,true,function(H){if(this.nodeType==1){this.appendChild(H)}})},prepend:function(){return this.domManip(arguments,true,function(H){if(this.nodeType==1){this.insertBefore(H,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(H){this.parentNode.insertBefore(H,this)})},after:function(){return this.domManip(arguments,false,function(H){this.parentNode.insertBefore(H,this.nextSibling)})},end:function(){return this.prevObject||p([])},push:[].push,sort:[].sort,splice:[].splice,find:function(H){if(this.length===1){var I=this.pushStack([],"find",H);I.length=0;p.find(H,this[0],I);return I}else{return this.pushStack(p.unique(p.map(this,function(J){return p.find(H,J)})),"find",H)}},clone:function(I){var K=this.map(function(){if(!p.support.noCloneEvent&&!p.isXMLDoc(this)){var M=this.outerHTML;if(!M){var L=this.ownerDocument.createElement("div");L.appendChild(this.cloneNode(true));M=L.innerHTML}return p.clean([M.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(I===true){var H=this.find("*").andSelf(),J=0;K.find("*").andSelf().each(function(){if(this.nodeName!==H[J].nodeName){return}var M=p.data(H[J],"events");for(var N in M){for(var L in M[N]){p.event.add(this,N,M[N][L],M[N][L].data)}}J++})}return K},filter:function(H){return this.pushStack(p.isFunction(H)&&p.grep(this,function(I,J){return H.call(I,J)})||p.multiFilter(H,p.grep(this,function(I){return I.nodeType===1})),"filter",H)},closest:function(I){var H=p.expr.match.POS.test(I)?p(I):null,J=0;return this.map(function(){var K=this;while(K&&K.ownerDocument){if(H?H.index(K)>-1:p(K).is(I)){p.data(K,"closest",J);return K}K=K.parentNode;J++}})},not:function(I){if(typeof I==="string"){if(C.test(I)){return this.pushStack(p.multiFilter(I,this,true),"not",I)}else{I=p.multiFilter(I,this)}}var H=I.length&&I[I.length-1]!==z&&!I.nodeType;return this.filter(function(){return H?p.inArray(this,I)<0:this!=I})},add:function(H){return this.pushStack(p.unique(p.merge(this.get(),typeof H==="string"?p(H):p.makeArray(H))))},is:function(H){return !!H&&p.multiFilter(H,this).length>0},hasClass:function(H){return !!H&&this.is("."+H)},val:function(I){if(I===z){var O=this[0];if(O){if(p.nodeName(O,"option")){return(O.attributes.value||{}).specified?O.value:O.text}if(p.nodeName(O,"select")){var J=O.selectedIndex,K=[],H=O.options,N=O.type=="select-one";if(J<0){return null}for(var M=N?J:0,P=N?J+1:H.length;M<P;M++){var L=H[M];if(L.selected){I=p(L).val();if(N){return I}K.push(I)}}return K}return(O.value||"").replace(/\r/g,"")}return z}if(typeof I==="number"){I+=""}return this.each(function(){if(this.nodeType!=1){return}if(p.isArray(I)&&/radio|checkbox/.test(this.type)){this.checked=(p.inArray(this.value,I)>=0||p.inArray(this.name,I)>=0)}else{if(p.nodeName(this,"select")){var Q=p.makeArray(I);p("option",this).each(function(){this.selected=(p.inArray(this.value,Q)>=0||p.inArray(this.text,Q)>=0)});if(!Q.length){this.selectedIndex=-1}}else{this.value=I}}})},html:function(H){return H===z?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(H)},replaceWith:function(H){return this.after(H).remove()},eq:function(H){return this.slice(H,+H+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(H){return this.pushStack(p.map(this,function(I,J){return H.call(I,J,I)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(M,O,P){if(this[0]){var J=(this[0].ownerDocument||this[0]).createDocumentFragment(),L=p.clean(M,(this[0].ownerDocument||this[0]),J),N=J.firstChild;if(N){for(var H=0,K=this.length;H<K;H++){P.call(I(this[H],N),this.length>1||H>0?J.cloneNode(true):J)}}if(L){p.each(L,e)}}return this;function I(Q,R){return O&&p.nodeName(Q,"table")&&p.nodeName(R,"tr")?(Q.getElementsByTagName("tbody")[0]||Q.appendChild(Q.ownerDocument.createElement("tbody"))):Q}}};p.fn.init.prototype=p.fn;function e(I,H){if(H.src){p.ajax({url:H.src,async:false,dataType:"script"})}else{p.globalEval(H.text||H.textContent||H.innerHTML||"")}if(H.parentNode){H.parentNode.removeChild(H)}}function a(){return +new Date}p.extend=p.fn.extend=function(){var N=arguments[0]||{},L=1,M=arguments.length,J=false,H;if(typeof N==="boolean"){J=N;N=arguments[1]||{};L=2}if(typeof N!=="object"&&!p.isFunction(N)){N={}}if(M==L){N=this;--L}for(;L<M;L++){if((H=arguments[L])!=null){for(var I in H){var O=N[I],K=H[I];if(N===K){continue}if(J&&K&&typeof K==="object"&&!K.nodeType){N[I]=p.extend(J,O||(K.length!=null?[]:{}),K)}else{if(K!==z){N[I]=K}}}}}return N};var w=/z-?index|font-?weight|opacity|zoom|line-?height/i,D=document.defaultView||{},k=Object.prototype.toString;p.extend({noConflict:function(H){v.$=m;if(H){v.jQuery=h}return p},isFunction:function(H){return k.call(H)==="[object Function]"},isArray:function(H){return k.call(H)==="[object Array]"},isXMLDoc:function(H){return H.nodeType===9&&H.documentElement.nodeName!=="HTML"||!!H.ownerDocument&&p.isXMLDoc(H.ownerDocument)},globalEval:function(J){if(J&&/\S/.test(J)){var H=document.getElementsByTagName("head")[0]||document.documentElement,I=document.createElement("script");I.type="text/javascript";if(p.support.scriptEval){I.appendChild(document.createTextNode(J))}else{I.text=J}H.insertBefore(I,H.firstChild);H.removeChild(I)}},nodeName:function(I,H){return I.nodeName&&I.nodeName.toUpperCase()==H.toUpperCase()},each:function(J,N,I){var H,K=0,M=J.length;if(I){if(M===z){for(H in J){if(N.apply(J[H],I)===false){break}}}else{for(;K<M;){if(N.apply(J[K++],I)===false){break}}}}else{if(M===z){for(H in J){if(N.call(J[H],H,J[H])===false){break}}}else{for(var L=J[0];K<M&&N.call(L,K,L)!==false;L=J[++K]){}}}return J},prop:function(J,H,K,L,I){if(p.isFunction(H)){H=H.call(J,L)}return typeof H==="number"&&K=="curCSS"&&!w.test(I)?H+"px":H},className:{add:function(H,I){p.each((I||"").split(/\s+/),function(K,J){if(H.nodeType==1&&!p.className.has(H.className,J)){H.className+=(H.className?" ":"")+J}})},remove:function(H,I){if(H.nodeType==1){H.className=I!==z?p.grep(H.className.split(/\s+/),function(J){return !p.className.has(I,J)}).join(" "):""}},has:function(H,I){return H&&p.inArray(I,(H.className||H).toString().split(/\s+/))>-1}},swap:function(J,K,L){var H={};for(var I in K){H[I]=J.style[I];J.style[I]=K[I]}L.call(J);for(var I in K){J.style[I]=H[I]}},css:function(M,L,O,N){if(L=="width"||L=="height"){var K,J={position:"absolute",visibility:"hidden",display:"block"},I=L=="width"?["Left","Right"]:["Top","Bottom"];function H(){K=L=="width"?M.offsetWidth:M.offsetHeight;if(N==="border"){return}p.each(I,function(){if(!N){K-=parseFloat(p.curCSS(M,"padding"+this,true))||0}if(N==="margin"){K+=parseFloat(p.curCSS(M,"margin"+this,true))||0}else{K-=parseFloat(p.curCSS(M,"border"+this+"Width",true))||0}})}if(M.offsetWidth!==0){H()}else{p.swap(M,J,H)}return Math.max(0,Math.round(K))}return p.curCSS(M,L,O)},curCSS:function(N,J,P){var H,O=N.style;if(J=="opacity"&&!p.support.opacity){H=p.attr(O,"opacity");return H==""?"1":H}if(J.match(/float/i)){J=B}if(!P&&O&&O[J]){H=O[J]}else{if(D.getComputedStyle){if(J.match(/float/i)){J="float"}J=J.replace(/([A-Z])/g,"-$1").toLowerCase();var M=D.getComputedStyle(N,null);if(M){H=M.getPropertyValue(J)}if(J=="opacity"&&H==""){H="1"}}else{if(N.currentStyle){var K=J.replace(/\-(\w)/g,function(R,Q){return Q.toUpperCase()});H=N.currentStyle[J]||N.currentStyle[K];if(!/^\d+(px)?$/i.test(H)&&/^\d/.test(H)){var I=O.left,L=N.runtimeStyle.left;N.runtimeStyle.left=N.currentStyle.left;O.left=H||0;H=O.pixelLeft+"px";O.left=I;N.runtimeStyle.left=L}}}}return H},clean:function(L,N,I){N=N||document;if(typeof N.createElement==="undefined"){N=N.ownerDocument||N[0]&&N[0].ownerDocument||document}if(!I&&L.length===1&&typeof L[0]==="string"){var M=/^<(\w+)\s*\/?>$/.exec(L[0]);if(M){return[N.createElement(M[1])]}}var J=[],O=[],K=N.createElement("div");p.each(L,function(T,Q){if(typeof Q==="number"){Q+=""}if(!Q){return}if(typeof Q==="string"){Q=Q.replace(/(<(\w+)[^>]*?)\/>/g,function(X,Y,W){return W.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?X:Y+"></"+W+">"});var P=Q.replace(/^\s+/,"").substring(0,10).toLowerCase();var V=!P.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!P.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||P.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!P.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!P.indexOf("<td")||!P.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!P.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!p.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];K.innerHTML=V[1]+Q+V[2];while(V[0]--){K=K.lastChild}if(!p.support.tbody){var S=/<tbody/i.test(Q),R=!P.indexOf("<table")&&!S?K.firstChild&&K.firstChild.childNodes:V[1]=="<table>"&&!S?K.childNodes:[];for(var U=R.length-1;U>=0;--U){if(p.nodeName(R[U],"tbody")&&!R[U].childNodes.length){R[U].parentNode.removeChild(R[U])}}}if(!p.support.leadingWhitespace&&/^\s/.test(Q)){K.insertBefore(N.createTextNode(Q.match(/^\s*/)[0]),K.firstChild)}Q=p.makeArray(K.childNodes)}if(Q.nodeType){J.push(Q)}else{J=p.merge(J,Q)}});if(I){for(var H=0;J[H];H++){if(p.nodeName(J[H],"script")&&(!J[H].type||J[H].type.toLowerCase()==="text/javascript")){O.push(J[H].parentNode?J[H].parentNode.removeChild(J[H]):J[H])}else{if(J[H].nodeType===1){J.splice.apply(J,[H+1,0].concat(p.makeArray(J[H].getElementsByTagName("script"))))}I.appendChild(J[H])}}return O}return J},attr:function(L,H,J){if(!L||L.nodeType==3||L.nodeType==8){return z}var O=!p.isXMLDoc(L),I=J!==z;H=O&&p.props[H]||H;if(L.tagName){var N=/href|src|style/.test(H);if(H=="selected"&&L.parentNode){L.parentNode.selectedIndex}if(H in L&&O&&!N){if(I){if(H=="type"&&p.nodeName(L,"input")&&L.parentNode){throw"type property can't be changed"}L[H]=J}if(p.nodeName(L,"form")&&L.getAttributeNode(H)){return L.getAttributeNode(H).nodeValue}if(H=="tabIndex"){var M=L.getAttributeNode("tabIndex");return M&&M.specified?M.value:L.nodeName.match(/(button|input|object|select|textarea)/i)?0:L.nodeName.match(/^(a|area)$/i)&&L.href?0:z}return L[H]}if(!p.support.style&&O&&H=="style"){return p.attr(L.style,"cssText",J)}if(I){L.setAttribute(H,""+J)}var K=!p.support.hrefNormalized&&O&&N?L.getAttribute(H,2):L.getAttribute(H);return K===null?z:K}if(!p.support.opacity&&H=="opacity"){if(I){L.zoom=1;L.filter=(L.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(J)+""=="NaN"?"":"alpha(opacity="+J*100+")")}return L.filter&&L.filter.indexOf("opacity=")>=0?(parseFloat(L.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}H=H.replace(/-([a-z])/ig,function(Q,P){return P.toUpperCase()});if(I){L[H]=J}return L[H]},trim:function(H){return(H||"").replace(/^\s+|\s+$/g,"")},makeArray:function(I){var J=[];if(I!=null){var H=I.length;if(H==null||typeof I==="string"||p.isFunction(I)||I.setInterval){J[0]=I}else{while(H){J[--H]=I[H]}}}return J},inArray:function(I,K){for(var J=0,H=K.length;J<H;J++){if(K[J]===I){return J}}return -1},merge:function(I,J){var L=0,H,K=I.length;if(!p.support.getAll){while((H=J[L++])!=null){if(H.nodeType!=8){I[K++]=H}}}else{while((H=J[L++])!=null){I[K++]=H}}return I},unique:function(M){var N=[],H={};try{for(var K=0,J=M.length;K<J;K++){var L=p.data(M[K]);if(!H[L]){H[L]=true;N.push(M[K])}}}catch(I){N=M}return N},grep:function(M,H,I){var J=[];for(var K=0,L=M.length;K<L;K++){if(!I!=!H(M[K],K)){J.push(M[K])}}return J},map:function(M,H){var I=[];for(var J=0,L=M.length;J<L;J++){var K=H(M[J],J);if(K!=null){I[I.length]=K}}return I.concat.apply([],I)}});var q=navigator.userAgent.toLowerCase();p.browser={version:(q.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(q),opera:/opera/.test(q),msie:/msie/.test(q)&&!/opera/.test(q),mozilla:/mozilla/.test(q)&&!/(compatible|webkit)/.test(q)};p.each({parent:function(H){return H.parentNode},parents:function(H){return p.dir(H,"parentNode")},next:function(H){return p.nth(H,2,"nextSibling")},prev:function(H){return p.nth(H,2,"previousSibling")},nextAll:function(H){return p.dir(H,"nextSibling")},prevAll:function(H){return p.dir(H,"previousSibling")},siblings:function(H){return p.sibling(H.parentNode.firstChild,H)},children:function(H){return p.sibling(H.firstChild)},contents:function(H){return p.nodeName(H,"iframe")?H.contentDocument||H.contentWindow.document:p.makeArray(H.childNodes)}},function(I,H){p.fn[I]=function(J){var K=p.map(this,H);if(J&&typeof J=="string"){K=p.multiFilter(J,K)}return this.pushStack(p.unique(K),I,J)}});p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(I,H){p.fn[I]=function(L){var O=[],K=p(L);for(var M=0,J=K.length;M<J;M++){var N=(M>0?this.clone(true):this).get();p.fn[H].apply(p(K[M]),N);O=O.concat(N)}return this.pushStack(O,I,L)}});p.each({removeAttr:function(H){p.attr(this,H,"");if(this.nodeType==1){this.removeAttribute(H)}},addClass:function(H){p.className.add(this,H)},removeClass:function(H){p.className.remove(this,H)},toggleClass:function(I,H){if(typeof H!=="boolean"){H=!p.className.has(this,I)}p.className[H?"add":"remove"](this,I)},remove:function(H){if(!H||p.filter(H,[this]).length){p("*",this).add([this]).each(function(){p.event.remove(this);p.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){p(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(I,H){p.fn[I]=function(){return this.each(H,arguments)}});function r(H,I){return H[0]&&parseInt(p.curCSS(H[0],I,true),10)||0}var u="jQuery"+a(),A=0,t={};p.extend({cache:{},data:function(I,H,K){I=I==v?t:I;var J=I[u];if(!J){J=I[u]=++A}if(H&&!p.cache[J]){p.cache[J]={}}if(K!==z){p.cache[J][H]=K}return H?p.cache[J][H]:J},removeData:function(I,H){I=I==v?t:I;var K=I[u];if(H){if(p.cache[K]){delete p.cache[K][H];H="";for(H in p.cache[K]){break}if(!H){p.removeData(I)}}}else{try{delete I[u]}catch(J){if(I.removeAttribute){I.removeAttribute(u)}}delete p.cache[K]}},queue:function(H,I,K){if(H){I=(I||"fx")+"queue";var J=p.data(H,I);if(!J||p.isArray(K)){J=p.data(H,I,p.makeArray(K))}else{if(K){J.push(K)}}}return J},dequeue:function(I,J){var K=p.queue(I,J),H=K.shift();if(!J||J==="fx"){H=K[0]}if(H!==z){H.call(I)}}});p.fn.extend({data:function(I,H){var J=I.split(".");J[1]=J[1]?"."+J[1]:"";if(H===z){var K=this.triggerHandler("getData"+J[1]+"!",[J[0]]);if(K===z&&this.length){K=p.data(this[0],I)}return K===z&&J[1]?this.data(J[0]):K}else{return this.trigger("setData"+J[1]+"!",[J[0],H]).each(function(){p.data(this,I,H)})}},removeData:function(H){return this.each(function(){p.removeData(this,H)})},queue:function(H,I){if(typeof H!=="string"){I=H;H="fx"}if(I===z){return p.queue(this[0],H)}return this.each(function(){var J=p.queue(this,H,I);if(H=="fx"&&J.length==1){J[0].call(this)}})},dequeue:function(H){return this.each(function(){p.dequeue(this,H)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var K=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,U=0,S=Object.prototype.toString;var R=function(ab,ah,aa,af){aa=aa||[];ah=ah||document;if(ah.nodeType!==1&&ah.nodeType!==9){return[]}if(!ab||typeof ab!=="string"){return aa}var ad=[],ak,Y,al,aj,W,Z,ac=true;K.lastIndex=0;while((ak=K.exec(ab))!==null){ad.push(ak[1]);if(ak[2]){Z=RegExp.rightContext;break}}if(ad.length>1&&L.exec(ab)){if(ad.length===2&&P.relative[ad[0]]){Y=Q(ad[0]+ad[1],ah)}else{Y=P.relative[ad[0]]?[ah]:R(ad.shift(),ah);while(ad.length){ab=ad.shift();if(P.relative[ab]){ab+=ad.shift()}Y=Q(ab,Y)}}}else{var X=af?{expr:ad.pop(),set:I(af)}:R.find(ad.pop(),ad.length===1&&ah.parentNode?ah.parentNode:ah,N(ah));Y=R.filter(X.expr,X.set);if(ad.length>0){al=I(Y)}else{ac=false}while(ad.length){var ae=ad.pop(),ai=ae;if(!P.relative[ae]){ae=""}else{ai=ad.pop()}if(ai==null){ai=ah}P.relative[ae](al,ai,N(ah))}}if(!al){al=Y}if(!al){throw"Syntax error, unrecognized expression: "+(ae||ab)}if(S.call(al)==="[object Array]"){if(!ac){aa.push.apply(aa,al)}else{if(ah.nodeType===1){for(var ag=0;al[ag]!=null;ag++){if(al[ag]&&(al[ag]===true||al[ag].nodeType===1&&O(ah,al[ag]))){aa.push(Y[ag])}}}else{for(var ag=0;al[ag]!=null;ag++){if(al[ag]&&al[ag].nodeType===1){aa.push(Y[ag])}}}}}else{I(al,aa)}if(Z){R(Z,ah,aa,af);if(T){hasDuplicate=false;aa.sort(T);if(hasDuplicate){for(var ag=1;ag<aa.length;ag++){if(aa[ag]===aa[ag-1]){aa.splice(ag--,1)}}}}}return aa};R.matches=function(X,W){return R(X,null,null,W)};R.find=function(ae,ad,ab){var Z,ac;if(!ae){return[]}for(var W=0,Y=P.order.length;W<Y;W++){var aa=P.order[W],ac;if((ac=P.match[aa].exec(ae))){var X=RegExp.leftContext;if(X.substr(X.length-1)!=="\\"){ac[1]=(ac[1]||"").replace(/\\/g,"");Z=P.find[aa](ac,ad,ab);if(Z!=null){ae=ae.replace(P.match[aa],"");break}}}}if(!Z){Z=ad.getElementsByTagName("*")}return{set:Z,expr:ae}};R.filter=function(Z,ab,ac,aj){var ad=Z,aa=[],al=ab,ai,Y,ak=ab&&ab[0]&&N(ab[0]);while(Z&&ab.length){for(var X in P.filter){if((ai=P.match[X].exec(Z))!=null){var af=P.filter[X],ah,W;Y=false;if(al==aa){aa=[]}if(P.preFilter[X]){ai=P.preFilter[X](ai,al,ac,aa,aj,ak);if(!ai){Y=ah=true}else{if(ai===true){continue}}}if(ai){for(var ag=0;(W=al[ag])!=null;ag++){if(W){ah=af(W,ai,ag,al);var ae=aj^!!ah;if(ac&&ah!=null){if(ae){Y=true}else{al[ag]=false}}else{if(ae){aa.push(W);Y=true}}}}}if(ah!==z){if(!ac){al=aa}Z=Z.replace(P.match[X],"");if(!Y){return[]}break}}}if(Z==ad){if(Y==null){throw"Syntax error, unrecognized expression: "+Z}else{break}}ad=Z}return al};var P=R.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(W){return W.getAttribute("href")}},relative:{"+":function(ae,Z,ac){var aa=typeof Z==="string",ab=aa&&!/\W/.test(Z),X=aa&&!ab;if(ab&&!ac){Z=Z.toUpperCase()}for(var W=0,Y=ae.length,ad;W<Y;W++){if((ad=ae[W])){while((ad=ad.previousSibling)&&ad.nodeType!==1){}ae[W]=X||ad&&ad.nodeName===Z?ad||false:ad===Z}}if(X){R.filter(Z,ae,true)}},">":function(ad,Y,aa){var Z=typeof Y==="string";if(Z&&!/\W/.test(Y)){Y=aa?Y:Y.toUpperCase();for(var W=0,X=ad.length;W<X;W++){var ac=ad[W];if(ac){var ab=ac.parentNode;ad[W]=ab.nodeName===Y?ab:false}}}else{for(var W=0,X=ad.length;W<X;W++){var ac=ad[W];if(ac){ad[W]=Z?ac.parentNode:ac.parentNode===Y}}if(Z){R.filter(Y,ad,true)}}},"":function(Y,Z,ab){var X=U++,W=H;if(!Z.match(/\W/)){var aa=Z=ab?Z:Z.toUpperCase();W=V}W("parentNode",Z,X,Y,aa,ab)},"~":function(Y,Z,ab){var X=U++,W=H;if(typeof Z==="string"&&!Z.match(/\W/)){var aa=Z=ab?Z:Z.toUpperCase();W=V}W("previousSibling",Z,X,Y,aa,ab)}},find:{ID:function(X,Z,W){if(typeof Z.getElementById!=="undefined"&&!W){var Y=Z.getElementById(X[1]);return Y?[Y]:[]}},NAME:function(X,ab,W){if(typeof ab.getElementsByName!=="undefined"){var ac=[],aa=ab.getElementsByName(X[1]);for(var Z=0,Y=aa.length;Z<Y;Z++){if(aa[Z].getAttribute("name")===X[1]){ac.push(aa[Z])}}return ac.length===0?null:ac}},TAG:function(W,X){return X.getElementsByTagName(W[1])}},preFilter:{CLASS:function(ab,ad,Y,X,Z,aa){ab=" "+ab[1].replace(/\\/g,"")+" ";if(aa){return ab}for(var W=0,ac;(ac=ad[W])!=null;W++){if(ac){if(Z^(ac.className&&(" "+ac.className+" ").indexOf(ab)>=0)){if(!Y){X.push(ac)}}else{if(Y){ad[W]=false}}}}return false},ID:function(W){return W[1].replace(/\\/g,"")},TAG:function(W,X){for(var Y=0;X[Y]===false;Y++){}return X[Y]&&N(X[Y])?W[1]:W[1].toUpperCase()},CHILD:function(W){if(W[1]=="nth"){var X=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(W[2]=="even"&&"2n"||W[2]=="odd"&&"2n+1"||!/\D/.test(W[2])&&"0n+"+W[2]||W[2]);W[2]=(X[1]+(X[2]||1))-0;W[3]=X[3]-0}W[0]=U++;return W},ATTR:function(Z,aa,ac,Y,X,W){var ab=Z[1].replace(/\\/g,"");if(!W&&P.attrMap[ab]){Z[1]=P.attrMap[ab]}if(Z[2]==="~="){Z[4]=" "+Z[4]+" "}return Z},PSEUDO:function(Y,Z,aa,X,W){if(Y[1]==="not"){if(Y[3].match(K).length>1||/^\w/.test(Y[3])){Y[3]=R(Y[3],null,null,Z)}else{var ab=R.filter(Y[3],Z,aa,true^W);if(!aa){X.push.apply(X,ab)}return false}}else{if(P.match.POS.test(Y[0])||P.match.CHILD.test(Y[0])){return true}}return Y},POS:function(W){W.unshift(true);return W}},filters:{enabled:function(W){return W.disabled===false&&W.type!=="hidden"},disabled:function(W){return W.disabled===true},checked:function(W){return W.checked===true},selected:function(W){W.parentNode.selectedIndex;return W.selected===true},parent:function(W){return !!W.firstChild},empty:function(W){return !W.firstChild},has:function(X,Y,W){return !!R(W[3],X).length},header:function(W){return/h\d/i.test(W.nodeName)},text:function(W){return"text"===W.type},radio:function(W){return"radio"===W.type},checkbox:function(W){return"checkbox"===W.type},file:function(W){return"file"===W.type},password:function(W){return"password"===W.type},submit:function(W){return"submit"===W.type},image:function(W){return"image"===W.type},reset:function(W){return"reset"===W.type},button:function(W){return"button"===W.type||W.nodeName.toUpperCase()==="BUTTON"},input:function(W){return/input|select|textarea|button/i.test(W.nodeName)}},setFilters:{first:function(W,X){return X===0},last:function(X,Y,W,Z){return Y===Z.length-1},even:function(W,X){return X%2===0},odd:function(W,X){return X%2===1},lt:function(X,Y,W){return Y<W[3]-0},gt:function(X,Y,W){return Y>W[3]-0},nth:function(X,Y,W){return W[3]-0==Y},eq:function(X,Y,W){return W[3]-0==Y}},filter:{PSEUDO:function(ac,ab,W,aa){var Z=ab[1],X=P.filters[Z];if(X){return X(ac,W,ab,aa)}else{if(Z==="contains"){return(ac.textContent||ac.innerText||"").indexOf(ab[3])>=0}else{if(Z==="not"){var Y=ab[3];for(var W=0,ad=Y.length;W<ad;W++){if(Y[W]===ac){return false}}return true}}}},CHILD:function(ad,ab){var X=ab[1],W=ad;switch(X){case"only":case"first":while(W=W.previousSibling){if(W.nodeType===1){return false}}if(X=="first"){return true}W=ad;case"last":while(W=W.nextSibling){if(W.nodeType===1){return false}}return true;case"nth":var af=ab[2],ac=ab[3];if(af==1&&ac==0){return true}var aa=ab[0],Z=ad.parentNode;if(Z&&(Z.sizcache!==aa||!ad.nodeIndex)){var ae=0;for(W=Z.firstChild;W;W=W.nextSibling){if(W.nodeType===1){W.nodeIndex=++ae}}Z.sizcache=aa}var Y=ad.nodeIndex-ac;if(af==0){return Y==0}else{return(Y%af==0&&Y/af>=0)}}},ID:function(X,W){return X.nodeType===1&&X.getAttribute("id")===W},TAG:function(X,W){return(W==="*"&&X.nodeType===1)||X.nodeName===W},CLASS:function(X,W){return(" "+(X.className||X.getAttribute("class"))+" ").indexOf(W)>-1},ATTR:function(Y,W){var ab=W[1],X=P.attrHandle[ab]?P.attrHandle[ab](Y):Y[ab]!=null?Y[ab]:Y.getAttribute(ab),ac=X+"",Z=W[2],aa=W[4];return X==null?Z==="!=":Z==="="?ac===aa:Z==="*="?ac.indexOf(aa)>=0:Z==="~="?(" "+ac+" ").indexOf(aa)>=0:!aa?ac&&X!==false:Z==="!="?ac!=aa:Z==="^="?ac.indexOf(aa)===0:Z==="$="?ac.substr(ac.length-aa.length)===aa:Z==="|="?ac===aa||ac.substr(0,aa.length+1)===aa+"-":false},POS:function(Y,W,Z,ab){var X=W[2],aa=P.setFilters[X];if(aa){return aa(Y,Z,W,ab)}}}};var L=P.match.POS;for(var M in P.match){P.match[M]=RegExp(P.match[M].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var I=function(X,W){X=Array.prototype.slice.call(X);if(W){W.push.apply(W,X);return W}return X};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(J){I=function(Z,Y){var aa=Y||[];if(S.call(Z)==="[object Array]"){Array.prototype.push.apply(aa,Z)}else{if(typeof Z.length==="number"){for(var X=0,W=Z.length;X<W;X++){aa.push(Z[X])}}else{for(var X=0;Z[X];X++){aa.push(Z[X])}}}return aa}}var T;if(document.documentElement.compareDocumentPosition){T=function(W,X){var Y=W.compareDocumentPosition(X)&4?-1:W===X?0:1;if(Y===0){hasDuplicate=true}return Y}}else{if("sourceIndex" in document.documentElement){T=function(W,X){var Y=W.sourceIndex-X.sourceIndex;if(Y===0){hasDuplicate=true}return Y}}else{if(document.createRange){T=function(X,Y){var Z=X.ownerDocument.createRange(),W=Y.ownerDocument.createRange();Z.selectNode(X);Z.collapse(true);W.selectNode(Y);W.collapse(true);var aa=Z.compareBoundaryPoints(Range.START_TO_END,W);if(aa===0){hasDuplicate=true}return aa}}}}(function(){var X=document.createElement("form"),Y="script"+(new Date).getTime();X.innerHTML="<input name='"+Y+"'/>";var W=document.documentElement;W.insertBefore(X,W.firstChild);if(!!document.getElementById(Y)){P.find.ID=function(aa,ac,Z){if(typeof ac.getElementById!=="undefined"&&!Z){var ab=ac.getElementById(aa[1]);return ab?ab.id===aa[1]||typeof ab.getAttributeNode!=="undefined"&&ab.getAttributeNode("id").nodeValue===aa[1]?[ab]:z:[]}};P.filter.ID=function(aa,Z){var ab=typeof aa.getAttributeNode!=="undefined"&&aa.getAttributeNode("id");return aa.nodeType===1&&ab&&ab.nodeValue===Z}}W.removeChild(X)})();(function(){var W=document.createElement("div");W.appendChild(document.createComment(""));if(W.getElementsByTagName("*").length>0){P.find.TAG=function(Y,ab){var aa=ab.getElementsByTagName(Y[1]);if(Y[1]==="*"){var Z=[];for(var X=0;aa[X];X++){if(aa[X].nodeType===1){Z.push(aa[X])}}aa=Z}return aa}}W.innerHTML="<a href='#'></a>";if(W.firstChild&&typeof W.firstChild.getAttribute!=="undefined"&&W.firstChild.getAttribute("href")!=="#"){P.attrHandle.href=function(X){return X.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var W=R,X=document.createElement("div");X.innerHTML="<p class='TEST'></p>";if(X.querySelectorAll&&X.querySelectorAll(".TEST").length===0){return}R=function(aa,Y,ac,Z){Y=Y||document;if(!Z&&Y.nodeType===9&&!N(Y)){try{return I(Y.querySelectorAll(aa),ac)}catch(ab){}}return W(aa,Y,ac,Z)};R.find=W.find;R.filter=W.filter;R.selectors=W.selectors;R.matches=W.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var W=document.createElement("div");W.innerHTML="<div class='test e'></div><div class='test'></div>";if(W.getElementsByClassName("e").length===0){return}W.lastChild.className="e";if(W.getElementsByClassName("e").length===1){return}P.order.splice(1,0,"CLASS");P.find.CLASS=function(Y,Z,X){if(typeof Z.getElementsByClassName!=="undefined"&&!X){return Z.getElementsByClassName(Y[1])}}})()}function V(Y,ab,ad,ag,ae,ac){var W=Y=="previousSibling"&&!ac;for(var aa=0,X=ag.length;aa<X;aa++){var af=ag[aa];if(af){if(W&&af.nodeType===1){af.sizcache=ad;af.sizset=aa}af=af[Y];var Z=false;while(af){if(af.sizcache===ad){Z=ag[af.sizset];break}if(af.nodeType===1&&!ac){af.sizcache=ad;af.sizset=aa}if(af.nodeName===ab){Z=af;break}af=af[Y]}ag[aa]=Z}}}function H(Y,ab,ad,ag,ae,ac){var W=Y=="previousSibling"&&!ac;for(var aa=0,X=ag.length;aa<X;aa++){var af=ag[aa];if(af){if(W&&af.nodeType===1){af.sizcache=ad;af.sizset=aa}af=af[Y];var Z=false;while(af){if(af.sizcache===ad){Z=ag[af.sizset];break}if(af.nodeType===1){if(!ac){af.sizcache=ad;af.sizset=aa}if(typeof ab!=="string"){if(af===ab){Z=true;break}}else{if(R.filter(ab,[af]).length>0){Z=af;break}}}af=af[Y]}ag[aa]=Z}}}var O=document.compareDocumentPosition?function(W,X){return W.compareDocumentPosition(X)&16}:function(W,X){return W!==X&&(W.contains?W.contains(X):true)};var N=function(W){return W.nodeType===9&&W.documentElement.nodeName!=="HTML"||!!W.ownerDocument&&N(W.ownerDocument)};var Q=function(aa,ad){var Z=[],ab="",ac,X=ad.nodeType?[ad]:ad;while((ac=P.match.PSEUDO.exec(aa))){ab+=ac[0];aa=aa.replace(P.match.PSEUDO,"")}aa=P.relative[aa]?aa+"*":aa;for(var W=0,Y=X.length;W<Y;W++){R(aa,X[W],Z)}return R.filter(ab,Z)};p.find=R;p.filter=R.filter;p.expr=R.selectors;p.expr[":"]=p.expr.filters;R.selectors.filters.hidden=function(W){return W.offsetWidth===0||W.offsetHeight===0};R.selectors.filters.visible=function(W){return W.offsetWidth>0||W.offsetHeight>0};R.selectors.filters.animated=function(W){return p.grep(p.timers,function(X){return W===X.elem}).length};p.multiFilter=function(X,Y,W){if(W){X=":not("+X+")"}return R.matches(X,Y)};p.dir=function(X,W){var Y=[],Z=X[W];while(Z&&Z!=document){if(Z.nodeType==1){Y.push(Z)}Z=Z[W]}return Y};p.nth=function(Z,X,W,Y){X=X||1;var aa=0;for(;Z;Z=Z[W]){if(Z.nodeType==1&&++aa==X){break}}return Z};p.sibling=function(X,Y){var W=[];for(;X;X=X.nextSibling){if(X.nodeType==1&&X!=Y){W.push(X)}}return W};return;v.Sizzle=R})();p.event={add:function(K,L,J,N){if(K.nodeType==3||K.nodeType==8){return}if(K.setInterval&&K!=v){K=v}if(!J.guid){J.guid=this.guid++}if(N!==z){var H=J;J=this.proxy(H);J.data=N}var M=p.data(K,"events")||p.data(K,"events",{}),I=p.data(K,"handle")||p.data(K,"handle",function(){return typeof p!=="undefined"&&!p.event.triggered?p.event.handle.apply(arguments.callee.elem,arguments):z});I.elem=K;p.each(L.split(/\s+/),function(Q,P){var O=P.split(".");P=O.shift();J.type=O.slice().sort().join(".");var R=M[P];if(p.event.specialAll[P]){p.event.specialAll[P].setup.call(K,N,O)}if(!R){R=M[P]={};if(!p.event.special[P]||p.event.special[P].setup.call(K,N,O)===false){if(K.addEventListener){K.addEventListener(P,I,false)}else{if(K.attachEvent){K.attachEvent("on"+P,I)}}}}R[J.guid]=J;p.event.global[P]=true});K=null},guid:1,global:{},remove:function(N,J,O){if(N.nodeType==3||N.nodeType==8){return}var K=p.data(N,"events"),I,L;if(K){if(J===z||(typeof J==="string"&&J.charAt(0)==".")){for(var H in K){this.remove(N,H+(J||""))}}else{if(J.type){O=J.handler;J=J.type}p.each(J.split(/\s+/),function(S,R){var P=R.split(".");R=P.shift();var Q=RegExp("(^|\\.)"+P.slice().sort().join(".*\\.")+"(\\.|$)");if(K[R]){if(O){delete K[R][O.guid]}else{for(var T in K[R]){if(Q.test(K[R][T].type)){delete K[R][T]}}}if(p.event.specialAll[R]){p.event.specialAll[R].teardown.call(N,P)}for(I in K[R]){break}if(!I){if(!p.event.special[R]||p.event.special[R].teardown.call(N,P)===false){if(N.removeEventListener){N.removeEventListener(R,p.data(N,"handle"),false)}else{if(N.detachEvent){N.detachEvent("on"+R,p.data(N,"handle"))}}}I=null;delete K[R]}}})}for(I in K){break}if(!I){var M=p.data(N,"handle");if(M){M.elem=null}p.removeData(N,"events");p.removeData(N,"handle")}}},trigger:function(I,J,O,K){var H=I.type||I;if(!K){I=typeof I==="object"?I[u]?I:p.extend(p.Event(H),I):p.Event(H);if(H.indexOf("!")>=0){I.type=H=H.slice(0,-1);I.exclusive=true}if(!O){I.stopPropagation();if(this.global[H]){p.each(p.cache,function(){if(this.events&&this.events[H]){p.event.trigger(I,J,this.handle.elem)}})}}if(!O||O.nodeType==3||O.nodeType==8){return z}I.result=z;I.target=O;J=p.makeArray(J);J.unshift(I)}I.currentTarget=O;var M=p.data(O,"handle");if(M){M.apply(O,J)}if((!O[H]||(p.nodeName(O,"a")&&H=="click"))&&O["on"+H]&&O["on"+H].apply(O,J)===false){I.result=false}if(!K&&O[H]&&!I.isDefaultPrevented()&&!(p.nodeName(O,"a")&&H=="click")){this.triggered=true;try{O[H]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var N=O.parentNode||O.ownerDocument;if(N){p.event.trigger(I,J,N,true)}}},handle:function(K){var N,M;K=arguments[0]=p.event.fix(K||v.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();N=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");M=(p.data(this,"events")||{})[K.type];for(var H in M){var O=M[H];if(N||I.test(O.type)){K.handler=O;K.data=O.data;var J=O.apply(this,arguments);if(J!==z){K.result=J;if(J===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(K){if(K[u]){return K}var J=K;K=p.Event(J);for(var L=this.props.length,M;L;){M=this.props[--L];K[M]=J[M]}if(!K.target){K.target=K.srcElement||document}if(K.target.nodeType==3){K.target=K.target.parentNode}if(!K.relatedTarget&&K.fromElement){K.relatedTarget=K.fromElement==K.target?K.toElement:K.fromElement}if(K.pageX==null&&K.clientX!=null){var I=document.documentElement,H=document.body;K.pageX=K.clientX+(I&&I.scrollLeft||H&&H.scrollLeft||0)-(I.clientLeft||0);K.pageY=K.clientY+(I&&I.scrollTop||H&&H.scrollTop||0)-(I.clientTop||0)}if(!K.which&&((K.charCode||K.charCode===0)?K.charCode:K.keyCode)){K.which=K.charCode||K.keyCode}if(!K.metaKey&&K.ctrlKey){K.metaKey=K.ctrlKey}if(!K.which&&K.button){K.which=(K.button&1?1:(K.button&2?3:(K.button&4?2:0)))}return K},proxy:function(H,I){I=I||function(){return H.apply(this,arguments)};I.guid=H.guid=H.guid||I.guid||this.guid++;return I},special:{ready:{setup:E,teardown:function(){}}},specialAll:{live:{setup:function(I,H){p.event.add(this,H[0],G)},teardown:function(H){if(H.length){var J=0,I=RegExp("(^|\\.)"+H[0]+"(\\.|$)");p.each((p.data(this,"events").live||{}),function(){if(I.test(this.type)){J++}});if(J<1){p.event.remove(this,H[0],G)}}}}}};p.Event=function(H){if(!this.preventDefault){return new p.Event(H)}if(H&&H.type){this.originalEvent=H;this.type=H.type}else{this.type=H}this.timeStamp=a();this[u]=true};function d(){return false}function o(){return true}p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=o;var H=this.originalEvent;if(!H){return}if(H.preventDefault){H.preventDefault()}H.returnValue=false},stopPropagation:function(){this.isPropagationStopped=o;var H=this.originalEvent;if(!H){return}if(H.stopPropagation){H.stopPropagation()}H.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=o;this.stopPropagation()},isDefaultPrevented:d,isPropagationStopped:d,isImmediatePropagationStopped:d};var c=function(I){var H=I.relatedTarget;while(H&&H!=this){try{H=H.parentNode}catch(J){H=this}}if(H!=this){I.type=I.data;p.event.handle.apply(this,arguments)}};p.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(I,H){p.event.special[H]={setup:function(){p.event.add(this,I,c,H)},teardown:function(){p.event.remove(this,I,c)}}});p.fn.extend({bind:function(I,J,H){return I=="unload"?this.one(I,J,H):this.each(function(){p.event.add(this,I,H||J,H&&J)})},one:function(J,K,H){var I=p.event.proxy(H||K,function(L){p(this).unbind(L,I);return(H||K).apply(this,arguments)});return this.each(function(){p.event.add(this,J,I,H&&K)})},unbind:function(I,H){return this.each(function(){p.event.remove(this,I,H)})},trigger:function(H,I){return this.each(function(){p.event.trigger(H,I,this)})},triggerHandler:function(I,J){if(this[0]){var H=p.Event(I);H.preventDefault();H.stopPropagation();p.event.trigger(H,J,this[0]);return H.result}},toggle:function(H){var I=arguments,J=1;while(J<I.length){p.event.proxy(H,I[J++])}return this.click(p.event.proxy(H,function(K){this.lastToggle=(this.lastToggle||0)%J;K.preventDefault();return I[this.lastToggle++].apply(this,arguments)||false}))},hover:function(I,H){return this.mouseenter(I).mouseleave(H)},ready:function(H){E();if(p.isReady){H.call(document,p)}else{p.readyList.push(H)}return this},live:function(I,H){var J=p.event.proxy(H);J.guid+=this.selector+I;p(document).bind(s(I,this.selector),this.selector,J);return this},die:function(I,H){p(document).unbind(s(I,this.selector),H?{guid:H.guid+this.selector+I}:null);return this}});function G(H){var I=RegExp("(^|\\.)"+H.type+"(\\.|$)"),J=true,K=[];p.each(p.data(this,"events").live||[],function(N,L){if(I.test(L.type)){var M=p(H.target).closest(L.data)[0];if(M){K.push({elem:M,fn:L})}}});K.sort(function(L,M){return p.data(L.elem,"closest")-p.data(M.elem,"closest")});p.each(K,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(J=false)}});return J}function s(H,I){return["live",H,I.replace(/\./g,"`").replace(/ /g,"|")].join(".")}p.extend({isReady:false,readyList:[],ready:function(){if(!p.isReady){p.isReady=true;if(p.readyList){p.each(p.readyList,function(){this.call(document,p)});p.readyList=null}p(document).triggerHandler("ready")}}});var F=false;function E(){if(F){return}F=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);p.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);p.ready()}});if(document.documentElement.doScroll&&v==v.top){(function(){if(p.isReady){return}try{document.documentElement.doScroll("left")}catch(H){setTimeout(arguments.callee,0);return}p.ready()})()}}}p.event.add(v,"load",p.ready)}p.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(I,H){p.fn[H]=function(J){return J?this.bind(H,J):this.trigger(H)}});p(v).bind("unload",function(){for(var H in p.cache){if(H!=1&&p.cache[H].handle){p.event.remove(p.cache[H].handle.elem)}}});(function(){p.support={};var I=document.documentElement,L=document.createElement("script"),H=document.createElement("div"),M="script"+(new Date).getTime();H.style.display="none";H.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var J=H.getElementsByTagName("*"),N=H.getElementsByTagName("a")[0];if(!J||!J.length||!N){return}p.support={leadingWhitespace:H.firstChild.nodeType==3,tbody:!H.getElementsByTagName("tbody").length,objectAll:!!H.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!H.getElementsByTagName("link").length,style:/red/.test(N.getAttribute("style")),hrefNormalized:N.getAttribute("href")==="/a",opacity:N.style.opacity==="0.5",cssFloat:!!N.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};L.type="text/javascript";try{L.appendChild(document.createTextNode("window."+M+"=1;"))}catch(K){}I.insertBefore(L,I.firstChild);if(v[M]){p.support.scriptEval=true;delete v[M]}I.removeChild(L);if(H.attachEvent&&H.fireEvent){H.attachEvent("onclick",function(){p.support.noCloneEvent=false;H.detachEvent("onclick",arguments.callee)});H.cloneNode(true).fireEvent("onclick")}p(function(){var O=document.createElement("div");O.style.width=O.style.paddingLeft="1px";document.body.appendChild(O);p.boxModel=p.support.boxModel=O.offsetWidth===2;document.body.removeChild(O).style.display="none"})})();var B=p.support.cssFloat?"cssFloat":"styleFloat";p.props={"for":"htmlFor","class":"className","float":B,cssFloat:B,styleFloat:B,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};p.fn.extend({_load:p.fn.load,load:function(K,H,N){if(typeof K!=="string"){return this._load(K)}var I=K.indexOf(" ");if(I>=0){var L=K.slice(I,K.length);K=K.slice(0,I)}var J="GET";if(H){if(p.isFunction(H)){N=H;H=null}else{if(typeof H==="object"){H=p.param(H);J="POST"}}}var M=this;p.ajax({url:K,type:J,dataType:"html",data:H,complete:function(P,O){if(O=="success"||O=="notmodified"){M.html(L?p("<div/>").append(P.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(L):P.responseText)}if(N){M.each(N,[P.responseText,O,P])}}});return this},serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(I,H){var J=p(this).val();return J==null?null:p.isArray(J)?p.map(J,function(L,K){return{name:H.name,value:L}}):{name:H.name,value:J}}).get()}});p.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(I,H){p.fn[H]=function(J){return this.bind(H,J)}});var n=a();p.extend({get:function(J,K,H,I){if(p.isFunction(K)){H=K;K=null}return p.ajax({type:"GET",url:J,data:K,success:H,dataType:I})},getScript:function(H,I){return p.get(H,null,I,"script")},getJSON:function(I,J,H){return p.get(I,J,H,"json")},post:function(J,K,H,I){if(p.isFunction(K)){H=K;K={}}return p.ajax({type:"POST",url:J,data:K,success:H,dataType:I})},ajaxSetup:function(H){p.extend(p.ajaxSettings,H)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return v.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(N){N=p.extend(true,N,p.extend(true,{},p.ajaxSettings,N));var I,R=/=\?(&|$)/g,O,P,J=N.type.toUpperCase();if(N.data&&N.processData&&typeof N.data!=="string"){N.data=p.param(N.data)}if(N.dataType=="jsonp"){if(J=="GET"){if(!N.url.match(R)){N.url+=(N.url.match(/\?/)?"&":"?")+(N.jsonp||"callback")+"=?"}}else{if(!N.data||!N.data.match(R)){N.data=(N.data?N.data+"&":"")+(N.jsonp||"callback")+"=?"}}N.dataType="json"}if(N.dataType=="json"&&(N.data&&N.data.match(R)||N.url.match(R))){I="jsonp"+n++;if(N.data){N.data=(N.data+"").replace(R,"="+I+"$1")}N.url=N.url.replace(R,"="+I+"$1");N.dataType="script";v[I]=function(aa){P=aa;S();V();v[I]=z;try{delete v[I]}catch(ab){}if(Z){Z.removeChild(X)}}}if(N.dataType=="script"&&N.cache==null){N.cache=false}if(N.cache===false&&J=="GET"){var H=a();var M=N.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+H+"$2");N.url=M+((M==N.url)?(N.url.match(/\?/)?"&":"?")+"_="+H:"")}if(N.data&&J=="GET"){N.url+=(N.url.match(/\?/)?"&":"?")+N.data;N.data=null}if(N.global&&!p.active++){p.event.trigger("ajaxStart")}var Y=/^(\w+:)?\/\/([^\/?#]+)/.exec(N.url);if(N.dataType=="script"&&J=="GET"&&Y&&(Y[1]&&Y[1]!=location.protocol||Y[2]!=location.host)){var Z=document.getElementsByTagName("head")[0];var X=document.createElement("script");X.src=N.url;if(N.scriptCharset){X.charset=N.scriptCharset}if(!I){var L=false;X.onload=X.onreadystatechange=function(){if(!L&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){L=true;S();V();X.onload=X.onreadystatechange=null;Z.removeChild(X)}}}Z.appendChild(X);return z}var W=false;var K=N.xhr();if(N.username){K.open(J,N.url,N.async,N.username,N.password)}else{K.open(J,N.url,N.async)}try{if(N.data){K.setRequestHeader("Content-Type",N.contentType)}if(N.ifModified){K.setRequestHeader("If-Modified-Since",p.lastModified[N.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}K.setRequestHeader("X-Requested-With","XMLHttpRequest");K.setRequestHeader("Accept",N.dataType&&N.accepts[N.dataType]?N.accepts[N.dataType]+", */*":N.accepts._default)}catch(T){}if(N.beforeSend&&N.beforeSend(K,N)===false){if(N.global&&!--p.active){p.event.trigger("ajaxStop")}K.abort();return false}if(N.global){p.event.trigger("ajaxSend",[K,N])}var U=function(aa){if(K.readyState==0){if(Q){clearInterval(Q);Q=null;if(N.global&&!--p.active){p.event.trigger("ajaxStop")}}}else{if(!W&&K&&(K.readyState==4||aa=="timeout")){W=true;if(Q){clearInterval(Q);Q=null}O=aa=="timeout"?"timeout":!p.httpSuccess(K)?"error":N.ifModified&&p.httpNotModified(K,N.url)?"notmodified":"success";if(O=="success"){try{P=p.httpData(K,N.dataType,N)}catch(ac){O="parsererror"}}if(O=="success"){var ab;try{ab=K.getResponseHeader("Last-Modified")}catch(ac){}if(N.ifModified&&ab){p.lastModified[N.url]=ab}if(!I){S()}}else{p.handleError(N,K,O)}V();if(aa){K.abort()}if(N.async){K=null}}}};if(N.async){var Q=setInterval(U,13);if(N.timeout>0){setTimeout(function(){if(K&&!W){U("timeout")}},N.timeout)}}try{K.send(N.data)}catch(T){p.handleError(N,K,null,T)}if(!N.async){U()}function S(){if(N.success){N.success(P,O)}if(N.global){p.event.trigger("ajaxSuccess",[K,N])}}function V(){if(N.complete){N.complete(K,O)}if(N.global){p.event.trigger("ajaxComplete",[K,N])}if(N.global&&!--p.active){p.event.trigger("ajaxStop")}}return K},handleError:function(H,K,I,J){if(H.error){H.error(K,I,J)}if(H.global){p.event.trigger("ajaxError",[K,H,J])}},active:0,httpSuccess:function(I){try{return !I.status&&location.protocol=="file:"||(I.status>=200&&I.status<300)||I.status==304||I.status==1223}catch(H){}return false},httpNotModified:function(K,I){try{var J=K.getResponseHeader("Last-Modified");return K.status==304||J==p.lastModified[I]}catch(H){}return false},httpData:function(L,J,H){var K=L.getResponseHeader("content-type"),I=J=="xml"||!J&&K&&K.indexOf("xml")>=0,M=I?L.responseXML:L.responseText;if(I&&M.documentElement.tagName=="parsererror"){throw"parsererror"}if(H&&H.dataFilter){M=H.dataFilter(M,J)}if(typeof M==="string"){if(J=="script"){p.globalEval(M)}if(J=="json"){M=v["eval"]("("+M+")")}}return M},param:function(J){var H=[];function I(M,L){H[H.length]=encodeURIComponent(M)+"="+encodeURIComponent(L)}if(p.isArray(J)||J.jquery){p.each(J,function(){I(this.name,this.value)})}else{for(var K in J){if(p.isArray(J[K])){p.each(J[K],function(){I(K,this)})}else{I(K,p.isFunction(J[K])?J[K]():J[K])}}}return H.join("&").replace(/%20/g,"+")}});var x={},b,l=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function y(I,J){var H={};p.each(l.concat.apply([],l.slice(0,J)),function(){H[this]=I});return H}p.fn.extend({show:function(K,O){if(K){return this.animate(y("show",3),K,O)}else{for(var H=0,I=this.length;H<I;H++){var L=p.data(this[H],"olddisplay");this[H].style.display=L||"";if(p.css(this[H],"display")==="none"){var J=this[H].tagName,M;if(x[J]){M=x[J]}else{var N=p("<"+J+" />").appendTo("body");M=N.css("display");if(M==="none"){M="block"}N.remove();x[J]=M}p.data(this[H],"olddisplay",M)}}for(var H=0,I=this.length;H<I;H++){this[H].style.display=p.data(this[H],"olddisplay")||""}return this}},hide:function(I,L){if(I){return this.animate(y("hide",3),I,L)}else{for(var K=0,J=this.length;K<J;K++){var H=p.data(this[K],"olddisplay");if(!H&&H!=="none"){p.data(this[K],"olddisplay",p.css(this[K],"display"))}}for(var K=0,J=this.length;K<J;K++){this[K].style.display="none"}return this}},_toggle:p.fn.toggle,toggle:function(H,I){var J=typeof H==="boolean";return p.isFunction(H)&&p.isFunction(I)?this._toggle.apply(this,arguments):H==null||J?this.each(function(){var K=J?H:p(this).is(":hidden");p(this)[K?"show":"hide"]()}):this.animate(y("toggle",3),H,I)},fadeTo:function(I,H,J){return this.animate({opacity:H},I,J)},animate:function(L,J,H,I){var K=p.speed(J,H,I);return this[K.queue===false?"each":"queue"](function(){var P=p.extend({},K),O,M=this.nodeType==1&&p(this).is(":hidden"),N=this;for(O in L){if(L[O]=="hide"&&M||L[O]=="show"&&!M){return P.complete.call(this)}if((O=="height"||O=="width")&&this.style){P.display=p.css(this,"display");P.overflow=this.style.overflow}}if(P.overflow!=null){this.style.overflow="hidden"}P.curAnim=p.extend({},L);p.each(L,function(Q,W){var V=new p.fx(N,P,Q);if(/toggle|show|hide/.test(W)){V[W=="toggle"?M?"show":"hide":W](L)}else{var U=W.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),S=V.cur(true)||0;if(U){var T=parseFloat(U[2]),R=U[3]||"px";if(R!="px"){N.style[Q]=(T||1)+R;S=((T||1)/V.cur(true))*S;N.style[Q]=S+R}if(U[1]){T=((U[1]=="-="?-1:1)*T)+S}V.custom(S,T,R)}else{V.custom(S,W,"")}}});return true})},stop:function(H,J){var I=p.timers;if(H){this.queue([])}this.each(function(){for(var K=I.length-1;K>=0;K--){if(I[K].elem==this){if(J){I[K](true)}I.splice(K,1)}}});if(!J){this.dequeue()}return this}});p.each({slideDown:y("show",1),slideUp:y("hide",1),slideToggle:y("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(I,H){p.fn[I]=function(J,K){return this.animate(H,J,K)}});p.extend({speed:function(J,I,H){var K=typeof J==="object"?J:{complete:H||!H&&I||p.isFunction(J)&&J,duration:J,easing:H&&I||I&&!p.isFunction(I)&&I};K.duration=p.fx.off?0:typeof K.duration==="number"?K.duration:p.fx.speeds[K.duration]||p.fx.speeds._default;K.old=K.complete;K.complete=function(){if(K.queue!==false){p(this).dequeue()}if(p.isFunction(K.old)){K.old.call(this)}};return K},easing:{linear:function(J,H,K,I){return K+I*J},swing:function(J,H,K,I){return((-Math.cos(J*Math.PI)/2)+0.5)*I+K}},timers:[],fx:function(H,I,J){this.options=I;this.elem=H;this.prop=J;if(!I.orig){I.orig={}}}});p.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(p.fx.step[this.prop]||p.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(I){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var H=parseFloat(p.css(this.elem,this.prop,I));return H&&H>-10000?H:parseFloat(p.curCSS(this.elem,this.prop))||0},custom:function(H,I,J){this.startTime=a();this.start=H;this.end=I;this.unit=J||this.unit||"px";this.now=this.start;this.pos=this.state=0;var K=this;function L(M){return K.step(M)}L.elem=this.elem;if(L()&&p.timers.push(L)&&!b){b=setInterval(function(){var M=p.timers;for(var N=0;N<M.length;N++){if(!M[N]()){M.splice(N--,1)}}if(!M.length){clearInterval(b);b=z}},13)}},show:function(){this.options.orig[this.prop]=p.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());p(this.elem).show()},hide:function(){this.options.orig[this.prop]=p.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(L){var J=a();if(L||J>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var H=true;for(var K in this.options.curAnim){if(this.options.curAnim[K]!==true){H=false}}if(H){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(p.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){p(this.elem).hide()}if(this.options.hide||this.options.show){for(var M in this.options.curAnim){p.attr(this.elem.style,M,this.options.orig[M])}}this.options.complete.call(this.elem)}return false}else{var I=J-this.startTime;this.state=I/this.options.duration;this.pos=p.easing[this.options.easing||(p.easing.swing?"swing":"linear")](this.state,I,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};p.extend(p.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(H){p.attr(H.elem.style,"opacity",H.now)},_default:function(H){if(H.elem.style&&H.elem.style[H.prop]!=null){H.elem.style[H.prop]=H.now+H.unit}else{H.elem[H.prop]=H.now}}}});if(document.documentElement.getBoundingClientRect){p.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return p.offset.bodyOffset(this[0])}var H=this[0].getBoundingClientRect(),L=this[0].ownerDocument,O=L.body,M=L.documentElement,N=M.clientTop||O.clientTop||0,I=M.clientLeft||O.clientLeft||0,J=H.top+(self.pageYOffset||p.boxModel&&M.scrollTop||O.scrollTop)-N,K=H.left+(self.pageXOffset||p.boxModel&&M.scrollLeft||O.scrollLeft)-I;return{top:J,left:K}}}else{p.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return p.offset.bodyOffset(this[0])}p.offset.initialized||p.offset.initialize();var R=this[0],Q=R.offsetParent,I=R,N=R.ownerDocument,H,O=N.documentElement,P=N.body,L=N.defaultView,M=L.getComputedStyle(R,null),J=R.offsetTop,K=R.offsetLeft;while((R=R.parentNode)&&R!==P&&R!==O){H=L.getComputedStyle(R,null);J-=R.scrollTop,K-=R.scrollLeft;if(R===Q){J+=R.offsetTop,K+=R.offsetLeft;if(p.offset.doesNotAddBorder&&!(p.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(R.tagName))){J+=parseInt(H.borderTopWidth,10)||0,K+=parseInt(H.borderLeftWidth,10)||0}I=Q,Q=R.offsetParent}if(p.offset.subtractsBorderForOverflowNotVisible&&H.overflow!=="visible"){J+=parseInt(H.borderTopWidth,10)||0,K+=parseInt(H.borderLeftWidth,10)||0}M=H}if(M.position==="relative"||M.position==="static"){J+=P.offsetTop,K+=P.offsetLeft}if(M.position==="fixed"){J+=Math.max(O.scrollTop,P.scrollTop),K+=Math.max(O.scrollLeft,P.scrollLeft)}return{top:J,left:K}}}p.offset={initialize:function(){if(this.initialized){return}var O=document.body,I=document.createElement("div"),Q,L,H,P,M,J,N=O.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(J in M){I.style[J]=M[J]}I.innerHTML=K;O.insertBefore(I,O.firstChild);Q=I.firstChild,L=Q.firstChild,P=Q.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(L.offsetTop!==5);this.doesAddBorderForTableAndCells=(P.offsetTop===5);Q.style.overflow="hidden",Q.style.position="relative";this.subtractsBorderForOverflowNotVisible=(L.offsetTop===-5);O.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(O.offsetTop===0);O.style.marginTop=N;O.removeChild(I);this.initialized=true},bodyOffset:function(H){p.offset.initialized||p.offset.initialize();var I=H.offsetTop,J=H.offsetLeft;if(p.offset.doesNotIncludeMarginInBodyOffset){I+=parseInt(p.curCSS(H,"marginTop",true),10)||0,J+=parseInt(p.curCSS(H,"marginLeft",true),10)||0}return{top:I,left:J}}};p.fn.extend({position:function(){var K=0,I=0,L;if(this[0]){var M=this.offsetParent(),J=this.offset(),H=/^body|html$/i.test(M[0].tagName)?{top:0,left:0}:M.offset();J.top-=r(this,"marginTop");J.left-=r(this,"marginLeft");H.top+=r(M,"borderTopWidth");H.left+=r(M,"borderLeftWidth");L={top:J.top-H.top,left:J.left-H.left}}return L},offsetParent:function(){var H=this[0].offsetParent||document.body;while(H&&(!/^body|html$/i.test(H.tagName)&&p.css(H,"position")=="static")){H=H.offsetParent}return p(H)}});p.each(["Left","Top"],function(J,H){var I="scroll"+H;p.fn[I]=function(K){if(!this[0]){return null}return K!==z?this.each(function(){this==v||this==document?v.scrollTo(!J?K:p(v).scrollLeft(),J?K:p(v).scrollTop()):this[I]=K}):this[0]==v||this[0]==document?self[J?"pageYOffset":"pageXOffset"]||p.boxModel&&document.documentElement[I]||document.body[I]:this[0][I]}});p.each(["Height","Width"],function(K,I){var L=K?"Left":"Top",M=K?"Right":"Bottom",H=I.toLowerCase();p.fn["inner"+I]=function(){return this[0]?p.css(this[0],H,false,"padding"):null};p.fn["outer"+I]=function(N){return this[0]?p.css(this[0],H,false,N?"margin":"border"):null};var J=I.toLowerCase();p.fn[J]=function(N){return this[0]==v?document.compatMode=="CSS1Compat"&&document.documentElement["client"+I]||document.body["client"+I]:this[0]==document?Math.max(document.documentElement["client"+I],document.body["scroll"+I],document.documentElement["scroll"+I],document.body["offset"+I],document.documentElement["offset"+I]):N===z?(this.length?p.css(this[0],J):null):this.css(J,typeof N==="string"?N:N+"px")}})})();Ext={version:"2.3.0"};window["undefined"]=window["undefined"];Ext.apply=function(b,d,a){if(a){Ext.apply(b,a)}if(b&&d&&typeof d=="object"){for(var e in d){b[e]=d[e]}}return b};(function(){var idSeed=0;var ua=navigator.userAgent.toLowerCase(),check=function(r){return r.test(ua)},isStrict=document.compatMode=="CSS1Compat",isOpera=check(/opera/),isChrome=check(/chrome/),isWebKit=check(/webkit/),isSafari=!isChrome&&check(/safari/),isSafari2=isSafari&&check(/applewebkit\/4/),isSafari3=isSafari&&check(/version\/3/),isSafari4=isSafari&&check(/version\/4/),isIE=!isOpera&&check(/msie/),isIE7=isIE&&check(/msie 7/),isIE8=isIE&&check(/msie 8/),isIE6=isIE&&!isIE7&&!isIE8,isGecko=!isWebKit&&check(/gecko/),isGecko2=isGecko&&check(/rv:1\.8/),isGecko3=isGecko&&check(/rv:1\.9/),isBorderBox=isIE&&!isStrict,isWindows=check(/windows|win32/),isMac=check(/macintosh|mac os x/),isAir=check(/adobeair/),isLinux=check(/linux/),isSecure=/^https/i.test(window.location.protocol);if(isIE6){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}Ext.apply(Ext,{isStrict:isStrict,isSecure:isSecure,isReady:false,enableGarbageCollector:true,enableListenerCollection:false,SSL_SECURE_URL:"javascript:false",BLANK_IMAGE_URL:"http://extjs.com/s.gif",emptyFn:function(){},applyIf:function(o,c){if(o&&c){for(var p in c){if(typeof o[p]=="undefined"){o[p]=c[p]}}}return o},addBehaviors:function(o){if(!Ext.isReady){Ext.onReady(function(){Ext.addBehaviors(o)});return}var cache={};for(var b in o){var parts=b.split("@");if(parts[1]){var s=parts[0];if(!cache[s]){cache[s]=Ext.select(s)}cache[s].on(parts[1],o[b])}}cache=null},id:function(el,prefix){prefix=prefix||"ext-gen";el=Ext.getDom(el);var id=prefix+(++idSeed);return el?(el.id?el.id:(el.id=id)):id},extend:function(){var io=function(o){for(var m in o){this[m]=o[m]}};var oc=Object.prototype.constructor;return function(sb,sp,overrides){if(typeof sp=="object"){overrides=sp;sp=sb;sb=overrides.constructor!=oc?overrides.constructor:function(){sp.apply(this,arguments)}}var F=function(){},sbp,spp=sp.prototype;F.prototype=spp;sbp=sb.prototype=new F();sbp.constructor=sb;sb.superclass=spp;if(spp.constructor==oc){spp.constructor=sp}sb.override=function(o){Ext.override(sb,o)};sbp.override=io;Ext.override(sb,overrides);sb.extend=function(o){Ext.extend(sb,o)};return sb}}(),override:function(origclass,overrides){if(overrides){var p=origclass.prototype;for(var method in overrides){p[method]=overrides[method]}if(Ext.isIE&&overrides.toString!=origclass.toString){p.toString=overrides.toString}}},namespace:function(){var a=arguments,o=null,i,j,d,rt;for(i=0;i<a.length;++i){d=a[i].split(".");rt=d[0];eval("if (typeof "+rt+' == "undefined"){'+rt+" = {};} o = "+rt+";");for(j=1;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]]}}},urlEncode:function(o){if(!o){return""}var buf=[];for(var key in o){var ov=o[key],k=encodeURIComponent(key);var type=typeof ov;if(type=="undefined"){buf.push(k,"=&")}else{if(type!="function"&&type!="object"){buf.push(k,"=",encodeURIComponent(ov),"&")}else{if(Ext.isDate(ov)){var s=Ext.encode(ov).replace(/"/g,"");buf.push(k,"=",s,"&")}else{if(Ext.isArray(ov)){if(ov.length){for(var i=0,len=ov.length;i<len;i++){buf.push(k,"=",encodeURIComponent(ov[i]===undefined?"":ov[i]),"&")}}else{buf.push(k,"=&")}}}}}}buf.pop();return buf.join("")},urlDecode:function(string,overwrite){if(!string||!string.length){return{}}var obj={};var pairs=string.split("&");var pair,name,value;for(var i=0,len=pairs.length;i<len;i++){pair=pairs[i].split("=");name=decodeURIComponent(pair[0]);value=decodeURIComponent(pair[1]);if(overwrite!==true){if(typeof obj[name]=="undefined"){obj[name]=value}else{if(typeof obj[name]=="string"){obj[name]=[obj[name]];obj[name].push(value)}else{obj[name].push(value)}}}else{obj[name]=value}}return obj},each:function(array,fn,scope){if(typeof array.length=="undefined"||typeof array=="string"){array=[array]}for(var i=0,len=array.length;i<len;i++){if(fn.call(scope||array[i],array[i],i,array)===false){return i}}},combine:function(){var as=arguments,l=as.length,r=[];for(var i=0;i<l;i++){var a=as[i];if(Ext.isArray(a)){r=r.concat(a)}else{if(a.length!==undefined&&!a.substr){r=r.concat(Array.prototype.slice.call(a,0))}else{r.push(a)}}}return r},escapeRe:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},callback:function(cb,scope,args,delay){if(typeof cb=="function"){if(delay){cb.defer(delay,scope,args||[])}else{cb.apply(scope,args||[])}}},getDom:function(el){if(!el||!document){return null}return el.dom?el.dom:(typeof el=="string"?document.getElementById(el):el)},getDoc:function(){return Ext.get(document)},getBody:function(){return Ext.get(document.body||document.documentElement)},getCmp:function(id){return Ext.ComponentMgr.get(id)},num:function(v,defaultValue){v=Number(v==null||typeof v=="boolean"?NaN:v);return isNaN(v)?defaultValue:v},destroy:function(){for(var i=0,a=arguments,len=a.length;i<len;i++){var as=a[i];if(as){if(typeof as.destroy=="function"){as.destroy()}else{if(as.dom){as.removeAllListeners();as.remove()}}}}},removeNode:isIE?function(){var d;return function(n){if(n&&n.tagName!="BODY"){d=d||document.createElement("div");d.appendChild(n);d.innerHTML=""}}}():function(n){if(n&&n.parentNode&&n.tagName!="BODY"){n.parentNode.removeChild(n)}},type:function(o){if(o===undefined||o===null){return false}if(o.htmlElement){return"element"}var t=typeof o;if(t=="object"&&o.nodeName){switch(o.nodeType){case 1:return"element";case 3:return(/\S/).test(o.nodeValue)?"textnode":"whitespace"}}if(t=="object"||t=="function"){switch(o.constructor){case Array:return"array";case RegExp:return"regexp";case Date:return"date"}if(typeof o.length=="number"&&typeof o.item=="function"){return"nodelist"}}return t},isEmpty:function(v,allowBlank){return v===null||v===undefined||(!allowBlank?v==="":false)},value:function(v,defaultValue,allowBlank){return Ext.isEmpty(v,allowBlank)?defaultValue:v},isArray:function(v){return v&&typeof v.length=="number"&&typeof v.splice=="function"},isDate:function(v){return v&&typeof v.getFullYear=="function"},isOpera:isOpera,isWebKit:isWebKit,isChrome:isChrome,isSafari:isSafari,isSafari4:isSafari4,isSafari3:isSafari3,isSafari2:isSafari2,isIE:isIE,isIE6:isIE6,isIE7:isIE7,isIE8:isIE8,isGecko:isGecko,isGecko2:isGecko2,isGecko3:isGecko3,isBorderBox:isBorderBox,isLinux:isLinux,isWindows:isWindows,isMac:isMac,isAir:isAir,useShims:((isIE&&!(isIE7||isIE8))||(isMac&&isGecko&&!isGecko3))});Ext.ns=Ext.namespace})();Ext.ns("Ext","Ext.util","Ext.grid","Ext.dd","Ext.tree","Ext.data","Ext.form","Ext.menu","Ext.state","Ext.lib","Ext.layout","Ext.app","Ext.ux");Ext.apply(Function.prototype,{createCallback:function(){var b=arguments;var a=this;return function(){return a.apply(window,b)}},createDelegate:function(d,b,c){var a=this;return function(){var e=b||arguments;if(c===true){e=Array.prototype.slice.call(arguments,0);e=e.concat(b)}else{if(typeof c=="number"){e=Array.prototype.slice.call(arguments,0);var g=[c,0].concat(b);Array.prototype.splice.apply(e,g)}}return a.apply(d||window,e)}},defer:function(d,e,b,c){var a=this.createDelegate(e,b,c);if(d){return setTimeout(a,d)}a();return 0},createSequence:function(b,c){if(typeof b!="function"){return this}var a=this;return function(){var d=a.apply(this||window,arguments);b.apply(c||this||window,arguments);return d}},createInterceptor:function(b,c){if(typeof b!="function"){return this}var a=this;return function(){b.target=this;b.method=a;if(b.apply(c||this||window,arguments)===false){return}return a.apply(this||window,arguments)}}});Ext.applyIf(String,{escape:function(a){return a.replace(/('|\\)/g,"\\$1")},leftPad:function(d,a,c){var b=new String(d);if(!c){c=" "}while(b.length<a){b=c+b}return b.toString()},format:function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/\{(\d+)\}/g,function(c,d){return b[d]})}});String.prototype.toggle=function(a,b){return this==a?b:a};String.prototype.trim=function(){var a=/^\s+|\s+$/g;return function(){return this.replace(a,"")}}();Ext.applyIf(Number.prototype,{constrain:function(a,b){return Math.min(Math.max(this,a),b)}});Ext.applyIf(Array.prototype,{indexOf:function(b){for(var c=0,a=this.length;c<a;c++){if(this[c]==b){return c}}return -1},remove:function(a){var b=this.indexOf(a);if(b!=-1){this.splice(b,1)}return this}});Date.prototype.getElapsed=function(a){return Math.abs((a||new Date()).getTime()-this.getTime())};if(typeof jQuery=="undefined"){throw"Unable to load Ext, jQuery not found."}(function(){var c;Ext.lib.Dom={getViewWidth:function(d){return d?Math.max(jQuery(document).width(),jQuery(window).width()):jQuery(window).width()},getViewHeight:function(d){return d?Math.max(jQuery(document).height(),jQuery(window).height()):jQuery(window).height()},isAncestor:function(g,e){g=Ext.getDom(g);e=Ext.getDom(e);if(!g||!e){return false}if(g.contains&&!Ext.isWebKit){return g.contains(e)}else{if(g.compareDocumentPosition){return !!(g.compareDocumentPosition(e)&16)}else{var d=e.parentNode;while(d){if(d==g){return true}else{if(!d.tagName||d.tagName.toUpperCase()=="HTML"){return false}}d=d.parentNode}return false}}},getRegion:function(d){return Ext.lib.Region.getRegion(d)},getY:function(d){return this.getXY(d)[1]},getX:function(d){return this.getXY(d)[0]},getXY:function(t){var m,d,k,s,l=(document.body||document.documentElement);t=Ext.getDom(t);if(t==l){return[0,0]}if(t.getBoundingClientRect){try{k=t.getBoundingClientRect();s=a(document).getScroll();return[k.left+s.left,k.top+s.top]}catch(r){return[0,0]}}var g=0,h=0;m=t;var o=a(t).getStyle("position")=="absolute";while(m){g+=m.offsetLeft;h+=m.offsetTop;if(!o&&a(m).getStyle("position")=="absolute"){o=true}if(Ext.isGecko){d=a(m);var e=parseInt(d.getStyle("borderTopWidth"),10)||0;var q=parseInt(d.getStyle("borderLeftWidth"),10)||0;g+=q;h+=e;if(m!=t&&d.getStyle("overflow")!="visible"){g+=q;h+=e}}m=m.offsetParent}if(Ext.isWebKit&&o){g-=l.offsetLeft;h-=l.offsetTop}if(Ext.isGecko&&!o){var n=a(l);g+=parseInt(n.getStyle("borderLeftWidth"),10)||0;h+=parseInt(n.getStyle("borderTopWidth"),10)||0}m=t.parentNode;while(m&&m!=l){if(!Ext.isOpera||(m.tagName!="TR"&&a(m).getStyle("display")!="inline")){g-=m.scrollLeft;h-=m.scrollTop}m=m.parentNode}return[g,h]},setXY:function(e,d){e=Ext.fly(e,"_setXY");e.position();var g=e.translatePoints(d);if(d[0]!==false){e.dom.style.left=g.left+"px"}if(d[1]!==false){e.dom.style.top=g.top+"px"}},setX:function(e,d){this.setXY(e,[d,false])},setY:function(e,d){this.setXY(e,[false,d])}};function a(d){if(!c){c=new Ext.Element.Flyweight()}c.dom=d;return c}Ext.lib.Event={getPageX:function(d){d=d.browserEvent||d;return d.pageX},getPageY:function(d){d=d.browserEvent||d;return d.pageY},getXY:function(d){d=d.browserEvent||d;return[d.pageX,d.pageY]},getTarget:function(d){return d.target},on:function(e,h,d,k,g){jQuery(e).bind(h,d)},un:function(e,g,d){jQuery(e).unbind(g,d)},purgeElement:function(d){jQuery(d).unbind()},preventDefault:function(d){d=d.browserEvent||d;if(d.preventDefault){d.preventDefault()}else{d.returnValue=false}},stopPropagation:function(d){d=d.browserEvent||d;if(d.stopPropagation){d.stopPropagation()}else{d.cancelBubble=true}},stopEvent:function(d){this.preventDefault(d);this.stopPropagation(d)},onAvailable:function(h,d,l){var g=new Date();var k=function(){if(g.getElapsed()>10000){clearInterval(e)}var m=document.getElementById(h);if(m){clearInterval(e);d.call(l||window,m)}};var e=setInterval(k,50)},resolveTextNode:function(d){if(d&&3==d.nodeType){return d.parentNode}else{return d}},getRelatedTarget:function(e){e=e.browserEvent||e;var d=e.relatedTarget;if(!d){if(e.type=="mouseout"){d=e.toElement}else{if(e.type=="mouseover"){d=e.fromElement}}}return this.resolveTextNode(d)}};Ext.lib.Ajax=function(){var d=function(e){return function(h,g){if((g=="error"||g=="timeout")&&e.failure){e.failure.call(e.scope||window,{responseText:h.responseText,responseXML:h.responseXML,argument:e.argument})}else{if(e.success){e.success.call(e.scope||window,{responseText:h.responseText,responseXML:h.responseXML,argument:e.argument})}}}};return{request:function(g,m,e,n,l){var h={type:g,url:m,data:n,timeout:e.timeout,complete:d(e)};if(l){var k=l.headers;if(l.xmlData){h.data=l.xmlData;h.processData=false;h.type=(g?g:(l.method?l.method:"POST"));if(!k||!k["Content-Type"]){h.contentType="text/xml"}}else{if(l.jsonData){h.data=typeof l.jsonData=="object"?Ext.encode(l.jsonData):l.jsonData;h.processData=false;h.type=(g?g:(l.method?l.method:"POST"));if(!k||!k["Content-Type"]){h.contentType="application/json"}}}if(k){h.beforeSend=function(p){for(var o in k){if(k.hasOwnProperty(o)){p.setRequestHeader(o,k[o])}}}}}jQuery.ajax(h)},formRequest:function(h,l,e,m,g,k){jQuery.ajax({type:Ext.getDom(h).method||"POST",url:l,data:jQuery(h).serialize()+(m?"&"+m:""),timeout:e.timeout,complete:d(e)})},isCallInProgress:function(e){return false},abort:function(e){return false},serializeForm:function(e){return jQuery(e.dom||e).serialize()}}}();Ext.lib.Anim=function(){var d=function(e,h){var g=true;return{stop:function(k){},isAnimated:function(){return g},proxyCallback:function(){g=false;Ext.callback(e,h)}}};return{scroll:function(k,h,l,g,e,n){var m=d(e,n);k=Ext.getDom(k);if(typeof h.scroll.to[0]=="number"){k.scrollLeft=h.scroll.to[0]}if(typeof h.scroll.to[1]=="number"){k.scrollTop=h.scroll.to[1]}m.proxyCallback();return m},motion:function(k,h,l,g,e,m){return this.run(k,h,l,g,e,m)},color:function(k,h,l,g,e,n){var m=d(e,n);m.proxyCallback();return m},run:function(r,t,x,q,u,n,p){var m=d(u,n),s=Ext.fly(r,"_animrun");var g={};for(var h in t){switch(h){case"points":var w,l;s.position();if(w=t.points.by){var v=s.getXY();l=s.translatePoints([v[0]+w[0],v[1]+w[1]])}else{l=s.translatePoints(t.points.to)}g.left=l.left;g.top=l.top;if(!parseInt(s.getStyle("left"),10)){s.setLeft(0)}if(!parseInt(s.getStyle("top"),10)){s.setTop(0)}if(t.points.from){s.setXY(t.points.from)}break;case"width":g.width=t.width.to;if(t.width.from){s.setWidth(t.width.from)}break;case"height":g.height=t.height.to;if(t.height.from){s.setHeight(t.height.from)}break;case"opacity":g.opacity=t.opacity.to;if(t.opacity.from){s.setOpacity(t.opacity.from)}break;case"left":g.left=t.left.to;if(t.left.from){s.setLeft(t.left.from)}break;case"top":g.top=t.top.to;if(t.top.from){s.setTop(t.top.from)}break;default:g[h]=t[h].to;if(t[h].from){s.setStyle(h,t[h].from)}break}}jQuery(r).animate(g,x*1000,undefined,m.proxyCallback);return m}}}();Ext.lib.Region=function(e,d,g,h){this.top=e;this[1]=e;this.right=d;this.bottom=g;this.left=h;this[0]=h};Ext.lib.Region.prototype={contains:function(d){return(d.left>=this.left&&d.right<=this.right&&d.top>=this.top&&d.bottom<=this.bottom)},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))},intersect:function(g){var e=Math.max(this.top,g.top);var d=Math.min(this.right,g.right);var k=Math.min(this.bottom,g.bottom);var h=Math.max(this.left,g.left);if(k>=e&&d>=h){return new Ext.lib.Region(e,d,k,h)}else{return null}},union:function(g){var e=Math.min(this.top,g.top);var d=Math.max(this.right,g.right);var k=Math.max(this.bottom,g.bottom);var h=Math.min(this.left,g.left);return new Ext.lib.Region(e,d,k,h)},constrainTo:function(d){this.top=this.top.constrain(d.top,d.bottom);this.bottom=this.bottom.constrain(d.top,d.bottom);this.left=this.left.constrain(d.left,d.right);this.right=this.right.constrain(d.left,d.right);return this},adjust:function(e,h,g,d){this.top+=e;this.left+=h;this.right+=d;this.bottom+=g;return this}};Ext.lib.Region.getRegion=function(g){var k=Ext.lib.Dom.getXY(g);var e=k[1];var d=k[0]+g.offsetWidth;var h=k[1]+g.offsetHeight;var m=k[0];return new Ext.lib.Region(e,d,h,m)};Ext.lib.Point=function(d,e){if(Ext.isArray(d)){e=d[1];d=d[0]}this.x=this.right=this.left=this[0]=d;this.y=this.top=this.bottom=this[1]=e};Ext.lib.Point.prototype=new Ext.lib.Region();if(Ext.isIE){function b(){var d=Function.prototype;delete d.createSequence;delete d.defer;delete d.createDelegate;delete d.createCallback;delete d.createInterceptor;window.detachEvent("onunload",b)}window.attachEvent("onunload",b)}})();Ext.DomHelper=function(){var c=null;var n=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;var m=/^table|tbody|tr|td$/i;var b=function(u){if(typeof u=="string"){return u}var v="";if(Ext.isArray(u)){for(var q=0,r=u.length;q<r;q++){v+=b(u[q])}return v}if(!u.tag){u.tag="div"}v+="<"+u.tag;for(var t in u){if(t=="tag"||t=="children"||t=="cn"||t=="html"||typeof u[t]=="function"){continue}if(t=="style"){var w=u.style;if(typeof w=="function"){w=w.call()}if(typeof w=="string"){v+=' style="'+w+'"'}else{if(typeof w=="object"){v+=' style="';for(var y in w){if(typeof w[y]!="function"){v+=y+":"+w[y]+";"}}v+='"'}}}else{if(t=="cls"){v+=' class="'+u.cls+'"'}else{if(t=="htmlFor"){v+=' for="'+u.htmlFor+'"'}else{v+=" "+t+'="'+u[t]+'"'}}}}if(n.test(u.tag)){v+="/>"}else{v+=">";var x=u.children||u.cn;if(x){v+=b(x)}else{if(u.html){v+=u.html}}v+="</"+u.tag+">"}return v};var a=function(t,v){var u;if(Ext.isArray(t)){u=document.createDocumentFragment();for(var q=0,r=t.length;q<r;q++){a(t[q],u)}}else{if(typeof t=="string"){u=document.createTextNode(t)}else{u=document.createElement(t.tag||"div");var x=!!u.setAttribute;for(var s in t){if(s=="tag"||s=="children"||s=="cn"||s=="html"||s=="style"||typeof t[s]=="function"){continue}if(s=="cls"){u.className=t.cls}else{if(x){u.setAttribute(s,t[s])}else{u[s]=t[s]}}}Ext.DomHelper.applyStyles(u,t.style);var w=t.children||t.cn;if(w){a(w,u)}else{if(t.html){u.innerHTML=t.html}}}}if(v){v.appendChild(u)}return u};var e=function(u,q,r,w){c.innerHTML=[q,r,w].join("");var v=-1,t=c;while(++v<u){t=t.firstChild}return t};var g="<table>",d="</table>",o=g+"<tbody>",l="</tbody>"+d,k=o+"<tr>",h="</tr>"+l;var p=function(r,t,s,u){if(!c){c=document.createElement("div")}var v;var q=null;if(r=="td"){if(t=="afterbegin"||t=="beforeend"){return}if(t=="beforebegin"){q=s;s=s.parentNode}else{q=s.nextSibling;s=s.parentNode}v=e(4,k,u,h)}else{if(r=="tr"){if(t=="beforebegin"){q=s;s=s.parentNode;v=e(3,o,u,l)}else{if(t=="afterend"){q=s.nextSibling;s=s.parentNode;v=e(3,o,u,l)}else{if(t=="afterbegin"){q=s.firstChild}v=e(4,k,u,h)}}}else{if(r=="tbody"){if(t=="beforebegin"){q=s;s=s.parentNode;v=e(2,g,u,d)}else{if(t=="afterend"){q=s.nextSibling;s=s.parentNode;v=e(2,g,u,d)}else{if(t=="afterbegin"){q=s.firstChild}v=e(3,o,u,l)}}}else{if(t=="beforebegin"||t=="afterend"){return}if(t=="afterbegin"){q=s.firstChild}v=e(2,g,u,d)}}}s.insertBefore(v,q);return v};return{useDom:false,markup:function(q){return b(q)},applyStyles:function(r,q){if(q){r=Ext.fly(r);if(typeof q=="string"){var u=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;var s;while((s=u.exec(q))!=null){r.setStyle(s[1],s[2])}}else{if(typeof q=="object"){for(var t in q){r.setStyle(t,q[t])}}else{if(typeof q=="function"){Ext.DomHelper.applyStyles(r,q.call())}}}}},insertHtml:function(t,s,r){t=t.toLowerCase();if(s.insertAdjacentHTML){if(m.test(s.tagName)){var v;if(v=p(s.tagName.toLowerCase(),t,s,r)){return v}}switch(t){case"beforebegin":s.insertAdjacentHTML("BeforeBegin",r);return s.previousSibling;case"afterbegin":s.insertAdjacentHTML("AfterBegin",r);return s.firstChild;case"beforeend":s.insertAdjacentHTML("BeforeEnd",r);return s.lastChild;case"afterend":s.insertAdjacentHTML("AfterEnd",r);return s.nextSibling}throw'Illegal insertion point -> "'+t+'"'}var q=s.ownerDocument.createRange();var u;switch(t){case"beforebegin":q.setStartBefore(s);u=q.createContextualFragment(r);s.parentNode.insertBefore(u,s);return s.previousSibling;case"afterbegin":if(s.firstChild){q.setStartBefore(s.firstChild);u=q.createContextualFragment(r);s.insertBefore(u,s.firstChild);return s.firstChild}else{s.innerHTML=r;return s.firstChild}case"beforeend":if(s.lastChild){q.setStartAfter(s.lastChild);u=q.createContextualFragment(r);s.appendChild(u);return s.lastChild}else{s.innerHTML=r;return s.lastChild}case"afterend":q.setStartAfter(s);u=q.createContextualFragment(r);s.parentNode.insertBefore(u,s.nextSibling);return s.nextSibling}throw'Illegal insertion point -> "'+t+'"'},insertBefore:function(s,r,q){return this.doInsert(s,r,q,"beforeBegin")},insertAfter:function(s,r,q){return this.doInsert(s,r,q,"afterEnd","nextSibling")},insertFirst:function(s,r,q){return this.doInsert(s,r,q,"afterBegin","firstChild")},doInsert:function(s,r,q,t,v){s=Ext.getDom(s);var w;if(this.useDom){w=a(r,null);(v==="firstChild"?s:s.parentNode).insertBefore(w,v?s[v]:s)}else{var u=b(r);w=this.insertHtml(t,s,u)}return q?Ext.get(w,true):w},append:function(s,r,q){s=Ext.getDom(s);var u;if(this.useDom){u=a(r,null);s.appendChild(u)}else{var t=b(r);u=this.insertHtml("beforeEnd",s,t)}return q?Ext.get(u,true):u},overwrite:function(s,r,q){s=Ext.getDom(s);s.innerHTML=b(r);return q?Ext.get(s.firstChild,true):s.firstChild},createTemplate:function(q){var r=b(q);return new Ext.Template(r)}}}();Ext.Template=function(c){var d=arguments;if(Ext.isArray(c)){c=c.join("")}else{if(d.length>1){var e=[];for(var g=0,b=d.length;g<b;g++){if(typeof d[g]=="object"){Ext.apply(this,d[g])}else{e[e.length]=d[g]}}c=e.join("")}}this.html=c;if(this.compiled){this.compile()}};Ext.Template.prototype={applyTemplate:function(e){if(this.compiled){return this.compiled(e)}var c=this.disableFormats!==true;var b=Ext.util.Format,d=this;var a=function(g,h,k,o){if(k&&c){if(k.substr(0,5)=="this."){return d.call(k.substr(5),e[h],e)}else{if(o){var p=/^\s*['"](.*)["']\s*$/;o=o.split(",");for(var l=0,n=o.length;l<n;l++){o[l]=o[l].replace(p,"$1")}o=[e[h]].concat(o)}else{o=[e[h]]}return b[k].apply(b,o)}}else{return e[h]!==undefined?e[h]:""}};return this.html.replace(this.re,a)},set:function(a,b){this.html=a;this.compiled=null;if(b){this.compile()}return this},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(m,name,format,args){if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="(values['"+name+"'] == undefined ? '' : "}return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'"};var body;if(Ext.isGecko){body="this.compiled = function(values){ return '"+this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn)+"';};"}else{body=["this.compiled = function(values){ return ['"];body.push(this.html.replace(/\\/g,"\\\\").replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn));body.push("'].join('');};");body=body.join("")}eval(body);return this},call:function(c,a,b){return this[c](a,b)},insertFirst:function(b,c,a){return this.doInsert("afterBegin",b,c,a)},insertBefore:function(b,c,a){return this.doInsert("beforeBegin",b,c,a)},insertAfter:function(b,c,a){return this.doInsert("afterEnd",b,c,a)},append:function(b,c,a){return this.doInsert("beforeEnd",b,c,a)},doInsert:function(b,a,g,h){try{a=Ext.getDom(a);var c=Ext.DomHelper.insertHtml(b,a,this.applyTemplate(g));return h?Ext.get(c,true):c}catch(d){}},overwrite:function(b,d,a){try{b=Ext.getDom(b);b.innerHTML=this.applyTemplate(d);return a?Ext.get(b.firstChild,true):b.firstChild}catch(c){}}};Ext.Template.prototype.apply=Ext.Template.prototype.applyTemplate;Ext.DomHelper.Template=Ext.Template;Ext.Template.from=function(a,b){a=Ext.getDom(a);return new Ext.Template(a.value||a.innerHTML,b||"")};Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={};var nonSpace=/\S/;var trimRe=/^\s+|\s+$/g;var tplRe=/\{(\d+)\}/g;var modeRe=/^(\s?[\/>+~]\s?|\s|$)/;var tagTokenRe=/^(#)?([\w-\*]+)/;var nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/;var opera=Ext.isOpera;function child(p,index){var i=0;var n=p.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null}function next(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n}function children(d){var n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}return this}function byClassName(c,a,v){if(!v){return c}var r=[],ri=-1,cn;for(var i=0,ci;ci=c[i];i++){if((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci}}return r}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(var i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(var j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();for(var i=0,ni,cn;ni=ns[i];i++){cn=opera?ni.childNodes:(ni.children||ni.childNodes);for(var j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){var utag=tagName.toUpperCase();for(var i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i<l;i++){a[a.length]=b[i]}return a}function byTag(cs,tagName){if(cs.tagName||cs==document){cs=[cs]}if(!tagName){return cs}var r=[],ri=-1;tagName=tagName.toLowerCase();for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){r[++ri]=ci}}return r}function byId(cs,attr,id){if(cs.tagName||cs==document){cs=[cs]}if(!id){return cs}var r=[],ri=-1;for(var i=0,ci;ci=cs[i];i++){if(ci&&ci.id==id){r[++ri]=ci;return r}}return r}function byAttribute(cs,attr,value,op,custom){var r=[],ri=-1,st=custom=="{";var f=Ext.DomQuery.operators[op];for(var i=0,ci;ci=cs[i];i++){if(ci.nodeType!=1){continue}var a;if(st){a=Ext.DomQuery.getStyle(ci,attr)}else{if(attr=="class"||attr=="className"){a=ci.className}else{if(attr=="for"){a=ci.htmlFor}else{if(attr=="href"){a=ci.getAttribute("href",2)}else{a=ci.getAttribute(attr)}}}}if((f&&f(a,value))||(!f&&a)){r[++ri]=ci}}return r}function byPseudo(cs,name,value){return Ext.DomQuery.pseudos[name](cs,value)}var isIE=window.ActiveXObject?true:false;eval("var batch = 30803;");var key=30803;function nodupIEXml(cs){var d=++key;cs[0].setAttribute("_nodup",d);var r=[cs[0]];for(var i=1,len=cs.length;i<len;i++){var c=cs[i];if(!c.getAttribute("_nodup")!=d){c.setAttribute("_nodup",d);r[r.length]=c}}for(var i=0,len=cs.length;i<len;i++){cs[i].removeAttribute("_nodup")}return r}function nodup(cs){if(!cs){return[]}var len=cs.length,c,i,r=cs,cj,ri=-1;if(!len||typeof cs.nodeType!="undefined"||len==1){return cs}if(isIE&&typeof cs[0].selectSingleNode!="undefined"){return nodupIEXml(cs)}var d=++key;cs[0]._nodup=d;for(i=1;c=cs[i];i++){if(c._nodup!=d){c._nodup=d}else{r=[];for(var j=0;j<i;j++){r[++ri]=cs[j]}for(j=i+1;cj=cs[j];j++){if(cj._nodup!=d){cj._nodup=d;r[++ri]=cj}}return r}}return r}function quickDiffIEXml(c1,c2){var d=++key;for(var i=0,len=c1.length;i<len;i++){c1[i].setAttribute("_qdiff",d)}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i].getAttribute("_qdiff")!=d){r[r.length]=c2[i]}}for(var i=0,len=c1.length;i<len;i++){c1[i].removeAttribute("_qdiff")}return r}function quickDiff(c1,c2){var len1=c1.length;if(!len1){return c2}if(isIE&&c1[0].selectSingleNode){return quickDiffIEXml(c1,c2)}var d=++key;for(var i=0;i<len1;i++){c1[i]._qdiff=d}var r=[];for(var i=0,len=c2.length;i<len;i++){if(c2[i]._qdiff!=d){r[r.length]=c2[i]}}return r}function quickId(ns,mode,root,id){if(ns==root){var d=root.ownerDocument||root;return d.getElementById(id)}ns=getNodes(ns,mode,"*");return byId(ns,null,id)}return{getStyle:function(el,name){return Ext.fly(el).getStyle(name)},compile:function(path,type){type=type||"select";var fn=["var f = function(root){\n var mode; ++batch; var n = root || document;\n"];var q=path,mode,lq;var tk=Ext.DomQuery.matchers;var tklen=tk.length;var mm;var lmode=q.match(modeRe);if(lmode&&lmode[1]){fn[fn.length]='mode="'+lmode[1].replace(trimRe,"")+'";';q=q.replace(lmode[1],"")}while(path.substr(0,1)=="/"){path=path.substr(1)}while(q&&lq!=q){lq=q;var tm=q.match(tagTokenRe);if(type=="select"){if(tm){if(tm[1]=="#"){fn[fn.length]='n = quickId(n, mode, root, "'+tm[2]+'");'}else{fn[fn.length]='n = getNodes(n, mode, "'+tm[2]+'");'}q=q.replace(tm[0],"")}else{if(q.substr(0,1)!="@"){fn[fn.length]='n = getNodes(n, mode, "*");'}}}else{if(tm){if(tm[1]=="#"){fn[fn.length]='n = byId(n, null, "'+tm[2]+'");'}else{fn[fn.length]='n = byTag(n, "'+tm[2]+'");'}q=q.replace(tm[0],"")}}while(!(mm=q.match(modeRe))){var matched=false;for(var j=0;j<tklen;j++){var t=tk[j];var m=q.match(t.re);if(m){fn[fn.length]=t.select.replace(tplRe,function(x,i){return m[i]});q=q.replace(m[0],"");matched=true;break}}if(!matched){throw'Error parsing selector, parsing failed at "'+q+'"'}}if(mm[1]){fn[fn.length]='mode="'+mm[1].replace(trimRe,"")+'";';q=q.replace(mm[1],"")}}fn[fn.length]="return nodup(n);\n}";eval(fn.join(""));return f},select:function(path,root,type){if(!root||root==document){root=document}if(typeof root=="string"){root=document.getElementById(root)}var paths=path.split(",");var results=[];for(var i=0,len=paths.length;i<len;i++){var p=paths[i].replace(trimRe,"");if(!cache[p]){cache[p]=Ext.DomQuery.compile(p);if(!cache[p]){throw p+" is not a valid selector"}}var result=cache[p](root);if(result&&result!=document){results=results.concat(result)}}if(paths.length>1){return nodup(results)}return results},selectNode:function(path,root){return Ext.DomQuery.select(path,root)[0]},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");if(!valueCache[path]){valueCache[path]=Ext.DomQuery.compile(path,"select")}var n=valueCache[path](root);n=n[0]?n[0]:n;var v=(n&&n.firstChild?n.firstChild.nodeValue:null);return((v===null||v===undefined||v==="")?defaultValue:v)},selectNumber:function(path,root,defaultValue){var v=Ext.DomQuery.selectValue(path,root,defaultValue||0);return parseFloat(v)},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)}var isArray=Ext.isArray(el);var result=Ext.DomQuery.filter(isArray?el:[el],ss);return isArray?(result.length==el.length):(result.length>0)},filter:function(els,ss,nonMatches){ss=ss.replace(trimRe,"");if(!simpleCache[ss]){simpleCache[ss]=Ext.DomQuery.compile(ss,"simple")}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w-]+)/,select:'n = byClassName(n, null, " {1} ");'},{re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w-]+)/,select:'n = byId(n, null, "{1}");'},{re:/^@([\w-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],operators:{"=":function(a,v){return a==v},"!=":function(a,v){return a!=v},"^=":function(a,v){return a&&a.substr(0,v.length)==v},"$=":function(a,v){return a&&a.substr(a.length-v.length)==v},"*=":function(a,v){return a&&a.indexOf(v)!==-1},"%=":function(a,v){return(a%v)==0},"|=":function(a,v){return a&&(a==v||a.substr(0,v.length+1)==v+"-")},"~=":function(a,v){return a&&(" "+a+" ").indexOf(" "+v+" ")!=-1}},pseudos:{"first-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n;for(var i=0,ci;ci=n=c[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1;var m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a);var f=(m[1]||1)-0,l=m[2]-0;for(var i=0,n;n=c[i];i++){var pn=n.parentNode;if(batch!=pn._batch){var j=0;for(var cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var cns=ci.childNodes,j=0,cn,empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if((ci.textContent||ci.innerText||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|");var r=[],ri=-1,s;for(var i=0,ci;ci=c[i];i++){for(var j=0;s=ss[j];j++){if(Ext.DomQuery.is(ci,s)){r[++ri]=ci;break}}}return r},odd:function(c){return this["nth-child"](c,"odd")},even:function(c){return this["nth-child"](c,"even")},nth:function(c,a){return c[a-1]||[]},first:function(c){return c[0]||[]},last:function(c){return c[c.length-1]||[]},has:function(c,ss){var s=Ext.DomQuery.select;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is;var r=[],ri=-1;for(var i=0,ci;ci=c[i];i++){var n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}();Ext.query=Ext.DomQuery.select;Ext.util.Observable=function(){if(this.listeners){this.on(this.listeners);delete this.listeners}};Ext.util.Observable.prototype={fireEvent:function(){if(this.eventsSuspended!==true){var a=this.events[arguments[0].toLowerCase()];if(typeof a=="object"){return a.fire.apply(a,Array.prototype.slice.call(arguments,1))}}return true},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(g,a,h,b){if(typeof g=="object"){b=g;for(var c in b){if(this.filterOptRe.test(c)){continue}if(typeof b[c]=="function"){this.addListener(c,b[c],b.scope,b)}else{this.addListener(c,b[c].fn,b[c].scope,b[c])}}return}b=(!b||typeof b=="boolean")?{}:b;g=g.toLowerCase();var d=this.events[g]||true;if(typeof d=="boolean"){d=new Ext.util.Event(this,g);this.events[g]=d}d.addListener(a,h,b)},removeListener:function(c,a,d){var b=this.events[c.toLowerCase()];if(typeof b=="object"){b.removeListener(a,d)}},purgeListeners:function(){for(var a in this.events){if(typeof this.events[a]=="object"){this.events[a].clearListeners()}}},relayEvents:function(b,d){var g=function(h){return function(){return this.fireEvent.apply(this,Ext.combine(h,Array.prototype.slice.call(arguments,0)))}};for(var e=0,a=d.length;e<a;e++){var c=d[e];if(!this.events[c]){this.events[c]=true}b.on(c,g(c),this)}},addEvents:function(c){if(!this.events){this.events={}}if(typeof c=="string"){for(var e=0,d=arguments,b;b=d[e];e++){if(!this.events[d[e]]){this.events[d[e]]=true}}}else{Ext.applyIf(this.events,c)}},hasListener:function(b){var a=this.events[b];return typeof a=="object"&&a.listeners.length>0},suspendEvents:function(){this.eventsSuspended=true},resumeEvents:function(){this.eventsSuspended=false},getMethodEvent:function(a){if(!this.methodEvents){this.methodEvents={}}var h=this.methodEvents[a];if(!h){h={};this.methodEvents[a]=h;h.originalFn=this[a];h.methodName=a;h.before=[];h.after=[];var b,d,k;var c=this;var g=function(e,m,l){if((d=e.apply(m||c,l))!==undefined){if(typeof d==="object"){if(d.returnValue!==undefined){b=d.returnValue}else{b=d}if(d.cancel===true){k=true}}else{if(d===false){k=true}else{b=d}}}};this[a]=function(){b=d=undefined;k=false;var l=Array.prototype.slice.call(arguments,0);for(var m=0,e=h.before.length;m<e;m++){g(h.before[m].fn,h.before[m].scope,l);if(k){return b}}if((d=h.originalFn.apply(c,l))!==undefined){b=d}for(var m=0,e=h.after.length;m<e;m++){g(h.after[m].fn,h.after[m].scope,l);if(k){return b}}return b}}return h},beforeMethod:function(b,a,d){var c=this.getMethodEvent(b);c.before.push({fn:a,scope:d})},afterMethod:function(b,a,d){var c=this.getMethodEvent(b);c.after.push({fn:a,scope:d})},removeMethodListener:function(b,a,h){var g=this.getMethodEvent(b);for(var d=0,c=g.before.length;d<c;d++){if(g.before[d].fn==a&&g.before[d].scope==h){g.before.splice(d,1);return}}for(var d=0,c=g.after.length;d<c;d++){if(g.after[d].fn==a&&g.after[d].scope==h){g.after.splice(d,1);return}}}};Ext.util.Observable.prototype.on=Ext.util.Observable.prototype.addListener;Ext.util.Observable.prototype.un=Ext.util.Observable.prototype.removeListener;Ext.util.Observable.capture=function(b,a,c){b.fireEvent=b.fireEvent.createInterceptor(a,c)};Ext.util.Observable.releaseCapture=function(a){a.fireEvent=Ext.util.Observable.prototype.fireEvent};(function(){var b=function(e,d,k){var g=new Ext.util.DelayedTask();return function(){g.delay(d.buffer,e,k,Array.prototype.slice.call(arguments,0))}};var a=function(g,k,d,l){return function(){k.removeListener(d,l);return g.apply(l,arguments)}};var c=function(e,d,g){return function(){var h=Array.prototype.slice.call(arguments,0);setTimeout(function(){e.apply(g,h)},d.delay||10)}};Ext.util.Event=function(e,d){this.name=d;this.obj=e;this.listeners=[]};Ext.util.Event.prototype={addListener:function(d,h,g){h=h||this.obj;if(!this.isListening(d,h)){var e=this.createListener(d,h,g);if(!this.firing){this.listeners.push(e)}else{this.listeners=this.listeners.slice(0);this.listeners.push(e)}}},createListener:function(d,m,e){e=e||{};m=m||this.obj;var g={fn:d,scope:m,options:e};var k=d;if(e.delay){k=c(k,e,m)}if(e.single){k=a(k,this,d,m)}if(e.buffer){k=b(k,e,m)}g.fireFn=k;return g},findListener:function(d,m){m=m||this.obj;var e=this.listeners;for(var k=0,g=e.length;k<g;k++){var h=e[k];if(h.fn==d&&h.scope==m){return k}}return -1},isListening:function(d,e){return this.findListener(d,e)!=-1},removeListener:function(d,g){var e;if((e=this.findListener(d,g))!=-1){if(!this.firing){this.listeners.splice(e,1)}else{this.listeners=this.listeners.slice(0);this.listeners.splice(e,1)}return true}return false},clearListeners:function(){this.listeners=[]},fire:function(){var e=this.listeners,m,d=e.length;if(d>0){this.firing=true;var g=Array.prototype.slice.call(arguments,0);for(var k=0;k<d;k++){var h=e[k];if(h.fireFn.apply(h.scope||this.obj||window,arguments)===false){this.firing=false;return false}}this.firing=false}return true}}})();Ext.EventManager=function(){var d,v,w=false;var u,e,k,x;var z=Ext.lib.Event;var y=Ext.lib.Dom;var o="Ext";var s={};var q=function(E,G,I,C,D){var B=Ext.id(E);if(!s[B]){s[B]={}}var H=s[B];if(!H[G]){H[G]=[]}var F=H[G];F.push({id:B,ename:G,fn:I,wrap:C,scope:D});z.on(E,G,C);if(G=="mousewheel"&&E.addEventListener){E.addEventListener("DOMMouseScroll",C,false);z.on(window,"unload",function(){E.removeEventListener("DOMMouseScroll",C,false)})}if(G=="mousedown"&&E==document){Ext.EventManager.stoppedMouseDownEvent.addListener(C)}};var m=function(G,I,L,F){G=Ext.getDom(G);var C=Ext.id(G),K=s[C],E;if(K){var H=K[I],D;if(H){for(var B=0,J=H.length;B<J;B++){D=H[B];if(D.fn==L&&(!F||D.scope==F)){E=D.wrap;z.un(G,I,E);H.splice(B,1);break}}}}if(I=="mousewheel"&&G.addEventListener&&E){G.removeEventListener("DOMMouseScroll",E,false)}if(I=="mousedown"&&G==document&&E){Ext.EventManager.stoppedMouseDownEvent.removeListener(E)}};var h=function(D){D=Ext.getDom(D);var G=Ext.id(D),H=s[G],C;if(H){for(var E in H){if(H.hasOwnProperty(E)){C=H[E];for(var F=0,B=C.length;F<B;F++){z.un(D,E,C[F].wrap);C[F]=null}}H[E]=null}delete s[G]}};var c=function(){if(!w){w=true;Ext.isReady=true;if(v){clearInterval(v)}if(Ext.isGecko||Ext.isOpera){document.removeEventListener("DOMContentLoaded",c,false)}if(Ext.isIE){var B=document.getElementById("ie-deferred-loader");if(B){B.onreadystatechange=null;B.parentNode.removeChild(B)}}if(d){d.fire();d.clearListeners()}}};var a=function(){d=new Ext.util.Event();if(Ext.isGecko||Ext.isOpera){document.addEventListener("DOMContentLoaded",c,false)}else{if(Ext.isIE){document.write('<script id="ie-deferred-loader" defer="defer" src="//:"></script>');var B=document.getElementById("ie-deferred-loader");B.onreadystatechange=function(){if(this.readyState=="complete"){c()}}}else{if(Ext.isWebKit){v=setInterval(function(){var C=document.readyState;if(C=="complete"){c()}},10)}}}z.on(window,"load",c)};var p=function(C,B){var D=new Ext.util.DelayedTask(C);return function(E){E=new Ext.EventObjectImpl(E);D.delay(B.buffer,C,null,[E])}};var t=function(E,C,D,B,F){return function(G){Ext.EventManager.removeListener(C,D,B,F);E(G)}};var A=function(C,B){return function(D){D=new Ext.EventObjectImpl(D);setTimeout(function(){C(D)},B.delay||10)}};var l=function(B,G,E,I,F){var C=(!E||typeof E=="boolean")?{}:E;I=I||C.fn;F=F||C.scope;var D=Ext.getDom(B);if(!D){throw'Error listening for "'+G+'". Element "'+B+"\" doesn't exist."}var H=function(K){if(!window[o]){return}K=Ext.EventObject.setEvent(K);var J;if(C.delegate){J=K.getTarget(C.delegate,D);if(!J){return}}else{J=K.target}if(C.stopEvent===true){K.stopEvent()}if(C.preventDefault===true){K.preventDefault()}if(C.stopPropagation===true){K.stopPropagation()}if(C.normalized===false){K=K.browserEvent}I.call(F||D,K,J,C)};if(C.delay){H=A(H,C)}if(C.single){H=t(H,D,G,I,F)}if(C.buffer){H=p(H,C)}q(D,G,I,H,F);return H};var n=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,r=0,b=0;var g={addListener:function(E,F,B,H,G){if(typeof F=="object"){var C=F;for(var D in C){if(n.test(D)){continue}if(typeof C[D]=="function"){l(E,D,C,C[D],C.scope)}else{l(E,D,C[D])}}return}return l(E,F,G,B,H)},removeListener:function(C,D,B,E){return m(C,D,B,E)},removeAll:function(B){return h(B)},onDocumentReady:function(B,D,C){if(w){d.addListener(B,D,C);d.fire();d.clearListeners();return}if(!d){a()}C=C||{};if(!C.delay){C.delay=1}d.addListener(B,D,C)},doResizeEvent:function(){var C=y.getViewHeight(),B=y.getViewWidth();if(b!=C||r!=B){u.fire(r=B,b=C)}},onWindowResize:function(B,D,C){if(!u){u=new Ext.util.Event();e=new Ext.util.DelayedTask(this.doResizeEvent);z.on(window,"resize",this.fireWindowResize,this)}u.addListener(B,D,C)},fireWindowResize:function(){if(u){if((Ext.isIE||Ext.isAir)&&e){e.delay(50)}else{u.fire(y.getViewWidth(),y.getViewHeight())}}},onTextResize:function(B,E,D){if(!k){k=new Ext.util.Event();var C=new Ext.Element(document.createElement("div"));C.dom.className="x-text-resize";C.dom.innerHTML="X";C.appendTo(document.body);x=C.dom.offsetHeight;setInterval(function(){if(C.dom.offsetHeight!=x){k.fire(x,x=C.dom.offsetHeight)}},this.textResizeInterval)}k.addListener(B,E,D)},removeResizeListener:function(B,C){if(u){u.removeListener(B,C)}},fireResize:function(){if(u){u.fire(y.getViewWidth(),y.getViewHeight())}},ieDeferSrc:false,textResizeInterval:50};g.on=g.addListener;g.un=g.removeListener;g.stoppedMouseDownEvent=new Ext.util.Event();return g}();Ext.onReady=Ext.EventManager.onDocumentReady;(function(){var a=function(){var b=document.body||document.getElementsByTagName("body")[0];if(!b){return false}var c=[" ",Ext.isIE?"ext-ie "+(Ext.isIE6?"ext-ie6":(Ext.isIE7?"ext-ie7":"ext-ie8")):Ext.isGecko?"ext-gecko "+(Ext.isGecko2?"ext-gecko2":"ext-gecko3"):Ext.isOpera?"ext-opera":Ext.isSafari?"ext-safari":Ext.isChrome?"ext-chrome":""];if(Ext.isMac){c.push("ext-mac")}if(Ext.isLinux){c.push("ext-linux")}if(Ext.isStrict||Ext.isBorderBox){var d=b.parentNode;if(d){d.className+=Ext.isStrict?" ext-strict":" ext-border-box"}}b.className+=c.join(" ");return true};if(!a()){Ext.onReady(a)}})();Ext.EventObject=function(){var c=Ext.lib.Event;var b={3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35};var a=Ext.isIE?{1:0,4:1,2:2}:(Ext.isWebKit?{1:0,2:1,3:2}:{0:0,1:1,2:2});Ext.EventObjectImpl=function(d){if(d){this.setEvent(d.browserEvent||d)}};Ext.EventObjectImpl.prototype={browserEvent:null,button:-1,shiftKey:false,ctrlKey:false,altKey:false,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,CONTROL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGEUP:33,PAGE_DOWN:34,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,setEvent:function(d){if(d==this||(d&&d.browserEvent)){return d}this.browserEvent=d;if(d){this.button=d.button?a[d.button]:(d.which?d.which-1:-1);if(d.type=="click"&&this.button==-1){this.button=0}this.type=d.type;this.shiftKey=d.shiftKey;this.ctrlKey=d.ctrlKey||d.metaKey;this.altKey=d.altKey;this.keyCode=d.keyCode;this.charCode=d.charCode;this.target=c.getTarget(d);this.xy=c.getXY(d)}else{this.button=-1;this.shiftKey=false;this.ctrlKey=false;this.altKey=false;this.keyCode=0;this.charCode=0;this.target=null;this.xy=[0,0]}return this},stopEvent:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}c.stopEvent(this.browserEvent)}},preventDefault:function(){if(this.browserEvent){c.preventDefault(this.browserEvent)}},isNavKeyPress:function(){var d=this.keyCode;d=Ext.isSafari?(b[d]||d):d;return(d>=33&&d<=40)||d==this.RETURN||d==this.TAB||d==this.ESC},isSpecialKey:function(){var d=this.keyCode;d=Ext.isSafari?(b[d]||d):d;return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(d==this.BACKSPACE)||(d>=16&&d<=20)||(d>=44&&d<=45)},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}c.stopPropagation(this.browserEvent)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){var d=this.keyCode||this.charCode;return Ext.isSafari?(b[d]||d):d},getPageX:function(){return this.xy[0]},getPageY:function(){return this.xy[1]},getTime:function(){if(this.browserEvent){return c.getTime(this.browserEvent)}return null},getXY:function(){return this.xy},getTarget:function(e,d,g){return e?Ext.fly(this.target).findParent(e,d,g):(g?Ext.get(this.target):this.target)},getRelatedTarget:function(){if(this.browserEvent){return c.getRelatedTarget(this.browserEvent)}return null},getWheelDelta:function(){var g=this.browserEvent;var d=0;if(g.wheelDelta){d=g.wheelDelta/120}else{if(g.detail){d=-g.detail/3}}return d},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false},within:function(g,d,e){var h=this[d?"getRelatedTarget":"getTarget"]();return h&&((e?(h===Ext.getDom(g)):false)||Ext.fly(g).contains(h))},getPoint:function(){return new Ext.lib.Point(this.xy[0],this.xy[1])}};return new Ext.EventObjectImpl()}();(function(){var D=Ext.lib.Dom;var E=Ext.lib.Event;var A=Ext.lib.Anim;var propCache={};var camelRe=/(-[a-z])/gi;var camelFn=function(m,a){return a.charAt(1).toUpperCase()};var view=document.defaultView;Ext.Element=function(element,forceNew){var dom=typeof element=="string"?document.getElementById(element):element;if(!dom){return null}var id=dom.id;if(forceNew!==true&&id&&Ext.Element.cache[id]){return Ext.Element.cache[id]}this.dom=dom;this.id=id||Ext.id(dom)};var El=Ext.Element;El.prototype={originalDisplay:"",visibilityMode:1,defaultUnit:"px",setVisibilityMode:function(visMode){this.visibilityMode=visMode;return this},enableDisplayMode:function(display){this.setVisibilityMode(El.DISPLAY);if(typeof display!="undefined"){this.originalDisplay=display}return this},findParent:function(simpleSelector,maxDepth,returnEl){var p=this.dom,b=document.body,depth=0,dq=Ext.DomQuery,stopEl;maxDepth=maxDepth||50;if(typeof maxDepth!="number"){stopEl=Ext.getDom(maxDepth);maxDepth=Number.MAX_VALUE}while(p&&p.nodeType==1&&depth<maxDepth&&p!=b&&p!=stopEl){if(dq.is(p,simpleSelector)){return returnEl?Ext.get(p):p}depth++;p=p.parentNode}return null},findParentNode:function(simpleSelector,maxDepth,returnEl){var p=Ext.fly(this.dom.parentNode,"_internal");return p?p.findParent(simpleSelector,maxDepth,returnEl):null},up:function(simpleSelector,maxDepth){return this.findParentNode(simpleSelector,maxDepth,true)},is:function(simpleSelector){return Ext.DomQuery.is(this.dom,simpleSelector)},animate:function(args,duration,onComplete,easing,animType){this.anim(args,{duration:duration,callback:onComplete,easing:easing},animType);return this},anim:function(args,opt,animType,defaultDur,defaultEase,cb){animType=animType||"run";opt=opt||{};var anim=Ext.lib.Anim[animType](this.dom,args,(opt.duration||defaultDur)||0.35,(opt.easing||defaultEase)||"easeOut",function(){Ext.callback(cb,this);Ext.callback(opt.callback,opt.scope||this,[this,opt])},this);opt.anim=anim;return anim},preanim:function(a,i){return !a[i]?false:(typeof a[i]=="object"?a[i]:{duration:a[i+1],callback:a[i+2],easing:a[i+3]})},clean:function(forceReclean){if(this.isCleaned&&forceReclean!==true){return this}var ns=/\S/;var d=this.dom,n=d.firstChild,ni=-1;while(n){var nx=n.nextSibling;if(n.nodeType==3&&!ns.test(n.nodeValue)){d.removeChild(n)}else{n.nodeIndex=++ni}n=nx}this.isCleaned=true;return this},scrollIntoView:function(container,hscroll){var c=Ext.getDom(container)||Ext.getBody().dom;var el=this.dom;var o=this.getOffsetsTo(c),l=o[0]+c.scrollLeft,t=o[1]+c.scrollTop,b=t+el.offsetHeight,r=l+el.offsetWidth;var ch=c.clientHeight;var ct=parseInt(c.scrollTop,10);var cl=parseInt(c.scrollLeft,10);var cb=ct+ch;var cr=cl+c.clientWidth;if(el.offsetHeight>ch||t<ct){c.scrollTop=t}else{if(b>cb){c.scrollTop=b-ch}}c.scrollTop=c.scrollTop;if(hscroll!==false){if(el.offsetWidth>c.clientWidth||l<cl){c.scrollLeft=l}else{if(r>cr){c.scrollLeft=r-c.clientWidth}}c.scrollLeft=c.scrollLeft}return this},scrollChildIntoView:function(child,hscroll){Ext.fly(child,"_scrollChildIntoView").scrollIntoView(this,hscroll)},autoHeight:function(animate,duration,onComplete,easing){var oldHeight=this.getHeight();this.clip();this.setHeight(1);setTimeout(function(){var height=parseInt(this.dom.scrollHeight,10);if(!animate){this.setHeight(height);this.unclip();if(typeof onComplete=="function"){onComplete()}}else{this.setHeight(oldHeight);this.setHeight(height,animate,duration,function(){this.unclip();if(typeof onComplete=="function"){onComplete()}}.createDelegate(this),easing)}}.createDelegate(this),0);return this},contains:function(el){if(!el){return false}return D.isAncestor(this.dom,el.dom?el.dom:el)},isVisible:function(deep){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none");if(deep!==true||!vis){return vis}var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!="body"){if(!Ext.fly(p,"_isVisible").isVisible()){return false}p=p.parentNode}return true},select:function(selector,unique){return El.select(selector,unique,this.dom)},query:function(selector){return Ext.DomQuery.select(selector,this.dom)},child:function(selector,returnDom){var n=Ext.DomQuery.selectNode(selector,this.dom);return returnDom?n:Ext.get(n)},down:function(selector,returnDom){var n=Ext.DomQuery.selectNode(" > "+selector,this.dom);return returnDom?n:Ext.get(n)},initDD:function(group,config,overrides){var dd=new Ext.dd.DD(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDProxy:function(group,config,overrides){var dd=new Ext.dd.DDProxy(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},initDDTarget:function(group,config,overrides){var dd=new Ext.dd.DDTarget(Ext.id(this.dom),group,config);return Ext.apply(dd,overrides)},setVisible:function(visible,animate){if(!animate||!A){if(this.visibilityMode==El.DISPLAY){this.setDisplayed(visible)}else{this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden"}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(0.01);this.setVisible(true)}this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,0.35,"easeIn",function(){if(!visible){if(visMode==El.DISPLAY){dom.style.display="none"}else{dom.style.visibility="hidden"}Ext.get(dom).setOpacity(1)}})}return this},isDisplayed:function(){return this.getStyle("display")!="none"},toggle:function(animate){this.setVisible(!this.isVisible(),this.preanim(arguments,0));return this},setDisplayed:function(value){if(typeof value=="boolean"){value=value?this.originalDisplay:"none"}this.setStyle("display",value);return this},focus:function(){try{this.dom.focus()}catch(e){}return this},blur:function(){try{this.dom.blur()}catch(e){}return this},addClass:function(className){if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.addClass(className[i])}}else{if(className&&!this.hasClass(className)){this.dom.className=this.dom.className+" "+className}}return this},radioClass:function(className){var siblings=this.dom.parentNode.childNodes;for(var i=0;i<siblings.length;i++){var s=siblings[i];if(s.nodeType==1){Ext.get(s).removeClass(className)}}this.addClass(className);return this},removeClass:function(className){if(!className||!this.dom.className){return this}if(Ext.isArray(className)){for(var i=0,len=className.length;i<len;i++){this.removeClass(className[i])}}else{if(this.hasClass(className)){var re=this.classReCache[className];if(!re){re=new RegExp("(?:^|\\s+)"+className+"(?:\\s+|$)","g");this.classReCache[className]=re}this.dom.className=this.dom.className.replace(re," ")}}return this},classReCache:{},toggleClass:function(className){if(this.hasClass(className)){this.removeClass(className)}else{this.addClass(className)}return this},hasClass:function(className){return className&&(" "+this.dom.className+" ").indexOf(" "+className+" ")!=-1},replaceClass:function(oldClassName,newClassName){this.removeClass(oldClassName);this.addClass(newClassName);return this},getStyles:function(){var a=arguments,len=a.length,r={};for(var i=0;i<len;i++){r[a[i]]=this.getStyle(a[i])}return r},getStyle:function(){return view&&view.getComputedStyle?function(prop){var el=this.dom,v,cs,camel;if(prop=="float"){prop="cssFloat"}if(v=el.style[prop]){return v}if(cs=view.getComputedStyle(el,"")){if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}return cs[camel]}return null}:function(prop){var el=this.dom,v,cs,camel;if(prop=="opacity"){if(typeof el.style.filter=="string"){var m=el.style.filter.match(/alpha\(opacity=(.*)\)/i);if(m){var fv=parseFloat(m[1]);if(!isNaN(fv)){return fv?fv/100:0}}}return 1}else{if(prop=="float"){prop="styleFloat"}}if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(v=el.style[camel]){return v}if(cs=el.currentStyle){return cs[camel]}return null}}(),setStyle:function(prop,value){if(typeof prop=="string"){var camel;if(!(camel=propCache[prop])){camel=propCache[prop]=prop.replace(camelRe,camelFn)}if(camel=="opacity"){this.setOpacity(value)}else{this.dom.style[camel]=value}}else{for(var style in prop){if(typeof prop[style]!="function"){this.setStyle(style,prop[style])}}}return this},applyStyles:function(style){Ext.DomHelper.applyStyles(this.dom,style);return this},getX:function(){return D.getX(this.dom)},getY:function(){return D.getY(this.dom)},getXY:function(){return D.getXY(this.dom)},getOffsetsTo:function(el){var o=this.getXY();var e=Ext.fly(el,"_internal").getXY();return[o[0]-e[0],o[1]-e[1]]},setX:function(x,animate){if(!animate||!A){D.setX(this.dom,x)}else{this.setXY([x,this.getY()],this.preanim(arguments,1))}return this},setY:function(y,animate){if(!animate||!A){D.setY(this.dom,y)}else{this.setXY([this.getX(),y],this.preanim(arguments,1))}return this},setLeft:function(left){this.setStyle("left",this.addUnits(left));return this},setTop:function(top){this.setStyle("top",this.addUnits(top));return this},setRight:function(right){this.setStyle("right",this.addUnits(right));return this},setBottom:function(bottom){this.setStyle("bottom",this.addUnits(bottom));return this},setXY:function(pos,animate){if(!animate||!A){D.setXY(this.dom,pos)}else{this.anim({points:{to:pos}},this.preanim(arguments,1),"motion")}return this},setLocation:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},moveTo:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));return this},getRegion:function(){return D.getRegion(this.dom)},getHeight:function(contentHeight){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight)||0;h=contentHeight!==true?h:h-this.getBorderWidth("tb")-this.getPadding("tb");return h<0?0:h},getWidth:function(contentWidth){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth)||0;w=contentWidth!==true?w:w-this.getBorderWidth("lr")-this.getPadding("lr");return w<0?0:w},getComputedHeight:function(){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight);if(!h){h=parseInt(this.getStyle("height"),10)||0;if(!this.isBorderBox()){h+=this.getFrameWidth("tb")}}return h},getComputedWidth:function(){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth);if(!w){w=parseInt(this.getStyle("width"),10)||0;if(!this.isBorderBox()){w+=this.getFrameWidth("lr")}}return w},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}},getStyleSize:function(){var w,h,d=this.dom,s=d.style;if(s.width&&s.width!="auto"){w=parseInt(s.width,10);if(Ext.isBorderBox){w-=this.getFrameWidth("lr")}}if(s.height&&s.height!="auto"){h=parseInt(s.height,10);if(Ext.isBorderBox){h-=this.getFrameWidth("tb")}}return{width:w||this.getWidth(true),height:h||this.getHeight(true)}},getViewSize:function(){var d=this.dom,doc=document,aw=0,ah=0;if(d==doc||d==doc.body){return{width:D.getViewWidth(),height:D.getViewHeight()}}else{return{width:d.clientWidth,height:d.clientHeight}}},getValue:function(asNumber){return asNumber?parseInt(this.dom.value,10):this.dom.value},adjustWidth:function(width){if(typeof width=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){width-=(this.getBorderWidth("lr")+this.getPadding("lr"))}if(width<0){width=0}}return width},adjustHeight:function(height){if(typeof height=="number"){if(this.autoBoxAdjust&&!this.isBorderBox()){height-=(this.getBorderWidth("tb")+this.getPadding("tb"))}if(height<0){height=0}}return height},setWidth:function(width,animate){width=this.adjustWidth(width);if(!animate||!A){this.dom.style.width=this.addUnits(width)}else{this.anim({width:{to:width}},this.preanim(arguments,1))}return this},setHeight:function(height,animate){height=this.adjustHeight(height);if(!animate||!A){this.dom.style.height=this.addUnits(height)}else{this.anim({height:{to:height}},this.preanim(arguments,1))}return this},setSize:function(width,height,animate){if(typeof width=="object"){height=width.height;width=width.width}width=this.adjustWidth(width);height=this.adjustHeight(height);if(!animate||!A){this.dom.style.width=this.addUnits(width);this.dom.style.height=this.addUnits(height)}else{this.anim({width:{to:width},height:{to:height}},this.preanim(arguments,2))}return this},setBounds:function(x,y,width,height,animate){if(!animate||!A){this.setSize(width,height);this.setLocation(x,y)}else{width=this.adjustWidth(width);height=this.adjustHeight(height);this.anim({points:{to:[x,y]},width:{to:width},height:{to:height}},this.preanim(arguments,4),"motion")}return this},setRegion:function(region,animate){this.setBounds(region.left,region.top,region.right-region.left,region.bottom-region.top,this.preanim(arguments,1));return this},addListener:function(eventName,fn,scope,options){Ext.EventManager.on(this.dom,eventName,fn,scope||this,options)},removeListener:function(eventName,fn,scope){Ext.EventManager.removeListener(this.dom,eventName,fn,scope||this);return this},removeAllListeners:function(){Ext.EventManager.removeAll(this.dom);return this},relayEvent:function(eventName,observable){this.on(eventName,function(e){observable.fireEvent(eventName,e)})},setOpacity:function(opacity,animate){if(!animate||!A){var s=this.dom.style;if(Ext.isIE){s.zoom=1;s.filter=(s.filter||"").replace(/alpha\([^\)]*\)/gi,"")+(opacity==1?"":" alpha(opacity="+opacity*100+")")}else{s.opacity=opacity}}else{this.anim({opacity:{to:opacity}},this.preanim(arguments,1),null,0.35,"easeIn")}return this},getLeft:function(local){if(!local){return this.getX()}else{return parseInt(this.getStyle("left"),10)||0}},getRight:function(local){if(!local){return this.getX()+this.getWidth()}else{return(this.getLeft(true)+this.getWidth())||0}},getTop:function(local){if(!local){return this.getY()}else{return parseInt(this.getStyle("top"),10)||0}},getBottom:function(local){if(!local){return this.getY()+this.getHeight()}else{return(this.getTop(true)+this.getHeight())||0}},position:function(pos,zIndex,x,y){if(!pos){if(this.getStyle("position")=="static"){this.setStyle("position","relative")}}else{this.setStyle("position",pos)}if(zIndex){this.setStyle("z-index",zIndex)}if(x!==undefined&&y!==undefined){this.setXY([x,y])}else{if(x!==undefined){this.setX(x)}else{if(y!==undefined){this.setY(y)}}}},clearPositioning:function(value){value=value||"";this.setStyle({left:value,right:value,top:value,bottom:value,"z-index":"",position:"static"});return this},getPositioning:function(){var l=this.getStyle("left");var t=this.getStyle("top");return{position:this.getStyle("position"),left:l,right:l?"":this.getStyle("right"),top:t,bottom:t?"":this.getStyle("bottom"),"z-index":this.getStyle("z-index")}},getBorderWidth:function(side){return this.addStyles(side,El.borders)},getPadding:function(side){return this.addStyles(side,El.paddings)},setPositioning:function(pc){this.applyStyles(pc);if(pc.right=="auto"){this.dom.style.right=""}if(pc.bottom=="auto"){this.dom.style.bottom=""}return this},fixDisplay:function(){if(this.getStyle("display")=="none"){this.setStyle("visibility","hidden");this.setStyle("display",this.originalDisplay);if(this.getStyle("display")=="none"){this.setStyle("display","block")}}},setOverflow:function(v){if(v=="auto"&&Ext.isMac&&Ext.isGecko2){this.dom.style.overflow="hidden";(function(){this.dom.style.overflow="auto"}).defer(1,this)}else{this.dom.style.overflow=v}},setLeftTop:function(left,top){this.dom.style.left=this.addUnits(left);this.dom.style.top=this.addUnits(top);return this},move:function(direction,distance,animate){var xy=this.getXY();direction=direction.toLowerCase();switch(direction){case"l":case"left":this.moveTo(xy[0]-distance,xy[1],this.preanim(arguments,2));break;case"r":case"right":this.moveTo(xy[0]+distance,xy[1],this.preanim(arguments,2));break;case"t":case"top":case"up":this.moveTo(xy[0],xy[1]-distance,this.preanim(arguments,2));break;case"b":case"bottom":case"down":this.moveTo(xy[0],xy[1]+distance,this.preanim(arguments,2));break}return this},clip:function(){if(!this.isClipped){this.isClipped=true;this.originalClip={o:this.getStyle("overflow"),x:this.getStyle("overflow-x"),y:this.getStyle("overflow-y")};this.setStyle("overflow","hidden");this.setStyle("overflow-x","hidden");this.setStyle("overflow-y","hidden")}return this},unclip:function(){if(this.isClipped){this.isClipped=false;var o=this.originalClip;if(o.o){this.setStyle("overflow",o.o)}if(o.x){this.setStyle("overflow-x",o.x)}if(o.y){this.setStyle("overflow-y",o.y)}}return this},getAnchorXY:function(anchor,local,s){var w,h,vp=false;if(!s){var d=this.dom;if(d==document.body||d==document){vp=true;w=D.getViewWidth();h=D.getViewHeight()}else{w=this.getWidth();h=this.getHeight()}}else{w=s.width;h=s.height}var x=0,y=0,r=Math.round;switch((anchor||"tl").toLowerCase()){case"c":x=r(w*0.5);y=r(h*0.5);break;case"t":x=r(w*0.5);y=0;break;case"l":x=0;y=r(h*0.5);break;case"r":x=w;y=r(h*0.5);break;case"b":x=r(w*0.5);y=h;break;case"tl":x=0;y=0;break;case"bl":x=0;y=h;break;case"br":x=w;y=h;break;case"tr":x=w;y=0;break}if(local===true){return[x,y]}if(vp){var sc=this.getScroll();return[x+sc.left,y+sc.top]}var o=this.getXY();return[x+o[0],y+o[1]]},getAlignToXY:function(el,p,o){el=Ext.get(el);if(!el||!el.dom){throw"Element.alignToXY with an element that doesn't exist"}var d=this.dom;var c=false;var p1="",p2="";o=o||[0,0];if(!p){p="tl-bl"}else{if(p=="?"){p="tl-bl?"}else{if(p.indexOf("-")==-1){p="tl-"+p}}}p=p.toLowerCase();var m=p.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!m){throw"Element.alignTo with an invalid alignment "+p}p1=m[1];p2=m[2];c=!!m[3];var a1=this.getAnchorXY(p1,true);var a2=el.getAnchorXY(p2,false);var x=a2[0]-a1[0]+o[0];var y=a2[1]-a1[1]+o[1];if(c){var w=this.getWidth(),h=this.getHeight(),r=el.getRegion();var dw=D.getViewWidth()-5,dh=D.getViewHeight()-5;var p1y=p1.charAt(0),p1x=p1.charAt(p1.length-1);var p2y=p2.charAt(0),p2x=p2.charAt(p2.length-1);var swapY=((p1y=="t"&&p2y=="b")||(p1y=="b"&&p2y=="t"));var swapX=((p1x=="r"&&p2x=="l")||(p1x=="l"&&p2x=="r"));var doc=document;var scrollX=(doc.documentElement.scrollLeft||doc.body.scrollLeft||0)+5;var scrollY=(doc.documentElement.scrollTop||doc.body.scrollTop||0)+5;if((x+w)>dw+scrollX){x=swapX?r.left-w:dw+scrollX-w}if(x<scrollX){x=swapX?r.right:scrollX}if((y+h)>dh+scrollY){y=swapY?r.top-h:dh+scrollY-h}if(y<scrollY){y=swapY?r.bottom:scrollY}}return[x,y]},getConstrainToXY:function(){var os={top:0,left:0,bottom:0,right:0};return function(el,local,offsets,proposedXY){el=Ext.get(el);offsets=offsets?Ext.applyIf(offsets,os):os;var vw,vh,vx=0,vy=0;if(el.dom==document.body||el.dom==document){vw=Ext.lib.Dom.getViewWidth();vh=Ext.lib.Dom.getViewHeight()}else{vw=el.dom.clientWidth;vh=el.dom.clientHeight;if(!local){var vxy=el.getXY();vx=vxy[0];vy=vxy[1]}}var s=el.getScroll();vx+=offsets.left+s.left;vy+=offsets.top+s.top;vw-=offsets.right;vh-=offsets.bottom;var vr=vx+vw;var vb=vy+vh;var xy=proposedXY||(!local?this.getXY():[this.getLeft(true),this.getTop(true)]);var x=xy[0],y=xy[1];var w=this.dom.offsetWidth,h=this.dom.offsetHeight;var moved=false;if((x+w)>vr){x=vr-w;moved=true}if((y+h)>vb){y=vb-h;moved=true}if(x<vx){x=vx;moved=true}if(y<vy){y=vy;moved=true}return moved?[x,y]:false}}(),adjustForConstraints:function(xy,parent,offsets){return this.getConstrainToXY(parent||document,false,offsets,xy)||xy},alignTo:function(element,position,offsets,animate){var xy=this.getAlignToXY(element,position,offsets);this.setXY(xy,this.preanim(arguments,3));return this},anchorTo:function(el,alignment,offsets,animate,monitorScroll,callback){var action=function(){this.alignTo(el,alignment,offsets,animate);Ext.callback(callback,this)};Ext.EventManager.onWindowResize(action,this);var tm=typeof monitorScroll;if(tm!="undefined"){Ext.EventManager.on(window,"scroll",action,this,{buffer:tm=="number"?monitorScroll:50})}action.call(this);return this},clearOpacity:function(){if(window.ActiveXObject){if(typeof this.dom.style.filter=="string"&&(/alpha/i).test(this.dom.style.filter)){this.dom.style.filter=""}}else{this.dom.style.opacity="";this.dom.style["-moz-opacity"]="";this.dom.style["-khtml-opacity"]=""}return this},hide:function(animate){this.setVisible(false,this.preanim(arguments,0));return this},show:function(animate){this.setVisible(true,this.preanim(arguments,0));return this},addUnits:function(size){return Ext.Element.addUnits(size,this.defaultUnit)},update:function(html,loadScripts,callback){if(typeof html=="undefined"){html=""}if(loadScripts!==true){this.dom.innerHTML=html;if(typeof callback=="function"){callback()}return this}var id=Ext.id();var dom=this.dom;html+='<span id="'+id+'"></span>';E.onAvailable(id,function(){var hd=document.getElementsByTagName("head")[0];var re=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig;var srcRe=/\ssrc=([\'\"])(.*?)\1/i;var typeRe=/\stype=([\'\"])(.*?)\1/i;var match;while(match=re.exec(html)){var attrs=match[1];var srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){var s=document.createElement("script");s.src=srcMatch[2];var typeMatch=attrs.match(typeRe);if(typeMatch&&typeMatch[2]){s.type=typeMatch[2]}hd.appendChild(s)}else{if(match[2]&&match[2].length>0){if(window.execScript){window.execScript(match[2])}else{window.eval(match[2])}}}}var el=document.getElementById(id);if(el){Ext.removeNode(el)}if(typeof callback=="function"){callback()}});dom.innerHTML=html.replace(/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,"");return this},load:function(){var um=this.getUpdater();um.update.apply(um,arguments);return this},getUpdater:function(){if(!this.updateManager){this.updateManager=new Ext.Updater(this)}return this.updateManager},unselectable:function(){this.dom.unselectable="on";this.swallowEvent("selectstart",true);this.applyStyles("-moz-user-select:none;-khtml-user-select:none;");this.addClass("x-unselectable");return this},getCenterXY:function(){return this.getAlignToXY(document,"c-c")},center:function(centerIn){this.alignTo(centerIn||document,"c-c");return this},isBorderBox:function(){return noBoxAdjust[this.dom.tagName.toLowerCase()]||Ext.isBorderBox},getBox:function(contentBox,local){var xy;if(!local){xy=this.getXY()}else{var left=parseInt(this.getStyle("left"),10)||0;var top=parseInt(this.getStyle("top"),10)||0;xy=[left,top]}var el=this.dom,w=el.offsetWidth,h=el.offsetHeight,bx;if(!contentBox){bx={x:xy[0],y:xy[1],0:xy[0],1:xy[1],width:w,height:h}}else{var l=this.getBorderWidth("l")+this.getPadding("l");var r=this.getBorderWidth("r")+this.getPadding("r");var t=this.getBorderWidth("t")+this.getPadding("t");var b=this.getBorderWidth("b")+this.getPadding("b");bx={x:xy[0]+l,y:xy[1]+t,0:xy[0]+l,1:xy[1]+t,width:w-(l+r),height:h-(t+b)}}bx.right=bx.x+bx.width;bx.bottom=bx.y+bx.height;return bx},getFrameWidth:function(sides,onlyContentBox){return onlyContentBox&&Ext.isBorderBox?0:(this.getPadding(sides)+this.getBorderWidth(sides))},setBox:function(box,adjust,animate){var w=box.width,h=box.height;if((adjust&&!this.autoBoxAdjust)&&!this.isBorderBox()){w-=(this.getBorderWidth("lr")+this.getPadding("lr"));h-=(this.getBorderWidth("tb")+this.getPadding("tb"))}this.setBounds(box.x,box.y,w,h,this.preanim(arguments,2));return this},repaint:function(){var dom=this.dom;this.addClass("x-repaint");setTimeout(function(){Ext.get(dom).removeClass("x-repaint")},1);return this},getMargins:function(side){if(!side){return{top:parseInt(this.getStyle("margin-top"),10)||0,left:parseInt(this.getStyle("margin-left"),10)||0,bottom:parseInt(this.getStyle("margin-bottom"),10)||0,right:parseInt(this.getStyle("margin-right"),10)||0}}else{return this.addStyles(side,El.margins)}},addStyles:function(sides,styles){var val=0,v,w;for(var i=0,len=sides.length;i<len;i++){v=this.getStyle(styles[sides.charAt(i)]);if(v){w=parseInt(v,10);if(w){val+=(w>=0?w:-1*w)}}}return val},createProxy:function(config,renderTo,matchBox){config=typeof config=="object"?config:{tag:"div",cls:config};var proxy;if(renderTo){proxy=Ext.DomHelper.append(renderTo,config,true)}else{proxy=Ext.DomHelper.insertBefore(this.dom,config,true)}if(matchBox){proxy.setBox(this.getBox())}return proxy},mask:function(msg,msgCls){if(this.getStyle("position")=="static"){this.addClass("x-masked-relative")}if(this._maskMsg){this._maskMsg.remove()}if(this._mask){this._mask.remove()}this._mask=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask"},true);this.addClass("x-masked");this._mask.setDisplayed(true);if(typeof msg=="string"){this._maskMsg=Ext.DomHelper.append(this.dom,{cls:"ext-el-mask-msg",cn:{tag:"div"}},true);var mm=this._maskMsg;mm.dom.className=msgCls?"ext-el-mask-msg "+msgCls:"ext-el-mask-msg";mm.dom.firstChild.innerHTML=msg;mm.setDisplayed(true);mm.center(this)}if(Ext.isIE&&!(Ext.isIE7&&Ext.isStrict)&&this.getStyle("height")=="auto"){this._mask.setSize(this.getWidth(),this.getHeight())}return this._mask},unmask:function(){if(this._mask){if(this._maskMsg){this._maskMsg.remove();delete this._maskMsg}this._mask.remove();delete this._mask}this.removeClass(["x-masked","x-masked-relative"])},isMasked:function(){return this._mask&&this._mask.isVisible()},createShim:function(){var el=document.createElement("iframe");el.frameBorder="0";el.className="ext-shim";if(Ext.isIE&&Ext.isSecure){el.src=Ext.SSL_SECURE_URL}var shim=Ext.get(this.dom.parentNode.insertBefore(el,this.dom));shim.autoBoxAdjust=false;return shim},remove:function(){Ext.removeNode(this.dom);delete El.cache[this.dom.id]},hover:function(overFn,outFn,scope){var preOverFn=function(e){if(!e.within(this,true)){overFn.apply(scope||this,arguments)}};var preOutFn=function(e){if(!e.within(this,true)){outFn.apply(scope||this,arguments)}};this.on("mouseover",preOverFn,this.dom);this.on("mouseout",preOutFn,this.dom);return this},addClassOnOver:function(className){this.hover(function(){Ext.fly(this,"_internal").addClass(className)},function(){Ext.fly(this,"_internal").removeClass(className)});return this},addClassOnFocus:function(className){this.on("focus",function(){Ext.fly(this,"_internal").addClass(className)},this.dom);this.on("blur",function(){Ext.fly(this,"_internal").removeClass(className)},this.dom);return this},addClassOnClick:function(className){var dom=this.dom;this.on("mousedown",function(){Ext.fly(dom,"_internal").addClass(className);var d=Ext.getDoc();var fn=function(){Ext.fly(dom,"_internal").removeClass(className);d.removeListener("mouseup",fn)};d.on("mouseup",fn)});return this},swallowEvent:function(eventName,preventDefault){var fn=function(e){e.stopPropagation();if(preventDefault){e.preventDefault()}};if(Ext.isArray(eventName)){for(var i=0,len=eventName.length;i<len;i++){this.on(eventName[i],fn)}return this}this.on(eventName,fn);return this},parent:function(selector,returnDom){return this.matchNode("parentNode","parentNode",selector,returnDom)},next:function(selector,returnDom){return this.matchNode("nextSibling","nextSibling",selector,returnDom)},prev:function(selector,returnDom){return this.matchNode("previousSibling","previousSibling",selector,returnDom)},first:function(selector,returnDom){return this.matchNode("nextSibling","firstChild",selector,returnDom)},last:function(selector,returnDom){return this.matchNode("previousSibling","lastChild",selector,returnDom)},matchNode:function(dir,start,selector,returnDom){var n=this.dom[start];while(n){if(n.nodeType==1&&(!selector||Ext.DomQuery.is(n,selector))){return !returnDom?Ext.get(n):n}n=n[dir]}return null},appendChild:function(el){el=Ext.get(el);el.appendTo(this);return this},createChild:function(config,insertBefore,returnDom){config=config||{tag:"div"};if(insertBefore){return Ext.DomHelper.insertBefore(insertBefore,config,returnDom!==true)}return Ext.DomHelper[!this.dom.firstChild?"overwrite":"append"](this.dom,config,returnDom!==true)},appendTo:function(el){el=Ext.getDom(el);el.appendChild(this.dom);return this},insertBefore:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el);return this},insertAfter:function(el){el=Ext.getDom(el);el.parentNode.insertBefore(this.dom,el.nextSibling);return this},insertFirst:function(el,returnDom){el=el||{};if(el.nodeType||el.dom){el=Ext.getDom(el);this.dom.insertBefore(el,this.dom.firstChild);return !returnDom?Ext.get(el):el}else{return this.createChild(el,this.dom.firstChild,returnDom)}},insertSibling:function(el,where,returnDom){var rt;if(Ext.isArray(el)){for(var i=0,len=el.length;i<len;i++){rt=this.insertSibling(el[i],where,returnDom)}return rt}where=where?where.toLowerCase():"before";el=el||{};var refNode=where=="before"?this.dom:this.dom.nextSibling;if(el.nodeType||el.dom){rt=this.dom.parentNode.insertBefore(Ext.getDom(el),refNode);if(!returnDom){rt=Ext.get(rt)}}else{if(where=="after"&&!this.dom.nextSibling){rt=Ext.DomHelper.append(this.dom.parentNode,el,!returnDom)}else{rt=Ext.DomHelper[where=="after"?"insertAfter":"insertBefore"](this.dom,el,!returnDom)}}return rt},wrap:function(config,returnDom){if(!config){config={tag:"div"}}var newEl=Ext.DomHelper.insertBefore(this.dom,config,!returnDom);newEl.dom?newEl.dom.appendChild(this.dom):newEl.appendChild(this.dom);return newEl},replace:function(el){el=Ext.get(el);this.insertBefore(el);el.remove();return this},replaceWith:function(el){if(el.nodeType||el.dom){el=Ext.getDom(el);this.dom.parentNode.insertBefore(el,this.dom)}else{el=this.insertSibling(el,"before")}El.uncache(this.id);Ext.removeNode(this.dom);this.dom=el;this.id=Ext.id(el);El.cache[this.id]=this;return this},insertHtml:function(where,html,returnEl){var el=Ext.DomHelper.insertHtml(where,this.dom,html);return returnEl?Ext.get(el):el},set:function(o,useSet){var el=this.dom;useSet=typeof useSet=="undefined"?(el.setAttribute?true:false):useSet;for(var attr in o){if(attr=="style"||typeof o[attr]=="function"){continue}if(attr=="cls"){el.className=o.cls}else{if(o.hasOwnProperty(attr)){if(useSet){el.setAttribute(attr,o[attr])}else{el[attr]=o[attr]}}}}if(o.style){Ext.DomHelper.applyStyles(el,o.style)}return this},addKeyListener:function(key,fn,scope){var config;if(typeof key!="object"||Ext.isArray(key)){config={key:key,fn:fn,scope:scope}}else{config={key:key.key,shift:key.shift,ctrl:key.ctrl,alt:key.alt,fn:fn,scope:scope}}return new Ext.KeyMap(this,config)},addKeyMap:function(config){return new Ext.KeyMap(this,config)},isScrollable:function(){var dom=this.dom;return dom.scrollHeight>dom.clientHeight||dom.scrollWidth>dom.clientWidth},scrollTo:function(side,value,animate){var prop=side.toLowerCase()=="left"?"scrollLeft":"scrollTop";if(!animate||!A){this.dom[prop]=value}else{var to=prop=="scrollLeft"?[value,this.dom.scrollTop]:[this.dom.scrollLeft,value];this.anim({scroll:{to:to}},this.preanim(arguments,2),"scroll")}return this},scroll:function(direction,distance,animate){if(!this.isScrollable()){return}var el=this.dom;var l=el.scrollLeft,t=el.scrollTop;var w=el.scrollWidth,h=el.scrollHeight;var cw=el.clientWidth,ch=el.clientHeight;direction=direction.toLowerCase();var scrolled=false;var a=this.preanim(arguments,2);switch(direction){case"l":case"left":if(w-l>cw){var v=Math.min(l+distance,w-cw);this.scrollTo("left",v,a);scrolled=true}break;case"r":case"right":if(l>0){var v=Math.max(l-distance,0);this.scrollTo("left",v,a);scrolled=true}break;case"t":case"top":case"up":if(t>0){var v=Math.max(t-distance,0);this.scrollTo("top",v,a);scrolled=true}break;case"b":case"bottom":case"down":if(h-t>ch){var v=Math.min(t+distance,h-ch);this.scrollTo("top",v,a);scrolled=true}break}return scrolled},translatePoints:function(x,y){if(typeof x=="object"||Ext.isArray(x)){y=x[1];x=x[0]}var p=this.getStyle("position");var o=this.getXY();var l=parseInt(this.getStyle("left"),10);var t=parseInt(this.getStyle("top"),10);if(isNaN(l)){l=(p=="relative")?0:this.dom.offsetLeft}if(isNaN(t)){t=(p=="relative")?0:this.dom.offsetTop}return{left:(x-o[0]+l),top:(y-o[1]+t)}},getScroll:function(){var d=this.dom,doc=document;if(d==doc||d==doc.body){var l,t;if(Ext.isIE&&Ext.isStrict){l=doc.documentElement.scrollLeft||(doc.body.scrollLeft||0);t=doc.documentElement.scrollTop||(doc.body.scrollTop||0)}else{l=window.pageXOffset||(doc.body.scrollLeft||0);t=window.pageYOffset||(doc.body.scrollTop||0)}return{left:l,top:t}}else{return{left:d.scrollLeft,top:d.scrollTop}}},getColor:function(attr,defaultValue,prefix){var v=this.getStyle(attr);if(!v||v=="transparent"||v=="inherit"){return defaultValue}var color=typeof prefix=="undefined"?"#":prefix;if(v.substr(0,4)=="rgb("){var rvs=v.slice(4,v.length-1).split(",");for(var i=0;i<3;i++){var h=parseInt(rvs[i]);var s=h.toString(16);if(h<16){s="0"+s}color+=s}}else{if(v.substr(0,1)=="#"){if(v.length==4){for(var i=1;i<4;i++){var c=v.charAt(i);color+=c+c}}else{if(v.length==7){color+=v.substr(1)}}}}return(color.length>5?color.toLowerCase():defaultValue)},boxWrap:function(cls){cls=cls||"x-box";var el=Ext.get(this.insertHtml("beforeBegin",String.format('<div class="{0}">'+El.boxMarkup+"</div>",cls)));el.child("."+cls+"-mc").dom.appendChild(this.dom);return el},getAttributeNS:Ext.isIE?function(ns,name){var d=this.dom;var type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]}return d[name]}:function(ns,name){var d=this.dom;return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)||d.getAttribute(name)||d[name]},getTextWidth:function(text,min,max){return(Ext.util.TextMetrics.measure(this.dom,Ext.value(text,this.dom.innerHTML,true)).width).constrain(min||0,max||1000000)}};var ep=El.prototype;ep.on=ep.addListener;ep.mon=ep.addListener;ep.getUpdateManager=ep.getUpdater;ep.un=ep.removeListener;ep.autoBoxAdjust=true;El.unitPattern=/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i;El.addUnits=function(v,defaultUnit){if(v===""||v=="auto"){return v}if(v===undefined){return""}if(typeof v=="number"||!El.unitPattern.test(v)){return v+(defaultUnit||"px")}return v};El.boxMarkup='<div class="{0}-tl"><div class="{0}-tr"><div class="{0}-tc"></div></div></div><div class="{0}-ml"><div class="{0}-mr"><div class="{0}-mc"></div></div></div><div class="{0}-bl"><div class="{0}-br"><div class="{0}-bc"></div></div></div>';El.VISIBILITY=1;El.DISPLAY=2;El.borders={l:"border-left-width",r:"border-right-width",t:"border-top-width",b:"border-bottom-width"};El.paddings={l:"padding-left",r:"padding-right",t:"padding-top",b:"padding-bottom"};El.margins={l:"margin-left",r:"margin-right",t:"margin-top",b:"margin-bottom"};El.cache={};var docEl;El.get=function(el){var ex,elm,id;if(!el){return null}if(typeof el=="string"){if(!(elm=document.getElementById(el))){return null}if(ex=El.cache[el]){ex.dom=elm}else{ex=El.cache[el]=new El(elm)}return ex}else{if(el.tagName){if(!(id=el.id)){id=Ext.id(el)}if(ex=El.cache[id]){ex.dom=el}else{ex=El.cache[id]=new El(el)}return ex}else{if(el instanceof El){if(el!=docEl){el.dom=document.getElementById(el.id)||el.dom;El.cache[el.id]=el}return el}else{if(el.isComposite){return el}else{if(Ext.isArray(el)){return El.select(el)}else{if(el==document){if(!docEl){var f=function(){};f.prototype=El.prototype;docEl=new f();docEl.dom=document}return docEl}}}}}}return null};El.uncache=function(el){for(var i=0,a=arguments,len=a.length;i<len;i++){if(a[i]){delete El.cache[a[i].id||a[i]]}}};El.garbageCollect=function(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThread);return}for(var eid in El.cache){var el=El.cache[eid],d=el.dom;if(!d||!d.parentNode||(!d.offsetParent&&!document.getElementById(eid))){delete El.cache[eid];if(d&&Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}}}};El.collectorThreadId=setInterval(El.garbageCollect,30000);var flyFn=function(){};flyFn.prototype=El.prototype;var _cls=new flyFn();El.Flyweight=function(dom){this.dom=dom};El.Flyweight.prototype=_cls;El.Flyweight.prototype.isFlyweight=true;El._flyweights={};El.fly=function(el,named){named=named||"_global";el=Ext.getDom(el);if(!el){return null}if(!El._flyweights[named]){El._flyweights[named]=new El.Flyweight()}El._flyweights[named].dom=el;return El._flyweights[named]};Ext.get=El.get;Ext.fly=El.fly;var noBoxAdjust=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};if(Ext.isIE||Ext.isGecko){noBoxAdjust.button=1}Ext.EventManager.on(window,"unload",function(){delete El.cache;delete El._flyweights})})();Ext.enableFx=true;Ext.Fx={slideIn:function(c,a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){c=c||"t";this.fixDisplay();var m=this.getFxRestore();var o=this.getBox();this.setSize(o);var d=this.fxWrap(m.pos,a,"hidden");var l=this.dom.style;l.visibility="visible";l.position="absolute";var e=function(){b.fxUnwrap(d,m.pos,a);l.width=m.width;l.height=m.height;b.afterFx(a)};var g,h={to:[o.x,o.y]},k={to:o.width},n={to:o.height};switch(c.toLowerCase()){case"t":d.setSize(o.width,0);l.left=l.bottom="0";g={height:n};break;case"l":d.setSize(0,o.height);l.right=l.top="0";g={width:k};break;case"r":d.setSize(0,o.height);d.setX(o.right);l.left=l.top="0";g={width:k,points:h};break;case"b":d.setSize(o.width,0);d.setY(o.bottom);l.left=l.top="0";g={height:n,points:h};break;case"tl":d.setSize(0,0);l.right=l.bottom="0";g={width:k,height:n};break;case"bl":d.setSize(0,0);d.setY(o.y+o.height);l.right=l.top="0";g={width:k,height:n,points:h};break;case"br":d.setSize(0,0);d.setXY([o.right,o.bottom]);l.left=l.top="0";g={width:k,height:n,points:h};break;case"tr":d.setSize(0,0);d.setX(o.x+o.width);l.left=l.bottom="0";g={width:k,height:n,points:h};break}this.dom.style.visibility="visible";d.show();arguments.callee.anim=d.fxanim(g,a,"motion",0.5,"easeOut",e)});return this},slideOut:function(c,a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){c=c||"t";var d=this.getFxRestore();var k=this.getBox();this.setSize(k);var m=this.fxWrap(d.pos,a,"visible");var e=this.dom.style;e.visibility="visible";e.position="absolute";m.setSize(k);var g=function(){if(a.useDisplay){b.setDisplayed(false)}else{b.hide()}b.fxUnwrap(m,d.pos,a);e.width=d.width;e.height=d.height;b.afterFx(a)};var h,l={to:0};switch(c.toLowerCase()){case"t":e.left=e.bottom="0";h={height:l};break;case"l":e.right=e.top="0";h={width:l};break;case"r":e.left=e.top="0";h={width:l,points:{to:[k.right,k.y]}};break;case"b":e.left=e.top="0";h={height:l,points:{to:[k.x,k.bottom]}};break;case"tl":e.right=e.bottom="0";h={width:l,height:l};break;case"bl":e.right=e.top="0";h={width:l,height:l,points:{to:[k.x,k.bottom]}};break;case"br":e.left=e.top="0";h={width:l,height:l,points:{to:[k.x+k.width,k.bottom]}};break;case"tr":e.left=e.bottom="0";h={width:l,height:l,points:{to:[k.right,k.y]}};break}arguments.callee.anim=m.fxanim(h,a,"motion",0.5,"easeOut",g)});return this},puff:function(a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){this.clearOpacity();this.show();var c=this.getFxRestore();var d=this.dom.style;var e=function(){if(a.useDisplay){b.setDisplayed(false)}else{b.hide()}b.clearOpacity();b.setPositioning(c.pos);d.width=c.width;d.height=c.height;d.fontSize="";b.afterFx(a)};var g=this.getWidth();var h=this.getHeight();arguments.callee.anim=this.fxanim({width:{to:this.adjustWidth(g*2)},height:{to:this.adjustHeight(h*2)},points:{by:[-(g*0.5),-(h*0.5)]},opacity:{to:0},fontSize:{to:200,unit:"%"}},a,"motion",0.5,"easeOut",e)});return this},switchOff:function(a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){this.clearOpacity();this.clip();var c=this.getFxRestore();var d=this.dom.style;var e=function(){if(a.useDisplay){b.setDisplayed(false)}else{b.hide()}b.clearOpacity();b.setPositioning(c.pos);d.width=c.width;d.height=c.height;b.afterFx(a)};this.fxanim({opacity:{to:0.3}},null,null,0.1,null,function(){this.clearOpacity();(function(){this.fxanim({height:{to:1},points:{by:[0,this.getHeight()*0.5]}},a,"motion",0.3,"easeIn",e)}).defer(100,this)})});return this},highlight:function(c,a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){c=c||"ffff9c";var l=a.attr||"backgroundColor";this.clearOpacity();this.show();var e=this.getColor(l);var g=this.dom.style[l];var k=(a.endColor||e)||"ffffff";var d=function(){b.dom.style[l]=g;b.afterFx(a)};var h={};h[l]={from:c,to:k};arguments.callee.anim=this.fxanim(h,a,"color",1,"easeIn",d)});return this},frame:function(g,a,b){var c=this.getFxEl(),d,e;b=b||{};c.queueFx(b,function(){g=g||"#C3DAF9";if(g.length==6){g="#"+g}a=a||1;this.show();var k=this.getXY(),o=this.dom,n={x:k[0],y:k[1],0:k[0],1:k[1],width:o.offsetWidth,height:o.offsetHeight},h,m=function(){h=Ext.get(document.body||document.documentElement).createChild({style:{visbility:"hidden",position:"absolute","z-index":35000,border:"0px solid "+g}});return h.queueFx({},l)};arguments.callee.anim={isAnimated:function(){return true},stop:function(){a=0;h.stopFx()}};function l(){var p=Ext.isBorderBox?2:1;e=h.anim({top:{from:n.y,to:n.y-20},left:{from:n.x,to:n.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:n.height,to:n.height+20*p},width:{from:n.width,to:n.width+20*p}},{duration:b.duration||1,callback:function(){h.remove();--a>0?m():c.afterFx(b)}});arguments.callee.anim={isAnimated:function(){return true},stop:function(){e.stop()}}}m()});return this},pause:function(b){var a=this.getFxEl(),c;a.queueFx({},function(){c=setTimeout(function(){a.afterFx({})},b*1000);arguments.callee.anim={isAnimated:function(){return true},stop:function(){clearTimeout(c);a.afterFx({})}}});return this},fadeIn:function(a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){this.setOpacity(0);this.fixDisplay();this.dom.style.visibility="visible";var c=a.endOpacity||1;arguments.callee.anim=this.fxanim({opacity:{to:c}},a,null,0.5,"easeOut",function(){if(c==1){this.clearOpacity()}b.afterFx(a)})});return this},fadeOut:function(a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){var c=a.endOpacity||0;arguments.callee.anim=this.fxanim({opacity:{to:c}},a,null,0.5,"easeOut",function(){if(c===0){if(this.visibilityMode==Ext.Element.DISPLAY||a.useDisplay){this.dom.style.display="none"}else{this.dom.style.visibility="hidden"}this.clearOpacity()}b.afterFx(a)})});return this},scale:function(b,c,a){this.shift(Ext.apply({},a,{width:b,height:c}));return this},shift:function(a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){var e={},g=a.width,k=a.height,c=a.x,d=a.y,l=a.opacity;if(g!==undefined){e.width={to:this.adjustWidth(g)}}if(k!==undefined){e.height={to:this.adjustHeight(k)}}if(a.left!==undefined){e.left={to:a.left}}if(a.top!==undefined){e.top={to:a.top}}if(a.right!==undefined){e.right={to:a.right}}if(a.bottom!==undefined){e.bottom={to:a.bottom}}if(c!==undefined||d!==undefined){e.points={to:[c!==undefined?c:this.getX(),d!==undefined?d:this.getY()]}}if(l!==undefined){e.opacity={to:l}}if(a.xy!==undefined){e.points={to:a.xy}}arguments.callee.anim=this.fxanim(e,a,"motion",0.35,"easeOut",function(){b.afterFx(a)})});return this},ghost:function(c,a){var b=this.getFxEl();a=a||{};b.queueFx(a,function(){c=c||"b";var d=this.getFxRestore();var l=this.getWidth(),m=this.getHeight();var e=this.dom.style;var g=function(){if(a.useDisplay){b.setDisplayed(false)}else{b.hide()}b.clearOpacity();b.setPositioning(d.pos);e.width=d.width;e.height=d.height;b.afterFx(a)};var k={opacity:{to:0},points:{}},n=k.points;switch(c.toLowerCase()){case"t":n.by=[0,-m];break;case"l":n.by=[-l,0];break;case"r":n.by=[l,0];break;case"b":n.by=[0,m];break;case"tl":n.by=[-l,-m];break;case"bl":n.by=[-l,m];break;case"br":n.by=[l,m];break;case"tr":n.by=[l,-m];break}arguments.callee.anim=this.fxanim(k,a,"motion",0.5,"easeOut",g)});return this},syncFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:true,stopFx:false});return this},sequenceFx:function(){this.fxDefaults=Ext.apply(this.fxDefaults||{},{block:false,concurrent:false,stopFx:false});return this},nextFx:function(){var a=this.fxQueue[0];if(a){a.call(this)}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0]},stopFx:function(){if(this.hasActiveFx()){var a=this.fxQueue[0];if(a&&a.anim&&a.anim.isAnimated()){this.fxQueue=[a];a.anim.stop(true)}}return this},beforeFx:function(a){if(this.hasActiveFx()&&!a.concurrent){if(a.stopFx){this.stopFx();return true}return false}return true},hasFxBlock:function(){var a=this.fxQueue;return a&&a[0]&&a[0].block},queueFx:function(b,a){if(!this.fxQueue){this.fxQueue=[]}if(!this.hasFxBlock()){Ext.applyIf(b,this.fxDefaults);if(!b.concurrent){var c=this.beforeFx(b);a.block=b.block;this.fxQueue.push(a);if(c){this.nextFx()}}else{a.call(this)}}return this},fxWrap:function(d,c,b){var g;if(!c.wrap||!(g=Ext.get(c.wrap))){var e;if(c.fixPosition){e=this.getXY()}var a=document.createElement("div");a.style.visibility=b;g=Ext.get(this.dom.parentNode.insertBefore(a,this.dom));g.setPositioning(d);if(g.getStyle("position")=="static"){g.position("relative")}this.clearPositioning("auto");g.clip();g.dom.appendChild(this.dom);if(e){g.setXY(e)}}return g},fxUnwrap:function(c,b,a){this.clearPositioning();this.setPositioning(b);if(!a.wrap){c.dom.parentNode.insertBefore(this.dom,c.dom);c.remove()}},getFxRestore:function(){var a=this.dom.style;return{pos:this.getPositioning(),width:a.width,height:a.height}},afterFx:function(a){if(a.afterStyle){this.applyStyles(a.afterStyle)}if(a.afterCls){this.addClass(a.afterCls)}if(a.remove===true){this.remove()}if(!a.concurrent){this.fxQueue.shift()}Ext.callback(a.callback,a.scope,[this]);if(!a.concurrent){this.nextFx()}},getFxEl:function(){return Ext.get(this.dom)},fxanim:function(c,h,b,g,d,a){b=b||"run";h=h||{};var e=Ext.lib.Anim[b](this.dom,c,(h.duration||g)||0.35,(h.easing||d)||"easeOut",function(){Ext.callback(a,this)},this);h.anim=e;return e}};Ext.Fx.resize=Ext.Fx.scale;Ext.apply(Ext.Element.prototype,Ext.Fx);Ext.CompositeElement=function(a){this.elements=[];this.addElements(a)};Ext.CompositeElement.prototype={isComposite:true,addElements:function(e){if(!e){return this}if(typeof e=="string"){e=Ext.Element.selectorFunction(e)}var a=this.elements;var d=a.length-1;for(var c=0,b=e.length;c<b;c++){a[++d]=Ext.get(e[c])}return this},fill:function(a){this.elements=[];this.add(a);return this},filter:function(a){var b=[];this.each(function(c){if(c.is(a)){b[b.length]=c.dom}});this.fill(b);return this},invoke:function(a,b){var e=this.elements;for(var d=0,c=e.length;d<c;d++){Ext.Element.prototype[a].apply(e[d],b)}return this},add:function(a){if(typeof a=="string"){this.addElements(Ext.Element.selectorFunction(a))}else{if(a.length!==undefined){this.addElements(a)}else{this.addElements([a])}}return this},each:function(a,e){var b=this.elements;for(var d=0,c=b.length;d<c;d++){if(a.call(e||b[d],b[d],this,d)===false){break}}return this},item:function(a){return this.elements[a]||null},first:function(){return this.item(0)},last:function(){return this.item(this.elements.length-1)},getCount:function(){return this.elements.length},contains:function(a){return this.indexOf(a)!==-1},indexOf:function(a){return this.elements.indexOf(Ext.get(a))},removeElement:function(b,e){if(Ext.isArray(b)){for(var h=0,a=b.length;h<a;h++){this.removeElement(b[h])}return this}var g=typeof b=="number"?b:this.indexOf(b);if(g!==-1&&this.elements[g]){if(e){var c=this.elements[g];if(c.dom){c.remove()}else{Ext.removeNode(c)}}this.elements.splice(g,1)}return this},replaceElement:function(b,c,a){var d=typeof b=="number"?b:this.indexOf(b);if(d!==-1){if(a){this.elements[d].replaceWith(c)}else{this.elements.splice(d,1,Ext.get(c))}}return this},clear:function(){this.elements=[]}};(function(){Ext.CompositeElement.createCall=function(b,c){if(!b[c]){b[c]=function(){return this.invoke(c,arguments)}}};for(var a in Ext.Element.prototype){if(typeof Ext.Element.prototype[a]=="function"){Ext.CompositeElement.createCall(Ext.CompositeElement.prototype,a)}}})();Ext.CompositeElementLite=function(a){Ext.CompositeElementLite.superclass.constructor.call(this,a);this.el=new Ext.Element.Flyweight()};Ext.extend(Ext.CompositeElementLite,Ext.CompositeElement,{addElements:function(e){if(e){if(Ext.isArray(e)){this.elements=this.elements.concat(e)}else{var a=this.elements;var d=a.length-1;for(var c=0,b=e.length;c<b;c++){a[++d]=e[c]}}}return this},invoke:function(a,b){var g=this.elements;var c=this.el;for(var e=0,d=g.length;e<d;e++){c.dom=g[e];Ext.Element.prototype[a].apply(c,b)}return this},item:function(a){if(!this.elements[a]){return null}this.el.dom=this.elements[a];return this.el},addListener:function(g,c,h,d){var b=this.elements;for(var e=0,a=b.length;e<a;e++){Ext.EventManager.on(b[e],g,c,h||b[e],d)}return this},each:function(a,g){var b=this.elements;var c=this.el;for(var e=0,d=b.length;e<d;e++){c.dom=b[e];if(a.call(g||c,c,this,e)===false){break}}return this},indexOf:function(a){return this.elements.indexOf(Ext.getDom(a))},replaceElement:function(b,e,a){var g=typeof b=="number"?b:this.indexOf(b);if(g!==-1){e=Ext.getDom(e);if(a){var c=this.elements[g];c.parentNode.insertBefore(e,c);Ext.removeNode(c)}this.elements.splice(g,1,e)}return this}});Ext.CompositeElementLite.prototype.on=Ext.CompositeElementLite.prototype.addListener;if(Ext.DomQuery){Ext.Element.selectorFunction=Ext.DomQuery.select}Ext.Element.select=function(c,b,a){var d;if(typeof c=="string"){d=Ext.Element.selectorFunction(c,a)}else{if(c.length!==undefined){d=c}else{throw"Invalid selector"}}if(b===true){return new Ext.CompositeElement(d)}else{return new Ext.CompositeElementLite(d)}};Ext.select=Ext.Element.select;Ext.data.Connection=function(a){Ext.apply(this,a);this.addEvents("beforerequest","requestcomplete","requestexception");Ext.data.Connection.superclass.constructor.call(this)};Ext.extend(Ext.data.Connection,Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(d){if(this.fireEvent("beforerequest",this,d)!==false){var m=d.params;if(typeof m=="function"){m=m.call(d.scope||window,d)}if(typeof m=="object"){m=Ext.urlEncode(m)}if(this.extraParams){var b=Ext.urlEncode(this.extraParams);m=m?(m+"&"+b):b}var e=d.url||this.url;if(typeof e=="function"){e=e.call(d.scope||window,d)}if(d.form){var c=Ext.getDom(d.form);e=e||c.action;var g=c.getAttribute("enctype");if(d.isUpload||(g&&g.toLowerCase()=="multipart/form-data")){return this.doFormUpload(d,m,e)}var l=Ext.lib.Ajax.serializeForm(c);m=m?(m+"&"+l):l}var a=d.headers;if(this.defaultHeaders){a=Ext.apply(a||{},this.defaultHeaders);if(!d.headers){d.headers=a}}var n={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:d},timeout:d.timeout||this.timeout};var k=d.method||this.method||((m||d.xmlData||d.jsonData)?"POST":"GET");if(k=="GET"&&(this.disableCaching&&d.disableCaching!==false)||d.disableCaching===true){var h=d.disableCachingParam||this.disableCachingParam;e+=(e.indexOf("?")!=-1?"&":"?")+h+"="+(new Date().getTime())}if(typeof d.autoAbort=="boolean"){if(d.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((k=="GET"||d.xmlData||d.jsonData)&&m){e+=(e.indexOf("?")!=-1?"&":"?")+m;m=""}this.transId=Ext.lib.Ajax.request(k,e,n,m,d);return this.transId}else{Ext.callback(d.callback,d.scope,[d,null,null]);return null}},isLoading:function(a){if(a){return Ext.lib.Ajax.isCallInProgress(a)}else{return this.transId?true:false}},abort:function(a){if(a||this.isLoading()){Ext.lib.Ajax.abort(a||this.transId)}},handleResponse:function(a){this.transId=false;var b=a.argument.options;a.argument=b?b.argument:null;this.fireEvent("requestcomplete",this,a,b);Ext.callback(b.success,b.scope,[a,b]);Ext.callback(b.callback,b.scope,[b,true,a])},handleFailure:function(a,c){this.transId=false;var b=a.argument.options;a.argument=b?b.argument:null;this.fireEvent("requestexception",this,a,b,c);Ext.callback(b.failure,b.scope,[a,b]);Ext.callback(b.callback,b.scope,[b,false,a])},doFormUpload:function(e,a,g){var b=Ext.id();var r=document.createElement("iframe");r.id=b;r.name=b;r.className="x-hidden";if(Ext.isIE){r.src=Ext.SSL_SECURE_URL}document.body.appendChild(r);if(Ext.isIE){document.frames[b].name=b}var d=Ext.getDom(e.form),m={target:d.target,method:d.method,encoding:d.encoding,enctype:d.enctype,action:d.action};d.target=b;d.method="POST";d.enctype=d.encoding="multipart/form-data";if(g){d.action=g}var n,l;if(a){n=[];a=Ext.urlDecode(a,false);for(var c in a){if(a.hasOwnProperty(c)){l=document.createElement("input");l.type="hidden";l.name=c;l.value=a[c];d.appendChild(l);n.push(l)}}}function q(){var k={responseText:"",responseXML:null};k.argument=e?e.argument:null;try{var o;if(Ext.isIE){o=r.contentWindow.document}else{o=(r.contentDocument||window.frames[b].document)}if(o&&o.body){k.responseText=o.body.innerHTML}if(o&&o.XMLDocument){k.responseXML=o.XMLDocument}else{k.responseXML=o}}catch(s){}Ext.EventManager.removeListener(r,"load",q,this);this.fireEvent("requestcomplete",this,k,e);Ext.callback(e.success,e.scope,[k,e]);Ext.callback(e.callback,e.scope,[e,true,k]);setTimeout(function(){Ext.removeNode(r)},100)}Ext.EventManager.on(r,"load",q,this);d.submit();d.target=m.target;d.method=m.method;d.enctype=m.enctype;d.encoding=m.encoding;d.action=m.action;if(n){for(var p=0,h=n.length;p<h;p++){Ext.removeNode(n[p])}}}});Ext.Ajax=new Ext.data.Connection({autoAbort:false,serializeForm:function(a){return Ext.lib.Ajax.serializeForm(a)}});Ext.Updater=Ext.extend(Ext.util.Observable,{constructor:function(a,b){a=Ext.get(a);if(!b&&a.updateManager){return a.updateManager}this.el=a;this.defaultUrl=null;this.addEvents("beforeupdate","update","failure");var c=Ext.Updater.defaults;this.sslBlankUrl=c.sslBlankUrl;this.disableCaching=c.disableCaching;this.indicatorText=c.indicatorText;this.showLoadIndicator=c.showLoadIndicator;this.timeout=c.timeout;this.loadScripts=c.loadScripts;this.transaction=null;this.refreshDelegate=this.refresh.createDelegate(this);this.updateDelegate=this.update.createDelegate(this);this.formUpdateDelegate=this.formUpdate.createDelegate(this);if(!this.renderer){this.renderer=this.getDefaultRenderer()}Ext.Updater.superclass.constructor.call(this)},getDefaultRenderer:function(){return new Ext.Updater.BasicRenderer()},getEl:function(){return this.el},update:function(e,a,h,d){if(this.fireEvent("beforeupdate",this.el,e,a)!==false){var g,c;if(typeof e=="object"){g=e;e=g.url;a=a||g.params;h=h||g.callback;d=d||g.discardUrl;c=g.scope;if(typeof g.nocache!="undefined"){this.disableCaching=g.nocache}if(typeof g.text!="undefined"){this.indicatorText='<div class="loading-indicator">'+g.text+"</div>"}if(typeof g.scripts!="undefined"){this.loadScripts=g.scripts}if(typeof g.timeout!="undefined"){this.timeout=g.timeout}}this.showLoading();if(!d){this.defaultUrl=e}if(typeof e=="function"){e=e.call(this)}var b=Ext.apply({},{url:e,params:(typeof a=="function"&&c)?a.createDelegate(c):a,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{options:g,url:e,form:null,callback:h,scope:c||window,params:a}},g);this.transaction=Ext.Ajax.request(b)}},formUpdate:function(b,a,c,d){if(this.fireEvent("beforeupdate",this.el,b,a)!==false){if(typeof a=="function"){a=a.call(this)}b=Ext.getDom(b);this.transaction=Ext.Ajax.request({form:b,url:a,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{url:a,form:b,callback:d,reset:c}});this.showLoading.defer(1,this)}},refresh:function(a){if(this.defaultUrl==null){return}this.update(this.defaultUrl,null,a,true)},startAutoRefresh:function(d,c,a,e,b){if(b){this.update(c||this.defaultUrl,a,e,true)}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[c||this.defaultUrl,a,e,true]),d*1000)},stopAutoRefresh:function(){if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId);delete this.autoRefreshProcId}},isAutoRefreshing:function(){return this.autoRefreshProcId?true:false},showLoading:function(){if(this.showLoadIndicator){this.el.update(this.indicatorText)}},processSuccess:function(a){this.transaction=null;if(a.argument.form&&a.argument.reset){try{a.argument.form.reset()}catch(b){}}if(this.loadScripts){this.renderer.render(this.el,a,this,this.updateComplete.createDelegate(this,[a]))}else{this.renderer.render(this.el,a,this);this.updateComplete(a)}},updateComplete:function(a){this.fireEvent("update",this.el,a);if(typeof a.argument.callback=="function"){a.argument.callback.call(a.argument.scope,this.el,true,a,a.argument.options)}},processFailure:function(a){this.transaction=null;this.fireEvent("failure",this.el,a);if(typeof a.argument.callback=="function"){a.argument.callback.call(a.argument.scope,this.el,false,a,a.argument.options)}},setRenderer:function(a){this.renderer=a},getRenderer:function(){return this.renderer},setDefaultUrl:function(a){this.defaultUrl=a},abort:function(){if(this.transaction){Ext.Ajax.abort(this.transaction)}},isUpdating:function(){if(this.transaction){return Ext.Ajax.isLoading(this.transaction)}return false}});Ext.Updater.defaults={timeout:30,loadScripts:false,sslBlankUrl:(Ext.SSL_SECURE_URL||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>'};Ext.Updater.updateElement=function(b,c,a,d){var e=Ext.get(b).getUpdater();Ext.apply(e,d);e.update(c,a,d?d.callback:null)};Ext.Updater.BasicRenderer=function(){};Ext.Updater.BasicRenderer.prototype={render:function(b,c,a,d){b.update(c.responseText,a.loadScripts,d)}};Ext.UpdateManager=Ext.Updater;(function(){Date.useStrict=false;function b(c){var d=Array.prototype.slice.call(arguments,1);return c.replace(/\{(\d+)\}/g,function(e,g){return d[g]})}Date.formatCodeToRegex=function(e,c){var d=Date.parseCodes[e];if(d){d=typeof d=="function"?d():d;Date.parseCodes[e]=d}return d?Ext.applyIf({c:d.c?b(d.c,c||"{0}"):d.c},d):{g:0,c:null,s:Ext.escapeRe(e)}};var a=Date.formatCodeToRegex;Ext.apply(Date,{parseFunctions:{"M$":function(d,g){var c=new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/");var e=(d||"").match(c);return e?new Date(((e[1]||"")+e[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:"String.leftPad(this.getDate(), 2, '0')",D:"Date.getShortDayName(this.getDay())",j:"this.getDate()",l:"Date.dayNames[this.getDay()]",N:"(this.getDay() ? this.getDay() : 7)",S:"this.getSuffix()",w:"this.getDay()",z:"this.getDayOfYear()",W:"String.leftPad(this.getWeekOfYear(), 2, '0')",F:"Date.monthNames[this.getMonth()]",m:"String.leftPad(this.getMonth() + 1, 2, '0')",M:"Date.getShortMonthName(this.getMonth())",n:"(this.getMonth() + 1)",t:"this.getDaysInMonth()",L:"(this.isLeapYear() ? 1 : 0)",o:"(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"this.getFullYear()",y:"('' + this.getFullYear()).substring(2, 4)",a:"(this.getHours() < 12 ? 'am' : 'pm')",A:"(this.getHours() < 12 ? 'AM' : 'PM')",g:"((this.getHours() % 12) ? this.getHours() % 12 : 12)",G:"this.getHours()",h:"String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"String.leftPad(this.getHours(), 2, '0')",i:"String.leftPad(this.getMinutes(), 2, '0')",s:"String.leftPad(this.getSeconds(), 2, '0')",u:"String.leftPad(this.getMilliseconds(), 3, '0')",O:"this.getGMTOffset()",P:"this.getGMTOffset(true)",T:"this.getTimezone()",Z:"(this.getTimezoneOffset() * -60)",c:function(){for(var g="Y-m-dTH:i:sP",d=[],h=0,m=g.length;h<m;++h){var k=g.charAt(h);d.push(k=="T"?"'T'":Date.getFormatCode(k))}return d.join(" + ")},U:"Math.round(this.getTime() / 1000)"},isValid:function(k,e,l,p,c,o,n){p=p||0;c=c||0;o=o||0;n=n||0;var g=new Date(k,e-1,l,p,c,o,n);return k==g.getFullYear()&&e==g.getMonth()+1&&l==g.getDate()&&p==g.getHours()&&c==g.getMinutes()&&o==g.getSeconds()&&n==g.getMilliseconds()},parseDate:function(d,c,g){var e=Date.parseFunctions;if(e[c]==null){Date.createParser(c)}return e[c](d,g===undefined?Date.useStrict:g)},getFormatCode:function(d){var c=Date.formatCodes[d];if(c){c=typeof c=="function"?c():c;Date.formatCodes[d]=c}return c||("'"+String.escape(d)+"'")},createFormat:function(c){var e=[],g=false,h="";for(var d=0;d<c.length;++d){h=c.charAt(d);if(!g&&h=="\\"){g=true}else{if(g){g=false;e.push("'"+String.escape(h)+"'")}else{e.push(Date.getFormatCode(h))}}}Date.formatFunctions[c]=new Function("return "+e.join("+"))},createParser:function(){var c=["var dt, y, m, d, h, i, s, ms, o, z, zz, u, v,","def = Date.defaults,","results = String(input).match(Date.parseRegexes[{0}]);","if(results){","{1}","if(u != null){","v = new Date(u * 1000);","}else{","dt = (new Date()).clearTime();","y = y >= 0? y : Ext.num(def.y, dt.getFullYear());","m = m >= 0? m : Ext.num(def.m - 1, dt.getMonth());","d = d >= 0? d : Ext.num(def.d, dt.getDate());","h  = h || Ext.num(def.h, dt.getHours());","i  = i || Ext.num(def.i, dt.getMinutes());","s  = s || Ext.num(def.s, dt.getSeconds());","ms = ms || Ext.num(def.ms, dt.getMilliseconds());","if(z >= 0 && y >= 0){","v = new Date(y, 0, 1, h, i, s, ms);","v = !strict? v : (strict === true && (z <= 364 || (v.isLeapYear() && z <= 365))? v.add(Date.DAY, z) : null);","}else if(strict === true && !Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = new Date(y, m, d, h, i, s, ms);","}","}","}","if(v){","if(zz != null){","v = v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(k){var h=Date.parseRegexes.length,g=1,m=[],l=[],o=false,n="";for(var d=0;d<k.length;++d){n=k.charAt(d);if(!o&&n=="\\"){o=true}else{if(o){o=false;l.push(String.escape(n))}else{var e=a(n,g);g+=e.g;l.push(e.s);if(e.g&&e.c){m.push(e.c)}}}}Date.parseRegexes[h]=new RegExp("^"+l.join("")+"$","i");Date.parseFunctions[k]=new Function("input","strict",b(c,h,m.join("")))}}(),parseCodes:{d:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},j:{g:1,c:"d = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},D:function(){for(var c=[],d=0;d<7;c.push(Date.getShortDayName(d)),++d){}return{g:0,c:null,s:"(?:"+c.join("|")+")"}},l:function(){return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"}},N:{g:0,c:null,s:"[1-7]"},S:{g:0,c:null,s:"(?:st|nd|rd|th)"},w:{g:0,c:null,s:"[0-6]"},z:{g:1,c:"z = parseInt(results[{0}], 10);\n",s:"(\\d{1,3})"},W:{g:0,c:null,s:"(?:\\d{2})"},F:function(){return{g:1,c:"m = parseInt(Date.getMonthNumber(results[{0}]), 10);\n",s:"("+Date.monthNames.join("|")+")"}},M:function(){for(var c=[],d=0;d<12;c.push(Date.getShortMonthName(d)),++d){}return Ext.applyIf({s:"("+c.join("|")+")"},a("F"))},m:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{2})"},n:{g:1,c:"m = parseInt(results[{0}], 10) - 1;\n",s:"(\\d{1,2})"},t:{g:0,c:null,s:"(?:\\d{2})"},L:{g:0,c:null,s:"(?:1|0)"},o:function(){return a("Y")},Y:{g:1,c:"y = parseInt(results[{0}], 10);\n",s:"(\\d{4})"},y:{g:1,c:"var ty = parseInt(results[{0}], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (results[{0}] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"},A:{g:1,c:"if (results[{0}] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"},g:function(){return a("G")},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return a("H")},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"(\\d{2})"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + String.leftPad(hr, 2, '0') + String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var g=[],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 e=0,d=c.length;e<d;++e){g.push(c[e].c)}return{g:1,c:g.join(""),s:[c[0].s,"(?:","-",c[1].s,"(?:","-",c[2].s,"(?:","(?:T| )?",c[3].s,":",c[4].s,"(?::",c[5].s,")?","(?:(?:\\.|,)(\\d+))?","(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?",")?",")?",")?"].join("")}},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}}})}());Ext.apply(Date.prototype,{dateFormat:function(a){if(Date.formatFunctions[a]==null){Date.createFormat(a)}return Date.formatFunctions[a].call(this)},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getGMTOffset:function(a){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+(a?":":"")+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")},getDayOfYear:function(){var c=0,e=0,b=this.clone(),a=this.getMonth();for(c=0,b.setMonth(0);c<a;b.setMonth(++c)){e+=b.getDaysInMonth()}return e+this.getDate()-1},getWeekOfYear:function(){var b=86400000,a=7*b;return function(){var d=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/b,e=Math.floor(d/7),c=new Date(e*a).getUTCFullYear();return e-Math.floor(Date.UTC(c,0,7)/a)+1}}(),isLeapYear:function(){var a=this.getFullYear();return !!((a&3)==0&&(a%100||(a%400==0&&a)))},getFirstDayOfMonth:function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a<0)?(a+7):a},getLastDayOfMonth:function(){return this.getLastDateOfMonth().getDay()},getFirstDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)},getLastDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())},getDaysInMonth:function(){var a=[31,28,31,30,31,30,31,31,30,31,30,31];return function(){var b=this.getMonth();return b==1&&this.isLeapYear()?29:a[b]}}(),getSuffix:function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},clone:function(){return new Date(this.getTime())},isDST:function(){return new Date(this.getFullYear(),0,1).getTimezoneOffset()!=this.getTimezoneOffset()},clearTime:function(e){if(e){return this.clone().clearTime()}var b=this.getDate();this.setHours(0);this.setMinutes(0);this.setSeconds(0);this.setMilliseconds(0);if(this.getDate()!=b){for(var g=1,a=this.add(Date.HOUR,g);a.getDate()!=b;g++,a=this.add(Date.HOUR,g)){}this.setDate(b);this.setHours(a.getHours())}return this},add:function(b,a){var c=this.clone();if(!b||a===0){return c}switch(b.toLowerCase()){case Date.MILLI:c.setMilliseconds(this.getMilliseconds()+a);break;case Date.SECOND:c.setSeconds(this.getSeconds()+a);break;case Date.MINUTE:c.setMinutes(this.getMinutes()+a);break;case Date.HOUR:c.setHours(this.getHours()+a);break;case Date.DAY:c.setDate(this.getDate()+a);break;case Date.MONTH:var e=this.getDate();if(e>28){e=Math.min(e,this.getFirstDateOfMonth().add("mo",a).getLastDateOfMonth().getDate())}c.setDate(e);c.setMonth(this.getMonth()+a);break;case Date.YEAR:c.setFullYear(this.getFullYear()+a);break}return c},between:function(b,c){var a=this.getTime();return b.getTime()<=a&&a<=c.getTime()}});Date.prototype.format=Date.prototype.dateFormat;if(Ext.isSafari&&(navigator.userAgent.match(/WebKit\/(\d+)/)[1]||NaN)<420){Ext.apply(Date.prototype,{_xMonth:Date.prototype.setMonth,_xDate:Date.prototype.setDate,setMonth:function(d){if(d<=-1){var b=Math.ceil(-d),a=Math.ceil(b/12),c=(b%12)?12-b%12:0;this.setFullYear(this.getFullYear()-a);return this._xMonth(c)}else{return this._xMonth(d)}},setDate:function(a){return this.setTime(this.getTime()-(this.getDate()-a)*86400000)}})}Ext.util.DelayedTask=function(a,e,b){var d=null;var c=function(){d=null;a.apply(e,b||[])};this.delay=function(l,k,g,h){if(d){this.cancel()}a=k||a;e=g||e;b=h||b;if(!d){d=setTimeout(c,l)}};this.cancel=function(){if(d){clearTimeout(d);d=null}}};Ext.util.TaskRunner=function(l){l=l||10;var k=[],h=[];var a=0;var d=false;var g=function(){d=false;clearInterval(a);a=0};var b=function(){if(!d){d=true;a=setInterval(c,l)}};var e=function(m){h.push(m);if(m.onStop){m.onStop.apply(m.scope||m)}};var c=function(){if(h.length>0){for(var q=0,m=h.length;q<m;q++){k.remove(h[q])}h=[];if(k.length<1){g();return}}var p,s=new Date().getTime();for(var q=0,m=k.length;q<m;++q){var n=k[q];var r=s-n.taskRunTime;if(n.interval<=r){p=++n.taskRunCount;var o=n.run.apply(n.scope||n,n.args||[p]);n.taskRunTime=s;if(o===false||p===n.repeat){e(n);return}}if(n.duration&&n.duration<=(s-n.taskStartTime)){e(n)}}};this.start=function(m){k.push(m);m.taskStartTime=new Date().getTime();m.taskRunTime=0;m.taskRunCount=0;b();return m};this.stop=function(m){e(m);return m};this.stopAll=function(){g();for(var n=0,m=k.length;n<m;n++){if(k[n].onStop){k[n].onStop()}}k=[];h=[]}};Ext.TaskMgr=new Ext.util.TaskRunner();Ext.util.MixedCollection=function(a,b){this.items=[];this.map={};this.keys=[];this.length=0;this.addEvents("clear","add","replace","remove","sort");this.allowFunctions=a===true;if(b){this.getKey=b}Ext.util.MixedCollection.superclass.constructor.call(this)};Ext.extend(Ext.util.MixedCollection,Ext.util.Observable,{allowFunctions:false,add:function(a,c){if(arguments.length==1){c=arguments[0];a=this.getKey(c)}if(typeof a!="undefined"&&a!==null){var b=this.map[a];if(typeof b!="undefined"){return this.replace(a,c)}this.map[a]=c}this.length++;this.items.push(c);this.keys.push(a);this.fireEvent("add",this.length-1,c,a);return c},getKey:function(a){return a.id},replace:function(a,c){if(arguments.length==1){c=arguments[0];a=this.getKey(c)}var b=this.map[a];if(typeof a=="undefined"||a===null||typeof b=="undefined"){return this.add(a,c)}var d=this.indexOfKey(a);this.items[d]=c;this.map[a]=c;this.fireEvent("replace",a,b,c);return c},addAll:function(a){if(arguments.length>1||Ext.isArray(a)){var b=arguments.length>1?arguments:a;for(var e=0,c=b.length;e<c;e++){this.add(b[e])}}else{for(var d in a){if(this.allowFunctions||typeof a[d]!="function"){this.add(d,a[d])}}}},each:function(a,e){var c=[].concat(this.items);for(var d=0,b=c.length;d<b;d++){if(a.call(e||c[d],c[d],d,b)===false){break}}},eachKey:function(a,d){for(var c=0,b=this.keys.length;c<b;c++){a.call(d||window,this.keys[c],this.items[c],c,b)}},find:function(a,d){for(var c=0,b=this.items.length;c<b;c++){if(a.call(d||window,this.items[c],this.keys[c])){return this.items[c]}}return null},insert:function(c,a,b){if(arguments.length==2){b=arguments[1];a=this.getKey(b)}if(this.containsKey(a)){this.suspendEvents();this.removeKey(a);this.resumeEvents()}if(c>=this.length){return this.add(a,b)}this.length++;this.items.splice(c,0,b);if(typeof a!="undefined"&&a!=null){this.map[a]=b}this.keys.splice(c,0,a);this.fireEvent("add",c,b,a);return b},remove:function(a){return this.removeAt(this.indexOf(a))},removeAt:function(c){if(c<this.length&&c>=0){this.length--;var a=this.items[c];this.items.splice(c,1);var b=this.keys[c];if(typeof b!="undefined"){delete this.map[b]}this.keys.splice(c,1);this.fireEvent("remove",a,b);return a}return false},removeKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return this.items.indexOf(a)},indexOfKey:function(a){return this.keys.indexOf(a)},item:function(a){var c=this.map[a],b=c!==undefined?c:(typeof a=="number")?this.items[a]:undefined;return typeof b!="function"||this.allowFunctions?b:null},itemAt:function(a){return this.items[a]},key:function(a){return this.map[a]},contains:function(a){return this.indexOf(a)!=-1},containsKey:function(a){return typeof this.map[a]!="undefined"},clear:function(){this.length=0;this.items=[];this.keys=[];this.map={};this.fireEvent("clear")},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},_sort:function(l,e,g){var n=String(e).toUpperCase()=="DESC"?-1:1;g=g||function(c,k){return c-k};var h=[],b=this.keys,d=this.items;for(var a=0,m=d.length;a<m;a++){h[h.length]={key:b[a],value:d[a],index:a}}h.sort(function(k,o){var c=g(k[l],o[l])*n;if(c==0){c=(k.index<o.index?-1:1)}return c});for(var a=0,m=h.length;a<m;a++){d[a]=h[a].value;b[a]=h[a].key}this.fireEvent("sort",this)},sort:function(b,a){this._sort("value",b,a)},keySort:function(b,a){this._sort("key",b,a||function(e,g){var d=String(e).toUpperCase(),c=String(g).toUpperCase();return d>c?1:(d<c?-1:0)})},getRange:function(c,d){var e=this.items;if(e.length<1){return[]}c=c||0;d=Math.min(typeof d=="undefined"?this.length-1:d,this.length-1);var a=[];if(c<=d){for(var b=c;b<=d;b++){a[a.length]=e[b]}}else{for(var b=c;b>=d;b--){a[a.length]=e[b]}}return a},filter:function(c,b,d,a){if(Ext.isEmpty(b,false)){return this.clone()}b=this.createValueMatcher(b,d,a);return this.filterBy(function(e){return e&&b.test(e[c])})},filterBy:function(a,h){var e=new Ext.util.MixedCollection();e.getKey=this.getKey;var g=this.keys,b=this.items;for(var c=0,d=b.length;c<d;c++){if(a.call(h||this,b[c],g[c])){e.add(g[c],b[c])}}return e},findIndex:function(c,b,a,e,d){if(Ext.isEmpty(b,false)){return -1}b=this.createValueMatcher(b,e,d);return this.findIndexBy(function(g){return g&&b.test(g[c])},null,a)},findIndexBy:function(a,h,c){var g=this.keys,e=this.items;for(var b=(c||0),d=e.length;b<d;b++){if(a.call(h||this,e[b],g[b])){return b}}return -1},createValueMatcher:function(b,c,a){if(!b.exec){b=String(b);b=new RegExp((c===true?"":"^")+Ext.escapeRe(b),a?"":"i")}return b},clone:function(){var a=new Ext.util.MixedCollection();var d=this.keys,c=this.items;for(var b=0,e=c.length;b<e;b++){a.add(d[b],c[b])}a.getKey=this.getKey;return a}});Ext.util.MixedCollection.prototype.get=Ext.util.MixedCollection.prototype.item;Ext.util.JSON=new (function(){var useHasOwn=!!{}.hasOwnProperty;var pad=function(n){return n<10?"0"+n:n};var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};var encodeString=function(s){if(/["\\\x00-\x1f]/.test(s)){return'"'+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+s+'"'};var encodeArray=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(v===null?"null":Ext.util.JSON.encode(v));b=true}}a.push("]");return a.join("")};this.encodeDate=function(o){return'"'+o.getFullYear()+"-"+pad(o.getMonth()+1)+"-"+pad(o.getDate())+"T"+pad(o.getHours())+":"+pad(o.getMinutes())+":"+pad(o.getSeconds())+'"'};this.encode=function(o){if(typeof o=="undefined"||o===null){return"null"}else{if(Ext.isArray(o)){return encodeArray(o)}else{if(Ext.isDate(o)){return Ext.util.JSON.encodeDate(o)}else{if(typeof o=="string"){return encodeString(o)}else{if(typeof o=="number"){return isFinite(o)?String(o):"null"}else{if(typeof o=="boolean"){return String(o)}else{var a=["{"],b,i,v;for(i in o){if(!useHasOwn||o.hasOwnProperty(i)){v=o[i];switch(typeof v){case"undefined":case"function":case"unknown":break;default:if(b){a.push(",")}a.push(this.encode(i),":",v===null?"null":this.encode(v));b=true}}}a.push("}");return a.join("")}}}}}}};this.decode=function(json){return eval("("+json+")")}})();Ext.encode=Ext.util.JSON.encode;Ext.decode=Ext.util.JSON.decode;Ext.util.Format=function(){var trimRe=/^\s+|\s+$/g;return{ellipsis:function(value,len){if(value&&value.length>len){return value.substr(0,len-3)+"..."}return value},undef:function(value){return value!==undefined?value:""},defaultValue:function(value,defaultValue){return value!==undefined&&value!==""?value:defaultValue},htmlEncode:function(value){return !value?value:String(value).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},htmlDecode:function(value){return !value?value:String(value).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")},trim:function(value){return String(value).replace(trimRe,"")},substr:function(value,start,length){return String(value).substr(start,length)},lowercase:function(value){return String(value).toLowerCase()},uppercase:function(value){return String(value).toUpperCase()},capitalize:function(value){return !value?value:value.charAt(0).toUpperCase()+value.substr(1).toLowerCase()},call:function(value,fn){if(arguments.length>2){var args=Array.prototype.slice.call(arguments,2);args.unshift(value);return eval(fn).apply(window,args)}else{return eval(fn).call(window,value)}},usMoney:function(v){v=(Math.round((v-0)*100))/100;v=(v==Math.floor(v))?v+".00":((v*10==Math.floor(v*10))?v+"0":v);v=String(v);var ps=v.split(".");var whole=ps[0];var sub=ps[1]?"."+ps[1]:".00";var r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,"$1,$2")}v=whole+sub;if(v.charAt(0)=="-"){return"-$"+v.substr(1)}return"$"+v},date:function(v,format){if(!v){return""}if(!Ext.isDate(v)){v=new Date(Date.parse(v))}return v.dateFormat(format||"m/d/Y")},dateRenderer:function(format){return function(v){return Ext.util.Format.date(v,format)}},stripTagsRE:/<\/?[^>]+>/gi,stripTags:function(v){return !v?v:String(v).replace(this.stripTagsRE,"")},stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig,stripScripts:function(v){return !v?v:String(v).replace(this.stripScriptsRe,"")},fileSize:function(size){if(size<1024){return size+" bytes"}else{if(size<1048576){return(Math.round(((size*10)/1024))/10)+" KB"}else{return(Math.round(((size*10)/1048576))/10)+" MB"}}},math:function(){var fns={};return function(v,a){if(!fns[a]){fns[a]=new Function("v","return v "+a+";")}return fns[a](v)}}(),nl2br:function(v){return v===undefined||v===null?"":v.replace(/\n/g,"<br/>")}}}();Ext.XTemplate=function(){Ext.XTemplate.superclass.constructor.apply(this,arguments);var p=this.html;p=["<tpl>",p,"</tpl>"].join("");var c=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/;var t=/^<tpl\b[^>]*?for="(.*?)"/;var o=/^<tpl\b[^>]*?if="(.*?)"/;var r=/^<tpl\b[^>]*?exec="(.*?)"/;var d,b=0;var u=[];while(d=p.match(c)){var e=d[0].match(t);var n=d[0].match(o);var a=d[0].match(r);var q=null,g=null,l=null;var k=e&&e[1]?e[1]:"";if(n){q=n&&n[1]?n[1]:null;if(q){g=new Function("values","parent","xindex","xcount","with(values){ return "+(Ext.util.Format.htmlDecode(q))+"; }")}}if(a){q=a&&a[1]?a[1]:null;if(q){l=new Function("values","parent","xindex","xcount","with(values){ "+(Ext.util.Format.htmlDecode(q))+"; }")}}if(k){switch(k){case".":k=new Function("values","parent","with(values){ return values; }");break;case"..":k=new Function("values","parent","with(values){ return parent; }");break;default:k=new Function("values","parent","with(values){ return "+k+"; }")}}u.push({id:b,target:k,exec:l,test:g,body:d[1]||""});p=p.replace(d[0],"{xtpl"+b+"}");++b}for(var h=u.length-1;h>=0;--h){this.compileTpl(u[h])}this.master=u[u.length-1];this.tpls=u};Ext.extend(Ext.XTemplate,Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(b,k,g,e,l){var m=this.tpls[b];if(m.test&&!m.test.call(this,k,g,e,l)){return""}if(m.exec&&m.exec.call(this,k,g,e,l)){return""}var d=m.target?m.target.call(this,k,g):k;g=m.target?k:g;if(m.target&&Ext.isArray(d)){var h=[];for(var a=0,c=d.length;a<c;a++){h[h.length]=m.compiled.call(this,d[a],g,a+1,c)}return h.join("")}return m.compiled.call(this,d,g,e,l)},compileTpl:function(tpl){var fm=Ext.util.Format;var useF=this.disableFormats!==true;var sep=Ext.isGecko?"+":",";var fn=function(m,name,format,args,math){if(name.substr(0,4)=="xtpl"){return"'"+sep+"this.applySubTemplate("+name.substr(4)+", values, parent, xindex, xcount)"+sep+"'"}var v;if(name==="."){v="values"}else{if(name==="#"){v="xindex"}else{if(name.indexOf(".")!=-1){v=name}else{v="values['"+name+"']"}}}if(math){v="("+v+math+")"}if(format&&useF){args=args?","+args:"";if(format.substr(0,5)!="this."){format="fm."+format+"("}else{format='this.call("'+format.substr(5)+'", ';args=", values"}}else{args="";format="("+v+" === undefined ? '' : "}return"'"+sep+format+v+args+")"+sep+"'"};var codeFn=function(m,code){return"'"+sep+"("+code+")"+sep+"'"};var body;if(Ext.isGecko){body="tpl.compiled = function(values, parent, xindex, xcount){ return '"+tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn)+"';};"}else{body=["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];body.push(tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn));body.push("'].join('');};");body=body.join("")}eval(body);return this},applyTemplate:function(a){return this.master.compiled.call(this,a,{},1,1)},compile:function(){return this}});Ext.XTemplate.prototype.apply=Ext.XTemplate.prototype.applyTemplate;Ext.XTemplate.from=function(a){a=Ext.getDom(a);return new Ext.XTemplate(a.value||a.innerHTML)};Ext.util.CSS=function(){var c=null;var a=document;var b=/(-[a-z])/gi;var d=function(e,g){return g.charAt(1).toUpperCase()};return{createStyleSheet:function(m,n){var k;var g=a.getElementsByTagName("head")[0];var l=a.createElement("style");l.setAttribute("type","text/css");if(n){l.setAttribute("id",n)}if(Ext.isIE){g.appendChild(l);k=l.styleSheet;k.cssText=m}else{try{l.appendChild(a.createTextNode(m))}catch(h){l.cssText=m}g.appendChild(l);k=l.styleSheet?l.styleSheet:(l.sheet||a.styleSheets[a.styleSheets.length-1])}this.cacheStyleSheet(k);return k},removeStyleSheet:function(g){var e=a.getElementById(g);if(e){e.parentNode.removeChild(e)}},swapStyleSheet:function(h,g){this.removeStyleSheet(h);var e=a.createElement("link");e.setAttribute("rel","stylesheet");e.setAttribute("type","text/css");e.setAttribute("id",h);e.setAttribute("href",g);a.getElementsByTagName("head")[0].appendChild(e)},refreshCache:function(){return this.getRules(true)},cacheStyleSheet:function(h){if(!c){c={}}try{var g=h.cssRules||h.rules;for(var l=g.length-1;l>=0;--l){c[g[l].selectorText]=g[l]}}catch(k){}},getRules:function(h){if(c==null||h){c={};var m=a.styleSheets;for(var k=0,g=m.length;k<g;k++){try{this.cacheStyleSheet(m[k])}catch(l){}}}return c},getRule:function(g,k){var e=this.getRules(k);if(!Ext.isArray(g)){return e[g]}for(var h=0;h<g.length;h++){if(e[g[h]]){return e[g[h]]}}return null},updateRule:function(h,g,e){if(!Ext.isArray(h)){var l=this.getRule(h);if(l){l.style[g.replace(b,d)]=e;return true}}else{for(var k=0;k<h.length;k++){if(this.updateRule(h[k],g,e)){return true}}}return false}}}();Ext.util.ClickRepeater=function(a,b){this.el=Ext.get(a);this.el.unselectable();Ext.apply(this,b);this.addEvents("mousedown","click","mouseup");if(!this.disabled){this.disabled=true;this.enable()}if(this.handler){this.on("click",this.handler,this.scope||this)}Ext.util.ClickRepeater.superclass.constructor.call(this)};Ext.extend(Ext.util.ClickRepeater,Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,enable:function(){if(this.disabled){this.el.on("mousedown",this.handleMouseDown,this);if(this.preventDefault||this.stopDefault){this.el.on("click",this.eventOptions,this)}}this.disabled=false},disable:function(a){if(a||!this.disabled){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeAllListeners()}this.disabled=true},setDisabled:function(a){this[a?"disable":"enable"]()},eventOptions:function(a){if(this.preventDefault){a.preventDefault()}if(this.stopDefault){a.stopEvent()}},destroy:function(){this.disable(true);Ext.destroy(this.el);this.purgeListeners()},handleMouseDown:function(){clearTimeout(this.timer);this.el.blur();if(this.pressClass){this.el.addClass(this.pressClass)}this.mousedownTime=new Date();Ext.getDoc().on("mouseup",this.handleMouseUp,this);this.el.on("mouseout",this.handleMouseOut,this);this.fireEvent("mousedown",this);this.fireEvent("click",this);if(this.accelerate){this.delay=400}this.timer=this.click.defer(this.delay||this.interval,this)},click:function(){this.fireEvent("click",this);this.timer=this.click.defer(this.accelerate?this.easeOutExpo(this.mousedownTime.getElapsed(),400,-390,12000):this.interval,this)},easeOutExpo:function(a,e,g,h){return(a==h)?e+g:g*(-Math.pow(2,-10*a/h)+1)+e},handleMouseOut:function(){clearTimeout(this.timer);if(this.pressClass){this.el.removeClass(this.pressClass)}this.el.on("mouseover",this.handleMouseReturn,this)},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);if(this.pressClass){this.el.addClass(this.pressClass)}this.click()},handleMouseUp:function(){clearTimeout(this.timer);this.el.un("mouseover",this.handleMouseReturn,this);this.el.un("mouseout",this.handleMouseOut,this);Ext.getDoc().un("mouseup",this.handleMouseUp,this);this.el.removeClass(this.pressClass);this.fireEvent("mouseup",this)}});Ext.KeyNav=function(a,b){this.el=Ext.get(a);Ext.apply(this,b);if(!this.disabled){this.disabled=true;this.enable()}};Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,prepareEvent:function(b){var c=b.getKey();var a=this.keyToHandler[c];if(Ext.isSafari2&&a&&c>=37&&c<=40){b.stopEvent()}},relay:function(b){var c=b.getKey();var a=this.keyToHandler[c];if(a&&this[a]){if(this.doRelay(b,this[a],a)!==true){b[this.defaultEventAction]()}}},doRelay:function(c,a,b){return a.call(this.scope||this,c)},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},enable:function(){if(this.disabled){if(this.isKeyDown()){this.el.on("keydown",this.relay,this)}else{this.el.on("keydown",this.prepareEvent,this);this.el.on("keypress",this.relay,this)}this.disabled=false}},disable:function(){if(!this.disabled){if(this.isKeyDown()){this.el.un("keydown",this.relay,this)}else{this.el.un("keydown",this.prepareEvent,this);this.el.un("keypress",this.relay,this)}this.disabled=true}},isKeyDown:function(){return this.forceKeyDown||Ext.isIE||(Ext.isWebKit&&!Ext.isSafari2)||Ext.isAir}};Ext.KeyMap=function(a,b,c){this.el=Ext.get(a);this.eventName=c||"keydown";this.bindings=[];if(b){this.addBinding(b)}this.enable()};Ext.KeyMap.prototype={stopEvent:false,addBinding:function(n){if(Ext.isArray(n)){for(var a=0,o=n.length;a<o;a++){this.addBinding(n[a])}return}var h=n.key,c=n.shift,e=n.ctrl,d=n.alt,q=n.fn||n.handler,l=n.scope;if(n.stopEvent){this.stopEvent=n.stopEvent}if(typeof h=="string"){var g=[];var m=h.toUpperCase();for(var b=0,o=m.length;b<o;b++){g.push(m.charCodeAt(b))}h=g}var k=Ext.isArray(h);var p=function(t){if((!c||t.shiftKey)&&(!e||t.ctrlKey)&&(!d||t.altKey)){var u=t.getKey();if(k){for(var s=0,r=h.length;s<r;s++){if(h[s]==u){if(this.stopEvent){t.stopEvent()}q.call(l||window,u,t);return}}}else{if(u==h){if(this.stopEvent){t.stopEvent()}q.call(l||window,u,t)}}}};this.bindings.push(p)},on:function(b,a,h){var d,g,e,c;if(typeof b=="object"&&!Ext.isArray(b)){d=b.key;g=b.shift;e=b.ctrl;c=b.alt}else{d=b}this.addBinding({key:d,shift:g,ctrl:e,alt:c,fn:a,scope:h})},handleKeyDown:function(g){if(this.enabled){var c=this.bindings;for(var d=0,a=c.length;d<a;d++){c[d].call(this,g)}}},isEnabled:function(){return this.enabled},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);this.enabled=true}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);this.enabled=false}}};Ext.util.TextMetrics=function(){var a;return{measure:function(b,d,c){if(!a){a=Ext.util.TextMetrics.Instance(b,c)}a.bind(b);a.setFixedWidth(c||"auto");return a.getSize(d)},createInstance:function(b,c){return Ext.util.TextMetrics.Instance(b,c)}}}();Ext.util.TextMetrics.Instance=function(a,c){var b=new Ext.Element(document.createElement("div"));document.body.appendChild(b.dom);b.position("absolute");b.setLeftTop(-1000,-1000);b.hide();if(c){b.setWidth(c)}var d={getSize:function(g){b.update(g);var e=b.getSize();b.update("");return e},bind:function(e){b.setStyle(Ext.fly(e).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))},setFixedWidth:function(e){b.setWidth(e)},getWidth:function(e){b.dom.style.width="auto";return this.getSize(e).width},getHeight:function(e){return this.getSize(e).height}};d.bind(a);return d};Ext.Element.measureText=Ext.util.TextMetrics.measure;(function(){var a=Ext.EventManager;var b=Ext.lib.Dom;Ext.dd.DragDrop=function(e,d,c){if(e){this.init(e,d,c)}};Ext.dd.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true},moveOnly:false,unlock:function(){this.locked=false},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(c,d){},startDrag:function(c,d){},b4Drag:function(c){},onDrag:function(c){},onDragEnter:function(d,c){},b4DragOver:function(c){},onDragOver:function(d,c){},b4DragOut:function(c){},onDragOut:function(d,c){},b4DragDrop:function(c){},onDragDrop:function(d,c){},onInvalidDrop:function(c){},b4EndDrag:function(c){},endDrag:function(c){},b4MouseDown:function(c){},onMouseDown:function(c){},onMouseUp:function(c){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(q,d,n){if(typeof d=="number"){d={left:d,right:d,top:d,bottom:d}}d=d||this.defaultPadding;var g=Ext.get(this.getEl()).getBox();var p=Ext.get(q);var o=p.getScroll();var h,k=p.dom;if(k==document.body){h={x:o.left,y:o.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var e=p.getXY();h={x:e[0]+o.left,y:e[1]+o.top,width:k.clientWidth,height:k.clientHeight}}var m=g.y-h.y;var l=g.x-h.x;this.resetConstraints();this.setXConstraint(l-(d.left||0),h.width-l-g.width-(d.right||0),this.xTickSize);this.setYConstraint(m-(d.top||0),h.height-m-g.height-(d.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(e,d,c){this.initTarget(e,d,c);a.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(e,d,c){this.config=c||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof e!=="string"){e=Ext.id(e)}this.id=e;this.addToGroup((d)?d:"default");this.handleElId=e;this.setDragElId(e);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false)},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable()},setPadding:function(d,c,e,g){if(!c&&0!==c){this.padding=[d,d,d,d]}else{if(!e&&0!==e){this.padding=[d,c,d,c]}else{this.padding=[d,c,e,g]}}},setInitPosition:function(c,d){var e=this.getEl();if(!this.DDM.verifyEl(e)){return}var k=c||0;var h=d||0;var g=b.getXY(e);this.initPageX=g[0]-k;this.initPageY=g[1]-h;this.lastPageX=g[0];this.lastPageY=g[1];this.setStartPosition(g)},setStartPosition:function(c){var d=c||b.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=d[0];this.startPageY=d[1]},addToGroup:function(c){this.groups[c]=true;this.DDM.regDragDrop(this,c)},removeFromGroup:function(c){if(this.groups[c]){delete this.groups[c]}this.DDM.removeDDFromGroup(this,c)},setDragElId:function(c){this.dragElId=c},setHandleElId:function(c){if(typeof c!=="string"){c=Ext.id(c)}this.handleElId=c;this.DDM.regHandle(this.id,c)},setOuterHandleElId:function(c){if(typeof c!=="string"){c=Ext.id(c)}a.on(c,"mousedown",this.handleMouseDown,this);this.setHandleElId(c);this.hasOuterHandles=true},unreg:function(){a.un(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDM.isLocked()||this.locked)},handleMouseDown:function(d,c){if(this.primaryButtonOnly&&d.button!=0){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var g=new Ext.lib.Point(Ext.lib.Event.getPageX(d),Ext.lib.Event.getPageY(d));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(g,this)){}else{if(this.clickValidator(d)){this.setStartPosition();this.b4MouseDown(d);this.onMouseDown(d);this.DDM.handleMouseDown(d,this);this.DDM.stopEvent(d)}else{}}},clickValidator:function(d){var c=d.getTarget();return(this.isValidHandleChild(c)&&(this.id==this.handleElId||this.DDM.handleWasClicked(c,this.id)))},addInvalidHandleType:function(d){var c=d.toUpperCase();this.invalidHandleTypes[c]=c},addInvalidHandleId:function(c){if(typeof c!=="string"){c=Ext.id(c)}this.invalidHandleIds[c]=c},addInvalidHandleClass:function(c){this.invalidHandleClasses.push(c)},removeInvalidHandleType:function(d){var c=d.toUpperCase();delete this.invalidHandleTypes[c]},removeInvalidHandleId:function(c){if(typeof c!=="string"){c=Ext.id(c)}delete this.invalidHandleIds[c]},removeInvalidHandleClass:function(d){for(var e=0,c=this.invalidHandleClasses.length;e<c;++e){if(this.invalidHandleClasses[e]==d){delete this.invalidHandleClasses[e]}}},isValidHandleChild:function(l){var g=true;var d;try{d=l.nodeName.toUpperCase()}catch(k){d=l.nodeName}g=g&&!this.invalidHandleTypes[d];g=g&&!this.invalidHandleIds[l.id];for(var h=0,c=this.invalidHandleClasses.length;g&&h<c;++h){g=!Ext.fly(l).hasClass(this.invalidHandleClasses[h])}return g},setXTicks:function(e,d){this.xTicks=[];this.xTickSize=d;var g={};for(var c=this.initPageX;c>=this.minX;c=c-d){if(!g[c]){this.xTicks[this.xTicks.length]=c;g[c]=true}}for(c=this.initPageX;c<=this.maxX;c=c+d){if(!g[c]){this.xTicks[this.xTicks.length]=c;g[c]=true}}this.xTicks.sort(this.DDM.numericSort)},setYTicks:function(c,e){this.yTicks=[];this.yTickSize=e;var g={};for(var d=this.initPageY;d>=this.minY;d=d-e){if(!g[d]){this.yTicks[this.yTicks.length]=d;g[d]=true}}for(d=this.initPageY;d<=this.maxY;d=d+e){if(!g[d]){this.yTicks[this.yTicks.length]=d;g[d]=true}}this.yTicks.sort(this.DDM.numericSort)},setXConstraint:function(e,c,d){this.leftConstraint=e;this.rightConstraint=c;this.minX=this.initPageX-e;this.maxX=this.initPageX+c;if(d){this.setXTicks(this.initPageX,d)}this.constrainX=true},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks()},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0},setYConstraint:function(d,e,c){this.topConstraint=d;this.bottomConstraint=e;this.minY=this.initPageY-d;this.maxY=this.initPageY+e;if(c){this.setYTicks(this.initPageY,c)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var d=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var c=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(d,c)}else{this.setInitPosition()}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize)}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize)}},getTick:function(l,g){if(!g){return l}else{if(g[0]>=l){return g[0]}else{for(var k=0,c=g.length;k<c;++k){var d=k+1;if(g[d]&&g[d]>=l){var e=l-g[k];var h=g[d]-l;return(h>e)?g[k]:g[d]}}return g[g.length-1]}}},toString:function(){return("DragDrop "+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var a=Ext.EventManager;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(g,b){for(var d in this.ids){for(var e in this.ids[d]){var c=this.ids[d][e];if(!this.isTypeOfDD(c)){continue}c[g].apply(c,b)}}},_onLoad:function(){this.init();a.on(document,"mouseup",this.handleMouseUp,this,true);a.on(document,"mousemove",this.handleMouseMove,this,true);a.on(window,"unload",this._onUnload,this,true);a.on(window,"resize",this._onResize,this,true)},_onResize:function(b){this._execOnAll("resetConstraints",[])},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(b,c){if(!this.initialized){this.init()}if(!this.ids[c]){this.ids[c]={}}this.ids[c][b.id]=b},removeDDFromGroup:function(b,c){if(!this.ids[c]){this.ids[c]={}}var d=this.ids[c];if(d&&d[b.id]){delete d[b.id]}},_remove:function(b){for(var c in b.groups){if(c&&this.ids[c]&&this.ids[c][b.id]){delete this.ids[c][b.id]}}delete this.handleIds[b.id]},regHandle:function(b,c){if(!this.handleIds[b]){this.handleIds[b]={}}this.handleIds[b][c]=c},isDragDrop:function(b){return(this.getDDById(b))?true:false},getRelated:function(g,h){var d=[];for(var e in g.groups){for(var b in this.ids[e]){var c=this.ids[e][b];if(!this.isTypeOfDD(c)){continue}if(!h||c.isTarget){d[d.length]=c}}}return d},isLegalTarget:function(c,e){var b=this.getRelated(c,true);for(var d=0,g=b.length;d<g;++d){if(b[d].id==e.id){return true}}return false},isTypeOfDD:function(b){return(b&&b.__ygDragDrop)},isHandle:function(b,c){return(this.handleIds[b]&&this.handleIds[b][c])},getDDById:function(c){for(var b in this.ids){if(this.ids[b][c]){return this.ids[b][c]}}return null},handleMouseDown:function(d,c){if(Ext.QuickTips){Ext.QuickTips.disable()}if(this.dragCurrent){this.handleMouseUp(d)}this.currentTarget=d.getTarget();this.dragCurrent=c;var b=c.getEl();this.startX=d.getPageX();this.startY=d.getPageY();this.deltaX=this.startX-b.offsetLeft;this.deltaY=this.startY-b.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var e=Ext.dd.DDM;e.startDrag(e.startX,e.startY)},this.clickTimeThresh)},startDrag:function(b,c){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(b,c);this.dragCurrent.startDrag(b,c)}this.dragThreshMet=true},handleMouseUp:function(b){if(Ext.QuickTips){Ext.QuickTips.enable()}if(!this.dragCurrent){return}clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(b,true)}else{}this.stopDrag(b);this.stopEvent(b)},stopEvent:function(b){if(this.stopPropagation){b.stopPropagation()}if(this.preventDefault){b.preventDefault()}},stopDrag:function(b){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(b);this.dragCurrent.endDrag(b)}this.dragCurrent.onMouseUp(b)}this.dragCurrent=null;this.dragOvers={}},handleMouseMove:function(d){if(!this.dragCurrent){return true}if(Ext.isIE&&(d.button!==0&&d.button!==1&&d.button!==2)){this.stopEvent(d);return this.handleMouseUp(d)}if(!this.dragThreshMet){var b=Math.abs(this.startX-d.getPageX());var c=Math.abs(this.startY-d.getPageY());if(b>this.clickPixelThresh||c>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(d);this.dragCurrent.onDrag(d);if(!this.dragCurrent.moveOnly){this.fireEvents(d,false)}}this.stopEvent(d);return true},fireEvents:function(m,l){var g=this.dragCurrent;if(!g||g.isLocked()){return}var k=m.getPoint();var p=[];var c=[];var d=[];var o=[];var s=[];for(var b in this.dragOvers){var r=this.dragOvers[b];if(!this.isTypeOfDD(r)){continue}if(!this.isOverTarget(k,r,this.mode)){c.push(r)}p[b]=true;delete this.dragOvers[b]}for(var h in g.groups){if("string"!=typeof h){continue}for(b in this.ids[h]){var n=this.ids[h][b];if(!this.isTypeOfDD(n)){continue}if(n.isTarget&&!n.isLocked()&&n!=g){if(this.isOverTarget(k,n,this.mode)){if(l){o.push(n)}else{if(!p[n.id]){s.push(n)}else{d.push(n)}this.dragOvers[n.id]=n}}}}}if(this.mode){if(c.length){g.b4DragOut(m,c);g.onDragOut(m,c)}if(s.length){g.onDragEnter(m,s)}if(d.length){g.b4DragOver(m,d);g.onDragOver(m,d)}if(o.length){g.b4DragDrop(m,o);g.onDragDrop(m,o)}}else{var q=0;for(b=0,q=c.length;b<q;++b){g.b4DragOut(m,c[b].id);g.onDragOut(m,c[b].id)}for(b=0,q=s.length;b<q;++b){g.onDragEnter(m,s[b].id)}for(b=0,q=d.length;b<q;++b){g.b4DragOver(m,d[b].id);g.onDragOver(m,d[b].id)}for(b=0,q=o.length;b<q;++b){g.b4DragDrop(m,o[b].id);g.onDragDrop(m,o[b].id)}}if(l&&!o.length){g.onInvalidDrop(m)}},getBestMatch:function(d){var c=null;var b=d.length;if(b==1){c=d[0]}else{for(var e=0;e<b;++e){var g=d[e];if(g.cursorIsOver){c=g;break}else{if(!c||c.overlap.getArea()<g.overlap.getArea()){c=g}}}}return c},refreshCache:function(b){for(var e in b){if("string"!=typeof e){continue}for(var g in this.ids[e]){var c=this.ids[e][g];if(this.isTypeOfDD(c)){var d=this.getLocation(c);if(d){this.locationCache[c.id]=d}else{delete this.locationCache[c.id]}}}}},verifyEl:function(b){if(b){var c;if(Ext.isIE){try{c=b.offsetParent}catch(d){}}else{c=b.offsetParent}if(c){return true}}return false},getLocation:function(q){if(!this.isTypeOfDD(q)){return null}var m=q.getEl(),o,s,g,u,h,n,p,k,d;try{o=Ext.lib.Dom.getXY(m)}catch(c){}if(!o){return null}s=o[0];g=s+m.offsetWidth;u=o[1];h=u+m.offsetHeight;n=u-q.padding[0];p=g+q.padding[1];k=h+q.padding[2];d=s-q.padding[3];return new Ext.lib.Region(n,p,k,d)},isOverTarget:function(h,b,d){var g=this.locationCache[b.id];if(!g||!this.useCache){g=this.getLocation(b);this.locationCache[b.id]=g}if(!g){return false}b.cursorIsOver=g.contains(h);var c=this.dragCurrent;if(!c||!c.getTargetCoord||(!d&&!c.constrainX&&!c.constrainY)){return b.cursorIsOver}b.overlap=null;var l=c.getTargetCoord(h.x,h.y);var k=c.getDragEl();var m=new Ext.lib.Region(l.y,l.x+k.offsetWidth,l.y+k.offsetHeight,l.x);var e=m.intersect(g);if(e){b.overlap=e;return(d)?true:b.cursorIsOver}else{return false}},_onUnload:function(b,c){Ext.dd.DragDropMgr.unregAll()},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null}this._execOnAll("unreg",[]);for(var b in this.elementCache){delete this.elementCache[b]}this.elementCache={};this.ids={}},elementCache:{},getElWrapper:function(c){var b=this.elementCache[c];if(!b||!b.el){b=this.elementCache[c]=new this.ElementWrapper(Ext.getDom(c))}return b},getElement:function(b){return Ext.getDom(b)},getCss:function(c){var b=Ext.getDom(c);return(b)?b.style:null},ElementWrapper:function(b){this.el=b||null;this.id=this.el&&b.id;this.css=this.el&&b.style},getPosX:function(b){return Ext.lib.Dom.getX(b)},getPosY:function(b){return Ext.lib.Dom.getY(b)},swapNode:function(b,e){if(b.swapNode){b.swapNode(e)}else{var d=e.parentNode;var c=e.nextSibling;if(c==b){d.insertBefore(b,e)}else{if(e==b.nextSibling){d.insertBefore(e,b)}else{b.parentNode.replaceChild(e,b);d.insertBefore(b,c)}}}},getScroll:function(){var c,e,d=document.documentElement,b=document.body;if(d&&(d.scrollTop||d.scrollLeft)){c=d.scrollTop;e=d.scrollLeft}else{if(b){c=b.scrollTop;e=b.scrollLeft}else{}}return{top:c,left:e}},getStyle:function(b,c){return Ext.fly(b).getStyle(c)},getScrollTop:function(){return this.getScroll().top},getScrollLeft:function(){return this.getScroll().left},moveToEl:function(c,d){var b=Ext.lib.Dom.getXY(d);Ext.lib.Dom.setXY(c,b)},numericSort:function(c,d){return(c-d)},_timeoutCount:0,_addListeners:function(){var b=Ext.dd.DDM;if(Ext.lib.Event&&document){b._onLoad()}else{if(b._timeoutCount>2000){}else{setTimeout(b._addListeners,10);if(document&&document.body){b._timeoutCount+=1}}}},handleWasClicked:function(d,b){if(this.isHandle(b,d.id)){return true}else{var c=d.parentNode;while(c){if(this.isHandle(b,c.id)){return true}else{c=c.parentNode}}}return false}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(c,b,a){if(c){this.init(c,b,a)}};Ext.extend(Ext.dd.DD,Ext.dd.DragDrop,{scroll:true,autoOffset:function(c,d){var a=c-this.startPageX;var b=d-this.startPageY;this.setDelta(a,b)},setDelta:function(b,a){this.deltaX=b;this.deltaY=a},setDragElPos:function(b,c){var a=this.getDragEl();this.alignElWithMouse(a,b,c)},alignElWithMouse:function(e,g,b){var k=this.getTargetCoord(g,b);var c=e.dom?e:Ext.fly(e,"_dd");if(!this.deltaSetXY){var a=[k.x,k.y];c.setXY(a);var d=c.getLeft(true);var h=c.getTop(true);this.deltaSetXY=[d-k.x,h-k.y]}else{c.setLeftTop(k.x+this.deltaSetXY[0],k.y+this.deltaSetXY[1])}this.cachePosition(k.x,k.y);this.autoScroll(k.x,k.y,e.offsetHeight,e.offsetWidth);return k},cachePosition:function(b,c){if(b){this.lastPageX=b;this.lastPageY=c}else{var a=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=a[0];this.lastPageY=a[1]}},autoScroll:function(c,d,r,m){if(this.scroll){var k=Ext.lib.Dom.getViewHeight();var q=Ext.lib.Dom.getViewWidth();var a=this.DDM.getScrollTop();var b=this.DDM.getScrollLeft();var g=r+d;var o=m+c;var l=(k+a-d-this.deltaY);var p=(q+b-c-this.deltaX);var n=40;var e=(document.all)?80:30;if(g>k&&l<n){window.scrollTo(b,a+e)}if(d<a&&a>0&&d-a<n){window.scrollTo(b,a-e)}if(o>q&&p<n){window.scrollTo(b+e,a)}if(c<b&&b>0&&c-b<n){window.scrollTo(b-e,a)}}},getTargetCoord:function(c,d){var a=c-this.deltaX;var b=d-this.deltaY;if(this.constrainX){if(a<this.minX){a=this.minX}if(a>this.maxX){a=this.maxX}}if(this.constrainY){if(b<this.minY){b=this.minY}if(b>this.maxY){b=this.maxY}}a=this.getTick(a,this.xTicks);b=this.getTick(b,this.yTicks);return{x:a,y:b}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(a){this.autoOffset(a.getPageX(),a.getPageY())},b4Drag:function(a){this.setDragElPos(a.getPageX(),a.getPageY())},toString:function(){return("DD "+this.id)}});Ext.dd.DDProxy=function(c,b,a){if(c){this.init(c,b,a);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var c=this;var a=document.body;if(!a||!a.firstChild){setTimeout(function(){c.createFrame()},50);return}var b=this.getDragEl();if(!b){b=document.createElement("div");b.id=this.dragElId;var d=b.style;d.position="absolute";d.visibility="hidden";d.cursor="move";d.border="2px solid #aaa";d.zIndex=999;a.insertBefore(b,a.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){Ext.dd.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(d,e){var b=this.getEl();var c=this.getDragEl();var a=c.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(a.width,10)/2),Math.round(parseInt(a.height,10)/2))}this.setDragElPos(d,e);Ext.fly(c).show()},_resizeProxy:function(){if(this.resizeFrame){var a=this.getEl();Ext.fly(this.getDragEl()).setSize(a.offsetWidth,a.offsetHeight)}},b4MouseDown:function(c){var a=c.getPageX();var b=c.getPageY();this.autoOffset(a,b);this.setDragElPos(a,b)},b4StartDrag:function(a,b){this.showFrame(a,b)},b4EndDrag:function(a){Ext.fly(this.getDragEl()).hide()},endDrag:function(c){var b=this.getEl();var a=this.getDragEl();a.style.visibility="";this.beforeMove();b.style.visibility="hidden";Ext.dd.DDM.moveToEl(b,a);a.style.visibility="hidden";b.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.dd.DDTarget=function(c,b,a){if(c){this.initTarget(c,b,a)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{toString:function(){return("DDTarget "+this.id)}});Ext.dd.DragTracker=function(a){Ext.apply(this,a);this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}};Ext.extend(Ext.dd.DragTracker,Ext.util.Observable,{active:false,tolerance:5,autoStart:false,initEl:function(a){this.el=Ext.get(a);a.on("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un("mousedown",this.onMouseDown,this)},onMouseDown:function(c,b){if(this.fireEvent("mousedown",this,c)!==false&&this.onBeforeStart(c)!==false){this.startXY=this.lastXY=c.getXY();this.dragTarget=this.delegate?b:this.el.dom;c.preventDefault();var a=Ext.getDoc();a.on("mouseup",this.onMouseUp,this);a.on("mousemove",this.onMouseMove,this);a.on("selectstart",this.stopSelect,this);if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)}}},onMouseMove:function(d,c){if(this.active&&Ext.isIE&&!d.browserEvent.button){d.preventDefault();this.onMouseUp(d);return}d.preventDefault();var a=d.getXY(),b=this.startXY;this.lastXY=a;if(!this.active){if(Math.abs(b[0]-a[0])>this.tolerance||Math.abs(b[1]-a[1])>this.tolerance){this.triggerStart()}else{return}}this.fireEvent("mousemove",this,d);this.onDrag(d);this.fireEvent("drag",this,d)},onMouseUp:function(b){var a=Ext.getDoc();a.un("mousemove",this.onMouseMove,this);a.un("mouseup",this.onMouseUp,this);a.un("selectstart",this.stopSelect,this);b.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,b);this.onEnd(b);this.fireEvent("dragend",this,b)},triggerStart:function(a){this.clearStart();this.active=true;this.onStart(this.startXY);this.fireEvent("dragstart",this,this.startXY)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(a){a.stopEvent();return false},onBeforeStart:function(a){},onStart:function(a){},onDrag:function(a){},onEnd:function(a){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(a){return a?this.constrainModes[a].call(this,this.lastXY):this.lastXY},getOffset:function(b){var a=this.getXY(b);var c=this.startXY;return[c[0]-a[0],c[1]-a[1]]},constrainModes:{point:function(b){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var a=this.dragRegion;a.left=b[0];a.top=b[1];a.right=b[0];a.bottom=b[1];a.constrainTo(this.elRegion);return[a.left,a.top]}}});Ext.dd.ScrollManager=function(){var l=Ext.dd.DragDropMgr;var c={};var k=null;var a={};var g=function(n){k=null;m()};var e=function(){if(l.dragCurrent){l.refreshCache(l.dragCurrent.groups)}};var h=function(){if(l.dragCurrent){var o=Ext.dd.ScrollManager;var n=a.el.ddScrollConfig?a.el.ddScrollConfig.increment:o.increment;if(!o.animate){if(a.el.scroll(a.dir,n)){e()}}else{a.el.scroll(a.dir,n,true,o.animDuration,e)}}};var m=function(){if(a.id){clearInterval(a.id)}a.id=0;a.el=null;a.dir=""};var b=function(o,n){m();a.el=o;a.dir=n;var p=(o.ddScrollConfig&&o.ddScrollConfig.frequency)?o.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;a.id=setInterval(h,p)};var d=function(u,t){if(t||!l.dragCurrent){return}var p=Ext.dd.ScrollManager;if(!k||k!=l.dragCurrent){k=l.dragCurrent;p.refreshCache()}var w=Ext.lib.Event.getXY(u);var q=new Ext.lib.Point(w[0],w[1]);for(var n in c){var s=c[n],v=s._region;var o=s.ddScrollConfig?s.ddScrollConfig:p;if(v&&v.contains(q)&&s.isScrollable()){if(v.bottom-q.y<=o.vthresh){if(a.el!=s){b(s,"down")}return}else{if(v.right-q.x<=o.hthresh){if(a.el!=s){b(s,"left")}return}else{if(q.y-v.top<=o.vthresh){if(a.el!=s){b(s,"up")}return}else{if(q.x-v.left<=o.hthresh){if(a.el!=s){b(s,"right")}return}}}}}}m()};l.fireEvents=l.fireEvents.createSequence(d,l);l.stopDrag=l.stopDrag.createSequence(g,l);return{register:function(o){if(Ext.isArray(o)){for(var p=0,n=o.length;p<n;p++){this.register(o[p])}}else{o=Ext.get(o);c[o.id]=o}},unregister:function(o){if(Ext.isArray(o)){for(var p=0,n=o.length;p<n;p++){this.unregister(o[p])}}else{o=Ext.get(o);delete c[o.id]}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var n in c){if(typeof c[n]=="object"){c[n]._region=c[n].getRegion()}}}}}();Ext.dd.Registry=function(){var c={};var d={};var b=0;var a=function(g,e){if(typeof g=="string"){return g}var h=g.id;if(!h&&e!==false){h="extdd-"+(++b);g.id=h}return h};return{register:function(g,l){l=l||{};if(typeof g=="string"){g=document.getElementById(g)}l.ddel=g;c[a(g)]=l;if(l.isHandle!==false){d[l.ddel.id]=l}if(l.handles){var k=l.handles;for(var h=0,e=k.length;h<e;h++){d[a(k[h])]=l}}},unregister:function(g){var l=a(g,false);var m=c[l];if(m){delete c[l];if(m.handles){var h=m.handles;for(var k=0,e=h.length;k<e;k++){delete d[a(h[k],false)]}}}},getHandle:function(e){if(typeof e!="string"){e=e.id}return d[e]},getHandleFromEvent:function(h){var g=Ext.lib.Event.getTarget(h);return g?d[g.id]:null},getTarget:function(e){if(typeof e!="string"){e=e.id}return c[e]},getTargetFromEvent:function(h){var g=Ext.lib.Event.getTarget(h);return g?c[g.id]||d[g.id]:null}}}();Ext.dd.StatusProxy=function(a){Ext.apply(this,a);this.id=this.id||Ext.id();this.el=new Ext.Layer({dh:{id:this.id,tag:"div",cls:"x-dd-drag-proxy "+this.dropNotAllowed,children:[{tag:"div",cls:"x-dd-drop-icon"},{tag:"div",cls:"x-dd-drag-ghost"}]},shadow:!a||a.shadow!==false});this.ghost=Ext.get(this.el.dom.childNodes[1]);this.dropStatus=this.dropNotAllowed};Ext.dd.StatusProxy.prototype={dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",setStatus:function(a){a=a||this.dropNotAllowed;if(this.dropStatus!=a){this.el.replaceClass(this.dropStatus,a);this.dropStatus=a}},reset:function(a){this.el.dom.className="x-dd-drag-proxy "+this.dropNotAllowed;this.dropStatus=this.dropNotAllowed;if(a){this.ghost.update("")}},update:function(a){if(typeof a=="string"){this.ghost.update(a)}else{this.ghost.update("");a.style.margin="0";this.ghost.dom.appendChild(a)}var b=this.ghost.dom.firstChild;if(b){Ext.fly(b).setStyle(Ext.isIE?"styleFloat":"cssFloat","none")}},getEl:function(){return this.el},getGhost:function(){return this.ghost},hide:function(a){this.el.hide();if(a){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},show:function(){this.el.show()},sync:function(){this.el.sync()},repair:function(a,c,b){this.callback=c;this.scope=b;if(a&&this.animRepair!==false){this.el.addClass("x-dd-drag-repair");this.el.hideUnders(true);this.anim=this.el.shift({duration:this.repairDuration||0.5,easing:"easeOut",xy:a,stopFx:true,callback:this.afterRepair,scope:this})}else{this.afterRepair()}},afterRepair:function(){this.hide(true);if(typeof this.callback=="function"){this.callback.call(this.scope||this)}this.callback=null;this.scope=null}};Ext.dd.DragSource=function(a,b){this.el=Ext.get(a);if(!this.dragData){this.dragData={}}Ext.apply(this,b);if(!this.proxy){this.proxy=new Ext.dd.StatusProxy()}Ext.dd.DragSource.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true});this.dragging=false};Ext.extend(Ext.dd.DragSource,Ext.dd.DDProxy,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",getDragData:function(a){return this.dragData},onDragEnter:function(c,a){var b=Ext.dd.DragDropMgr.getDDById(a);this.cachedTarget=b;if(this.beforeDragEnter(b,c,a)!==false){if(b.isNotifyTarget){var d=b.notifyEnter(this,c,this.dragData);this.proxy.setStatus(d)}else{this.proxy.setStatus(this.dropAllowed)}if(this.afterDragEnter){this.afterDragEnter(b,c,a)}}},beforeDragEnter:function(b,c,a){return true},alignElWithMouse:function(){Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);this.proxy.sync()},onDragOver:function(c,a){var b=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(a);if(this.beforeDragOver(b,c,a)!==false){if(b.isNotifyTarget){var d=b.notifyOver(this,c,this.dragData);this.proxy.setStatus(d)}if(this.afterDragOver){this.afterDragOver(b,c,a)}}},beforeDragOver:function(b,c,a){return true},onDragOut:function(c,a){var b=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(a);if(this.beforeDragOut(b,c,a)!==false){if(b.isNotifyTarget){b.notifyOut(this,c,this.dragData)}this.proxy.reset();if(this.afterDragOut){this.afterDragOut(b,c,a)}}this.cachedTarget=null},beforeDragOut:function(b,c,a){return true},onDragDrop:function(c,a){var b=this.cachedTarget||Ext.dd.DragDropMgr.getDDById(a);if(this.beforeDragDrop(b,c,a)!==false){if(b.isNotifyTarget){if(b.notifyDrop(this,c,this.dragData)){this.onValidDrop(b,c,a)}else{this.onInvalidDrop(b,c,a)}}else{this.onValidDrop(b,c,a)}if(this.afterDragDrop){this.afterDragDrop(b,c,a)}}delete this.cachedTarget},beforeDragDrop:function(b,c,a){return true},onValidDrop:function(b,c,a){this.hideProxy();if(this.afterValidDrop){this.afterValidDrop(b,c,a)}},getRepairXY:function(a,b){return this.el.getXY()},onInvalidDrop:function(b,c,a){this.beforeInvalidDrop(b,c,a);if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,c,this.dragData)}this.cacheTarget=null}this.proxy.repair(this.getRepairXY(c,this.dragData),this.afterRepair,this);if(this.afterInvalidDrop){this.afterInvalidDrop(c,a)}},afterRepair:function(){if(Ext.enableFx){this.el.highlight(this.hlColor||"c3daf9")}this.dragging=false},beforeInvalidDrop:function(b,c,a){return true},handleMouseDown:function(a){if(this.dragging){return}var b=this.getDragData(a);if(b&&this.onBeforeDrag(b,a)!==false){this.dragData=b;this.proxy.stop();Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)}},onBeforeDrag:function(b,a){return true},onStartDrag:Ext.emptyFn,startDrag:function(a,b){this.proxy.reset();this.dragging=true;this.proxy.update("");this.onInitDrag(a,b);this.proxy.show()},onInitDrag:function(a,b){var c=this.el.dom.cloneNode(true);c.id=Ext.id();this.proxy.update(c);this.onStartDrag(a,b);return true},getProxy:function(){return this.proxy},hideProxy:function(){this.proxy.hide();this.proxy.reset(true);this.dragging=false},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)},b4EndDrag:function(a){},endDrag:function(a){this.onEndDrag(this.dragData,a)},onEndDrag:function(b,a){},autoOffset:function(a,b){this.setDelta(-12,-20)}});Ext.dd.DropTarget=function(a,b){this.el=Ext.get(a);Ext.apply(this,b);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true})};Ext.extend(Ext.dd.DropTarget,Ext.dd.DDTarget,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(b,a,c){if(this.overClass){this.el.addClass(this.overClass)}return this.dropAllowed},notifyOver:function(b,a,c){return this.dropAllowed},notifyOut:function(b,a,c){if(this.overClass){this.el.removeClass(this.overClass)}},notifyDrop:function(b,a,c){return false}});Ext.dd.DragZone=function(a,b){Ext.dd.DragZone.superclass.constructor.call(this,a,b);if(this.containerScroll){Ext.dd.ScrollManager.register(this.el)}};Ext.extend(Ext.dd.DragZone,Ext.dd.DragSource,{getDragData:function(a){return Ext.dd.Registry.getHandleFromEvent(a)},onInitDrag:function(a,b){this.proxy.update(this.dragData.ddel.cloneNode(true));this.onStartDrag(a,b);return true},afterRepair:function(){if(Ext.enableFx){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false},getRepairXY:function(a){return Ext.Element.fly(this.dragData.ddel).getXY()}});Ext.dd.DropZone=function(a,b){Ext.dd.DropZone.superclass.constructor.call(this,a,b)};Ext.extend(Ext.dd.DropZone,Ext.dd.DropTarget,{getTargetFromEvent:function(a){return Ext.dd.Registry.getTargetFromEvent(a)},onNodeEnter:function(a,c,b,d){},onNodeOver:function(a,c,b,d){return this.dropAllowed},onNodeOut:function(a,c,b,d){},onNodeDrop:function(a,c,b,d){return false},onContainerOver:function(b,a,c){return this.dropNotAllowed},onContainerDrop:function(b,a,c){return false},notifyEnter:function(b,a,c){return this.dropNotAllowed},notifyOver:function(c,b,d){var a=this.getTargetFromEvent(b);if(!a){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,c,b,d);this.lastOverNode=null}return this.onContainerOver(c,b,d)}if(this.lastOverNode!=a){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,c,b,d)}this.onNodeEnter(a,c,b,d);this.lastOverNode=a}return this.onNodeOver(a,c,b,d)},notifyOut:function(b,a,c){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,b,a,c);this.lastOverNode=null}},notifyDrop:function(c,b,d){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,c,b,d);this.lastOverNode=null}var a=this.getTargetFromEvent(b);return a?this.onNodeDrop(a,c,b,d):this.onContainerDrop(c,b,d)},triggerCacheRefresh:function(){Ext.dd.DDM.refreshCache(this.groups)}});Ext.data.SortTypes={none:function(a){return a},stripTagsRE:/<\/?[^>]+>/gi,asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(/,/g,""));if(isNaN(b)){b=0}return b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,""));if(isNaN(b)){b=0}return b}};Ext.data.Record=function(b,a){this.id=(a||a===0)?a:++Ext.data.Record.AUTO_ID;this.data=b||{}};Ext.data.Record.create=function(b){var e=Ext.extend(Ext.data.Record,{});var c=e.prototype;c.fields=new Ext.util.MixedCollection(false,function(g){return g.name});for(var d=0,a=b.length;d<a;d++){c.fields.add(new Ext.data.Field(b[d]))}e.getField=function(g){return c.fields.get(g)};return e};Ext.data.Record.AUTO_ID=1000;Ext.data.Record.EDIT="edit";Ext.data.Record.REJECT="reject";Ext.data.Record.COMMIT="commit";Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,join:function(a){this.store=a},set:function(a,b){if(String(this.data[a])==String(b)){return}this.dirty=true;if(!this.modified){this.modified={}}if(typeof this.modified[a]=="undefined"){this.modified[a]=this.data[a]}this.data[a]=b;if(!this.editing&&this.store){this.store.afterEdit(this)}},get:function(a){return this.data[a]},beginEdit:function(){this.editing=true;this.modified={}},cancelEdit:function(){this.editing=false;delete this.modified},endEdit:function(){this.editing=false;if(this.dirty&&this.store){this.store.afterEdit(this)}},reject:function(c){var a=this.modified;for(var b in a){if(typeof a[b]!="function"){this.data[b]=a[b]}}this.dirty=false;delete this.modified;this.editing=false;if(this.store&&c!==true){this.store.afterReject(this)}},commit:function(a){this.dirty=false;delete this.modified;this.editing=false;if(this.store&&a!==true){this.store.afterCommit(this)}},getChanges:function(){var a=this.modified,c={};for(var b in a){if(a.hasOwnProperty(b)){c[b]=this.data[b]}}return c},hasError:function(){return this.error!=null},clearError:function(){this.error=null},copy:function(a){return new this.constructor(Ext.apply({},this.data),a||this.id)},isModified:function(a){return !!(this.modified&&this.modified.hasOwnProperty(a))}};Ext.StoreMgr=Ext.apply(new Ext.util.MixedCollection(),{register:function(){for(var b=0,a;a=arguments[b];b++){this.add(a)}},unregister:function(){for(var b=0,a;a=arguments[b];b++){this.remove(this.lookup(a))}},lookup:function(a){return typeof a=="object"?a:this.get(a)},getKey:function(a){return a.storeId||a.id}});Ext.data.Store=function(a){this.data=new Ext.util.MixedCollection(false);this.data.getKey=function(b){return b.id};this.baseParams={};this.paramNames={start:"start",limit:"limit",sort:"sort",dir:"dir"};if(a&&a.data){this.inlineData=a.data;delete a.data}Ext.apply(this,a);if(this.url&&!this.proxy){this.proxy=new Ext.data.HttpProxy({url:this.url})}if(this.reader){if(!this.recordType){this.recordType=this.reader.recordType}if(this.reader.onMetaChange){this.reader.onMetaChange=this.onMetaChange.createDelegate(this)}}if(this.recordType){this.fields=this.recordType.prototype.fields}this.modified=[];this.addEvents("datachanged","metachange","add","remove","update","clear","beforeload","load","loadexception");if(this.proxy){this.relayEvents(this.proxy,["loadexception"])}this.sortToggle={};if(this.sortInfo){this.setDefaultSort(this.sortInfo.field,this.sortInfo.direction)}Ext.data.Store.superclass.constructor.call(this);if(this.storeId||this.id){Ext.StoreMgr.register(this)}if(this.inlineData){this.loadData(this.inlineData);delete this.inlineData}else{if(this.autoLoad){this.load.defer(10,this,[typeof this.autoLoad=="object"?this.autoLoad:undefined])}}};Ext.extend(Ext.data.Store,Ext.util.Observable,{remoteSort:false,pruneModifiedRecords:false,lastOptions:null,destroy:function(){if(this.storeId||this.id){Ext.StoreMgr.unregister(this)}this.data=null;Ext.destroy(this.proxy);this.reader=null;this.purgeListeners()},add:function(b){b=[].concat(b);if(b.length<1){return}for(var c=0,a=b.length;c<a;c++){b[c].join(this)}var d=this.data.length;this.data.addAll(b);if(this.snapshot){this.snapshot.addAll(b)}this.fireEvent("add",this,b,d)},addSorted:function(a){var b=this.findInsertIndex(a);this.insert(b,a)},remove:function(a){var b=this.data.indexOf(a);if(b>-1){this.data.removeAt(b);if(this.pruneModifiedRecords){this.modified.remove(a)}if(this.snapshot){this.snapshot.remove(a)}this.fireEvent("remove",this,a,b)}},removeAt:function(a){this.remove(this.getAt(a))},removeAll:function(){this.data.clear();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}this.fireEvent("clear",this)},insert:function(d,b){b=[].concat(b);for(var c=0,a=b.length;c<a;c++){this.data.insert(d,b[c]);b[c].join(this)}this.fireEvent("add",this,b,d)},indexOf:function(a){return this.data.indexOf(a)},indexOfId:function(a){return this.data.indexOfKey(a)},getById:function(a){return this.data.key(a)},getAt:function(a){return this.data.itemAt(a)},getRange:function(a,b){return this.data.getRange(a,b)},storeOptions:function(a){a=Ext.apply({},a);delete a.callback;delete a.scope;this.lastOptions=a},load:function(b){b=b||{};if(this.fireEvent("beforeload",this,b)!==false){this.storeOptions(b);var c=Ext.apply(b.params||{},this.baseParams);if(this.sortInfo&&this.remoteSort){var a=this.paramNames;c[a.sort]=this.sortInfo.field;c[a.dir]=this.sortInfo.direction}this.proxy.load(c,this.reader,this.loadRecords,this,b);return true}else{return false}},reload:function(a){this.load(Ext.applyIf(a||{},this.lastOptions))},loadRecords:function(b,e,a){if(!b||a===false){if(a!==false){this.fireEvent("load",this,[],e)}if(e.callback){e.callback.call(e.scope||this,[],e,false)}return}var c=b.records,g=b.totalRecords||c.length;if(!e||e.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var h=0,d=c.length;h<d;h++){c[h].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(c);this.totalLength=g;this.applySort();this.fireEvent("datachanged",this)}else{this.totalLength=Math.max(g,this.data.length+c.length);this.add(c)}this.fireEvent("load",this,c,e);if(e.callback){e.callback.call(e.scope||this,c,e,true)}},loadData:function(c,b){var a=this.reader.readRecords(c);this.loadRecords(a,{add:b},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if(this.sortInfo&&!this.remoteSort){var a=this.sortInfo,b=a.field;this.sortData(b,a.direction)}},sortData:function(d,c){c=c||"ASC";var b=this.fields.get(d).sortType;var a=function(k,h){var g=b(k.data[d]),e=b(h.data[d]);return g>e?1:(g<e?-1:0)};this.data.sort(c,a);if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(c,a)}},setDefaultSort:function(b,a){a=a?a.toUpperCase():"ASC";this.sortInfo={field:b,direction:a};this.sortToggle[b]=a},sort:function(a,c){var e=this.fields.get(a);if(!e){return false}if(!c){if(this.sortInfo&&this.sortInfo.field==e.name){c=(this.sortToggle[e.name]||"ASC").toggle("ASC","DESC")}else{c=e.sortDir}}var b=(this.sortToggle)?this.sortToggle[e.name]:null;var d=(this.sortInfo)?this.sortInfo:null;this.sortToggle[e.name]=c;this.sortInfo={field:e.name,direction:c};if(!this.remoteSort){this.applySort();this.fireEvent("datachanged",this)}else{if(!this.load(this.lastOptions)){if(b){this.sortToggle[e.name]=b}if(d){this.sortInfo=d}}}},each:function(a,b){this.data.each(a,b)},getModifiedRecords:function(){return this.modified},createFilterFn:function(c,b,d,a){if(Ext.isEmpty(b,false)){return false}b=this.data.createValueMatcher(b,d,a);return function(e){return b.test(e.data[c])}},sum:function(d,a,e){var b=this.data.items,g=0;a=a||0;e=(e||e===0)?e:b.length-1;for(var c=a;c<=e;c++){g+=(b[c].data[d]||0)}return g},filter:function(c,b,e,a){var d=this.createFilterFn(c,b,e,a);return d?this.filterBy(d):this.clearFilter()},filterBy:function(a,b){this.snapshot=this.snapshot||this.data;this.data=this.queryBy(a,b||this);this.fireEvent("datachanged",this)},query:function(c,b,e,a){var d=this.createFilterFn(c,b,e,a);return d?this.queryBy(d):this.data.clone()},queryBy:function(a,c){var b=this.snapshot||this.data;return b.filterBy(a,c||this)},find:function(c,b,a,g,e){var d=this.createFilterFn(c,b,g,e);return d?this.data.findIndexBy(d,null,a):-1},findBy:function(a,c,b){return this.data.findIndexBy(a,c,b)},collect:function(h,c,n){var g=(n===true&&this.snapshot)?this.snapshot.items:this.data.items;var o,e,k=[],b={};for(var a=0,m=g.length;a<m;a++){o=g[a].data[h];e=String(o);if((c||!Ext.isEmpty(o))&&!b[e]){b[e]=true;k[k.length]=o}}return k},clearFilter:function(a){if(this.isFiltered()){this.data=this.snapshot;delete this.snapshot;if(a!==true){this.fireEvent("datachanged",this)}}},isFiltered:function(){return this.snapshot&&this.snapshot!=this.data},afterEdit:function(a){if(this.modified.indexOf(a)==-1){this.modified.push(a)}this.fireEvent("update",this,a,Ext.data.Record.EDIT)},afterReject:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.REJECT)},afterCommit:function(a){this.modified.remove(a);this.fireEvent("update",this,a,Ext.data.Record.COMMIT)},commitChanges:function(){var a=this.modified.slice(0);this.modified=[];for(var c=0,b=a.length;c<b;c++){a[c].commit()}},rejectChanges:function(){var a=this.modified.slice(0);this.modified=[];for(var c=0,b=a.length;c<b;c++){a[c].reject()}},onMetaChange:function(b,c,a){this.recordType=c;this.fields=c.prototype.fields;delete this.snapshot;if(b.sortInfo){this.sortInfo=b.sortInfo}else{if(this.sortInfo&&!this.fields.get(this.sortInfo.field)){delete this.sortInfo}}this.modified=[];this.fireEvent("metachange",this,this.reader.meta)},findInsertIndex:function(a){this.suspendEvents();var c=this.data.clone();this.data.add(a);this.applySort();var b=this.data.indexOf(a);this.data=c;this.resumeEvents();return b}});Ext.data.SimpleStore=function(a){Ext.data.SimpleStore.superclass.constructor.call(this,Ext.apply(a,{reader:new Ext.data.ArrayReader({id:a.id},Ext.data.Record.create(a.fields))}))};Ext.extend(Ext.data.SimpleStore,Ext.data.Store,{loadData:function(e,b){if(this.expandData===true){var a=[];for(var d=0,c=e.length;d<c;d++){a[a.length]=[e[d]]}e=a}Ext.data.SimpleStore.superclass.loadData.call(this,e,b)}});Ext.data.JsonStore=function(a){Ext.data.JsonStore.superclass.constructor.call(this,Ext.apply(a,{proxy:a.proxy||(!a.data?new Ext.data.HttpProxy({url:a.url}):undefined),reader:new Ext.data.JsonReader(a,a.fields)}))};Ext.extend(Ext.data.JsonStore,Ext.data.Store);Ext.data.Field=function(d){if(typeof d=="string"){d={name:d}}Ext.apply(this,d);if(!this.type){this.type="auto"}var a=Ext.data.SortTypes;if(typeof this.sortType=="string"){this.sortType=a[this.sortType]}if(!this.sortType){switch(this.type){case"string":this.sortType=a.asUCString;break;case"date":this.sortType=a.asDate;break;default:this.sortType=a.none}}var e=/[\$,%]/g;if(!this.convert){var b,c=this.dateFormat;switch(this.type){case"":case"auto":case undefined:b=function(g){return g};break;case"string":b=function(g){return(g===undefined||g===null)?"":String(g)};break;case"int":b=function(g){return g!==undefined&&g!==null&&g!==""?parseInt(String(g).replace(e,""),10):""};break;case"float":b=function(g){return g!==undefined&&g!==null&&g!==""?parseFloat(String(g).replace(e,""),10):""};break;case"bool":case"boolean":b=function(g){return g===true||g==="true"||g==1};break;case"date":b=function(g){if(!g){return""}if(Ext.isDate(g)){return g}if(c){if(c=="timestamp"){return new Date(g*1000)}if(c=="time"){return new Date(parseInt(g,10))}return Date.parseDate(g,c)}var h=Date.parse(g);return h?new Date(h):null};break}this.convert=b}};Ext.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"};Ext.data.DataReader=function(a,b){this.meta=a;this.recordType=Ext.isArray(b)?Ext.data.Record.create(b):b};Ext.data.DataReader.prototype={};Ext.data.DataProxy=function(){this.addEvents("beforeload","load");Ext.data.DataProxy.superclass.constructor.call(this)};Ext.extend(Ext.data.DataProxy,Ext.util.Observable,{destroy:function(){this.purgeListeners()}});Ext.data.MemoryProxy=function(a){Ext.data.MemoryProxy.superclass.constructor.call(this);this.data=a};Ext.extend(Ext.data.MemoryProxy,Ext.data.DataProxy,{load:function(a,h,k,c,b){a=a||{};var d;try{d=h.readRecords(this.data)}catch(g){this.fireEvent("loadexception",this,b,null,g);k.call(c,null,b,false);return}k.call(c,d,b,true)},update:function(a,b){}});Ext.data.HttpProxy=function(a){Ext.data.HttpProxy.superclass.constructor.call(this);this.conn=a;this.useAjax=!a||!a.events};Ext.extend(Ext.data.HttpProxy,Ext.data.DataProxy,{getConnection:function(){return this.useAjax?Ext.Ajax:this.conn},load:function(a,d,g,c,b){if(this.fireEvent("beforeload",this,a)!==false){var e={params:a||{},request:{callback:g,scope:c,arg:b},reader:d,callback:this.loadResponse,scope:this};if(this.useAjax){Ext.applyIf(e,this.conn);if(this.activeRequest){Ext.Ajax.abort(this.activeRequest)}this.activeRequest=Ext.Ajax.request(e)}else{this.conn.request(e)}}else{g.call(c||this,null,b,false)}},loadResponse:function(b,a,c){delete this.activeRequest;if(!a){this.fireEvent("loadexception",this,b,c);b.request.callback.call(b.request.scope,null,b.request.arg,false);return}var g;try{g=b.reader.read(c)}catch(d){this.fireEvent("loadexception",this,b,c,d);b.request.callback.call(b.request.scope,null,b.request.arg,false);return}this.fireEvent("load",this,b,b.request.arg);b.request.callback.call(b.request.scope,g,b.request.arg,true)},update:function(a){},updateResponse:function(a){},destroy:function(){if(!this.useAjax){this.conn.abort()}else{if(this.activeRequest){Ext.Ajax.abort(this.activeRequest)}}Ext.data.HttpProxy.superclass.destroy.call(this)}});Ext.data.ScriptTagProxy=function(a){Ext.data.ScriptTagProxy.superclass.constructor.call(this);Ext.apply(this,a);this.head=document.getElementsByTagName("head")[0]};Ext.data.ScriptTagProxy.TRANS_ID=1000;Ext.extend(Ext.data.ScriptTagProxy,Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,load:function(c,g,n,d,b){if(this.fireEvent("beforeload",this,c)!==false){var h=Ext.urlEncode(Ext.apply(c,this.extraParams));var e=this.url;e+=(e.indexOf("?")!=-1?"&":"?")+h;if(this.nocache){e+="&_dc="+(new Date().getTime())}var m=++Ext.data.ScriptTagProxy.TRANS_ID;var k={id:m,cb:"stcCallback"+m,scriptId:"stcScript"+m,params:c,arg:b,url:e,callback:n,scope:d,reader:g};var l=this;window[k.cb]=function(p){l.handleResponse(p,k)};e+=String.format("&{0}={1}",this.callbackParam,k.cb);if(this.autoAbort!==false){this.abort()}k.timeoutId=this.handleFailure.defer(this.timeout,this,[k]);var a=document.createElement("script");a.setAttribute("src",e);a.setAttribute("type","text/javascript");a.setAttribute("id",k.scriptId);this.head.appendChild(a);this.trans=k}else{n.call(d||this,null,b,false)}},isLoading:function(){return this.trans?true:false},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)}},destroyTrans:function(a,b){this.head.removeChild(document.getElementById(a.scriptId));clearTimeout(a.timeoutId);if(b){window[a.cb]=undefined;try{delete window[a.cb]}catch(c){}}else{window[a.cb]=function(){window[a.cb]=undefined;try{delete window[a.cb]}catch(d){}}}},handleResponse:function(b,c){this.trans=false;this.destroyTrans(c,true);var a;try{a=c.reader.readRecords(b)}catch(d){this.fireEvent("loadexception",this,b,c.arg,d);c.callback.call(c.scope||window,null,c.arg,false);return}this.fireEvent("load",this,b,c.arg);c.callback.call(c.scope||window,a,c.arg,true)},handleFailure:function(a){this.trans=false;this.destroyTrans(a,false);this.fireEvent("loadexception",this,null,a.arg);a.callback.call(a.scope||window,null,a.arg,false)},destroy:function(){this.abort();Ext.data.ScriptTagProxy.superclass.destroy.call(this)}});Ext.data.JsonReader=function(a,b){a=a||{};Ext.data.JsonReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.JsonReader,Ext.data.DataReader,{read:function(response){var json=response.responseText;var o=eval("("+json+")");if(!o){throw {message:"JsonReader.read: Json object not found"}}return this.readRecords(o)},onMetaChange:function(b,c,a){},simpleAccess:function(b,a){return b[a]},getJsonAccessor:function(){var a=/[\[\.]/;return function(b){try{return(a.test(b))?new Function("obj","return obj."+b):function(d){return d[b]}}catch(c){}return Ext.emptyFn}}(),readRecords:function(p){this.jsonData=p;if(p.metaData){delete this.ef;this.meta=p.metaData;this.recordType=Ext.data.Record.create(p.metaData.fields);this.onMetaChange(this.meta,this.recordType,p)}var b=this.meta,y=this.recordType,t=y.prototype.fields,x=t.items,A=t.length;if(!this.ef){if(b.totalProperty){this.getTotal=this.getJsonAccessor(b.totalProperty)}if(b.successProperty){this.getSuccess=this.getJsonAccessor(b.successProperty)}this.getRoot=b.root?this.getJsonAccessor(b.root):function(c){return c};if(b.id){var u=this.getJsonAccessor(b.id);this.getId=function(g){var c=u(g);return(c===undefined||c==="")?null:c}}else{this.getId=function(){return null}}this.ef=[];for(var w=0;w<A;w++){t=x[w];var r=(t.mapping!==undefined&&t.mapping!==null)?t.mapping:t.name;this.ef[w]=this.getJsonAccessor(r)}}var z=this.getRoot(p),q=z.length,B=q,l=true;if(b.totalProperty){var e=parseInt(this.getTotal(p),10);if(!isNaN(e)){B=e}}if(b.successProperty){var e=this.getSuccess(p);if(e===false||e==="false"){l=false}}var h=[];for(var w=0;w<q;w++){var m=z[w];var C={};var a=this.getId(m);for(var k=0;k<A;k++){t=x[k];var e=this.ef[k](m);C[t.name]=t.convert((e!==undefined)?e:t.defaultValue,m)}var d=new y(C,a);d.json=m;h[w]=d}return{success:l,records:h,totalRecords:B}}});Ext.data.XmlReader=function(a,b){a=a||{};Ext.data.XmlReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(b){var a=b.responseXML;if(!a){throw {message:"XmlReader.read: XML Document not available"}}return this.readRecords(a)},readRecords:function(a){this.xmlData=a;var u=a.documentElement||a;var c=Ext.DomQuery;var m=this.recordType,b=m.prototype.fields;var x=this.meta.id;var y=0,o=true;if(this.meta.totalRecords){y=c.selectNumber(this.meta.totalRecords,u,0)}if(this.meta.success){var h=c.selectValue(this.meta.success,u,true);o=h!==false&&h!=="false"}var w=[];var d=c.select(this.meta.record,u);for(var k=0,A=d.length;k<A;k++){var p=d[k];var s={};var r=x?c.selectValue(x,p):undefined;for(var l=0,z=b.length;l<z;l++){var t=b.items[l];var g=c.selectValue(Ext.isEmpty(t.mapping,true)?t.name:t.mapping,p,t.defaultValue);g=t.convert(g,p);s[t.name]=g}var e=new m(s,r);e.node=p;w[w.length]=e}return{success:o,records:w,totalRecords:y||w.length}}});Ext.data.ArrayReader=Ext.extend(Ext.data.JsonReader,{readRecords:function(s){var l=this.meta?this.meta.id:null;var e=this.recordType,g=e.prototype.fields;var m=[];var b=s;for(var a=0;a<b.length;a++){var d=b[a];var p={};var r=((l||l===0)&&d[l]!==undefined&&d[l]!==""?d[l]:null);for(var t=0,q=g.length;t<q;t++){var h=g.items[t];var c=h.mapping!==undefined&&h.mapping!==null?h.mapping:t;var u=d[c]!==undefined?d[c]:h.defaultValue;u=h.convert(u,d);p[h.name]=u}var w=new e(p,r);w.json=d;m[m.length]=w}return{records:m,totalRecords:m.length}}});Ext.data.Tree=function(a){this.nodeHash={};this.root=null;if(a){this.setRootNode(a)}this.addEvents("append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert");Ext.data.Tree.superclass.constructor.call(this)};Ext.extend(Ext.data.Tree,Ext.util.Observable,{pathSeparator:"/",proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments)},getRootNode:function(){return this.root},setRootNode:function(a){this.root=a;a.ownerTree=this;a.isRoot=true;this.registerNode(a);return a},getNodeById:function(a){return this.nodeHash[a]},registerNode:function(a){this.nodeHash[a.id]=a},unregisterNode:function(a){delete this.nodeHash[a.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"}});Ext.data.Node=function(a){this.attributes=a||{};this.leaf=this.attributes.leaf;this.id=this.attributes.id;if(!this.id){this.id=Ext.id(null,"ynode-");this.attributes.id=this.id}this.childNodes=[];if(!this.childNodes.indexOf){this.childNodes.indexOf=function(c){for(var d=0,b=this.length;d<b;d++){if(this[d]==c){return d}}return -1}}this.parentNode=null;this.firstChild=null;this.lastChild=null;this.previousSibling=null;this.nextSibling=null;this.addEvents({append:true,remove:true,move:true,insert:true,beforeappend:true,beforeremove:true,beforemove:true,beforeinsert:true});this.listeners=this.attributes.listeners;Ext.data.Node.superclass.constructor.call(this)};Ext.extend(Ext.data.Node,Ext.util.Observable,{fireEvent:function(b){if(Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false}var a=this.getOwnerTree();if(a){if(a.proxyNodeEvent.apply(a,arguments)===false){return false}}return true},isLeaf:function(){return this.leaf===true},setFirstChild:function(a){this.firstChild=a},setLastChild:function(a){this.lastChild=a},isLast:function(){return(!this.parentNode?true:this.parentNode.lastChild==this)},isFirst:function(){return(!this.parentNode?true:this.parentNode.firstChild==this)},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(h){var e=false;if(Ext.isArray(h)){e=h}else{if(arguments.length>1){e=arguments}}if(e){for(var d=0,a=e.length;d<a;d++){this.appendChild(e[d])}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,h)===false){return false}var g=this.childNodes.length;var c=h.parentNode;if(c){if(h.fireEvent("beforemove",h.getOwnerTree(),h,c,this,g)===false){return false}c.removeChild(h)}g=this.childNodes.length;if(g==0){this.setFirstChild(h)}this.childNodes.push(h);h.parentNode=this;var b=this.childNodes[g-1];if(b){h.previousSibling=b;b.nextSibling=h}else{h.previousSibling=null}h.nextSibling=null;this.setLastChild(h);h.setOwnerTree(this.getOwnerTree());this.fireEvent("append",this.ownerTree,this,h,g);if(c){h.fireEvent("move",this.ownerTree,h,c,this,g)}return h}},removeChild:function(b){var a=this.childNodes.indexOf(b);if(a==-1){return false}if(this.fireEvent("beforeremove",this.ownerTree,this,b)===false){return false}this.childNodes.splice(a,1);if(b.previousSibling){b.previousSibling.nextSibling=b.nextSibling}if(b.nextSibling){b.nextSibling.previousSibling=b.previousSibling}if(this.firstChild==b){this.setFirstChild(b.nextSibling)}if(this.lastChild==b){this.setLastChild(b.previousSibling)}b.setOwnerTree(null);b.parentNode=null;b.previousSibling=null;b.nextSibling=null;this.fireEvent("remove",this.ownerTree,this,b);return b},insertBefore:function(g,d){if(!d){return this.appendChild(g)}if(g==d){return false}if(this.fireEvent("beforeinsert",this.ownerTree,this,g,d)===false){return false}var e=this.childNodes.indexOf(d);var c=g.parentNode;var b=e;if(c==this&&this.childNodes.indexOf(g)<e){b--}if(c){if(g.fireEvent("beforemove",g.getOwnerTree(),g,c,this,e,d)===false){return false}c.removeChild(g)}if(b==0){this.setFirstChild(g)}this.childNodes.splice(b,0,g);g.parentNode=this;var a=this.childNodes[b-1];if(a){g.previousSibling=a;a.nextSibling=g}else{g.previousSibling=null}g.nextSibling=d;d.previousSibling=g;g.setOwnerTree(this.getOwnerTree());this.fireEvent("insert",this.ownerTree,this,g,d);if(c){g.fireEvent("move",this.ownerTree,g,c,this,b,d)}return g},remove:function(){this.parentNode.removeChild(this);return this},item:function(a){return this.childNodes[a]},replaceChild:function(b,a){var c=a?a.nextSibling:null;this.removeChild(a);this.insertBefore(b,c);return a},indexOf:function(a){return this.childNodes.indexOf(a)},getOwnerTree:function(){if(!this.ownerTree){var a=this;while(a){if(a.ownerTree){this.ownerTree=a.ownerTree;break}a=a.parentNode}}return this.ownerTree},getDepth:function(){var a=0;var b=this;while(b.parentNode){++a;b=b.parentNode}return a},setOwnerTree:function(d){if(d!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)}this.ownerTree=d;var b=this.childNodes;for(var c=0,a=b.length;c<a;c++){b[c].setOwnerTree(d)}if(d){d.registerNode(this)}}},getPath:function(e){e=e||"id";var d=this.parentNode;var c=[this.attributes[e]];while(d){c.unshift(d.attributes[e]);d=d.parentNode}var a=this.getOwnerTree().pathSeparator;return a+c.join(a)},bubble:function(a,d,b){var c=this;while(c){if(a.apply(d||c,b||[c])===false){break}c=c.parentNode}},cascade:function(a,g,b){if(a.apply(g||this,b||[this])!==false){var e=this.childNodes;for(var d=0,c=e.length;d<c;d++){e[d].cascade(a,g,b)}}},eachChild:function(a,g,b){var e=this.childNodes;for(var d=0,c=e.length;d<c;d++){if(a.apply(g||this,b||[e[d]])===false){break}}},findChild:function(b,e){var d=this.childNodes;for(var c=0,a=d.length;c<a;c++){if(d[c].attributes[b]==e){return d[c]}}return null},findChildBy:function(a,e){var d=this.childNodes;for(var c=0,b=d.length;c<b;c++){if(a.call(e||d[c],d[c])===true){return d[c]}}return null},sort:function(a,h){var g=this.childNodes;var e=g.length;if(e>0){var d=h?function(){a.apply(h,arguments)}:a;g.sort(d);for(var c=0;c<e;c++){var b=g[c];b.previousSibling=g[c-1];b.nextSibling=g[c+1];if(c==0){this.setFirstChild(b)}if(c==e-1){this.setLastChild(b)}}}},contains:function(a){return a.isAncestor(this)},isAncestor:function(b){var a=this.parentNode;while(a){if(a==b){return true}a=a.parentNode}return false},toString:function(){return"[Node"+(this.id?" "+this.id:"")+"]"}});Ext.data.GroupingStore=Ext.extend(Ext.data.Store,{constructor:function(a){Ext.data.GroupingStore.superclass.constructor.call(this,a);this.applyGroupField()},remoteGroup:false,groupOnSort:false,clearGrouping:function(){this.groupField=false;if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy}var a=this.lastOptions;if(a&&a.params){delete a.params.groupBy}this.reload()}else{this.applySort();this.fireEvent("datachanged",this)}},groupBy:function(b,c){if(this.groupField==b&&!c){return}this.groupField=b;this.applyGroupField();if(this.groupOnSort){this.sort(b);return}if(this.remoteGroup){this.reload()}else{var a=this.sortInfo||{};if(a.field!=b){this.applySort()}else{this.sortData(b)}this.fireEvent("datachanged",this)}},applyGroupField:function(){if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}this.baseParams.groupBy=this.groupField}},applySort:function(){Ext.data.GroupingStore.superclass.applySort.call(this);if(!this.groupOnSort&&!this.remoteGroup){var a=this.getGroupState();if(a&&a!=this.sortInfo.field){this.sortData(this.groupField)}}},applyGrouping:function(a){if(this.groupField!==false){this.groupBy(this.groupField,true);return true}else{if(a===true){this.fireEvent("datachanged",this)}return false}},getGroupState:function(){return this.groupOnSort&&this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField}});Ext.ComponentMgr=function(){var b=new Ext.util.MixedCollection();var a={};return{register:function(d){b.add(d)},unregister:function(d){b.remove(d)},get:function(c){return b.get(c)},onAvailable:function(d,c,e){b.on("add",function(h,g){if(g.id==d){c.call(e||g,g);b.un("add",c,e)}})},all:b,registerType:function(d,c){a[d]=c;c.xtype=d},create:function(d,c){return new a[d.xtype||c](d)}}}();Ext.reg=Ext.ComponentMgr.registerType;Ext.Component=function(b){b=b||{};if(b.initialConfig){if(b.isAction){this.baseAction=b}b=b.initialConfig}else{if(b.tagName||b.dom||typeof b=="string"){b={applyTo:b,id:b.id||b}}}this.initialConfig=b;Ext.apply(this,b);this.addEvents("disable","enable","beforeshow","show","beforehide","hide","beforerender","render","beforedestroy","destroy","beforestaterestore","staterestore","beforestatesave","statesave");this.getId();Ext.ComponentMgr.register(this);Ext.Component.superclass.constructor.call(this);if(this.baseAction){this.baseAction.addComponent(this)}this.initComponent();if(this.plugins){if(Ext.isArray(this.plugins)){for(var c=0,a=this.plugins.length;c<a;c++){this.plugins[c]=this.initPlugin(this.plugins[c])}}else{this.plugins=this.initPlugin(this.plugins)}}if(this.stateful!==false){this.initState(b)}if(this.applyTo){this.applyToMarkup(this.applyTo);delete this.applyTo}else{if(this.renderTo){this.render(this.renderTo);delete this.renderTo}}};Ext.Component.AUTO_ID=1000;Ext.extend(Ext.Component,Ext.util.Observable,{disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,hidden:false,disabled:false,rendered:false,ctype:"Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]},initPlugin:function(a){a.init(this);return a},initComponent:Ext.emptyFn,render:function(a,b){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!a&&this.el){this.el=Ext.get(this.el);a=this.el.dom.parentNode;this.allowDomMove=false}this.container=Ext.get(a);if(this.ctCls){this.container.addClass(this.ctCls)}this.rendered=true;if(b!==undefined){if(typeof b=="number"){b=this.container.dom.childNodes[b]}else{b=Ext.getDom(b)}}this.onRender(this.container,b||null);if(this.autoShow){this.el.removeClass(["x-hidden","x-hide-"+this.hideMode])}if(this.cls){this.el.addClass(this.cls);delete this.cls}if(this.style){this.el.applyStyles(this.style);delete this.style}if(this.overCls){this.el.addClassOnOver(this.overCls)}this.fireEvent("render",this);this.afterRender(this.container);if(this.hidden){this.hide()}if(this.disabled){this.disable()}if(this.stateful!==false){this.initStateEvents()}}return this},initState:function(b){if(Ext.state.Manager){var c=this.getStateId();if(c){var a=Ext.state.Manager.get(c);if(a){if(this.fireEvent("beforestaterestore",this,a)!==false){this.applyState(a);this.fireEvent("staterestore",this,a)}}}}},getStateId:function(){return this.stateId||((this.id.indexOf("ext-comp-")==0||this.id.indexOf("ext-gen")==0)?null:this.id)},initStateEvents:function(){if(this.stateEvents){for(var a=0,b;b=this.stateEvents[a];a++){this.on(b,this.saveState,this,{delay:100})}}},applyState:function(a,b){if(a){Ext.apply(this,a)}},getState:function(){return null},saveState:function(){if(Ext.state.Manager&&this.stateful!==false){var b=this.getStateId();if(b){var a=this.getState();if(this.fireEvent("beforestatesave",this,a)!==false){Ext.state.Manager.set(b,a);this.fireEvent("statesave",this,a)}}}},applyToMarkup:function(a){this.allowDomMove=false;this.el=Ext.get(a);this.render(this.el.dom.parentNode)},addClass:function(a){if(this.el){this.el.addClass(a)}else{this.cls=this.cls?this.cls+" "+a:a}},removeClass:function(a){if(this.el){this.el.removeClass(a)}else{if(this.cls){this.cls=this.cls.split(" ").remove(a).join(" ")}}},onRender:function(b,d){if(this.autoEl){if(typeof this.autoEl=="string"){this.el=document.createElement(this.autoEl)}else{var a=document.createElement("div");Ext.DomHelper.overwrite(a,this.autoEl);this.el=a.firstChild}if(!this.el.id){this.el.id=this.getId()}}if(this.el){this.el=Ext.get(this.el);if(this.allowDomMove!==false){try{b.dom.insertBefore(this.el.dom,d)}catch(c){}}}},getAutoCreate:function(){var a=typeof this.autoCreate=="object"?this.autoCreate:Ext.apply({},this.defaultAutoCreate);if(this.id&&!a.id){a.id=this.id}return a},afterRender:Ext.emptyFn,destroy:function(){if(this.fireEvent("beforedestroy",this)!==false){this.beforeDestroy();if(this.rendered){this.el.removeAllListeners();this.el.remove();if(this.actionMode=="container"){this.container.remove()}}this.onDestroy();Ext.ComponentMgr.unregister(this);this.fireEvent("destroy",this);this.purgeListeners()}},beforeDestroy:Ext.emptyFn,onDestroy:Ext.emptyFn,getEl:function(){return this.el},getId:function(){return this.id||(this.id="ext-comp-"+(++Ext.Component.AUTO_ID))},getItemId:function(){return this.itemId||this.getId()},focus:function(a,b){if(b){this.focus.defer(typeof b=="number"?b:10,this,[a,false]);return}if(this.rendered){this.el.focus();if(a===true){this.el.dom.select()}}return this},blur:function(){if(this.rendered){this.el.blur()}return this},disable:function(){if(this.rendered){this.onDisable()}this.disabled=true;this.fireEvent("disable",this);return this},onDisable:function(){this.getActionEl().addClass(this.disabledClass);this.el.dom.disabled=true},enable:function(){if(this.rendered){this.onEnable()}this.disabled=false;this.fireEvent("enable",this);return this},onEnable:function(){this.getActionEl().removeClass(this.disabledClass);this.el.dom.disabled=false},setDisabled:function(a){this[a?"disable":"enable"]()},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;if(this.autoRender){this.render(typeof this.autoRender=="boolean"?Ext.getBody():this.autoRender)}if(this.rendered){this.onShow()}this.fireEvent("show",this)}return this},onShow:function(){if(this.hideParent){this.container.removeClass("x-hide-"+this.hideMode)}else{this.getActionEl().removeClass("x-hide-"+this.hideMode)}},hide:function(){if(this.fireEvent("beforehide",this)!==false){this.hidden=true;if(this.rendered){this.onHide()}this.fireEvent("hide",this)}return this},onHide:function(){if(this.hideParent){this.container.addClass("x-hide-"+this.hideMode)}else{this.getActionEl().addClass("x-hide-"+this.hideMode)}},setVisible:function(a){if(a){this.show()}else{this.hide()}return this},isVisible:function(){return this.rendered&&this.getActionEl().isVisible()},cloneConfig:function(a){a=a||{};var c=a.id||Ext.id();var b=Ext.applyIf(a,this.initialConfig);b.id=c;return new this.constructor(b)},getXType:function(){return this.constructor.xtype},isXType:function(b,a){if(typeof b=="function"){b=b.xtype}else{if(typeof b=="object"){b=b.constructor.xtype}}return !a?("/"+this.getXTypes()+"/").indexOf("/"+b+"/")!=-1:this.constructor.xtype==b},getXTypes:function(){var b=this.constructor;if(!b.xtypes){var d=[],a=this;while(a&&a.constructor.xtype){d.unshift(a.constructor.xtype);a=a.constructor.superclass}b.xtypeChain=d;b.xtypes=d.join("/")}return b.xtypes},findParentBy:function(a){for(var b=this.ownerCt;(b!=null)&&!a(b,this);b=b.ownerCt){}return b||null},findParentByType:function(a){return typeof a=="function"?this.findParentBy(function(b){return b.constructor===a}):this.findParentBy(function(b){return b.constructor.xtype===a})},mon:function(d,b,a,e,c){if(!this.mons){this.mons=[];this.on("beforedestroy",function(){for(var k=0,g=this.mons.length;k<g;k++){var h=this.mons[k];h.item.un(h.ename,h.fn,h.scope)}},this)}this.mons.push({item:d,ename:b,fn:a,scope:e});d.on(b,a,e,c)}});Ext.reg("component",Ext.Component);Ext.Action=function(a){this.initialConfig=a;this.items=[]};Ext.Action.prototype={isAction:true,setText:function(a){this.initialConfig.text=a;this.callEach("setText",[a])},getText:function(){return this.initialConfig.text},setIconClass:function(a){this.initialConfig.iconCls=a;this.callEach("setIconClass",[a])},getIconClass:function(){return this.initialConfig.iconCls},setDisabled:function(a){this.initialConfig.disabled=a;this.callEach("setDisabled",[a])},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},isDisabled:function(){return this.initialConfig.disabled},setHidden:function(a){this.initialConfig.hidden=a;this.callEach("setVisible",[!a])},show:function(){this.setHidden(false)},hide:function(){this.setHidden(true)},isHidden:function(){return this.initialConfig.hidden},setHandler:function(a,b){this.initialConfig.handler=a;this.initialConfig.scope=b;this.callEach("setHandler",[a,b])},each:function(a,b){Ext.each(this.items,a,b)},callEach:function(c,b){var e=this.items;for(var d=0,a=e.length;d<a;d++){e[d][c].apply(e[d],b)}},addComponent:function(a){this.items.push(a);a.on("destroy",this.removeComponent,this)},removeComponent:function(a){this.items.remove(a)},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||window,arguments)}};(function(){Ext.Layer=function(g,h){g=g||{};var k=Ext.DomHelper;var e=g.parentEl,c=e?Ext.getDom(e):document.body;if(h){this.dom=Ext.getDom(h)}if(!this.dom){var d=g.dh||{tag:"div",cls:"x-layer"};this.dom=k.append(c,d)}if(g.cls){this.addClass(g.cls)}this.constrain=g.constrain!==false;this.visibilityMode=Ext.Element.VISIBILITY;if(g.id){this.id=this.dom.id=g.id}else{this.id=Ext.id(this.dom)}this.zindex=g.zindex||this.getZIndex();this.position("absolute",this.zindex);if(g.shadow){this.shadowOffset=g.shadowOffset||4;this.shadow=new Ext.Shadow({offset:this.shadowOffset,mode:g.shadow})}else{this.shadowOffset=0}this.useShim=g.shim!==false&&Ext.useShims;this.useDisplay=g.useDisplay;this.hide()};var a=Ext.Element.prototype;var b=[];Ext.extend(Ext.Layer,Ext.Element,{getZIndex:function(){return this.zindex||parseInt((this.getShim()||this).getStyle("z-index"),10)||11000},getShim:function(){if(!this.useShim){return null}if(this.shim){return this.shim}var d=b.shift();if(!d){d=this.createShim();d.enableDisplayMode("block");d.dom.style.display="none";d.dom.style.visibility="visible"}var c=this.dom.parentNode;if(d.dom.parentNode!=c){c.insertBefore(d.dom,this.dom)}d.setStyle("z-index",this.getZIndex()-2);this.shim=d;return d},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);b.push(this.shim);delete this.shim}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;this.shadow.hide();this.lastShadowOffset=this.shadowOffset;this.shadowOffset=0}},enableShadow:function(c){if(this.shadow){this.shadowDisabled=false;this.shadowOffset=this.lastShadowOffset;delete this.lastShadowOffset;if(c){this.sync(true)}}},sync:function(g){var k=this.shadow;if(!this.updating&&this.isVisible()&&(k||this.useShim)){var c=this.getShim();var o=this.getWidth(),p=this.getHeight();var d=this.getLeft(true),n=this.getTop(true);if(k&&!this.shadowDisabled){if(g&&!k.isVisible()){k.show(this)}else{k.realign(d,n,o,p)}if(c){if(g){c.show()}var e=k.adjusts,m=c.dom.style;m.left=(Math.min(d,d+e.l))+"px";m.top=(Math.min(n,n+e.t))+"px";m.width=(o+e.w)+"px";m.height=(p+e.h)+"px"}}else{if(c){if(g){c.show()}c.setSize(o,p);c.setLeftTop(d,n)}}}},destroy:function(){this.hideShim();if(this.shadow){this.shadow.hide()}this.removeAllListeners();Ext.removeNode(this.dom);Ext.Element.uncache(this.id)},remove:function(){this.destroy()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(c){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var n=Ext.lib.Dom.getViewWidth(),c=Ext.lib.Dom.getViewHeight();var g=Ext.getDoc().getScroll();var m=this.getXY();var d=m[0],e=m[1];var o=this.dom.offsetWidth+this.shadowOffset,p=this.dom.offsetHeight+this.shadowOffset;var l=false;if((d+o)>n+g.left){d=n-o-this.shadowOffset;l=true}if((e+p)>c+g.top){e=c-p-this.shadowOffset;l=true}if(d<g.left){d=g.left;l=true}if(e<g.top){e=g.top;l=true}if(l){if(this.avoidY){var k=this.avoidY;if(e<=k&&(e+p)>=k){e=k-p-5}}m=[d,e];this.storeXY(m);a.setXY.call(this,m);this.sync()}}},isVisible:function(){return this.visible},showAction:function(){this.visible=true;if(this.useDisplay===true){this.setDisplayed("")}else{if(this.lastXY){a.setXY.call(this,this.lastXY)}else{if(this.lastLT){a.setLeftTop.call(this,this.lastLT[0],this.lastLT[1])}}}},hideAction:function(){this.visible=false;if(this.useDisplay===true){this.setDisplayed(false)}else{this.setLeftTop(-10000,-10000)}},setVisible:function(k,h,m,l,n){if(k){this.showAction()}if(h&&k){var g=function(){this.sync(true);if(l){l()}}.createDelegate(this);a.setVisible.call(this,true,true,m,g,n)}else{if(!k){this.hideUnders(true)}var g=l;if(h){g=function(){this.hideAction();if(l){l()}}.createDelegate(this)}a.setVisible.call(this,k,h,m,g,n);if(k){this.sync(true)}else{if(!h){this.hideAction()}}}},storeXY:function(c){delete this.lastLT;this.lastXY=c},storeLeftTop:function(d,c){delete this.lastXY;this.lastLT=[d,c]},beforeFx:function(){this.beforeAction();return Ext.Layer.superclass.beforeFx.apply(this,arguments)},afterFx:function(){Ext.Layer.superclass.afterFx.apply(this,arguments);this.sync(this.isVisible())},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()}},setLeft:function(c){this.storeLeftTop(c,this.getTop(true));a.setLeft.apply(this,arguments);this.sync()},setTop:function(c){this.storeLeftTop(this.getLeft(true),c);a.setTop.apply(this,arguments);this.sync()},setLeftTop:function(d,c){this.storeLeftTop(d,c);a.setLeftTop.apply(this,arguments);this.sync()},setXY:function(h,k,m,l,n){this.fixDisplay();this.beforeAction();this.storeXY(h);var g=this.createCB(l);a.setXY.call(this,h,k,m,g,n);if(!k){g()}},createCB:function(e){var d=this;return function(){d.constrainXY();d.sync(true);if(e){e()}}},setX:function(g,h,l,k,m){this.setXY([g,this.getY()],h,l,k,m)},setY:function(g,h,l,k,m){this.setXY([this.getX(),g],h,l,k,m)},setSize:function(m,n,l,o,k,p){this.beforeAction();var g=this.createCB(k);a.setSize.call(this,m,n,l,o,g,p);if(!l){g()}},setWidth:function(k,h,m,l,n){this.beforeAction();var g=this.createCB(l);a.setWidth.call(this,k,h,m,g,n);if(!h){g()}},setHeight:function(m,l,n,k,o){this.beforeAction();var g=this.createCB(k);a.setHeight.call(this,m,l,n,g,o);if(!l){g()}},setBounds:function(g,k,q,r,l,n,m,o){this.beforeAction();var p=this.createCB(m);if(!l){this.storeXY([g,k]);a.setXY.call(this,[g,k]);a.setSize.call(this,q,r,l,n,p,o);p()}else{a.setBounds.call(this,g,k,q,r,l,n,p,o)}return this},setZIndex:function(c){this.zindex=c;this.setStyle("z-index",c+2);if(this.shadow){this.shadow.setZIndex(c+1)}if(this.shim){this.shim.setStyle("z-index",c)}}})})();Ext.Shadow=function(e){Ext.apply(this,e);if(typeof this.mode!="string"){this.mode=this.defaultMode}var b=this.offset,d={h:0};var c=Math.floor(this.offset/2);switch(this.mode.toLowerCase()){case"drop":d.w=0;d.l=d.t=b;d.t-=1;if(Ext.isIE){d.l-=this.offset+c;d.t-=this.offset+c;d.w-=c;d.h-=c;d.t+=1}break;case"sides":d.w=(b*2);d.l=-b;d.t=b-1;if(Ext.isIE){d.l-=(this.offset-c);d.t-=this.offset+c;d.l+=1;d.w-=(this.offset-c)*2;d.w-=c+1;d.h-=1}break;case"frame":d.w=d.h=(b*2);d.l=d.t=-b;d.t+=1;d.h-=2;if(Ext.isIE){d.l-=(this.offset-c);d.t-=(this.offset-c);d.l+=1;d.w-=(this.offset+c+1);d.h-=(this.offset+c);d.h+=1}break}this.adjusts=d};Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(a){a=Ext.get(a);if(!this.el){this.el=Ext.Shadow.Pool.pull();if(this.el.dom.nextSibling!=a.dom){this.el.insertBefore(a)}}this.el.setStyle("z-index",this.zIndex||parseInt(a.getStyle("z-index"),10)-1);if(Ext.isIE){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"}this.realign(a.getLeft(true),a.getTop(true),a.getWidth(),a.getHeight());this.el.dom.style.display="block"},isVisible:function(){return this.el?true:false},realign:function(c,r,v,x){if(!this.el){return}var g=this.adjusts,k=this.el.dom,q=k.style;var m=0;q.left=(c+g.l)+"px";q.top=(r+g.t)+"px";var p=(v+g.w),b=(x+g.h),n=p+"px",e=b+"px";if(q.width!=n||q.height!=e){q.width=n;q.height=e;if(!Ext.isIE){var u=k.childNodes;var o=Math.max(0,(p-12))+"px";u[0].childNodes[1].style.width=o;u[1].childNodes[1].style.width=o;u[2].childNodes[1].style.width=o;u[1].style.height=Math.max(0,(b-12))+"px"}}},hide:function(){if(this.el){this.el.dom.style.display="none";Ext.Shadow.Pool.push(this.el);delete this.el}},setZIndex:function(a){this.zIndex=a;if(this.el){this.el.setStyle("z-index",a)}}};Ext.Shadow.Pool=function(){var b=[];var a=Ext.isIE?'<div class="x-ie-shadow"></div>':'<div class="x-shadow"><div class="xst"><div class="xstl"></div><div class="xstc"></div><div class="xstr"></div></div><div class="xsc"><div class="xsml"></div><div class="xsmc"></div><div class="xsmr"></div></div><div class="xsb"><div class="xsbl"></div><div class="xsbc"></div><div class="xsbr"></div></div></div>';return{pull:function(){var c=b.shift();if(!c){c=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,a));c.autoBoxAdjust=false}return c},push:function(c){b.push(c)}}}();Ext.BoxComponent=Ext.extend(Ext.Component,{initComponent:function(){Ext.BoxComponent.superclass.initComponent.call(this);this.addEvents("resize","move")},boxReady:false,deferHeight:false,setSize:function(b,c){if(typeof b=="object"){c=b.height;b=b.width}if(!this.boxReady){this.width=b;this.height=c;return this}if(this.lastSize&&this.lastSize.width==b&&this.lastSize.height==c){return this}this.lastSize={width:b,height:c};var e=this.adjustSize(b,c);var g=e.width,d=e.height;if(g!==undefined||d!==undefined){var a=this.getResizeEl();if(!this.deferHeight&&g!==undefined&&d!==undefined){a.setSize(g,d)}else{if(!this.deferHeight&&d!==undefined){a.setHeight(d)}else{if(g!==undefined){a.setWidth(g)}}}this.onResize(g,d,b,c);this.fireEvent("resize",this,g,d,b,c)}return this},setWidth:function(a){return this.setSize(a)},setHeight:function(a){return this.setSize(undefined,a)},getSize:function(){return this.el.getSize()},getPosition:function(a){if(a===true){return[this.el.getLeft(true),this.el.getTop(true)]}return this.xy||this.el.getXY()},getBox:function(a){var b=this.el.getSize();if(a===true){b.x=this.el.getLeft(true);b.y=this.el.getTop(true)}else{var c=this.xy||this.el.getXY();b.x=c[0];b.y=c[1]}return b},updateBox:function(a){this.setSize(a.width,a.height);this.setPagePosition(a.x,a.y);return this},getResizeEl:function(){return this.resizeEl||this.el},getPositionEl:function(){return this.positionEl||this.el},setPosition:function(a,b){if(a&&typeof a[1]=="number"){b=a[1];a=a[0]}this.x=a;this.y=b;if(!this.boxReady){return this}var g=this.adjustPosition(a,b);var e=g.x,d=g.y;var c=this.getPositionEl();if(e!==undefined||d!==undefined){if(e!==undefined&&d!==undefined){c.setLeftTop(e,d)}else{if(e!==undefined){c.setLeft(e)}else{if(d!==undefined){c.setTop(d)}}}this.onPosition(e,d);this.fireEvent("move",this,e,d)}return this},setPagePosition:function(a,b){if(a&&typeof a[1]=="number"){b=a[1];a=a[0]}this.pageX=a;this.pageY=b;if(!this.boxReady){return}if(a===undefined||b===undefined){return}var c=this.el.translatePoints(a,b);this.setPosition(c.left,c.top);return this},onRender:function(a,b){Ext.BoxComponent.superclass.onRender.call(this,a,b);if(this.resizeEl){this.resizeEl=Ext.get(this.resizeEl)}if(this.positionEl){this.positionEl=Ext.get(this.positionEl)}},afterRender:function(){Ext.BoxComponent.superclass.afterRender.call(this);this.boxReady=true;this.setSize(this.width,this.height);if(this.x||this.y){this.setPosition(this.x,this.y)}else{if(this.pageX||this.pageY){this.setPagePosition(this.pageX,this.pageY)}}},syncSize:function(){delete this.lastSize;this.setSize(this.autoWidth?undefined:this.el.getWidth(),this.autoHeight?undefined:this.el.getHeight());return this},onResize:function(d,a,b,c){},onPosition:function(a,b){},adjustSize:function(a,b){if(this.autoWidth){a="auto"}if(this.autoHeight){b="auto"}return{width:a,height:b}},adjustPosition:function(a,b){return{x:a,y:b}}});Ext.reg("box",Ext.BoxComponent);Ext.SplitBar=function(a,e,c,b,d){this.el=Ext.get(a,true);this.el.dom.unselectable="on";this.resizingEl=Ext.get(e,true);this.orientation=c||Ext.SplitBar.HORIZONTAL;this.minSize=0;this.maxSize=2000;this.animate=false;this.useShim=false;this.shim=null;if(!d){this.proxy=Ext.SplitBar.createProxy(this.orientation)}else{this.proxy=Ext.get(d).dom}this.dd=new Ext.dd.DDProxy(this.el.dom.id,"XSplitBars",{dragElId:this.proxy.id});this.dd.b4StartDrag=this.onStartProxyDrag.createDelegate(this);this.dd.endDrag=this.onEndProxyDrag.createDelegate(this);this.dragSpecs={};this.adapter=new Ext.SplitBar.BasicLayoutAdapter();this.adapter.init(this);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.placement=b||(this.el.getX()>this.resizingEl.getX()?Ext.SplitBar.LEFT:Ext.SplitBar.RIGHT);this.el.addClass("x-splitbar-h")}else{this.placement=b||(this.el.getY()>this.resizingEl.getY()?Ext.SplitBar.TOP:Ext.SplitBar.BOTTOM);this.el.addClass("x-splitbar-v")}this.addEvents("resize","moved","beforeresize","beforeapply");Ext.SplitBar.superclass.constructor.call(this)};Ext.extend(Ext.SplitBar,Ext.util.Observable,{onStartProxyDrag:function(b,c){this.fireEvent("beforeresize",this);this.overlay=Ext.DomHelper.append(document.body,{cls:"x-drag-overlay",html:"&#160;"},true);this.overlay.unselectable();this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();Ext.get(this.proxy).setDisplayed("block");var a=this.adapter.getElementSize(this);this.activeMinSize=this.getMinimumSize();this.activeMaxSize=this.getMaximumSize();var e=a-this.activeMinSize;var d=Math.max(this.activeMaxSize-a,0);if(this.orientation==Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();this.dd.setXConstraint(this.placement==Ext.SplitBar.LEFT?e:d,this.placement==Ext.SplitBar.LEFT?d:e);this.dd.setYConstraint(0,0)}else{this.dd.resetConstraints();this.dd.setXConstraint(0,0);this.dd.setYConstraint(this.placement==Ext.SplitBar.TOP?e:d,this.placement==Ext.SplitBar.TOP?d:e)}this.dragSpecs.startSize=a;this.dragSpecs.startPoint=[b,c];Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,b,c)},onEndProxyDrag:function(c){Ext.get(this.proxy).setDisplayed(false);var a=Ext.lib.Event.getXY(c);if(this.overlay){Ext.destroy(this.overlay);delete this.overlay}var b;if(this.orientation==Ext.SplitBar.HORIZONTAL){b=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.LEFT?a[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-a[0])}else{b=this.dragSpecs.startSize+(this.placement==Ext.SplitBar.TOP?a[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-a[1])}b=Math.min(Math.max(b,this.activeMinSize),this.activeMaxSize);if(b!=this.dragSpecs.startSize){if(this.fireEvent("beforeapply",this,b)!==false){this.adapter.setElementSize(this,b);this.fireEvent("moved",this,b);this.fireEvent("resize",this,b)}}},getAdapter:function(){return this.adapter},setAdapter:function(a){this.adapter=a;this.adapter.init(this)},getMinimumSize:function(){return this.minSize},setMinimumSize:function(a){this.minSize=a},getMaximumSize:function(){return this.maxSize},setMaximumSize:function(a){this.maxSize=a},setCurrentSize:function(a){var b=this.animate;this.animate=false;this.adapter.setElementSize(this,a);this.animate=b},destroy:function(a){if(this.shim){this.shim.remove()}this.dd.unreg();Ext.destroy(Ext.get(this.proxy));if(a){this.el.remove()}}});Ext.SplitBar.createProxy=function(b){var a=new Ext.Element(document.createElement("div"));a.unselectable();var c="x-splitbar-proxy";a.addClass(c+" "+(b==Ext.SplitBar.HORIZONTAL?c+"-h":c+"-v"));document.body.appendChild(a.dom);return a.dom};Ext.SplitBar.BasicLayoutAdapter=function(){};Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(a){},getElementSize:function(a){if(a.orientation==Ext.SplitBar.HORIZONTAL){return a.resizingEl.getWidth()}else{return a.resizingEl.getHeight()}},setElementSize:function(a,c,b){if(a.orientation==Ext.SplitBar.HORIZONTAL){if(!a.animate){a.resizingEl.setWidth(c);if(b){b(a,c)}}else{a.resizingEl.setWidth(c,true,0.1,b,"easeOut")}}else{if(!a.animate){a.resizingEl.setHeight(c);if(b){b(a,c)}}else{a.resizingEl.setHeight(c,true,0.1,b,"easeOut")}}}};Ext.SplitBar.AbsoluteLayoutAdapter=function(a){this.basic=new Ext.SplitBar.BasicLayoutAdapter();this.container=Ext.get(a)};Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(a){this.basic.init(a)},getElementSize:function(a){return this.basic.getElementSize(a)},setElementSize:function(a,c,b){this.basic.setElementSize(a,c,this.moveSplitter.createDelegate(this,[a]))},moveSplitter:function(a){var b=Ext.SplitBar;switch(a.placement){case b.LEFT:a.el.setX(a.resizingEl.getRight());break;case b.RIGHT:a.el.setStyle("right",(this.container.getWidth()-a.resizingEl.getLeft())+"px");break;case b.TOP:a.el.setY(a.resizingEl.getBottom());break;case b.BOTTOM:a.el.setY(a.resizingEl.getTop()-a.el.getHeight());break}}};Ext.SplitBar.VERTICAL=1;Ext.SplitBar.HORIZONTAL=2;Ext.SplitBar.LEFT=1;Ext.SplitBar.RIGHT=2;Ext.SplitBar.TOP=3;Ext.SplitBar.BOTTOM=4;Ext.Container=Ext.extend(Ext.BoxComponent,{autoDestroy:true,defaultType:"panel",initComponent:function(){Ext.Container.superclass.initComponent.call(this);this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");var a=this.items;if(a){delete this.items;if(Ext.isArray(a)){if(a.length>0){this.add.apply(this,a)}}else{this.add(a)}}},initItems:function(){if(!this.items){this.items=new Ext.util.MixedCollection(false,this.getComponentId);this.getLayout()}},setLayout:function(a){if(this.layout&&this.layout!=a){this.layout.setContainer(null)}this.initItems();this.layout=a;a.setContainer(this)},render:function(){Ext.Container.superclass.render.apply(this,arguments);if(this.layout){if(typeof this.layout=="string"){this.layout=new Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)}this.setLayout(this.layout);if(this.activeItem!==undefined){var a=this.activeItem;delete this.activeItem;this.layout.setActiveItem(a);return}}if(!this.ownerCt){this.doLayout()}if(this.monitorResize===true){Ext.EventManager.onWindowResize(this.doLayout,this,[false])}},getLayoutTarget:function(){return this.el},getComponentId:function(a){return a.itemId||a.id},add:function(k){this.initItems();var d=arguments,b=d.length;if(b>1){for(var h=0;h<b;h++){this.add(d[h])}return}var g=this.lookupComponent(this.applyDefaults(k));var e=this.items.length;if(this.fireEvent("beforeadd",this,g,e)!==false&&this.onBeforeAdd(g)!==false){this.items.add(g);g.ownerCt=this;this.fireEvent("add",this,g,e)}return g},insert:function(k,h){this.initItems();var d=arguments,b=d.length;if(b>2){for(var g=b-1;g>=1;--g){this.insert(k,d[g])}return}var e=this.lookupComponent(this.applyDefaults(h));if(e.ownerCt==this&&this.items.indexOf(e)<k){--k}if(this.fireEvent("beforeadd",this,e,k)!==false&&this.onBeforeAdd(e)!==false){this.items.insert(k,e);e.ownerCt=this;this.fireEvent("add",this,e,k)}return e},applyDefaults:function(a){if(this.defaults){if(typeof a=="string"){a=Ext.ComponentMgr.get(a);Ext.apply(a,this.defaults)}else{if(!a.events){Ext.applyIf(a,this.defaults)}else{Ext.apply(a,this.defaults)}}}return a},onBeforeAdd:function(a){if(a.ownerCt){a.ownerCt.remove(a,false)}if(this.hideBorders===true){a.border=(a.border===true)}},remove:function(d,a){this.initItems();var b=this.getComponent(d);if(b&&this.fireEvent("beforeremove",this,b)!==false){this.items.remove(b);delete b.ownerCt;if(a===true||(a!==false&&this.autoDestroy)){b.destroy()}if(this.layout&&this.layout.activeItem==b){delete this.layout.activeItem}this.fireEvent("remove",this,b)}return b},removeAll:function(c){this.initItems();var a,b=[];while((a=this.items.last())){b.unshift(this.remove(a,c))}return b},getComponent:function(a){if(typeof a=="object"){return a}return this.items.get(a)},lookupComponent:function(a){if(typeof a=="string"){return Ext.ComponentMgr.get(a)}else{if(!a.events){return this.createComponent(a)}}return a},createComponent:function(a){return Ext.ComponentMgr.create(a,this.defaultType)},doLayout:function(e){if(this.rendered&&this.layout){this.layout.layout()}if(e!==true&&this.items){var g=this.items.items;for(var b=0,a=g.length;b<a;b++){var d=g[b];if(d.doLayout){d.doLayout()}}}},getLayout:function(){if(!this.layout){var a=new Ext.layout.ContainerLayout(this.layoutConfig);this.setLayout(a)}return this.layout},beforeDestroy:function(){if(this.items){Ext.destroy.apply(Ext,this.items.items)}if(this.monitorResize){Ext.EventManager.removeResizeListener(this.doLayout,this)}if(this.layout&&this.layout.destroy){this.layout.destroy()}Ext.Container.superclass.beforeDestroy.call(this)},bubble:function(a,d,b){var c=this;while(c){if(a.apply(d||c,b||[c])===false){break}c=c.ownerCt}},cascade:function(a,g,b){if(a.apply(g||this,b||[this])!==false){if(this.items){var e=this.items.items;for(var d=0,c=e.length;d<c;d++){if(e[d].cascade){e[d].cascade(a,g,b)}else{a.apply(g||e[d],b||[e[d]])}}}}},findById:function(c){var a,b=this;this.cascade(function(d){if(b!=d&&d.id===c){a=d;return false}});return a||null},findByType:function(b,a){return this.findBy(function(d){return d.isXType(b,a)})},find:function(b,a){return this.findBy(function(d){return d[b]===a})},findBy:function(a,d){var c=[],b=this;this.cascade(function(e){if(b!=e&&a.call(d||e,e,b)===true){c.push(e)}});return c}});Ext.Container.LAYOUTS={};Ext.reg("container",Ext.Container);Ext.layout.ContainerLayout=function(a){Ext.apply(this,a)};Ext.layout.ContainerLayout.prototype={monitorResize:false,activeItem:null,layout:function(){var a=this.container.getLayoutTarget();this.onLayout(this.container,a);this.container.fireEvent("afterlayout",this.container,this)},onLayout:function(b,a){this.renderAll(b,a)},isValidParent:function(d,b){var a=d.getPositionEl?d.getPositionEl():d.getEl();return a.dom.parentNode==b.dom},renderAll:function(e,d){var g=e.items.items;for(var b=0,a=g.length;b<a;b++){var h=g[b];if(h&&(!h.rendered||!this.isValidParent(h,d))){this.renderItem(h,b,d)}}},renderItem:function(d,e,b){if(d&&!d.rendered){d.render(b,e);if(this.extraCls){var a=d.getPositionEl?d.getPositionEl():d;a.addClass(this.extraCls)}if(this.renderHidden&&d!=this.activeItem){d.hide()}}else{if(d&&!this.isValidParent(d,b)){if(this.extraCls){var a=d.getPositionEl?d.getPositionEl():d;a.addClass(this.extraCls)}if(typeof e=="number"){e=b.dom.childNodes[e]}b.dom.insertBefore(d.getEl().dom,e||null);if(this.renderHidden&&d!=this.activeItem){d.hide()}}}},onResize:function(){if(this.container.collapsed){return}var a=this.container.bufferResize;if(a){if(!this.resizeTask){this.resizeTask=new Ext.util.DelayedTask(this.layout,this);this.resizeBuffer=typeof a=="number"?a:100}this.resizeTask.delay(this.resizeBuffer)}else{this.layout()}},setContainer:function(a){if(this.monitorResize&&a!=this.container){if(this.container){this.container.un("resize",this.onResize,this)}if(a){a.on("resize",this.onResize,this)}}this.container=a},parseMargins:function(c){var b=c.split(" ");var a=b.length;if(a==1){b[1]=b[0];b[2]=b[0];b[3]=b[0]}if(a==2){b[2]=b[0];b[3]=b[1]}return{top:parseInt(b[0],10)||0,right:parseInt(b[1],10)||0,bottom:parseInt(b[2],10)||0,left:parseInt(b[3],10)||0}},destroy:Ext.emptyFn};Ext.Container.LAYOUTS.auto=Ext.layout.ContainerLayout;Ext.layout.FitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,onLayout:function(b,a){Ext.layout.FitLayout.superclass.onLayout.call(this,b,a);if(!this.container.collapsed){var c=(Ext.isIE6&&Ext.isStrict&&a.dom==document.body)?a.getViewSize():a.getStyleSize();this.setItemSize(this.activeItem||b.items.itemAt(0),c)}},setItemSize:function(b,a){if(b&&a.height>0){b.setSize(a)}}});Ext.Container.LAYOUTS.fit=Ext.layout.FitLayout;Ext.layout.CardLayout=Ext.extend(Ext.layout.FitLayout,{deferredRender:false,renderHidden:true,setActiveItem:function(a){a=this.container.getComponent(a);if(this.activeItem!=a){if(this.activeItem){this.activeItem.hide()}this.activeItem=a;a.show();this.layout()}},renderAll:function(b,a){if(this.deferredRender){this.renderItem(this.activeItem,undefined,a)}else{Ext.layout.CardLayout.superclass.renderAll.call(this,b,a)}}});Ext.Container.LAYOUTS.card=Ext.layout.CardLayout;Ext.layout.AnchorLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(b,a){return a.dom==document.body?a.getViewSize():a.getStyleSize()},onLayout:function(g,s){Ext.layout.AnchorLayout.superclass.onLayout.call(this,g,s);var r=this.getAnchorViewSize(g,s);var t=r.width,u=r.height;if(t<20||u<20){return}var l,q;if(g.anchorSize){if(typeof g.anchorSize=="number"){l=g.anchorSize}else{l=g.anchorSize.width;q=g.anchorSize.height}}else{l=g.initialConfig.width;q=g.initialConfig.height}var p=g.items.items,d=p.length,b,o,m,n,e;for(b=0;b<d;b++){o=p[b];if(o.anchor){m=o.anchorSpec;if(!m){var k=o.anchor.split(" ");o.anchorSpec=m={right:this.parseAnchor(k[0],o.initialConfig.width,l),bottom:this.parseAnchor(k[1],o.initialConfig.height,q)}}n=m.right?this.adjustWidthAnchor(m.right(t),o):undefined;e=m.bottom?this.adjustHeightAnchor(m.bottom(u),o):undefined;if(n||e){o.setSize(n||undefined,e||undefined)}}}},parseAnchor:function(c,b,d){if(c&&c!="none"){var h;if(/^(r|right|b|bottom)$/i.test(c)){var g=d-b;return function(a){if(a!==h){h=a;return a-g}}}else{if(c.indexOf("%")!=-1){var e=parseFloat(c.replace("%",""))*0.01;return function(a){if(a!==h){h=a;return Math.floor(a*e)}}}else{c=parseInt(c,10);if(!isNaN(c)){return function(a){if(a!==h){h=a;return a+c}}}}}}return false},adjustWidthAnchor:function(a,b){return a},adjustHeightAnchor:function(a,b){return a}});Ext.Container.LAYOUTS.anchor=Ext.layout.AnchorLayout;Ext.layout.ColumnLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,extraCls:"x-column",scrollOffset:0,isValidParent:function(b,a){return(b.getPositionEl?b.getPositionEl():b.getEl()).dom.parentNode==this.innerCt.dom},onLayout:function(e,b){var m=e.items.items,d=m.length,g,a;if(!this.innerCt){b.addClass("x-column-layout-ct");this.innerCt=b.createChild({cls:"x-column-inner"});this.innerCt.createChild({cls:"x-clear"})}this.renderAll(e,this.innerCt);var l=Ext.isIE&&b.dom!=Ext.getBody().dom?b.getStyleSize():b.getViewSize();if(l.width<1&&l.height<1){return}var n=l.width-b.getPadding("lr")-this.scrollOffset,o=l.height-b.getPadding("tb"),k=n;this.innerCt.setWidth(n);for(a=0;a<d;a++){g=m[a];if(!g.columnWidth){k-=(g.getSize().width+g.getEl().getMargins("lr"))}}k=k<0?0:k;for(a=0;a<d;a++){g=m[a];if(g.columnWidth){g.setSize(Math.floor(g.columnWidth*k)-g.getEl().getMargins("lr"))}}}});Ext.Container.LAYOUTS.column=Ext.layout.ColumnLayout;Ext.layout.BorderLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,onLayout:function(C,E){var a;if(!this.rendered){E.addClass("x-border-layout-ct");var v=C.items.items;a=[];for(var q=0,I=v.length;q<I;q++){var y=v[q];var H=y.region;if(y.collapsed){a.push(y)}y.collapsed=false;if(!y.rendered){y.cls=y.cls?y.cls+" x-border-panel":"x-border-panel";y.render(E,q)}this[H]=H!="center"&&y.split?new Ext.layout.BorderLayout.SplitRegion(this,y.initialConfig,H):new Ext.layout.BorderLayout.Region(this,y.initialConfig,H);this[H].render(E,y)}this.rendered=true}var u=E.getViewSize();if(u.width<20||u.height<20){if(a){this.restoreCollapsed=a}return}else{if(this.restoreCollapsed){a=this.restoreCollapsed;delete this.restoreCollapsed}}var o=u.width,p=u.height;var D=o,G=p,B=0,k=0;var t=this.north,l=this.south,A=this.west,z=this.east,y=this.center;if(!y&&Ext.layout.BorderLayout.WARN!==false){throw"No center region defined in BorderLayout "+C.id}if(t&&t.isVisible()){var x=t.getSize();var r=t.getMargins();x.width=o-(r.left+r.right);x.x=r.left;x.y=r.top;B=x.height+x.y+r.bottom;G-=B;t.applyLayout(x)}if(l&&l.isVisible()){var x=l.getSize();var r=l.getMargins();x.width=o-(r.left+r.right);x.x=r.left;var F=(x.height+r.top+r.bottom);x.y=p-F+r.top;G-=F;l.applyLayout(x)}if(A&&A.isVisible()){var x=A.getSize();var r=A.getMargins();x.height=G-(r.top+r.bottom);x.x=r.left;x.y=B+r.top;var d=(x.width+r.left+r.right);k+=d;D-=d;A.applyLayout(x)}if(z&&z.isVisible()){var x=z.getSize();var r=z.getMargins();x.height=G-(r.top+r.bottom);var d=(x.width+r.left+r.right);x.x=o-d+r.left;x.y=B+r.top;D-=d;z.applyLayout(x)}if(y){var r=y.getMargins();var g={x:k+r.left,y:B+r.top,width:D-(r.left+r.right),height:G-(r.top+r.bottom)};y.applyLayout(g)}if(a){for(var q=0,I=a.length;q<I;q++){a[q].collapse(false)}}if(Ext.isIE&&Ext.isStrict){E.repaint()}},destroy:function(){var a=["north","south","east","west"];for(var c=0;c<a.length;c++){var b=this[a[c]];if(b){if(b.destroy){b.destroy()}else{if(b.split){b.split.destroy(true)}}}}Ext.layout.BorderLayout.superclass.destroy.call(this)}});Ext.layout.BorderLayout.Region=function(c,b,a){Ext.apply(this,b);this.layout=c;this.position=a;this.state={};if(typeof this.margins=="string"){this.margins=this.layout.parseMargins(this.margins)}this.margins=Ext.applyIf(this.margins||{},this.defaultMargins);if(this.collapsible){if(typeof this.cmargins=="string"){this.cmargins=this.layout.parseMargins(this.cmargins)}if(this.collapseMode=="mini"&&!this.cmargins){this.cmargins={left:0,top:0,right:0,bottom:0}}else{this.cmargins=Ext.applyIf(this.cmargins||{},a=="north"||a=="south"?this.defaultNSCMargins:this.defaultEWCMargins)}}};Ext.layout.BorderLayout.Region.prototype={collapsible:false,split:false,floatable:true,minWidth:50,minHeight:50,defaultMargins:{left:0,top:0,right:0,bottom:0},defaultNSCMargins:{left:5,top:5,right:5,bottom:5},defaultEWCMargins:{left:5,top:0,right:5,bottom:0},isCollapsed:false,render:function(c,d){this.panel=d;d.el.enableDisplayMode();this.targetEl=c;this.el=d.el;var b=d.getState,a=this.position;d.getState=function(){return Ext.apply(b.call(d)||{},this.state)}.createDelegate(this);if(a!="center"){d.allowQueuedExpand=false;d.on({beforecollapse:this.beforeCollapse,collapse:this.onCollapse,beforeexpand:this.beforeExpand,expand:this.onExpand,hide:this.onHide,show:this.onShow,scope:this});if(this.collapsible||this.floatable){d.collapseEl="el";d.slideAnchor=this.getSlideAnchor()}if(d.tools&&d.tools.toggle){d.tools.toggle.addClass("x-tool-collapse-"+a);d.tools.toggle.addClassOnOver("x-tool-collapse-"+a+"-over")}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var a=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');a.disableFormats=true;a.compile();Ext.layout.BorderLayout.Region.prototype.toolTemplate=a}this.collapsedEl=this.targetEl.createChild({cls:"x-layout-collapsed x-layout-collapsed-"+this.position,id:this.panel.id+"-xcollapsed"});this.collapsedEl.enableDisplayMode("block");if(this.collapseMode=="mini"){this.collapsedEl.addClass("x-layout-cmini-"+this.position);this.miniCollapsedEl=this.collapsedEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:"&#160;"});this.miniCollapsedEl.addClassOnOver("x-layout-mini-over");this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this.onExpandClick,this,{stopEvent:true})}else{if(this.collapsible!==false&&!this.hideCollapseTool){var b=this.toolTemplate.append(this.collapsedEl.dom,{id:"expand-"+this.position},true);b.addClassOnOver("x-tool-expand-"+this.position+"-over");b.on("click",this.onExpandClick,this,{stopEvent:true})}if(this.floatable!==false||this.titleCollapse){this.collapsedEl.addClassOnOver("x-layout-collapsed-over");this.collapsedEl.on("click",this[this.floatable?"collapseClick":"onExpandClick"],this)}}}return this.collapsedEl},onExpandClick:function(a){if(this.isSlid){this.afterSlideIn();this.panel.expand(false)}else{this.panel.expand()}},onCollapseClick:function(a){this.panel.collapse()},beforeCollapse:function(b,a){this.lastAnim=a;if(this.splitEl){this.splitEl.hide()}this.getCollapsedEl().show();this.panel.el.setStyle("z-index",100);this.isCollapsed=true;this.layout.layout()},onCollapse:function(a){this.panel.el.setStyle("z-index",1);if(this.lastAnim===false||this.panel.animCollapse===false){this.getCollapsedEl().dom.style.visibility="visible"}else{this.getCollapsedEl().slideIn(this.panel.slideAnchor,{duration:0.2})}this.state.collapsed=true;this.panel.saveState()},beforeExpand:function(a){var b=this.getCollapsedEl();this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,b.getHeight())}else{this.panel.setSize(b.getWidth(),undefined)}b.hide();b.dom.style.visibility="hidden";this.panel.el.setStyle("z-index",100)},onExpand:function(){this.isCollapsed=false;if(this.splitEl){this.splitEl.show()}this.layout.layout();this.panel.el.setStyle("z-index",1);this.state.collapsed=false;this.panel.saveState()},collapseClick:function(a){if(this.isSlid){a.stopPropagation();this.slideIn()}else{a.stopPropagation();this.slideOut()}},onHide:function(){if(this.isCollapsed){this.getCollapsedEl().hide()}else{if(this.splitEl){this.splitEl.hide()}}},onShow:function(){if(this.isCollapsed){this.getCollapsedEl().show()}else{if(this.splitEl){this.splitEl.show()}}},isVisible:function(){return !this.panel.hidden},getMargins:function(){return this.isCollapsed&&this.cmargins?this.cmargins:this.margins},getSize:function(){return this.isCollapsed?this.getCollapsedEl().getSize():this.panel.getSize()},setPanel:function(a){this.panel=a},getMinWidth:function(){return this.minWidth},getMinHeight:function(){return this.minHeight},applyLayoutCollapsed:function(b){var a=this.getCollapsedEl();a.setLeftTop(b.x,b.y);a.setSize(b.width,b.height)},applyLayout:function(a){if(this.isCollapsed){this.applyLayoutCollapsed(a)}else{this.panel.setPosition(a.x,a.y);this.panel.setSize(a.width,a.height)}},beforeSlide:function(){this.panel.beforeEffect()},afterSlide:function(){this.panel.afterEffect()},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var a=new Ext.util.DelayedTask(this.slideIn,this);this.autoHideHd={mouseout:function(b){if(!b.within(this.el,true)){a.delay(500)}},mouseover:function(b){a.cancel()},scope:this}}this.el.on(this.autoHideHd)}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);this.el.un("mouseover",this.autoHideHd.mouseover)}},clearMonitor:function(){Ext.getDoc().un("click",this.slideInIf,this)},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return}this.isSlid=true;var a=this.panel.tools;if(a&&a.toggle){a.toggle.hide()}this.el.show();if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,this.collapsedEl.getHeight())}else{this.panel.setSize(this.collapsedEl.getWidth(),undefined)}this.restoreLT=[this.el.dom.style.left,this.el.dom.style.top];this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());this.el.setStyle("z-index",102);this.panel.el.replaceClass("x-panel-collapsed","x-panel-floating");if(this.animFloat!==false){this.beforeSlide();this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)},scope:this,block:true})}else{this.initAutoHide();Ext.getDoc().on("click",this.slideInIf,this)}},afterSlideIn:function(){this.clearAutoHide();this.isSlid=false;this.clearMonitor();this.el.setStyle("z-index","");this.panel.el.replaceClass("x-panel-floating","x-panel-collapsed");this.el.dom.style.left=this.restoreLT[0];this.el.dom.style.top=this.restoreLT[1];var a=this.panel.tools;if(a&&a.toggle){a.toggle.show()}},slideIn:function(a){if(!this.isSlid||this.el.hasActiveFx()){Ext.callback(a);return}this.isSlid=false;if(this.animFloat!==false){this.beforeSlide();this.el.slideOut(this.getSlideAnchor(),{callback:function(){this.el.hide();this.afterSlide();this.afterSlideIn();Ext.callback(a)},scope:this,block:true})}else{this.el.hide();this.afterSlideIn()}},slideInIf:function(a){if(!a.within(this.el)){this.slideIn()}},anchors:{west:"left",east:"right",north:"top",south:"bottom"},sanchors:{west:"l",east:"r",north:"t",south:"b"},canchors:{west:"tl-tr",east:"tr-tl",north:"tl-bl",south:"bl-tl"},getAnchor:function(){return this.anchors[this.position]},getCollapseAnchor:function(){return this.canchors[this.position]},getSlideAnchor:function(){return this.sanchors[this.position]},getAlignAdj:function(){var a=this.cmargins;switch(this.position){case"west":return[0,0];break;case"east":return[0,0];break;case"north":return[0,0];break;case"south":return[0,0];break}},getExpandAdj:function(){var a=this.collapsedEl,b=this.cmargins;switch(this.position){case"west":return[-(b.right+a.getWidth()+b.left),0];break;case"east":return[b.right+a.getWidth()+b.left,0];break;case"north":return[0,-(b.top+b.bottom+a.getHeight())];break;case"south":return[0,b.top+b.bottom+a.getHeight()];break}}};Ext.layout.BorderLayout.SplitRegion=function(c,b,a){Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,c,b,a);this.applyLayout=this.applyFns[a]};Ext.extend(Ext.layout.BorderLayout.SplitRegion,Ext.layout.BorderLayout.Region,{splitTip:"Drag to resize.",collapsibleSplitTip:"Drag to resize. Double click to hide.",useSplitTips:false,splitSettings:{north:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.TOP,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},south:{orientation:Ext.SplitBar.VERTICAL,placement:Ext.SplitBar.BOTTOM,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},east:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.RIGHT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"},west:{orientation:Ext.SplitBar.HORIZONTAL,placement:Ext.SplitBar.LEFT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"}},applyFns:{west:function(d){if(this.isCollapsed){return this.applyLayoutCollapsed(d)}var b=this.splitEl.dom,a=b.style;this.panel.setPosition(d.x,d.y);var c=b.offsetWidth;a.left=(d.x+d.width-c)+"px";a.top=(d.y)+"px";a.height=Math.max(0,d.height)+"px";this.panel.setSize(d.width-c,d.height)},east:function(d){if(this.isCollapsed){return this.applyLayoutCollapsed(d)}var b=this.splitEl.dom,a=b.style;var c=b.offsetWidth;this.panel.setPosition(d.x+c,d.y);a.left=(d.x)+"px";a.top=(d.y)+"px";a.height=Math.max(0,d.height)+"px";this.panel.setSize(d.width-c,d.height)},north:function(d){if(this.isCollapsed){return this.applyLayoutCollapsed(d)}var b=this.splitEl.dom,a=b.style;var c=b.offsetHeight;this.panel.setPosition(d.x,d.y);a.left=(d.x)+"px";a.top=(d.y+d.height-c)+"px";a.width=Math.max(0,d.width)+"px";this.panel.setSize(d.width,d.height-c)},south:function(d){if(this.isCollapsed){return this.applyLayoutCollapsed(d)}var b=this.splitEl.dom,a=b.style;var c=b.offsetHeight;this.panel.setPosition(d.x,d.y+c);a.left=(d.x)+"px";a.top=(d.y)+"px";a.width=Math.max(0,d.width)+"px";this.panel.setSize(d.width,d.height-c)}},render:function(c,d){Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,c,d);var a=this.position;this.splitEl=c.createChild({cls:"x-layout-split x-layout-split-"+a,html:"&#160;",id:this.panel.id+"-xsplit"});if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+a,html:"&#160;"});this.miniSplitEl.addClassOnOver("x-layout-mini-over");this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})}var b=this.splitSettings[a];this.split=new Ext.SplitBar(this.splitEl.dom,d.el,b.orientation);this.split.placement=b.placement;this.split.getMaximumSize=this[b.maxFn].createDelegate(this);this.split.minSize=this.minSize||this[b.minProp];this.split.on("beforeapply",this.onSplitMove,this);this.split.useShim=this.useShim===true;this.maxSize=this.maxSize||this[b.maxProp];if(d.hidden){this.splitEl.hide()}if(this.useSplitTips){this.splitEl.dom.title=this.collapsible?this.collapsibleSplitTip:this.splitTip}if(this.collapsible){this.splitEl.on("dblclick",this.onCollapseClick,this)}},getSize:function(){if(this.isCollapsed){return this.collapsedEl.getSize()}var a=this.panel.getSize();if(this.position=="north"||this.position=="south"){a.height+=this.splitEl.dom.offsetHeight}else{a.width+=this.splitEl.dom.offsetWidth}return a},getHMaxSize:function(){var a=this.maxSize||10000;var b=this.layout.center;return Math.min(a,(this.el.getWidth()+b.el.getWidth())-b.getMinWidth())},getVMaxSize:function(){var a=this.maxSize||10000;var b=this.layout.center;return Math.min(a,(this.el.getHeight()+b.el.getHeight())-b.getMinHeight())},onSplitMove:function(c,b){var a=this.panel.getSize();this.lastSplitSize=b;if(this.position=="north"||this.position=="south"){this.panel.setSize(a.width,b);this.state.height=b}else{this.panel.setSize(b,a.height);this.state.width=b}this.layout.layout();this.panel.saveState();return false},getSplitBar:function(){return this.split},destroy:function(){Ext.destroy(this.miniSplitEl,this.split,this.splitEl)}});Ext.Container.LAYOUTS.border=Ext.layout.BorderLayout;Ext.layout.FormLayout=Ext.extend(Ext.layout.AnchorLayout,{labelSeparator:":",getAnchorViewSize:function(b,a){return(b.body||b.el).getStyleSize()},setContainer:function(c){Ext.layout.FormLayout.superclass.setContainer.call(this,c);if(c.labelAlign){c.addClass("x-form-label-"+c.labelAlign)}if(c.hideLabels){this.labelStyle="display:none";this.elementStyle="padding-left:0;";this.labelAdjust=0}else{this.labelSeparator=c.labelSeparator||this.labelSeparator;c.labelWidth=c.labelWidth||100;if(typeof c.labelWidth=="number"){var a=(typeof c.labelPad=="number"?c.labelPad:5);this.labelAdjust=c.labelWidth+a;this.labelStyle="width:"+c.labelWidth+"px;";this.elementStyle="padding-left:"+(c.labelWidth+a)+"px"}if(c.labelAlign=="top"){this.labelStyle="width:auto;";this.labelAdjust=0;this.elementStyle="padding-left:0;"}}if(!this.fieldTpl){var b=new Ext.Template('<div class="x-form-item {5}" tabIndex="-1">','<label for="{0}" style="{2}" class="x-form-item-label">{1}{4}</label>','<div class="x-form-element" id="x-form-el-{0}" style="{3}">','</div><div class="{6}"></div>',"</div>");b.disableFormats=true;b.compile();Ext.layout.FormLayout.prototype.fieldTpl=b}},getLabelStyle:function(b){var e="",c=[this.labelStyle,b];for(var d=0,a=c.length;d<a;++d){if(c[d]){e+=c[d];if(e.substr(-1,1)!=";"){e+=";"}}}return e},renderItem:function(d,e,b){if(d&&!d.rendered&&d.isFormField&&d.inputType!="hidden"){var a=[d.id,d.fieldLabel,this.getLabelStyle(d.labelStyle),this.elementStyle||"",typeof d.labelSeparator=="undefined"?this.labelSeparator:d.labelSeparator,(d.itemCls||this.container.itemCls||"")+(d.hideLabel?" x-hide-label":""),d.clearCls||"x-form-clear-left"];if(typeof e=="number"){e=b.dom.childNodes[e]||null}if(e){this.fieldTpl.insertBefore(e,a)}else{this.fieldTpl.append(b,a)}d.render("x-form-el-"+d.id)}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)}},adjustWidthAnchor:function(a,b){return a-(b.isFormField?(b.hideLabel?0:this.labelAdjust):0)},isValidParent:function(b,a){return true}});Ext.Container.LAYOUTS.form=Ext.layout.FormLayout;Ext.layout.Accordion=Ext.extend(Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,setActiveItem:function(a){a=this.container.getComponent(a);this.activeItem=a;this.layout()},renderItem:function(a){if(this.animate===false){a.animCollapse=false}a.collapsible=true;if(this.autoWidth){a.autoWidth=true}if(this.titleCollapse){a.titleCollapse=true}if(this.hideCollapseTool){a.hideCollapseTool=true}if(this.collapseFirst!==undefined){a.collapseFirst=this.collapseFirst}if(!this.activeItem&&!a.collapsed){this.activeItem=a}else{if(this.activeItem&&this.activeItem!=a){a.collapsed=true}}Ext.layout.Accordion.superclass.renderItem.apply(this,arguments);a.header.addClass("x-accordion-hd");a.on("beforeexpand",this.beforeExpand,this)},beforeExpand:function(b,c){var a=this.activeItem;if(a){if(this.sequence){delete this.activeItem;if(!a.collapsed){a.collapse({callback:function(){b.expand(c||true)},scope:this});return false}}else{a.collapse(this.animate)}}this.activeItem=b;if(this.activeOnTop){b.el.dom.parentNode.insertBefore(b.el.dom,b.el.dom.parentNode.firstChild)}this.layout()},setItemSize:function(g,a){if(this.fill&&g){var d=this.container.items.items;var h=0;for(var e=0,b=d.length;e<b;e++){var c=d[e];if(c!=g){h+=(c.getSize().height-c.bwrap.getHeight())}}a.height-=h;g.setSize(a)}}});Ext.Container.LAYOUTS.accordion=Ext.layout.Accordion;Ext.layout.TableLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:false,setContainer:function(a){Ext.layout.TableLayout.superclass.setContainer.call(this,a);this.currentRow=0;this.currentColumn=0;this.cells=[]},onLayout:function(e,d){var h=e.items.items,a=h.length,b,g;if(!this.table){d.addClass("x-table-layout-ct");this.table=d.createChild({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},null,true)}this.renderAll(e,d)},getRow:function(b){var a=this.table.tBodies[0].childNodes[b];if(!a){a=document.createElement("tr");this.table.tBodies[0].appendChild(a)}return a},getNextCell:function(g){var h=this.getNextNonSpan(this.currentColumn,this.currentRow);var k=this.currentColumn=h[0],a=this.currentRow=h[1];for(var d=a;d<a+(g.rowspan||1);d++){if(!this.cells[d]){this.cells[d]=[]}for(var b=k;b<k+(g.colspan||1);b++){this.cells[d][b]=true}}var l=document.createElement("td");if(g.cellId){l.id=g.cellId}var e="x-table-layout-cell";if(g.cellCls){e+=" "+g.cellCls}l.className=e;if(g.colspan){l.colSpan=g.colspan}if(g.rowspan){l.rowSpan=g.rowspan}this.getRow(a).appendChild(l);return l},getNextNonSpan:function(a,c){var b=this.columns;while((b&&a>=b)||(this.cells[c]&&this.cells[c][a])){if(b&&a>=b){c++;a=0}else{a++}}return[a,c]},renderItem:function(d,e,b){if(d&&!d.rendered){d.render(this.getNextCell(d));if(this.extraCls){var a=d.getPositionEl?d.getPositionEl():d;a.addClass(this.extraCls)}}},isValidParent:function(b,a){return true}});Ext.Container.LAYOUTS.table=Ext.layout.TableLayout;Ext.layout.AbsoluteLayout=Ext.extend(Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",isForm:false,setContainer:function(a){Ext.layout.AbsoluteLayout.superclass.setContainer.call(this,a);if(a.isXType("form")){this.isForm=true}},onLayout:function(b,a){if(this.isForm){b.body.position()}else{a.position()}Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,b,a)},getAnchorViewSize:function(b,a){return this.isForm?b.body.getStyleSize():Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this,b,a)},isValidParent:function(b,a){return this.isForm?true:Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this,b,a)},adjustWidthAnchor:function(a,b){return a?a-b.getPosition(true)[0]:a},adjustHeightAnchor:function(a,b){return a?a-b.getPosition(true)[1]:a}});Ext.Container.LAYOUTS.absolute=Ext.layout.AbsoluteLayout;Ext.Viewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.Viewport.superclass.initComponent.call(this);document.getElementsByTagName("html")[0].className+=" x-viewport";this.el=Ext.getBody();this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll="no";this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el},fireResize:function(a,b){this.fireEvent("resize",this,a,b,a,b)}});Ext.reg("viewport",Ext.Viewport);Ext.Panel=Ext.extend(Ext.Container,{baseCls:"x-panel",collapsedCls:"x-panel-collapsed",maskDisabled:true,animCollapse:Ext.enableFx,headerAsText:true,buttonAlign:"right",collapsed:false,collapseFirst:true,minButtonWidth:75,elements:"body",toolTarget:"header",collapseEl:"bwrap",slideAnchor:"t",disabledClass:"",deferHeight:true,expandDefaults:{duration:0.25},collapseDefaults:{duration:0.25},initComponent:function(){Ext.Panel.superclass.initComponent.call(this);this.addEvents("bodyresize","titlechange","iconchange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");if(this.tbar){this.elements+=",tbar";if(typeof this.tbar=="object"){this.topToolbar=this.tbar}delete this.tbar}if(this.bbar){this.elements+=",bbar";if(typeof this.bbar=="object"){this.bottomToolbar=this.bbar}delete this.bbar}if(this.header===true){this.elements+=",header";delete this.header}else{if(this.headerCfg||(this.title&&this.header!==false)){this.elements+=",header"}}if(this.footerCfg||this.footer===true){this.elements+=",footer";delete this.footer}if(this.buttons){var c=this.buttons;this.buttons=[];for(var b=0,a=c.length;b<a;b++){if(c[b].render){c[b].ownerCt=this;this.buttons.push(c[b])}else{this.addButton(c[b])}}}if(this.autoLoad){this.on("render",this.doAutoLoad,this,{delay:10})}},createElement:function(a,c){if(this[a]){c.appendChild(this[a].dom);return}if(a==="bwrap"||this.elements.indexOf(a)!=-1){if(this[a+"Cfg"]){this[a]=Ext.fly(c).createChild(this[a+"Cfg"])}else{var b=document.createElement("div");b.className=this[a+"Cls"];this[a]=Ext.get(c.appendChild(b))}if(this[a+"CssClass"]){this[a].addClass(this[a+"CssClass"])}if(this[a+"Style"]){this[a].applyStyles(this[a+"Style"])}}},onRender:function(k,g){Ext.Panel.superclass.onRender.call(this,k,g);this.createClasses();if(this.el){this.el.addClass(this.baseCls);this.header=this.el.down("."+this.headerCls);this.bwrap=this.el.down("."+this.bwrapCls);var r=this.bwrap?this.bwrap:this.el;this.tbar=r.down("."+this.tbarCls);this.body=r.down("."+this.bodyCls);this.bbar=r.down("."+this.bbarCls);this.footer=r.down("."+this.footerCls);this.fromMarkup=true}else{this.el=k.createChild({id:this.id,cls:this.baseCls},g)}var p=this.el,q=p.dom;if(this.cls){this.el.addClass(this.cls)}if(this.buttons){this.elements+=",footer"}if(this.frame){p.insertHtml("afterBegin",String.format(Ext.Element.boxMarkup,this.baseCls));this.createElement("header",q.firstChild.firstChild.firstChild);this.createElement("bwrap",q);var n=this.bwrap.dom;var e=q.childNodes[1],m=q.childNodes[2];n.appendChild(e);n.appendChild(m);var t=n.firstChild.firstChild.firstChild;this.createElement("tbar",t);this.createElement("body",t);this.createElement("bbar",t);this.createElement("footer",n.lastChild.firstChild.firstChild);if(!this.footer){this.bwrap.dom.lastChild.className+=" x-panel-nofooter"}}else{this.createElement("header",q);this.createElement("bwrap",q);var n=this.bwrap.dom;this.createElement("tbar",n);this.createElement("body",n);this.createElement("bbar",n);this.createElement("footer",n);if(!this.header){this.body.addClass(this.bodyCls+"-noheader");if(this.tbar){this.tbar.addClass(this.tbarCls+"-noheader")}}}if(this.border===false){this.el.addClass(this.baseCls+"-noborder");this.body.addClass(this.bodyCls+"-noborder");if(this.header){this.header.addClass(this.headerCls+"-noborder")}if(this.footer){this.footer.addClass(this.footerCls+"-noborder")}if(this.tbar){this.tbar.addClass(this.tbarCls+"-noborder")}if(this.bbar){this.bbar.addClass(this.bbarCls+"-noborder")}}if(this.bodyBorder===false){this.body.addClass(this.bodyCls+"-noborder")}this.bwrap.enableDisplayMode("block");if(this.header){this.header.unselectable();if(this.headerAsText){this.header.dom.innerHTML='<span class="'+this.headerTextCls+'">'+this.header.dom.innerHTML+"</span>";if(this.iconCls){this.setIconClass(this.iconCls)}}}if(this.floating){this.makeFloating(this.floating)}if(this.collapsible){this.tools=this.tools?this.tools.slice(0):[];if(!this.hideCollapseTool){this.tools[this.collapseFirst?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})}if(this.titleCollapse&&this.header){this.header.on("click",this.toggleCollapse,this);this.header.setStyle("cursor","pointer")}}if(this.tools){var h=this.tools;this.tools={};this.addTool.apply(this,h)}else{this.tools={}}if(this.buttons&&this.buttons.length>0){var c=this.footer.createChild({cls:"x-panel-btns-ct",cn:{cls:"x-panel-btns x-panel-btns-"+this.buttonAlign,html:'<table cellspacing="0"><tbody><tr></tr></tbody></table><div class="x-clear"></div>'}},null,true);var s=c.getElementsByTagName("tr")[0];for(var a=0,o=this.buttons.length;a<o;a++){var u=this.buttons[a];var l=document.createElement("td");l.className="x-panel-btn-td";u.render(s.appendChild(l))}}if(this.tbar&&this.topToolbar){if(Ext.isArray(this.topToolbar)){this.topToolbar=new Ext.Toolbar(this.topToolbar)}this.topToolbar.render(this.tbar);this.topToolbar.ownerCt=this}if(this.bbar&&this.bottomToolbar){if(Ext.isArray(this.bottomToolbar)){this.bottomToolbar=new Ext.Toolbar(this.bottomToolbar)}this.bottomToolbar.render(this.bbar);this.bottomToolbar.ownerCt=this}},setIconClass:function(d){var b=this.iconCls;this.iconCls=d;if(this.rendered&&this.header){if(this.frame){this.header.addClass("x-panel-icon");this.header.replaceClass(b,this.iconCls)}else{var c=this.header.dom;var a=c.firstChild&&String(c.firstChild.tagName).toLowerCase()=="img"?c.firstChild:null;if(a){Ext.fly(a).replaceClass(b,this.iconCls)}else{Ext.DomHelper.insertBefore(c.firstChild,{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})}}}this.fireEvent("iconchange",this,d,b)},makeFloating:function(a){this.floating=true;this.el=new Ext.Layer(typeof a=="object"?a:{shadow:this.shadow!==undefined?this.shadow:"sides",shadowOffset:this.shadowOffset,constrain:false,shim:this.shim===false?false:undefined},this.el)},getTopToolbar:function(){return this.topToolbar},getBottomToolbar:function(){return this.bottomToolbar},addButton:function(b,a,e){var d={handler:a,scope:e,minWidth:this.minButtonWidth,hideParent:true};if(typeof b=="string"){d.text=b}else{Ext.apply(d,b)}var c=new Ext.Button(d);c.ownerCt=this;if(!this.buttons){this.buttons=[]}this.buttons.push(c);return c},addTool:function(){if(!this[this.toolTarget]){return}if(!this.toolTemplate){var c=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');c.disableFormats=true;c.compile();Ext.Panel.prototype.toolTemplate=c}for(var h=0,d=arguments,b=d.length;h<b;h++){var e=d[h];if(!this.tools[e.id]){var g="x-tool-"+e.id+"-over";var k=this.toolTemplate.insertFirst((e.align!=="left")?this[this.toolTarget]:this[this.toolTarget].child("span"),e,true);this.tools[e.id]=k;k.enableDisplayMode("block");k.on("click",this.createToolHandler(k,e,g,this));if(e.on){k.on(e.on)}if(e.hidden){k.hide()}if(e.qtip){if(typeof e.qtip=="object"){Ext.QuickTips.register(Ext.apply({target:k.id},e.qtip))}else{k.dom.qtip=e.qtip}}k.addClassOnOver(g)}}},onShow:function(){if(this.floating){return this.el.show()}Ext.Panel.superclass.onShow.call(this)},onHide:function(){if(this.floating){return this.el.hide()}Ext.Panel.superclass.onHide.call(this)},createToolHandler:function(a,c,d,b){return function(g){a.removeClass(d);g.stopEvent();if(c.handler){c.handler.call(c.scope||a,g,a,b)}}},afterRender:function(){if(this.fromMarkup&&this.height===undefined&&!this.autoHeight){this.height=this.el.getHeight()}if(this.floating&&!this.hidden&&!this.initHidden){this.el.show()}if(this.title){this.setTitle(this.title)}this.setAutoScroll();if(this.html){this.body.update(typeof this.html=="object"?Ext.DomHelper.markup(this.html):this.html);delete this.html}if(this.contentEl){var a=Ext.getDom(this.contentEl);Ext.fly(a).removeClass(["x-hidden","x-hide-display"]);this.body.dom.appendChild(a)}if(this.collapsed){this.collapsed=false;this.collapse(false)}Ext.Panel.superclass.afterRender.call(this);this.initEvents()},setAutoScroll:function(){if(this.rendered&&this.autoScroll){var a=this.body||this.el;if(a){a.setOverflow("auto")}}},getKeyMap:function(){if(!this.keyMap){this.keyMap=new Ext.KeyMap(this.el,this.keys)}return this.keyMap},initEvents:function(){if(this.keys){this.getKeyMap()}if(this.draggable){this.initDraggable()}},initDraggable:function(){this.dd=new Ext.Panel.DD(this,typeof this.draggable=="boolean"?null:this.draggable)},beforeEffect:function(){if(this.floating){this.el.beforeAction()}this.el.addClass("x-panel-animated")},afterEffect:function(){this.syncShadow();this.el.removeClass("x-panel-animated")},createEffect:function(d,b,e){var c={scope:e,block:true};if(d===true){c.callback=b;return c}else{if(!d.callback){c.callback=b}else{c.callback=function(){b.call(e);Ext.callback(d.callback,d.scope)}}}return Ext.applyIf(c,d)},collapse:function(b){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,b)===false){return}var a=b===true||(b!==false&&this.animCollapse);this.beforeEffect();this.onCollapse(a,b);return this},onCollapse:function(a,b){if(a){this[this.collapseEl].slideOut(this.slideAnchor,Ext.apply(this.createEffect(b||true,this.afterCollapse,this),this.collapseDefaults))}else{this[this.collapseEl].hide();this.afterCollapse()}},afterCollapse:function(){this.collapsed=true;this.el.addClass(this.collapsedCls);this.afterEffect();this.fireEvent("collapse",this)},expand:function(b){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,b)===false){return}var a=b===true||(b!==false&&this.animCollapse);this.el.removeClass(this.collapsedCls);this.beforeEffect();this.onExpand(a,b);return this},onExpand:function(a,b){if(a){this[this.collapseEl].slideIn(this.slideAnchor,Ext.apply(this.createEffect(b||true,this.afterExpand,this),this.expandDefaults))}else{this[this.collapseEl].show();this.afterExpand()}},afterExpand:function(){this.collapsed=false;this.afterEffect();this.fireEvent("expand",this)},toggleCollapse:function(a){this[this.collapsed?"expand":"collapse"](a);return this},onDisable:function(){if(this.rendered&&this.maskDisabled){this.el.mask()}Ext.Panel.superclass.onDisable.call(this)},onEnable:function(){if(this.rendered&&this.maskDisabled){this.el.unmask()}Ext.Panel.superclass.onEnable.call(this)},onResize:function(a,b){if(a!==undefined||b!==undefined){if(!this.collapsed){if(typeof a=="number"){this.body.setWidth(this.adjustBodyWidth(a-this.getFrameWidth()))}else{if(a=="auto"){this.body.setWidth(a)}}if(typeof b=="number"){this.body.setHeight(this.adjustBodyHeight(b-this.getFrameHeight()))}else{if(b=="auto"){this.body.setHeight(b)}}if(this.disabled&&this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight())}}else{this.queuedBodySize={width:a,height:b};if(!this.queuedExpand&&this.allowQueuedExpand!==false){this.queuedExpand=true;this.on("expand",function(){delete this.queuedExpand;this.onResize(this.queuedBodySize.width,this.queuedBodySize.height);this.doLayout()},this,{single:true})}}this.fireEvent("bodyresize",this,a,b)}this.syncShadow()},adjustBodyHeight:function(a){return a},adjustBodyWidth:function(a){return a},onPosition:function(){this.syncShadow()},getFrameWidth:function(){var b=this.el.getFrameWidth("lr");if(this.frame){var c=this.bwrap.dom.firstChild;b+=(Ext.fly(c).getFrameWidth("l")+Ext.fly(c.firstChild).getFrameWidth("r"));var a=this.bwrap.dom.firstChild.firstChild.firstChild;b+=Ext.fly(a).getFrameWidth("lr")}return b},getFrameHeight:function(){var b=this.el.getFrameWidth("tb");b+=(this.tbar?this.tbar.getHeight():0)+(this.bbar?this.bbar.getHeight():0);if(this.frame){var c=this.el.dom.firstChild;var d=this.bwrap.dom.lastChild;b+=(c.offsetHeight+d.offsetHeight);var a=this.bwrap.dom.firstChild.firstChild.firstChild;b+=Ext.fly(a).getFrameWidth("tb")}else{b+=(this.header?this.header.getHeight():0)+(this.footer?this.footer.getHeight():0)}return b},getInnerWidth:function(){return this.getSize().width-this.getFrameWidth()},getInnerHeight:function(){return this.getSize().height-this.getFrameHeight()},syncShadow:function(){if(this.floating){this.el.sync(true)}},getLayoutTarget:function(){return this.body},setTitle:function(a,b){this.title=a;if(this.header&&this.headerAsText){this.header.child("span").update(a)}if(b){this.setIconClass(b)}this.fireEvent("titlechange",this,a);return this},getUpdater:function(){return this.body.getUpdater()},load:function(){var a=this.body.getUpdater();a.update.apply(a,arguments);return this},beforeDestroy:function(){if(this.header){this.header.removeAllListeners();if(this.headerAsText){Ext.Element.uncache(this.header.child("span"))}}Ext.Element.uncache(this.header,this.tbar,this.bbar,this.footer,this.body,this.bwrap);if(this.tools){for(var c in this.tools){Ext.destroy(this.tools[c])}}if(this.buttons){for(var a in this.buttons){Ext.destroy(this.buttons[a])}}Ext.destroy(this.topToolbar,this.bottomToolbar);Ext.Panel.superclass.beforeDestroy.call(this)},createClasses:function(){this.headerCls=this.baseCls+"-header";this.headerTextCls=this.baseCls+"-header-text";this.bwrapCls=this.baseCls+"-bwrap";this.tbarCls=this.baseCls+"-tbar";this.bodyCls=this.baseCls+"-body";this.bbarCls=this.baseCls+"-bbar";this.footerCls=this.baseCls+"-footer"},createGhost:function(e,d,a){var b=document.createElement("div");b.className="x-panel-ghost "+(e?e:"");if(this.header){b.appendChild(this.el.dom.firstChild.cloneNode(true))}Ext.fly(b.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());b.style.width=this.el.dom.offsetWidth+"px";if(!a){this.container.dom.appendChild(b)}else{Ext.getDom(a).appendChild(b)}if(d!==false&&this.el.useShim!==false){var c=new Ext.Layer({shadow:false,useDisplay:true,constrain:false},b);c.show();return c}else{return new Ext.Element(b)}},doAutoLoad:function(){var a=this.body.getUpdater();if(this.renderer){a.setRenderer(this.renderer)}a.update(typeof this.autoLoad=="object"?this.autoLoad:{url:this.autoLoad})},getTool:function(a){return this.tools[a]}});Ext.reg("panel",Ext.Panel);Ext.Window=Ext.extend(Ext.Panel,{baseCls:"x-window",resizable:true,draggable:true,closable:true,constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,closeAction:"close",elements:"header,body",collapsible:false,initHidden:true,monitorResize:true,frame:true,floating:true,initComponent:function(){Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore")},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox(true))},onRender:function(a,b){Ext.Window.superclass.onRender.call(this,a,b);if(this.plain){this.el.addClass("x-window-plain")}this.focusEl=this.el.createChild({tag:"a",href:"#",cls:"x-dlg-focus",tabIndex:"-1",html:"&#160;"});this.focusEl.swallowEvent("click",true);this.proxy=this.el.createProxy("x-window-proxy");this.proxy.enableDisplayMode("block");if(this.modal){this.mask=this.container.createChild({cls:"ext-el-mask"},this.el.dom);this.mask.enableDisplayMode("block");this.mask.hide();this.mask.on("click",this.focus,this)}this.initTools()},initEvents:function(){Ext.Window.superclass.initEvents.call(this);if(this.animateTarget){this.setAnimateTarget(this.animateTarget)}if(this.resizable){this.resizer=new Ext.Resizable(this.el,{minWidth:this.minWidth,minHeight:this.minHeight,handles:this.resizeHandles||"all",pinned:true,resizeElement:this.resizerAction});this.resizer.window=this;this.resizer.on("beforeresize",this.beforeResize,this)}if(this.draggable){this.header.addClass("x-window-draggable")}this.el.on("mousedown",this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);this.hidden=true;if(this.maximized){this.maximized=false;this.maximize()}if(this.closable){var a=this.getKeyMap();a.on(27,this.onEsc,this);a.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(){this[this.closeAction]()},beforeDestroy:function(){if(this.rendered){this.hide();if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this)}Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask)}Ext.Window.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.manager){this.manager.unregister(this)}Ext.Window.superclass.onDestroy.call(this)},initTools:function(){if(this.minimizable){this.addTool({id:"minimize",handler:this.minimize.createDelegate(this,[])})}if(this.maximizable){this.addTool({id:"maximize",handler:this.maximize.createDelegate(this,[])});this.addTool({id:"restore",handler:this.restore.createDelegate(this,[]),hidden:true});this.header.on("dblclick",this.toggleMaximize,this)}if(this.closable){this.addTool({id:"close",handler:this[this.closeAction].createDelegate(this,[])})}},resizerAction:function(){var a=this.proxy.getBox();this.proxy.hide();this.window.handleResize(a);return a},beforeResize:function(){this.resizer.minHeight=Math.max(this.minHeight,this.getFrameHeight()+40);this.resizer.minWidth=Math.max(this.minWidth,this.getFrameWidth()+40);this.resizeBox=this.el.getBox()},updateHandles:function(){if(Ext.isIE&&this.resizer){this.resizer.syncHandleHeight();this.el.repaint()}},handleResize:function(a){var b=this.resizeBox;if(b.x!=a.x||b.y!=a.y){this.updateBox(a)}else{this.setSize(a)}this.focus();this.updateHandles();this.saveState();if(this.layout){this.doLayout()}this.fireEvent("resize",this,a.width,a.height)},focus:function(){var c=this.focusEl,a=this.defaultButton,b=typeof a;if(b!="undefined"){if(b=="number"){c=this.buttons[a]}else{if(b=="string"){c=Ext.getCmp(a)}else{c=a}}}c.focus.defer(10,c)},setAnimateTarget:function(a){a=Ext.get(a);this.animateTarget=a},beforeShow:function(){delete this.el.lastXY;delete this.el.lastLT;if(this.x===undefined||this.y===undefined){var a=this.el.getAlignToXY(this.container,"c-c");var b=this.el.translatePoints(a[0],a[1]);this.x=this.x===undefined?b.left:this.x;this.y=this.y===undefined?b.top:this.y}this.el.setLeftTop(this.x,this.y);if(this.expandOnShow){this.expand(false)}if(this.modal){Ext.getBody().addClass("x-body-masked");this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.mask.show()}},show:function(c,a,b){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return}if(this.fireEvent("beforeshow",this)===false){return}if(a){this.on("show",a,b,{single:true})}this.hidden=false;if(c!==undefined){this.setAnimateTarget(c)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}},afterShow:function(){this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&&Ext.isGecko){this.cascade(this.setAutoScroll)}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.onWindowResize(this.onWindowResize,this)}this.doConstrain();if(this.layout){this.doLayout()}if(this.keyMap){this.keyMap.enable()}this.toFront();this.updateHandles();this.fireEvent("show",this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var a=this.getBox(false);a.callback=this.afterShow;a.scope=this;a.duration=0.25;a.easing="easeNone";a.opacity=0.5;a.block=true;this.el.setStyle("display","none");this.proxy.shift(a)},hide:function(c,a,b){if(this.activeGhost){this.hide.defer(100,this,[c,a,b]);return}if(this.hidden||this.fireEvent("beforehide",this)===false){return}if(a){this.on("hide",a,b,{single:true})}this.hidden=true;if(c!==undefined){this.setAnimateTarget(c)}if(this.animateTarget){this.animHide()}else{this.el.hide();this.afterHide()}},afterHide:function(){this.proxy.hide();if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.removeResizeListener(this.onWindowResize,this)}if(this.modal){this.mask.hide();Ext.getBody().removeClass("x-body-masked")}if(this.keyMap){this.keyMap.disable()}this.fireEvent("hide",this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var c=this.getBox(false);this.proxy.setBox(c);this.el.hide();var a=this.animateTarget.getBox();a.callback=this.afterHide;a.scope=this;a.duration=0.25;a.easing="easeNone";a.block=true;a.opacity=0;this.proxy.shift(a)},onWindowResize:function(){if(this.maximized){this.fitContainer()}if(this.modal){this.mask.setSize("100%","100%");var a=this.mask.dom.offsetHeight;this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true))}this.doConstrain()},doConstrain:function(){if(this.constrain||this.constrainHeader){var c;if(this.constrain){c={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var a=this.getSize();c={right:-(a.width-100),bottom:-(a.height-25)}}var b=this.el.getConstrainToXY(this.container,true,c);if(b){this.setPosition(b[0],b[1])}}},ghost:function(c){var a=this.createGhost(c);var b=this.getBox(true);a.setLeftTop(b.x,b.y);a.setWidth(b.width);this.el.hide();this.activeGhost=a;return a},unghost:function(a,b){if(a!==false){this.el.show();this.focus();if(Ext.isMac&&Ext.isGecko){this.cascade(this.setAutoScroll)}}if(b!==false){this.setPosition(this.activeGhost.getLeft(true),this.activeGhost.getTop(true))}this.activeGhost.hide();this.activeGhost.remove();delete this.activeGhost},minimize:function(){this.fireEvent("minimize",this)},close:function(){if(this.fireEvent("beforeclose",this)!==false){this.hide(null,function(){this.fireEvent("close",this);this.destroy()},this)}},maximize:function(){if(!this.maximized){this.expand(false);this.restoreSize=this.getSize();this.restorePos=this.getPosition(true);if(this.maximizable){this.tools.maximize.hide();this.tools.restore.show()}this.maximized=true;this.el.disableShadow();if(this.dd){this.dd.lock()}if(this.collapsible){this.tools.toggle.hide()}this.el.addClass("x-window-maximized");this.container.addClass("x-window-maximized-ct");this.setPosition(0,0);this.fitContainer();this.fireEvent("maximize",this)}},restore:function(){if(this.maximized){this.el.removeClass("x-window-maximized");this.tools.restore.hide();this.tools.maximize.show();this.setPosition(this.restorePos[0],this.restorePos[1]);this.setSize(this.restoreSize.width,this.restoreSize.height);delete this.restorePos;delete this.restoreSize;this.maximized=false;this.el.enableShadow(true);if(this.dd){this.dd.unlock()}if(this.collapsible){this.tools.toggle.show()}this.container.removeClass("x-window-maximized-ct");this.doConstrain();this.fireEvent("restore",this)}},toggleMaximize:function(){this[this.maximized?"restore":"maximize"]()},fitContainer:function(){var a=this.container.getViewSize();this.setSize(a.width,a.height)},setZIndex:function(a){if(this.modal){this.mask.setStyle("z-index",a)}this.el.setZIndex(++a);a+=5;if(this.resizer){this.resizer.proxy.setStyle("z-index",++a)}this.lastZIndex=a},alignTo:function(b,c,d){var a=this.el.getAlignToXY(b,c,d);this.setPagePosition(a[0],a[1]);return this},anchorTo:function(b,a,e,d){if(this.doAnchor){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this)}this.doAnchor=function(){this.alignTo(b,a,e)};Ext.EventManager.onWindowResize(this.doAnchor,this);var c=typeof d;if(c!="undefined"){Ext.EventManager.on(window,"scroll",this.doAnchor,this,{buffer:c=="number"?d:50})}this.doAnchor();return this},toFront:function(a){if(this.manager.bringToFront(this)){if(!a||!a.getTarget().focus){this.focus()}}return this},setActive:function(a){if(a){if(!this.maximized){this.el.enableShadow(true)}this.fireEvent("activate",this)}else{this.el.disableShadow();this.fireEvent("deactivate",this)}},toBack:function(){this.manager.sendToBack(this);return this},center:function(){var a=this.el.getAlignToXY(this.container,"c-c");this.setPagePosition(a[0],a[1]);return this}});Ext.reg("window",Ext.Window);Ext.Window.DD=function(a){this.win=a;Ext.Window.DD.superclass.constructor.call(this,a.el.id,"WindowDD-"+a.id);this.setHandleElId(a.header.id);this.scroll=false};Ext.extend(Ext.Window.DD,Ext.dd.DD,{moveOnly:true,headerOffsets:[100,25],startDrag:function(){var b=this.win;this.proxy=b.ghost();if(b.constrain!==false){var a=b.el.shadowOffset;this.constrainTo(b.container,{right:a,left:a,bottom:a})}else{if(b.constrainHeader!==false){var c=this.proxy.getSize();this.constrainTo(b.container,{right:-(c.width-this.headerOffsets[0]),bottom:-(c.height-this.headerOffsets[1])})}}},b4Drag:Ext.emptyFn,onDrag:function(a){this.alignElWithMouse(this.proxy,a.getPageX(),a.getPageY())},endDrag:function(a){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var b={};var g=[];var h=null;var e=function(l,k){return(!l._lastAccess||l._lastAccess<k._lastAccess)?-1:1};var c=function(){var l=g,k=l.length;if(k>0){l.sort(e);var m=l[0].manager.zseed;for(var n=0;n<k;n++){var o=l[n];if(o&&!o.hidden){o.setZIndex(m+(n*10))}}}d()};var a=function(k){if(k!=h){if(h){h.setActive(false)}h=k;if(k){k.setActive(true)}}};var d=function(){for(var k=g.length-1;k>=0;--k){if(!g[k].hidden){a(g[k]);return}}a(null)};return{zseed:9000,register:function(k){b[k.id]=k;g.push(k);k.on("hide",d)},unregister:function(k){delete b[k.id];k.un("hide",d);g.remove(k)},get:function(k){return typeof k=="object"?k:b[k]},bringToFront:function(k){k=this.get(k);if(k!=h){k._lastAccess=new Date().getTime();c();return true}return false},sendToBack:function(k){k=this.get(k);k._lastAccess=-(new Date().getTime());c();return k},hideAll:function(){for(var k in b){if(b[k]&&typeof b[k]!="function"&&b[k].isVisible()){b[k].hide()}}},getActive:function(){return h},getBy:function(k,o){var m=[];for(var l=g.length-1;l>=0;--l){var n=g[l];if(k.call(o||n,n)!==false){m.push(n)}}return m},each:function(k,m){for(var l in b){if(b[l]&&typeof b[l]!="function"){if(k.call(m||b[l],b[l])===false){return}}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.dd.PanelProxy=function(a,b){this.panel=a;this.id=this.panel.id+"-ddproxy";Ext.apply(this,b)};Ext.dd.PanelProxy.prototype={insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.el.dom.style.display="";this.ghost.remove();delete this.ghost}},show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(undefined,undefined,Ext.getBody());this.ghost.setXY(this.panel.el.getXY());if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer"});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display="none"}},repair:function(a,c,b){this.hide();if(typeof c=="function"){c.call(b||this)}},moveProxy:function(b,a){if(this.proxy){b.insertBefore(this.proxy.dom,a)}}};Ext.Panel.DD=function(a,c){this.panel=a;this.dragData={panel:a};this.proxy=new Ext.dd.PanelProxy(a,c);Ext.Panel.DD.superclass.constructor.call(this,a.el,c);var b=a.header;if(b){this.setHandleElId(b.id)}(b?b:this.panel.body).setStyle("cursor","move");this.scroll=false};Ext.extend(Ext.Panel.DD,Ext.dd.DragSource,{showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(a,b){this.proxy.show()},b4MouseDown:function(c){var a=c.getPageX();var b=c.getPageY();this.autoOffset(a,b)},onInitDrag:function(a,b){this.onStartDrag(a,b);return true},createFrame:Ext.emptyFn,getDragEl:function(a){return this.proxy.ghost.dom},endDrag:function(a){this.proxy.hide();this.panel.saveState()},autoOffset:function(a,b){a-=this.startPageX;b-=this.startPageY;this.setDelta(a,b)}});Ext.state.Provider=function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)};Ext.extend(Ext.state.Provider,Ext.util.Observable,{get:function(a,b){return typeof this.state[a]=="undefined"?b:this.state[a]},clear:function(a){delete this.state[a];this.fireEvent("statechange",this,a,null)},set:function(a,b){this.state[a]=b;this.fireEvent("statechange",this,a,b)},decodeValue:function(l){var b=/^(a|n|d|b|s|o)\:(.*)$/;var a=b.exec(unescape(l));if(!a||!a[1]){return}var c=a[1];var m=a[2];switch(c){case"n":return parseFloat(m);case"d":return new Date(Date.parse(m));case"b":return(m=="1");case"a":var h=[];var e=m.split("^");for(var d=0,k=e.length;d<k;d++){h.push(this.decodeValue(e[d]))}return h;case"o":var h={};var e=m.split("^");for(var d=0,k=e.length;d<k;d++){var g=e[d].split("=");h[g[0]]=this.decodeValue(g[1])}return h;default:return m}},encodeValue:function(d){var g;if(typeof d=="number"){g="n:"+d}else{if(typeof d=="boolean"){g="b:"+(d?"1":"0")}else{if(Ext.isDate(d)){g="d:"+d.toGMTString()}else{if(Ext.isArray(d)){var a="";for(var e=0,c=d.length;e<c;e++){a+=this.encodeValue(d[e]);if(e!=c-1){a+="^"}}g="a:"+a}else{if(typeof d=="object"){var a="";for(var b in d){if(typeof d[b]!="function"&&d[b]!==undefined){a+=b+"="+this.encodeValue(d[b])+"^"}}g="o:"+a.substring(0,a.length-1)}else{g="s:"+d}}}}}return escape(g)}});Ext.state.Manager=function(){var a=new Ext.state.Provider();return{setProvider:function(b){a=b},get:function(c,b){return a.get(c,b)},set:function(c,b){a.set(c,b)},clear:function(b){a.clear(b)},getProvider:function(){return a}}}();Ext.state.CookieProvider=function(a){Ext.state.CookieProvider.superclass.constructor.call(this);this.path="/";this.expires=new Date(new Date().getTime()+(1000*60*60*24*7));this.domain=null;this.secure=false;Ext.apply(this,a);this.state=this.readCookies()};Ext.extend(Ext.state.CookieProvider,Ext.state.Provider,{set:function(a,b){if(typeof b=="undefined"||b===null){this.clear(a);return}this.setCookie(a,b);Ext.state.CookieProvider.superclass.set.call(this,a,b)},clear:function(a){this.clearCookie(a);Ext.state.CookieProvider.superclass.clear.call(this,a)},readCookies:function(){var b={};var e=document.cookie+";";var h=/\s?(.*?)=(.*?);/g;var d;while((d=h.exec(e))!=null){var a=d[1];var g=d[2];if(a&&a.substring(0,3)=="ys-"){b[a.substr(3)]=this.decodeValue(g)}}return b},setCookie:function(a,b){document.cookie="ys-"+a+"="+this.encodeValue(b)+((this.expires==null)?"":("; expires="+this.expires.toGMTString()))+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")},clearCookie:function(a){document.cookie="ys-"+a+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")}});Ext.DataView=Ext.extend(Ext.BoxComponent,{selectedClass:"x-view-selected",emptyText:"",deferEmptyText:true,trackOver:false,last:false,initComponent:function(){Ext.DataView.superclass.initComponent.call(this);if(typeof this.tpl=="string"||Ext.isArray(this.tpl)){this.tpl=new Ext.XTemplate(this.tpl)}this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","selectionchange","beforeselect");this.all=new Ext.CompositeElementLite();this.selected=new Ext.CompositeElementLite()},onRender:function(){if(!this.el){this.el=document.createElement("div");this.el.id=this.id}Ext.DataView.superclass.onRender.apply(this,arguments)},afterRender:function(){Ext.DataView.superclass.afterRender.call(this);this.el.on({click:this.onClick,dblclick:this.onDblClick,contextmenu:this.onContextMenu,scope:this});if(this.overClass||this.trackOver){this.el.on({mouseover:this.onMouseOver,mouseout:this.onMouseOut,scope:this})}if(this.store){this.setStore(this.store,true)}},refresh:function(){this.clearSelections(false,true);this.el.update("");var a=this.store.getRange();if(a.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){this.el.update(this.emptyText)}this.all.clear()}else{this.tpl.overwrite(this.el,this.collectData(a,0));this.all.fill(Ext.query(this.itemSelector,this.el.dom));this.updateIndexes(0)}this.hasSkippedEmptyText=true},prepareData:function(a){return a},collectData:function(b,c){var a=[];for(var d=0,e=b.length;d<e;d++){a[a.length]=this.prepareData(b[d].data,c+d,b[d])}return a},bufferRender:function(b){var a=document.createElement("div");this.tpl.overwrite(a,this.collectData(b));return Ext.query(this.itemSelector,a)},onUpdate:function(e,b){var g=this.store.indexOf(b);var c=this.isSelected(g);var a=this.all.elements[g];var d=this.bufferRender([b],g)[0];this.all.replaceElement(g,d,true);if(c){this.selected.replaceElement(a,d);this.all.item(g).addClass(this.selectedClass)}this.updateIndexes(g,g)},onAdd:function(h,c,d){if(this.all.getCount()==0){this.refresh();return}var e=this.bufferRender(c,d),b,g=this.all.elements;if(d<this.all.getCount()){b=this.all.item(d).insertSibling(e,"before",true);g.splice.apply(g,[d,0].concat(e))}else{b=this.all.last().insertSibling(e,"after",true);g.push.apply(g,e)}this.updateIndexes(d)},onRemove:function(b,a,c){this.deselect(c);this.all.removeElement(c,true);this.updateIndexes(c);if(this.store.getCount()==0){this.refresh()}},refreshNode:function(a){this.onUpdate(this.store,this.store.getAt(a))},updateIndexes:function(c,a){var b=this.all.elements;c=c||0;a=a||((a===0)?0:(b.length-1));for(var d=c;d<=a;d++){b[d].viewIndex=d}},getStore:function(){return this.store},setStore:function(a,b){if(!b&&this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("datachanged",this.refresh,this);this.store.un("add",this.onAdd,this);this.store.un("remove",this.onRemove,this);this.store.un("update",this.onUpdate,this);this.store.un("clear",this.refresh,this)}if(a){a=Ext.StoreMgr.lookup(a);a.on("beforeload",this.onBeforeLoad,this);a.on("datachanged",this.refresh,this);a.on("add",this.onAdd,this);a.on("remove",this.onRemove,this);a.on("update",this.onUpdate,this);a.on("clear",this.refresh,this)}this.store=a;if(a){this.refresh()}},findItemFromChild:function(a){return Ext.fly(a).findParent(this.itemSelector,this.el)},onClick:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a){var c=this.indexOf(a);if(this.onItemClick(a,c,b)!==false){this.fireEvent("click",this,c,a,b)}}else{if(this.fireEvent("containerclick",this,b)!==false){this.clearSelections()}}},onContextMenu:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a){this.fireEvent("contextmenu",this,this.indexOf(a),a,b)}},onDblClick:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a){this.fireEvent("dblclick",this,this.indexOf(a),a,b)}},onMouseOver:function(b){var a=b.getTarget(this.itemSelector,this.el);if(a&&a!==this.lastItem){this.lastItem=a;Ext.fly(a).addClass(this.overClass);this.fireEvent("mouseenter",this,this.indexOf(a),a,b)}},onMouseOut:function(a){if(this.lastItem){if(!a.within(this.lastItem,true,true)){Ext.fly(this.lastItem).removeClass(this.overClass);this.fireEvent("mouseleave",this,this.indexOf(this.lastItem),this.lastItem,a);delete this.lastItem}}},onItemClick:function(b,c,a){if(this.fireEvent("beforeclick",this,c,b,a)===false){return false}if(this.multiSelect){this.doMultiSelection(b,c,a);a.preventDefault()}else{if(this.singleSelect){this.doSingleSelection(b,c,a);a.preventDefault()}}return true},doSingleSelection:function(b,c,a){if(a.ctrlKey&&this.isSelected(c)){this.deselect(c)}else{this.select(c,false)}},doMultiSelection:function(b,c,a){if(a.shiftKey&&this.last!==false){var d=this.last;this.selectRange(d,c,a.ctrlKey);this.last=d}else{if((a.ctrlKey||this.simpleSelect)&&this.isSelected(c)){this.deselect(c)}else{this.select(c,a.ctrlKey||a.shiftKey||this.simpleSelect)}}},getSelectionCount:function(){return this.selected.getCount()},getSelectedNodes:function(){return this.selected.elements},getSelectedIndexes:function(){var c=[],b=this.selected.elements;for(var d=0,a=b.length;d<a;d++){c.push(b[d].viewIndex)}return c},getSelectedRecords:function(){var a=[],b=this.selected.elements;for(var d=0,c=b.length;d<c;d++){a[a.length]=this.store.getAt(b[d].viewIndex)}return a},getRecords:function(d){var a=[],b=d;for(var e=0,c=b.length;e<c;e++){a[a.length]=this.store.getAt(b[e].viewIndex)}return a},getRecord:function(a){return this.store.getAt(a.viewIndex)},clearSelections:function(b,a){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!a){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!b){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(a){return this.selected.contains(this.getNode(a))},deselect:function(a){if(this.isSelected(a)){a=this.getNode(a);this.selected.removeElement(a);if(this.last==a.viewIndex){this.last=false}Ext.fly(a).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(c,e,b){if(Ext.isArray(c)){if(!e){this.clearSelections(true)}for(var d=0,a=c.length;d<a;d++){this.select(c[d],true,true)}if(!b){this.fireEvent("selectionchange",this,this.selected.elements)}}else{var g=this.getNode(c);if(!e){this.clearSelections(true)}if(g&&!this.isSelected(g)){if(this.fireEvent("beforeselect",this,g,this.selected.elements)!==false){Ext.fly(g).addClass(this.selectedClass);this.selected.add(g);this.last=g.viewIndex;if(!b){this.fireEvent("selectionchange",this,this.selected.elements)}}}}},selectRange:function(a,b,c){if(!c){this.clearSelections(true)}this.select(this.getNodes(a,b),true)},getNode:function(a){if(typeof a=="string"){return document.getElementById(a)}else{if(typeof a=="number"){return this.all.elements[a]}}return a},getNodes:function(b,d){var a=this.all.elements;b=b||0;d=typeof d=="undefined"?Math.max(a.length-1,0):d;var c=[],e;if(b<=d){for(e=b;e<=d&&a[e];e++){c.push(a[e])}}else{for(e=b;e>=d&&a[e];e--){c.push(a[e])}}return c},indexOf:function(a){a=this.getNode(a);if(typeof a.viewIndex=="number"){return a.viewIndex}return this.all.indexOf(a)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.el.update('<div class="loading-indicator">'+this.loadingText+"</div>");this.all.clear()}},onDestroy:function(){Ext.DataView.superclass.onDestroy.call(this);this.setStore(null)}});Ext.reg("dataview",Ext.DataView);Ext.ColorPalette=function(a){Ext.ColorPalette.superclass.constructor.call(this,a);this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope,true)}};Ext.extend(Ext.ColorPalette,Ext.Component,{itemCls:"x-color-palette",value:null,clickEvent:"click",ctype:"Ext.ColorPalette",allowReselect:false,colors:["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","969696","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"],onRender:function(a,d){var c=this.tpl||new Ext.XTemplate('<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>');var b=document.createElement("div");b.id=this.getId();b.className=this.itemCls;c.overwrite(b,this.colors);a.dom.insertBefore(b,d);this.el=Ext.get(b);this.el.on(this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.el.on("click",Ext.emptyFn,this,{delegate:"a",preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var a=this.value;this.value=null;this.select(a)}},handleClick:function(d,a){d.preventDefault();if(!this.disabled){var b=a.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(b.toUpperCase())}},select:function(b){b=b.replace("#","");if(b!=this.value||this.allowReselect){var a=this.el;if(this.value){a.child("a.color-"+this.value).removeClass("x-color-palette-sel")}a.child("a.color-"+b).addClass("x-color-palette-sel");this.value=b;this.fireEvent("select",this,b)}}});Ext.reg("colorpalette",Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.Component,{todayText:"Today",okText:"&#160;OK&#160;",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDaysText:"Disabled",disabledDatesText:"Disabled",monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime():new Date().clearTime();this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var b=this.disabledDates;var c="(?:";for(var a=0;a<b.length;a++){c+=b[a];if(a!=b.length-1){c+="|"}}this.disabledDatesRE=new RegExp(c+")")}},setDisabledDates:function(a){if(Ext.isArray(a)){this.disabledDates=a;this.disabledDatesRE=null}else{this.disabledDatesRE=a}this.initDisabledDays();this.update(this.value,true)},setDisabledDays:function(a){this.disabledDays=a;this.update(this.value,true)},setMinDate:function(a){this.minDate=a;this.update(this.value,true)},setMaxDate:function(a){this.maxDate=a;this.update(this.value,true)},setValue:function(a){var b=this.value;this.value=a.clearTime(true);if(this.el){this.update(this.value)}},getValue:function(){return this.value},focus:function(){if(this.el){this.update(this.activeDate)}},onEnable:function(a){Ext.DatePicker.superclass.onEnable.call(this);this.doDisabled(false);this.update(a?this.value:this.activeDate);if(Ext.isIE){this.el.repaint()}},onDisable:function(){Ext.DatePicker.superclass.onDisable.call(this);this.doDisabled(true);if(Ext.isIE&&!Ext.isIE8){Ext.each([].concat(this.textNodes,this.el.query("th span")),function(a){Ext.fly(a).repaint()})}},doDisabled:function(a){this.keyNav[a?"disable":"enable"](a);this.leftClickRpt.setDisabled(a);this.rightClickRpt.setDisabled(a);if(this.showToday){this.todayKeyListener[a?"disable":"enable"](a);this.todayBtn.setDisabled(a)}},onRender:function(b,e){var l=['<table cellspacing="0">','<tr><td class="x-date-left"><a href="#" title="',this.prevText,'">&#160;</a></td><td class="x-date-middle" align="center"></td><td class="x-date-right"><a href="#" title="',this.nextText,'">&#160;</a></td></tr>','<tr><td colspan="3"><table class="x-date-inner" cellspacing="0"><thead><tr>'];var g=this.dayNames;for(var a=0;a<7;a++){var k=this.startDay+a;if(k>6){k=k-7}l.push("<th><span>",g[k].substr(0,1),"</span></th>")}l[l.length]="</tr></thead><tbody><tr>";for(var a=0;a<42;a++){if(a%7==0&&a!=0){l[l.length]="</tr><tr>"}l[l.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'}l.push("</tr></tbody></table></td></tr>",this.showToday?'<tr><td colspan="3" class="x-date-bottom" align="center"></td></tr>':"",'</table><div class="x-date-mp"></div>');var h=document.createElement("div");h.className="x-date-picker";h.innerHTML=l.join("");b.dom.insertBefore(h,e);this.el=Ext.get(h);this.eventEl=Ext.get(h.firstChild);this.leftClickRpt=new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.rightClickRpt=new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.eventEl.on("mousewheel",this.handleMouseWheel,this);this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");this.keyNav=new Ext.KeyNav(this.eventEl,{left:function(d){d.ctrlKey?this.showPrevMonth():this.update(this.activeDate.add("d",-1))},right:function(d){d.ctrlKey?this.showNextMonth():this.update(this.activeDate.add("d",1))},up:function(d){d.ctrlKey?this.showNextYear():this.update(this.activeDate.add("d",-7))},down:function(d){d.ctrlKey?this.showPrevYear():this.update(this.activeDate.add("d",7))},pageUp:function(d){this.showNextMonth()},pageDown:function(d){this.showPrevMonth()},enter:function(d){d.stopPropagation();return true},scope:this});this.eventEl.on("click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:"&#160;",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.on("click",this.showMonthPicker,this);this.mbtn.el.child(this.mbtn.menuClassTarget).addClass("x-btn-with-menu");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var c=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,c),tooltip:String.format(this.todayTip,c),handler:this.selectToday,scope:this})}if(Ext.isIE){this.el.repaint()}this.onEnable(true)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var a=['<table border="0" cellspacing="0">'];for(var b=0;b<6;b++){a.push('<tr><td class="x-date-mp-month"><a href="#">',Date.getShortMonthName(b),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',Date.getShortMonthName(b+6),"</a></td>",b==0?'<td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-prev"></a></td><td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-next"></a></td></tr>':'<td class="x-date-mp-year"><a href="#"></a></td><td class="x-date-mp-year"><a href="#"></a></td></tr>')}a.push('<tr class="x-date-mp-btns"><td colspan="4"><button type="button" class="x-date-mp-ok">',this.okText,'</button><button type="button" class="x-date-mp-cancel">',this.cancelText,"</button></td></tr>","</table>");this.monthPicker.update(a.join(""));this.monthPicker.on("click",this.onMonthClick,this);this.monthPicker.on("dblclick",this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select("td.x-date-mp-month");this.mpYears=this.monthPicker.select("td.x-date-mp-year");this.mpMonths.each(function(c,d,e){e+=1;if((e%2)==0){c.dom.xmonth=5+Math.round(e*0.5)}else{c.dom.xmonth=Math.round((e-1)*0.5)}})}},showMonthPicker:function(){if(!this.disabled){this.createMonthPicker();var a=this.el.getSize();this.monthPicker.setSize(a);this.monthPicker.child("table").setSize(a);this.mpSelMonth=(this.activeDate||this.value).getMonth();this.updateMPMonth(this.mpSelMonth);this.mpSelYear=(this.activeDate||this.value).getFullYear();this.updateMPYear(this.mpSelYear);this.monthPicker.slideIn("t",{duration:0.2})}},updateMPYear:function(a){this.mpyear=a;var c=this.mpYears.elements;for(var d=1;d<=10;d++){var b=c[d-1],e;if((d%2)==0){e=a+Math.round(d*0.5);b.firstChild.innerHTML=e;b.xyear=e}else{e=a-(5-Math.round(d*0.5));b.firstChild.innerHTML=e;b.xyear=e}this.mpYears.item(d-1)[e==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(a){this.mpMonths.each(function(b,c,d){b[b.dom.xmonth==a?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(a){},onMonthClick:function(h,b){h.stopEvent();var c=new Ext.Element(b),a;if(c.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(c.is("button.x-date-mp-ok")){var g=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(g.getMonth()!=this.mpSelMonth){g=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(g);this.hideMonthPicker()}else{if(a=c.up("td.x-date-mp-month",2)){this.mpMonths.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelMonth=a.dom.xmonth}else{if(a=c.up("td.x-date-mp-year",2)){this.mpYears.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelYear=a.dom.xyear}else{if(c.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(c.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(d,b){d.stopEvent();var c=new Ext.Element(b),a;if(a=c.up("td.x-date-mp-month",2)){this.update(new Date(this.mpSelYear,a.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if(a=c.up("td.x-date-mp-year",2)){this.update(new Date(a.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(a){if(this.monthPicker){if(a===true){this.monthPicker.hide()}else{this.monthPicker.slideOut("t",{duration:0.2})}}},showPrevMonth:function(a){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(a){this.update(this.activeDate.add("mo",1))},showPrevYear:function(){this.update(this.activeDate.add("y",-1))},showNextYear:function(){this.update(this.activeDate.add("y",1))},handleMouseWheel:function(b){b.stopEvent();if(!this.disabled){var a=b.getWheelDelta();if(a>0){this.showPrevMonth()}else{if(a<0){this.showNextMonth()}}}},handleDateClick:function(b,a){b.stopEvent();if(!this.disabled&&a.dateValue&&!Ext.fly(a.parentNode).hasClass("x-date-disabled")){this.setValue(new Date(a.dateValue));this.fireEvent("select",this,this.value)}},selectToday:function(){if(this.todayBtn&&!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)}},update:function(J,c){var v=this.activeDate,g=this.isVisible();this.activeDate=J;if(!c&&v&&this.el){var k=J.getTime();if(v.getMonth()==J.getMonth()&&v.getFullYear()==J.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(d){if(d.dom.firstChild.dateValue==k){d.addClass("x-date-selected");if(g){setTimeout(function(){try{d.dom.firstChild.focus()}catch(t){}},50)}return false}});return}}var A=J.getDaysInMonth();var a=J.getFirstDateOfMonth();var F=a.getDay()-this.startDay;if(F<0){F+=7}var E=J.add("mo",-1);var q=E.getDaysInMonth()-F;var G=this.cells.elements;var B=this.textNodes;A+=F;var C=86400000;var x=(new Date(E.getFullYear(),E.getMonth(),q)).clearTime();var n=new Date().clearTime().getTime();var H=J.clearTime().getTime();var p=this.minDate?this.minDate.clearTime():Number.NEGATIVE_INFINITY;var s=this.maxDate?this.maxDate.clearTime():Number.POSITIVE_INFINITY;var y=this.disabledDatesRE;var e=this.disabledDatesText;var b=this.disabledDays?this.disabledDays.join(""):false;var I=this.disabledDaysText;var D=this.format;if(this.showToday){var u=new Date().clearTime();var z=(u<p||u>s||(y&&D&&y.test(u.dateFormat(D)))||(b&&b.indexOf(u.getDay())!=-1));if(!this.disabled){this.todayBtn.setDisabled(z);this.todayKeyListener[z?"disable":"enable"]()}}var l=function(d,M){M.title="";var w=x.getTime();M.firstChild.dateValue=w;if(w==n){M.className+=" x-date-today";M.title=d.todayText}if(w==H){M.className+=" x-date-selected";if(g){setTimeout(function(){try{M.firstChild.focus()}catch(t){}},50)}}if(w<p){M.className=" x-date-disabled";M.title=d.minText;return}if(w>s){M.className=" x-date-disabled";M.title=d.maxText;return}if(b){if(b.indexOf(x.getDay())!=-1){M.title=I;M.className=" x-date-disabled"}}if(y&&D){var L=x.dateFormat(D);if(y.test(L)){M.title=e.replace("%0",L);M.className=" x-date-disabled"}}};var o=0;for(;o<F;o++){B[o].innerHTML=(++q);x.setDate(x.getDate()+1);G[o].className="x-date-prevday";l(this,G[o])}for(;o<A;o++){var r=o-F+1;B[o].innerHTML=(r);x.setDate(x.getDate()+1);G[o].className="x-date-active";l(this,G[o])}var h=0;for(;o<42;o++){B[o].innerHTML=(++h);x.setDate(x.getDate()+1);G[o].className="x-date-nextday";l(this,G[o])}this.mbtn.setText(this.monthNames[J.getMonth()]+" "+J.getFullYear());if(!this.internalRender){var K=this.el.dom.firstChild;var m=K.offsetWidth;this.el.setWidth(m+this.el.getBorderWidth("lr"));Ext.fly(K).setWidth(m);this.internalRender=true;if(Ext.isOpera&&!this.secondPass){K.rows[0].cells[1].style.width=(m-(K.rows[0].cells[0].offsetWidth+K.rows[0].cells[2].offsetWidth))+"px";this.secondPass=true;this.update.defer(10,this,[J])}}},beforeDestroy:function(){if(this.rendered){this.keyNav.disable();this.keyNav=null;Ext.destroy(this.leftClickRpt,this.rightClickRpt,this.monthPicker,this.eventEl,this.mbtn,this.todayBtn)}}});Ext.reg("datepicker",Ext.DatePicker);Ext.TabPanel=Ext.extend(Ext.Panel,{monitorResize:true,deferredRender:true,tabWidth:120,minTabWidth:30,resizeTabs:false,enableTabScroll:false,scrollIncrement:0,scrollRepeatInterval:400,scrollDuration:0.35,animScroll:true,tabPosition:"top",baseCls:"x-tab-panel",autoTabs:false,autoTabSelector:"div.x-tab",activeTab:null,tabMargin:2,plain:false,wheelIncrement:20,idDelimiter:"__",itemCls:"x-tab-item",elements:"body",headerAsText:false,frame:false,hideBorders:true,initComponent:function(){this.frame=false;Ext.TabPanel.superclass.initComponent.call(this);this.addEvents("beforetabchange","tabchange","contextmenu");this.setLayout(new Ext.layout.CardLayout({deferredRender:this.deferredRender}));if(this.tabPosition=="top"){this.elements+=",header";this.stripTarget="header"}else{this.elements+=",footer";this.stripTarget="footer"}if(!this.stack){this.stack=Ext.TabPanel.AccessStack()}this.initItems()},render:function(){Ext.TabPanel.superclass.render.apply(this,arguments);if(this.activeTab!==undefined){var a=this.activeTab;delete this.activeTab;this.setActiveTab(a)}},onRender:function(e,g){Ext.TabPanel.superclass.onRender.call(this,e,g);if(this.plain){var d=this.tabPosition=="top"?"header":"footer";this[d].addClass("x-tab-panel-"+d+"-plain")}var a=this[this.stripTarget];this.stripWrap=a.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});var c=(this.tabPosition=="bottom"?this.stripWrap:null);this.stripSpacer=a.createChild({cls:"x-tab-strip-spacer"},c);this.strip=new Ext.Element(this.stripWrap.dom.firstChild);this.edge=this.strip.createChild({tag:"li",cls:"x-tab-edge"});this.strip.createChild({cls:"x-clear"});this.body.addClass("x-tab-panel-body-"+this.tabPosition);if(!this.itemTpl){var b=new Ext.Template('<li class="{cls}" id="{id}"><a class="x-tab-strip-close" onclick="return false;"></a>','<a class="x-tab-right" href="#" onclick="return false;"><em class="x-tab-left">','<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',"</em></a></li>");b.disableFormats=true;b.compile();Ext.TabPanel.prototype.itemTpl=b}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.on("add",this.onAdd,this);this.on("remove",this.onRemove,this);this.strip.on("mousedown",this.onStripMouseDown,this);this.strip.on("contextmenu",this.onStripContextMenu,this);if(this.enableTabScroll){this.strip.on("mousewheel",this.onWheel,this)}},findTargets:function(b){var a=null;var c=b.getTarget("li",this.strip);if(c){a=this.getComponent(c.id.split(this.idDelimiter)[1]);if(a.disabled){return{close:null,item:null,el:null}}}return{close:b.getTarget(".x-tab-strip-close",this.strip),item:a,el:c}},onStripMouseDown:function(b){if(b.button!=0){return}b.preventDefault();var a=this.findTargets(b);if(a.close){this.remove(a.item);return}if(a.item&&a.item!=this.activeTab){this.setActiveTab(a.item)}},onStripContextMenu:function(b){b.preventDefault();var a=this.findTargets(b);if(a.item){this.fireEvent("contextmenu",this,a.item,b)}},readTabs:function(b){if(b===true){this.items.each(function(h){this.remove(h)},this)}var a=this.el.query(this.autoTabSelector);for(var d=0,c=a.length;d<c;d++){var g=a[d];var e=g.getAttribute("title");g.removeAttribute("title");this.add({title:e,contentEl:g})}},initTab:function(d,e){var a=this.strip.dom.childNodes[e];var g=d.closable?"x-tab-strip-closable":"";if(d.disabled){g+=" x-item-disabled"}if(d.iconCls){g+=" x-tab-with-icon"}if(d.tabCls){g+=" "+d.tabCls}var c={id:this.id+this.idDelimiter+d.getItemId(),text:d.title,cls:g,iconCls:d.iconCls||""};var b=a?this.itemTpl.insertBefore(a,c):this.itemTpl.append(this.strip,c);Ext.fly(b).addClassOnOver("x-tab-strip-over");if(d.tabTip){Ext.fly(b).child("span.x-tab-strip-text",true).qtip=d.tabTip}d.tabEl=b;d.on("disable",this.onItemDisabled,this);d.on("enable",this.onItemEnabled,this);d.on("titlechange",this.onItemTitleChanged,this);d.on("iconchange",this.onItemIconChanged,this);d.on("beforeshow",this.onBeforeShowItem,this)},onAdd:function(c,a,b){this.initTab(a,b);if(this.items.getCount()==1){this.syncSize()}this.delegateUpdates()},onBeforeAdd:function(b){var a=b.events?(this.items.containsKey(b.getItemId())?b:null):this.items.get(b);if(a){this.setActiveTab(b);return false}Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);var c=b.elements;b.elements=c?c.replace(",header",""):c;b.border=(b.border===true)},onRemove:function(c,a){Ext.destroy(Ext.get(this.getTabEl(a)));this.stack.remove(a);a.un("disable",this.onItemDisabled,this);a.un("enable",this.onItemEnabled,this);a.un("titlechange",this.onItemTitleChanged,this);a.un("iconchange",this.onItemIconChanged,this);a.un("beforeshow",this.onBeforeShowItem,this);if(a==this.activeTab){var b=this.stack.next();if(b){this.setActiveTab(b)}else{if(this.items.getCount()>0){this.setActiveTab(0)}else{this.activeTab=null}}}this.delegateUpdates()},onBeforeShowItem:function(a){if(a!=this.activeTab){this.setActiveTab(a);return false}},onItemDisabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).addClass("x-item-disabled")}this.stack.remove(b)},onItemEnabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).removeClass("x-item-disabled")}},onItemTitleChanged:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).child("span.x-tab-strip-text",true).innerHTML=b.title}},onItemIconChanged:function(c,a,d){var b=this.getTabEl(c);if(b){Ext.fly(b).child("span.x-tab-strip-text").replaceClass(d,a)}},getTabEl:function(b){var a=(typeof b==="number")?this.items.items[b].getItemId():b.getItemId();return document.getElementById(this.id+this.idDelimiter+a)},onResize:function(){Ext.TabPanel.superclass.onResize.apply(this,arguments);this.delegateUpdates()},beginUpdate:function(){this.suspendUpdates=true},endUpdate:function(){this.suspendUpdates=false;this.delegateUpdates()},hideTabStripItem:function(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.style.display="none";this.delegateUpdates()}this.stack.remove(b)},unhideTabStripItem:function(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.style.display="";this.delegateUpdates()}},delegateUpdates:function(){if(this.suspendUpdates){return}if(this.resizeTabs&&this.rendered){this.autoSizeTabs()}if(this.enableTabScroll&&this.rendered){this.autoScrollTabs()}},autoSizeTabs:function(){var e=this.items.length;var g=this.tabPosition!="bottom"?"header":"footer";var c=this[g].dom.offsetWidth;var d=this[g].dom.clientWidth;if(!this.resizeTabs||e<1||!d){return}var m=Math.max(Math.min(Math.floor((d-4)/e)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=m;var h=this.stripWrap.dom.getElementsByTagName("li");for(var a=0,k=h.length-1;a<k;a++){var b=h[a];var n=b.childNodes[1].firstChild.firstChild;var l=b.offsetWidth;var o=n.offsetWidth;n.style.width=(m-(l-o))+"px"}},adjustBodyWidth:function(a){if(this.header){this.header.setWidth(a)}if(this.footer){this.footer.setWidth(a)}return a},setActiveTab:function(c){c=this.getComponent(c);if(!c||this.fireEvent("beforetabchange",this,c,this.activeTab)===false){return}if(!this.rendered){this.activeTab=c;return}if(this.activeTab!=c){if(this.activeTab){var a=this.getTabEl(this.activeTab);if(a){Ext.fly(a).removeClass("x-tab-strip-active")}this.activeTab.fireEvent("deactivate",this.activeTab)}var b=this.getTabEl(c);Ext.fly(b).addClass("x-tab-strip-active");this.activeTab=c;this.stack.add(c);this.layout.setActiveItem(c);if(this.layoutOnTabChange&&c.doLayout){c.doLayout()}if(this.scrolling){this.scrollToTab(c,this.animScroll)}c.fireEvent("activate",c);this.fireEvent("tabchange",this,c)}},getActiveTab:function(){return this.activeTab||null},getItem:function(a){return this.getComponent(a)},autoScrollTabs:function(){this.pos=this.tabPosition=="bottom"?this.footer:this.header;var h=this.items.length;var c=this.pos.dom.offsetWidth;var g=this.pos.dom.clientWidth;var b=this.stripWrap;var k=b.dom;var d=k.offsetWidth;var e=this.getScrollPos();var a=this.edge.getOffsetsTo(this.stripWrap)[0]+e;if(!this.enableTabScroll||h<1||d<20){return}if(a<=g){k.scrollLeft=0;b.setWidth(g);if(this.scrolling){this.scrolling=false;this.pos.removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide();if(Ext.isAir||Ext.isWebKit){k.style.marginLeft="";k.style.marginRight=""}}}else{if(!this.scrolling){this.pos.addClass("x-tab-scrolling");if(Ext.isAir||Ext.isWebKit){k.style.marginLeft="18px";k.style.marginRight="18px"}}g-=b.getMargins("lr");b.setWidth(g>20?g:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(e>(a-g)){k.scrollLeft=a-g}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass("x-tab-scrolling-"+this.tabPosition);var b=this.stripWrap.dom.offsetHeight;var c=this.pos.insertFirst({cls:"x-tab-scroller-left"});c.setHeight(b);c.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(c,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=c;var a=this.pos.insertFirst({cls:"x-tab-scroller-right"});a.setHeight(b);a.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(a,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=a},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[0]+this.getScrollPos()},getScrollPos:function(){return parseInt(this.stripWrap.dom.scrollLeft,10)||0},getScrollArea:function(){return parseInt(this.stripWrap.dom.clientWidth,10)||0},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},getScrollIncrement:function(){return this.scrollIncrement||(this.resizeTabs?this.lastTabWidth+2:100)},scrollToTab:function(g,b){if(!g){return}var a=this.getTabEl(g);var d=this.getScrollPos(),c=this.getScrollArea();var e=Ext.fly(a).getOffsetsTo(this.stripWrap)[0]+d;var h=e+a.offsetWidth;if(e<d){this.scrollTo(e,b)}else{if(h>(d+c)){this.scrollTo(h-c,b)}}},scrollTo:function(b,a){this.stripWrap.scrollTo("left",b,a?this.getScrollAnim():false);if(!a){this.updateScrollButtons()}},onWheel:function(h){var g=h.getWheelDelta()*this.wheelIncrement*-1;h.stopEvent();var b=this.getScrollPos();var k=b+g;var c=this.getScrollWidth()-this.getScrollArea();var a=Math.max(0,Math.min(c,k));if(a!=b){this.scrollTo(a,false)}},onScrollRight:function(){var c=this.getScrollWidth()-this.getScrollArea();var b=this.getScrollPos();var a=Math.min(c,b+this.getScrollIncrement());if(a!=b){this.scrollTo(a,this.animScroll)}},onScrollLeft:function(){var b=this.getScrollPos();var a=Math.max(0,b-this.getScrollIncrement());if(a!=b){this.scrollTo(a,this.animScroll)}},updateScrollButtons:function(){var a=this.getScrollPos();this.scrollLeft[a==0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");this.scrollRight[a>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")},beforeDestroy:function(){if(this.items){this.items.each(function(a){if(a&&a.tabEl){Ext.get(a.tabEl).removeAllListeners();a.tabEl=null}},this)}if(this.strip){this.strip.removeAllListeners()}Ext.TabPanel.superclass.beforeDestroy.apply(this)}});Ext.reg("tabpanel",Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var a=[];return{add:function(b){a.push(b);if(a.length>10){a.shift()}},remove:function(e){var c=[];for(var d=0,b=a.length;d<b;d++){if(a[d]!=e){c.push(a[d])}}a=c},next:function(){return a.pop()}}};Ext.Button=Ext.extend(Ext.Component,{hidden:false,disabled:false,pressed:false,enableToggle:false,menuAlign:"tl-bl?",type:"button",menuClassTarget:"tr",clickEvent:"click",handleMouseEvents:true,tooltipType:"qtip",buttonSelector:"button:first-child",initComponent:function(){Ext.Button.superclass.initComponent.call(this);this.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}if(typeof this.toggleGroup==="string"){this.enableToggle=true}},onRender:function(b,e){if(!this.template){if(!Ext.Button.buttonTemplate){Ext.Button.buttonTemplate=new Ext.Template('<table border="0" cellpadding="0" cellspacing="0" class="x-btn-wrap"><tbody><tr>','<td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><em unselectable="on"><button class="x-btn-text" type="{1}">{0}</button></em></td><td class="x-btn-right"><i>&#160;</i></td>',"</tr></tbody></table>")}this.template=Ext.Button.buttonTemplate}var c,a=[this.text||"&#160;",this.type];if(e){c=this.template.insertBefore(e,a,true)}else{c=this.template.append(b,a,true)}var d=this.btnEl=c.child(this.buttonSelector);d.on("focus",this.onFocus,this);d.on("blur",this.onBlur,this);this.initButtonEl(c,d);if(this.menu){this.el.child(this.menuClassTarget).addClass("x-btn-with-menu")}Ext.ButtonToggleMgr.register(this)},initButtonEl:function(g,h){this.el=g;g.addClass("x-btn");if(this.id){var b=this.el.dom,e=Ext.Element.cache;delete e[b.id];b.id=this.el.id=this.id;e[b.id]=this.el}if(this.icon){h.setStyle("background-image","url("+this.icon+")")}if(this.iconCls){h.addClass(this.iconCls);if(!this.cls){g.addClass(this.text?"x-btn-text-icon":"x-btn-icon")}}if(this.tabIndex!==undefined){h.dom.tabIndex=this.tabIndex}if(this.tooltip){if(typeof this.tooltip=="object"){Ext.QuickTips.register(Ext.apply({target:h.id},this.tooltip))}else{h.dom[this.tooltipType]=this.tooltip}}if(this.pressed){this.el.addClass("x-btn-pressed")}if(this.handleMouseEvents){g.on("mouseover",this.onMouseOver,this);g.on("mousedown",this.onMouseDown,this)}if(this.menu){this.menu.on("show",this.onMenuShow,this);this.menu.on("hide",this.onMenuHide,this)}if(this.repeat){var a=new Ext.util.ClickRepeater(g,typeof this.repeat=="object"?this.repeat:{});a.on("click",this.onClick,this)}g.on(this.clickEvent,this.onClick,this)},afterRender:function(){Ext.Button.superclass.afterRender.call(this);if(Ext.isIE6){this.autoWidth.defer(1,this)}else{this.autoWidth()}},setIconClass:function(a){if(this.el){this.btnEl.replaceClass(this.iconCls,a)}this.iconCls=a},beforeDestroy:function(){if(this.rendered){if(this.btnEl){if(typeof this.tooltip=="object"){Ext.QuickTips.unregister(this.btnEl)}Ext.destroy(this.btnEl)}}Ext.destroy(this.menu,this.repeater)},onDestroy:function(){var a=Ext.getDoc();a.un("mouseover",this.monitorMouseOver,this);a.un("mouseup",this.onMouseUp,this);if(this.rendered){Ext.ButtonToggleMgr.unregister(this)}},autoWidth:function(){if(this.el){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var a=this.btnEl;if(a&&a.getWidth()>20){a.clip();a.setWidth(Ext.util.TextMetrics.measure(a,this.text).width+a.getFrameWidth("lr"))}}if(this.minWidth){if(this.el.getWidth()<this.minWidth){this.el.setWidth(this.minWidth)}}}},setHandler:function(a,b){this.handler=a;this.scope=b},setText:function(a){this.text=a;if(this.el){this.el.child("td.x-btn-center "+this.buttonSelector).update(a)}this.autoWidth()},getText:function(){return this.text},toggle:function(a,b){a=a===undefined?!this.pressed:!!a;if(a!=this.pressed){if(this.rendered){this.el[a?"addClass":"removeClass"]("x-btn-pressed")}this.pressed=a;if(!b){this.fireEvent("toggle",this,a);if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,a)}}}},focus:function(){this.btnEl.focus()},onDisable:function(){this.onDisableChange(true)},onEnable:function(){this.onDisableChange(false)},onDisableChange:function(a){if(this.el){if(!Ext.isIE6||!this.text){this.el[a?"addClass":"removeClass"](this.disabledClass)}this.el.dom.disabled=a}this.disabled=a},showMenu:function(){if(this.menu){this.menu.show(this.el,this.menuAlign)}return this},hideMenu:function(){if(this.menu){this.menu.hide()}return this},hasVisibleMenu:function(){return this.menu&&this.menu.isVisible()},onClick:function(a){if(a){a.preventDefault()}if(a.button!=0){return}if(!this.disabled){if(this.enableToggle&&(this.allowDepress!==false||!this.pressed)){this.toggle()}if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("click",this,a);if(this.handler){this.handler.call(this.scope||this,this,a)}}},isMenuTriggerOver:function(b,a){return this.menu&&!a},isMenuTriggerOut:function(b,a){return this.menu&&!a},onMouseOver:function(b){if(!this.disabled){var a=b.within(this.el,true);if(!a){this.el.addClass("x-btn-over");if(!this.monitoringMouseOver){Ext.getDoc().on("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=true}this.fireEvent("mouseover",this,b)}if(this.isMenuTriggerOver(b,a)){this.fireEvent("menutriggerover",this,this.menu,b)}}},monitorMouseOver:function(a){if(a.target!=this.el.dom&&!a.within(this.el)){if(this.monitoringMouseOver){Ext.getDoc().un("mouseover",this.monitorMouseOver,this);this.monitoringMouseOver=false}this.onMouseOut(a)}},onMouseOut:function(b){var a=b.within(this.el)&&b.target!=this.el.dom;this.el.removeClass("x-btn-over");this.fireEvent("mouseout",this,b);if(this.isMenuTriggerOut(b,a)){this.fireEvent("menutriggerout",this,this.menu,b)}},onFocus:function(a){if(!this.disabled){this.el.addClass("x-btn-focus")}},onBlur:function(a){this.el.removeClass("x-btn-focus")},getClickEl:function(a,b){return this.el},onMouseDown:function(a){if(!this.disabled&&a.button==0){this.getClickEl(a).addClass("x-btn-click");Ext.getDoc().on("mouseup",this.onMouseUp,this)}},onMouseUp:function(a){if(a.button==0){this.getClickEl(a,true).removeClass("x-btn-click");Ext.getDoc().un("mouseup",this.onMouseUp,this)}},onMenuShow:function(a){this.ignoreNextClick=0;this.el.addClass("x-btn-menu-active");this.fireEvent("menushow",this,this.menu)},onMenuHide:function(a){this.el.removeClass("x-btn-menu-active");this.ignoreNextClick=this.restoreClick.defer(250,this);this.fireEvent("menuhide",this,this.menu)},restoreClick:function(){this.ignoreNextClick=0}});Ext.reg("button",Ext.Button);Ext.ButtonToggleMgr=function(){var a={};function b(h,c){if(c){var k=a[h.toggleGroup];for(var d=0,e=k.length;d<e;d++){if(k[d]!=h){k[d].toggle(false)}}}}return{register:function(c){if(!c.toggleGroup){return}var d=a[c.toggleGroup];if(!d){d=a[c.toggleGroup]=[]}d.push(c);c.on("toggle",b)},unregister:function(c){if(!c.toggleGroup){return}var d=a[c.toggleGroup];if(d){d.remove(c);c.un("toggle",b)}}}}();Ext.SplitButton=Ext.extend(Ext.Button,{arrowSelector:"button:last",initComponent:function(){Ext.SplitButton.superclass.initComponent.call(this);this.addEvents("arrowclick")},onRender:function(c,g){var e=new Ext.Template('<table cellspacing="0" class="x-btn-menu-wrap x-btn"><tr><td>','<table cellspacing="0" class="x-btn-wrap x-btn-menu-text-wrap"><tbody>','<tr><td class="x-btn-left"><i>&#160;</i></td><td class="x-btn-center"><button class="x-btn-text" type="{1}">{0}</button></td></tr>',"</tbody></table></td><td>",'<table cellspacing="0" class="x-btn-wrap x-btn-menu-arrow-wrap"><tbody>','<tr><td class="x-btn-center"><button class="x-btn-menu-arrow-el" type="button">&#160;</button></td><td class="x-btn-right"><i>&#160;</i></td></tr>',"</tbody></table></td></tr></table>");var d,b=[this.text||"&#160;",this.type];if(g){d=e.insertBefore(g,b,true)}else{d=e.append(c,b,true)}var a=this.btnEl=d.child(this.buttonSelector);this.initButtonEl(d,a);this.arrowBtnTable=d.child("table:last");this.arrowEl=d.child(this.arrowSelector);if(this.arrowTooltip){this.arrowEl.dom[this.tooltipType]=this.arrowTooltip}},autoWidth:function(){if(this.el){var b=this.el.child("table:first");var c=this.el.child("table:last");this.el.setWidth("auto");b.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var a=this.btnEl;if(a&&a.getWidth()>20){a.clip();a.setWidth(Ext.util.TextMetrics.measure(a,this.text).width+a.getFrameWidth("lr"))}}if(this.minWidth){if((b.getWidth()+c.getWidth())<this.minWidth){b.setWidth(this.minWidth-c.getWidth())}}this.el.setWidth(b.getWidth()+c.getWidth())}},setArrowHandler:function(a,b){this.arrowHandler=a;this.scope=b},onClick:function(a){a.preventDefault();if(!this.disabled){if(a.getTarget(".x-btn-menu-arrow-wrap")){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("arrowclick",this,a);if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,a)}}else{if(this.enableToggle){this.toggle()}this.fireEvent("click",this,a);if(this.handler){this.handler.call(this.scope||this,this,a)}}}},getClickEl:function(a,b){if(!b){return(this.lastClickEl=a.getTarget("table",10,true))}return this.lastClickEl},onDisableChange:function(a){Ext.SplitButton.superclass.onDisableChange.call(this,a);if(this.arrowEl){this.arrowEl.dom.disabled=a}},isMenuTriggerOver:function(a){return this.menu&&a.within(this.arrowBtnTable)&&!a.within(this.arrowBtnTable,true)},isMenuTriggerOut:function(b,a){return this.menu&&!b.within(this.arrowBtnTable)},onDestroy:function(){Ext.destroy(this.arrowBtnTable);Ext.SplitButton.superclass.onDestroy.call(this)}});Ext.MenuButton=Ext.SplitButton;Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(a){if(a&&this.showText===true){var b="";if(this.prependText){b+=this.prependText}b+=a.text;return b}return undefined},setActiveItem:function(c,b){if(typeof c!="object"){c=this.menu.items.get(c)}if(c){if(!this.rendered){this.text=this.getItemText(c);this.iconCls=c.iconCls}else{var a=this.getItemText(c);if(a){this.setText(a)}this.setIconClass(c.iconCls)}this.activeItem=c;if(!c.checked){c.setChecked(true,true)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!b){this.fireEvent("change",this,c)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){this.addEvents("change");if(this.changeHandler){this.on("change",this.changeHandler,this.scope||this);delete this.changeHandler}this.itemCount=this.items.length;this.menu={cls:"x-cycle-menu",items:[]};var a;for(var c=0,b=this.itemCount;c<b;c++){var d=this.items[c];d.group=d.group||this.id;d.itemIndex=c;d.checkHandler=this.checkHandler;d.scope=this;d.checked=d.checked||false;this.menu.items.push(d);if(d.checked){a=d}}this.setActiveItem(a,true);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this)},checkHandler:function(b,a){if(a){this.setActiveItem(b)}},toggleSelected:function(){this.menu.render();var a,b;for(var c=1;c<this.itemCount;c++){a=(this.activeItem.itemIndex+c)%this.itemCount;b=this.menu.items.itemAt(a);if(!b.disabled){b.setChecked(true);break}}}});Ext.reg("cycle",Ext.CycleButton);Ext.Toolbar=function(a){if(Ext.isArray(a)){a={buttons:a}}Ext.Toolbar.superclass.constructor.call(this,a)};(function(){var a=Ext.Toolbar;Ext.extend(a,Ext.BoxComponent,{trackMenus:true,initComponent:function(){a.superclass.initComponent.call(this);if(this.items){this.buttons=this.items}this.items=new Ext.util.MixedCollection(false,function(b){return b.itemId||b.id||Ext.id()})},autoCreate:{cls:"x-toolbar x-small-editor",html:'<table cellspacing="0"><tr></tr></table>'},onRender:function(b,c){this.el=b.createChild(Ext.apply({id:this.id},this.autoCreate),c);this.tr=this.el.child("tr",true)},afterRender:function(){a.superclass.afterRender.call(this);if(this.buttons){this.add.apply(this,this.buttons);delete this.buttons}},add:function(){var c=arguments,e=c.length;for(var d=0;d<e;d++){var b=c[d];if(b.isFormField){this.addField(b)}else{if(b.render){this.addItem(b)}else{if(typeof b=="string"){if(b=="separator"||b=="-"){this.addSeparator()}else{if(b==" "){this.addSpacer()}else{if(b=="->"){this.addFill()}else{this.addText(b)}}}}else{if(b.tagName){this.addElement(b)}else{if(typeof b=="object"){if(b.xtype){this.addField(Ext.ComponentMgr.create(b,"button"))}else{this.addButton(b)}}}}}}}},addSeparator:function(){return this.addItem(new a.Separator())},addSpacer:function(){return this.addItem(new a.Spacer())},addFill:function(){return this.addItem(new a.Fill())},addElement:function(b){return this.addItem(new a.Item(b))},addItem:function(c){var b=this.nextBlock();this.initMenuTracking(c);c.render(b);this.items.add(c);return c},addButton:function(g){if(Ext.isArray(g)){var d=[];for(var h=0,c=g.length;h<c;h++){d.push(this.addButton(g[h]))}return d}var e=g;if(!(g instanceof a.Button)){e=g.split?new a.SplitButton(g):new a.Button(g)}var k=this.nextBlock();this.initMenuTracking(e);e.render(k);this.items.add(e);return e},initMenuTracking:function(b){if(this.trackMenus&&b.menu){b.on({menutriggerover:this.onButtonTriggerOver,menushow:this.onButtonMenuShow,menuhide:this.onButtonMenuHide,scope:this})}},addText:function(b){return this.addItem(new a.TextItem(b))},insertButton:function(h,g){if(Ext.isArray(g)){var c=[];for(var e=0,b=g.length;e<b;e++){c.push(this.insertButton(h+e,g[e]))}return c}if(!(g instanceof a.Button)){g=new a.Button(g)}var d=document.createElement("td");this.tr.insertBefore(d,this.tr.childNodes[h]);this.initMenuTracking(g);g.render(d);this.items.insert(h,g);return g},addDom:function(c,e){var b=this.nextBlock();Ext.DomHelper.overwrite(b,c);var d=new a.Item(b.firstChild);d.render(b);this.items.add(d);return d},addField:function(c){var b=this.nextBlock();c.render(b);var d=new a.Item(b.firstChild);d.render(b);this.items.add(c);return d},nextBlock:function(){var b=document.createElement("td");this.tr.appendChild(b);return b},onDestroy:function(){Ext.Toolbar.superclass.onDestroy.call(this);if(this.rendered){if(this.items){Ext.destroy.apply(Ext,this.items.items)}Ext.Element.uncache(this.tr)}},onDisable:function(){this.items.each(function(b){if(b.disable){b.disable()}})},onEnable:function(){this.items.each(function(b){if(b.enable){b.enable()}})},onButtonTriggerOver:function(b){if(this.activeMenuBtn&&this.activeMenuBtn!=b){this.activeMenuBtn.hideMenu();b.showMenu();this.activeMenuBtn=b}},onButtonMenuShow:function(b){this.activeMenuBtn=b},onButtonMenuHide:function(b){delete this.activeMenuBtn}});Ext.reg("toolbar",Ext.Toolbar);a.Item=function(b){this.el=Ext.getDom(b);this.id=Ext.id(this.el);this.hidden=false};a.Item.prototype={getEl:function(){return this.el},render:function(b){this.td=b;b.appendChild(this.el)},destroy:function(){if(this.el){var b=Ext.get(this.el);Ext.destroy(b)}Ext.removeNode(this.td)},show:function(){this.hidden=false;this.td.style.display=""},hide:function(){this.hidden=true;this.td.style.display="none"},setVisible:function(b){if(b){this.show()}else{this.hide()}},focus:function(){Ext.fly(this.el).focus()},disable:function(){Ext.fly(this.td).addClass("x-item-disabled");this.disabled=true;this.el.disabled=true},enable:function(){Ext.fly(this.td).removeClass("x-item-disabled");this.disabled=false;this.el.disabled=false}};Ext.reg("tbitem",a.Item);a.Separator=function(){var b=document.createElement("span");b.className="ytb-sep";a.Separator.superclass.constructor.call(this,b)};Ext.extend(a.Separator,a.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbseparator",a.Separator);a.Spacer=function(){var b=document.createElement("div");b.className="ytb-spacer";a.Spacer.superclass.constructor.call(this,b)};Ext.extend(a.Spacer,a.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbspacer",a.Spacer);a.Fill=Ext.extend(a.Spacer,{render:function(b){b.style.width="100%";a.Fill.superclass.render.call(this,b)}});Ext.reg("tbfill",a.Fill);a.TextItem=function(c){var b=document.createElement("span");b.className="ytb-text";b.innerHTML=c.text?c.text:c;a.TextItem.superclass.constructor.call(this,b)};Ext.extend(a.TextItem,a.Item,{enable:Ext.emptyFn,disable:Ext.emptyFn,focus:Ext.emptyFn});Ext.reg("tbtext",a.TextItem);a.Button=Ext.extend(Ext.Button,{hideParent:true,onDestroy:function(){a.Button.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg("tbbutton",a.Button);a.SplitButton=Ext.extend(Ext.SplitButton,{hideParent:true,onDestroy:function(){a.SplitButton.superclass.onDestroy.call(this);if(this.container){this.container.remove()}}});Ext.reg("tbsplit",a.SplitButton);a.MenuButton=a.SplitButton})();Ext.PagingToolbar=Ext.extend(Ext.Toolbar,{pageSize:20,displayMsg:"Displaying {0} - {1} of {2}",emptyMsg:"No data to display",beforePageText:"Page",afterPageText:"of {0}",firstText:"First Page",prevText:"Previous Page",nextText:"Next Page",lastText:"Last Page",refreshText:"Refresh",paramNames:{start:"start",limit:"limit"},initComponent:function(){this.addEvents("change","beforechange");Ext.PagingToolbar.superclass.initComponent.call(this);this.cursor=0;this.bind(this.store)},onRender:function(a,b){Ext.PagingToolbar.superclass.onRender.call(this,a,b);this.first=this.addButton({tooltip:this.firstText,iconCls:"x-tbar-page-first",disabled:true,handler:this.onClick.createDelegate(this,["first"])});this.prev=this.addButton({tooltip:this.prevText,iconCls:"x-tbar-page-prev",disabled:true,handler:this.onClick.createDelegate(this,["prev"])});this.addSeparator();this.add(this.beforePageText);this.field=Ext.get(this.addDom({tag:"input",type:"text",size:"3",value:"1",cls:"x-tbar-page-number"}).el);this.field.on("keydown",this.onPagingKeydown,this);this.field.on("focus",function(){this.dom.select()});this.field.on("blur",this.onPagingBlur,this);this.afterTextEl=this.addText(String.format(this.afterPageText,1));this.field.setHeight(18);this.addSeparator();this.next=this.addButton({tooltip:this.nextText,iconCls:"x-tbar-page-next",disabled:true,handler:this.onClick.createDelegate(this,["next"])});this.last=this.addButton({tooltip:this.lastText,iconCls:"x-tbar-page-last",disabled:true,handler:this.onClick.createDelegate(this,["last"])});this.addSeparator();this.loading=this.addButton({tooltip:this.refreshText,iconCls:"x-tbar-loading",handler:this.onClick.createDelegate(this,["refresh"])});if(this.displayInfo){this.displayEl=Ext.fly(this.el.dom).createChild({cls:"x-paging-info"})}if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayEl){var a=this.store.getCount();var b=a==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+a,this.store.getTotalCount());this.displayEl.update(b)}},onLoad:function(c,a,h){if(!this.rendered){this.dsLoaded=[c,a,h];return}this.cursor=h.params?h.params[this.paramNames.start]:0;var g=this.getPageData(),b=g.activePage,e=g.pages;this.afterTextEl.el.innerHTML=String.format(this.afterPageText,g.pages);this.field.dom.value=b;this.first.setDisabled(b==1);this.prev.setDisabled(b==1);this.next.setDisabled(b==e);this.last.setDisabled(b==e);this.loading.enable();this.updateInfo();this.fireEvent("change",this,g)},getPageData:function(){var a=this.store.getTotalCount();return{total:a,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:a<this.pageSize?1:Math.ceil(a/this.pageSize)}},onLoadError:function(){if(!this.rendered){return}this.loading.enable()},readPage:function(c){var a=this.field.dom.value,b;if(!a||isNaN(b=parseInt(a,10))){this.field.dom.value=c.activePage;return false}return b},onPagingBlur:function(a){this.field.dom.value=this.getPageData().activePage},onPagingKeydown:function(g){var h=g.getKey(),c=this.getPageData(),b;if(h==g.RETURN){g.stopEvent();b=this.readPage(c);if(b!==false){b=Math.min(Math.max(1,b),c.pages)-1;this.doLoad(b*this.pageSize)}}else{if(h==g.HOME||h==g.END){g.stopEvent();b=h==g.HOME?1:c.pages;this.field.dom.value=b}else{if(h==g.UP||h==g.PAGEUP||h==g.DOWN||h==g.PAGEDOWN){g.stopEvent();if(b=this.readPage(c)){var a=g.shiftKey?10:1;if(h==g.DOWN||h==g.PAGEDOWN){a*=-1}b+=a;if(b>=1&b<=c.pages){this.field.dom.value=b}}}}}},beforeLoad:function(){if(this.rendered&&this.loading){this.loading.disable()}},doLoad:function(c){var b={},a=this.paramNames;b[a.start]=c;b[a.limit]=this.pageSize;if(this.fireEvent("beforechange",this,b)!==false){this.store.load({params:b})}},changePage:function(a){this.doLoad(((a-1)*this.pageSize).constrain(0,this.store.getTotalCount()))},onClick:function(b){var c=this.store;switch(b){case"first":this.doLoad(0);break;case"prev":this.doLoad(Math.max(0,this.cursor-this.pageSize));break;case"next":this.doLoad(this.cursor+this.pageSize);break;case"last":var a=c.getTotalCount();var e=a%this.pageSize;var d=e?(a-e):a-this.pageSize;this.doLoad(d);break;case"refresh":this.doLoad(this.cursor);break}},unbind:function(a){a=Ext.StoreMgr.lookup(a);a.un("beforeload",this.beforeLoad,this);a.un("load",this.onLoad,this);a.un("loadexception",this.onLoadError,this);this.store=undefined},bind:function(a){a=Ext.StoreMgr.lookup(a);a.on("beforeload",this.beforeLoad,this);a.on("load",this.onLoad,this);a.on("loadexception",this.onLoadError,this);this.store=a;if(a.getCount()>0){this.onLoad(a,null,{})}},onDestroy:function(){if(this.store){this.unbind(this.store)}Ext.PagingToolbar.superclass.onDestroy.call(this)}});Ext.reg("paging",Ext.PagingToolbar);Ext.Resizable=function(g,m){this.el=Ext.get(g);if(m&&m.wrap){m.resizeChild=this.el;this.el=this.el.wrap(typeof m.wrap=="object"?m.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=m.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(m.resizeChild.getPositioning());m.resizeChild.clearPositioning();if(!m.width||!m.height){var o=m.resizeChild.getSize();this.el.setSize(o.width,o.height)}if(m.pinned&&!m.adjustments){m.adjustments="auto"}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"},Ext.getBody());this.proxy.unselectable();this.proxy.enableDisplayMode("block");Ext.apply(this,m);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var b=this.el.getStyle("position");if(b!="absolute"&&b!="fixed"){this.el.setStyle("position","relative")}if(!this.handles){this.handles="s,e,se";if(this.multiDirectional){this.handles+=",n,w"}}if(this.handles=="all"){this.handles="n s e w ne nw se sw"}var d=this.handles.split(/\s*?[,;]\s*?| /);var l=Ext.Resizable.positions;for(var a=0,n=d.length;a<n;a++){if(d[a]&&l[d[a]]){var k=l[d[a]];this[k]=new Ext.Resizable.Handle(this,k,this.disableTrackOver,this.transparent)}}this.corner=this.southeast;if(this.handles.indexOf("n")!=-1||this.handles.indexOf("w")!=-1){this.updateBox=true}this.activeHandle=null;if(this.resizeChild){if(typeof this.resizeChild=="boolean"){this.resizeChild=Ext.get(this.el.dom.firstChild,true)}else{this.resizeChild=Ext.get(this.resizeChild,true)}}if(this.adjustments=="auto"){var h=this.resizeChild;var p=this.west,e=this.east,c=this.north,d=this.south;if(h&&(p||c)){h.position("relative");h.setLeft(p?p.el.getWidth():0);h.setTop(c?c.el.getHeight():0)}this.adjustments=[(e?-e.el.getWidth():0)+(p?-p.el.getWidth():0),(c?-c.el.getHeight():0)+(d?-d.el.getHeight():0)-1]}if(this.draggable){this.dd=this.dynamic?this.el.initDD(null):this.el.initDDProxy(null,{dragElId:this.proxy.id});this.dd.setHandleElId(this.resizeChild?this.resizeChild.id:this.el.id)}this.addEvents("beforeresize","resize");if(this.width!==null&&this.height!==null){this.resizeTo(this.width,this.height)}else{this.updateChildSize()}if(Ext.isIE){this.el.dom.style.zoom=1}Ext.Resizable.superclass.constructor.call(this)};Ext.extend(Ext.Resizable,Ext.util.Observable,{resizeChild:false,adjustments:[0,0],minWidth:5,minHeight:5,maxWidth:10000,maxHeight:10000,enabled:true,animate:false,duration:0.35,dynamic:false,handles:false,multiDirectional:false,disableTrackOver:false,easing:"easeOutStrong",widthIncrement:0,heightIncrement:0,pinned:false,width:null,height:null,preserveRatio:false,transparent:false,minX:0,minY:0,draggable:false,resizeTo:function(b,a){this.el.setSize(b,a);this.updateChildSize();this.fireEvent("resize",this,b,a,null)},startSizing:function(b,c){this.fireEvent("beforeresize",this,b);if(this.enabled){if(!this.overlay){this.overlay=this.el.createProxy({tag:"div",cls:"x-resizable-overlay",html:"&#160;"},Ext.getBody());this.overlay.unselectable();this.overlay.enableDisplayMode("block");this.overlay.on("mousemove",this.onMouseMove,this);this.overlay.on("mouseup",this.onMouseUp,this)}this.overlay.setStyle("cursor",c.el.getStyle("cursor"));this.resizing=true;this.startBox=this.el.getBox();this.startPoint=b.getXY();this.offsets=[(this.startBox.x+this.startBox.width)-this.startPoint[0],(this.startBox.y+this.startBox.height)-this.startPoint[1]];this.overlay.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.overlay.show();if(this.constrainTo){var a=Ext.get(this.constrainTo);this.resizeRegion=a.getRegion().adjust(a.getFrameWidth("t"),a.getFrameWidth("l"),-a.getFrameWidth("b"),-a.getFrameWidth("r"))}this.proxy.setStyle("visibility","hidden");this.proxy.show();this.proxy.setBox(this.startBox);if(!this.dynamic){this.proxy.setStyle("visibility","visible")}}},onMouseDown:function(b,a){if(this.enabled){a.stopEvent();this.activeHandle=b;this.startSizing(a,b)}},onMouseUp:function(b){this.activeHandle=null;var a=this.resizeElement();this.resizing=false;this.handleOut();this.overlay.hide();this.proxy.hide();this.fireEvent("resize",this,a.width,a.height,b)},updateChildSize:function(){if(this.resizeChild){var a=this.el;var c=this.resizeChild;var e=this.adjustments;if(a.dom.offsetWidth){var d=a.getSize(true);c.setSize(d.width+e[0],d.height+e[1])}if(Ext.isIE){setTimeout(function(){if(a.dom.offsetWidth){var g=a.getSize(true);c.setSize(g.width+e[0],g.height+e[1])}},10)}}},snap:function(b,c,d){if(!c||!b){return b}var e=b;var a=b%c;if(a>0){if(a>(c/2)){e=b+(c-a)}else{e=b-a}}return Math.max(d,e)},resizeElement:function(){var a=this.proxy.getBox();if(this.updateBox){this.el.setBox(a,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(a.width,a.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}return a},constrain:function(c,d,a,b){if(c-d<a){d=c-a}else{if(c-d>b){d=c-b}}return d},onMouseMove:function(t){if(this.enabled&&this.activeHandle){try{if(this.resizeRegion&&!this.resizeRegion.contains(t.getPoint())){return}var v=this.curSize||this.startBox;var F=this.startBox.x,a=this.startBox.y;var b=F,o=a;var k=v.width,l=v.height;var A=k,d=l;var z=this.minWidth,c=this.minHeight;var g=this.maxWidth,u=this.maxHeight;var m=this.widthIncrement;var n=this.heightIncrement;var q=t.getXY();var D=-(this.startPoint[0]-Math.max(this.minX,q[0]));var E=-(this.startPoint[1]-Math.max(this.minY,q[1]));var p=this.activeHandle.position;switch(p){case"east":k+=D;k=Math.min(Math.max(z,k),g);break;case"south":l+=E;l=Math.min(Math.max(c,l),u);break;case"southeast":k+=D;l+=E;k=Math.min(Math.max(z,k),g);l=Math.min(Math.max(c,l),u);break;case"north":E=this.constrain(l,E,c,u);a+=E;l-=E;break;case"west":D=this.constrain(k,D,z,g);F+=D;k-=D;break;case"northeast":k+=D;k=Math.min(Math.max(z,k),g);E=this.constrain(l,E,c,u);a+=E;l-=E;break;case"northwest":D=this.constrain(k,D,z,g);E=this.constrain(l,E,c,u);a+=E;l-=E;F+=D;k-=D;break;case"southwest":D=this.constrain(k,D,z,g);l+=E;l=Math.min(Math.max(c,l),u);F+=D;k-=D;break}var r=this.snap(k,m,z);var B=this.snap(l,n,c);if(r!=k||B!=l){switch(p){case"northeast":a-=B-l;break;case"north":a-=B-l;break;case"southwest":F-=r-k;break;case"west":F-=r-k;break;case"northwest":F-=r-k;a-=B-l;break}k=r;l=B}if(this.preserveRatio){switch(p){case"southeast":case"east":l=d*(k/A);l=Math.min(Math.max(c,l),u);k=A*(l/d);break;case"south":k=A*(l/d);k=Math.min(Math.max(z,k),g);l=d*(k/A);break;case"northeast":k=A*(l/d);k=Math.min(Math.max(z,k),g);l=d*(k/A);break;case"north":var s=k;k=A*(l/d);k=Math.min(Math.max(z,k),g);l=d*(k/A);F+=(s-k)/2;break;case"southwest":l=d*(k/A);l=Math.min(Math.max(c,l),u);var s=k;k=A*(l/d);F+=s-k;break;case"west":var C=l;l=d*(k/A);l=Math.min(Math.max(c,l),u);a+=(C-l)/2;var s=k;k=A*(l/d);F+=s-k;break;case"northwest":var s=k;var C=l;l=d*(k/A);l=Math.min(Math.max(c,l),u);k=A*(l/d);a+=C-l;F+=s-k;break}}this.proxy.setBounds(F,a,k,l);if(this.dynamic){this.resizeElement()}}catch(t){}}},handleOver:function(){if(this.enabled){this.el.addClass("x-resizable-over")}},handleOut:function(){if(!this.resizing){this.el.removeClass("x-resizable-over")}},getEl:function(){return this.el},getResizeChild:function(){return this.resizeChild},destroy:function(c){Ext.destroy(this.dd,this.overlay,this.proxy);this.overlay=null;this.proxy=null;var a=Ext.Resizable.positions;for(var b in a){if(typeof a[b]!="function"&&this[a[b]]){this[a[b]].destroy()}}if(c){this.el.update("");Ext.destroy(this.el);this.el=null}this.purgeListeners()},syncHandleHeight:function(){var a=this.el.getHeight(true);if(this.west){this.west.el.setHeight(a)}if(this.east){this.east.el.setHeight(a)}}});Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};Ext.Resizable.Handle=function(e,b,a,c){if(!this.tpl){var d=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});d.compile();Ext.Resizable.Handle.prototype.tpl=d}this.position=b;this.rz=e;this.el=this.tpl.append(e.el.dom,[this.position],true);this.el.unselectable();if(c){this.el.setOpacity(0)}this.el.on("mousedown",this.onMouseDown,this);if(!a){this.el.on("mouseover",this.onMouseOver,this);this.el.on("mouseout",this.onMouseOut,this)}};Ext.Resizable.Handle.prototype={afterResize:function(a){},onMouseDown:function(a){this.rz.onMouseDown(this,a)},onMouseOver:function(a){this.rz.handleOver(this,a)},onMouseOut:function(a){this.rz.handleOut(this,a)},destroy:function(){Ext.destroy(this.el);this.el=null}};Ext.Editor=function(b,a){this.field=b;Ext.Editor.superclass.constructor.call(this,a)};Ext.extend(Ext.Editor,Ext.Component,{value:"",alignment:"c-c?",shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:false,cancelOnEsc:false,updateEl:false,initComponent:function(){Ext.Editor.superclass.initComponent.call(this);this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")},onRender:function(a,b){this.el=new Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:a,shim:this.shim,shadowOffset:4,id:this.id,constrain:this.constrain});this.el.setStyle("overflow",Ext.isGecko?"auto":"hidden");if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"}this.field.inEditor=true;this.field.render(this.el);if(Ext.isGecko){this.field.el.dom.setAttribute("autocomplete","off")}this.field.on("specialkey",this.onSpecialKey,this);if(this.swallowKeys){this.field.el.swallowEvent(["keydown","keypress"])}this.field.show();this.field.on("blur",this.onBlur,this);if(this.field.grow){this.field.on("autosize",this.el.sync,this.el,{delay:1})}},onSpecialKey:function(b,c){var a=c.getKey();if(this.completeOnEnter&&a==c.ENTER){c.stopEvent();this.completeEdit()}else{if(this.cancelOnEsc&&a==c.ESC){this.cancelEdit()}else{this.fireEvent("specialkey",b,c)}}if(this.field.triggerBlur&&(a==c.ENTER||a==c.ESC||a==c.TAB)){this.field.triggerBlur()}},startEdit:function(b,a){if(this.editing){this.completeEdit()}this.boundEl=Ext.get(b);var c=a!==undefined?a:this.boundEl.dom.innerHTML;if(!this.rendered){this.render(this.parentEl||document.body)}if(this.fireEvent("beforestartedit",this,this.boundEl,c)===false){return}this.startValue=c;this.field.setValue(c);this.doAutoSize();this.el.alignTo(this.boundEl,this.alignment);this.editing=true;this.show()},doAutoSize:function(){if(this.autoSize){var a=this.boundEl.getSize();switch(this.autoSize){case"width":this.setSize(a.width,"");break;case"height":this.setSize("",a.height);break;default:this.setSize(a.width,a.height)}}},setSize:function(a,b){delete this.field.lastSize;this.field.setSize(a,b);if(this.el){if(Ext.isGecko2||Ext.isOpera){this.el.setSize(a,b)}this.el.sync()}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)},completeEdit:function(b){if(!this.editing){return}var a=this.getValue();if(!this.field.isValid()){if(this.revertInvalid!==false){this.cancelEdit(b)}return}if(String(a)===String(this.startValue)&&this.ignoreNoChange){this.hideEdit(b);return}if(this.fireEvent("beforecomplete",this,a,this.startValue)!==false){a=this.getValue();if(this.updateEl&&this.boundEl){this.boundEl.update(a)}this.hideEdit(b);this.fireEvent("complete",this,a,this.startValue)}},onShow:function(){this.el.show();if(this.hideEl!==false){this.boundEl.hide()}this.field.show();if(Ext.isIE&&!this.fixIEFocus){this.fixIEFocus=true;this.deferredFocus.defer(50,this)}else{this.field.focus()}this.fireEvent("startedit",this.boundEl,this.startValue)},deferredFocus:function(){if(this.editing){this.field.focus()}},cancelEdit:function(b){if(this.editing){var a=this.getValue();this.setValue(this.startValue);this.hideEdit(b);this.fireEvent("canceledit",this,a,this.startValue)}},hideEdit:function(a){if(a!==true){this.editing=false;this.hide()}},onBlur:function(){if(this.allowBlur!==true&&this.editing){this.completeEdit()}},onHide:function(){if(this.editing){this.completeEdit();return}this.field.blur();if(this.field.collapse){this.field.collapse()}this.el.hide();if(this.hideEl!==false){this.boundEl.show()}},setValue:function(a){this.field.setValue(a)},getValue:function(){return this.field.getValue()},beforeDestroy:function(){Ext.destroy(this.field);this.field=null}});Ext.reg("editor",Ext.Editor);Ext.MessageBox=function(){var t,m,g,h;var n,q,e,b,w,u,l,d;var a,c,o,k="";var v=function(x){if(t.isVisible()){t.hide();r();Ext.callback(m.fn,m.scope||window,[x,c.dom.value,m],1)}};var r=function(){if(m&&m.cls){t.el.removeClass(m.cls)}w.reset()};var p=function(x,z,y){if(m&&m.closable!==false){t.hide();r()}if(y){y.stopEvent()}};var s=function(y){var x=0;if(!y){a.ok.hide();a.cancel.hide();a.yes.hide();a.no.hide();return x}t.footer.dom.style.display="";for(var z in a){if(typeof a[z]!="function"){if(y[z]){a[z].show();a[z].setText(typeof y[z]=="string"?y[z]:Ext.MessageBox.buttonText[z]);x+=a[z].el.getWidth()+15}else{a[z].hide()}}}return x};return{getDialog:function(z){if(!t){t=new Ext.Window({autoCreate:true,title:z,resizable:false,constrain:true,constrainHeader:true,minimizable:false,maximizable:false,stateful:false,modal:true,shim:true,buttonAlign:"center",width:400,height:100,minHeight:80,plain:true,footer:true,closable:true,close:function(){if(m&&m.buttons&&m.buttons.no&&!m.buttons.cancel){v("no")}else{v("cancel")}}});a={};var y=this.buttonText;a.ok=t.addButton(y.ok,v.createCallback("ok"));a.yes=t.addButton(y.yes,v.createCallback("yes"));a.no=t.addButton(y.no,v.createCallback("no"));a.cancel=t.addButton(y.cancel,v.createCallback("cancel"));a.ok.hideMode=a.yes.hideMode=a.no.hideMode=a.cancel.hideMode="offsets";t.render(document.body);t.getEl().addClass("x-window-dlg");g=t.mask;n=t.body.createChild({html:'<div class="ext-mb-icon"></div><div class="ext-mb-content"><span class="ext-mb-text"></span><br /><div class="ext-mb-fix-cursor"><input type="text" class="ext-mb-input" /><textarea class="ext-mb-textarea"></textarea></div></div>'});l=Ext.get(n.dom.firstChild);var x=n.dom.childNodes[1];q=Ext.get(x.firstChild);e=Ext.get(x.childNodes[2].firstChild);e.enableDisplayMode();e.addKeyListener([10,13],function(){if(t.isVisible()&&m&&m.buttons){if(m.buttons.ok){v("ok")}else{if(m.buttons.yes){v("yes")}}}});b=Ext.get(x.childNodes[2].childNodes[1]);b.enableDisplayMode();w=new Ext.ProgressBar({renderTo:n});n.createChild({cls:"x-clear"})}return t},updateText:function(C){if(!t.isVisible()&&!m.width){t.setSize(this.maxWidth,100)}q.update(C||"&#160;");var x=k!=""?(l.getWidth()+l.getMargins("lr")):0;var z=q.getWidth()+q.getMargins("lr");var y=t.getFrameWidth("lr");var B=t.body.getFrameWidth("lr");if(Ext.isIE&&x>0){x+=3}var A=Math.max(Math.min(m.width||x+z+y+B,this.maxWidth),Math.max(m.minWidth||this.minWidth,o||0));if(m.prompt===true){c.setWidth(A-x-y-B)}if(m.progress===true||m.wait===true){w.setSize(A-x-y-B)}if(Ext.isIE&&A==o){A+=4}t.setSize(A,"auto").center();return this},updateProgress:function(x,z,y){w.updateProgress(x,z);if(y){this.updateText(y)}return this},isVisible:function(){return t&&t.isVisible()},hide:function(){var x=t?t.activeGhost:null;if(this.isVisible()||x){t.hide();r();if(x){x.hide()}}return this},show:function(A){if(this.isVisible()){this.hide()}m=A;var z=this.getDialog(m.title||"&#160;");z.setTitle(m.title||"&#160;");var y=(m.closable!==false&&m.progress!==true&&m.wait!==true);z.tools.close.setDisplayed(y);c=e;m.prompt=m.prompt||(m.multiline?true:false);if(m.prompt){if(m.multiline){e.hide();b.show();b.setHeight(typeof m.multiline=="number"?m.multiline:this.defaultTextHeight);c=b}else{e.show();b.hide()}}else{e.hide();b.hide()}c.dom.value=m.value||"";if(m.prompt){z.focusEl=c}else{var x=m.buttons;var B=null;if(x&&x.ok){B=a.ok}else{if(x&&x.yes){B=a.yes}}if(B){z.focusEl=B}}if(m.iconCls){z.setIconClass(m.iconCls)}this.setIcon(m.icon);o=s(m.buttons);w.setVisible(m.progress===true||m.wait===true);this.updateProgress(0,m.progressText);this.updateText(m.msg);if(m.cls){z.el.addClass(m.cls)}z.proxyDrag=m.proxyDrag===true;z.modal=m.modal!==false;z.mask=m.modal!==false?g:false;if(!z.isVisible()){document.body.appendChild(t.el.dom);z.setAnimateTarget(m.animEl);z.show(m.animEl)}z.on("show",function(){if(y===true){z.keyMap.enable()}else{z.keyMap.disable()}},this,{single:true});if(m.wait===true){w.wait(m.waitConfig)}return this},setIcon:function(x){if(x&&x!=""){l.removeClass("x-hidden");l.replaceClass(k,x);n.addClass("x-dlg-icon");k=x}else{l.replaceClass(k,"x-hidden");n.removeClass("x-dlg-icon");k=""}return this},progress:function(x,y,z){this.show({title:x,msg:y,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:z});return this},wait:function(z,x,y){this.show({title:x,msg:z,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:y});return this},alert:function(y,z,x,A){this.show({title:y,msg:z,buttons:this.OK,fn:x,scope:A});return this},confirm:function(y,z,x,A){this.show({title:y,msg:z,buttons:this.YESNO,fn:x,scope:A,icon:this.QUESTION});return this},prompt:function(z,B,x,C,A,y){this.show({title:z,msg:B,buttons:this.OKCANCEL,fn:x,minWidth:250,scope:C,prompt:true,multiline:A,value:y});return this},OK:{ok:true},CANCEL:{cancel:true},OKCANCEL:{ok:true,cancel:true},YESNO:{yes:true,no:true},YESNOCANCEL:{yes:true,no:true,cancel:true},INFO:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox;Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:"x-tip",floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&&!this.title){this.elements+=",header"}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:"close",handler:this.hide,scope:this})}},showAt:function(a){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()}if(this.constrainPosition){a=this.el.adjustForConstraints(a)}this.setPagePosition(a[0],a[1])},doAutoWidth:function(){var a=this.body.getTextWidth();if(this.title){a=Math.max(a,this.header.child("span").getTextWidth(this.title))}a+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr");this.setWidth(a.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(a,b){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(a,b||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);this.header.addClass("x-tip-draggable")}});Ext.Tip.DD=function(a,b){Ext.apply(this,b);this.tip=a;Ext.Tip.DD.superclass.constructor.call(this,a.el.id,"WindowDD-"+a.id);this.setHandleElId(a.header.id);this.scroll=false};Ext.extend(Ext.Tip.DD,Ext.dd.DD,{moveOnly:true,scroll:false,headerOffsets:[100,25],startDrag:function(){this.tip.el.disableShadow()},endDrag:function(a){this.tip.el.enableShadow(true)}});Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,mouseOffset:[15,18],trackMouse:false,constrainPosition:true,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget()},initTarget:function(){if(this.target){this.target=Ext.get(this.target);this.target.on("mouseover",this.onTargetOver,this);this.target.on("mouseout",this.onTargetOut,this);this.target.on("mousemove",this.onMouseMove,this)}},onMouseMove:function(a){this.targetXY=a.getXY();if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}},getTargetXY:function(){return[this.targetXY[0]+this.mouseOffset[0],this.targetXY[1]+this.mouseOffset[1]]},onTargetOver:function(a){if(this.disabled||a.within(this.target.dom,true)){return}this.clearTimer("hide");this.targetXY=a.getXY();this.delayShow()},delayShow:function(){if(this.hidden&&!this.showTimer){if(this.lastActive.getElapsed()<this.quickShowInterval){this.show()}else{this.showTimer=this.show.defer(this.showDelay,this)}}else{if(!this.hidden&&this.autoHide!==false){this.show()}}},onTargetOut:function(a){if(this.disabled||a.within(this.target.dom,true)){return}this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},delayHide:function(){if(!this.hidden&&!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)}},hide:function(){this.clearTimer("dismiss");this.lastActive=new Date();Ext.ToolTip.superclass.hide.call(this)},show:function(){this.showAt(this.getTargetXY())},showAt:function(a){this.lastActive=new Date();this.clearTimers();Ext.ToolTip.superclass.showAt.call(this,a);if(this.dismissDelay&&this.autoHide!==false){this.dismissTimer=this.hide.defer(this.dismissDelay,this)}},clearTimer:function(a){a=a+"Timer";clearTimeout(this[a]);delete this[a]},clearTimers:function(){this.clearTimer("show");this.clearTimer("dismiss");this.clearTimer("hide")},onShow:function(){Ext.ToolTip.superclass.onShow.call(this);Ext.getDoc().on("mousedown",this.onDocMouseDown,this)},onHide:function(){Ext.ToolTip.superclass.onHide.call(this);Ext.getDoc().un("mousedown",this.onDocMouseDown,this)},onDocMouseDown:function(a){if(this.autoHide!==true&&!a.within(this.el.dom)){this.disable();this.enable.defer(100,this)}},onDisable:function(){this.clearTimers();this.hide()},adjustPosition:function(a,b){var c=this.targetXY[1],d=this.getSize().height;if(this.constrainPosition&&b<=c&&(b+d)>=c){b=c-d-5}return{x:a,y:b}},onDestroy:function(){Ext.ToolTip.superclass.onDestroy.call(this);Ext.getDoc().un("mousedown",this.onDocMouseDown,this);if(this.target){this.target.un("mouseover",this.onTargetOver,this);this.target.un("mouseout",this.onTargetOut,this);this.target.un("mousemove",this.onMouseMove,this)}}});Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:"ext",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(h){var l=Ext.isArray(h)?h:arguments;for(var a=0,d=l.length;a<d;a++){var e=l[a];var b=e.target;if(b){if(Ext.isArray(b)){for(var k=0,g=b.length;k<g;k++){this.targets[Ext.id(b[k])]=e}}else{this.targets[Ext.id(b)]=e}}}},unregister:function(a){delete this.targets[Ext.id(a)]},onTargetOver:function(g){if(this.disabled){return}this.targetXY=g.getXY();var b=g.getTarget();if(!b||b.nodeType!==1||b==document||b==document.body){return}if(this.activeTarget&&b==this.activeTarget.el){this.clearTimer("hide");this.show();return}if(b&&this.targets[b.id]){this.activeTarget=this.targets[b.id];this.activeTarget.el=b;this.delayShow();return}var c,h=Ext.fly(b),d=this.tagConfig;var k=d.namespace;if(this.interceptTitles&&b.title){c=b.title;b.qtip=c;b.removeAttribute("title");g.preventDefault()}else{c=b.qtip||h.getAttributeNS(k,d.attribute)}if(c){var a=h.getAttributeNS(k,d.hide);this.activeTarget={el:b,text:c,width:h.getAttributeNS(k,d.width),autoHide:a!="user"&&a!=="false",title:h.getAttributeNS(k,d.title),cls:h.getAttributeNS(k,d.cls),align:h.getAttributeNS(k,d.align)};this.delayShow()}},onTargetOut:function(a){this.clearTimer("show");if(this.autoHide!==false){this.delayHide()}},showAt:function(a){var b=this.activeTarget;if(b){if(!this.rendered){this.render(Ext.getBody());this.activeTarget=b}if(b.width){this.setWidth(b.width);this.body.setWidth(this.adjustBodyWidth(b.width-this.getFrameWidth()));this.measureWidth=false}else{this.measureWidth=true}this.setTitle(b.title||"");this.body.update(b.text);this.autoHide=b.autoHide;this.dismissDelay=b.dismissDelay||this.dismissDelay;if(this.lastCls){this.el.removeClass(this.lastCls);delete this.lastCls}if(b.cls){this.el.addClass(b.cls);this.lastCls=b.cls}if(b.align){a=this.el.getAlignToXY(b.el,b.align);this.constrainPosition=false}else{this.constrainPosition=true}}Ext.QuickTip.superclass.showAt.call(this,a)},hide:function(){delete this.activeTarget;Ext.QuickTip.superclass.hide.call(this)}});Ext.QuickTips=function(){var a,b=[];return{init:function(c){if(!a){if(!Ext.isReady){Ext.onReady(function(){Ext.QuickTips.init(c)});return}a=new Ext.QuickTip({elements:"header,body"});if(c!==false){a.render(Ext.getBody())}}},enable:function(){if(a){b.pop();if(b.length<1){a.enable()}}},disable:function(){if(a){a.disable()}b.push(1)},isEnabled:function(){return a!==undefined&&!a.disabled},getQuickTip:function(){return a},register:function(){a.register.apply(a,arguments)},unregister:function(){a.unregister.apply(a,arguments)},tips:function(){a.register.apply(a,arguments)}}}();Ext.tree.TreePanel=Ext.extend(Ext.Panel,{rootVisible:true,animate:Ext.enableFx,lines:true,enableDD:false,hlDrop:Ext.enableFx,pathSeparator:"/",initComponent:function(){Ext.tree.TreePanel.superclass.initComponent.call(this);if(!this.eventModel){this.eventModel=new Ext.tree.TreeEventModel(this)}var a=this.loader;if(!a){a=new Ext.tree.TreeLoader({dataUrl:this.dataUrl})}else{if(typeof a=="object"&&!a.load){a=new Ext.tree.TreeLoader(a)}}this.loader=a;this.nodeHash={};if(this.root){this.setRootNode(this.root)}this.addEvents("append","remove","movenode","insert","beforeappend","beforeremove","beforemovenode","beforeinsert","beforeload","load","textchange","beforeexpandnode","beforecollapsenode","expandnode","disabledchange","collapsenode","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered","startdrag","enddrag","dragdrop","beforenodedrop","nodedrop","nodedragover");if(this.singleExpand){this.on("beforeexpandnode",this.restrictExpand,this)}},proxyNodeEvent:function(c,b,a,h,g,e,d){if(c=="collapse"||c=="expand"||c=="beforecollapse"||c=="beforeexpand"||c=="move"||c=="beforemove"){c=c+"node"}return this.fireEvent(c,b,a,h,g,e,d)},getRootNode:function(){return this.root},setRootNode:function(b){if(!b.render){b=this.loader.createNode(b)}this.root=b;b.ownerTree=this;b.isRoot=true;this.registerNode(b);if(!this.rootVisible){var a=b.attributes.uiProvider;b.ui=a?new a(b):new Ext.tree.RootTreeNodeUI(b)}return b},getNodeById:function(a){return this.nodeHash[a]},registerNode:function(a){this.nodeHash[a.id]=a},unregisterNode:function(a){delete this.nodeHash[a.id]},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"},restrictExpand:function(b){var a=b.parentNode;if(a){if(a.expandedChild&&a.expandedChild.parentNode==a){a.expandedChild.collapse()}a.expandedChild=b}},getChecked:function(d,c){c=c||this.root;var b=[];var e=function(){if(this.attributes.checked){b.push(!d?this:(d=="id"?this.id:this.attributes[d]))}};c.cascade(e);return b},getEl:function(){return this.el},getLoader:function(){return this.loader},expandAll:function(){this.root.expand(true)},collapseAll:function(){this.root.collapse(true)},getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.tree.DefaultSelectionModel()}return this.selModel},expandPath:function(d,g,h){g=g||"id";var b=d.split(this.pathSeparator);var e=this.root;if(e.attributes[g]!=b[1]){if(h){h(false,null)}return}var c=1;var a=function(){if(++c==b.length){if(h){h(true,e)}return}var k=e.findChild(g,b[c]);if(!k){if(h){h(false,e)}return}e=k;k.expand(false,false,a)};e.expand(false,false,a)},selectPath:function(d,e,g){e=e||"id";var b=d.split(this.pathSeparator);var c=b.pop();if(b.length>0){var a=function(h,l){if(h&&l){var k=l.findChild(e,c);if(k){k.select();if(g){g(true,k)}}else{if(g){g(false,k)}}}else{if(g){g(false,k)}}};this.expandPath(b.join(this.pathSeparator),e,a)}else{this.root.select();if(g){g(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(a,b){Ext.tree.TreePanel.superclass.onRender.call(this,a,b);this.el.addClass("x-tree");this.innerCt=this.body.createChild({tag:"ul",cls:"x-tree-root-ct "+(this.useArrows?"x-tree-arrows":this.lines?"x-tree-lines":"x-tree-no-lines")})},initEvents:function(){Ext.tree.TreePanel.superclass.initEvents.call(this);if(this.containerScroll){Ext.dd.ScrollManager.register(this.body)}if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true})}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",scroll:this.ddScroll})}this.getSelectionModel().init(this)},afterRender:function(){Ext.tree.TreePanel.superclass.afterRender.call(this);this.root.render();if(!this.rootVisible){this.root.renderChildren()}},onDestroy:function(){if(this.rendered){this.body.removeAllListeners();Ext.dd.ScrollManager.unregister(this.body);if(this.dropZone){this.dropZone.unreg()}if(this.dragZone){this.dragZone.unreg()}}this.root.destroy();this.nodeHash=null;Ext.tree.TreePanel.superclass.onDestroy.call(this)}});Ext.tree.TreePanel.nodeTypes={};Ext.reg("treepanel",Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(a){this.tree=a;this.tree.on("render",this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var a=this.tree.getTreeEl();a.on("click",this.delegateClick,this);if(this.tree.trackMouseOver!==false){a.on("mouseover",this.delegateOver,this);a.on("mouseout",this.delegateOut,this)}a.on("dblclick",this.delegateDblClick,this);a.on("contextmenu",this.delegateContextMenu,this)},getNode:function(c){var b;if(b=c.getTarget(".x-tree-node-el",10)){var a=Ext.fly(b,"_treeEvents").getAttributeNS("ext","tree-node-id");if(a){return this.tree.getNodeById(a)}}return null},getNodeTarget:function(b){var a=b.getTarget(".x-tree-node-icon",1);if(!a){a=b.getTarget(".x-tree-node-el",6)}return a},delegateOut:function(c,b){if(!this.beforeEvent(c)){return}if(c.getTarget(".x-tree-ec-icon",1)){var a=this.getNode(c);this.onIconOut(c,a);if(a==this.lastEcOver){delete this.lastEcOver}}if((b=this.getNodeTarget(c))&&!c.within(b,true)){this.onNodeOut(c,this.getNode(c))}},delegateOver:function(b,a){if(!this.beforeEvent(b)){return}if(this.lastEcOver){this.onIconOut(b,this.lastEcOver);delete this.lastEcOver}if(b.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(b);this.onIconOver(b,this.lastEcOver)}if(a=this.getNodeTarget(b)){this.onNodeOver(b,this.getNode(b))}},delegateClick:function(b,a){if(!this.beforeEvent(b)){return}if(b.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(b,this.getNode(b))}else{if(b.getTarget(".x-tree-ec-icon",1)){this.onIconClick(b,this.getNode(b))}else{if(this.getNodeTarget(b)){this.onNodeClick(b,this.getNode(b))}}}},delegateDblClick:function(b,a){if(this.beforeEvent(b)&&this.getNodeTarget(b)){this.onNodeDblClick(b,this.getNode(b))}},delegateContextMenu:function(b,a){if(this.beforeEvent(b)&&this.getNodeTarget(b)){this.onNodeContextMenu(b,this.getNode(b))}},onNodeClick:function(a,b){b.ui.onClick(a)},onNodeOver:function(a,b){b.ui.onOver(a)},onNodeOut:function(a,b){b.ui.onOut(a)},onIconOver:function(a,b){b.ui.addClass("x-tree-ec-over")},onIconOut:function(a,b){b.ui.removeClass("x-tree-ec-over")},onIconClick:function(a,b){b.ui.ecClick(a)},onCheckboxClick:function(a,b){b.ui.onCheckChange(a)},onNodeDblClick:function(a,b){b.ui.onDblClick(a)},onNodeContextMenu:function(a,b){b.ui.onContextMenu(a)},beforeEvent:function(a){if(this.disabled){a.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=function(a){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,a);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.DefaultSelectionModel,Ext.util.Observable,{init:function(a){this.tree=a;a.getTreeEl().on("keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(b,a){this.select(b)},select:function(b){var a=this.selNode;if(b==a){b.ui.onSelectedChange(true)}else{if(this.fireEvent("beforeselect",this,b,a)!==false){if(a){a.ui.onSelectedChange(false)}this.selNode=b;b.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,b,a)}}return b},unselect:function(a){if(this.selNode==a){this.clearSelections()}},clearSelections:function(){var a=this.selNode;if(a){a.ui.onSelectedChange(false);this.selNode=null;this.fireEvent("selectionchange",this,null)}return a},getSelectedNode:function(){return this.selNode},isSelected:function(a){return this.selNode==a},selectPrevious:function(){var b=this.selNode||this.lastSelNode;if(!b){return null}var a=b.previousSibling;if(a){if(!a.isExpanded()||a.childNodes.length<1){return this.select(a)}else{var c=a.lastChild;while(c&&c.isExpanded()&&c.childNodes.length>0){c=c.lastChild}return this.select(c)}}else{if(b.parentNode&&(this.tree.rootVisible||!b.parentNode.isRoot)){return this.select(b.parentNode)}}return null},selectNext:function(){var a=this.selNode||this.lastSelNode;if(!a){return null}if(a.firstChild&&a.isExpanded()){return this.select(a.firstChild)}else{if(a.nextSibling){return this.select(a.nextSibling)}else{if(a.parentNode){var b=null;a.parentNode.bubble(function(){if(this.nextSibling){b=this.getOwnerTree().selModel.select(this.nextSibling);return false}});return b}}}return null},onKeyDown:function(c){var a=this.selNode||this.lastSelNode;var b=this;if(!a){return}var d=c.getKey();switch(d){case c.DOWN:c.stopEvent();this.selectNext();break;case c.UP:c.stopEvent();this.selectPrevious();break;case c.RIGHT:c.preventDefault();if(a.hasChildNodes()){if(!a.isExpanded()){a.expand()}else{if(a.firstChild){this.select(a.firstChild,c)}}}break;case c.LEFT:c.preventDefault();if(a.hasChildNodes()&&a.isExpanded()){a.collapse()}else{if(a.parentNode&&(this.tree.rootVisible||a.parentNode!=this.tree.getRootNode())){this.select(a.parentNode,c)}}break}}});Ext.tree.MultiSelectionModel=function(a){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,a);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.tree.MultiSelectionModel,Ext.util.Observable,{init:function(a){this.tree=a;a.getTreeEl().on("keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(b,a){if(a.ctrlKey&&this.isSelected(b)){this.unselect(b)}else{this.select(b,a,a.ctrlKey)}},select:function(c,b,a){if(a!==true){this.clearSelections(true)}if(this.isSelected(c)){this.lastSelNode=c;return c}this.selNodes.push(c);this.selMap[c.id]=c;this.lastSelNode=c;c.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return c},unselect:function(c){if(this.selMap[c.id]){c.ui.onSelectedChange(false);var a=this.selNodes;var b=a.indexOf(c);if(b!=-1){this.selNodes.splice(b,1)}delete this.selMap[c.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(d){var b=this.selNodes;if(b.length>0){for(var c=0,a=b.length;c<a;c++){b[c].ui.onSelectedChange(false)}this.selNodes=[];this.selMap={};if(d!==true){this.fireEvent("selectionchange",this,this.selNodes)}}},isSelected:function(a){return this.selMap[a.id]?true:false},getSelectedNodes:function(){return this.selNodes},onKeyDown:Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:Ext.tree.DefaultSelectionModel.prototype.selectPrevious});Ext.tree.TreeNode=function(b){b=b||{};if(typeof b=="string"){b={text:b}}this.childrenRendered=false;this.rendered=false;Ext.tree.TreeNode.superclass.constructor.call(this,b);this.expanded=b.expanded===true;this.isTarget=b.isTarget!==false;this.draggable=b.draggable!==false&&b.allowDrag!==false;this.allowChildren=b.allowChildren!==false&&b.allowDrop!==false;this.text=b.text;this.disabled=b.disabled===true;this.hidden=b.hidden===true;this.addEvents("textchange","beforeexpand","beforecollapse","expand","disabledchange","collapse","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered");var a=this.attributes.uiProvider||this.defaultUI||Ext.tree.TreeNodeUI;this.ui=new a(this)};Ext.extend(Ext.tree.TreeNode,Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded},getUI:function(){return this.ui},getLoader:function(){var a;return this.loader||((a=this.getOwnerTree())&&a.loader?a.loader:new Ext.tree.TreeLoader())},setFirstChild:function(b){var a=this.firstChild;Ext.tree.TreeNode.superclass.setFirstChild.call(this,b);if(this.childrenRendered&&a&&b!=a){a.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},setLastChild:function(b){var a=this.lastChild;Ext.tree.TreeNode.superclass.setLastChild.call(this,b);if(this.childrenRendered&&a&&b!=a){a.renderIndent(true,true)}if(this.rendered){this.renderIndent(true,true)}},appendChild:function(a){if(!a.render&&!Ext.isArray(a)){a=this.getLoader().createNode(a)}var b=Ext.tree.TreeNode.superclass.appendChild.call(this,a);if(b&&this.childrenRendered){b.render()}this.ui.updateExpandIcon();return b},removeChild:function(a){this.ownerTree.getSelectionModel().unselect(a);Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);if(this.childrenRendered){a.ui.remove()}if(this.childNodes.length<1){this.collapse(false,false)}else{this.ui.updateExpandIcon()}if(!this.firstChild&&!this.isHiddenRoot()){this.childrenRendered=false}return a},insertBefore:function(c,b){if(!c.render){c=this.getLoader().createNode(c)}var a=Ext.tree.TreeNode.superclass.insertBefore.apply(this,arguments);if(a&&b&&this.childrenRendered){c.render()}this.ui.updateExpandIcon();return a},setText:function(b){var a=this.text;this.text=b;this.attributes.text=b;if(this.rendered){this.ui.onTextChange(this,b,a)}this.fireEvent("textchange",this,b,a)},select:function(){this.getOwnerTree().getSelectionModel().select(this)},unselect:function(){this.getOwnerTree().getSelectionModel().unselect(this)},isSelected:function(){return this.getOwnerTree().getSelectionModel().isSelected(this)},expand:function(b,c,a){if(!this.expanded){if(this.fireEvent("beforeexpand",this,b,c)===false){return}if(!this.childrenRendered){this.renderChildren()}this.expanded=true;if(!this.isHiddenRoot()&&(this.getOwnerTree().animate&&c!==false)||c){this.ui.animExpand(function(){this.fireEvent("expand",this);if(typeof a=="function"){a(this)}if(b===true){this.expandChildNodes(true)}}.createDelegate(this));return}else{this.ui.expand();this.fireEvent("expand",this);if(typeof a=="function"){a(this)}}}else{if(typeof a=="function"){a(this)}}if(b===true){this.expandChildNodes(true)}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible},collapse:function(d,e){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,d,e)===false){return}this.expanded=false;if((this.getOwnerTree().animate&&e!==false)||e){this.ui.animCollapse(function(){this.fireEvent("collapse",this);if(d===true){this.collapseChildNodes(true)}}.createDelegate(this));return}else{this.ui.collapse();this.fireEvent("collapse",this)}}if(d===true){var b=this.childNodes;for(var c=0,a=b.length;c<a;c++){b[c].collapse(true,false)}}},delayedExpand:function(a){if(!this.expandProcId){this.expandProcId=this.expand.defer(a,this)}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId)}this.expandProcId=false},toggle:function(){if(this.expanded){this.collapse()}else{this.expand()}},ensureVisible:function(b){var a=this.getOwnerTree();a.expandPath(this.parentNode?this.parentNode.getPath():this.getPath(),false,function(){var c=a.getNodeById(this.id);a.getTreeEl().scrollChildIntoView(c.ui.anchor);Ext.callback(b)}.createDelegate(this))},expandChildNodes:function(d){var b=this.childNodes;for(var c=0,a=b.length;c<a;c++){b[c].expand(d)}},collapseChildNodes:function(d){var b=this.childNodes;for(var c=0,a=b.length;c<a;c++){b[c].collapse(d)}},disable:function(){this.disabled=true;this.unselect();if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,true)}this.fireEvent("disabledchange",this,true)},enable:function(){this.disabled=false;if(this.rendered&&this.ui.onDisableChange){this.ui.onDisableChange(this,false)}this.fireEvent("disabledchange",this,false)},renderChildren:function(d){if(d!==false){this.fireEvent("beforechildrenrendered",this)}var b=this.childNodes;for(var c=0,a=b.length;c<a;c++){b[c].render(true)}this.childrenRendered=true},sort:function(a,e){Ext.tree.TreeNode.superclass.sort.apply(this,arguments);if(this.childrenRendered){var d=this.childNodes;for(var c=0,b=d.length;c<b;c++){d[c].render(true)}}},render:function(a){this.ui.render(a);if(!this.rendered){this.getOwnerTree().registerNode(this);this.rendered=true;if(this.expanded){this.expanded=false;this.expand(false,false)}}},renderIndent:function(e,b){if(b){this.ui.childIndent=null}this.ui.renderIndent();if(e===true&&this.childrenRendered){var c=this.childNodes;for(var d=0,a=c.length;d<a;d++){c[d].renderIndent(true,b)}}},beginUpdate:function(){this.childrenRendered=false},endUpdate:function(){if(this.expanded&&this.rendered){this.renderChildren()}},destroy:function(){if(this.childNodes){for(var a=0,b=this.childNodes.length;a<b;a++){this.childNodes[a].destroy()}this.childNodes=null}if(this.ui.destroy){this.ui.destroy()}}});Ext.tree.TreePanel.nodeTypes.node=Ext.tree.TreeNode;Ext.tree.AsyncTreeNode=function(a){this.loaded=a&&a.loaded===true;this.loading=false;Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);this.addEvents("beforeload","load")};Ext.extend(Ext.tree.AsyncTreeNode,Ext.tree.TreeNode,{expand:function(d,g,a){if(this.loading){var c;var e=function(){if(!this.loading){clearInterval(c);this.expand(d,g,a)}}.createDelegate(this);c=setInterval(e,200);return}if(!this.loaded){if(this.fireEvent("beforeload",this)===false){return}this.loading=true;this.ui.beforeLoad(this);var b=this.loader||this.attributes.loader||this.getOwnerTree().getLoader();if(b){b.load(this,this.loadComplete.createDelegate(this,[d,g,a]));return}}Ext.tree.AsyncTreeNode.superclass.expand.call(this,d,g,a)},isLoading:function(){return this.loading},loadComplete:function(b,c,a){this.loading=false;this.loaded=true;this.ui.afterLoad(this);this.fireEvent("load",this);this.expand(b,c,a)},isLoaded:function(){return this.loaded},hasChildNodes:function(){if(!this.isLeaf()&&!this.loaded){return true}else{return Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this)}},reload:function(a){this.collapse(false,false);while(this.firstChild){this.removeChild(this.firstChild).destroy()}this.childrenRendered=false;this.loaded=false;if(this.isHiddenRoot()){this.expanded=false}this.expand(false,false,a)}});Ext.tree.TreePanel.nodeTypes.async=Ext.tree.AsyncTreeNode;Ext.tree.TreeNodeUI=function(a){this.node=a;this.rendered=false;this.animating=false;this.wasLeaf=true;this.ecc="x-tree-ec-icon x-tree-elbow";this.emptyIcon=Ext.BLANK_IMAGE_URL};Ext.tree.TreeNodeUI.prototype={removeChild:function(a){if(this.rendered){this.ctNode.removeChild(a.ui.getEl())}},beforeLoad:function(){this.addClass("x-tree-node-loading")},afterLoad:function(){this.removeClass("x-tree-node-loading")},onTextChange:function(c,a,b){if(this.rendered){this.textNode.innerHTML=a}},onDisableChange:function(b,a){this.disabled=a;if(this.checkbox){this.checkbox.disabled=a}if(a){this.addClass("x-tree-node-disabled")}else{this.removeClass("x-tree-node-disabled")}},onSelectedChange:function(a){if(a){this.focus();this.addClass("x-tree-selected")}else{this.removeClass("x-tree-selected")}},onMove:function(h,b,a,g,e,c){this.childIndent=null;if(this.rendered){var d=g.ui.getContainer();if(!d){this.holder=document.createElement("div");this.holder.appendChild(this.wrap);return}var k=c?c.ui.getEl():null;if(k){d.insertBefore(this.wrap,k)}else{d.appendChild(this.wrap)}this.node.renderIndent(true,g!=a)}},addClass:function(a){if(this.elNode){Ext.fly(this.elNode).addClass(a)}},removeClass:function(a){if(this.elNode){Ext.fly(this.elNode).removeClass(a)}},remove:function(){if(this.rendered){this.holder=document.createElement("div");this.holder.appendChild(this.wrap)}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments)},initEvents:function(){this.node.on("move",this.onMove,this);if(this.node.disabled){this.addClass("x-tree-node-disabled");if(this.checkbox){this.checkbox.disabled=true}}if(this.node.hidden){this.hide()}var a=this.node.getOwnerTree();var b=a.enableDD||a.enableDrag||a.enableDrop;if(b&&(!this.node.isRoot||a.rootVisible)){Ext.dd.Registry.register(this.elNode,{node:this.node,handles:this.getDDHandles(),isHandle:false})}},getDDHandles:function(){return[this.iconNode,this.textNode,this.elNode]},hide:function(){this.node.hidden=true;if(this.wrap){this.wrap.style.display="none"}},show:function(){this.node.hidden=false;if(this.wrap){this.wrap.style.display=""}},onContextMenu:function(a){if(this.node.hasListener("contextmenu")||this.node.getOwnerTree().hasListener("contextmenu")){a.preventDefault();this.focus();this.fireEvent("contextmenu",this.node,a)}},onClick:function(c){if(this.dropping){c.stopEvent();return}if(this.fireEvent("beforeclick",this.node,c)!==false){var b=c.getTarget("a");if(!this.disabled&&this.node.attributes.href&&b){this.fireEvent("click",this.node,c);return}else{if(b&&c.ctrlKey){c.stopEvent()}}c.preventDefault();if(this.disabled){return}if(this.node.attributes.singleClickExpand&&!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("click",this.node,c)}else{c.stopEvent()}},onDblClick:function(a){a.preventDefault();if(this.disabled){return}if(this.checkbox){this.toggleCheck()}if(!this.animating&&this.node.isExpandable()){this.node.toggle()}this.fireEvent("dblclick",this.node,a)},onOver:function(a){this.addClass("x-tree-node-over")},onOut:function(a){this.removeClass("x-tree-node-over")},onCheckChange:function(){var a=this.checkbox.checked;this.checkbox.defaultChecked=a;this.node.attributes.checked=a;this.fireEvent("checkchange",this.node,a)},ecClick:function(a){if(!this.animating&&this.node.isExpandable()){this.node.toggle()}},startDrop:function(){this.dropping=true},endDrop:function(){setTimeout(function(){this.dropping=false}.createDelegate(this),50)},expand:function(){this.updateExpandIcon();this.ctNode.style.display=""},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus()}catch(b){}}else{try{var a=this.node.getOwnerTree().getTreeEl().dom;var c=a.scrollLeft;this.anchor.focus();a.scrollLeft=c}catch(b){}}},toggleCheck:function(b){var a=this.checkbox;if(a){a.checked=(b===undefined?!a.checked:b);this.onCheckChange()}},blur:function(){try{this.anchor.blur()}catch(a){}},animExpand:function(b){var a=Ext.get(this.ctNode);a.stopFx();if(!this.node.isExpandable()){this.updateExpandIcon();this.ctNode.style.display="";Ext.callback(b);return}this.animating=true;this.updateExpandIcon();a.slideIn("t",{callback:function(){this.animating=false;Ext.callback(b)},scope:this,duration:this.node.ownerTree.duration||0.25})},highlight:function(){var a=this.node.getOwnerTree();Ext.fly(this.wrap).highlight(a.hlColor||"C3DAF9",{endColor:a.hlBaseColor})},collapse:function(){this.updateExpandIcon();this.ctNode.style.display="none"},animCollapse:function(b){var a=Ext.get(this.ctNode);a.enableDisplayMode("block");a.stopFx();this.animating=true;this.updateExpandIcon();a.slideOut("t",{callback:function(){this.animating=false;Ext.callback(b)},scope:this,duration:this.node.ownerTree.duration||0.25})},getContainer:function(){return this.ctNode},getEl:function(){return this.wrap},appendDDGhost:function(a){a.appendChild(this.elNode.cloneNode(true))},getDDRepairXY:function(){return Ext.lib.Dom.getXY(this.iconNode)},onRender:function(){this.render()},render:function(c){var b=this.node,e=b.attributes;var d=b.parentNode?b.parentNode.ui.getContainer():b.ownerTree.innerCt.dom;if(!this.rendered){this.rendered=true;this.renderElements(b,e,d,c);if(e.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",e.qtip);if(e.qtipTitle){this.textNode.setAttributeNS("ext","qtitle",e.qtipTitle)}}else{this.textNode.setAttribute("ext:qtip",e.qtip);if(e.qtipTitle){this.textNode.setAttribute("ext:qtitle",e.qtipTitle)}}}else{if(e.qtipCfg){e.qtipCfg.target=Ext.id(this.textNode);Ext.QuickTips.register(e.qtipCfg)}}this.initEvents();if(!this.node.expanded){this.updateExpandIcon(true)}}else{if(c===true){d.appendChild(this.wrap)}}},renderElements:function(d,h,g,b){this.indentMarkup=d.parentNode?d.parentNode.ui.getChildIndent():"";var m=typeof h.checked=="boolean";var e=h.href?h.href:Ext.isGecko?"":"#";var l=['<li class="x-tree-node"><div ext:tree-node-id="',d.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',h.cls,'" unselectable="on">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow" />','<img src="',h.icon||this.emptyIcon,'" class="x-tree-node-icon',(h.icon?" x-tree-node-inline-icon":""),(h.iconCls?" "+h.iconCls:""),'" unselectable="on" />',m?('<input class="x-tree-node-cb" type="checkbox" '+(h.checked?'checked="checked" />':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',e,'" tabIndex="1" ',h.hrefTarget?' target="'+h.hrefTarget+'"':"",'><span unselectable="on">',d.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");var c;if(b!==true&&d.nextSibling&&(c=d.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",c,l)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",g,l)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var o=this.elNode.childNodes;this.indentNode=o[0];this.ecNode=o[1];this.iconNode=o[2];var k=3;if(m){this.checkbox=o[3];this.checkbox.defaultChecked=this.checkbox.checked;k++}this.anchor=o[k];this.textNode=o[k].firstChild},getAnchor:function(){return this.anchor},getTextEl:function(){return this.textNode},getIconEl:function(){return this.iconNode},isChecked:function(){return this.checkbox?this.checkbox.checked:false},updateExpandIcon:function(){if(this.rendered){var a=this.node,c,b;var d=a.isLast()?"x-tree-elbow-end":"x-tree-elbow";if(a.isExpandable()){if(a.expanded){d+="-minus";c="x-tree-node-collapsed";b="x-tree-node-expanded"}else{d+="-plus";c="x-tree-node-expanded";b="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=c||this.c2!=b){Ext.fly(this.elNode).replaceClass(c,b);this.c1=c;this.c2=b}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-leaf");delete this.c1;delete this.c2;this.wasLeaf=true}}var e="x-tree-ec-icon "+d;if(this.ecc!=e){this.ecNode.className=e;this.ecc=e}}},getChildIndent:function(){if(!this.childIndent){var a=[];var b=this.node;while(b){if(!b.isRoot||(b.isRoot&&b.ownerTree.rootVisible)){if(!b.isLast()){a.unshift('<img src="'+this.emptyIcon+'" class="x-tree-elbow-line" />')}else{a.unshift('<img src="'+this.emptyIcon+'" class="x-tree-icon" />')}}b=b.parentNode}this.childIndent=a.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var a="";var b=this.node.parentNode;if(b){a=b.ui.getChildIndent()}if(this.indentMarkup!=a){this.indentNode.innerHTML=a;this.indentMarkup=a}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}delete this.elNode;delete this.ctNode;delete this.indentNode;delete this.ecNode;delete this.iconNode;delete this.checkbox;delete this.anchor;delete this.textNode;if(this.holder){delete this.wrap;Ext.removeNode(this.holder);delete this.holder}else{Ext.removeNode(this.wrap);delete this.wrap}}};Ext.tree.RootTreeNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var a=this.node.ownerTree.innerCt.dom;this.node.expanded=true;a.innerHTML='<div class="x-tree-root-node"></div>';this.wrap=this.ctNode=a.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.TreeLoader=function(a){this.baseParams={};Ext.apply(this,a);this.addEvents("beforeload","load","loadexception");Ext.tree.TreeLoader.superclass.constructor.call(this)};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(b,a){if(this.clearOnLoad){while(b.firstChild){b.removeChild(b.firstChild)}}if(this.doPreload(b)){if(typeof a=="function"){a()}}else{if(this.dataUrl||this.url){this.requestData(b,a)}}},doPreload:function(e){if(e.attributes.children){if(e.childNodes.length<1){var d=e.attributes.children;e.beginUpdate();for(var c=0,a=d.length;c<a;c++){var b=e.appendChild(this.createNode(d[c]));if(this.preloadChildren){this.doPreload(b)}}e.endUpdate()}return true}else{return false}},getParams:function(d){var b=[],a=this.baseParams;for(var c in a){if(typeof a[c]!="function"){b.push(encodeURIComponent(c),"=",encodeURIComponent(a[c]),"&")}}b.push("node=",encodeURIComponent(d.id));return b.join("")},requestData:function(b,a){if(this.fireEvent("beforeload",this,b,a)!==false){this.transId=Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:a,node:b},params:this.getParams(b)})}else{if(typeof a=="function"){a()}}},isLoading:function(){return !!this.transId},abort:function(){if(this.isLoading()){Ext.Ajax.abort(this.transId)}},createNode:function(attr){if(this.baseAttrs){Ext.applyIf(attr,this.baseAttrs)}if(this.applyLoader!==false){attr.loader=this}if(typeof attr.uiProvider=="string"){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider)}if(attr.nodeType){return new Ext.tree.TreePanel.nodeTypes[attr.nodeType](attr)}else{return attr.leaf?new Ext.tree.TreeNode(attr):new Ext.tree.AsyncTreeNode(attr)}},processResponse:function(response,node,callback){var json=response.responseText;try{var o=eval("("+json+")");node.beginUpdate();for(var i=0,len=o.length;i<len;i++){var n=this.createNode(o[i]);if(n){node.appendChild(n)}}node.endUpdate();if(typeof callback=="function"){callback(this,node)}}catch(e){this.handleFailure(response)}},handleResponse:function(b){this.transId=false;var c=b.argument;this.processResponse(b,c.node,c.callback);this.fireEvent("load",this,c.node,b)},handleFailure:function(b){this.transId=false;var c=b.argument;this.fireEvent("loadexception",this,c.node,b);if(typeof c.callback=="function"){c.callback(this,c.node)}}});Ext.tree.TreeFilter=function(b,a){this.tree=b;this.filtered={};Ext.apply(this,a)};Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(b,e,a){e=e||"text";var c;if(typeof b=="string"){var d=b.length;if(d==0&&this.clearBlank){this.clear();return}b=b.toLowerCase();c=function(g){return g.attributes[e].substr(0,d).toLowerCase()==b}}else{if(b.exec){c=function(g){return b.test(g.attributes[e])}}else{throw"Illegal filter type, must be string or regex"}}this.filterBy(c,null,a)},filterBy:function(k,e,h){h=h||this.tree.root;if(this.autoClear){this.clear()}var c=this.filtered,b=this.reverse;var g=function(o){if(o==h){return true}if(c[o.id]){return false}var l=k.call(e||o,o);if(!l||b){c[o.id]=o;o.ui.hide();return false}return true};h.cascade(g);if(this.remove){for(var a in c){if(typeof a!="function"){var d=c[a];if(d&&d.parentNode){d.parentNode.removeChild(d)}}}}},clear:function(){var b=this.tree;var a=this.filtered;for(var d in a){if(typeof d!="function"){var c=a[d];if(c){c.ui.show()}}}this.filtered={}}};Ext.tree.TreeSorter=function(d,e){Ext.apply(this,e);d.on("beforechildrenrendered",this.doSort,this);d.on("append",this.updateSort,this);d.on("insert",this.updateSort,this);d.on("textchange",this.updateSortParent,this);var k=this.dir&&this.dir.toLowerCase()=="desc";var c=this.property||"text";var h=this.sortType;var a=this.folderSort;var g=this.caseSensitive===true;var b=this.leafAttr||"leaf";this.sortFn=function(l,o){if(a){if(l.attributes[b]&&!o.attributes[b]){return 1}if(!l.attributes[b]&&o.attributes[b]){return -1}}var n=h?h(l):(g?l.attributes[c]:l.attributes[c].toUpperCase());var m=h?h(o):(g?o.attributes[c]:o.attributes[c].toUpperCase());if(n<m){return k?+1:-1}else{if(n>m){return k?-1:+1}else{return 0}}}};Ext.tree.TreeSorter.prototype={doSort:function(a){a.sort(this.sortFn)},compareNodes:function(a,b){return(a.text.toUpperCase()>b.text.toUpperCase()?1:-1)},updateSort:function(a,b){if(b.childrenRendered){this.doSort.defer(1,this,[b])}},updateSortParent:function(b){var a=b.parentNode;if(a&&a.childrenRendered){this.doSort.defer(1,this,[a])}}};if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(b,a){this.allowParentInsert=a.allowParentInsert||false;this.allowContainerDrop=a.allowContainerDrop||false;this.appendOnly=a.appendOnly||false;Ext.tree.TreeDropZone.superclass.constructor.call(this,b.getTreeEl(),a);this.tree=b;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(a){if(a.hasChildNodes()&&!a.isExpanded()){a.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(a){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[a])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(m,a,g,c,d){if(!m||!d){return false}var k=m.node;var b=d.node;if(!(k&&k.isTarget&&a)){return false}if(a=="append"&&k.allowChildren===false){return false}if((a=="above"||a=="below")&&(k.parentNode&&k.parentNode.allowChildren===false)){return false}if(b&&(k==b||b.contains(k))){return false}var h=this.dragOverData;h.tree=this.tree;h.target=k;h.data=d;h.point=a;h.source=g;h.rawEvent=c;h.dropNode=b;h.cancel=false;var l=this.tree.fireEvent("nodedragover",h);return h.cancel===false&&l!==false},getDropPoint:function(m,d,p){var l=d.node;if(l.isRoot){return l.allowChildren!==false?"append":false}var o=d.ddel;var g=Ext.lib.Dom.getY(o),k=g+o.offsetHeight;var h=Ext.lib.Event.getPageY(m);var r=l.allowChildren===false||l.isLeaf();if(this.appendOnly||l.parentNode.allowChildren===false){return r?false:"append"}var c=false;if(!this.allowParentInsert){c=l.hasChildNodes()&&l.isExpanded()}var a=(k-g)/(r?2:3);if(h>=g&&h<(g+a)){return"above"}else{if(!c&&(r||h>=k-a&&h<=k)){return"below"}else{return"append"}}},onNodeEnter:function(a,c,b,d){this.cancelExpand()},onContainerOver:function(b,a,c){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",b,a,c)){return this.dropAllowed}return this.dropNotAllowed},onNodeOver:function(c,k,d,g){var b=this.getDropPoint(d,c,k);var a=c.node;if(!this.expandProcId&&b=="append"&&a.hasChildNodes()&&!c.node.isExpanded()){this.queueExpand(a)}else{if(b!="append"){this.cancelExpand()}}var m=this.dropNotAllowed;if(this.isValidDropPoint(c,b,k,d,g)){if(b){var h=c.ddel;var l;if(b=="above"){m=c.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";l="x-tree-drag-insert-above"}else{if(b=="below"){m=c.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";l="x-tree-drag-insert-below"}else{m="x-tree-drop-ok-append";l="x-tree-drag-append"}}if(this.lastInsertClass!=l){Ext.fly(h).replaceClass(this.lastInsertClass,l);this.lastInsertClass=l}}}return m},onNodeOut:function(a,c,b,d){this.cancelExpand();this.removeDropIndicators(a)},onNodeDrop:function(a,h,g,k){var b=this.getDropPoint(g,a,h);var d=a.node;d.ui.startDrop();if(!this.isValidDropPoint(a,b,h,g,k)){d.ui.endDrop();return false}var c=k.node||(h.getTreeNode?h.getTreeNode(k,d,b,g):null);return this.processDrop(d,k,b,h,g,c)},onContainerDrop:function(d,c,g){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",d,c,g)){var b=this.tree.getRootNode();b.ui.startDrop();var a=g.node||(d.getTreeNode?d.getTreeNode(g,b,"append",c):null);return this.processDrop(b,g,"append",d,c,a)}return false},processDrop:function(k,c,g,d,b,a){var h={tree:this.tree,target:k,data:c,point:g,source:d,rawEvent:b,dropNode:a,cancel:!a,dropStatus:false};var l=this.tree.fireEvent("beforenodedrop",h);if(l===false||h.cancel===true||!h.dropNode){k.ui.endDrop();return h.dropStatus}k=h.target;if(g=="append"&&!k.isExpanded()){k.expand(false,null,function(){this.completeDrop(h)}.createDelegate(this))}else{this.completeDrop(h)}return true},completeDrop:function(e){var d=e.dropNode,h=e.point,c=e.target;if(!Ext.isArray(d)){d=[d]}var b;for(var g=0,a=d.length;g<a;g++){b=d[g];if(h=="above"){c.parentNode.insertBefore(b,c)}else{if(h=="below"){c.parentNode.insertBefore(b,c.nextSibling)}else{c.appendChild(b)}}}b.ui.focus();if(Ext.enableFx&&this.tree.hlDrop){b.ui.highlight()}c.ui.endDrop();this.tree.fireEvent("nodedrop",e)},afterNodeMoved:function(d,g,c,b,a){if(Ext.enableFx&&this.tree.hlDrop){a.ui.focus();a.ui.highlight()}this.tree.fireEvent("nodedrop",this.tree,b,g,d,c)},getTree:function(){return this.tree},removeDropIndicators:function(a){if(a&&a.ddel){var b=a.ddel;Ext.fly(b).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);this.lastInsertClass="_noclass"}},beforeDragDrop:function(b,c,a){this.cancelExpand();return true},afterRepair:function(a){if(a&&Ext.enableFx){a.node.ui.highlight()}this.hideProxy()}})}if(Ext.dd.DragZone){Ext.tree.TreeDragZone=function(b,a){Ext.tree.TreeDragZone.superclass.constructor.call(this,b.innerCt,a);this.tree=b};Ext.extend(Ext.tree.TreeDragZone,Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(c,b){var a=c.node;return a&&a.draggable&&!a.disabled},onInitDrag:function(a){var b=this.dragData;this.tree.getSelectionModel().select(b.node);this.tree.eventModel.disable();this.proxy.update("");b.node.ui.appendDDGhost(this.proxy.ghost.dom);this.tree.fireEvent("startdrag",this.tree,b.node,a)},getRepairXY:function(a,b){return b.node.ui.getDDRepairXY()},onEndDrag:function(b,a){this.tree.eventModel.enable.defer(100,this.tree.eventModel);this.tree.fireEvent("enddrag",this.tree,b.node,a)},onValidDrop:function(c,b,a){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,c,b);this.hideProxy()},beforeInvalidDrop:function(c,a){var b=this.tree.getSelectionModel();b.clearSelections();b.select(this.dragData.node)},afterRepair:function(){if(Ext.enableFx&&this.tree.hlDrop){Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")}this.dragging=false}})}Ext.tree.TreeEditor=function(d,a,b){a=a||{};var c=a.events?a:new Ext.form.TextField(a);Ext.tree.TreeEditor.superclass.constructor.call(this,c,b);this.tree=d;if(!d.rendered){d.on("render",this.initEditor,this)}else{this.initEditor(d)}};Ext.extend(Ext.tree.TreeEditor,Ext.Editor,{alignment:"l-l",autoSize:false,hideEl:false,cls:"x-small-editor x-tree-editor",shim:false,shadow:"frame",maxWidth:250,editDelay:350,initEditor:function(a){a.on("beforeclick",this.beforeNodeClick,this);a.on("dblclick",this.onNodeDblClick,this);this.on("complete",this.updateNode,this);this.on("beforestartedit",this.fitToTree,this);this.on("startedit",this.bindScroll,this,{delay:10});this.on("specialkey",this.onSpecialKey,this)},fitToTree:function(e,b){var d=this.tree.getTreeEl().dom,a=b.dom;if(d.scrollLeft>a.offsetLeft){d.scrollLeft=a.offsetLeft}var c=Math.min(this.maxWidth,(d.clientWidth>20?d.clientWidth:d.offsetWidth)-Math.max(0,a.offsetLeft-d.scrollLeft)-5);this.setSize(c,"")},triggerEdit:function(c,b){this.completeEdit();if(c.attributes.editable!==false){this.editNode=c;if(this.tree.autoScroll){Ext.fly(c.ui.getEl()).scrollIntoView(this.tree.body)}var a=c.text||"";if(!Ext.isGecko&&Ext.isEmpty(c.text)){c.setText("&nbsp;")}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[c.ui.textNode,a]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(b,a){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(b)){a.stopEvent();return this.triggerEdit(b)}},onNodeDblClick:function(b,a){clearTimeout(this.autoEditTimer)},updateNode:function(b,a){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(a)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(a,b){var c=b.getKey();if(c==b.ESC){b.stopEvent();this.cancelEdit()}else{if(c==b.ENTER&&!b.hasModifier()){b.stopEvent();this.completeEdit()}}}});Ext.menu.Menu=function(a){if(Ext.isArray(a)){a={items:a}}Ext.apply(this,a);this.id=this.id||Ext.id();this.addEvents("beforeshow","beforehide","show","hide","click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);Ext.menu.Menu.superclass.constructor.call(this);var b=this.items;this.items=new Ext.util.MixedCollection();if(b){this.add.apply(this,b)}};Ext.extend(Ext.menu.Menu,Ext.util.Observable,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,hidden:true,createEl:function(){return new Ext.Layer({cls:"x-menu",shadow:this.shadow,constrain:false,parentEl:this.parentEl||document.body,zindex:15000})},render:function(){if(this.el){return}var a=this.el=this.createEl();if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}if(this.plain){a.addClass("x-menu-plain")}if(this.cls){a.addClass(this.cls)}this.focusEl=a.createChild({tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"});var b=a.createChild({tag:"ul",cls:"x-menu-list"});b.on("click",this.onClick,this);b.on("mouseover",this.onMouseOver,this);b.on("mouseout",this.onMouseOut,this);this.items.each(function(d){var c=document.createElement("li");c.className="x-menu-list-item";b.dom.appendChild(c);d.render(c,this)},this);this.ul=b;this.autoWidth()},autoWidth:function(){var b=this.el,d=this.ul;if(!b){return}var c=this.width;if(c){b.setWidth(c)}else{if(Ext.isIE&&!Ext.isIE8){b.setWidth(this.minWidth);var a=b.dom.offsetWidth;b.setWidth(d.getWidth()+b.getFrameWidth("lr"))}}},delayAutoWidth:function(){if(this.el){if(!this.awTask){this.awTask=new Ext.util.DelayedTask(this.autoWidth,this)}this.awTask.delay(20)}},findTargetItem:function(b){var a=b.getTarget(".x-menu-list-item",this.ul,true);if(a&&a.menuItemId){return this.items.get(a.menuItemId)}},onClick:function(b){var a;if(a=this.findTargetItem(b)){if(a.menu&&this.ignoreParentClicks){a.expandMenu()}else{a.onClick(b);this.fireEvent("click",this,a,b)}}},setActiveItem:function(b,a){if(b!=this.activeItem){if(this.activeItem){this.activeItem.deactivate()}this.activeItem=b;b.activate(a)}else{if(a){b.expandMenu()}}},tryActivate:function(c,b){var d=this.items;for(var e=c,a=d.length;e>=0&&e<a;e+=b){var g=d.get(e);if(!g.disabled&&g.canActivate){this.setActiveItem(g,false);return g}}return false},onMouseOver:function(b){var a;if(a=this.findTargetItem(b)){if(a.canActivate&&!a.disabled){this.setActiveItem(a,true)}}this.over=true;this.fireEvent("mouseover",this,b,a)},onMouseOut:function(b){var a;if(a=this.findTargetItem(b)){if(a==this.activeItem&&a.shouldDeactivate(b)){this.activeItem.deactivate();delete this.activeItem}}this.over=false;this.fireEvent("mouseout",this,b,a)},isVisible:function(){return this.el&&!this.hidden},show:function(a,b,c){this.parentMenu=c;if(!this.el){this.render()}this.fireEvent("beforeshow",this);this.showAt(this.el.getAlignToXY(a,b||this.defaultAlign),c,false)},showAt:function(a,c,b){this.parentMenu=c;if(!this.el){this.render()}if(b!==false){this.fireEvent("beforeshow",this);a=this.el.adjustForConstraints(a)}this.el.setXY(a);this.el.show();this.hidden=false;this.focus();this.fireEvent("show",this)},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(a){if(this.el&&this.isVisible()){this.fireEvent("beforehide",this);if(this.activeItem){this.activeItem.deactivate();this.activeItem=null}this.el.hide();this.hidden=true;this.fireEvent("hide",this)}if(a===true&&this.parentMenu){this.parentMenu.hide(true)}},add:function(){var c=arguments,g=c.length,e;for(var d=0;d<g;d++){var b=c[d];if(b.render){e=this.addItem(b)}else{if(typeof b=="string"){if(b=="separator"||b=="-"){e=this.addSeparator()}else{e=this.addText(b)}}else{if(b.tagName||b.el){e=this.addElement(b)}else{if(typeof b=="object"){Ext.applyIf(b,this.defaults);e=this.addMenuItem(b)}}}}}return e},getEl:function(){if(!this.el){this.render()}return this.el},addSeparator:function(){return this.addItem(new Ext.menu.Separator())},addElement:function(a){return this.addItem(new Ext.menu.BaseItem(a))},addItem:function(b){this.items.add(b);if(this.ul){var a=document.createElement("li");a.className="x-menu-list-item";this.ul.dom.appendChild(a);b.render(a,this);this.delayAutoWidth()}return b},addMenuItem:function(a){if(!(a instanceof Ext.menu.Item)){if(typeof a.checked=="boolean"){a=new Ext.menu.CheckItem(a)}else{a=new Ext.menu.Item(a)}}return this.addItem(a)},addText:function(a){return this.addItem(new Ext.menu.TextItem(a))},insert:function(c,b){this.items.insert(c,b);if(this.ul){var a=document.createElement("li");a.className="x-menu-list-item";this.ul.dom.insertBefore(a,this.ul.dom.childNodes[c]);b.render(a,this);this.delayAutoWidth()}return b},remove:function(a){this.items.removeKey(a.id);a.destroy()},removeAll:function(){if(this.items){var a;while(a=this.items.first()){this.remove(a)}}},destroy:function(){this.beforeDestroy();Ext.menu.MenuMgr.unregister(this);if(this.keyNav){this.keyNav.disable()}this.removeAll();if(this.ul){this.ul.removeAllListeners()}if(this.el){this.el.destroy()}},beforeDestroy:Ext.emptyFn});Ext.menu.MenuNav=function(a){Ext.menu.MenuNav.superclass.constructor.call(this,a.el);this.scope=this.menu=a};Ext.extend(Ext.menu.MenuNav,Ext.KeyNav,{doRelay:function(b,a){var c=b.getKey();if(!this.menu.activeItem&&b.isNavKeyPress()&&c!=b.SPACE&&c!=b.RETURN){this.menu.tryActivate(0,1);return false}return a.call(this.scope||this,b,this.menu)},up:function(b,a){if(!a.tryActivate(a.items.indexOf(a.activeItem)-1,-1)){a.tryActivate(a.items.length-1,-1)}},down:function(b,a){if(!a.tryActivate(a.items.indexOf(a.activeItem)+1,1)){a.tryActivate(0,1)}},right:function(b,a){if(a.activeItem){a.activeItem.expandMenu(true)}},left:function(b,a){a.hide();if(a.parentMenu&&a.parentMenu.activeItem){a.parentMenu.activeItem.activate()}},enter:function(b,a){if(a.activeItem){b.stopPropagation();a.activeItem.onClick(b);a.fireEvent("click",this,a.activeItem);return true}}});Ext.menu.MenuMgr=function(){var g,a,l={},n=false,d=new Date();function c(){g={};a=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(a.length>0){b()}})}function b(){if(a&&a.length>0){var q=a.clone();q.each(function(r){r.hide()})}}function m(q){a.remove(q);if(a.length<1){Ext.getDoc().un("mousedown",h);n=false}}function e(q){var r=a.last();d=new Date();a.add(q);if(!n){Ext.getDoc().on("mousedown",h);n=true}if(q.parentMenu){q.getEl().setZIndex(parseInt(q.parentMenu.getEl().getStyle("z-index"),10)+3);q.parentMenu.activeChild=q}else{if(r&&r.isVisible()){q.getEl().setZIndex(parseInt(r.getEl().getStyle("z-index"),10)+3)}}}function k(q){if(q.activeChild){q.activeChild.hide()}if(q.autoHideTimer){clearTimeout(q.autoHideTimer);delete q.autoHideTimer}}function o(q){var r=q.parentMenu;if(!r&&!q.allowOtherMenus){b()}else{if(r&&r.activeChild){r.activeChild.hide()}}}function h(q){if(d.getElapsed()>50&&a.length>0&&!q.getTarget(".x-menu")){b()}}function p(r,q){if(q){var u=l[r.group];for(var t=0,s=u.length;t<s;t++){if(u[t]!=r){u[t].setChecked(false)}}}}return{hideAll:function(){b()},register:function(q){if(!g){c()}g[q.id]=q;q.on("beforehide",k);q.on("hide",m);q.on("beforeshow",o);q.on("show",e);var r=q.group;if(r&&q.events.checkchange){if(!l[r]){l[r]=[]}l[r].push(q);q.on("checkchange",onCheck)}},get:function(q){if(typeof q=="string"){if(!g){return null}return g[q]}else{if(q.events){return q}else{if(typeof q.length=="number"){return new Ext.menu.Menu({items:q})}else{return new Ext.menu.Menu(q)}}}},unregister:function(q){delete g[q.id];q.un("beforehide",k);q.un("hide",m);q.un("beforeshow",o);q.un("show",e);var r=q.group;if(r&&q.events.checkchange){l[r].remove(q);q.un("checkchange",onCheck)}},registerCheckable:function(r){var q=r.group;if(q){if(!l[q]){l[q]=[]}l[q].push(r);r.on("beforecheckchange",p)}},unregisterCheckable:function(r){var q=r.group;if(q){l[q].remove(r);r.un("beforecheckchange",p)}},getCheckedItem:function(q){var t=l[q];if(t){for(var s=0,r=t.length;s<r;s++){if(t[s].checked){return t[s]}}}return null},setCheckedItem:function(r,q){var u=l[r];if(u){for(var t=0,s=u.length;t<s;t++){if(u[t].id==q){u[t].setChecked(true)}}}return null}}}();Ext.menu.BaseItem=function(a){Ext.menu.BaseItem.superclass.constructor.call(this,a);this.addEvents("click","activate","deactivate");if(this.handler){this.on("click",this.handler,this.scope)}};Ext.extend(Ext.menu.BaseItem,Ext.Component,{canActivate:false,activeClass:"x-menu-item-active",hideOnClick:true,hideDelay:100,ctype:"Ext.menu.BaseItem",actionMode:"container",destroy:function(){if(this.menu){this.menu.destroy()}Ext.menu.BaseItem.superclass.destroy.call(this)},render:function(a,b){this.parentMenu=b;Ext.menu.BaseItem.superclass.render.call(this,a);this.container.menuItemId=this.id},onRender:function(a,b){this.el=Ext.get(this.el);if(this.id){this.el.id=this.id}a.dom.appendChild(this.el.dom)},setHandler:function(a,b){if(this.handler){this.un("click",this.handler,this.scope)}this.on("click",this.handler=a,this.scope=b)},onClick:function(a){if(!this.disabled&&this.fireEvent("click",this,a)!==false&&this.parentMenu.fireEvent("itemclick",this,a)!==false){this.handleClick(a)}else{a.stopEvent()}},activate:function(){if(this.disabled){return false}var a=this.container;a.addClass(this.activeClass);this.region=a.getRegion().adjust(2,2,-2,-2);this.fireEvent("activate",this);return true},deactivate:function(){this.container.removeClass(this.activeClass);this.fireEvent("deactivate",this)},shouldDeactivate:function(a){return !this.region||!this.region.contains(a.getPoint())},handleClick:function(a){if(this.hideOnClick){this.parentMenu.hide.defer(this.hideDelay,this.parentMenu,[true])}},expandMenu:function(a){},hideMenu:function(){}});Ext.menu.TextItem=function(a){if(typeof a=="string"){a={text:a}}Ext.menu.TextItem.superclass.constructor.call(this,a)};Ext.extend(Ext.menu.TextItem,Ext.menu.BaseItem,{hideOnClick:false,itemCls:"x-menu-text",onRender:function(){var a=document.createElement("span");a.className=this.itemCls;a.innerHTML=this.text;this.el=a;Ext.menu.TextItem.superclass.onRender.apply(this,arguments)}});Ext.menu.Separator=function(a){Ext.menu.Separator.superclass.constructor.call(this,a)};Ext.extend(Ext.menu.Separator,Ext.menu.BaseItem,{itemCls:"x-menu-sep",hideOnClick:false,onRender:function(a){var b=document.createElement("span");b.className=this.itemCls;b.innerHTML="&#160;";this.el=b;a.addClass("x-menu-sep-li");Ext.menu.Separator.superclass.onRender.apply(this,arguments)}});Ext.menu.Item=function(a){Ext.menu.Item.superclass.constructor.call(this,a);if(this.menu){this.menu=Ext.menu.MenuMgr.get(this.menu)}};Ext.extend(Ext.menu.Item,Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,hideDelay:200,ctype:"Ext.menu.Item",onRender:function(a,c){var b=document.createElement("a");b.hideFocus=true;b.unselectable="on";b.href=this.href||"#";if(this.hrefTarget){b.target=this.hrefTarget}b.className=this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:"");b.innerHTML=String.format('<img src="{0}" class="x-menu-item-icon {2}" />{1}',this.icon||Ext.BLANK_IMAGE_URL,this.itemText||this.text,this.iconCls||"");this.el=b;Ext.menu.Item.superclass.onRender.call(this,a,c)},setText:function(a){this.text=a;if(this.rendered){this.el.update(String.format('<img src="{0}" class="x-menu-item-icon {2}">{1}',this.icon||Ext.BLANK_IMAGE_URL,this.text,this.iconCls||""));this.parentMenu.autoWidth()}},setIconClass:function(a){var b=this.iconCls;this.iconCls=a;if(this.rendered){this.el.child("img.x-menu-item-icon").replaceClass(b,this.iconCls)}},beforeDestroy:function(){if(this.menu){this.menu.destroy()}Ext.menu.Item.superclass.beforeDestroy.call(this)},handleClick:function(a){if(!this.href){a.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(a){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(a){this.expandMenu()}}return true},shouldDeactivate:function(a){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,a)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(a.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(a){if(!this.disabled&&this.menu){clearTimeout(this.hideTimer);delete this.hideTimer;if(!this.menu.isVisible()&&!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[a])}else{if(this.menu.isVisible()&&a){this.menu.tryActivate(0,1)}}}},deferExpand:function(a){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);if(a){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&&this.menu&&this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)}},deferHide:function(){delete this.hideTimer;if(this.menu.over){this.parentMenu.setActiveItem(this,false)}else{this.menu.hide()}}});Ext.menu.CheckItem=function(a){Ext.menu.CheckItem.superclass.constructor.call(this,a);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)};Ext.extend(Ext.menu.CheckItem,Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",onRender:function(a){Ext.menu.CheckItem.superclass.onRender.apply(this,arguments);if(this.group){this.el.addClass(this.groupClass)}if(this.checked){this.checked=false;this.setChecked(true,true)}},destroy:function(){Ext.menu.MenuMgr.unregisterCheckable(this);Ext.menu.CheckItem.superclass.destroy.apply(this,arguments)},setChecked:function(a,b){if(this.checked!=a&&this.fireEvent("beforecheckchange",this,a)!==false){if(this.container){this.container[a?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=a;if(b!==true){this.fireEvent("checkchange",this,a)}}},handleClick:function(a){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}});Ext.menu.Adapter=function(b,a){Ext.menu.Adapter.superclass.constructor.call(this,a);this.component=b};Ext.extend(Ext.menu.Adapter,Ext.menu.BaseItem,{canActivate:true,onRender:function(a,b){this.component.render(a);this.el=this.component.getEl()},activate:function(){if(this.disabled){return false}this.component.focus();this.fireEvent("activate",this);return true},deactivate:function(){this.fireEvent("deactivate",this)},disable:function(){this.component.disable();Ext.menu.Adapter.superclass.disable.call(this)},enable:function(){this.component.enable();Ext.menu.Adapter.superclass.enable.call(this)}});Ext.menu.DateItem=function(a){Ext.menu.DateItem.superclass.constructor.call(this,new Ext.DatePicker(a),a);this.picker=this.component;this.picker.purgeListeners();this.addEvents("select");this.picker.on("render",function(b){b.getEl().swallowEvent("click");b.container.addClass("x-menu-date-item")});this.picker.on("select",this.onSelect,this)};Ext.extend(Ext.menu.DateItem,Ext.menu.Adapter,{onSelect:function(b,a){this.fireEvent("select",this,a,b);Ext.menu.DateItem.superclass.handleClick.call(this)}});Ext.menu.ColorItem=function(a){Ext.menu.ColorItem.superclass.constructor.call(this,new Ext.ColorPalette(a),a);this.palette=this.component;this.palette.purgeListeners();this.relayEvents(this.palette,["select"]);if(this.selectHandler){this.on("select",this.selectHandler,this.scope)}};Ext.extend(Ext.menu.ColorItem,Ext.menu.Adapter);Ext.menu.DateMenu=function(a){Ext.menu.DateMenu.superclass.constructor.call(this,a);this.plain=true;var b=new Ext.menu.DateItem(a);this.add(b);this.picker=b.picker;this.relayEvents(b,["select"]);this.on("beforeshow",function(){if(this.picker){this.picker.hideMonthPicker(true)}},this)};Ext.extend(Ext.menu.DateMenu,Ext.menu.Menu,{cls:"x-date-menu",beforeDestroy:function(){this.picker.destroy()}});Ext.menu.ColorMenu=function(a){Ext.menu.ColorMenu.superclass.constructor.call(this,a);this.plain=true;var b=new Ext.menu.ColorItem(a);this.add(b);this.palette=b.palette;this.relayEvents(b,["select"])};Ext.extend(Ext.menu.ColorMenu,Ext.menu.Menu,{beforeDestroy:function(){this.palette.destroy()}});Ext.form.Field=Ext.extend(Ext.BoxComponent,{invalidClass:"x-form-invalid",invalidText:"The value in this field is invalid",focusClass:"x-form-focus",validationEvent:"keyup",validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:"input",type:"text",size:"20",autocomplete:"off"},fieldClass:"x-form-field",msgTarget:"qtip",msgFx:"normal",readOnly:false,disabled:false,isFormField:true,hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:this.name||this.id||""},onRender:function(b,d){Ext.form.Field.superclass.onRender.call(this,b,d);if(!this.el){var c=this.getAutoCreate();if(!c.name){c.name=this.name||this.id}if(this.inputType){c.type=this.inputType}this.el=b.createChild(c,d)}var a=this.el.dom.type;if(a){if(a=="password"){a="text"}this.el.addClass("x-form-"+a)}if(this.readOnly){this.el.dom.readOnly=true}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)}this.el.addClass([this.fieldClass,this.cls])},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(!Ext.isEmpty(this.el.dom.value)&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)}}this.originalValue=this.getValue()},isDirty:function(){if(this.disabled||!this.rendered){return false}return String(this.getValue())!==String(this.originalValue)},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(a){if(a.isSpecialKey()){this.fireEvent("specialkey",this,a)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.el.on(Ext.isIE||(Ext.isWebKit&&!Ext.isSafari2)?"keydown":"keypress",this.fireKey,this);this.el.on("focus",this.onFocus,this);var a=this.inEditor&&Ext.isWindows&&Ext.isGecko?{buffer:10}:null;this.el.on("blur",this.onBlur,this,a)},onFocus:function(){if(this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&&this.validateOnBlur&&this.validationEvent!="blur"){this.validate()}var a=this.getValue();if(String(a)!==String(this.startValue)){this.fireEvent("change",this,a,this.startValue)}this.fireEvent("blur",this)},isValid:function(c){if(this.disabled){return true}var b=this.preventMark;this.preventMark=c===true;var a=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=b;return a},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(a){return a},validateValue:function(a){return true},markInvalid:function(c){if(!this.rendered||this.preventMark){return}this.el.addClass(this.invalidClass);c=c||this.invalidText;switch(this.msgTarget){case"qtip":this.el.dom.qtip=c;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}break;case"title":this.el.dom.title=c;break;case"under":if(!this.errorEl){var b=this.getErrorCt();if(!b){this.el.dom.title=c;break}this.errorEl=b.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(b.getWidth(true)-20)}this.errorEl.update(c);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);break;case"side":if(!this.errorIcon){var b=this.getErrorCt();if(!b){this.el.dom.title=c;break}this.errorIcon=b.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=c;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this);break;default:var a=Ext.getDom(this.msgTarget);a.innerHTML=c;a.style.display=this.msgDisplay;break}this.fireEvent("invalid",this,c)},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},clearInvalid:function(){if(!this.rendered||this.preventMark){return}this.el.removeClass(this.invalidClass);switch(this.msgTarget){case"qtip":this.el.dom.qtip="";break;case"title":this.el.dom.title="";break;case"under":if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}break;case"side":if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}break;default:var a=Ext.getDom(this.msgTarget);a.innerHTML="";a.style.display="none";break}this.fireEvent("valid",this)},getRawValue:function(){var a=this.rendered?this.el.getValue():Ext.value(this.value,"");if(a===this.emptyText){a=""}return a},getValue:function(){if(!this.rendered){return this.value}var a=this.el.getValue();if(a===this.emptyText||a===undefined){a=""}return a},setRawValue:function(a){return this.el.dom.value=(a===null||a===undefined?"":a)},setValue:function(a){this.value=a;if(this.rendered){this.el.dom.value=(a===null||a===undefined?"":a);this.validate()}},adjustSize:function(b,c){var a=Ext.form.Field.superclass.adjustSize.call(this,b,c);a.width=this.adjustWidth(this.el.dom.tagName,a.width);return a},adjustWidth:function(a,b){a=a.toLowerCase();if(typeof b=="number"&&!Ext.isWebKit){if(Ext.isIE&&(a=="input"||a=="textarea")){if(a=="input"&&!Ext.isStrict){return this.inEditor?b:b-3}if(a=="input"&&Ext.isStrict){return b-(Ext.isIE6?4:1)}if(a=="textarea"&&Ext.isStrict){return b-2}}else{if(Ext.isOpera&&Ext.isStrict){if(a=="input"){return b+2}if(a=="textarea"){return b-2}}}}return b}});Ext.form.MessageTargets={qtip:{mark:function(a){this.el.dom.qtip=msg;this.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(a){this.el.dom.qtip=""}},title:{mark:function(a){this.el.dom.title=msg},clear:function(a){this.el.dom.title=""}},under:{mark:function(b){if(!this.errorEl){var a=this.getErrorCt();if(!a){this.el.dom.title=msg;return}this.errorEl=a.createChild({cls:"x-form-invalid-msg"});this.errorEl.setWidth(a.getWidth(true)-20)}this.errorEl.update(msg);Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this)},clear:function(a){if(this.errorEl){Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)}else{this.el.dom.title=""}}},side:{mark:function(b){if(!this.errorIcon){var a=this.getErrorCt();if(!a){this.el.dom.title=msg;return}this.errorIcon=a.createChild({cls:"x-form-invalid-icon"})}this.alignErrorIcon();this.errorIcon.dom.qtip=msg;this.errorIcon.dom.qclass="x-form-invalid-tip";this.errorIcon.show();this.on("resize",this.alignErrorIcon,this)},clear:function(a){if(this.errorIcon){this.errorIcon.dom.qtip="";this.errorIcon.hide();this.un("resize",this.alignErrorIcon,this)}else{this.el.dom.title=""}}},around:{mark:function(a){},clear:function(a){}}};Ext.form.Field.msgFx={normal:{show:function(b,a){b.setDisplayed("block")},hide:function(b,a){b.setDisplayed(false).update("")}},slide:{show:function(b,a){b.slideIn("t",{stopFx:true})},hide:function(b,a){b.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(b,a){b.fixDisplay();b.alignTo(a.el,"tl-tr");b.slideIn("l",{stopFx:true})},hide:function(b,a){b.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",Ext.form.Field);Ext.form.TextField=Ext.extend(Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.el.on("keyup",this.filterValidation,this)}else{if(this.validationEvent!==false){this.el.on(this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.on("focus",this.preFocus,this);this.el.on("mousedown",function(){if(!this.hasFocus){this.el.on("mouseup",function(a){a.preventDefault()},this,{single:true})}},this);if(this.emptyText){this.on("blur",this.postBlur,this);this.applyEmptyText()}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.el.on("keypress",this.filterKeys,this)}if(this.grow){this.el.on("keyup",this.onKeyUpBuffered,this,{buffer:50});this.el.on("click",this.autoSize,this)}if(this.enableKeyEvents){this.el.on("keyup",this.onKeyUp,this);this.el.on("keydown",this.onKeyDown,this);this.el.on("keypress",this.onKeyPress,this)}},processValue:function(a){if(this.stripCharsRe){var b=a.replace(this.stripCharsRe,"");if(b!==a){this.setRawValue(b);return b}}return a},filterValidation:function(a){if(!a.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable="on"}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=""}},onKeyUpBuffered:function(a){if(!a.isNavKeyPress()){this.autoSize()}},onKeyUp:function(a){this.fireEvent("keyup",this,a)},onKeyDown:function(a){this.fireEvent("keydown",this,a)},onKeyPress:function(a){this.fireEvent("keypress",this,a)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){var a=this.el;if(this.emptyText){if(a.dom.value==this.emptyText){this.setRawValue("")}a.removeClass(this.emptyClass)}if(this.selectOnFocus){(function(){a.dom.select()}).defer(this.inEditor&&Ext.isIE?50:0)}},postBlur:function(){this.applyEmptyText()},filterKeys:function(a){if(a.ctrlKey||a.isSpecialKey()){return}if(!this.maskRe.test(String.fromCharCode(a.getCharCode()))){a.stopEvent()}},setValue:function(a){if(this.emptyText&&this.el&&!Ext.isEmpty(a)){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize()},validateValue:function(a){if(a.length<1||a===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(a.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(a.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var b=Ext.form.VTypes;if(!b[this.vtype](a,this)){this.markInvalid(this.vtypeText||b[this.vtype+"Text"]);return false}}if(typeof this.validator=="function"){var c=this.validator(a);if(c!==true){this.markInvalid(c);return false}}if(this.regex&&!this.regex.test(a)){this.markInvalid(this.regexText);return false}return true},selectText:function(e,g){var a=this.getRawValue();var b=false;if(a.length>0){e=e===undefined?0:e;g=g===undefined?a.length:g;var h=this.el.dom;if(h.setSelectionRange){h.setSelectionRange(e,g)}else{if(h.createTextRange){var c=h.createTextRange();c.moveStart("character",e);c.moveEnd("character",g-a.length);c.select()}}b=Ext.isGecko||Ext.isOpera}else{b=true}if(b){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var a=this.el;var b=a.dom.value;var e=document.createElement("div");e.appendChild(document.createTextNode(b));b=e.innerHTML;Ext.removeNode(e);e=null;b+="&#160;";var c=Math.min(this.growMax,Math.max(this.metrics.getWidth(b)+10,this.growMin));this.el.setWidth(c);this.fireEvent("autosize",this,c)}});Ext.reg("textfield",Ext.form.TextField);Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,actionMode:"wrap",onResize:function(a,b){Ext.form.TriggerField.superclass.onResize.call(this,a,b);if(typeof a=="number"){this.el.setWidth(this.adjustWidth("input",a-this.trigger.getWidth()))}this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}},onRender:function(a,b){Ext.form.TriggerField.superclass.onRender.call(this,a,b);this.wrap=this.el.wrap({cls:"x-form-field-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.triggerClass});if(this.hideTrigger){this.trigger.setDisplayed(false)}this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var a;if(Ext.isIE&&!this.hideTrigger&&this.el.getY()!=(a=this.trigger.getY())){this.el.position();this.el.setY(a)}},initTrigger:function(){this.trigger.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){if(this.trigger){this.trigger.removeAllListeners();this.trigger.remove()}if(this.wrap){this.wrap.remove()}if(this.mimicing){Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this)}Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass("x-trigger-wrap-focus");this.mimicing=true;Ext.get(Ext.isIE?document.body:document).on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.el.on("keydown",this.checkTab,this)}}},checkTab:function(a){if(a.getKey()==a.TAB){this.triggerBlur()}},onBlur:function(){},mimicBlur:function(a){if(!this.wrap.contains(a.target)&&this.validateBlur(a)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;Ext.get(Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this);if(this.monitorTab&&this.el){this.el.un("keydown",this.checkTab,this)}Ext.form.TriggerField.superclass.onBlur.call(this);if(this.wrap){this.wrap.removeClass("x-trigger-wrap-focus")}},beforeBlur:Ext.emptyFn,validateBlur:function(a){return true},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(a){return this.triggers[a]},initTrigger:function(){var b=this.trigger.select(".x-form-trigger",true);this.wrap.setStyle("overflow","hidden");var a=this;b.each(function(c,e,g){c.hide=function(){var h=a.wrap.getWidth();this.dom.style.display="none";a.el.setWidth(h-a.trigger.getWidth())};c.show=function(){var h=a.wrap.getWidth();this.dom.style.display="";a.el.setWidth(h-a.trigger.getWidth())};var d="Trigger"+(g+1);if(this["hide"+d]){c.dom.style.display="none"}c.on("click",this["on"+d+"Click"],this,{preventDefault:true});c.addClassOnOver("x-form-trigger-over");c.addClassOnClick("x-form-trigger-click")},this);this.triggers=b.elements},onDestroy:function(){Ext.destroy.apply(this,this.triggers);Ext.form.TwinTriggerField.superclass.onDestroy.call(this)},onTrigger1Click:Ext.emptyFn,onTrigger2Click:Ext.emptyFn});Ext.reg("trigger",Ext.form.TriggerField);Ext.form.TextArea=Ext.extend(Ext.form.TextField,{growMin:60,growMax:1000,growAppend:"&#160;\n&#160;",growPad:Ext.isWebKit?-6:0,enterIsSpecial:false,preventScrollbars:false,onRender:function(a,b){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}}Ext.form.TextArea.superclass.onRender.call(this,a,b);if(this.grow){this.textSizeEl=Ext.DomHelper.append(document.body,{tag:"pre",cls:"x-form-grow-sizer"});if(this.preventScrollbars){this.el.setStyle("overflow","hidden")}this.el.setHeight(this.growMin)}},onDestroy:function(){if(this.textSizeEl){Ext.removeNode(this.textSizeEl)}Ext.form.TextArea.superclass.onDestroy.call(this)},fireKey:function(a){if(a.isSpecialKey()&&(this.enterIsSpecial||(a.getKey()!=a.ENTER||a.hasModifier()))){this.fireEvent("specialkey",this,a)}},onKeyUp:function(a){if(!a.isNavKeyPress()||a.getKey()==a.ENTER){this.autoSize()}Ext.form.TextArea.superclass.onKeyUp.call(this,a)},autoSize:function(){if(!this.grow||!this.textSizeEl){return}var b=this.el;var c=b.dom.value;var a=this.textSizeEl;a.innerHTML="";a.appendChild(document.createTextNode(c));c=a.innerHTML;Ext.fly(a).setWidth(this.el.getWidth());if(c.length<1){c="&#160;&#160;"}else{c+=this.growAppend;if(Ext.isIE){c=c.replace(/\n/g,"<br />")}}a.innerHTML=c;var d=Math.min(this.growMax,Math.max(a.offsetHeight,this.growMin)+this.growPad);if(d!=this.lastHeight){this.lastHeight=d;this.el.setHeight(d);this.fireEvent("autosize",this,d)}}});Ext.reg("textarea",Ext.form.TextArea);Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:"x-form-field x-form-num-field",allowDecimals:true,decimalSeparator:".",decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",baseChars:"0123456789",initEvents:function(){var a=this.baseChars+"";if(this.allowDecimals){a+=this.decimalSeparator}if(this.allowNegative){a+="-"}this.maskRe=new RegExp("["+Ext.escapeRe(a)+"]");Ext.form.NumberField.superclass.initEvents.call(this)},validateValue:function(a){if(!Ext.form.NumberField.superclass.validateValue.call(this,a)){return false}if(a.length<1){return true}a=String(a).replace(this.decimalSeparator,".");if(isNaN(a)){this.markInvalid(String.format(this.nanText,a));return false}var b=this.parseValue(a);if(b<this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false}if(b>this.maxValue){this.markInvalid(String.format(this.maxText,this.maxValue));return false}return true},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(a){a=typeof a=="number"?a:parseFloat(String(a).replace(this.decimalSeparator,"."));a=isNaN(a)?"":String(a).replace(".",this.decimalSeparator);Ext.form.NumberField.superclass.setValue.call(this,a)},parseValue:function(a){a=parseFloat(String(a).replace(this.decimalSeparator,"."));return isNaN(a)?"":a},fixPrecision:function(a){var b=isNaN(a);if(!this.allowDecimals||this.decimalPrecision==-1||b||!a){return b?"":a}return parseFloat(parseFloat(a).toFixed(this.decimalPrecision))},beforeBlur:function(){var a=this.parseValue(this.getRawValue());if(!Ext.isEmpty(a)){this.setValue(this.fixPrecision(a))}}});Ext.reg("numberfield",Ext.form.NumberField);Ext.form.DateField=Ext.extend(Ext.form.TriggerField,{format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initDisabledDays:function(){if(this.disabledDates){var b=this.disabledDates;var c="(?:";for(var a=0;a<b.length;a++){c+=b[a];if(a!=b.length-1){c+="|"}}this.disabledDatesRE=new RegExp(c+")")}},setDisabledDates:function(a){this.disabledDates=a;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(a){this.disabledDays=a;if(this.menu){this.menu.picker.setDisabledDays(a)}},setMinValue:function(a){this.minValue=(typeof a=="string"?this.parseDate(a):a);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(a){this.maxValue=(typeof a=="string"?this.parseDate(a):a);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},validateValue:function(a){a=this.formatDate(a);if(!Ext.form.DateField.superclass.validateValue.call(this,a)){return false}if(a.length<1){return true}var e=a;a=this.parseDate(a);if(!a){this.markInvalid(String.format(this.invalidText,e,this.format));return false}var c=a.getTime();if(this.minValue&&c<this.minValue.getTime()){this.markInvalid(String.format(this.minText,this.formatDate(this.minValue)));return false}if(this.maxValue&&c>this.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));return false}if(this.disabledDays){var d=a.getDay();for(var b=0;b<this.disabledDays.length;b++){if(d===this.disabledDays[b]){this.markInvalid(this.disabledDaysText);return false}}}var g=this.formatDate(a);if(this.disabledDatesRE&&this.disabledDatesRE.test(g)){this.markInvalid(String.format(this.disabledDatesText,g));return false}return true},validateBlur:function(){return !this.menu||!this.menu.isVisible()},getValue:function(){return this.parseDate(Ext.form.DateField.superclass.getValue.call(this))||""},setValue:function(a){Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(a)))},parseDate:function(b){if(!b||Ext.isDate(b)){return b}var c=Date.parseDate(b,this.format);if(!c&&this.altFormats){if(!this.altFormatsArray){this.altFormatsArray=this.altFormats.split("|")}for(var d=0,a=this.altFormatsArray.length;d<a&&!c;d++){c=Date.parseDate(b,this.altFormatsArray[d])}}return c},onDestroy:function(){if(this.menu){this.menu.destroy()}Ext.form.DateField.superclass.onDestroy.call(this)},formatDate:function(a){return Ext.isDate(a)?a.dateFormat(this.format):a},menuListeners:{select:function(a,b){this.setValue(b);this.fireEvent("select",this,b)},show:function(){this.onFocus()},hide:function(){this.focus.defer(10,this);var a=this.menuListeners;this.menu.un("select",a.select,this);this.menu.un("show",a.show,this);this.menu.un("hide",a.hide,this)}},onTriggerClick:function(){if(this.disabled){return}if(this.menu==null){this.menu=new Ext.menu.DateMenu()}Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.disabledDatesRE,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.on(Ext.apply({},this.menuListeners,{scope:this}));this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,"tl-bl?")},beforeBlur:function(){var a=this.parseDate(this.getRawValue());if(a){this.setValue(a)}}});Ext.reg("datefield",Ext.form.DateField);Ext.form.ComboBox=Ext.extend(Ext.form.TriggerField,{defaultAutoCreate:{tag:"input",type:"text",size:"24",autocomplete:"off"},listClass:"",selectedClass:"x-combo-selected",triggerClass:"x-form-arrow-trigger",shadow:"sides",listAlign:"tl-bl?",maxHeight:300,minHeight:90,triggerAction:"query",minChars:4,typeAhead:false,queryDelay:500,pageSize:0,selectOnFocus:false,queryParam:"query",loadingText:"Loading...",resizable:false,handleHeight:8,editable:true,allQuery:"",mode:"remote",minListWidth:70,forceSelection:false,typeAheadDelay:250,lazyInit:true,initComponent:function(){Ext.form.ComboBox.superclass.initComponent.call(this);this.addEvents("expand","collapse","beforeselect","select","beforequery");if(this.transform){this.allowDomMove=false;var b=Ext.getDom(this.transform);if(!this.hiddenName){this.hiddenName=b.name}if(!this.store){this.mode="local";var g=[],a=b.options;for(var e=0,k=a.length;e<k;e++){var c=a[e],h=(c.hasAttribute?c.hasAttribute("value"):c.getAttributeNode("value").specified)?c.value:c.text;if(c.selected){this.value=h}g.push([h,c.text])}this.store=new Ext.data.SimpleStore({id:0,fields:["value","text"],data:g});this.valueField="value";this.displayField="text"}b.name=Ext.id();if(!this.lazyRender){this.target=true;this.el=Ext.DomHelper.insertBefore(b,this.autoCreate||this.defaultAutoCreate);Ext.removeNode(b);this.render(this.el.parentNode)}else{Ext.removeNode(b)}}else{if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.SimpleStore({fields:["value","text"],data:this.store});this.valueField="value"}else{this.store=new Ext.data.SimpleStore({fields:["text"],data:this.store,expandData:true});this.valueField="text"}this.displayField="text";this.mode="local"}}this.selectedIndex=-1;if(this.mode=="local"){if(this.initialConfig.queryDelay===undefined){this.queryDelay=10}if(this.initialConfig.minChars===undefined){this.minChars=0}}},onRender:function(a,b){Ext.form.ComboBox.superclass.onRender.call(this,a,b);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},"before",true);this.el.dom.removeAttribute("name")}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}if(!this.lazyInit){this.initList()}else{this.on("focus",this.initList,this,{single:true})}if(!this.editable){this.editable=true;this.setEditable(false)}},initValue:function(){Ext.form.ComboBox.superclass.initValue.call(this);if(this.hiddenField){this.hiddenField.value=this.hiddenValue!==undefined?this.hiddenValue:this.value!==undefined?this.value:""}},initList:function(){if(!this.list){var b="x-combo-list";this.list=new Ext.Layer({shadow:this.shadow,cls:[b,this.listClass].join(" "),constrain:false});var a=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);this.list.setWidth(a);this.list.swallowEvent("mousewheel");this.assetHeight=0;if(this.title){this.header=this.list.createChild({cls:b+"-hd",html:this.title});this.assetHeight+=this.header.getHeight()}this.innerList=this.list.createChild({cls:b+"-inner"});this.innerList.on("mouseover",this.onViewOver,this);this.innerList.on("mousemove",this.onViewMove,this);this.innerList.setWidth(a-this.list.getFrameWidth("lr"));if(this.pageSize){this.footer=this.list.createChild({cls:b+"-ft"});this.pageTb=new Ext.PagingToolbar({store:this.store,pageSize:this.pageSize,renderTo:this.footer});this.assetHeight+=this.footer.getHeight()}if(!this.tpl){this.tpl='<tpl for="."><div class="'+b+'-item">{'+this.displayField+"}</div></tpl>"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+b+"-item"});this.view.on("click",this.onViewClick,this);this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.resizer.on("resize",function(c,d,e){this.maxHeight=e-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=d;this.innerList.setWidth(d-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},getStore:function(){return this.store},bindStore:function(a,b){if(this.store&&!b){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.collapse,this);if(!a){this.store=null;if(this.view){this.view.setStore(null)}}}if(a){this.store=Ext.StoreMgr.lookup(a);this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.collapse,this);if(this.view){this.view.setStore(a)}}},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(a){this.inKeyMode=true;this.selectPrev()},down:function(a){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(a){this.onViewClick();this.delayedCheck=true;this.unsetDelayCheck.defer(10,this)},esc:function(a){this.collapse()},tab:function(a){this.onViewClick(false);return true},scope:this,doRelay:function(a,b,c){if(c=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.editable!==false&&!this.enableKeyEvents){this.el.on("keyup",this.onKeyUp,this)}},onDestroy:function(){if(this.dqTask){this.dqTask.cancel();this.dqTask=null}this.bindStore(null);Ext.destroy(this.resizer,this.view,this.pageTb,this.innerList,this.list);Ext.form.ComboBox.superclass.onDestroy.call(this)},unsetDelayCheck:function(){delete this.delayedCheck},fireKey:function(b){var a=function(c){if(c.isNavKeyPress()&&!this.isExpanded()&&!this.delayedCheck){this.fireEvent("specialkey",this,c)}};if(this.inEditor&&Ext.isWebKit&&b.getKey()==b.TAB){a.defer(10,this,[new Ext.EventObjectImpl(b)])}else{a.call(this,b)}},onResize:function(b,c){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(this.list&&this.listWidth===undefined){var a=Math.max(b,this.minListWidth);this.list.setWidth(a);this.innerList.setWidth(a-this.list.getFrameWidth("lr"))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},setEditable:function(a){if(a==this.editable){return}this.editable=a;if(!a){this.el.dom.setAttribute("readOnly",true);this.el.on("mousedown",this.onTriggerClick,this);this.el.addClass("x-combo-noedit")}else{this.el.dom.removeAttribute("readOnly");this.el.un("mousedown",this.onTriggerClick,this);this.el.removeClass("x-combo-noedit")}},onBeforeLoad:function(){if(!this.hasFocus){return}this.innerList.update(this.loadingText?'<div class="loading-indicator">'+this.loadingText+"</div>":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()>0){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(!this.selectByValue(this.value,true)){this.select(0,true)}}else{this.selectNext();if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.onEmptyResults()}},onTypeAhead:function(){if(this.store.getCount()>0){var a=this.store.getAt(0);var d=a.data[this.displayField];var c=d.length;var b=this.getRawValue().length;if(b!=c){this.setRawValue(d);this.selectText(b,d.length)}}},onSelect:function(a,b){if(this.fireEvent("beforeselect",this,a,b)!==false){this.setValue(a.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,a,b)}},getName:function(){var a=this.hiddenField;return a&&a.name?a.name:this.hiddenName||Ext.form.ComboBox.superclass.getName.call(this)},getValue:function(){if(this.valueField){return typeof this.value!="undefined"?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(b){var c=b;if(this.valueField){var a=this.findRecord(this.valueField,b);if(a){c=a.data[this.displayField]}else{if(this.valueNotFoundText!==undefined){c=this.valueNotFoundText}}}this.lastSelectionText=c;if(this.hiddenField){this.hiddenField.value=b}Ext.form.ComboBox.superclass.setValue.call(this,c);this.value=b},findRecord:function(c,a){var b;if(this.store.getCount()>0){this.store.each(function(d){if(d.data[c]==a){b=d;return false}})}return b},onViewMove:function(b,a){this.inKeyMode=false},onViewOver:function(c,a){if(this.inKeyMode){return}var b=this.view.findItemFromChild(a);if(b){var d=this.view.indexOf(b);this.select(d,false)}},onViewClick:function(b){var c=this.view.getSelectedIndexes()[0];var a=this.store.getAt(c);if(a){this.onSelect(a,c)}if(b!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var g=this.innerList.dom;var b=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;var d=Math.max(g.clientHeight,g.offsetHeight,g.scrollHeight);var c=this.getPosition()[1]-Ext.getBody().getScroll().top;var a=Ext.lib.Dom.getViewHeight()-c-this.getSize().height;var e=Math.max(c,a,this.minHeight||0)-this.list.shadowOffset-b-5;d=Math.min(d,e,this.maxHeight);this.innerList.setHeight(d);this.list.beginUpdate();this.list.setHeight(d+b);this.list.alignTo(this.wrap,this.listAlign);this.list.endUpdate()},onEmptyResults:function(){this.collapse()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(c,b){if(c!==undefined&&c!==null){var a=this.findRecord(this.valueField||this.displayField,c);if(a){this.select(this.store.indexOf(a),b);return true}}return false},select:function(c,b){this.selectedIndex=c;this.view.select(c);if(b!==false){var a=this.view.getNode(c);if(a){this.innerList.scrollChildIntoView(a,false)}}},selectNext:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex<a-1){this.select(this.selectedIndex+1)}}}},selectPrev:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!=0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(a){var b=a.getKey();if(this.editable!==false&&(b==a.BACKSPACE||!a.isSpecialKey())){this.lastKey=b;this.dqTask.delay(this.queryDelay)}Ext.form.ComboBox.superclass.onKeyUp.call(this,a)},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},beforeBlur:function(){var b=this.getRawValue();if(this.forceSelection){if(b.length>0&&b!=this.emptyText){this.el.dom.value=this.lastSelectionText===undefined?"":this.lastSelectionText;this.applyEmptyText()}else{this.clearValue()}}else{var a=this.findRecord(this.displayField,b);if(a){b=a.get(this.valueField||this.displayField)}this.setValue(b)}},doQuery:function(c,a){if(c===undefined||c===null){c=""}var b={query:c,forceAll:a,combo:this,cancel:false};if(this.fireEvent("beforequery",b)===false||b.cancel){return false}c=b.query;a=b.forceAll;if(a===true||(c.length>=this.minChars)){if(this.lastQuery!==c){this.lastQuery=c;if(this.mode=="local"){this.selectedIndex=-1;if(a){this.store.clearFilter()}else{this.store.filter(this.displayField,c)}this.onLoad()}else{this.store.baseParams[this.queryParam]=c;this.store.load({params:this.getParams(c)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(b){var a={};if(this.pageSize){a.start=0;a.limit=this.pageSize}return a},collapse:function(){if(!this.isExpanded()){return}this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.fireEvent("collapse",this)},collapseIf:function(a){if(!a.within(this.wrap)&&!a.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return}this.list.alignTo(this.wrap,this.listAlign);this.list.show();if(Ext.isGecko2){this.innerList.setOverflow("auto")}Ext.getDoc().on("mousewheel",this.collapseIf,this);Ext.getDoc().on("mousedown",this.collapseIf,this);this.fireEvent("expand",this)},onTriggerClick:function(){if(this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{checkedCls:"x-form-check-checked",focusCls:"x-form-check-focus",overCls:"x-form-check-over",mouseDownCls:"x-form-check-down",tabIndex:0,checked:false,defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},actionMode:"wrap",baseCls:"x-form-check",initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents("check")},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.initCheckEvents()},initCheckEvents:function(){this.innerWrap.removeAllListeners();this.innerWrap.addClassOnOver(this.overCls);this.innerWrap.addClassOnClick(this.mouseDownCls);this.innerWrap.on("click",this.onClick,this);this.innerWrap.on("keyup",this.onKeyUp,this)},onRender:function(a,b){Ext.form.Checkbox.superclass.onRender.call(this,a,b);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.el.addClass("x-hidden");this.innerWrap=this.el.wrap({tabIndex:this.tabIndex,cls:this.baseCls+"-wrap-inner"});this.wrap=this.innerWrap.wrap({cls:this.baseCls+"-wrap"});if(this.boxLabel){this.labelEl=this.innerWrap.createChild({tag:"label",htmlFor:this.el.id,cls:"x-form-cb-label",html:this.boxLabel})}this.imageEl=this.innerWrap.createChild({tag:"img",src:Ext.BLANK_IMAGE_URL,cls:this.baseCls},this.el);if(this.checked){this.setValue(true)}else{this.checked=this.el.dom.checked}this.originalValue=this.checked},afterRender:function(){Ext.form.Checkbox.superclass.afterRender.call(this);this.wrap[this.checked?"addClass":"removeClass"](this.checkedCls)},onDestroy:function(){if(this.rendered){Ext.destroy(this.imageEl,this.labelEl,this.innerWrap,this.wrap)}Ext.form.Checkbox.superclass.onDestroy.call(this)},onFocus:function(a){Ext.form.Checkbox.superclass.onFocus.call(this,a);this.el.addClass(this.focusCls)},onBlur:function(a){Ext.form.Checkbox.superclass.onBlur.call(this,a);this.el.removeClass(this.focusCls)},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&&!this.fieldLabel){this.el.alignTo(this.wrap,"c-c")}},onKeyUp:function(a){if(a.getKey()==Ext.EventObject.SPACE){this.onClick(a)}},onClick:function(a){if(!this.disabled&&!this.readOnly){this.toggleValue()}a.stopEvent()},onEnable:function(){Ext.form.Checkbox.superclass.onEnable.call(this);this.initCheckEvents()},onDisable:function(){Ext.form.Checkbox.superclass.onDisable.call(this);this.innerWrap.removeAllListeners()},toggleValue:function(){this.setValue(!this.checked)},getResizeEl:function(){if(!this.resizeEl){this.resizeEl=Ext.isWebKit?this.wrap:(this.wrap.up(".x-form-element",5)||this.wrap)}return this.resizeEl},getPositionEl:function(){return this.wrap},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,initValue:function(){this.originalValue=this.getValue()},getValue:function(){if(this.rendered){return this.el.dom.checked}return this.checked},setValue:function(b){var a=this.checked;this.checked=(b===true||b==="true"||b=="1"||String(b).toLowerCase()=="on");if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked;this.wrap[this.checked?"addClass":"removeClass"](this.checkedCls)}if(a!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked)}}}});Ext.reg("checkbox",Ext.form.Checkbox);Ext.form.CheckboxGroup=Ext.extend(Ext.form.Field,{columns:"auto",vertical:false,allowBlank:true,blankText:"You must select at least one item in this group",defaultType:"checkbox",groupCls:"x-form-check-group",initComponent:function(){this.addEvents("change");Ext.form.CheckboxGroup.superclass.initComponent.call(this)},onRender:function(e,c){if(!this.el){var r={cls:this.groupCls,layout:"column",border:false,renderTo:e};var d={defaultType:this.defaultType,layout:"form",border:false,defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(r,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var a=0,q=this.items.length;a<q;a++){Ext.applyIf(this.items[a],d)}}else{var h,m=[];if(typeof this.columns=="string"){this.columns=this.items.length}if(!Ext.isArray(this.columns)){var n=[];for(var a=0;a<this.columns;a++){n.push((100/this.columns)*0.01)}this.columns=n}h=this.columns.length;for(var a=0;a<h;a++){var b=Ext.apply({items:[]},d);b[this.columns[a]<=1?"columnWidth":"width"]=this.columns[a];if(this.defaults){b.defaults=Ext.apply(b.defaults||{},this.defaults)}m.push(b)}if(this.vertical){var o=Math.ceil(this.items.length/h),k=0;for(var a=0,q=this.items.length;a<q;a++){if(a>0&&a%o==0){k++}if(this.items[a].fieldLabel){this.items[a].hideLabel=false}m[k].items.push(this.items[a])}}else{for(var a=0,q=this.items.length;a<q;a++){var p=a%h;if(this.items[a].fieldLabel){this.items[a].hideLabel=false}m[p].items.push(this.items[a])}}Ext.apply(r,{layoutConfig:{columns:h},items:m})}this.panel=new Ext.Panel(r);this.panel.ownerCt=this;this.el=this.panel.getEl();if(this.forId&&this.itemCls){var s=this.el.up(this.itemCls).child("label",true);if(s){s.setAttribute("htmlFor",this.forId)}}var g=this.panel.findBy(function(l){return l.isFormField},this);this.items=new Ext.util.MixedCollection();this.items.addAll(g)}Ext.form.CheckboxGroup.superclass.onRender.call(this,e,c)},afterRender:function(){Ext.form.CheckboxGroup.superclass.afterRender.call(this);this.items.each(function(a){a.on("check",this.fireChecked,this)},this)},fireChecked:function(){var a=[];this.items.each(function(b){if(b.checked){a.push(b)}});this.fireEvent("change",this,a)},validateValue:function(a){if(!this.allowBlank){var b=true;this.items.each(function(c){if(c.checked){return b=false}},this);if(b){this.markInvalid(this.blankText);return false}}return true},onDestroy:function(){Ext.destroy(this.panel);Ext.form.CheckboxGroup.superclass.onDestroy.call(this)},onDisable:function(){this.items.each(function(a){a.disable()})},onEnable:function(){this.items.each(function(a){a.enable()})},isDirty:function(){if(this.disabled||!this.rendered){return false}var a=false;this.items.each(function(b){if(b.isDirty()){a=true;return false}});return a},onResize:function(a,b){this.panel.setSize(a,b);this.panel.doLayout()},reset:function(){Ext.form.CheckboxGroup.superclass.reset.call(this);this.items.each(function(a){if(a.reset){a.reset()}},this)},initValue:Ext.emptyFn,getValue:Ext.emptyFn,getRawValue:Ext.emptyFn,setValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg("checkboxgroup",Ext.form.CheckboxGroup);Ext.form.Radio=Ext.extend(Ext.form.Checkbox,{inputType:"radio",baseCls:"x-form-radio",getGroupValue:function(){var a=this.getParent().child("input[name="+this.el.dom.name+"]:checked",true);return a?a.value:null},getParent:function(){return this.el.up("form")||Ext.getBody()},toggleValue:function(){if(!this.checked){var a=this.getParent().select("input[name="+this.el.dom.name+"]");a.each(function(b){if(b.dom.id==this.id){this.setValue(true)}else{Ext.getCmp(b.dom.id).setValue(false)}},this)}},setValue:function(b){if(typeof b=="boolean"){Ext.form.Radio.superclass.setValue.call(this,b)}else{var a=this.getParent().child("input[name="+this.el.dom.name+"][value="+b+"]",true);if(a&&!a.checked){Ext.getCmp(a.id).toggleValue()}}},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg("radio",Ext.form.Radio);Ext.form.RadioGroup=Ext.extend(Ext.form.CheckboxGroup,{allowBlank:true,blankText:"You must select one item in this group",defaultType:"radio",groupCls:"x-form-radio-group",initComponent:function(){this.addEvents("change");Ext.form.RadioGroup.superclass.initComponent.call(this)},fireChecked:function(){if(!this.checkTask){this.checkTask=new Ext.util.DelayedTask(this.bufferChecked,this)}this.checkTask.delay(10)},bufferChecked:function(){var a=null;this.items.each(function(b){if(b.checked){a=b;return false}});this.fireEvent("change",this,a)},onDestroy:function(){if(this.checkTask){this.checkTask.cancel();this.checkTask=null}Ext.form.RadioGroup.superclass.onDestroy.call(this)}});Ext.reg("radiogroup",Ext.form.RadioGroup);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:"hidden",onRender:function(){Ext.form.Hidden.superclass.onRender.apply(this,arguments)},initEvents:function(){this.originalValue=this.getValue()},setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg("hidden",Ext.form.Hidden);Ext.form.BasicForm=function(a,b){Ext.apply(this,b);this.items=new Ext.util.MixedCollection(false,function(c){return c.id||(c.id=Ext.id())});this.addEvents("beforeaction","actionfailed","actioncomplete");if(a){this.initEl(a)}Ext.form.BasicForm.superclass.constructor.call(this)};Ext.extend(Ext.form.BasicForm,Ext.util.Observable,{timeout:30,activeAction:null,trackResetOnLoad:false,initEl:function(a){this.el=Ext.get(a);this.id=this.el.id||Ext.id();if(!this.standardSubmit){this.el.on("submit",this.onSubmit,this)}this.el.addClass("x-form")},getEl:function(){return this.el},onSubmit:function(a){a.stopEvent()},destroy:function(){this.items.each(function(a){Ext.destroy(a)});if(this.el){this.el.removeAllListeners();this.el.remove()}this.purgeListeners()},isValid:function(){var a=true;this.items.each(function(b){if(!b.validate()){a=false}});return a},isDirty:function(){var a=false;this.items.each(function(b){if(b.isDirty()){a=true;return false}});return a},doAction:function(a,b){if(typeof a=="string"){a=new Ext.form.Action.ACTION_TYPES[a](this,b)}if(this.fireEvent("beforeaction",this,a)!==false){this.beforeAction(a);a.run.defer(100,a)}return this},submit:function(b){if(this.standardSubmit){var a=this.isValid();if(a){this.el.dom.submit()}return a}this.doAction("submit",b);return this},load:function(a){this.doAction("load",a);return this},updateRecord:function(b){b.beginEdit();var a=b.fields;a.each(function(d){var c=this.findField(d.name);if(c){b.set(d.name,c.getValue())}},this);b.endEdit();return this},loadRecord:function(a){this.setValues(a.data);return this},beforeAction:function(b){var a=b.options;if(a.waitMsg){if(this.waitMsgTarget===true){this.el.mask(a.waitMsg,"x-mask-loading")}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(a.waitMsg,"x-mask-loading")}else{Ext.MessageBox.wait(a.waitMsg,a.waitTitle||this.waitTitle||"Please Wait...")}}}},afterAction:function(c,a){this.activeAction=null;var b=c.options;if(b.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(a){if(b.reset){this.reset()}Ext.callback(b.success,b.scope,[this,c]);this.fireEvent("actioncomplete",this,c)}else{Ext.callback(b.failure,b.scope,[this,c]);this.fireEvent("actionfailed",this,c)}},findField:function(b){var a=this.items.get(b);if(!(a&&typeof a=="object")){this.items.each(function(c){if(c.isFormField&&(c.dataIndex==b||c.id==b||c.getName()==b)){a=c;return false}})}return a},markInvalid:function(h){if(Ext.isArray(h)){for(var e=0,a=h.length;e<a;e++){var c=h[e];var d=this.findField(c.id);if(d){d.markInvalid(c.msg)}}}else{var b,g;for(g in h){if(typeof h[g]!="function"&&(b=this.findField(g))){b.markInvalid(h[g])}}}return this},setValues:function(h){if(Ext.isArray(h)){for(var e=0,a=h.length;e<a;e++){var c=h[e];var d=this.findField(c.id);if(d){d.setValue(c.value);if(this.trackResetOnLoad){d.originalValue=d.getValue()}}}}else{var g,b;for(b in h){if(typeof h[b]!="function"&&(g=this.findField(b))){g.setValue(h[b]);if(this.trackResetOnLoad){g.originalValue=g.getValue()}}}}return this},getValues:function(b){var a=Ext.lib.Ajax.serializeForm(this.el.dom);if(b===true){return a}return Ext.urlDecode(a)},clearInvalid:function(){this.items.each(function(a){a.clearInvalid()});return this},reset:function(){this.items.each(function(a){a.reset()});return this},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));return this},remove:function(a){this.items.remove(a);return this},render:function(){this.items.each(function(a){if(a.isFormField&&!a.rendered&&document.getElementById(a.id)){a.applyToMarkup(a.id)}});return this},applyToFields:function(a){this.items.each(function(b){Ext.apply(b,a)});return this},applyIfToFields:function(a){this.items.each(function(b){Ext.applyIf(b,a)});return this}});Ext.BasicForm=Ext.form.BasicForm;Ext.FormPanel=Ext.extend(Ext.Panel,{buttonAlign:"center",minButtonWidth:75,labelAlign:"left",monitorValid:false,monitorPoll:200,layout:"form",initComponent:function(){this.form=this.createForm();this.bodyCfg={tag:"form",cls:this.baseCls+"-body",method:this.method||"POST",id:this.formId||Ext.id()};if(this.fileUpload){this.bodyCfg.enctype="multipart/form-data"}Ext.FormPanel.superclass.initComponent.call(this);this.initItems();this.addEvents("clientvalidation");this.relayEvents(this.form,["beforeaction","actionfailed","actioncomplete"])},createForm:function(){var a=Ext.applyIf({listeners:{}},this.initialConfig);return new Ext.form.BasicForm(null,a)},initFields:function(){var c=this.form;var b=this;var a=function(d){if(d.isFormField){c.add(d)}else{if(d.doLayout&&d!=b){Ext.applyIf(d,{labelAlign:d.ownerCt.labelAlign,labelWidth:d.ownerCt.labelWidth,itemCls:d.ownerCt.itemCls});if(d.items){d.items.each(a)}}}};this.items.each(a)},getLayoutTarget:function(){return this.form.el},getForm:function(){return this.form},onRender:function(a,b){this.initFields();Ext.FormPanel.superclass.onRender.call(this,a,b);this.form.initEl(this.body)},beforeDestroy:function(){this.stopMonitoring();Ext.FormPanel.superclass.beforeDestroy.call(this);this.form.items.clear();Ext.destroy(this.form)},initEvents:function(){Ext.FormPanel.superclass.initEvents.call(this);this.items.on("remove",this.onRemove,this);this.items.on("add",this.onAdd,this);if(this.monitorValid){this.startMonitoring()}},onAdd:function(b,a){if(a.isFormField){this.form.add(a)}},onRemove:function(a){if(a.isFormField){Ext.destroy(a.container.up(".x-form-item"));this.form.remove(a)}},startMonitoring:function(){if(!this.validTask){this.validTask=new Ext.util.TaskRunner();this.validTask.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})}},stopMonitoring:function(){if(this.validTask){this.validTask.stopAll();this.validTask=null}},load:function(){this.form.load.apply(this.form,arguments)},onDisable:function(){Ext.FormPanel.superclass.onDisable.call(this);if(this.form){this.form.items.each(function(){this.disable()})}},onEnable:function(){Ext.FormPanel.superclass.onEnable.call(this);if(this.form){this.form.items.each(function(){this.enable()})}},bindHandler:function(){var b=true;this.form.items.each(function(e){if(!e.isValid(true)){b=false;return false}});if(this.buttons){for(var c=0,a=this.buttons.length;c<a;c++){var d=this.buttons[c];if(d.formBind===true&&d.disabled===b){d.setDisabled(!b)}}}this.fireEvent("clientvalidation",this,b)}});Ext.reg("form",Ext.FormPanel);Ext.form.FormPanel=Ext.FormPanel;Ext.form.FieldSet=Ext.extend(Ext.Panel,{baseCls:"x-fieldset",layout:"form",animCollapse:false,onRender:function(b,c){if(!this.el){this.el=document.createElement("fieldset");this.el.id=this.id;if(this.title||this.header||this.checkboxToggle){this.el.appendChild(document.createElement("legend")).className="x-fieldset-header"}}Ext.form.FieldSet.superclass.onRender.call(this,b,c);if(this.checkboxToggle){var a=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};this.checkbox=this.header.insertFirst(a);this.checkbox.dom.checked=!this.collapsed;this.checkbox.on("click",this.onCheckClick,this)}},onCollapse:function(a,b){if(this.checkbox){this.checkbox.dom.checked=false}Ext.form.FieldSet.superclass.onCollapse.call(this,a,b)},onExpand:function(a,b){if(this.checkbox){this.checkbox.dom.checked=true}Ext.form.FieldSet.superclass.onExpand.call(this,a,b)},onCheckClick:function(){this[this.checkbox.dom.checked?"expand":"collapse"]()},beforeDestroy:function(){if(this.checkbox){this.checkbox.un("click",this.onCheckClick,this)}Ext.form.FieldSet.superclass.beforeDestroy.call(this)}});Ext.reg("fieldset",Ext.form.FieldSet);Ext.form.HtmlEditor=Ext.extend(Ext.form.Field,{enableFormat:true,enableFontSize:true,enableColors:true,enableAlignments:true,enableLists:true,enableSourceEdit:true,enableLinks:true,enableFont:true,createLinkText:"Please enter the URL for the link:",defaultLinkValue:"http://",fontFamilies:["Arial","Courier New","Tahoma","Times New Roman","Verdana"],defaultFont:"tahoma",defaultValue:Ext.isOpera?"&nbsp;":"",actionMode:"wrap",validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:Ext.emptyFn,iframePad:3,hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:500px;height:300px;",autocomplete:"off"},initComponent:function(){this.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange")},createFontOptions:function(){var d=[],a=this.fontFamilies,e,b;for(var g=0,c=a.length;g<c;g++){e=a[g];b=e.toLowerCase();d.push('<option value="',b,'" style="font-family:',e,';"',(this.defaultFont==b?' selected="true">':">"),e,"</option>")}return d.join("")},createToolbar:function(d){var a=Ext.QuickTips&&Ext.QuickTips.isEnabled();function c(h,g,e){return{itemId:h,cls:"x-btn-icon x-edit-"+h,enableToggle:g!==false,scope:d,handler:e||d.relayBtnCmd,clickEvent:"mousedown",tooltip:a?d.buttonTips[h]||undefined:undefined,tabIndex:-1}}var b=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild});b.el.on("click",function(g){g.preventDefault()});if(this.enableFont&&!Ext.isSafari2){this.fontSelect=b.el.createChild({tag:"select",cls:"x-font-select",html:this.createFontOptions()});this.fontSelect.on("change",function(){var e=this.fontSelect.dom.value;this.relayCmd("fontname",e);this.deferFocus()},this);b.add(this.fontSelect.dom,"-")}if(this.enableFormat){b.add(c("bold"),c("italic"),c("underline"))}if(this.enableFontSize){b.add("-",c("increasefontsize",false,this.adjustFont),c("decreasefontsize",false,this.adjustFont))}if(this.enableColors){b.add("-",{itemId:"forecolor",cls:"x-btn-icon x-edit-forecolor",clickEvent:"mousedown",tooltip:a?d.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,selectHandler:function(e,g){this.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+g:g);this.deferFocus()},scope:this,clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon x-edit-backcolor",clickEvent:"mousedown",tooltip:a?d.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,selectHandler:function(e,g){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",g);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+g:g);this.deferFocus()}},scope:this,clickEvent:"mousedown"})})}if(this.enableAlignments){b.add("-",c("justifyleft"),c("justifycenter"),c("justifyright"))}if(!Ext.isSafari2){if(this.enableLinks){b.add("-",c("createlink",false,this.createLink))}if(this.enableLists){b.add("-",c("insertorderedlist"),c("insertunorderedlist"))}if(this.enableSourceEdit){b.add("-",c("sourceedit",true,function(e){this.toggleSourceEdit(e.pressed)}))}}this.tb=b},getDocMarkup:function(){return'<html><head><style type="text/css">body{border:0;margin:0;padding:3px;height:98%;cursor:text;}</style></head><body></body></html>'},getEditorBody:function(){return this.doc.body||this.doc.documentElement},getDoc:function(){return Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)},getWin:function(){return Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]},onRender:function(b,c){Ext.form.HtmlEditor.superclass.onRender.call(this,b,c);this.el.dom.style.border="0 none";this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");if(Ext.isIE){this.el.applyStyles("margin-top:-1px;margin-bottom:-1px;")}this.wrap=this.el.wrap({cls:"x-html-editor-wrap",cn:{cls:"x-html-editor-tb"}});this.createToolbar(this);this.tb.items.each(function(e){if(e.itemId!="sourceedit"){e.disable()}});var a=document.createElement("iframe");a.name=Ext.id();a.frameBorder="0";a.src=Ext.isIE?Ext.SSL_SECURE_URL:"javascript:;";this.wrap.dom.appendChild(a);this.iframe=a;this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100});if(!this.width){var d=this.el.getSize();this.setSize(d.width,this.height||d.height)}},initFrame:function(){Ext.TaskMgr.stop(this.monitorTask);this.doc=this.getDoc();this.win=this.getWin();this.doc.open();this.doc.write(this.getDocMarkup());this.doc.close();var a={run:function(){if(this.doc.body||this.doc.readyState=="complete"){Ext.TaskMgr.stop(a);this.doc.designMode="on";this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(a)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var a=this.getDoc();if(!a){return}if(!a.editorInitialized||String(a.designMode).toLowerCase()!="on"){this.initFrame()}}},onResize:function(a,b){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(typeof a=="number"){var d=a-this.wrap.getFrameWidth("lr");this.el.setWidth(this.adjustWidth("textarea",d));this.iframe.style.width=Math.max(d,0)+"px"}if(typeof b=="number"){var c=b-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(this.adjustWidth("textarea",c));this.iframe.style.height=Math.max(c,0)+"px";if(this.doc){this.getEditorBody().style.height=Math.max((c-(this.iframePad*2)),0)+"px"}}}},toggleSourceEdit:function(a){if(a===undefined){a=!this.sourceEditMode}this.sourceEditMode=a===true;var b=this.tb.items.get("sourceedit");if(b.pressed!==this.sourceEditMode){b.toggle(this.sourceEditMode);return}if(this.sourceEditMode){this.tb.items.each(function(d){if(d.itemId!="sourceedit"){d.disable()}});this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus()}else{if(this.initialized){this.tb.items.each(function(d){d.enable()})}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus()}var c=this.lastSize;if(c){delete this.lastSize;this.setSize(c)}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var a=prompt(this.createLinkText,this.defaultLinkValue);if(a&&a!="http://"){this.relayCmd("createlink",a)}},adjustSize:Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},initEvents:function(){this.originalValue=this.getValue()},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,setValue:function(a){Ext.form.HtmlEditor.superclass.setValue.call(this,a);this.pushValue()},cleanHtml:function(a){a=String(a);if(a.length>5){if(Ext.isWebKit){a=a.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}}if(a==this.defaultValue){a=""}return a},syncValue:function(){if(this.initialized){var c=this.getEditorBody();var b=c.innerHTML;if(Ext.isWebKit){var d=c.getAttribute("style");var a=d.match(/text-align:(.*?);/i);if(a&&a[1]){b='<div style="'+a[0]+'">'+b+"</div>"}}b=this.cleanHtml(b);if(this.fireEvent("beforesync",this,b)!==false){this.el.dom.value=b;this.fireEvent("sync",this,b)}}},getValue:function(){this[this.sourceEditMode?"pushValue":"syncValue"]();return Ext.form.HtmlEditor.superclass.getValue.call(this)},pushValue:function(){if(this.initialized){var a=this.el.dom.value;if(!this.activated&&a.length<1){a=this.defaultValue}if(this.fireEvent("beforepush",this,a)!==false){this.getEditorBody().innerHTML=a;if(Ext.isGecko){var b=this.doc,c=b.designMode.toLowerCase();b.designMode=c.toggle("on","off");b.designMode=c}this.fireEvent("push",this,a)}}},deferFocus:function(){this.focus.defer(10,this)},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus()}else{this.el.focus()}},initEditor:function(){try{var b=this.getEditorBody();var a=this.el.getStyles("font-size","font-family","background-image","background-repeat");a["background-attachment"]="fixed";b.bgProperties="fixed";Ext.DomHelper.applyStyles(b,a);if(this.doc){try{Ext.EventManager.removeAll(this.doc)}catch(c){}}this.doc=this.getDoc();Ext.EventManager.on(this.doc,{mousedown:this.onEditorEvent,dblclick:this.onEditorEvent,click:this.onEditorEvent,keyup:this.onEditorEvent,buffer:100,scope:this});if(Ext.isGecko){Ext.EventManager.on(this.doc,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isWebKit||Ext.isOpera){Ext.EventManager.on(this.doc,"keydown",this.fixKeys,this)}this.initialized=true;this.fireEvent("initialize",this);this.doc.editorInitialized=true;this.pushValue()}catch(c){}},onDestroy:function(){if(this.monitorTask){Ext.TaskMgr.stop(this.monitorTask)}if(this.rendered){Ext.destroy(this.tb);if(this.wrap){this.wrap.dom.innerHTML="";this.wrap.remove()}}if(this.el){this.el.removeAllListeners();this.el.remove()}if(this.doc){try{Ext.EventManager.removeAll(this.doc);for(var b in this.doc){delete this.doc[b]}}catch(a){}}this.purgeListeners()},onFirstFocus:function(){this.activated=true;this.tb.items.each(function(d){d.enable()});if(Ext.isGecko){this.win.focus();var b=this.win.getSelection();if(!b.focusNode||b.focusNode.nodeType!=3){var a=b.getRangeAt(0);a.selectNodeContents(this.getEditorBody());a.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(c){}}this.fireEvent("activate",this)},adjustFont:function(c){var a=c.itemId=="increasefontsize"?1:-1;var b=parseInt(this.doc.queryCommandValue("FontSize")||2,10);if((Ext.isWebKit&&!Ext.isSafari2)||Ext.isAir){if(b<=10){b=1+a}else{if(b<=13){b=2+a}else{if(b<=16){b=3+a}else{if(b<=18){b=4+a}else{if(b<=24){b=5+a}else{b=6+a}}}}}b=b.constrain(1,6)}else{if(Ext.isSafari){a*=2}b=Math.max(1,b+a)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",b)},onEditorEvent:function(a){this.updateToolbar()},updateToolbar:function(){if(!this.activated){this.onFirstFocus();return}var c=this.tb.items.map,a=this.doc;if(this.enableFont&&!Ext.isSafari2){var b=(this.doc.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(b!=this.fontSelect.dom.value){this.fontSelect.dom.value=b}}if(this.enableFormat){c.bold.toggle(a.queryCommandState("bold"));c.italic.toggle(a.queryCommandState("italic"));c.underline.toggle(a.queryCommandState("underline"))}if(this.enableAlignments){c.justifyleft.toggle(a.queryCommandState("justifyleft"));c.justifycenter.toggle(a.queryCommandState("justifycenter"));c.justifyright.toggle(a.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){c.insertorderedlist.toggle(a.queryCommandState("insertorderedlist"));c.insertunorderedlist.toggle(a.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(a){this.relayCmd(a.itemId)},relayCmd:function(b,a){(function(){this.focus();this.execCmd(b,a);this.updateToolbar()}).defer(10,this)},execCmd:function(b,a){this.doc.execCommand(b,false,a===undefined?null:a);this.syncValue()},applyCommand:function(d){if(d.ctrlKey){var b=d.getCharCode(),a;if(b>0){b=String.fromCharCode(b);switch(b){case"b":a="bold";break;case"i":a="italic";break;case"u":a="underline";break}if(a){this.win.focus();this.execCmd(a);this.deferFocus();d.preventDefault()}}}},insertAtCursor:function(b){if(!this.activated){return}if(Ext.isIE){this.win.focus();var a=this.doc.selection.createRange();if(a){a.collapse(true);a.pasteHTML(b);this.syncValue();this.deferFocus()}}else{if(Ext.isGecko||Ext.isOpera){this.win.focus();this.execCmd("InsertHTML",b);this.deferFocus()}else{if(Ext.isWebKit){this.execCmd("InsertText",b);this.deferFocus()}}}},fixKeys:function(){if(Ext.isIE){return function(c){var d=c.getKey(),a;if(d==c.TAB){c.stopEvent();a=this.doc.selection.createRange();if(a){a.collapse(true);a.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}else{if(d==c.ENTER){a=this.doc.selection.createRange();if(a){var b=a.parentElement();if(!b||b.tagName.toLowerCase()!="li"){c.stopEvent();a.pasteHTML("<br />");a.collapse(false);a.select()}}}}}}else{if(Ext.isOpera){return function(a){var b=a.getKey();if(b==a.TAB){a.stopEvent();this.win.focus();this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");this.deferFocus()}}}else{if(Ext.isWebKit){return function(a){var b=a.getKey();if(b==a.TAB){a.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:null,maxValue:null,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initComponent:function(){Ext.form.TimeField.superclass.initComponent.call(this);if(typeof this.minValue=="string"){this.minValue=this.parseDate(this.minValue)}if(typeof this.maxValue=="string"){this.maxValue=this.parseDate(this.maxValue)}if(!this.store){var a=this.parseDate(this.minValue);if(!a){a=new Date(this.initDate).clearTime()}var c=this.parseDate(this.maxValue);if(!c){c=new Date(this.initDate).clearTime().add("mi",(24*60)-1)}var b=[];while(a<=c){b.push([a.dateFormat(this.format)]);a=a.add("mi",this.increment)}this.store=new Ext.data.SimpleStore({fields:["text"],data:b});this.displayField="text"}},getValue:function(){var a=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(a))||""},setValue:function(a){Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(a)))},validateValue:Ext.form.DateField.prototype.validateValue,parseDate:Ext.form.DateField.prototype.parseDate,formatDate:Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var a=this.parseDate(this.getRawValue());if(a){this.setValue(a.dateFormat(this.format))}Ext.form.TimeField.superclass.beforeBlur.call(this)}});Ext.reg("timefield",Ext.form.TimeField);Ext.form.Label=Ext.extend(Ext.BoxComponent,{onRender:function(a,b){if(!this.el){this.el=document.createElement("label");this.el.id=this.getId();this.el.innerHTML=this.text?Ext.util.Format.htmlEncode(this.text):(this.html||"");if(this.forId){this.el.setAttribute("for",this.forId)}}Ext.form.Label.superclass.onRender.call(this,a,b)},setText:function(a,b){var c=b===false;this[!c?"text":"html"]=a;delete this[c?"text":"html"];if(this.rendered){this.el.dom.innerHTML=b!==false?Ext.util.Format.htmlEncode(a):a}return this}});Ext.reg("label",Ext.form.Label);Ext.form.Action=function(a,b){this.form=a;this.options=b||{}};Ext.form.Action.CLIENT_INVALID="client";Ext.form.Action.SERVER_INVALID="server";Ext.form.Action.CONNECT_FAILURE="connect";Ext.form.Action.LOAD_FAILURE="load";Ext.form.Action.prototype={type:"default",run:function(a){},success:function(a){},handleResponse:function(a){},failure:function(a){this.response=a;this.failureType=Ext.form.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(a){this.response=a;if(!a.responseText&&!a.responseXML){return true}this.result=this.handleResponse(a);return this.result},getUrl:function(c){var b=this.options.url||this.form.url||this.form.el.dom.action;if(c){var a=this.getParams();if(a){b+=(b.indexOf("?")!=-1?"&":"?")+a}}return b},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()},getParams:function(){var a=this.form.baseParams;var b=this.options.params;if(b){if(typeof b=="object"){b=Ext.urlEncode(Ext.applyIf(b,a))}else{if(typeof b=="string"&&a){b+="&"+Ext.urlEncode(a)}}}else{if(a){b=Ext.urlEncode(a)}}return b},createCallback:function(a){var a=a||{};return{success:this.success,failure:this.failure,scope:this,timeout:(a.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}}};Ext.form.Action.Submit=function(a,b){Ext.form.Action.Submit.superclass.constructor.call(this,a,b)};Ext.extend(Ext.form.Action.Submit,Ext.form.Action,{type:"submit",run:function(){var b=this.options;var a=this.getMethod();var c=a=="GET";if(b.clientValidation===false||this.form.isValid()){Ext.Ajax.request(Ext.apply(this.createCallback(b),{form:this.form.el.dom,url:this.getUrl(c),method:a,headers:b.headers,params:!c?this.getParams():null,isUpload:this.form.fileUpload}))}else{if(b.clientValidation!==false){this.failureType=Ext.form.Action.CLIENT_INVALID;this.form.afterAction(this,false)}}},success:function(b){var a=this.processResponse(b);if(a===true||a.success){this.form.afterAction(this,true);return}if(a.errors){this.form.markInvalid(a.errors);this.failureType=Ext.form.Action.SERVER_INVALID}this.form.afterAction(this,false)},handleResponse:function(c){if(this.form.errorReader){var b=this.form.errorReader.read(c);var e=[];if(b.records){for(var d=0,a=b.records.length;d<a;d++){var g=b.records[d];e[d]=g.data}}if(e.length<1){e=null}return{success:b.success,errors:e}}return Ext.decode(c.responseText)}});Ext.form.Action.Load=function(a,b){Ext.form.Action.Load.superclass.constructor.call(this,a,b);this.reader=this.form.reader};Ext.extend(Ext.form.Action.Load,Ext.form.Action,{type:"load",run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(this.options),{method:this.getMethod(),url:this.getUrl(false),headers:this.options.headers,params:this.getParams()}))},success:function(b){var a=this.processResponse(b);if(a===true||!a.success||!a.data){this.failureType=Ext.form.Action.LOAD_FAILURE;this.form.afterAction(this,false);return}this.form.clearInvalid();this.form.setValues(a.data);this.form.afterAction(this,true)},handleResponse:function(b){if(this.form.reader){var a=this.form.reader.read(b);var c=a.records&&a.records[0]?a.records[0].data:null;return{success:a.success,data:c}}return Ext.decode(b.responseText)}});Ext.form.Action.ACTION_TYPES={load:Ext.form.Action.Load,submit:Ext.form.Action.Submit};Ext.form.VTypes=function(){var d=/^[a-zA-Z_]+$/;var b=/^[a-zA-Z0-9_]+$/;var c=/^(\w+)([-+.][\w]+)*@(\w[-\w]*\.){1,5}([A-Za-z]){2,4}$/;var a=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return{email:function(e){return c.test(e)},emailText:'This field should be an e-mail address in the format "user@domain.com"',emailMask:/[a-z0-9_\.\-@]/i,url:function(e){return a.test(e)},urlText:'This field should be a URL in the format "http://www.domain.com"',alpha:function(e){return d.test(e)},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(e){return b.test(e)},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}}();Ext.grid.GridPanel=Ext.extend(Ext.Panel,{ddText:"{0} selected row{1}",minColumnWidth:25,trackMouseOver:true,enableDragDrop:false,enableColumnMove:true,enableColumnHide:true,enableHdMenu:true,stripeRows:false,autoExpandColumn:false,autoExpandMin:50,autoExpandMax:1000,view:null,loadMask:false,deferRowRender:true,rendered:false,viewReady:false,stateEvents:["columnmove","columnresize","sortchange"],initComponent:function(){Ext.grid.GridPanel.superclass.initComponent.call(this);this.autoScroll=false;this.autoWidth=false;if(Ext.isArray(this.columns)){this.colModel=new Ext.grid.ColumnModel(this.columns);delete this.columns}if(this.ds){this.store=this.ds;delete this.ds}if(this.cm){this.colModel=this.cm;delete this.cm}if(this.sm){this.selModel=this.sm;delete this.sm}this.store=Ext.StoreMgr.lookup(this.store);this.addEvents("click","dblclick","contextmenu","mousedown","mouseup","mouseover","mouseout","keypress","keydown","cellmousedown","rowmousedown","headermousedown","cellclick","celldblclick","rowclick","rowdblclick","headerclick","headerdblclick","rowcontextmenu","cellcontextmenu","headercontextmenu","bodyscroll","columnresize","columnmove","sortchange")},onRender:function(b,d){Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);var a=this.body;this.el.addClass("x-grid-panel");var e=this.getView();e.init(this);a.on("mousedown",this.onMouseDown,this);a.on("click",this.onClick,this);a.on("dblclick",this.onDblClick,this);a.on("contextmenu",this.onContextMenu,this);a.on("keydown",this.onKeyDown,this);this.relayEvents(a,["mousedown","mouseup","mouseover","mouseout","keypress"]);this.getSelectionModel().init(this);this.view.render()},initEvents:function(){Ext.grid.GridPanel.superclass.initEvents.call(this);if(this.loadMask){this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({store:this.store},this.loadMask))}},initStateEvents:function(){Ext.grid.GridPanel.superclass.initStateEvents.call(this);this.colModel.on("hiddenchange",this.saveState,this,{delay:100})},applyState:function(b){var g=this.colModel;var k=b.columns;if(k){for(var a=0,h=k.length;a<h;a++){var e=k[a];var d=g.getColumnById(e.id);if(d){d.hidden=e.hidden;d.width=e.width;var l=g.getIndexById(e.id);if(l!=a){g.moveColumn(l,a)}}}}if(b.sort){this.store[this.store.remoteSort?"setDefaultSort":"sort"](b.sort.field,b.sort.direction)}delete b.columns;delete b.sort;Ext.grid.GridPanel.superclass.applyState.call(this,b)},getState:function(){var a={columns:[]};for(var e=0,d;d=this.colModel.config[e];e++){a.columns[e]={id:d.id,width:d.width};if(d.hidden){a.columns[e].hidden=true}}var b=this.store.getSortState();if(b){a.sort=b}return a},afterRender:function(){Ext.grid.GridPanel.superclass.afterRender.call(this);this.view.layout();if(this.deferRowRender){this.view.afterRender.defer(10,this.view)}else{this.view.afterRender()}this.viewReady=true},reconfigure:function(a,b){if(this.loadMask){this.loadMask.destroy();this.loadMask=new Ext.LoadMask(this.bwrap,Ext.apply({},{store:a},this.initialConfig.loadMask))}this.view.bind(a,b);this.store=a;this.colModel=b;if(this.rendered){this.view.refresh(true)}},onKeyDown:function(a){this.fireEvent("keydown",a)},onDestroy:function(){if(this.rendered){var a=this.body;a.removeAllListeners();a.update("");Ext.destroy(this.view,this.loadMask)}Ext.destroy(this.colModel,this.selModel);Ext.grid.GridPanel.superclass.onDestroy.call(this)},processEvent:function(a,g){this.fireEvent(a,g);var b=g.getTarget();var c=this.view;var h=c.findHeaderIndex(b);if(h!==false){this.fireEvent("header"+a,this,h,g)}else{var d=c.findRowIndex(b);var k=c.findCellIndex(b);if(d!==false){this.fireEvent("row"+a,this,d,g);if(k!==false){this.fireEvent("cell"+a,this,d,k,g)}}}},onClick:function(a){this.processEvent("click",a)},onMouseDown:function(a){this.processEvent("mousedown",a)},onContextMenu:function(b,a){this.processEvent("contextmenu",b)},onDblClick:function(a){this.processEvent("dblclick",a)},walkCells:function(e,a,k,m,c){var h=this.colModel,b=h.getColumnCount();var l=this.store,d=l.getCount(),g=true;if(k<0){if(a<0){e--;g=false}while(e>=0){if(!g){a=b-1}g=false;while(a>=0){if(m.call(c||this,e,a,h)===true){return[e,a]}a--}e--}}else{if(a>=b){e++;g=false}while(e<d){if(!g){a=0}g=false;while(a<b){if(m.call(c||this,e,a,h)===true){return[e,a]}a++}e++}}return null},onResize:function(){Ext.grid.GridPanel.superclass.onResize.apply(this,arguments);if(this.viewReady){this.view.layout()}},getGridEl:function(){return this.body},stopEditing:Ext.emptyFn,getSelectionModel:function(){if(!this.selModel){this.selModel=new Ext.grid.RowSelectionModel(this.disableSelection?{selectRow:Ext.emptyFn}:null)}return this.selModel},getStore:function(){return this.store},getColumnModel:function(){return this.colModel},getView:function(){if(!this.view){this.view=new Ext.grid.GridView(this.viewConfig)}return this.view},getDragDropText:function(){var a=this.selModel.getCount();return String.format(this.ddText,a,a==1?"":"s")}});Ext.reg("grid",Ext.grid.GridPanel);Ext.grid.GridView=function(a){Ext.apply(this,a);this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");Ext.grid.GridView.superclass.constructor.call(this)};Ext.extend(Ext.grid.GridView,Ext.util.Observable,{deferEmptyText:true,scrollOffset:19,autoFill:false,forceFit:false,sortClasses:["sort-asc","sort-desc"],sortAscText:"Sort Ascending",sortDescText:"Sort Descending",columnsText:"Columns",borderWidth:2,tdClass:"x-grid3-cell",hdCls:"x-grid3-hd",cellSelectorDepth:4,rowSelectorDepth:10,cellSelector:"td.x-grid3-cell",rowSelector:"div.x-grid3-row",firstRowCls:"x-grid3-row-first",lastRowCls:"x-grid3-row-last",rowClsRe:/(?:^|\s+)x-grid3-row-(first|last|alt)(?:\s+|$)/g,initTemplates:function(){var b=this.templates||{};if(!b.master){b.master=new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header"><div class="x-grid3-header-inner"><div class="x-grid3-header-offset" style="{ostyle}">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body" style="{bstyle}">{body}</div><a href="#" class="x-grid3-focus" tabIndex="-1"></a></div>',"</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>")}if(!b.header){b.header=new Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>',"</table>")}if(!b.hcell){b.hcell=new Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}" style="{style}"><div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">',this.grid.enableHdMenu?'<a class="x-grid3-hd-btn" href="#"></a>':"",'{value}<img class="x-grid3-sort-icon" src="',Ext.BLANK_IMAGE_URL,'" />',"</div></td>")}if(!b.body){b.body=new Ext.Template("{rows}")}if(!b.row){b.row=new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}"><table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr>",(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>':""),"</tbody></table></div>")}if(!b.cell){b.cell=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>','<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',"</td>")}for(var c in b){var a=b[c];if(a&&typeof a.compile=="function"&&!a.compiled){a.disableFormats=true;a.compile()}}this.templates=b;this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")},fly:function(a){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=a;return this._flyweight},getEditorParent:function(){return this.scroller.dom},initElements:function(){var c=Ext.Element;var a=this.grid.getGridEl().dom.firstChild;var b=a.childNodes;this.el=new c(a);this.mainWrap=new c(b[0]);this.mainHd=new c(this.mainWrap.dom.firstChild);if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)}this.innerHd=this.mainHd.dom.firstChild;this.scroller=new c(this.mainWrap.dom.childNodes[1]);if(this.forceFit){this.scroller.setStyle("overflow-x","hidden")}this.mainBody=new c(this.scroller.dom.firstChild);this.focusEl=new c(this.scroller.dom.childNodes[1]);this.focusEl.swallowEvent("click",true);this.resizeMarker=new c(b[1]);this.resizeProxy=new c(b[2])},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(a){if(!a){return false}return this.fly(a).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(b,a){var c=this.findCell(b);if(c&&(!a||this.fly(c).hasClass(a))){return this.getCellIndex(c)}return false},getCellIndex:function(b){if(b){var a=b.className.match(this.colRe);if(a&&a[1]){return this.cm.getIndexById(a[1])}}return false},findHeaderCell:function(a){var b=this.findCell(a);return b&&this.fly(b).hasClass(this.hdCls)?b:null},findHeaderIndex:function(a){return this.findCellIndex(a,this.hdCls)},findRow:function(a){if(!a){return false}return this.fly(a).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(b){var a=this.findRow(b);return a?a.rowIndex:false},getRow:function(a){return this.getRows()[a]},getCell:function(b,a){return this.getRow(b).getElementsByTagName("td")[a]},getHeaderCell:function(a){return this.mainHd.dom.getElementsByTagName("td")[a]},addRowClass:function(b,c){var a=this.getRow(b);if(a){this.fly(a).addClass(c)}},removeRowClass:function(b,c){var a=this.getRow(b);if(a){this.fly(a).removeClass(c)}},removeRow:function(a){Ext.removeNode(this.getRow(a));this.syncFocusEl(a)},removeRows:function(b,a){var c=this.mainBody.dom;for(var d=b;d<=a;d++){Ext.removeNode(c.childNodes[b])}this.syncFocusEl(b)},getScrollState:function(){var a=this.scroller.dom;return{left:a.scrollLeft,top:a.scrollTop}},restoreScroll:function(a){var b=this.scroller.dom;b.scrollLeft=a.left;b.scrollTop=a.top},scrollToTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var a=this.scroller.dom;this.grid.fireEvent("bodyscroll",a.scrollLeft,a.scrollTop)},syncHeaderScroll:function(){var a=this.scroller.dom;this.innerHd.scrollLeft=a.scrollLeft;this.innerHd.scrollLeft=a.scrollLeft},updateSortIcon:function(c,a){var g=this.sortClasses;var b=this.mainHd.select("td").removeClass(g);try{b.item(c).addClass(g[a=="DESC"?1:0])}catch(d){}},updateAllColumnWidths:function(){var l=this.getTotalWidth();var d=this.cm.getColumnCount();var g=[];for(var a=0;a<d;a++){g[a]=this.getColumnWidth(a)}this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=l;this.mainBody.dom.style.width=l;for(var a=0;a<d;a++){var e=this.getHeaderCell(a);e.style.width=g[a]}var h=this.getRows(),k,c;for(var a=0,m=h.length;a<m;a++){k=h[a];k.style.width=l;if(k.firstChild){k.firstChild.style.width=l;c=k.firstChild.rows[0];for(var b=0;b<d;b++){c.childNodes[b].style.width=g[b]}}}this.onAllColumnWidthsUpdated(g,l)},updateColumnWidth:function(d,b){var l=this.getColumnWidth(d);var h=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=h;this.mainBody.dom.style.width=h;var a=this.getHeaderCell(d);a.style.width=l;var e=this.getRows(),g;for(var c=0,k=e.length;c<k;c++){g=e[c];g.style.width=h;if(g.firstChild){g.firstChild.style.width=h;g.firstChild.rows[0].childNodes[d].style.width=l}}this.onColumnWidthUpdated(d,l,h)},updateColumnHidden:function(d,b){var k=this.getTotalWidth();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=k;this.mainBody.dom.style.width=k;var e=b?"none":"";var a=this.getHeaderCell(d);a.style.display=e;var g=this.getRows(),h;for(var c=0,l=g.length;c<l;c++){h=g[c];h.style.width=k;if(h.firstChild){h.firstChild.style.width=k;h.firstChild.rows[0].childNodes[d].style.display=e}}this.onColumnHiddenUpdated(d,b,k);delete this.lastViewWidth;this.layout()},doRender:function(k,A,l,t,z,v){var a=this.templates,y=a.cell,o=a.row,g=z-1;var s="width:"+this.getTotalWidth()+";";var q=[],d,u,e={},x={tstyle:s},h;for(var m=0,B=A.length;m<B;m++){h=A[m];d=[];var b=(m+t);for(var n=0;n<z;n++){u=k[n];e.id=u.id;e.css=n==0?"x-grid3-cell-first ":(n==g?"x-grid3-cell-last ":"");e.attr=e.cellAttr="";e.value=u.renderer(h.data[u.name],e,h,b,n,l);e.style=u.style;if(e.value==undefined||e.value===""){e.value="&#160;"}if(h.dirty&&typeof h.modified[u.name]!=="undefined"){e.css+=" x-grid3-dirty-cell"}d[d.length]=y.apply(e)}var w=[];if(v&&((b+1)%2==0)){w[0]="x-grid3-row-alt"}if(h.dirty){w[1]=" x-grid3-dirty-row"}x.cols=z;if(this.getRowClass){w[2]=this.getRowClass(h,b,x,l)}x.alt=w.join(" ");x.cells=d.join("");q[q.length]=o.apply(x)}return q.join("")},processRows:function(a,b){if(!this.ds||this.ds.getCount()<1){return}var c=this.getRows();b=b||!this.grid.stripeRows;a=a||0;Ext.each(c,function(d,e){d.rowIndex=e;d.className=d.className.replace(this.rowClsRe," ");if(!b&&(e+1)%2===0){d.className+=" x-grid3-row-alt"}});if(a===0){Ext.fly(c[0]).addClass(this.firstRowCls)}Ext.fly(c[c.length-1]).addClass(this.lastRowCls)},afterRender:function(){this.mainBody.dom.innerHTML=this.renderRows()||"&nbsp;";this.processRows(0,true);if(this.deferEmptyText!==true){this.applyEmptyText()}},renderUI:function(){var c=this.renderHeaders();var a=this.templates.body.apply({rows:"&nbsp;"});var b=this.templates.master.apply({body:a,header:c,ostyle:"width:"+this.getOffsetWidth()+";",bstyle:"width:"+this.getTotalWidth()+";"});var d=this.grid;d.getGridEl().dom.innerHTML=b;this.initElements();Ext.fly(this.innerHd).on("click",this.handleHdDown,this);this.mainHd.on("mouseover",this.handleHdOver,this);this.mainHd.on("mouseout",this.handleHdOut,this);this.mainHd.on("mousemove",this.handleHdMove,this);this.scroller.on("scroll",this.syncScroll,this);if(d.enableColumnResize!==false){this.splitZone=new Ext.grid.GridView.SplitDragZone(d,this.mainHd.dom)}if(d.enableColumnMove){this.columnDrag=new Ext.grid.GridView.ColumnDragZone(d,this.innerHd);this.columnDrop=new Ext.grid.HeaderDropZone(d,this.mainHd.dom)}if(d.enableHdMenu!==false){if(d.enableColumnHide!==false){this.colMenu=new Ext.menu.Menu({id:d.id+"-hcols-menu"});this.colMenu.on("beforeshow",this.beforeColMenuShow,this);this.colMenu.on("itemclick",this.handleHdMenuClick,this)}this.hmenu=new Ext.menu.Menu({id:d.id+"-hctx"});this.hmenu.add({id:"asc",text:this.sortAscText,cls:"xg-hmenu-sort-asc"},{id:"desc",text:this.sortDescText,cls:"xg-hmenu-sort-desc"});if(d.enableColumnHide!==false){this.hmenu.add("-",{id:"columns",hideOnClick:false,text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})}this.hmenu.on("itemclick",this.handleHdMenuClick,this)}if(d.trackMouseOver){this.mainBody.on("mouseover",this.onRowOver,this);this.mainBody.on("mouseout",this.onRowOut,this)}if(d.enableDragDrop||d.enableDrag){this.dragZone=new Ext.grid.GridDragZone(d,{ddGroup:d.ddGroup||"GridDD"})}this.updateHeaderSortState()},layout:function(){if(!this.mainBody){return}var k=this.grid;var d=k.getGridEl();var a=d.getSize(true);var h=a.width;if(h<20||a.height<20){return}if(k.autoHeight){this.scroller.dom.style.overflow="visible";if(Ext.isWebKit){this.scroller.dom.style.position="static"}}else{this.el.setSize(a.width,a.height);var b=this.mainHd.getHeight();var e=a.height-(b);this.scroller.setSize(h,e);if(this.innerHd){this.innerHd.style.width=(h)+"px"}}if(this.forceFit){if(this.lastViewWidth!=h){this.fitColumns(false,false);this.lastViewWidth=h}}else{this.autoExpand();this.syncHeaderScroll()}this.onLayout(h,e)},onLayout:function(b,a){},onColumnWidthUpdated:function(a,b,c){},onAllColumnWidthsUpdated:function(b,a){},onColumnHiddenUpdated:function(a,b,c){},updateColumnText:function(a,b){},afterMove:function(a){},init:function(a){this.grid=a;this.initTemplates();this.initData(a.store,a.colModel);this.initUI(a)},getColumnId:function(a){return this.cm.getColumnId(a)},getOffsetWidth:function(){return(this.cm.getTotalWidth()+this.scrollOffset)+"px"},renderHeaders:function(){var k=this.cm,c=this.templates;var d=c.hcell;var h=[],a=[],g={};var l=k.getColumnCount();var b=l-1;for(var e=0;e<l;e++){g.id=k.getColumnId(e);g.value=k.getColumnHeader(e)||"";g.style=this.getColumnStyle(e,true);g.tooltip=this.getColumnTooltip(e);g.css=e==0?"x-grid3-cell-first ":(e==b?"x-grid3-cell-last ":"");if(k.config[e].align=="right"){g.istyle="padding-right:16px"}else{delete g.istyle}h[h.length]=d.apply(g)}return c.header.apply({cells:h.join(""),tstyle:"width:"+this.getTotalWidth()+";"})},getColumnTooltip:function(b){var a=this.cm.getColumnTooltip(b);if(a){if(Ext.QuickTips.isEnabled()){return'ext:qtip="'+a+'"'}else{return'title="'+a+'"'}}return""},beforeUpdate:function(){this.grid.stopEditing(true)},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders();this.innerHd.firstChild.style.width=this.getOffsetWidth();this.innerHd.firstChild.firstChild.style.width=this.getTotalWidth()},focusRow:function(a){this.focusCell(a,0,false)},focusCell:function(c,b,a){this.syncFocusEl(this.ensureVisible(c,b,a));if(Ext.isGecko){this.focusEl.focus()}else{this.focusEl.focus.defer(1,this.focusEl)}},resolveCell:function(e,c,b){if(typeof e!="number"){e=e.rowIndex}if(!this.ds){return null}if(e<0||e>=this.ds.getCount()){return null}c=(c!==undefined?c:0);var h=this.getRow(e),d=this.cm,a=d.getColumnCount(),g;if(!(b===false&&c===0)){while(c<a&&d.isHidden(c)){c++}g=this.getCell(e,c)}return{row:h,cell:g}},getResolvedXY:function(e){if(!e){return null}var b=this.scroller.dom,d=e.cell,a=e.row;return d?Ext.fly(d).getXY():[this.el.getX(),Ext.fly(a).getY()]},syncFocusEl:function(d,c,b){var a=d;if(!Ext.isArray(a)){d=Math.min(d,Math.max(0,this.getRows().length-1));a=this.getResolvedXY(this.resolveCell(d,c,b))}this.focusEl.setXY(a||this.scroller.getXY())},ensureVisible:function(q,u,k){var m=this.resolveCell(q,u,k);if(!m||!m.row){return}var n=m.row,t=m.cell;var o=this.scroller.dom;var g=0;var e=n,s=this.el.dom;while(e&&e!=s){g+=e.offsetTop;e=e.offsetParent}g-=this.mainHd.dom.offsetHeight;var d=g+n.offsetHeight;var h=o.clientHeight;var s=parseInt(o.scrollTop,10);var r=s+h;if(g<s){o.scrollTop=g}else{if(d>r){o.scrollTop=d-h}}if(k!==false){var l=parseInt(t.offsetLeft,10);var v=l+t.offsetWidth;var a=parseInt(o.scrollLeft,10);var b=a+o.clientWidth;if(l<a){o.scrollLeft=l}else{if(v>b){o.scrollLeft=v-o.clientWidth}}}return this.getResolvedXY(m)},insertRows:function(d,a,e,c){var k=d.getCount()-1;if(!c&&a===0&&e>=k){this.refresh()}else{if(!c){this.fireEvent("beforerowsinserted",this,a,e)}var b=this.renderRows(a,e);var h=this.getRow(a);if(h){if(a===0){Ext.fly(this.getRow(0)).removeClass(this.firstRowCls)}Ext.DomHelper.insertHtml("beforeBegin",h,b)}else{var g=this.getRow(k-1);if(g){Ext.fly(g).removeClass(this.lastRowCls)}Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,b)}if(!c){this.fireEvent("rowsinserted",this,a,e);this.processRows(a)}else{if(a===0||a>=k){Ext.fly(this.getRow(a)).addClass(a===0?this.firstRowCls:this.lastRowCls)}}}this.syncFocusEl(a)},deleteRows:function(a,b,c){if(a.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,b,c);this.removeRows(b,c);this.processRows(b);this.fireEvent("rowsdeleted",this,b,c)}},getColumnStyle:function(c,b){var d=!b?(this.cm.config[c].css||""):"";d+="width:"+this.getColumnWidth(c)+";";if(this.cm.isHidden(c)){d+="display:none;"}var a=this.cm.config[c].align;if(a){d+="text-align:"+a+";"}return d},getColumnWidth:function(a){var b=this.cm.getColumnWidth(a);if(typeof b=="number"){return(Ext.isBorderBox||(Ext.isWebKit&&!Ext.isSafari2)?b:(b-this.borderWidth>0?b-this.borderWidth:0))+"px"}return b},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(p,e,o){var b=this.cm,q,d,g;var n=b.getTotalWidth(false);var s=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(s<20){return}var h=s-n;if(h===0){return false}var c=b.getColumnCount(true);var k=c-(typeof o=="number"?1:0);if(k===0){k=1;o=undefined}var u=b.getColumnCount();var v=[];var t=0;var l=0;var m;for(g=0;g<u;g++){if(!b.isHidden(g)&&!b.isFixed(g)&&g!==o){m=b.getColumnWidth(g);v.push(g);t=g;v.push(m);l+=m}}var r=(s-b.getTotalWidth())/l;while(v.length){m=v.pop();g=v.pop();b.setColumnWidth(g,Math.max(this.grid.minColumnWidth,Math.floor(m+m*r)),true)}if((n=b.getTotalWidth(false))>s){var a=k!=c?o:t;b.setColumnWidth(a,Math.max(1,b.getColumnWidth(a)-(n-s)),true)}if(p!==true){this.updateAllColumnWidths()}return true},autoExpand:function(l){var e=this.grid,h=this.cm;if(!this.userResized&&e.autoExpandColumn){var k=h.getTotalWidth(false);var b=this.grid.getGridEl().getWidth(true)-this.scrollOffset;if(k!=b){var a=h.getIndexById(e.autoExpandColumn);var d=h.getColumnWidth(a);var c=Math.min(Math.max(((b-k)+d),e.autoExpandMin),e.autoExpandMax);if(c!=d){h.setColumnWidth(a,c,true);if(l!==true){this.updateColumnWidth(a,c)}}}}},getColumnData:function(){var d=[],e=this.cm,a=e.getColumnCount();for(var c=0;c<a;c++){var b=e.getDataIndex(c);d[c]={name:(typeof b=="undefined"?this.ds.fields.get(c).name:b),renderer:e.getRenderer(c),id:e.getColumnId(c),style:this.getColumnStyle(c)}}return d},renderRows:function(h,c){var e=this.grid,k=e.colModel,m=e.store,b=e.stripeRows;var d=k.getColumnCount();if(m.getCount()<1){return""}var l=this.getColumnData();h=h||0;c=typeof c=="undefined"?m.getCount()-1:c;var a=m.getRange(h,c);return this.doRender(l,a,m,h,d,b)},renderBody:function(){var a=this.renderRows()||"&nbsp;";return this.templates.body.apply({rows:a})},refreshRow:function(a){var c=this.ds,d;if(typeof a=="number"){d=a;a=c.getAt(d);if(!a){return}}else{d=c.indexOf(a);if(d<0){return}}var b=[];this.insertRows(c,d,d,true);this.getRow(d).rowIndex=d;this.onRemove(c,a,d+1,true);this.fireEvent("rowupdated",this,d,a)},refresh:function(b){this.fireEvent("beforerefresh",this);this.grid.stopEditing(true);var a=this.renderBody();this.mainBody.update(a).setWidth(this.getTotalWidth());if(b===true){this.updateHeaders();this.updateHeaderSortState()}this.processRows(0,true);this.layout();this.applyEmptyText();this.fireEvent("refresh",this)},applyEmptyText:function(){if(this.emptyText&&!this.hasRows()){this.mainBody.update('<div class="x-grid-empty">'+this.emptyText+"</div>")}},updateHeaderSortState:function(){var a=this.ds.getSortState();if(!a){return}if(!this.sortState||(this.sortState.field!=a.field||this.sortState.direction!=a.direction)){this.grid.fireEvent("sortchange",this.grid,a)}this.sortState=a;var c=this.cm.findColumnIndex(a.field);if(c!=-1){var b=a.direction;this.updateSortIcon(c,b)}},destroy:function(){if(this.colMenu){Ext.menu.MenuMgr.unregister(this.colMenu);this.colMenu.destroy();delete this.colMenu}if(this.hmenu){Ext.menu.MenuMgr.unregister(this.hmenu);this.hmenu.destroy();delete this.hmenu}if(this.grid.enableColumnMove){var b=Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id];if(b){for(var c in b){if(!b[c].config.isTarget&&b[c].dragElId){var a=b[c].dragElId;b[c].unreg();Ext.get(a).remove()}else{if(b[c].config.isTarget){b[c].proxyTop.remove();b[c].proxyBottom.remove();b[c].unreg()}}if(Ext.dd.DDM.locationCache[c]){delete Ext.dd.DDM.locationCache[c]}}delete Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id]}}if(this.dragZone){this.dragZone.unreg()}Ext.fly(this.innerHd).removeAllListeners();Ext.removeNode(this.innerHd);Ext.destroy(this.resizeMarker,this.resizeProxy,this.focusEl,this.mainBody,this.scroller,this.mainHd,this.mainWrap,this.dragZone,this.splitZone,this.columnDrag,this.columnDrop);this.initData(null,null);Ext.EventManager.removeResizeListener(this.onWindowResize,this);this.purgeListeners()},onDenyColumnHide:function(){},render:function(){if(this.autoFill){var a=this.grid.ownerCt;if(a&&a.getLayout()){a.on("afterlayout",function(){this.fitColumns(true,true);this.updateHeaders()},this,{single:true})}else{this.fitColumns(true,true)}}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.renderUI()},initData:function(a,b){if(this.ds){this.ds.un("load",this.onLoad,this);this.ds.un("datachanged",this.onDataChange,this);this.ds.un("add",this.onAdd,this);this.ds.un("remove",this.onRemove,this);this.ds.un("update",this.onUpdate,this);this.ds.un("clear",this.onClear,this)}if(a){a.on("load",this.onLoad,this);a.on("datachanged",this.onDataChange,this);a.on("add",this.onAdd,this);a.on("remove",this.onRemove,this);a.on("update",this.onUpdate,this);a.on("clear",this.onClear,this)}this.ds=a;if(this.cm){this.cm.un("configchange",this.onColConfigChange,this);this.cm.un("widthchange",this.onColWidthChange,this);this.cm.un("headerchange",this.onHeaderChange,this);this.cm.un("hiddenchange",this.onHiddenChange,this);this.cm.un("columnmoved",this.onColumnMove,this);this.cm.un("columnlockchange",this.onColumnLock,this)}if(b){delete this.lastViewWidth;b.on("configchange",this.onColConfigChange,this);b.on("widthchange",this.onColWidthChange,this);b.on("headerchange",this.onHeaderChange,this);b.on("hiddenchange",this.onHiddenChange,this);b.on("columnmoved",this.onColumnMove,this);b.on("columnlockchange",this.onColumnLock,this)}this.cm=b},onDataChange:function(){this.refresh();this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(b,a){this.refreshRow(a)},onAdd:function(c,a,b){this.insertRows(c,b,b+(a.length-1))},onRemove:function(c,b,d,a){if(a!==true){this.fireEvent("beforerowremoved",this,d,b)}this.removeRow(d);if(a!==true){this.processRows(d);this.applyEmptyText();this.fireEvent("rowremoved",this,d,b)}},onLoad:function(){this.scrollToTop()},onColWidthChange:function(c,b,a){this.updateColumnWidth(b,a)},onHeaderChange:function(c,b,a){this.updateHeaders()},onHiddenChange:function(c,a,b){this.updateColumnHidden(a,b)},onColumnMove:function(d,b,c){this.indexMap=null;var a=this.getScrollState();this.refresh(true);this.restoreScroll(a);this.afterMove(c);this.grid.fireEvent("columnmove",b,c)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(a){a.on("headerclick",this.onHeaderClick,this)},initEvents:function(){},onHeaderClick:function(b,a){if(this.headersDisabled||!this.cm.isSortable(a)){return}b.stopEditing(true);b.store.sort(this.cm.getDataIndex(a))},onRowOver:function(c,a){var b;if((b=this.findRowIndex(a))!==false){this.addRowClass(b,"x-grid3-row-over")}},onRowOut:function(c,a){var b;if((b=this.findRowIndex(a))!==false&&!c.within(this.getRow(b),true)){this.removeRowClass(b,"x-grid3-row-over")}},handleWheel:function(a){a.stopPropagation()},onRowSelect:function(a){this.addRowClass(a,"x-grid3-row-selected")},onRowDeselect:function(a){this.removeRowClass(a,"x-grid3-row-selected")},onCellSelect:function(b,a){var c=this.getCell(b,a);if(c){this.fly(c).addClass("x-grid3-cell-selected")}},onCellDeselect:function(b,a){var c=this.getCell(b,a);if(c){this.fly(c).removeClass("x-grid3-cell-selected")}},onColumnSplitterMoved:function(b,a){this.userResized=true;var c=this.grid.colModel;c.setColumnWidth(b,a,true);if(this.forceFit){this.fitColumns(true,false,b);this.updateAllColumnWidths()}else{this.updateColumnWidth(b,a);this.syncHeaderScroll()}this.grid.fireEvent("columnresize",b,a)},handleHdMenuClick:function(b){var c=this.hdCtxIndex;var d=this.cm,a=this.ds;switch(b.id){case"asc":a.sort(d.getDataIndex(c),"ASC");break;case"desc":a.sort(d.getDataIndex(c),"DESC");break;default:c=d.getIndexById(b.id.substr(4));if(c!=-1){if(b.checked&&d.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();return false}d.setHidden(c,b.checked)}}return true},isHideableColumn:function(a){return !a.hidden&&!a.fixed},beforeColMenuShow:function(){var c=this.cm,a=c.getColumnCount();this.colMenu.removeAll();for(var b=0;b<a;b++){if(c.config[b].fixed!==true&&c.config[b].hideable!==false){this.colMenu.add(new Ext.menu.CheckItem({id:"col-"+c.getColumnId(b),text:c.getColumnHeader(b),checked:!c.isHidden(b),hideOnClick:false,disabled:c.config[b].hideable===false}))}}},handleHdDown:function(d,a){if(Ext.fly(a).hasClass("x-grid3-hd-btn")){d.stopEvent();var c=this.findHeaderCell(a);Ext.fly(c).addClass("x-grid3-hd-menu-open");var g=this.getCellIndex(c);this.hdCtxIndex=g;var b=this.hmenu.items,h=this.cm;b.get("asc").setDisabled(!h.isSortable(g));b.get("desc").setDisabled(!h.isSortable(g));this.hmenu.on("hide",function(){Ext.fly(c).removeClass("x-grid3-hd-menu-open")},this,{single:true});this.hmenu.show(a,"tl-bl?")}},handleHdOver:function(c,a){var b=this.findHeaderCell(a);if(b&&!this.headersDisabled){this.activeHd=b;this.activeHdIndex=this.getCellIndex(b);var d=this.fly(b);this.activeHdRegion=d.getRegion();if(!this.cm.isMenuDisabled(this.activeHdIndex)){d.addClass("x-grid3-hd-over");this.activeHdBtn=d.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(b.firstChild.offsetHeight-1)+"px"}}}},handleHdMove:function(h,c){if(this.activeHd&&!this.headersDisabled){var a=this.splitHandleWidth||5;var g=this.activeHdRegion;var b=h.getPageX();var d=this.activeHd.style;if(b-g.left<=a&&this.cm.isResizable(this.activeHdIndex-1)){d.cursor=Ext.isAir?"move":Ext.isWebKit?"e-resize":"col-resize"}else{if(g.right-b<=(!this.activeHdBtn?a:2)&&this.cm.isResizable(this.activeHdIndex)){d.cursor=Ext.isAir?"move":Ext.isWebKit?"w-resize":"col-resize"}else{d.cursor=""}}}},handleHdOut:function(c,a){var b=this.findHeaderCell(a);if(b&&(!Ext.isIE||!c.within(b,true))){this.activeHd=null;this.fly(b).removeClass("x-grid3-hd-over");b.style.cursor=""}},hasRows:function(){var a=this.mainBody.dom.firstChild;return a&&a.nodeType==1&&a.className!="x-grid-empty"},bind:function(b,a){this.initData(b,a)}});Ext.grid.GridView.SplitDragZone=function(a,b){this.grid=a;this.view=a.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,b,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.scroll=false;this.hw=this.view.splitHandleWidth||5};Ext.extend(Ext.grid.GridView.SplitDragZone,Ext.dd.DDProxy,{b4StartDrag:function(a,b){this.view.headersDisabled=true;var d=this.view.mainWrap.getHeight();this.marker.setHeight(d);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(d);var c=this.cm.getColumnWidth(this.cellIndex);var e=Math.max(c-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(e,1000);this.setYConstraint(0,0);this.minX=a-e;this.maxX=a+1000;this.startPos=a;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,a,b)},handleMouseDown:function(h){var n=this.view.findHeaderCell(h.getTarget());if(n){var m=this.view.fly(n).getXY(),a=m[0],d=m[1];var c=h.getXY(),l=c[0],k=c[1];var o=n.offsetWidth,b=false;if((l-a)<=this.hw){b=-1}else{if((a+o)-l<=this.hw){b=0}}if(b!==false){this.cm=this.grid.colModel;var g=this.view.getCellIndex(n);if(b==-1){if(g+b<0){return}while(this.cm.isHidden(g+b)){--b;if(g+b<0){return}}}this.cellIndex=g+b;this.split=n.dom;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}else{if(this.view.columnDrag){this.view.columnDrag.callHandleMouseDown(h)}}}},endDrag:function(d){this.marker.hide();var b=this.view;var a=Math.max(this.minX,d.getPageX());var c=a-this.startPos;b.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+c);setTimeout(function(){b.headersDisabled=false},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GroupingView=Ext.extend(Ext.grid.GridView,{hideGroupedColumn:false,showGroupName:true,startCollapsed:false,enableGrouping:true,enableGroupingMenu:true,enableNoGroups:true,emptyGroupText:"(None)",ignoreAdd:false,groupTextTpl:"{text}",gidSeed:1000,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var a=this.grid.getSelectionModel();a.on(a.selectRow?"beforerowselect":"beforecellselect",this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('<div id="{groupId}" class="x-grid-group {cls}">','<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}"><div>',this.groupTextTpl,"</div></div>",'<div id="{groupId}-bd" class="x-grid-group-body">')}this.startGroup.compile();this.endGroup="</div></div>"},findGroup:function(a){return Ext.fly(a).up(".x-grid-group",this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(){if(this.enableGrouping&&!this.ignoreAdd){var a=this.getScrollState();this.refresh();this.restoreScroll(a)}else{if(!this.enableGrouping){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(d,b,e,a){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var c=document.getElementById(b._groupId);if(c&&c.childNodes[1].childNodes.length<1){Ext.removeNode(c)}this.applyEmptyText()},refreshRow:function(a){if(this.ds.getCount()==1){this.refresh()}else{this.isUpdating=true;Ext.grid.GroupingView.superclass.refreshRow.apply(this,arguments);this.isUpdating=false}},beforeMenuShow:function(){var b=this.getGroupField();var c=this.hmenu.items.get("groupBy");if(c){c.setDisabled(this.cm.config[this.hdCtxIndex].groupable===false)}var a=this.hmenu.items.get("showGroups");if(a){a.setDisabled(!b&&this.cm.config[this.hdCtxIndex].groupable===false);a.setChecked(!!b,true)}},renderUI:function(){Ext.grid.GroupingView.superclass.renderUI.call(this);this.mainBody.on("mousedown",this.interceptMouse,this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{id:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({id:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}},onGroupByClick:function(){this.grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));this.beforeMenuShow()},onShowGroupsClick:function(b,a){if(a){this.onGroupByClick()}else{this.grid.store.clearGrouping()}},toggleGroup:function(a,b){this.grid.stopEditing(true);a=Ext.getDom(a);var c=Ext.fly(a);b=b!==undefined?b:c.hasClass("x-grid-group-collapsed");this.state[c.dom.id]=b;c[b?"removeClass":"addClass"]("x-grid-group-collapsed")},toggleAllGroups:function(c){var b=this.getGroups();for(var d=0,a=b.length;d<a;d++){this.toggleGroup(b[d],c)}},expandAllGroups:function(){this.toggleAllGroups(true)},collapseAllGroups:function(){this.toggleAllGroups(false)},interceptMouse:function(b){var a=b.getTarget(".x-grid-group-hd",this.mainBody);if(a){b.stopEvent();this.toggleGroup(a.parentNode)}},getGroup:function(c,a,b,h,e,d){var k=b?b(c,{},a,h,e,d):String(c);if(k===""){k=this.cm.config[e].emptyGroupText||this.emptyGroupText}return k},getGroupField:function(){return this.grid.store.getGroupState()},afterRender:function(){Ext.grid.GroupingView.superclass.afterRender.call(this);if(this.grid.deferRowRender){this.updateGroupWidths()}},renderRows:function(){var b=this.getGroupField();var a=!!b;if(this.hideGroupedColumn){var c=this.cm.findColumnIndex(b);if(!a&&this.lastGroupField!==undefined){this.mainBody.update("");this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);delete this.lastGroupField}else{if(a&&this.lastGroupField===undefined){this.lastGroupField=b;this.cm.setHidden(c,true)}else{if(a&&this.lastGroupField!==undefined&&b!==this.lastGroupField){this.mainBody.update("");var d=this.cm.findColumnIndex(this.lastGroupField);this.cm.setHidden(d,false);this.lastGroupField=b;this.cm.setHidden(c,true)}}}}return Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)},doRender:function(l,C,m,t,B,v){if(C.length<1){return""}var k=this.getGroupField();var z=this.cm.findColumnIndex(k);this.enableGrouping=!!k;if(!this.enableGrouping||this.isUpdating){return Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)}var w="width:"+this.getTotalWidth()+";";var c=this.grid.getGridEl().id;var b=this.cm.config[z];var q=b.groupRenderer||b.renderer;var A=this.showGroupName?(b.groupName||b.header)+": ":"";var u=[],n,o,D,y;for(o=0,D=C.length;o<D;o++){var a=t+o;var e=C[o],h=e.data[k],x=this.getGroup(h,e,q,a,z,m);if(!n||n.group!=x){y=c+"-gp-"+k+"-"+Ext.util.Format.htmlEncode(x);var d=typeof this.state[y]!=="undefined"?!this.state[y]:this.startCollapsed;var s=d?"x-grid-group-collapsed":"";n={group:x,gvalue:h,text:A+x,groupId:y,startRow:a,rs:[e],cls:s,style:w};u.push(n)}else{n.rs.push(e)}e._groupId=y}var p=[];for(o=0,D=u.length;o<D;o++){var x=u[o];this.doGroupStart(p,x,l,m,B);p[p.length]=Ext.grid.GroupingView.superclass.doRender.call(this,l,x.rs,m,x.startRow,B,v);this.doGroupEnd(p,x,l,m,B)}return p.join("")},getGroupId:function(b){var e=this.grid.getGridEl().id;var d=this.getGroupField();var a=this.cm.findColumnIndex(d);var g=this.cm.config[a];var c=g.groupRenderer||g.renderer;var h=this.getGroup(b,{data:{}},c,0,a,this.ds);return e+"-gp-"+d+"-"+Ext.util.Format.htmlEncode(b)},doGroupStart:function(b,e,c,d,a){b[b.length]=this.startGroup.apply(e)},doGroupEnd:function(b,e,c,d,a){b[b.length]=this.endGroup},getRows:function(){if(!this.enableGrouping){return Ext.grid.GroupingView.superclass.getRows.call(this)}var a=[];var k,b=this.getGroups();for(var e=0,c=b.length;e<c;e++){k=b[e].childNodes[1].childNodes;for(var h=0,d=k.length;h<d;h++){a[a.length]=k[h]}}return a},updateGroupWidths:function(){if(!this.enableGrouping||!this.hasRows()){return}var d=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.scrollOffset)+"px";var b=this.getGroups();for(var c=0,a=b.length;c<a;c++){b[c].firstChild.style.width=d}},onColumnWidthUpdated:function(a,b,c){Ext.grid.GroupingView.superclass.onColumnWidthUpdated.call(this,a,b,c);this.updateGroupWidths()},onAllColumnWidthsUpdated:function(b,a){Ext.grid.GroupingView.superclass.onAllColumnWidthsUpdated.call(this,b,a);this.updateGroupWidths()},onColumnHiddenUpdated:function(a,b,c){Ext.grid.GroupingView.superclass.onColumnHiddenUpdated.call(this,a,b,c);this.updateGroupWidths()},onLayout:function(){this.updateGroupWidths()},onBeforeRowSelect:function(a,c){if(!this.enableGrouping){return}var b=this.getRow(c);if(b&&!b.offsetParent){var d=this.findGroup(b);this.toggleGroup(d,true)}},groupByText:"Group By This Field",showGroupsText:"Show in Groups"});Ext.grid.GroupingView.GROUP_ID=1000;Ext.grid.HeaderDragZone=function(a,b,c){this.grid=a;this.view=a.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,b);if(c){this.setHandleElId(Ext.id(b));this.setOuterHandleElId(Ext.id(c))}this.scroll=false};Ext.extend(Ext.grid.HeaderDragZone,Ext.dd.DragZone,{maxDragWidth:120,getDragData:function(c){var a=Ext.lib.Event.getTarget(c);var b=this.view.findHeaderCell(a);if(b){return{ddel:b.firstChild,header:b}}return false},onInitDrag:function(a){this.view.headersDisabled=true;var b=this.dragData.ddel.cloneNode(true);b.id=Ext.id();b.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(b);return true},afterValidDrop:function(){var a=this.view;setTimeout(function(){a.headersDisabled=false},50)},afterInvalidDrop:function(){var a=this.view;setTimeout(function(){a.headersDisabled=false},50)}});Ext.grid.HeaderDropZone=function(a,b,c){this.grid=a;this.view=a.getView();this.proxyTop=Ext.DomHelper.append(document.body,{cls:"col-move-top",html:"&#160;"},true);this.proxyBottom=Ext.DomHelper.append(document.body,{cls:"col-move-bottom",html:"&#160;"},true);this.proxyTop.hide=this.proxyBottom.hide=function(){this.setLeftTop(-100,-100);this.setStyle("visibility","hidden")};this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDropZone.superclass.constructor.call(this,a.getGridEl().dom)};Ext.extend(Ext.grid.HeaderDropZone,Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,getTargetFromEvent:function(c){var a=Ext.lib.Event.getTarget(c);var b=this.view.findCellIndex(a);if(b!==false){return this.view.getHeaderCell(b)}},nextVisible:function(b){var a=this.view,c=this.grid.colModel;b=b.nextSibling;while(b){if(!c.isHidden(a.getCellIndex(b))){return b}b=b.nextSibling}return null},prevVisible:function(b){var a=this.view,c=this.grid.colModel;b=b.prevSibling;while(b){if(!c.isHidden(a.getCellIndex(b))){return b}b=b.prevSibling}return null},positionIndicator:function(q,c,l){var d=Ext.lib.Event.getPageX(l);var k=Ext.lib.Dom.getRegion(c.firstChild);var m,g,a=k.top+this.proxyOffsets[1];if((k.right-d)<=(k.right-k.left)/2){m=k.right+this.view.borderWidth;g="after"}else{m=k.left;g="before"}var p=this.view.getCellIndex(q);var b=this.view.getCellIndex(c);if(this.grid.colModel.isFixed(b)){return false}var o=this.grid.colModel.isLocked(b);if(g=="after"){b++}if(p<b){b--}if(p==b&&(o==this.grid.colModel.isLocked(p))){return false}m+=this.proxyOffsets[0];this.proxyTop.setLeftTop(m,a);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(m,a+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return g},onNodeEnter:function(a,c,b,d){if(d.header!=a){this.positionIndicator(d.header,a,b)}},onNodeOver:function(a,d,c,g){var b=false;if(g.header!=a){b=this.positionIndicator(g.header,a,c)}if(!b){this.proxyTop.hide();this.proxyBottom.hide()}return b?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(a,c,b,d){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(c,m,g,k){var s=k.header;if(s!=c){var p=this.grid.colModel;var d=Ext.lib.Event.getPageX(g);var o=Ext.lib.Dom.getRegion(c.firstChild);var a=(o.right-d)<=((o.right-o.left)/2)?"after":"before";var q=this.view.getCellIndex(s);var b=this.view.getCellIndex(c);var l=p.isLocked(b);if(a=="after"){b++}if(q<b){b--}if(q==b&&(l==p.isLocked(q))){return false}p.setLocked(q,l,true);p.moveColumn(q,b);this.grid.fireEvent("columnmove",q,b);return true}return false}});Ext.grid.GridView.ColumnDragZone=function(a,b){Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,a,b,null);this.proxy.el.addClass("x-grid3-col-dd")};Ext.extend(Ext.grid.GridView.ColumnDragZone,Ext.grid.HeaderDragZone,{handleMouseDown:function(a){},callHandleMouseDown:function(a){Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,a)}});Ext.grid.SplitDragZone=function(a,b,c){this.grid=a;this.view=a.getView();this.proxy=this.view.resizeProxy;Ext.grid.SplitDragZone.superclass.constructor.call(this,b,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.setHandleElId(Ext.id(b));this.setOuterHandleElId(Ext.id(c));this.scroll=false};Ext.extend(Ext.grid.SplitDragZone,Ext.dd.DDProxy,{fly:Ext.Element.fly,b4StartDrag:function(a,b){this.view.headersDisabled=true;this.proxy.setHeight(this.view.mainWrap.getHeight());var c=this.cm.getColumnWidth(this.cellIndex);var d=Math.max(c-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(d,1000);this.setYConstraint(0,0);this.minX=a-d;this.maxX=a+1000;this.startPos=a;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,a,b)},handleMouseDown:function(b){ev=Ext.EventObject.setEvent(b);var a=this.fly(ev.getTarget());if(a.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(a.dom);this.split=a.dom;this.cm=this.grid.colModel;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}},endDrag:function(c){this.view.headersDisabled=false;var a=Math.max(this.minX,Ext.lib.Event.getPageX(c));var b=a-this.startPos;this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+b)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.GridDragZone=function(a,b){this.view=a.getView();Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,b);if(this.view.lockedBody){this.setHandleElId(Ext.id(this.view.mainBody.dom));this.setOuterHandleElId(Ext.id(this.view.lockedBody.dom))}this.scroll=false;this.grid=a;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(Ext.grid.GridDragZone,Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(c){var a=Ext.lib.Event.getTarget(c);var d=this.view.findRowIndex(a);if(d!==false){var b=this.grid.selModel;if(!b.isSelected(d)||c.hasModifier()){b.handleMouseDown(this.grid,d,c)}return{grid:this.grid,ddel:this.ddel,rowIndex:d,selections:b.getSelections()}}return false},onInitDrag:function(a){var b=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(a,b){return false},onEndDrag:function(b,a){},onValidDrop:function(c,b,a){this.hideProxy()},beforeInvalidDrop:function(b,a){}});Ext.grid.ColumnModel=function(a){this.defaultWidth=100;this.defaultSortable=false;if(a.columns){Ext.apply(this,a);this.setConfig(a.columns,true)}else{this.setConfig(a,true)}this.addEvents("widthchange","headerchange","hiddenchange","columnmoved","columnlockchange","configchange");Ext.grid.ColumnModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.ColumnModel,Ext.util.Observable,{getColumnId:function(a){return this.config[a].id},setConfig:function(d,g){if(!g){delete this.totalWidth;for(var e=0,a=this.config.length;e<a;e++){var b=this.config[e];if(b.editor){b.editor.destroy()}}}this.config=d;this.lookup={};for(var e=0,a=d.length;e<a;e++){var b=d[e];if(typeof b.renderer=="string"){b.renderer=Ext.util.Format[b.renderer]}if(typeof b.id=="undefined"){b.id=e}if(b.editor&&b.editor.isFormField){b.editor=new Ext.grid.GridEditor(b.editor)}this.lookup[b.id]=b}if(!g){this.fireEvent("configchange",this)}},getColumnById:function(a){return this.lookup[a]},getIndexById:function(c){for(var b=0,a=this.config.length;b<a;b++){if(this.config[b].id==c){return b}}return -1},moveColumn:function(a,b){var d=this.config[a];this.config.splice(a,1);this.config.splice(b,0,d);this.dataMap=null;this.fireEvent("columnmoved",this,a,b)},isLocked:function(a){return this.config[a].locked===true},setLocked:function(a,b,c){if(this.isLocked(a)==b){return}this.config[a].locked=b;if(!c){this.fireEvent("columnlockchange",this,a,b)}},getTotalLockedWidth:function(){var b=0;for(var a=0;a<this.config.length;a++){if(this.isLocked(a)&&!this.isHidden(a)){this.totalWidth+=this.getColumnWidth(a)}}return b},getLockedCount:function(){for(var b=0,a=this.config.length;b<a;b++){if(!this.isLocked(b)){return b}}},getColumnCount:function(d){if(d===true){var b=0;for(var e=0,a=this.config.length;e<a;e++){if(!this.isHidden(e)){b++}}return b}return this.config.length},getColumnsBy:function(a,h){var e=[];for(var b=0,d=this.config.length;b<d;b++){var g=this.config[b];if(a.call(h||this,g,b)===true){e[e.length]=g}}return e},isSortable:function(a){if(typeof this.config[a].sortable=="undefined"){return this.defaultSortable}return this.config[a].sortable},isMenuDisabled:function(a){return !!this.config[a].menuDisabled},getRenderer:function(a){if(!this.config[a].renderer){return Ext.grid.ColumnModel.defaultRenderer}return this.config[a].renderer},setRenderer:function(b,a){this.config[b].renderer=a},getColumnWidth:function(a){return this.config[a].width||this.defaultWidth},setColumnWidth:function(b,a,c){this.config[b].width=a;this.totalWidth=null;if(!c){this.fireEvent("widthchange",this,b,a)}},getTotalWidth:function(b){if(!this.totalWidth){this.totalWidth=0;for(var c=0,a=this.config.length;c<a;c++){if(b||!this.isHidden(c)){this.totalWidth+=this.getColumnWidth(c)}}}return this.totalWidth},getColumnHeader:function(a){return this.config[a].header},setColumnHeader:function(a,b){this.config[a].header=b;this.fireEvent("headerchange",this,a,b)},getColumnTooltip:function(a){return this.config[a].tooltip},setColumnTooltip:function(b,a){this.config[b].tooltip=a},getDataIndex:function(a){return this.config[a].dataIndex},setDataIndex:function(a,b){this.config[a].dataIndex=b},findColumnIndex:function(e){var b=this.config;for(var d=0,a=b.length;d<a;d++){if(b[d].dataIndex==e){return d}}return -1},isCellEditable:function(a,b){return(this.config[a].editable||(typeof this.config[a].editable=="undefined"&&this.config[a].editor))?true:false},getCellEditor:function(a,b){return this.config[a].editor},setEditable:function(a,b){this.config[a].editable=b},isHidden:function(a){return this.config[a].hidden},isFixed:function(a){return this.config[a].fixed},isResizable:function(a){return a>=0&&this.config[a].resizable!==false&&this.config[a].fixed!==true},setHidden:function(a,d){var b=this.config[a];if(b.hidden!==d){b.hidden=d;this.totalWidth=null;this.fireEvent("hiddenchange",this,a,d)}},setEditor:function(a,b){Ext.destroy(this.config[a].editor);this.config[a].editor=b},destroy:function(){var b=this.config;for(var d=0,b=this.config,a=b.length;d<a;d++){Ext.destroy(b[d].editor)}this.purgeListeners()}});Ext.grid.ColumnModel.defaultRenderer=function(a){if(typeof a=="string"&&a.length<1){return"&#160;"}return a};Ext.grid.DefaultColumnModel=Ext.grid.ColumnModel;Ext.grid.AbstractSelectionModel=function(){this.locked=false;Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.AbstractSelectionModel,Ext.util.Observable,{init:function(a){this.grid=a;this.initEvents()},lock:function(){this.locked=true},unlock:function(){this.locked=false},isLocked:function(){return this.locked},destroy:function(){this.purgeListeners()}});Ext.grid.RowSelectionModel=function(a){Ext.apply(this,a);this.selections=new Ext.util.MixedCollection(false,function(b){return b.id});this.last=false;this.lastActive=false;this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");Ext.grid.RowSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.RowSelectionModel,Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)}this.rowNav=new Ext.KeyNav(this.grid.getGridEl(),{up:function(b){if(!b.shiftKey||this.singleSelect){this.selectPrevious(false)}else{if(this.last!==false&&this.lastActive!==false){var c=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(c!==false){this.last=c}}else{this.selectFirstRow()}}},down:function(b){if(!b.shiftKey||this.singleSelect){this.selectNext(false)}else{if(this.last!==false&&this.lastActive!==false){var c=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(c!==false){this.last=c}}else{this.selectFirstRow()}}},scope:this});var a=this.grid.view;a.on("refresh",this.onRefresh,this);a.on("rowupdated",this.onRowUpdated,this);a.on("rowremoved",this.onRemove,this)},onRefresh:function(){var g=this.grid.store,d;var b=this.getSelections();this.clearSelections(true);for(var e=0,a=b.length;e<a;e++){var c=b[e];if((d=g.indexOfId(c.id))!=-1){this.selectRow(d,true)}}if(b.length!=this.selections.getCount()){this.fireEvent("selectionchange",this)}},onRemove:function(b,c,a){if(this.selections.remove(a)!==false){this.fireEvent("selectionchange",this)}},onRowUpdated:function(b,c,a){if(this.isSelected(a)){b.onRowSelect(c)}},selectRecords:function(b,d){if(!d){this.clearSelections()}var e=this.grid.store;for(var c=0,a=b.length;c<a;c++){this.selectRow(e.indexOf(b[c]),true)}},getCount:function(){return this.selections.length},selectFirstRow:function(){this.selectRow(0)},selectLastRow:function(a){this.selectRow(this.grid.store.getCount()-1,a)},selectNext:function(a){if(this.hasNext()){this.selectRow(this.last+1,a);this.grid.getView().focusRow(this.last);return true}return false},selectPrevious:function(a){if(this.hasPrevious()){this.selectRow(this.last-1,a);this.grid.getView().focusRow(this.last);return true}return false},hasNext:function(){return this.last!==false&&(this.last+1)<this.grid.store.getCount()},hasPrevious:function(){return !!this.last},getSelections:function(){return[].concat(this.selections.items)},getSelected:function(){return this.selections.itemAt(0)},each:function(a,e){var b=this.getSelections();for(var d=0,c=b.length;d<c;d++){if(a.call(e||this,b[d],d)===false){return false}}return true},clearSelections:function(c){if(this.isLocked()){return}if(c!==true){var b=this.grid.store;var a=this.selections;a.each(function(d){this.deselectRow(b.indexOfId(d.id))},this);a.clear()}else{this.selections.clear()}this.last=false},selectAll:function(){if(this.isLocked()){return}this.selections.clear();for(var b=0,a=this.grid.store.getCount();b<a;b++){this.selectRow(b,true)}},hasSelection:function(){return this.selections.length>0},isSelected:function(b){var a=typeof b=="number"?this.grid.store.getAt(b):b;return(a&&this.selections.key(a.id)?true:false)},isIdSelected:function(a){return(this.selections.key(a)?true:false)},handleMouseDown:function(k,h,d){if(d.button!==0||this.isLocked()){return}var a=this.grid.getView();if(d.shiftKey&&!this.singleSelect&&this.last!==false){var b=this.last;this.selectRange(b,h,d.ctrlKey);this.last=b;a.focusRow(h)}else{var c=this.isSelected(h);if(d.ctrlKey&&c){this.deselectRow(h)}else{if(!c||this.getCount()>1){this.selectRow(h,d.ctrlKey||d.shiftKey);a.focusRow(h)}}}},selectRows:function(d,c){if(!c){this.clearSelections()}for(var b=0,a=d.length;b<a;b++){this.selectRow(d[b],true)}},selectRange:function(a,b,d){if(this.isLocked()){return}if(!d){this.clearSelections()}if(a<=b){for(var c=a;c<=b;c++){this.selectRow(c,true)}}else{for(var c=a;c>=b;c--){this.selectRow(c,true)}}},deselectRange:function(b,c,a){if(this.isLocked()){return}for(var d=b;d<=c;d++){this.deselectRow(d,a)}},selectRow:function(d,c,b){if(this.isLocked()||(d<0||d>=this.grid.store.getCount())||(c&&this.isSelected(d))){return}var a=this.grid.store.getAt(d);if(a&&this.fireEvent("beforerowselect",this,d,c,a)!==false){if(!c||this.singleSelect){this.clearSelections()}this.selections.add(a);this.last=this.lastActive=d;if(!b){this.grid.getView().onRowSelect(d)}this.fireEvent("rowselect",this,d,a);this.fireEvent("selectionchange",this)}},deselectRow:function(c,b){if(this.isLocked()){return}if(this.last==c){this.last=false}if(this.lastActive==c){this.lastActive=false}var a=this.grid.store.getAt(c);if(a){this.selections.remove(a);if(!b){this.grid.getView().onRowDeselect(c)}this.fireEvent("rowdeselect",this,c,a);this.fireEvent("selectionchange",this)}},restoreLast:function(){if(this._last){this.last=this._last}},acceptsNav:function(b,a,c){return !c.isHidden(a)&&c.isCellEditable(a,b)},onEditorKey:function(d,h){var l=h.getKey(),a,m=this.grid,c=m.activeEditor;var b=h.shiftKey;if(l==h.TAB){h.stopEvent();c.completeEdit();if(b){a=m.walkCells(c.row,c.col-1,-1,this.acceptsNav,this)}else{a=m.walkCells(c.row,c.col+1,1,this.acceptsNav,this)}}else{if(l==h.ENTER){h.stopEvent();c.completeEdit();if(this.moveEditorOnEnter!==false){if(b){a=m.walkCells(c.row-1,c.col,-1,this.acceptsNav,this)}else{a=m.walkCells(c.row+1,c.col,1,this.acceptsNav,this)}}}else{if(l==h.ESC){c.cancelEdit()}}}if(a){m.startEditing(a[0],a[1])}},destroy:function(){if(this.rowNav){this.rowNav.disable();this.rowNav=null}Ext.grid.RowSelectionModel.superclass.destroy.call(this)}});Ext.grid.CellSelectionModel=function(a){Ext.apply(this,a);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)};Ext.extend(Ext.grid.CellSelectionModel,Ext.grid.AbstractSelectionModel,{initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.getGridEl().on(Ext.isIE||(Ext.isWebKit&&!Ext.isSafari2)?"keydown":"keypress",this.handleKeyDown,this);var a=this.grid.view;a.on("refresh",this.onViewChange,this);a.on("rowupdated",this.onRowUpdated,this);a.on("beforerowremoved",this.clearSelections,this);a.on("beforerowsinserted",this.clearSelections,this);if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},beforeEdit:function(a){this.select(a.row,a.column,false,true,a.record)},onRowUpdated:function(b,c,a){if(this.selection&&this.selection.record==a){b.onCellSelect(c,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(b){var a=this.selection;if(a){if(b!==true){this.grid.view.onCellDeselect(a.cell[0],a.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(d,c,a,b){if(b.button!==0||this.isLocked()){return}this.select(c,a)},select:function(g,a,b,d,e){if(this.fireEvent("beforecellselect",this,g,a)!==false){this.clearSelections();e=e||this.grid.store.getAt(g);this.selection={record:e,cell:[g,a]};if(!b){var c=this.grid.getView();c.onCellSelect(g,a);if(d!==true){c.focusCell(g,a)}}this.fireEvent("cellselect",this,g,a);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(b,a,c){return !c.isHidden(a)},handleKeyDown:function(l){if(!l.isNavKeyPress()){return}var m=this.grid,o=this.selection;if(!o){l.stopEvent();var h=m.walkCells(0,0,1,this.isSelectable,this);if(h){this.select(h[0],h[1])}return}var a=this;var q=function(g,e,c){return m.walkCells(g,e,c,a.isSelectable,a)};var b=l.getKey(),n=o.cell[0],d=o.cell[1];var p;switch(b){case l.TAB:if(l.shiftKey){p=q(n,d-1,-1)}else{p=q(n,d+1,1)}break;case l.DOWN:p=q(n+1,d,1);break;case l.UP:p=q(n-1,d,-1);break;case l.RIGHT:p=q(n,d+1,1);break;case l.LEFT:p=q(n,d-1,-1);break;case l.ENTER:if(m.isEditor&&!m.editing){m.startEditing(n,d);l.stopEvent();return}break}if(p){this.select(p[0],p[1]);l.stopEvent()}},acceptsNav:function(b,a,c){return !c.isHidden(a)&&c.isCellEditable(a,b)},onEditorKey:function(c,d){var h=d.getKey(),a,l=this.grid,b=l.activeEditor;if(h==d.TAB){if(d.shiftKey){a=l.walkCells(b.row,b.col-1,-1,this.acceptsNav,this)}else{a=l.walkCells(b.row,b.col+1,1,this.acceptsNav,this)}d.stopEvent()}else{if(h==d.ENTER){b.completeEdit();d.stopEvent()}else{if(h==d.ESC){d.stopEvent();b.cancelEdit()}}}if(a){l.startEditing(a[0],a[1])}}});Ext.grid.EditorGridPanel=Ext.extend(Ext.grid.GridPanel,{clicksToEdit:2,isEditor:true,detectEdit:false,autoEncode:false,trackMouseOver:false,initComponent:function(){Ext.grid.EditorGridPanel.superclass.initComponent.call(this);if(!this.selModel){this.selModel=new Ext.grid.CellSelectionModel()}this.activeEditor=null;this.addEvents("beforeedit","afteredit","validateedit")},initEvents:function(){Ext.grid.EditorGridPanel.superclass.initEvents.call(this);this.on("bodyscroll",this.stopEditing,this,[true]);this.on("columnresize",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{if(this.clicksToEdit=="auto"&&this.view.mainBody){this.view.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}},onCellDblClick:function(c,b,a){this.startEditing(b,a)},onAutoEditClick:function(d,a){if(d.button!==0){return}var c=this.view.findRowIndex(a);var b=this.view.findCellIndex(a);if(c!==false&&b!==false){this.stopEditing();if(this.selModel.getSelectedCell){var g=this.selModel.getSelectedCell();if(g&&g[0]===c&&g[1]===b){this.startEditing(c,b)}}else{if(this.selModel.isSelected(c)){this.startEditing(c,b)}}}},onEditComplete:function(h,b,c){this.editing=false;this.activeEditor=null;h.un("specialkey",this.selModel.onEditorKey,this.selModel);var a=h.record;var d=this.colModel.getDataIndex(h.col);b=this.postEditValue(b,c,a,d);if(String(b)!==String(c)){var g={grid:this,record:a,field:d,originalValue:c,value:b,row:h.row,column:h.col,cancel:false};if(this.fireEvent("validateedit",g)!==false&&!g.cancel){a.set(d,g.value);delete g.cancel;this.fireEvent("afteredit",g)}}this.view.focusCell(h.row,h.col)},startEditing:function(g,b){this.stopEditing();if(this.colModel.isCellEditable(b,g)){this.view.ensureVisible(g,b,true);var a=this.store.getAt(g);var d=this.colModel.getDataIndex(b);var c={grid:this,record:a,field:d,value:a.data[d],row:g,column:b,cancel:false};if(this.fireEvent("beforeedit",c)!==false&&!c.cancel){this.editing=true;var h=this.colModel.getCellEditor(b,g);if(!h.rendered){h.render(this.view.getEditorParent(h))}(function(){h.row=g;h.col=b;h.record=a;h.on("complete",this.onEditComplete,this,{single:true});h.on("specialkey",this.selModel.onEditorKey,this.selModel);this.activeEditor=h;var e=this.preEditValue(a,d);h.startEdit(this.view.getCell(g,b).firstChild,e===undefined?"":e)}).defer(50,this)}}},preEditValue:function(a,c){var b=a.data[c];return this.autoEncode&&typeof b=="string"?Ext.util.Format.htmlDecode(b):b},postEditValue:function(b,d,a,c){return this.autoEncode&&typeof b=="string"?Ext.util.Format.htmlEncode(b):b},stopEditing:function(a){if(this.activeEditor){this.activeEditor[a===true?"cancelEdit":"completeEdit"]()}this.activeEditor=null}});Ext.reg("editorgrid",Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(b,a){Ext.grid.GridEditor.superclass.constructor.call(this,b,a);b.monitorTab=false};Ext.extend(Ext.grid.GridEditor,Ext.Editor,{alignment:"tl-tl",autoSize:"width",hideEl:false,cls:"x-small-editor x-grid-editor",shim:false,shadow:false});Ext.grid.PropertyRecord=Ext.data.Record.create([{name:"name",type:"string"},"value"]);Ext.grid.PropertyStore=function(a,b){this.grid=a;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(b){this.setSource(b)}Ext.grid.PropertyStore.superclass.constructor.call(this)};Ext.extend(Ext.grid.PropertyStore,Ext.util.Observable,{setSource:function(a){this.source=a;this.store.removeAll();var c=[];for(var b in a){if(this.isEditableValue(a[b])){c.push(new Ext.grid.PropertyRecord({name:b,value:a[b]},b))}}this.store.loadRecords({records:c},{},true)},onUpdate:function(e,c,d){if(d==Ext.data.Record.EDIT){var a=c.data.value;var b=c.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,c.id,a,b)!==false){this.source[c.id]=a;c.commit();this.grid.fireEvent("propertychange",this.source,c.id,a,b)}else{c.reject()}}},getProperty:function(a){return this.store.getAt(a)},isEditableValue:function(a){if(Ext.isDate(a)){return true}else{if(typeof a=="object"||typeof a=="function"){return false}}return true},setValue:function(b,a){this.source[b]=a;this.store.getById(b).set("value",a)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=function(a,b){this.grid=a;var e=Ext.grid;e.PropertyColumnModel.superclass.constructor.call(this,[{header:this.nameText,width:50,sortable:true,dataIndex:"name",id:"name",menuDisabled:true},{header:this.valueText,width:50,resizable:false,dataIndex:"value",id:"value",menuDisabled:true}]);this.store=b;var d=Ext.form;var c=new d.Field({autoCreate:{tag:"select",children:[{tag:"option",value:"true",html:"true"},{tag:"option",value:"false",html:"false"}]},getValue:function(){return this.el.value=="true"}});this.editors={date:new e.GridEditor(new d.DateField({selectOnFocus:true})),string:new e.GridEditor(new d.TextField({selectOnFocus:true})),number:new e.GridEditor(new d.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new e.GridEditor(c)};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)};Ext.extend(Ext.grid.PropertyColumnModel,Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",renderDate:function(a){return a.dateFormat(this.dateFormat)},renderBool:function(a){return a?"true":"false"},isCellEditable:function(a,b){return a==1},getRenderer:function(a){return a==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(a){return this.getPropertyName(a)},renderCell:function(b){var a=b;if(Ext.isDate(b)){a=this.renderDate(b)}else{if(typeof b=="boolean"){a=this.renderBool(b)}}return Ext.util.Format.htmlEncode(a)},getPropertyName:function(b){var a=this.grid.propertyNames;return a&&a[b]?a[b]:b},getCellEditor:function(a,e){var d=this.store.getProperty(e);var b=d.data.name,c=d.data.value;if(this.grid.customEditors[b]){return this.grid.customEditors[b]}if(Ext.isDate(c)){return this.editors.date}else{if(typeof c=="number"){return this.editors.number}else{if(typeof c=="boolean"){return this.editors["boolean"]}else{return this.editors.string}}}},destroy:function(){Ext.grid.PropertyColumnModel.superclass.destroy.call(this);for(var a in this.editors){Ext.destroy(a)}}});Ext.grid.PropertyGrid=Ext.extend(Ext.grid.EditorGridPanel,{enableColumnMove:false,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,viewConfig:{forceFit:true},initComponent:function(){this.customEditors=this.customEditors||{};this.lastEditRow=null;var a=new Ext.grid.PropertyStore(this);this.propStore=a;var b=new Ext.grid.PropertyColumnModel(this,a);a.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=b;this.ds=a.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.selModel.on("beforecellselect",function(d,e,c){if(c===0){this.startEditing.defer(200,this,[e,1]);return false}},this)},onRender:function(){Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);this.getGridEl().addClass("x-props-grid")},afterRender:function(){Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);if(this.source){this.setSource(this.source)}},setSource:function(a){this.propStore.setSource(a)},getSource:function(){return this.propStore.getSource()}});Ext.reg("propertygrid",Ext.grid.PropertyGrid);Ext.grid.RowNumberer=function(a){Ext.apply(this,a);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}};Ext.grid.RowNumberer.prototype={header:"",width:23,sortable:false,fixed:true,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(b,c,a,d){if(this.rowspan){c.cellAttr='rowspan="'+this.rowspan+'"'}return d+1}};Ext.grid.CheckboxSelectionModel=Ext.extend(Ext.grid.RowSelectionModel,{header:'<div class="x-grid3-hd-checker">&#160;</div>',width:20,sortable:false,menuDisabled:true,fixed:true,dataIndex:"",id:"checker",initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){var a=this.grid.getView();a.mainBody.on("mousedown",this.onMouseDown,this);Ext.fly(a.innerHd).on("mousedown",this.onHdMouseDown,this)},this)},onMouseDown:function(c,a){if(c.button===0&&a.className=="x-grid3-row-checker"){c.stopEvent();var b=c.getTarget(".x-grid3-row");if(b){var d=b.rowIndex;if(this.isSelected(d)){this.deselectRow(d)}else{this.selectRow(d,true)}}}},onHdMouseDown:function(d,a){if(a.className=="x-grid3-hd-checker"){d.stopEvent();var c=Ext.fly(a.parentNode);var b=c.hasClass("x-grid3-hd-checker-on");if(b){c.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{c.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(b,c,a){return'<div class="x-grid3-row-checker">&#160;</div>'}});Ext.LoadMask=function(a,b){this.el=Ext.get(a);Ext.apply(this,b);if(this.store){this.store.on("beforeload",this.onBeforeLoad,this);this.store.on("load",this.onLoad,this);this.store.on("loadexception",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,false)}else{var c=this.el.getUpdater();c.showLoadIndicator=false;c.on("beforeupdate",this.onBeforeLoad,this);c.on("update",this.onLoad,this);c.on("failure",this.onLoad,this);this.removeMask=Ext.value(this.removeMask,true)}};Ext.LoadMask.prototype={msg:"Loading...",msgCls:"x-mask-loading",disabled:false,disable:function(){this.disabled=true},enable:function(){this.disabled=false},onLoad:function(){this.el.unmask(this.removeMask)},onBeforeLoad:function(){if(!this.disabled){this.el.mask(this.msg,this.msgCls)}},show:function(){this.onBeforeLoad()},hide:function(){this.onLoad()},destroy:function(){if(this.store){this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("loadexception",this.onLoad,this)}else{var a=this.el.getUpdater();a.un("beforeupdate",this.onBeforeLoad,this);a.un("update",this.onLoad,this);a.un("failure",this.onLoad,this)}}};Ext.ProgressBar=Ext.extend(Ext.BoxComponent,{baseCls:"x-progress",animate:false,waitTimer:null,initComponent:function(){Ext.ProgressBar.superclass.initComponent.call(this);this.addEvents("update")},onRender:function(b,d){Ext.ProgressBar.superclass.onRender.call(this,b,d);var c=new Ext.Template('<div class="{cls}-wrap">','<div class="{cls}-inner">','<div class="{cls}-bar">','<div class="{cls}-text">',"<div>&#160;</div>","</div>","</div>",'<div class="{cls}-text {cls}-text-back">',"<div>&#160;</div>","</div>","</div>","</div>");if(d){this.el=c.insertBefore(d,{cls:this.baseCls},true)}else{this.el=c.append(b,{cls:this.baseCls},true)}if(this.id){this.el.dom.id=this.id}var e=this.el.dom.firstChild;this.progressBar=Ext.get(e.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var a=Ext.get(e.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,a.dom.firstChild]);this.textEl.setWidth(e.offsetWidth)}this.progressBar.setHeight(e.offsetHeight)},afterRender:function(){Ext.ProgressBar.superclass.afterRender.call(this);if(this.value){this.updateProgress(this.value,this.text)}else{this.updateText(this.text)}},updateProgress:function(a,d,b){this.value=a||0;if(d){this.updateText(d)}if(this.rendered){var c=Math.floor(a*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(c,b===true||(b!==false&&this.animate));if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(c)}}this.fireEvent("update",this,a,d);return this},wait:function(a){if(!this.waitTimer){var b=this;a=a||{};this.updateText(a.text);this.waitTimer=Ext.TaskMgr.start({run:function(d){var c=a.increment||10;this.updateProgress(((((d+c)%c)+1)*(100/c))*0.01,null,a.animate)},interval:a.interval||1000,duration:a.duration,onStop:function(){if(a.fn){a.fn.apply(a.scope||this)}this.reset()},scope:b})}return this},isWaiting:function(){return this.waitTimer!=null},updateText:function(a){this.text=a||"&#160;";if(this.rendered){this.textEl.update(this.text)}return this},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)}return this},setSize:function(a,b){Ext.ProgressBar.superclass.setSize.call(this,a,b);if(this.textTopEl){var c=this.el.dom.firstChild;this.textEl.setSize(c.offsetWidth,c.offsetHeight)}this.syncProgressBar();return this},reset:function(a){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass("x-hidden")}if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}if(a===true){this.hide()}return this}});Ext.reg("progress",Ext.ProgressBar);Ext.Slider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,dragging:false,initComponent:function(){if(this.value===undefined){this.value=this.minValue}Ext.Slider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend");if(this.vertical){Ext.apply(this,Ext.Slider.Vertical)}},onRender:function(){this.autoEl={cls:"x-slider "+(this.vertical?"x-slider-vert":"x-slider-horz"),cn:{cls:"x-slider-end",cn:{cls:"x-slider-inner",cn:[{cls:"x-slider-thumb"},{tag:"a",cls:"x-slider-focus",href:"#",tabIndex:"-1",hidefocus:"on"}]}}};Ext.Slider.superclass.onRender.apply(this,arguments);this.endEl=this.el.first();this.innerEl=this.endEl.first();this.thumb=this.innerEl.first();this.halfThumb=(this.vertical?this.thumb.getHeight():this.thumb.getWidth())/2;this.focusEl=this.thumb.next();this.initEvents()},initEvents:function(){this.thumb.addClassOnOver("x-slider-thumb-over");this.el.on("mousedown",this.onMouseDown,this);this.el.on("keydown",this.onKeyDown,this);this.focusEl.swallowEvent("click",true);this.tracker=new Ext.dd.DragTracker({onBeforeStart:this.onBeforeDragStart.createDelegate(this),onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});this.tracker.initEl(this.thumb);this.on("beforedestroy",this.tracker.destroy,this.tracker)},onMouseDown:function(b){if(this.disabled){return}if(this.clickToChange&&b.target!=this.thumb.dom){var a=this.innerEl.translatePoints(b.getXY());this.onClickChange(a)}this.focus()},onClickChange:function(a){if(a.top>this.clickRange[0]&&a.top<this.clickRange[1]){this.setValue(Math.round(this.reverseValue(a.left)),undefined,true)}},onKeyDown:function(a){if(this.disabled){a.preventDefault();return}var b=a.getKey();switch(b){case a.UP:case a.RIGHT:a.stopEvent();if(a.ctrlKey){this.setValue(this.maxValue,undefined,true)}else{this.setValue(this.value+this.keyIncrement,undefined,true)}break;case a.DOWN:case a.LEFT:a.stopEvent();if(a.ctrlKey){this.setValue(this.minValue,undefined,true)}else{this.setValue(this.value-this.keyIncrement,undefined,true)}break;default:a.preventDefault()}},doSnap:function(b){if(!this.increment||this.increment==1||!b){return b}var d=b,c=this.increment;var a=b%c;if(a!=0){d-=a;if(a*2>c){d+=c}else{if(a*2<-c){d-=c}}}return d.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.Slider.superclass.afterRender.apply(this,arguments);if(this.value!==undefined){var a=this.normalizeValue(this.value);if(a!==this.value){delete this.value;this.setValue(a,false)}else{this.moveThumb(this.translateValue(a),false)}}},getRatio:function(){var b=this.innerEl.getWidth();var a=this.maxValue-this.minValue;return a==0?b:(b/a)},normalizeValue:function(a){if(typeof a!="number"){a=parseInt(a)}a=Math.round(a);a=this.doSnap(a);a=a.constrain(this.minValue,this.maxValue);return a},setValue:function(c,b,a){c=this.normalizeValue(c);if(c!==this.value&&this.fireEvent("beforechange",this,c,this.value)!==false){this.value=c;this.moveThumb(this.translateValue(c),b!==false);this.fireEvent("change",this,c);if(a){this.fireEvent("changecomplete",this,c)}}},translateValue:function(b){var a=this.getRatio();return(b*a)-(this.minValue*a)-this.halfThumb},reverseValue:function(b){var a=this.getRatio();return(b+this.halfThumb+(this.minValue*a))/a},moveThumb:function(b,a){if(!a||this.animate===false){this.thumb.setLeft(b)}else{this.thumb.shift({left:b,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onBeforeDragStart:function(a){return !this.disabled},onDragStart:function(a){this.thumb.addClass("x-slider-thumb-drag");this.dragging=true;this.dragStartValue=this.value;this.fireEvent("dragstart",this,a)},onDrag:function(b){var a=this.innerEl.translatePoints(this.tracker.getXY());this.setValue(Math.round(this.reverseValue(a.left)),false);this.fireEvent("drag",this,b)},onDragEnd:function(a){this.thumb.removeClass("x-slider-thumb-drag");this.dragging=false;this.fireEvent("dragend",this,a);if(this.dragStartValue!=this.value){this.fireEvent("changecomplete",this,this.value)}},onDisable:function(){Ext.Slider.superclass.onDisable.call(this);this.thumb.addClass(this.disabledClass);if(Ext.isIE){var a=this.thumb.getXY();this.thumb.hide();this.innerEl.addClass(this.disabledClass).dom.disabled=true;if(!this.thumbHolder){this.thumbHolder=this.endEl.createChild({cls:"x-slider-thumb "+this.disabledClass})}this.thumbHolder.show().setXY(a)}},onEnable:function(){Ext.Slider.superclass.onEnable.call(this);this.thumb.removeClass(this.disabledClass);if(Ext.isIE){this.innerEl.removeClass(this.disabledClass).dom.disabled=false;if(this.thumbHolder){this.thumbHolder.hide()}this.thumb.show();this.syncThumb()}},onResize:function(a,b){this.innerEl.setWidth(a-(this.el.getPadding("l")+this.endEl.getPadding("r")));this.syncThumb()},syncThumb:function(){if(this.rendered){this.moveThumb(this.translateValue(this.value))}},getValue:function(){return this.value}});Ext.reg("slider",Ext.Slider);Ext.Slider.Vertical={onResize:function(a,b){this.innerEl.setHeight(b-(this.el.getPadding("t")+this.endEl.getPadding("b")));this.syncThumb()},getRatio:function(){var b=this.innerEl.getHeight();var a=this.maxValue-this.minValue;return b/a},moveThumb:function(b,a){if(!a||this.animate===false){this.thumb.setBottom(b)}else{this.thumb.shift({bottom:b,stopFx:true,duration:0.35})}},onDrag:function(b){var a=this.innerEl.translatePoints(this.tracker.getXY());var c=this.innerEl.getHeight()-a.top;this.setValue(this.minValue+Math.round(c/this.getRatio()),false);this.fireEvent("drag",this,b)},onClickChange:function(a){if(a.left>this.clickRange[0]&&a.left<this.clickRange[1]){var b=this.innerEl.getHeight()-a.top;this.setValue(this.minValue+Math.round(b/this.getRatio()),undefined,true)}}};Ext.StatusBar=Ext.extend(Ext.Toolbar,{cls:"x-statusbar",busyIconCls:"x-status-busy",busyText:"Loading...",autoClear:5000,activeThreadId:0,initComponent:function(){if(this.statusAlign=="right"){this.cls+=" x-status-right"}Ext.StatusBar.superclass.initComponent.call(this)},afterRender:function(){Ext.StatusBar.superclass.afterRender.call(this);var a=this.statusAlign=="right",b=Ext.get(this.nextBlock());if(a){this.tr.appendChild(b.dom)}else{b.insertBefore(this.tr.firstChild)}this.statusEl=b.createChild({cls:"x-status-text "+(this.iconCls||this.defaultIconCls||""),html:this.text||this.defaultText||""});this.statusEl.unselectable();this.spacerEl=b.insertSibling({tag:"td",style:"width:100%",cn:[{cls:"ytb-spacer"}]},a?"before":"after")},setStatus:function(b){b=b||{};if(typeof b=="string"){b={text:b}}if(b.text!==undefined){this.setText(b.text)}if(b.iconCls!==undefined){this.setIcon(b.iconCls)}if(b.clear){var d=b.clear,e=this.autoClear,a={useDefaults:true,anim:true};if(typeof d=="object"){d=Ext.applyIf(d,a);if(d.wait){e=d.wait}}else{if(typeof d=="number"){e=d;d=a}else{if(typeof d=="boolean"){d=a}}}d.threadId=this.activeThreadId;this.clearStatus.defer(e,this,[d])}return this},clearStatus:function(a){a=a||{};if(a.threadId&&a.threadId!==this.activeThreadId){return this}var c=a.useDefaults?this.defaultText:"",b=a.useDefaults?(this.defaultIconCls?this.defaultIconCls:""):"";if(a.anim){this.statusEl.fadeOut({remove:false,useDisplay:true,scope:this,callback:function(){this.setStatus({text:c,iconCls:b});this.statusEl.show()}})}else{this.statusEl.hide();this.setStatus({text:c,iconCls:b});this.statusEl.show()}return this},setText:function(a){this.activeThreadId++;this.text=a||"";if(this.rendered){this.statusEl.update(this.text)}return this},getText:function(){return this.text},setIcon:function(a){this.activeThreadId++;a=a||"";if(this.rendered){if(this.currIconCls){this.statusEl.removeClass(this.currIconCls);this.currIconCls=null}if(a.length>0){this.statusEl.addClass(a);this.currIconCls=a}}else{this.currIconCls=a}return this},showBusy:function(a){if(typeof a=="string"){a={text:a}}a=Ext.applyIf(a||{},{text:this.busyText,iconCls:this.busyIconCls});return this.setStatus(a)}});Ext.reg("statusbar",Ext.StatusBar);Ext.History=(function(){var c,h;var e=false;var d;function l(){var o=top.location.href,n=o.indexOf("#");return n>=0?o.substr(n+1):null}function b(){h.value=d}function k(n){d=n;Ext.History.fireEvent("change",n)}function g(q){var o=['<html><body><div id="state">',q,"</div></body></html>"].join("");try{var n=c.contentWindow.document;n.open();n.write(o);n.close();return true}catch(p){return false}}function m(){if(!c.contentWindow||!c.contentWindow.document){setTimeout(m,10);return}var n=c.contentWindow.document;var o=n.getElementById("state");var q=o?o.innerText:null;var p=l();setInterval(function(){n=c.contentWindow.document;o=n.getElementById("state");var r=o?o.innerText:null;var s=l();if(r!==q){q=r;k(q);top.location.hash=q;p=q;b()}else{if(s!==p){p=s;g(s)}}},50);e=true;Ext.History.fireEvent("ready",Ext.History)}function a(){d=h.value?h.value:l();if(Ext.isIE){m()}else{var n=l();setInterval(function(){var o=l();if(o!==n){n=o;k(n);b()}},50);e=true;Ext.History.fireEvent("ready",Ext.History)}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(n,o){if(e){Ext.callback(n,o,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(n,o)});return}h=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){c=Ext.getDom(Ext.History.iframeId)}this.addEvents("ready","change");if(n){this.on("ready",n,o,{single:true})}a()},add:function(o,n){if(n!==false){if(this.getToken()==o){return true}}if(Ext.isIE){return g(o)}else{top.location.hash=o;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return e?d:l()}}})();Ext.apply(Ext.History,new Ext.util.Observable());Ext.debug={};(function(){var a;function b(){var d=new Ext.debug.ScriptsPanel();var h=new Ext.debug.LogPanel();var g=new Ext.debug.DomTree();var c=new Ext.TabPanel({activeTab:0,border:false,tabPosition:"bottom",items:[{title:"Debug Console",layout:"border",items:[h,d]},{title:"DOM Inspector",layout:"border",items:[g]}]});a=new Ext.Panel({id:"x-debug-browser",title:"Console",collapsible:true,animCollapse:false,style:"position:absolute;left:0;bottom:0;",height:200,logView:h,layout:"fit",tools:[{id:"close",handler:function(){a.destroy();a=null;Ext.EventManager.removeResizeListener(e)}}],items:c});a.render(document.body);a.resizer=new Ext.Resizable(a.el,{minHeight:50,handles:"n",pinned:true,transparent:true,resizeElement:function(){var k=this.proxy.getBox();this.proxy.hide();a.setHeight(k.height);return k}});function e(){a.setWidth(Ext.getBody().getViewSize().width)}Ext.EventManager.onWindowResize(e);e()}Ext.apply(Ext,{log:function(){if(!a){b()}a.logView.log.apply(a.logView,arguments)},logf:function(d,e,c,g){Ext.log(String.format.apply(String,arguments))},dump:function(d){if(typeof d=="string"||typeof d=="number"||typeof d=="undefined"||Ext.isDate(d)){Ext.log(d)}else{if(!d){Ext.log("null")}else{if(typeof d!="object"){Ext.log("Unknown return type")}else{if(Ext.isArray(d)){Ext.log("["+d.join(",")+"]")}else{var e=["{\n"];for(var g in d){var h=typeof d[g];if(h!="function"&&h!="object"){e.push(String.format("  {0}: {1},\n",g,d[g]))}}var c=e.join("");if(c.length>3){c=c.substr(0,c.length-2)}Ext.log(c+"\n}")}}}}},_timers:{},time:function(c){c=c||"def";Ext._timers[c]=new Date().getTime()},timeEnd:function(d,c){var e=new Date().getTime();d=d||"def";var g=String.format("{0} ms",e-Ext._timers[d]);Ext._timers[d]=new Date().getTime();if(c!==false){Ext.log("Timer "+(d=="def"?g:d+": "+g))}return g}})})();Ext.debug.ScriptsPanel=Ext.extend(Ext.Panel,{id:"x-debug-scripts",region:"east",minWidth:200,split:true,width:350,border:false,layout:"anchor",style:"border-width:0 0 0 1px;",initComponent:function(){this.scriptField=new Ext.form.TextArea({anchor:"100% -26",style:"border-width:0;"});this.trapBox=new Ext.form.Checkbox({id:"console-trap",boxLabel:"Trap Errors",checked:true});this.toolbar=new Ext.Toolbar([{text:"Run",scope:this,handler:this.evalScript},{text:"Clear",scope:this,handler:this.clear},"->",this.trapBox," "," "]);this.items=[this.toolbar,this.scriptField];Ext.debug.ScriptsPanel.superclass.initComponent.call(this)},evalScript:function(){var s=this.scriptField.getValue();if(this.trapBox.getValue()){try{var rt=eval(s);Ext.dump(rt===undefined?"(no return)":rt)}catch(e){Ext.log(e.message||e.descript)}}else{var rt=eval(s);Ext.dump(rt===undefined?"(no return)":rt)}},clear:function(){this.scriptField.setValue("");this.scriptField.focus()}});Ext.debug.LogPanel=Ext.extend(Ext.Panel,{autoScroll:true,region:"center",border:false,style:"border-width:0 1px 0 0",log:function(){var a=['<div style="padding:5px !important;border-bottom:1px solid #ccc;">',Ext.util.Format.htmlEncode(Array.prototype.join.call(arguments,", ")).replace(/\n/g,"<br />").replace(/\s/g,"&#160;"),"</div>"].join("");this.body.insertHtml("beforeend",a);this.body.scrollTo("top",100000)},clear:function(){this.body.update("");this.body.dom.scrollTop=0}});Ext.debug.DomTree=Ext.extend(Ext.tree.TreePanel,{enableDD:false,lines:false,rootVisible:false,animate:false,hlColor:"ffff9c",autoScroll:true,region:"center",border:false,initComponent:function(){Ext.debug.DomTree.superclass.initComponent.call(this);var g=false,l;var d=/^\s*$/;var c=Ext.util.Format.htmlEncode;var h=Ext.util.Format.ellipsis;var a=/\s?([a-z\-]*)\:([^;]*)(?:[;\s\n\r]*)/gi;function k(o){if(!o||o.nodeType!=1||o==document.body||o==document){return false}var m=[o],u=o;while((u=u.parentNode)&&u.nodeType==1&&u.tagName.toUpperCase()!="HTML"){m.unshift(u)}var t=l;for(var s=0,q=m.length;s<q;s++){t.expand();t=t.findChild("htmlNode",m[s]);if(!t){return false}}t.select();var r=t.ui.anchor;treeEl.dom.scrollTop=Math.max(0,r.offsetTop-10);t.highlight();return true}function e(m){var o=m.tagName;if(m.id){o+="#"+m.id}else{if(m.className){o+="."+m.className}}return o}function b(z,w,C){return;if(C&&C.unframe){C.unframe()}var r={};if(w&&w.htmlNode){if(frameEl.pressed){w.frame()}if(inspecting){return}addStyle.enable();reload.setDisabled(w.leaf);var E=w.htmlNode;stylePanel.setTitle(e(E));if(g&&!showAll.pressed){var B=E.style?E.style.cssText:"";if(B){var u;while((u=a.exec(B))!=null){r[u[1].toLowerCase()]=u[2]}}}else{if(g){var y=Ext.debug.cssList;var B=E.style,p=Ext.fly(E);if(B){for(var o=0,q=y.length;o<q;o++){var x=y[o];var D=B[x]||p.getStyle(x);if(D!=undefined&&D!==null&&D!==""){r[x]=D}}}}else{for(var A in E){var D=E[A];if((isNaN(A+10))&&D!=undefined&&D!==null&&D!==""&&!(Ext.isGecko&&A[0]==A[0].toUpperCase())){r[A]=D}}}}}else{if(inspecting){return}addStyle.disable();reload.disabled()}stylesGrid.setSource(r);stylesGrid.treeNode=w;stylesGrid.view.fitColumns()}this.loader=new Ext.tree.TreeLoader();this.loader.load=function(o,m){var q=o.htmlNode==document.body;var s=o.htmlNode.childNodes;for(var r=0,p;p=s[r];r++){if(q&&p.id=="x-debug-browser"){continue}if(p.nodeType==1){o.appendChild(new Ext.debug.HtmlNode(p))}else{if(p.nodeType==3&&!d.test(p.nodeValue)){o.appendChild(new Ext.tree.TreeNode({text:"<em>"+h(c(String(p.nodeValue)),35)+"</em>",cls:"x-tree-noicon"}))}}}m()};this.root=this.setRootNode(new Ext.tree.TreeNode("Ext"));l=this.root.appendChild(new Ext.debug.HtmlNode(document.getElementsByTagName("html")[0]))}});Ext.debug.HtmlNode=function(){var b=Ext.util.Format.htmlEncode;var g=Ext.util.Format.ellipsis;var e=/^\s*$/;var a=[{n:"id",v:"id"},{n:"className",v:"class"},{n:"name",v:"name"},{n:"type",v:"type"},{n:"src",v:"src"},{n:"href",v:"href"}];function d(k){for(var m=0,l;l=k.childNodes[m];m++){if(l.nodeType==1){return true}}return false}function c(m,l){var p=m.tagName.toLowerCase();var q="&lt;"+p;for(var k=0,r=a.length;k<r;k++){var o=a[k];var u=m[o.n];if(u&&!e.test(u)){q+=" "+o.v+"=&quot;<i>"+b(u)+"</i>&quot;"}}var t=m.style?m.style.cssText:"";if(t){q+=" style=&quot;<i>"+b(t.toLowerCase())+"</i>&quot;"}if(l&&m.childNodes.length>0){q+="&gt;<em>"+g(b(String(m.innerHTML)),35)+"</em>&lt;/"+p+"&gt;"}else{if(l){q+=" /&gt;"}else{q+="&gt;"}}return q}var h=function(k){var l=!d(k);this.htmlNode=k;this.tagName=k.tagName.toLowerCase();var m={text:c(k,l),leaf:l,cls:"x-tree-noicon"};h.superclass.constructor.call(this,m);this.attributes.htmlNode=k;if(!l){this.on("expand",this.onExpand,this);this.on("collapse",this.onCollapse,this)}};Ext.extend(h,Ext.tree.AsyncTreeNode,{cls:"x-tree-noicon",preventHScroll:true,refresh:function(k){var l=!d(this.htmlNode);this.setText(c(this.htmlNode,l));if(k){Ext.fly(this.ui.textNode).highlight()}},onExpand:function(){if(!this.closeNode&&this.parentNode){this.closeNode=this.parentNode.insertBefore(new Ext.tree.TreeNode({text:"&lt;/"+this.tagName+"&gt;",cls:"x-tree-noicon"}),this.nextSibling)}else{if(this.closeNode){this.closeNode.ui.show()}}},onCollapse:function(){if(this.closeNode){this.closeNode.ui.hide()}},render:function(k){h.superclass.render.call(this,k)},highlightNode:function(){},highlight:function(){},frame:function(){this.htmlNode.style.border="1px solid #0000ff"},unframe:function(){this.htmlNode.style.border=""}});return h}();Ext.BLANK_IMAGE_URL="/Images/s.gif";Ext.QuickTips.init();Ext.applyIf(Array.prototype,{map:function(d,e){var a=this.length;if(typeof d!="function"){throw new TypeError()}var b=new Array(a);for(var c=0;c<a;c++){if(c in this){b[c]=d.call(e||this,this[c],c,this)}}return b}});Ext.form.VTypes.phoneVal=/^(d{3}[-]?){1,2}(d{4})$/;Ext.form.VTypes.phoneMask=/[d-]/;Ext.form.VTypes.phoneText="Not a valid phone number. Must be in the format 123-4567 or 123-456-7890 (dashes optional)";Ext.form.VTypes.phone=function(a){return Ext.form.VTypes.phoneVal.test(a)};Ext.apply(Ext.form.VTypes,{emaillist:function(a,c){var b=ZapUtils.validateMultipleEmails(a);if(b==null){return true}else{this.emaillistText="The following "+b.length+" email addresses had problems: ";for(var e=0;e<b.length;e++){var d=b[e];if(e>0){this.emaillistText+=", "}this.emaillistText+=d}return false}},emaillistText:"Email addresses"});Ext.override(Ext.form.HtmlEditor,{cleanHtml:function(a){a=String(a);if(a.length>5){if(Ext.isSafari){a=a.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}}if(a=="&nbsp;"){a=""}else{a=a.replace(/<!(?:--.*?--\s*)?>/g,"");a=a.replace(/(<w:([^>]+)>([^<]+)<\/w([^>]+)>)/ig,"");a=a.replace(/(<w:([^>]+)>)/ig,"");a=a.replace(/(<style>([^<]+)<\/style>)/ig,"");a=a.replace(/(<[\/]?meta([^>]+)>)/ig,"");a=a.replace(/(style=\"([^\"]+)\")/ig,"");a=a.replace(/(class=\"([^\"]+)\")/ig,"");a=a.replace(/<[\/]?(span|link|xml|del|ins|[ovwxp]:\w+)[^>]*?>/ig,"");a=a.replace(/(\u201c|\u201d)/g,'"');a=a.replace(/(\u2018|\u2019)/g,"'");a=a.replace(/(\u2026)/g,"...");a=a.replace(/(\xa0|\u2002|\u2003|\u2009)/g," ");a=a.replace(/(\u2013|\u2014)/g,"-")}return a}});Ext.override(Ext.Panel,{addTool:function(){if(!this[this.toolTarget]){return}if(!this.toolTemplate){var c=new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');c.disableFormats=true;c.compile();Ext.Panel.prototype.toolTemplate=c}for(var h=0,d=arguments,b=d.length;h<b;h++){var e=d[h];if(!this.tools[e.id]){var g=Ext.isEmpty(e.overCls,true)?"x-tool-"+e.id+"-over":e.overCls;var k=this.toolTemplate.insertFirst((e.align!=="left")?this[this.toolTarget]:this[this.toolTarget].child("span"),e,true);this.tools[e.id]=k;k.enableDisplayMode("block");k.on("click",this.createToolHandler(k,e,g,this));if(e.on){k.on(e.on)}if(e.hidden){k.hide()}if(e.qtip){if(typeof e.qtip=="object"){Ext.QuickTips.register(Ext.apply({target:k.id},e.qtip))}else{k.dom.qtip=e.qtip}}k.addClassOnOver(g)}}}});Ext.ux.StaticTextField=Ext.extend(Ext.form.TextField,{fieldClass:"x-static-text-field",onRender:function(){this.readOnly=true;this.disabled=!this.initialConfig.submitValue;Ext.ux.StaticTextField.superclass.onRender.apply(this,arguments)}});Ext.reg("statictextfield",Ext.ux.StaticTextField);Ext.form.Action.Submit.prototype.run=Ext.form.Action.Submit.prototype.run.createInterceptor(function(){this.form.items.each(function(a){if(a.el.getValue()==a.emptyText){a.el.dom.value=""}})});Ext.form.Action.Submit.prototype.run=Ext.form.Action.Submit.prototype.run.createSequence(function(){this.form.items.each(function(a){if(a.el.getValue()==""&&a.emptyText){a.el.dom.value=a.emptyText}})});Ext.override(Ext.grid.GridView,{scrollTop:function(){this.scroller.dom.scrollTop=0;this.scroller.dom.scrollLeft=0},scrollToTop:Ext.emptyFn});Ext.grid.CheckColumn=function(a){Ext.apply(this,a);if(!this.id){this.id=Ext.id()}this.renderer=this.renderer.createDelegate(this)};Ext.grid.CheckColumn.prototype={init:function(a){this.grid=a;this.grid.on("render",function(){var b=this.grid.getView();b.mainBody.on("mousedown",this.onMouseDown,this)},this)},onMouseDown:function(d,a){if(a.className&&a.className.indexOf("x-grid3-cc-"+this.id)!=-1){d.stopEvent();var g=this.grid.getView().findRowIndex(a);var c=this.grid.store.getAt(g);var b=true;if(this.allowToggle&&typeof this.allowToggle=="function"){b=this.allowToggle.apply(this.scope||this,[c])}if(b){c.set(this.dataIndex,!c.data[this.dataIndex])}}},renderer:function(c,d,a){d.css+=" x-grid3-check-col-td";var b=true;if(this.allowToggle&&typeof this.allowToggle=="function"){b=this.allowToggle.apply(this.scope||this,[a])}if(b){return'<div class="x-grid3-check-col'+(c?"-on":"")+" x-grid3-cc-"+this.id+'">&#160;</div>'}}};Ext.ux.StateCombo=Ext.extend(Ext.form.ComboBox,{stateData:[["AK","Alaska"],["AL","Alabama"],["AR","Arkansas"],["AZ","Arizona"],["CA","California"],["CO","Colorado"],["CT","Connecticut"],["DC","District of Columbia"],["DE","Delaware"],["FL","Florida"],["GA","Georgia"],["HI","Hawaii"],["IA","Iowa"],["ID","Idaho"],["IL","Illinois"],["IN","Indiana"],["KS","Kansas"],["KY","Kentucky"],["LA","Louisiana"],["MA","Massachusetts"],["MD","Maryland"],["ME","Maine"],["MI","Michigan"],["MN","Minnesota"],["MO","Missouri"],["MS","Mississippi"],["MT","Montana"],["NE","Nebraska"],["NC","North Carolina"],["ND","North Dakota"],["NH","New Hampshire"],["NJ","New Jersey"],["NM","New Mexico"],["NV","Nevada"],["NY","New York"],["OH","Ohio"],["OK","Oklahoma"],["OR","Oregon"],["PA","Pennsylvania"],["RI","Rhode Island"],["SC","South Carolina"],["SD","South Dakota"],["TN","Tennessee"],["TX","Texas"],["UT","Utah"],["VA","Virginia"],["VT","Vermont"],["WA","Washington"],["WI","Wisconsin"],["WV","West Virginia"],["WY","Wyoming"]],storeFields:["abbr","state"],typeAhead:true,displayField:"abbr",valueField:"abbr",mode:"local",triggerAction:"all",selectOnFocus:true,fieldLabel:"State",initComponent:function(){Ext.apply(this,{store:new Ext.data.SimpleStore({fields:this.storeFields,data:this.stateData})});Ext.ux.StateCombo.superclass.initComponent.call(this);this.store.sort(this.displayField)}});Ext.reg("statecombo",Ext.ux.StateCombo);Ext.ux.MonthNumberCombo=Ext.extend(Ext.form.ComboBox,{monthNumberData:[["01","January"],["02","February"],["03","March"],["04","April"],["05","May"],["06","June"],["07","July"],["08","August"],["09","September"],["10","October"],["11","November"],["12","December"]],typeAhead:true,displayField:"num",valueField:"num",mode:"local",triggerAction:"all",selectOnFocus:true,forceSelection:true,initComponent:function(){Ext.apply(this,{store:new Ext.data.SimpleStore({fields:["num","month"],data:this.monthNumberData}),width:(this.displayField=="num")?45:130});Ext.ux.MonthNumberCombo.superclass.initComponent.call(this);this.store.sort(this.displayField)}});Ext.reg("monthnumcombo",Ext.ux.MonthNumberCombo);Ext.ux.YearNumberCombo=Ext.extend(Ext.form.ComboBox,{typeAhead:true,displayField:"num",valueField:"num",mode:"local",triggerAction:"all",selectOnFocus:true,forceSelection:true,initComponent:function(){var c=new Date();var b=c.getFullYear();var e=new Array();for(var a=0;a<=15;a++){e[a]=[(b+a)+""]}Ext.apply(this,{store:new Ext.data.SimpleStore({fields:["num"],data:e}),width:65});Ext.ux.YearNumberCombo.superclass.initComponent.call(this);this.store.sort(this.displayField)}});Ext.reg("yearnumcombo",Ext.ux.YearNumberCombo);Ext.ux.CreditCardTypeCombo=Ext.extend(Ext.form.ComboBox,{monthNumberData:[[1,"Visa"],[2,"MasterCard"],[3,"American Express"],[4,"Discover"]],typeAhead:true,displayField:"name",valueField:"id",mode:"local",triggerAction:"all",selectOnFocus:true,forceSelection:true,initComponent:function(){Ext.apply(this,{store:new Ext.data.SimpleStore({fields:["id","name"],data:this.monthNumberData}),width:(this.displayField=="num")?45:130});Ext.ux.CreditCardTypeCombo.superclass.initComponent.call(this)}});Ext.reg("cctypecombo",Ext.ux.CreditCardTypeCombo);Ext.data.ObjectReader=function(a,b){a=a||{};Ext.data.ObjectReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.ObjectReader,Ext.data.DataReader,{read:function(b){if(undefined==b.objects){throw {message:"ObjectReader.read: Objects not available"}}var a=this.readRecords(b.objects);if(undefined!=b.totalSize){a.totalRecords=b.totalSize}return a},readRecords:function(k){var h=[];var d=this.recordType,e=d.prototype.fields;var c=this.meta.id;for(var a=0;a<k.length;a++){var g=k[a];var l={};for(var b=0;b<e.length;b++){var n=e.items[b];var o=g[n.mapping||n.name]||n.defaultValue;o=n.convert(o,g);l[n.name]=o}var m=c?g[c]:undefined;h[h.length]=new d(l,m)}return{records:h,totalRecords:h.length}}});Ext.lib.Ajax.isCrossDomain=function(a){var b=/(?:(\w*:)\/\/)?([\w\.]*(?::\d*)?)/.exec(a);if(!b[1]){return false}return(b[1]!=location.protocol)||(b[2]!=location.host)};Ext.override(Ext.data.Connection,{request:function(d){if(this.fireEvent("beforerequest",this,d)!==false){var l=d.params;if(typeof l=="function"){l=l.call(d.scope||window,d)}if(typeof l=="object"){l=Ext.urlEncode(l)}if(this.extraParams){var b=Ext.urlEncode(this.extraParams);l=l?(l+"&"+b):b}var e=d.url||this.url;if(typeof e=="function"){e=e.call(d.scope||window,d)}if(d.form){var c=Ext.getDom(d.form);e=e||c.action;var g=c.getAttribute("enctype");if(d.isUpload||(g&&g.toLowerCase()=="multipart/form-data")){return this.doFormUpload(d,l,e)}var k=Ext.lib.Ajax.serializeForm(c);l=l?(l+"&"+k):k}var a=d.headers;if(this.defaultHeaders){a=Ext.apply(a||{},this.defaultHeaders);if(!d.headers){d.headers=a}}var m={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:d},timeout:this.timeout};var h=d.method||this.method||(l?"POST":"GET");if(h=="GET"&&(this.disableCaching&&d.disableCaching!==false)||d.disableCaching===true){e+=(e.indexOf("?")!=-1?"&":"?")+"_dc="+(new Date().getTime())}if(typeof d.autoAbort=="boolean"){if(d.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((h=="GET"&&l)||d.xmlData||d.jsonData){e+=(e.indexOf("?")!=-1?"&":"?")+l;l=""}if(d.scriptTag||this.scriptTag||Ext.lib.Ajax.isCrossDomain(e)){this.transId=this.scriptRequest(h,e,m,l,d)}else{this.transId=Ext.lib.Ajax.request(h,e,m,l,d)}return this.transId}else{Ext.callback(d.callback,d.scope,[d,null,null]);return null}},scriptRequest:function(d,b,k,c,a){var l=++Ext.data.ScriptTagProxy.TRANS_ID;var g={id:l,cb:a.callbackName||"stcCallback"+l,scriptId:"stcScript"+l,options:a};b+=(b.indexOf("?")!=-1?"&":"?")+c+String.format("&{0}={1}",a.callbackParam||this.callbackParam||"callback",g.cb);var h=this;window[g.cb]=function(m){h.handleScriptResponse(m,g)};g.timeoutId=this.handleScriptFailure.defer(k.timeout,this,[g]);var e=document.createElement("script");e.setAttribute("src",b);e.setAttribute("type","text/javascript");e.setAttribute("id",g.scriptId);document.getElementsByTagName("head")[0].appendChild(e);return g},handleScriptResponse:function(b,c){this.transId=false;this.destroyScriptTrans(c,true);var d=c.options;var a;if(typeof b=="string"){if(window.ActiveXObject){a=new ActiveXObject("Microsoft.XMLDOM");a.async="false";a.loadXML(b)}else{a=new DOMParser().parseFromString(b,"text/xml")}}response={responseObject:b,responseText:(typeof b=="object")?Ext.util.JSON.encode(b):String(b),responseXML:a,argument:d.argument};this.fireEvent("requestcomplete",this,response,d);Ext.callback(d.success,d.scope,[response,d]);Ext.callback(d.callback,d.scope,[d,true,response])},handleScriptFailure:function(a){this.transId=false;this.destroyScriptTrans(a,false);var b=a.options;response={argument:b.argument,status:500,statusText:"Server failed to respond",responseText:""};this.fireEvent("requestexception",this,response,b,{status:-1,statusText:"communication failure"});Ext.callback(b.failure,b.scope,[response,b]);Ext.callback(b.callback,b.scope,[b,false,response])},destroyScriptTrans:function(a,b){document.getElementsByTagName("head")[0].removeChild(document.getElementById(a.scriptId));clearTimeout(a.timeoutId);if(b){window[a.cb]=undefined;try{delete window[a.cb]}catch(c){}}else{window[a.cb]=function(){window[a.cb]=undefined;try{delete window[a.cb]}catch(d){}}}}});Ext.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:"Browse...",buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Ext.form.FileUploadField.superclass.initComponent.call(this);this.addEvents("fileselected")},onRender:function(a,c){Ext.form.FileUploadField.superclass.onRender.call(this,a,c);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-file-wrap"});this.el.addClass("x-form-file-text");this.el.dom.removeAttribute("name");this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:this.name||this.getId(),cls:"x-form-file",tag:"input",type:"file",size:1});var b=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new Ext.Button(Ext.apply(b,{renderTo:this.wrap,cls:"x-form-file-btn"+(b.iconCls?" x-btn-icon":"")}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth())}this.fileInput.on("change",function(){var d=this.fileInput.dom.value;this.setValue(d);this.fireEvent("fileselected",this,d)},this)},getFileInputId:function(){return this.id+"-file"},onResize:function(a,b){Ext.form.FileUploadField.superclass.onResize.call(this,a,b);this.wrap.setWidth(a);if(!this.buttonOnly){var a=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(a)}},preFocus:Ext.emptyFn,getResizeEl:function(){return this.wrap},getPositionEl:function(){return this.wrap},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])},onEnable:function(){Ext.form.FileUploadField.superclass.onEnable.call(this);this.fileInput.dom.disabled=false;this.button.enable()},onDisable:function(){Ext.form.FileUploadField.superclass.onEnable.call(this);this.fileInput.dom.disabled=true;this.button.disable()}});Ext.reg("fileuploadfield",Ext.form.FileUploadField);Ext.ns("Ext.ux.form");Ext.ux.form.XCheckbox=Ext.extend(Ext.form.Checkbox,{submitOffValue:"false",submitOnValue:"true",onRender:function(){this.inputValue=this.submitOnValue;Ext.ux.form.XCheckbox.superclass.onRender.apply(this,arguments);this.hiddenField=this.wrap.insertFirst({tag:"input",type:"hidden"});if(this.tooltip){this.imageEl.set({qtip:this.tooltip})}this.updateHidden()},setValue:function(a){a=this.convertValue(a);this.updateHidden(a);Ext.ux.form.XCheckbox.superclass.setValue.apply(this,arguments)},updateHidden:function(a){a=undefined!==a?a:this.checked;a=this.convertValue(a);if(this.hiddenField){this.hiddenField.dom.value=a?this.submitOnValue:this.submitOffValue;this.hiddenField.dom.name=a?"":this.el.dom.name}},convertValue:function(a){return(a===true||a==="true"||a===this.submitOnValue||String(a).toLowerCase()==="on")}});Ext.reg("xcheckbox",Ext.ux.form.XCheckbox);Ext.tree.ColumnTree=Ext.extend(Ext.tree.TreePanel,{lines:false,borderWidth:Ext.isBorderBox?0:2,cls:"x-column-tree",onRender:function(){Ext.tree.ColumnTree.superclass.onRender.apply(this,arguments);this.headers=this.body.createChild({cls:"x-tree-headers"},this.innerCt.dom);var d=this.columns,e;var g=0;for(var b=0,a=d.length;b<a;b++){e=d[b];g+=e.width;this.headers.createChild({cls:"x-tree-hd "+(e.cls?e.cls+"-hd":""),cn:{cls:"x-tree-hd-text",html:e.header},style:"width:"+(e.width-this.borderWidth)+"px;"})}this.headers.createChild({cls:"x-clear"});this.headers.setWidth(g);this.innerCt.setWidth(g)}});Ext.tree.SubExColumnNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{focus:Ext.emptyFn,afterRender:function(){if(this.autoScroll){this.body.dom.style.overflow="auto";this.body.dom.style.position="relative"}},renderElements:function(h,g,k,d){this.indentMarkup=h.parentNode?h.parentNode.ui.getChildIndent():"";var r=h.getOwnerTree();var p=r.columns;var l=r.borderWidth;var o=p[0];var u=r.width-2;var e=o.width;if(r.columnConfig&&r.columnConfig.autoFill){e=o.width>1?o.width:o.width*u}var q=['<li class="x-tree-node"><div ext:tree-node-id="',h.id,'" class="x-tree-node-el x-tree-node-leaf ',g.cls,'">','<div class="x-tree-col" style="width:',e-l,'px;">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow">','<img src="',g.icon||this.emptyIcon,'" class="x-tree-node-icon',(g.icon?" x-tree-node-inline-icon":""),(g.iconCls?" "+g.iconCls:""),'" unselectable="on">','<a hidefocus="on" class="x-tree-node-anchor" href="',g.href?g.href:"#",'" tabIndex="1" ',g.hrefTarget?' target="'+g.hrefTarget+'"':"",">",'<span unselectable="on">',h.text||(o.renderer?o.renderer(g[o.dataIndex],h,g):g[o.dataIndex]),"</span></a>","</div>"];for(var b=1,m=p.length;b<m;b++){o=p[b];if(!o.hidden){e=o.width;if(r.columnConfig&&r.columnConfig.autoFill){e=o.width>1?o.width:o.width*u}q.push('<div class="x-tree-col ',(o.cls?o.cls:""),'" style="width:',e-l,'px;">','<div class="x-tree-col-text">',(o.renderer?o.renderer(g[o.dataIndex],h,g):g[o.dataIndex]),"</div>","</div>")}}q.push('<div class="x-clear"></div></div>','<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>");if(d!==true&&h.nextSibling&&h.nextSibling.ui.getEl()){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",h.nextSibling.ui.getEl(),q.join(""))}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",k,q.join(""))}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var s=this.elNode.firstChild.childNodes;this.indentNode=s[0];this.ecNode=s[1];this.iconNode=s[2];this.anchor=s[3];this.textNode=s[3].firstChild}});var headers;Ext.tree.SubExColumnTree=Ext.extend(Ext.tree.TreePanel,{lines:false,treeSorter:null,borderWidth:Ext.isBorderBox?0:2,cls:"x-column-tree",columnConfig:{autoFill:false},sortDescImage:"",sortAscImage:"",onRender:function(){Ext.tree.ColumnTree.superclass.onRender.apply(this,arguments);this.headers=this.getEl().createChild({cls:"x-tree-headers"},this.bwrap.dom);var g=this.columns,e;this.headers.on("click",function(u,s){var q="desc";var t;for(var c=0;c<h.columns.length;c=c+1){if(h.columns[c].header==s.firstChild.data){t=h.columns[c].dataIndex;q=h.columns[c].state=="desc"?"asc":"desc";h.columns[c].state=q;break}}for(c=0;c<headers.dom.childNodes.length;c++){childDiv=headers.dom.childNodes[c];if(childDiv.childNodes&&childDiv.childNodes.length>0){temp=childDiv.childNodes[0];if(temp.childNodes){for(j=1;j<temp.childNodes.length;j++){temp.removeChild(temp.childNodes[j])}}}}if(s.childNodes.length==1){var o=document.createElement("img");if(q=="desc"){o.src=h.sortDescImage}else{o.src=h.sortAscImage}s.appendChild(o)}var v=h.treeSorter?h.treeSorter.folderSort:true;var r=h.treeSorter?h.treeSorter.secondarySort:null;var p=h.treeSorter?h.treeSorter.secondaryProperty:null;var w=h.treeSorter?h.treeSorter.secondaryDir:null;h.treeSorter=new Ext.tree.SubExTreeSorter(h,{dir:q,property:t,folderSort:v,secondaryProperty:p,secondarySort:r,secondaryDir:w});u.stopEvent();h.root.reload()});var k=0;var m=this.width;var n=m-1;for(var a=0,l=g.length;a<l;a++){e=g[a];if(!e.hidden){var h=this;var d=window.location.href;var b=e.width;if(this.columnConfig.autoFill){b=e.width>1?e.width:e.width*n;k+=b}k+=b;headers=this.headers;this.headers.createChild({cls:(a===l-1?"x-tree-hd-end":"x-tree-hd ")+(e.cls?e.cls+"-hd":""),cn:{cls:"x-tree-hd-text",html:e.header},style:"width:"+(b-this.borderWidth)+"px;"})}}this.headers.createChild({cls:"x-clear"});this.headers.setWidth(m);this.innerCt.setWidth(k)}});Ext.tree.SubExNoOpTreeProvider=function(){return{data:[],getNodes:function(){return null},setData:function(a){this.data=a},scope:this}};Ext.tree.SubExTreeLoader=function(a){Ext.apply(this,a);Ext.tree.SubExTreeLoader.superclass.constructor.call(this,a)};Ext.extend(Ext.tree.SubExTreeLoader,Ext.tree.TreeLoader,{treeNodeProvider:new Ext.tree.SubExNoOpTreeProvider(),loading:false,load:function(c,a){if(this.clearOnLoad){while(c.firstChild){var b=c.firstChild;c.removeChild(b);b.destroy()}}if(this.doPreload(c)){if(typeof a=="function"){a()}}else{if(this.treeNodeProvider){this.requestData(c,a)}}},requestData:function(c,a){if(this.fireEvent("beforeload",this,c,a)!==false){this.loading=true;var b=this.treeNodeProvider.getNodes();if(b){this.processResponse(b,c,a)}this.loading=false;if(c.loading){c.loading=false}}else{if(typeof a=="function"){a()}}},isLoading:function(){return this.loading},abort:function(){},processResponse:function(c,k,b){try{k.beginUpdate();for(var g=0,a=c.length;g<a;g++){var h=this.createNode(c[g]);if(h){k.appendChild(h)}}k.endUpdate();if(typeof b=="function"){b(this,k)}}catch(d){this.fireEvent("loadexception",this,k,d);if(typeof b=="function"){b(this,k)}}},updateTreeNodeProvider:function(a){if(this.treeNodeProvider){this.treeNodeProvider.setData(a)}},getTreeNodeProvider:function(){return this.treeNodeProvider},setTreeNodeProvider:function(a){if(a==null||(typeof a=="undefined")){throw"setTreeNodeProvider, newTreeNodeProvider == null || (typeof newTreeNodeProvider == undefined)"}this.treeNodeProvider=a}});Ext.tree.SubExTreeSorter=function(l,m){Ext.apply(this,m);Ext.tree.SubExTreeSorter.superclass.constructor.call(this,l,m);var q=this.dir&&this.dir.toLowerCase()=="desc";var k=this.property||"text";var o=this.sortType;var e=this.folderSort;var b=this.secondarySort;var h=this.secondaryProperty;var n=this.secondaryDir&&this.secondaryDir.toLowerCase()=="desc";var c=this.caseSensitive===true;var g=this.leafAttr||"leaf";var d=function(s,p){var r;if(typeof s.attributes[p]=="undefined"){r=""}else{if(o){r=o(s)}else{if(s.attributes[p]){if(s.attributes[p]&&typeof s.attributes[p]==="string"){r=c?s.attributes[p]:s.attributes[p].toUpperCase()}else{r=s.attributes[p]}}else{r=""}}}return r};var a=function(p){if(p&&p.parentNode&&p.parentNode.parentNode){return true}return false};this.sortFn=function(p,u){if(e){if(p.attributes[g]&&!u.attributes[g]){return 1}if(!p.attributes[g]&&u.attributes[g]){return -1}}if(b&&a(p)&&a(u)){var t=d(p,h);var v=d(u,h);if(t<v){return n?+1:-1}else{if(t>v){return n?-1:+1}else{return 0}}}var s=d(p,k);var r=d(u,k);if(s<r){return q?+1:-1}else{if(s>r){return q?-1:+1}else{return 0}}}};Ext.extend(Ext.tree.SubExTreeSorter,Ext.tree.TreeSorter,{allowChildSorting:true,doSort:function(a){if(a.getDepth()==0||this.allowChildSorting){a.sort(this.sortFn)}}});$("#password-clear").show();$("#password-password").hide();$("#password-clear").focus(function(){$("#password-clear").hide();$("#password-password").show();$("#password-password").focus()});$("#password-password").blur(function(){if($("#password-password").val()==""){$("#password-clear").show();$("#password-password").hide()}});Ext.namespace("Zapproved");Zapproved.SessionManager=function(a){if(a){Ext.apply(this,a)}};Ext.extend(Zapproved.SessionManager,Ext.util.Observable,{loadMaskText:"Logging in...",errorSubject:"Login failed",accountErrorSubject:"Failed to load account",accountLoadMaskText:"Loading account...",successCallback:null,failureCallback:null,scope:null,login:function(b,a,d){var c=new Zapproved.Request({url:secureBaseUrl+"Services/Account/Login",scope:this,errorSubject:this.errorSubject,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.loadMaskText}),params:{username:b,password:a,token:d,tz:tz,tza:tza},successCallback:this.afterLogin,failureCallback:this.failureCallback});c.doRequest()},afterLogin:function(b,a){this.successCallback.apply(this.scope||this,[a])}});Zapproved.SessionManager.getAccount=function(){var b=readCookie(ACCOUNT_COOKIE);if(b&&b.length>0){var a=Ext.decode(unescape(b));return a.data}else{return null}};Ext.namespace("Ext.ux.form");if(typeof Ext.isIE8!="boolean"){Ext.isIE8=Ext.isIE&&navigator.userAgent.toLowerCase().indexOf("msie 8")>-1}Ext.ux.form.BrowseButton=Ext.extend(Ext.Button,{inputFileName:"file",debug:false,FLOAT_EL_WIDTH:60,FLOAT_EL_HEIGHT:18,buttonCt:null,clipEl:null,floatEl:null,inputFileEl:null,originalHandler:null,originalScope:null,BROWSERS_OFFSETS:{Ext2:{IE8:{left:-8,top:-16,width:16,height:22},IE:{left:-8,top:-3,width:16,height:6},Opera:{left:-8,top:-3,width:-18,height:-1},Gecko:{left:-8,top:-6,width:16,height:10},Safari:{left:-4,top:-2,width:6,height:6}},Ext3:{IE8:{left:-7,width:10},IE:{left:-3,width:6},Gecko:{width:11}}},isExt2x:Ext.version.match(/^2\./),initComponent:function(){Ext.ux.form.BrowseButton.superclass.initComponent.call(this);this.originalHandler=this.handler;this.originalScope=this.scope;this.handler=null;this.scope=null},onRender:function(c,e){Ext.ux.form.BrowseButton.superclass.onRender.call(this,c,e);if(this.isExt2x){this.buttonCt=this.el.child(".x-btn-center em")}else{this.buttonCt=this.el.child(".x-btn-mc em")}this.buttonCt.position("relative");var b={position:"absolute",overflow:"hidden",top:"0px",left:"0px"};for(var a in this.BROWSERS_OFFSETS.Ext2){if(Ext["is"+a]){Ext.apply(b,{left:this.getBrowserOffset(a,"left")+"px",top:this.getBrowserOffset(a,"top")+"px"});break}}this.clipEl=this.buttonCt.createChild({tag:"div",style:b});this.setClipSize();this.clipEl.on({mousemove:this.onButtonMouseMove,mouseover:this.onButtonMouseMove,scope:this});this.floatEl=this.clipEl.createChild({tag:"div",style:{position:"absolute",width:this.FLOAT_EL_WIDTH+"px",height:this.FLOAT_EL_HEIGHT+"px",overflow:"hidden"}});if(this.debug){this.clipEl.applyStyles({"background-color":"green"});this.floatEl.applyStyles({"background-color":"red"})}else{this.floatEl.setOpacity(0)}var d=this.el.child(this.buttonSelector);d.on("focus",this.onButtonFocus,this);if(Ext.isIE){this.el.on("keydown",this.onButtonKeyDown,this)}this.createInputFile()},getBrowserOffset:function(b,a){if(!this.isExt2x&&this.BROWSERS_OFFSETS.Ext3[b]&&this.BROWSERS_OFFSETS.Ext3[b][a]){return this.BROWSERS_OFFSETS.Ext3[b][a]}else{return this.BROWSERS_OFFSETS.Ext2[b][a]}},setClipSize:function(){if(this.clipEl){var c=this.buttonCt.getWidth();var a=this.buttonCt.getHeight();if(c===0||(a===0&&!Ext.isIE8)){this.setClipSize.defer(100,this)}else{for(var b in this.BROWSERS_OFFSETS.Ext2){if(Ext["is"+b]){c=c+this.getBrowserOffset(b,"width");a=a+this.getBrowserOffset(b,"height");break}}this.clipEl.setSize(c,a)}}},createInputFile:function(){this.floatEl.select("em").each(function(a){a.remove()});this.inputFileEl=this.floatEl.createChild({tag:"input",type:"file",size:1,name:this.inputFileName||Ext.id(this.el),tabindex:this.tabIndex,style:{position:"absolute",cursor:"pointer",right:"0px",top:"0px"}});this.inputFileEl=this.inputFileEl.child("input")||this.inputFileEl;if(Ext.isIE8){this.inputFileEl.setOpacity(0)}this.inputFileEl.on({click:this.onInputFileClick,change:this.onInputFileChange,focus:this.onInputFileFocus,select:this.onInputFileFocus,blur:this.onInputFileBlur,scope:this});if(this.tooltip){if(typeof this.tooltip=="object"){Ext.QuickTips.register(Ext.apply({target:this.inputFileEl},this.tooltip))}else{this.inputFileEl.dom[this.tooltipType]=this.tooltip}}},onButtonFocus:function(a){if(this.inputFileEl){this.inputFileEl.focus();a.stopEvent()}},onButtonKeyDown:function(a){if(this.inputFileEl&&a.getKey()==Ext.EventObject.SPACE){this.inputFileEl.dom.click();a.stopEvent()}},onButtonMouseMove:function(b){var a=b.getXY();a[0]-=this.FLOAT_EL_WIDTH/2;a[1]-=this.FLOAT_EL_HEIGHT/2;this.floatEl.setXY(a)},onInputFileFocus:function(a){if(!this.isDisabled){this.el.addClass("x-btn-over")}},onInputFileBlur:function(a){this.el.removeClass("x-btn-over")},onInputFileClick:function(a){a.stopPropagation()},onInputFileChange:function(){if(this.originalHandler){this.originalHandler.call(this.originalScope,this)}},detachInputFile:function(a){var b=this.inputFileEl;if(typeof this.tooltip=="object"){Ext.QuickTips.unregister(this.inputFileEl)}else{this.inputFileEl.dom[this.tooltipType]=null}this.inputFileEl.removeAllListeners();this.inputFileEl=null;if(!a){this.createInputFile()}return b},getInputFile:function(){return this.inputFileEl},disable:function(){Ext.ux.form.BrowseButton.superclass.disable.call(this);this.inputFileEl.dom.disabled=true},enable:function(){Ext.ux.form.BrowseButton.superclass.enable.call(this);this.inputFileEl.dom.disabled=false}});Ext.reg("browsebutton",Ext.ux.form.BrowseButton);Ext.ux.FileUploader=function(a){Ext.apply(this,a);Ext.ux.FileUploader.superclass.constructor.apply(this,arguments);this.addEvents("beforeallstart","allfinished","beforefilestart","filefinished","fileuploaded","progress","fileerror")};Ext.extend(Ext.ux.FileUploader,Ext.util.Observable,{baseParams:{cmd:"upload",dir:"."},concurrent:true,enableProgress:true,jsonErrorText:"Cannot decode JSON object",maxFileSize:524288,progressIdName:"UPLOAD_IDENTIFIER",progressInterval:2000,progressUrl:"progress.php",progressMap:{bytes_total:"bytesTotal",bytes_uploaded:"bytesUploaded",est_sec:"estSec",files_uploaded:"filesUploaded",speed_average:"speedAverage",speed_last:"speedLast",time_last:"timeLast",time_start:"timeStart"},singleUpload:false,unknownErrorText:"Unknown error",upCount:0,createForm:function(b){var c=parseInt(Math.random()*10000000000,10);var a=Ext.getBody().createChild({tag:"form",action:this.url,method:"post",cls:"x-hidden",id:Ext.id(),cn:[{tag:"input",type:"hidden",name:"APC_UPLOAD_PROGRESS",value:c},{tag:"input",type:"hidden",name:this.progressIdName,value:c},{tag:"input",type:"hidden",name:"MAX_FILE_SIZE",value:this.maxFileSize}]});if(b){b.set("form",a);b.set("progressId",c)}else{this.progressId=c}return a},deleteForm:function(b,a){b.remove();if(a){a.set("form",null)}},fireFinishEvents:function(a){if(true!==this.eventsSuspended&&!this.singleUpload){this.fireEvent("filefinished",this,a&&a.record)}if(true!==this.eventsSuspended&&0===this.upCount){this.stopProgress();this.fireEvent("allfinished",this)}},getIframe:function(b){var a=null;var c=b.get("form");if(c&&c.dom&&c.dom.target){a=Ext.get(c.dom.target)}return a},getOptions:function(c,a){var b={url:this.url,method:"post",isUpload:true,scope:this,cb:this.uploadCallback,callback:this.uploadCallback,record:c,params:this.getParams(c,a)};return b},getParams:function(b,a){var c={path:this.path};Ext.apply(c,this.baseParams||{},a||{});return c},processSuccess:function(d,b,a){var c=false;if(this.singleUpload){this.store.each(function(e){e.set("state","done");e.set("error","");this.fireEvent("fileuploaded",this,e,a);e.commit()})}else{c=d.record;if(typeof c!="undefined"&&c.get("removed")!="true"){c.set("state","done");c.set("error","");this.fireEvent("fileuploaded",this,c,a);c.commit()}}this.deleteForm(d.form,c)},processFailure:function(d,b,e){var c=d.record;var a;if(this.singleUpload){a=this.store.queryBy(function(g){return"done"!==g.get("state")});a.each(function(g){var h=e.errors?e.errors[g.id]:this.unknownErrorText;if(h){g.set("state","failed");g.set("error",h);Ext.getBody().appendChild(g.get("input"))}else{g.set("state","done");g.set("error","")}g.commit()},this);this.deleteForm(d.form)}else{if(e&&"object"===Ext.type(e)){c.set("error",e.message)}else{if(e){c.set("error",e)}else{if(b&&b.responseText){c.set("error",b.responseText)}else{c.set("error",this.unknownErrorText)}}}c.set("state","failed");c.commit();this.fireEvent("fileerror",this,c)}},requestProgress:function(){var b,c;var a={url:this.progressUrl,method:"post",params:{},scope:this,callback:function(k,d,h){var g;if(true!==d){return}try{g=Ext.decode(h.responseText)}catch(l){return}if("object"!==Ext.type(g)||true!==g.success){return}if(this.singleUpload){this.progress={};for(c in g){if(this.progressMap[c]){this.progress[this.progressMap[c]]=parseInt(g[c],10)}}if(true!==this.eventsSuspended){this.fireEvent("progress",this,this.progress)}}else{for(c in g){if(this.progressMap[c]&&k.record){k.record.set(this.progressMap[c],parseInt(g[c],10))}}if(k.record){k.record.commit();if(true!==this.eventsSuspended){this.fireEvent("progress",this,k.record.data,k.record)}}}this.progressTask.delay(this.progressInterval)}};if(this.singleUpload){a.params[this.progressIdName]=this.progressId;a.params.APC_UPLOAD_PROGRESS=this.progressId;Ext.Ajax.request(a)}else{b=this.store.query("state","uploading");b.each(function(d){a.params[this.progressIdName]=d.get("progressId");a.params.APC_UPLOAD_PROGRESS=a.params[this.progressIdName];a.record=d;(function(){Ext.Ajax.request(a)}).defer(250)},this)}},setPath:function(a){this.path=a},setUrl:function(a){this.url=a},startProgress:function(){if(!this.progressTask){this.progressTask=new Ext.util.DelayedTask(this.requestProgress,this)}this.progressTask.delay.defer(this.progressInterval/2,this.progressTask,[this.progressInterval])},stopProgress:function(){if(this.progressTask){this.progressTask.cancel()}},stopAll:function(){var a=this.store.query("state","uploading");a.each(this.stopUpload,this)},stopUpload:function(b){var a=false;if(b){a=this.getIframe(b);this.stopIframe(a);this.upCount--;this.upCount=0>this.upCount?0:this.upCount;b.set("state","stopped");this.fireFinishEvents({record:b})}else{if(this.form){a=Ext.fly(this.form.dom.target);this.stopIframe(a);this.upCount=0;this.fireFinishEvents()}}},stopIframe:function(a){if(a){try{a.dom.contentWindow.stop();a.remove.defer(250,a)}catch(b){}}},upload:function(){var a=this.store.queryBy(function(b){return"queued"===b.get("state")});if(!a.getCount()){return}if(true!==this.eventsSuspended&&false===this.fireEvent("beforeallstart",this)){return}if(this.singleUpload){this.uploadSingle()}else{a.each(this.uploadFile,this)}if(true===this.enableProgress){this.startProgress()}},uploadCallback:function(d,a,c){var b;this.upCount--;this.form=false;if(true===a){if(c.responseText==""){this.processSuccess(d,c,b)}else{try{b=Ext.decode(c.responseText)}catch(g){this.processFailure(d,c,this.jsonErrorText);this.fireFinishEvents(d);return}if(true===b.success){this.processSuccess(d,c,b)}else{this.processFailure(d,c,b)}}}else{this.processFailure(d,c)}this.fireFinishEvents(d)},uploadFile:function(c,a){if(true!==this.eventsSuspended&&false===this.fireEvent("beforefilestart",this,c)){return}var d=this.createForm(c);var e=c.get("input");e.set({name:e.id});d.appendChild(e);var b=this.getOptions(c,a);b.form=d;c.set("state","uploading");c.set("pctComplete",0);this.upCount++;Ext.Ajax.request(b);this.getIframe.defer(100,this,[c])},uploadSingle:function(){var b=this.store.queryBy(function(d){return"done"!==d.get("state")});if(!b.getCount()){return}var c=this.createForm();b.each(function(d){var e=d.get("input");e.set({name:e.id});c.appendChild(e);d.set("state","uploading")},this);var a=this.getOptions();a.form=c;this.form=c;this.upCount++;Ext.Ajax.request(a)}});Ext.reg("fileuploader",Ext.ux.FileUploader);Ext.ux.UploadPanel=Ext.extend(Ext.Panel,{addIconCls:"icon-plus",addText:"Add",bodyStyle:"padding:2px",buttonsAt:"tbar",clickRemoveText:"Click to remove",clickStopText:"Click to stop",emptyText:"No files",enableProgress:true,errorText:"Error",fileCls:"file",fileQueuedText:"File <b>{0}</b> is queued for upload",fileDoneText:"File <b>{0}</b> has been successfully uploaded",fileFailedText:"File <b>{0}</b> failed to upload",fileStoppedText:"File <b>{0}</b> stopped by user",fileUploadingText:"Uploading file <b>{0}</b>",maxFileSize:524288,maxLength:18,removeAllIconCls:"icon-cross",removeAllText:"Remove All",removeIconCls:"icon-minus",removeText:"Remove",selectedClass:"ux-up-item-selected",singleUpload:false,stopAllText:"Stop All",stopIconCls:"icon-stop",uploadText:"Upload",uploadIconCls:"icon-upload",workingIconCls:"icon-working",initComponent:function(){var e={xtype:"browsebutton",text:this.addText+"...",iconCls:this.addIconCls,scope:this,handler:this.onAddFile};var b={xtype:"button",iconCls:this.uploadIconCls,text:this.uploadText,scope:this,handler:this.onUpload,disabled:true};var d={xtype:"button",iconCls:this.removeAllIconCls,tooltip:this.removeAllText,scope:this,handler:this.onRemoveAllClick,disabled:true};if("body"!==this.buttonsAt){this[this.buttonsAt]=[e,b,"->",d]}var c=[{name:"id",type:"text",system:true},{name:"shortName",type:"text",system:true},{name:"fileName",type:"text",system:true},{name:"filePath",type:"text",system:true},{name:"fileCls",type:"text",system:true},{name:"input",system:true},{name:"form",system:true},{name:"state",type:"text",system:true},{name:"error",type:"text",system:true},{name:"progressId",type:"int",system:true},{name:"bytesTotal",type:"int",system:true},{name:"bytesUploaded",type:"int",system:true},{name:"estSec",type:"int",system:true},{name:"filesUploaded",type:"int",system:true},{name:"speedAverage",type:"int",system:true},{name:"speedLast",type:"int",system:true},{name:"timeLast",type:"int",system:true},{name:"timeStart",type:"int",system:true},{name:"pctComplete",type:"int",system:true}];if(Ext.isArray(this.customFields)){c.push(this.customFields)}this.store=new Ext.data.SimpleStore({id:0,fields:c,data:[]});Ext.apply(this,{items:[{xtype:"dataview",itemSelector:"div.ux-up-item",store:this.store,selectedClass:this.selectedClass,singleSelect:true,emptyText:this.emptyText,tpl:this.tpl||new Ext.XTemplate('<tpl for="."><div class="ux-up-item"><div class="ux-up-icon-file {fileCls}">&#160;</div><div class="ux-up-text x-unselectable" qtip="{fileName}">{shortName}</div><div id="remove-{[values.input.id]}" class="ux-up-icon-state ux-up-icon-{state}"qtip="{[this.scope.getQtip(values)]}">&#160;</div></div></tpl>',{scope:this}),listeners:{click:{scope:this,fn:this.onViewClick}}}]});Ext.ux.UploadPanel.superclass.initComponent.apply(this,arguments);this.view=this.items.itemAt(0);this.addEvents("beforefileadd","fileadd","beforefileremove","fileremove","beforequeueclear","queueclear","beforeupload");this.relayEvents(this.view,["beforeclick","beforeselect","click","containerclick","contextmenu","dblclick","selectionchange"]);var a={store:this.store,singleUpload:this.singleUpload,maxFileSize:this.maxFileSize,enableProgress:this.enableProgress,url:this.url,path:this.path};if(this.baseParams){a.baseParams=this.baseParams}this.uploader=new Ext.ux.FileUploader(a);this.relayEvents(this.uploader,["beforeallstart","allfinished","progress"]);this.on({beforeallstart:{scope:this,fn:function(){this.uploading=true;this.updateButtons()}},allfinished:{scope:this,fn:function(){this.uploading=false;this.updateButtons()}},progress:{fn:this.onProgress.createDelegate(this)}})},onRender:function(){Ext.ux.UploadPanel.superclass.onRender.apply(this,arguments);var a="tbar"===this.buttonsAt?this.getTopToolbar():this.getBottomToolbar();this.addBtn=Ext.getCmp(a.items.first().id);this.uploadBtn=Ext.getCmp(a.items.itemAt(1).id);this.removeAllBtn=Ext.getCmp(a.items.last().id)},getQtip:function(b){var a="";switch(b.state){case"queued":a=String.format(this.fileQueuedText,b.fileName);a+="<br>"+this.clickRemoveText;break;case"uploading":a=String.format(this.fileUploadingText,b.fileName);a+="<br>"+b.pctComplete+"% done";a+="<br>"+this.clickStopText;break;case"done":a=String.format(this.fileDoneText,b.fileName);a+="<br>"+this.clickRemoveText;break;case"failed":a=String.format(this.fileFailedText,b.fileName);a+="<br>"+this.errorText+":"+b.error;a+="<br>"+this.clickRemoveText;break;case"stopped":a=String.format(this.fileStoppedText,b.fileName);a+="<br>"+this.clickRemoveText;break}return a},getFileName:function(a){return a.getValue().split(/[\/\\]/).pop()},getFilePath:function(a){return a.getValue().replace(/[^\/\\]+$/,"")},getFileCls:function(a){var b=a.split(".");if(1===b.length){return this.fileCls}else{return this.fileCls+"-"+b.pop().toLowerCase()}},onAddFile:function(d){if(true!==this.eventsSuspended&&false===this.fireEvent("beforefileadd",this,d.getInputFile())){return}var c=d.detachInputFile();c.addClass("x-hidden");var b=this.getFileName(c);var a=new this.store.recordType({input:c,fileName:b,filePath:this.getFilePath(c),shortName:Ext.util.Format.ellipsis(b,this.maxLength),fileCls:this.getFileCls(b),state:"queued"},c.id);a.commit();this.store.add(a);this.syncShadow();this.uploadBtn.enable();this.removeAllBtn.enable();if(true!==this.eventsSuspended){this.fireEvent("fileadd",this,this.store,a)}},onDestroy:function(){if(this.uploader){this.uploader.stopAll();this.uploader.purgeListeners();this.uploader=null}if(this.view){this.view.purgeListeners();this.view.destroy();this.view=null}if(this.store){this.store.purgeListeners();this.store.destroy();this.store=null}},onProgress:function(l,e,n){var g,m,a,d,h,c,b,k;if(n){d=n.get("state");g=n.get("bytesTotal")||1;m=n.get("bytesUploaded")||0;if("uploading"===d){a=Math.round(1000*m/g)/10}else{if("done"==="state"){a=100}else{a=0}}n.set("pctComplete",a);h=this.store.indexOf(n);c=Ext.get(this.view.getNode(h));if(c){b=c.getWidth();c.applyStyles({"background-position":b*a/100+"px"})}}},onRemoveFile:function(c){if(true!==this.eventsSuspended&&false===this.fireEvent("beforefileremove",this,this.store,c)){return}var d=c.get("input");var b=d.up("em");d.remove();if(b){b.remove()}this.store.remove(c);var a=this.store.getCount();this.uploadBtn.setDisabled(!a);this.removeAllBtn.setDisabled(!a);if(true!==this.eventsSuspended){this.fireEvent("fileremove",this,this.store);this.syncShadow()}},onRemoveAllClick:function(a){if(true===this.uploading){this.stopAll()}else{this.removeAll()}},stopAll:function(){this.uploader.stopAll()},onViewClick:function(g,d,b,c){var a=c.getTarget("div:any(.ux-up-icon-queued|.ux-up-icon-failed|.ux-up-icon-done|.ux-up-icon-stopped)");if(a){this.onRemoveFile(this.store.getAt(d))}a=c.getTarget("div.ux-up-icon-uploading");if(a){this.uploader.stopUpload(this.store.getAt(d))}},onUpload:function(){if(true!==this.eventsSuspended&&false===this.fireEvent("beforeupload",this)){return false}this.uploader.upload()},setUrl:function(a){this.url=a;this.uploader.setUrl(a)},setPath:function(a){this.uploader.setPath(a)},updateButtons:function(){if(true===this.uploading){this.addBtn.disable();this.uploadBtn.disable();this.removeAllBtn.setIconClass(this.stopIconCls);this.removeAllBtn.getEl().child(this.removeAllBtn.buttonSelector).dom[this.removeAllBtn.tooltipType]=this.stopAllText}else{this.addBtn.enable();this.uploadBtn.enable();this.removeAllBtn.setIconClass(this.removeAllIconCls);this.removeAllBtn.getEl().child(this.removeAllBtn.buttonSelector).dom[this.removeAllBtn.tooltipType]=this.removeAllText}},removeAll:function(){var a=this.eventsSuspended;if(false!==this.eventsSuspended&&false===this.fireEvent("beforequeueclear",this,this.store)){return false}this.suspendEvents();this.store.each(this.onRemoveFile,this);this.eventsSuspended=a;if(true!==this.eventsSuspended){this.fireEvent("queueclear",this,this.store)}this.syncShadow()},syncShadow:function(){if(this.contextmenu&&this.contextmenu.shadow){this.contextmenu.getEl().shadow.show(this.contextmenu.getEl())}}});Ext.reg("uploadpanel",Ext.ux.UploadPanel);Ext.namespace("Zapproved");Zapproved.Request=function(a){if(a){Ext.apply(this,a,{options:a})}};Ext.extend(Zapproved.Request,Ext.util.Observable,{url:null,method:null,scope:null,params:null,errorRedirectUrl:null,ignoreError:false,successCallback:null,failureCallback:null,errorSubject:null,mask:null,hideMaskOnSuccess:true,method:"GET",autoAbort:false,failure:function(b,c){if(this.mask){this.mask.hide()}if(typeof this.failureCallback=="function"){var a=this.failureCallback.apply(this.scope||this,[b,null]);if(a==true){return}}if(!this.ignoreError){var d=new Zapproved.ErrorDialog({redirectUrl:this.errorRedirectUrl});d.showServerError(this.errorSubject,b)}},success:function(b,c){var a=Ext.util.JSON.decode(b.responseText);if(!a.success&&!this.ignoreError){if(this.mask){this.mask.hide()}if(typeof this.failureCallback=="function"){var e=this.failureCallback.apply(this.scope||this,[b,a]);if(e==true){return}}var d=new Zapproved.ErrorDialog({redirectUrl:this.errorRedirectUrl});d.showServerError(this.errorSubject,b,a)}else{if(this.mask&&this.hideMaskOnSuccess){this.mask.hide()}if(typeof this.successCallback=="function"){this.successCallback.apply(this.scope||this,[a],this.options)}}},doRequest:function(){if(this.mask){this.mask.show()}var a=Ext.Ajax.request({url:this.url,scope:this,params:this.params,success:this.success,failure:this.failure,method:this.method});return a}});var $resources=Zapproved.resources={getBusinessCardRequestErrorMessage:"Unable retrieve account details.",saveTemplateTitleText:"Save template as",getRequestErrorMessage:"Unable to load proposal",getRequestsAllErrorMessage:"Unable to retrieve requests",getRequestsAllLoadingMessage:"Loading...",getRequestsAllRecipientsErrorMessage:"Unable to retrieve recipient requests",getRequestsAllRecipientsLoadingMessage:"Loading...",getRequestsAllUnarchivedErrorMessage:"Unable to retrieve requests",closeRequestErrorMessage:"Close Proposal Failed",closeRequestLoadingMessage:"Closing Proposal...",closeRequestBatchErrorMessage:"Closing Proposal(s) Failed",closeRequestBatchLoadingMessage:"Closing Proposal(s)...",cancelRequestErrorMessage:"Cancel Proposal Failed",copyRequestErrorMessage:"Reissue Proposal Failed",copyRequestLoadingMessage:"Reissuing Proposal...",archiveRequestErrorMessage:"Archive Proposal Failed",archiveRequestLoadingMessage:"Archiving Proposal...",archiveRequestBatchErrorMessage:"Archiving Proposal(s) Failed",archiveRequestBatchLoadingMessage:"Archiving Proposal(s)...",unarchiveRequestErrorMessage:"Unarchive Proposal Failed",unarchiveRequestLoadingMessage:"Unarchiving...",getRequestLoadingMessage:"Loading Proposal...",sendEmailErrorMessage:"Send Email Failed",sendEmailLoadingMessage:"Sending...",sendEmailSucceededSubject:"Email Sent",sendEmailSucceededMessage:"The email copy was sent successfully.",sendSampleEmailErrorMessage:"Send Email Failed",sendSampleEmailLoadingMessage:"Sending...",sendSampleEmailSucceededSubject:"Sample Email Sent",sendSampleEmailSucceededMessage:"The email sample was sent successfully.",sendRequestLoadingMessage:"Sending Proposal...",sendRequestErrorMessage:"Unable to send proposal",saveRequestLoadingMessage:"Saving Proposal...",saveRequestErrorMessage:"Unable to save Proposal...",deleteRequestLoadingMessage:"Deleting Proposal...",deleteRequestErrorMessage:"Unable to delete Proposal...",approveRequestLoadingMessage:"Sending Response...",approveRequestErrorMessage:"Your response could not be sent!",commentRequestLoadingMessage:"Sending Comment...",commentRequestErrorMessage:"Your response could not be sent!",denyRequestLoadingMessage:"Sending Contact Request...",denyRequestErrorMessage:"Your response could not be sent!",annotateRequestLoadingMessage:"Sending Note...",annotateRequestErrorMessage:"Your response could not be sent!",removeRequestLoadingMessage:"Releasing User...",removeRequestErrorMessage:"Your response could not be sent!",sendReminderLoadingMessage:"Sending...",sendReminderErrorMessage:"Send Reminder Failed",projectComboLoadingMessage:"Loading projects...",projectComboErrorMessage:"Failed to retrieve projects",loginRequiredAlertTitleText:"Login Required",loginRequiredAlertMessageText:"Please log in to use this feature",closeRequestConfirmTitleText:"Close",closeRequestConfirmMessageText:"Are you sure you want to close this proposal? This will lock the proposal from any further comments or decisions.",closeRequestBatchConfirmTitleText:"Confirm",closeRequestBatchConfirmMessageText:'Are you sure you want to close {0} proposals? This will lock the proposals from any further comments or decisions and they will be marked as "Closed".<br /><br />To mark any of these proposals as "Approved" or "Denied", click No below and close the holds individually.',closeRequestBatchInvalidAlertTitleText:"Invalid Selection",closeRequestBatchInvalidAlertMessageText:"Some of the selected proposals were initiated by others or they have already been Closed or Cancelled.  Only open proposals may be Closed.",archiveRequestBatchConfirmTitleText:"Confirm",archiveRequestBatchConfirmMessageText:'Are you sure you want to archive {0} proposal(s)?  This will remove the proposal(s) from your Proposal Center, though you will be able to find them on the "All Proposals" page.',archiveRequestBatchInvalidAlertTitleText:"Invalid Selection",archiveRequestBatchInvalidAlertMessageText:"Some of the selected proposals are still open.  Only proposals that have been Approved, Denied, Closed or Cancelled may be Archived.",cancelRequestConfirmTitleText:"Cancel",cancelRequestConfirmMessageText:"Are you sure you want to cancel this proposal? This will lock the proposal from any further comments or decisions.",copyRequestConfirmTitleText:"Reissue",noMatternameOnSendErrorText:"You must enter a Proposal Title to send",noProposalnameOnSaveErrorText:"You must enter a Proposal Title to save",noProposalnameOnSendErrorText:"You must enter a Proposal Title to send",noRecipientOnSendErrorText:"You must enter at least one Approver to send",noRecipientOnSaveErrorText:"You must enter at least one Approver to save.",noDescriptionOnSendErrorText:"You must enter a Description to send",copyRequestConfirmMessageText:"Are you sure you want to refresh this proposal? New notifications will be sent and Approvers will be asked to resend their response.",deleteRequestConfirmTitleText:"Delete Draft",deleteRequestConfirmMessageText:"Are you sure you want to delete this draft proposal?",archiveRequestConfirmTitleText:"Archive",archiveRequestConfirmMessageText:'Are you sure you want to archive this proposal? This will remove the proposal from your Proposal Center, though you can find it under the "Archives" page.',sendEmailTitleText:"Send an Email Copy",sendEmailMessageText:"Email address:",sendSampleEmailTitleText:"Send a Sample Email Copy",sendSampleEmailMessageText:"Email address:",sendReminderConfirmTitleText:"Reminders Sent",sendReminderConfirmMessageText:"<b>Reminders were sent to recipients who have not responded:</b><br />",sendReminderTitleText:"Send a Reminder",sendReminderMessageText:"Send a reminder email to all recipients who have not yet responded?",proposalLimitExceededTitleText:"Proposal Limit Exceeded",proposalLimitExceededMessageText:"You have exceeded the number of proposals you are allowed to send (currently 5/month). Your proposal has been saved as a draft. Please upgrade to a paid account to send more proposals immediately.",previousDecisionTitleText:"Resend To All?",previousDecisionMessageText:"You have made changes to this proposal.  Do you want the Approvers to be informed of these changes and resubmit a resonse. All prior decisions will be kept in the discussion log.",uploadInProgressTitleText:"Upload In Progress",uploadInProgressMessageText:"A file upload is still in progress.  Please wait for file upload to complete before sending your proposal.",proposalFormValidationText:"Problems were found in your proposal data.",proposalFormExitingText:"You are attempting to leave this page. If you leave before clicking the Send button, your changes will be lost. Are you sure you want to exit this page?",createdIconToolTip:"Sent",createdDisplayText:"Sent",sentIconToolTip:"Sent",sentDisplayText:"Sent",viewedIconToolTip:"Viewed",viewedDisplayText:"Viewed",approvedIconToolTip:"Approved",approvedDisplayText:"Approved",deniedIconToolTip:"Denied",deniedDisplayText:"Denied",unreadIconToolTip:"No Reply",unreadDisplayText:"Emailed Notification",cancelledIconToolTip:"Cancel",cancelledDisplayText:"Cancel",commentedIconToolTip:"Commented",commentedDisplayText:"Commented",closedIconToolTip:"Closed",closedDisplayText:"Closed",annotatedIconToolTip:"Add Note",annotatedDisplayText:"Add Note",removedIconToolTip:"Released",removedDisplayText:"Released",updatedIconToolTip:"Updated",reIssuedDisplayText:"Reissued",editDisplayText:"Edited",updatedIconToolTip:"Updated",updatedDisplayText:"Updated",responseStatusPendingDisplayText:"Pending",cancelButtonText:"Cancel",deleteButtonText:"Delete",viewRequestDescriptionTitleText:"Proposal Title",viewRequestDescription:"Proposal Description",viewRequestScopeTitleText:"Scope",viewRequestContactInfoTitleText:"Additional Contact Info",viewRequestProposalInstructionsTitleText:"Proposal Instructions",viewRequestReleaseInstructionsTitleText:"Release Notification Text",viewRequestReleaseInstructionsEmptyText:"You have been released (default text)...",approveRequestButtonText:"Approve",commentRequestButtonText:"Comment",denyRequestButtonText:"Deny",exitRequestButtonText:"Exit",homeRequestButtonText:"Home",copyRequestButtonText:"Reissue Proposal",editRequestButtonText:"Edit Proposal",closeRequestButtonText:"Close Proposal",cancelRequestButtonText:"Cancel Proposal",archiveRequestButtonText:"Archive",unarchiveRequestButtonText:"Unarchive",sendButtonText:"Send",newUserSendButtonText:"Next",draftButtonText:"Save As Draft",fromColumnHeader:"Sender",fromFieldLabel:"Sender",toColumnHeader:"To",toFieldLabel:"Approvers",toFieldEmptyText:"(email or contact name required)",ccFieldLabel:"CC",ccFieldEmptyText:"(email or contact name)",ccFieldInstructionText:"Enter the name(s) of people who will receive copies the proposal, but not be able to reply",senderFieldLabel:"Additional Senders",senderFieldEmptyText:"(add other senders by email or name)",senderFieldInstructionText:"Enter the name(s) of any additional authorized senders of this proposal:",projectFieldLabel:"Project",projectFieldEmptyText:"(Project Name required)",projectValidationErrorText:"Project Name Name is required",subjectColumnHeader:"Subject",subjectFieldLabel:"Proposal Title",subjectFieldEmptyText:"(required)",subjectFieldValidationText:"Proposal Title is required",descriptionFieldLabel:"Enter the description of the proposal:",scopeFieldLabel:"Enter the scope of the proposal:",contactInfoFieldLabel:"Enter additional contact info:",proposalInstructionsFieldLabel:"Personalize instruction text to appear above the buttons in the E-mail Notification:",releaseInstructionsFieldLabel:"Enter text for the release notification:",projectColumnHeader:"Project",statusColumnHeader:"Status",statusFieldLabel:"Status",clientIdColumnHeader:"From",clientIdFieldLabel:"Id #",clientIdFieldEmptyText:null,clientIdFieldValidationText:null,createdOnColumnHeader:"Created",updatedOnColumnHeader:"Updated",dueDateFieldLabel:"Due Date",reminderDateFieldLabel:"Next Proposal",createDateFieldLabel:"Created",priorityFieldLabel:"Priority",attachmentsFieldLabel:"Attachments",alertFieldLabel:"Alert",oldVersionAlertTitleText:"clicking here",oldVersionAlertMessageText:"This is an older version of this proposal! You can view the current version of this proposal by",emailDialogAddressFieldLabel:"Email Address",emailDialogCommentFieldLabel:"Comment",emailDialogSubmitButtonText:"Submit",emailDialogCancelButtonText:"Cancel",proposalHistoryGridTitleText:"Proposal History",highPriorityDisplayText:"High Priority",lowPriorityDisplayText:"Low Priority",loginPageUri:"/Login",templatePageUri:"/Templates",homePageUri:"/Home",welcomePageUri:"/Welcome",welcomePlansPageUri:"/Welcome/Plans",servicesPageUri:"/Services",servicesDownloadFilePageUri:"/Services/File/Get",printRequestPageUri:"/Print",editRequestPageUri:"/Edit",newRequestPageUri:"/New",viewRequestPageUri:"/View",copyRequestPageUri:"/Copy",contactsPageUri:"/Contacts",sortDescendingImagePath:"/images/default/grid/sort_desc.gif",sortAscendingImagePath:"/images/default/grid/sort_asc.gif",iconRelativeImagePath:"/Images/site/icon/",createdIconImageName:"sent.jpg",sentIconImageName:"sent.jpg",viewedIconImageName:"viewed.jpg",approvedIconImageName:"comply.jpg",approvedIconImageBtn:"complyblack.jpg",deniedIconImageName:"denied.jpg",unreadIconImageName:"sent.jpg",cancelledIconImageName:"cancel.gif",closedIconImageName:"closed.gif",commentedIconImageName:"notes.jpg",annotatedIconImageName:"notes.jpg",annotatedIconImageBtn:"notesBlack.jpg",removedIconImageName:"released.jpg",removedIconImageBtn:"releasedBlack.jpg",updatedIconImageName:"",highPriorityIconImageName:"high_priority.jpg",lowPriorityIconImageName:"low_priority.gif",attachmentIconImageName:"attachment.gif",defaultIconHeight:15,defaultIconWidth:15};var $services=Zapproved.services={getBusinessCardRequestUrl:"/Services/Account/GetBusinessCard",sendEmailRequestUrl:"/Services/Proposal/SendEmailCopy/",sendReminderRequestUrl:"/Services/Proposal/SendManualReminder/",sendSampleEmailRequestUrl:"/Services/Proposal/SendSampleEmail/",addTemplateUrl:"/Services/Resource/AddTemplate/",deleteTemplateUrl:"/Services/Resource/Delete/",getUserTemplatesUrl:"/Services/Resource/GetUserTemplates/",getAllTemplatesUrl:"/Services/Resource/GetAllTemplates/",getTemplateUrl:"/Services/Resource/GetTemplate/",getRequestUrl:"/Services/Proposal/Get/",getRequestsAllUrl:"/Services/Proposal/GetAll",getRequestsAllRecipientsUrl:"/Services/Proposal/GetAllRecipients",getRequestsAllUnarchivedUrl:"/Services/Proposal/GetUnarchivedAll",addProposalUrl:"/Services/Proposal/Add",updateProposalUrl:"/Services/Proposal/Update/",copyProposalUrl:"/Services/Proposal/Copy/",deleteRequestUrl:"/Services/DeleteRequest",closeRequestUrl:"/Services/Proposal/Close/",closeRequestBatchUrl:"/Services/Proposal/CloseBatch",cancelRequestUrl:"/Services/Proposal/Cancel/",archiveRequestUrl:"/Services/Proposal/Archive/",archiveRequestBatchUrl:"/Services/Proposal/ArchiveBatch/",unarchiveRequestUrl:"/Services/Proposal/Unarchive/",commentRequestUrl:"/Services/Proposal/Comment/",approveRequestUrl:"/Services/Proposal/Approve/",annotateRequestUrl:"/Services/Proposal/Annotate/",denyRequestUrl:"/Services/Proposal/Deny/",removeRequestUrl:"/Services/Proposal/Remove/",getProjectsUrl:"/Services/Project/GetAll"};var $controller=Zapproved.Controller=new Ext.util.Observable();$controller.addRequest=function(b,c){var a=this;$controller[b]=function(k,l,g){Ext.applyIf(k||{},{tz:tz,tza:tza});var d=l.successCallback;var h=l.failureCallback;var e=Ext.applyIf(l||{},c);if(k.id){e.url+=k.id}var n;if(e.loadingMessage){n=new Ext.LoadMask(Ext.getBody(),{msg:c.loadingMessage})}Ext.apply(e,{scope:g,mask:n,params:k,notifySubscribers:true,successCallback:function(o,q){var p=true;var r=typeof d==="function";if(r===true){if(d.apply(e.scope||this,[o,q])===false){p=false}}if(e.notifySubscribers===true||r===false){if(a.fireEvent(b+"Success",o,q)===false){p=false}}return p},failureCallback:function(p,o){var q=true;var r=typeof h==="function";if(r===true){if(h.apply(e.scope||this,[p,o])===false){q=false}}if(e.notifySubscribers===true||r===false){a.fireEvent(b+"Failure",p,o);if(r===false){q=false}}return q}});a.fireEvent(b,k);var m=new Zapproved.Request(e);m.doRequest()};$controller.addEvents(b,b+"Success",b+"Failure")};$controller.addRequest("getBusinessCard",{url:$services.getBusinessCardRequestUrl,errorSubject:$resources.getBusinessCardRequestErrorMessage});$controller.addRequest("sendReminder",{url:$services.sendReminderRequestUrl,errorSubject:$resources.sendReminderErrorMessage,loadingMessage:$resources.sendReminderLoadingMessage});$controller.addRequest("sendEmail",{url:$services.sendEmailRequestUrl,errorSubject:$resources.sendEmailErrorMessage,loadingMessage:$resources.sendEmailLoadingMessage});$controller.addRequest("sendSampleEmail",{url:$services.sendSampleEmailRequestUrl,errorSubject:$resources.sendSampleEmailErrorMessage,loadingMessage:$resources.sendSampleEmailLoadingMessage});$controller.addRequest("addTemplate",{url:$services.addTemplateUrl});$controller.addRequest("deleteTemplate",{url:$services.deleteTemplateUrl});$controller.addRequest("getUserTemplates",{url:$services.getUserTemplatesUrl});$controller.addRequest("getAllTemplates",{url:$services.getAllTemplatesUrl});$controller.addRequest("getTemplate",{url:$services.getTemplateUrl});$controller.addRequest("getRequest",{url:$services.getRequestUrl,errorSubject:$resources.getRequestErrorMessage,loadingMessage:$resources.getRequestLoadingMessage});$controller.addRequest("getRequestsAll",{url:$services.getRequestsAllUrl,errorSubject:$resources.getRequestsAllErrorMessage,loadingMessage:$resources.getRequestsAllLoadingMessage});$controller.addRequest("getRequestsAllRecipients",{url:$services.getRequestsAllRecipientsUrl,errorSubject:$resources.getRequestsAllRecipientsErrorMessage,loadingMessage:$resources.getRequestsAllRecipientsLoadingMessage});$controller.addRequest("getRequestsAllUnarchived",{url:$services.getRequestsAllUnarchivedUrl,errorSubject:$resources.getRequestsAllUnarchivedErrorMessage});$controller.addRequest("addProposal",{url:$services.addProposalUrl});$controller.addRequest("updateProposal",{url:$services.updateProposalUrl});$controller.addRequest("copyProposal",{url:$services.copyProposalUrl});$controller.addRequest("closeRequest",{url:$services.closeRequestUrl,errorSubject:$resources.closeRequestErrorMessage,loadingMessage:$resources.closeRequestLoadingMessage});$controller.addRequest("closeRequestBatch",{url:$services.closeRequestBatchUrl,errorSubject:$resources.closeRequestBatchErrorMessage,loadingMessage:$resources.closeRequestBatchLoadingMessage});$controller.addRequest("cancelRequest",{url:$services.cancelRequestUrl,errorSubject:$resources.cancelRequestErrorMessage});$controller.addRequest("copyRequest",{url:$services.copyRequestUrl,errorSubject:$resources.copyRequestErrorMessage,loadingMessage:$resources.copyRequestLoadingMessage});$controller.addRequest("archiveRequest",{url:$services.archiveRequestUrl,errorSubject:$resources.archiveRequestErrorMessage,loadingMessage:$resources.archiveRequestLoadingMessage});$controller.addRequest("archiveRequestBatch",{url:$services.archiveRequestBatchUrl,errorSubject:$resources.archiveRequestBatchErrorMessage,loadingMessage:$resources.archiveRequestBatchLoadingMessage});$controller.addRequest("unarchiveRequest",{url:$services.unarchiveRequestUrl,errorSubject:$resources.unarchiveRequestErrorMessage,loadingMessage:$resources.unarchiveRequestLoadingMessage});$controller.addRequest("approveRequest",{url:$services.approveRequestUrl,errorSubject:$resources.approveRequestErrorMessage,loadingMessage:$resources.approveRequestLoadingMessage});$controller.addRequest("annotateRequest",{url:$services.annotateRequestUrl,errorSubject:$resources.annotateRequestErrorMessage,loadingMessage:$resources.annotateRequestLoadingMessage});$controller.addRequest("removeRequest",{url:$services.removeRequestUrl,errorSubject:$resources.removeRequestErrorMessage,loadingMessage:$resources.removeRequestLoadingMessage});$controller.addRequest("denyRequest",{url:$services.denyRequestUrl,errorSubject:$resources.denyRequestErrorMessage,loadingMessage:$resources.denyRequestLoadingMessage});$controller.addRequest("commentRequest",{url:$services.commentRequestUrl,errorSubject:$resources.commentRequestErrorMessage,loadingMessage:$resources.commentRequestLoadingMessage});$controller.addRequest("getProjects",{url:$services.getProjectsUrl});var $controls=Ext.namespace("Zapproved.Controls");Zapproved.BusinessLogo=Ext.extend(Ext.Component,{constructor:function(a){var b=new Ext.Template('<img class={cls} src="{src}" alt="{alt}">');Ext.applyIf(a||{},{autoEl:"div",cls:"zap-logo",load:function(e){if(Ext.isEmpty(e)){$controller.getBusinessCard({},{successCallback:this._loadBusinessCard},this)}else{if(e.logoUrl&&Ext.isEmpty(e.logoUrl)!==true){var d=e.logoUrl;var c=e.organizationName;if(Ext.isEmpty(c)){c=""}if(Ext.isEmpty(this.image)){this.image=b.append(this.getEl(),{src:d,alt:c,cls:"zap-logo-image"},true)}else{this.image=b.overwrite(this.image,{src:d,alt:c,cls:"zap-logo-image"},true)}}}},_loadBusinessCard:function(c){this.load(c.data)}});Zapproved.BusinessLogo.superclass.constructor.call(this,a)}});Ext.reg("zap.businesslogo",Zapproved.BusinessLogo);Zapproved.EmailAddressDialog=Ext.extend(Ext.Window,{constructor:function(b){var a=this;Ext.applyIf(b||{},{title:$resources.sendSampleEmailTitleText,cls:"zap-window",height:175,width:425,plain:true,resizable:false,modal:true,border:false,layout:"form",style:"padding:5px",items:[{xtype:"label",fieldLabel:$resources.sendSampleEmailMessageText,value:" ",anchor:"100%"},{xtype:"textfield",id:"emailAddress",fieldLabel:$resources.emailDialogAddressFieldLabel,value:b.emailAddress,anchor:"100%"},{xtype:"textarea",id:"comment",fieldLabel:$resources.emailDialogCommentFieldLabel,anchor:"100%"}],buttons:[{text:$resources.emailDialogSubmitButtonText,handler:a._submit,scope:this},{text:$resources.emailDialogCancelButtonText,handler:a._cancel,scope:this}]});Zapproved.EmailAddressDialog.superclass.constructor.call(this,b);this.addEvents("submit","cancel");this.on("close",a._cancel)},_submit:function(){this.fireEvent("submit",{emailAddress:this.getComponent("emailAddress").getValue(),comment:this.getComponent("comment").getValue()});this.close()},_cancel:function(){this.fireEvent("cancel");this.close()}});Ext.reg("zap.emailaddressdialog",Zapproved.EmailAddressDialog);Zapproved.Controls.ProjectComboBox=Ext.extend(Ext.form.ComboBox,{constructor:function(b){var a=new Ext.data.Store({reader:new Ext.data.JsonReader({root:"data",totalProperty:"numRows",id:"id"},[{name:"id"},{name:"name"}])});Ext.applyIf(b||{},{displayField:"name",typeAhead:true,mode:"local",triggerAction:"all",selectOnFocus:false,editable:true,forceSelection:false,loadingText:$resources.projectComboLoadingMessage,fieldLabel:$resources.projectFieldLabel,store:a});Zapproved.Controls.ProjectComboBox.superclass.constructor.call(this,b);this.on("render",function(c){$controller.getProjects({},{errorSubject:$resources.projectComboErrorMessage,successCallback:function(d){a.loadData(d)}})})}});Ext.reg("zap.projectcombo",Zapproved.Controls.ProjectComboBox);Zapproved.ErrorDialog=Ext.extend(Ext.Window,{AUTHORIZATION_REMOVED_MSG:"Access to this proposal is no longer permitted.  This may be because the list of Approvers on this proposal has changed.",MISSING_PARAMETER_MSG:"Missing parameter expected by server: {0}",INVALID_PARAMETER_MSG:"Invalid parameter expected by server: {0}",PAYMENT_FAILED_MSG:"Payment processing failed.  Please check your payment information and ensure that the name matches the name on your credit card then try again.",UNKNOWN_CODE_MSG:"Unknown error code: ",ALREADY_TAKEN_MSG:"This email address already has a Zapproved account.  Click Welcome in the menu above to go to the home page, you can login using the fields in the top-right corner of the screen.",TOKEN_USED_MSG:"This account has already been confirmed.  If you have forgotten your password, use the Reset Password feature.",ARCHIVE_EXPIRED_MSG:"Access to this proposal has expired. Please upgrade to a paid account for access to all archived proposals.",PROPOSAL_LIMIT_EXCEEDED_MSG:"You have exceeded the number of proposals you are allowed to send (currently 5/month). Your proposal has been saved as a draft. Please upgrade to a paid account to send more proposals immediately.",NOT_AUTHORIZED_MSG:"You are not currently authorized to perform this action. Please contact support@zapproved.com for assistance.",layout:"fit",width:400,autoHeight:true,closable:true,resizable:false,draggable:false,border:false,bodyBorder:false,plain:true,buttonAlign:"center",title:'<span class="error-text">Error</span>',modal:true,timeoutMessage:"The server took too long to respond or you are disconnected from the internet.  Please try again in a few minutes.",serverErrorMessage:"An error occurred while processing your request.",serverStatusCodeMessage:"<b>Server Response:</b></br>The server returned response code {0} with message: {1} <br/><br/><b>Response Headers:</b><br/>{2}",serverInvalidResponseMessage:"<b>Server Response:</b></br>The server returned an unexpected response: {0} <br/><br/><b>Response Headers:</b><br/>{1}",initComponent:function(){Ext.apply(this,{buttons:[{text:"Close",scope:this,handler:function(){this.hide();if(this.redirectUrl){window.location.pathname=this.redirectUrl}}}]});Zapproved.ErrorDialog.superclass.initComponent.apply(this,arguments)},showError:function(b,a){this.addSimpleErrorPanel(b,a);this.show()},showErrorCode:function(d,c,a){var b=this.translateCode(c);if(a&&a.length>0){b=String.format(b,a[0])}this.addSimpleErrorPanel(d,b);this.show()},showErrorWithDetails:function(c,b,a){this.addUnexpectedErrorPanel(c,b,a);this.show()},showServerError:function(c,b,a){if(!b.responseText&&!b.status){}else{if(b.status==200){if(a&&a.errorCode){this.showErrorCode(c,a.errorCode,[a.data])}else{if(a&&a.errors){this.showErrorCode(c,a.errors[0].error,[a.data||a.errors[0].id])}else{if(a&&a.data){this.showError(c,a.data)}else{this.showErrorWithDetails(c,this.serverErrorMessage,String.format(this.serverInvalidResponseMessage,b.responseText,b.getAllResponseHeaders))}}}}else{this.showErrorWithDetails(c,this.serverErrorMessage,String.format(this.serverStatusCodeMessage,b.status,b.statusText,b.getAllResponseHeaders))}}},showFormError:function(e,b){var d=0;var g=new Array();for(i=0;i<b.items.items.length;i++){var c=b.items.items[i];if(c.isValid&&!c.isValid()){var a=Ext.util.Format.stripTags(c.fieldLabel);g[d]="<b>"+a+":</b> "+c.el.dom.qtip;d++}}this.showError(e,g)},showUnexpectedExceptionError:function(a){var c="An error occurred while processing your request.";var b="Exception message: "+a},translateCode:function(a){if(a=="AuthorizationRemoved"){return this.AUTHORIZATION_REMOVED_MSG}else{if(a=="MissingParameter"){return this.MISSING_PARAMETER_MSG}else{if(a=="InvalidParameter"){return this.INVALID_PARAMETER_MSG}else{if(a=="PaymentFailed"){return this.PAYMENT_FAILED_MSG}else{if(a=="AlreadyTaken"){return this.ALREADY_TAKEN_MSG}else{if(a=="TokenUsed"){return this.TOKEN_USED_MSG}else{if(a=="ArchiveExpired"){return this.ARCHIVE_EXPIRED_MSG}else{if(a=="NotAuthorized"){return this.NOT_AUTHORIZED_MSG}else{if(a=="ProposalLimitExceeded"){return this.PROPOSAL_LIMIT_EXCEEDED_MSG}else{return this.UNKNOWN_CODE_MSG+a}}}}}}}}}},buildMessageSubject:function(a){if(!a||a.length==0){return""}return"<b>"+a+":</b></br>"},buildMessageList:function(b){var a='<ul style="margin-left:15px;list-style-type: disc">';if(b instanceof Array){for(i=0;i<b.length;i++){a+="<li>"+b[i]+"</li>"}}else{a+="<li>"+b+"</li>"}a+="</ul>";return a},addSimpleErrorPanel:function(b,a){this.add(new Ext.Panel({frame:true,border:false,autoHeight:true,html:'<div style="padding-bottom: 5px">'+this.buildMessageSubject(b)+'</div><div class="ext-mb-icon" style="float: left"><img src="/Images/default/window/icon-error.gif" border="0"/></div><div class="ext-mb-content" style="margin-left: 50px; margin-top: 5px"><span class="ext-mb-text">'+this.buildMessageList(a)+"</span></div>"}))},addUnexpectedErrorPanel:function(c,b,a){this.add(new Ext.Panel({frame:true,border:false,autoHeight:true,html:this.buildMessageSubject(c)+this.buildMessageList(b)}));this.add(new Ext.Panel({frame:true,border:false,collapsed:true,collapsible:true,title:"Error Details",html:a}))}});Ext.reg("errordialog",Zapproved.ErrorDialog);Zapproved.ErrorDialog.msg=function(c,a){var b=new Zapproved.ErrorDialog();b.showError(c,a)};Zapproved.ErrorDialog.fromErrorCode=function(d,b,a){var c=new Zapproved.ErrorDialog();c.showErrorCode(d,b,a)};Zapproved.ErrorDialog.fromServerError=function(d,b,a){var c=new Zapproved.ErrorDialog();c.showServerError(d,b,a)};Zapproved.ErrorDialog.fromForm=function(c,a){var b=new Zapproved.ErrorDialog();b.showFormError(c,a)};Zapproved.ProposalReader=function(){return new Ext.data.JsonReader({root:"data",totalProperty:"numRows",id:"id"},Zapproved.ProposalRecord)};Zapproved.ProposalRecord=Ext.data.Record.create([{name:"id",mapping:"id",type:"string"},{name:"currentId",mapping:"currentId",type:"string"},{name:"previousId",mapping:"previousId",type:"string"},{name:"subject",mapping:"subject",type:"string"},{name:"inbox",mapping:"inbox",type:"boolean"},{name:"outbox",mapping:"outbox",type:"string"},{name:"closed",mapping:"closed",type:"boolean"},{name:"archived",mapping:"archived",type:"boolean"},{name:"description",mapping:"description",type:"string"},{name:"dueDate",mapping:"dueDate",type:"int"},{name:"to",mapping:"to",type:"auto"},{name:"cc",mapping:"cc",type:"auto"},{name:"from",mapping:"from",type:"auto"},{name:"fromName",mapping:"fromName",type:"string"},{name:"senders",mapping:"senders",type:"auto"},{name:"senderLogoUrl",mapping:"senderLogoUrl",type:"string"},{name:"senderUrl",mapping:"senderUrl",type:"string"},{name:"senderCompanyName",mapping:"senderCompanyName",type:"string"},{name:"status",mapping:"status",type:"auto"},{name:"project",mapping:"project",type:"string"},{name:"clientId",mapping:"clientId",type:"string"},{name:"createdOn",mapping:"createdOn",type:"int"},{name:"originalCreatedOn",mapping:"originalCreatedOn",type:"int"},{name:"updatedOn",mapping:"updatedOn",type:"int"},{name:"priority",mapping:"priority",type:"int"},{name:"commentMode",mapping:"commentMode",type:"int"},{name:"isSender",mapping:"isSender",type:"boolean"},{name:"canApprove",mapping:"canApprove",type:"boolean"},{name:"canComment",mapping:"canComment",type:"boolean"},{name:"viewChanged",mapping:"viewChanged",type:"boolean"},{name:"isMember",mapping:"isMember",type:"boolean"},{name:"read",mapping:"read",type:"boolean"},{name:"myLatestResponse",mapping:"myLatestResponse",type:"int"},{name:"responses",mapping:"responses",type:"auto"},{name:"attachments",mapping:"attachments",type:"auto"},{name:"myEmailLink",mapping:"myEmailLink",type:"string"},{name:"checked",mapping:"checked",type:"boolean",defaultValue:false}]);Ext.form.TriggerField.override({afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var a;if(Ext.isIE&&!this.hideTrigger&&this.el.getY()!=(a=this.trigger.getY())){this.el.position();this.el.setY(a)}}});Ext.form.ComboBoxMulti=function(a){this.typeAhead=false;this.hideTrigger=true;this.defaultAutoCreate={tag:"textarea",autocomplete:"off",rows:10};this.sep=a.sep;this.pad=a.pad;Ext.form.ComboBoxMulti.superclass.constructor.call(this,a)};Ext.form.ComboBoxMulti=Ext.extend(Ext.form.ComboBoxMulti,Ext.form.ComboBox,{onSelect:function(a,c){if(this.fireEvent("beforeselect",this,a,c)!==false){var b=this.getValue();var d=b.lastIndexOf(this.sep);if(d>0){this.setValue(b.substr(0,d)+this.sep+this.pad+a.data.value+this.sep+this.pad)}else{this.setValue(a.data.value+this.sep+this.pad)}this.collapse();this.fireEvent("select",this,a,c)}}});Ext.reg("combomulti",Ext.form.ComboBoxMulti);var contactStore;var contactTemplate;function createContactComboBox(a,b,c,e){var d=false;if(e&&e==true){d=true}if(contactStore==null){contactStore=new Ext.data.Store({baseParams:{tz:tz,tza:tza},proxy:new Ext.data.HttpProxy({url:"/Services/Contact/Search"}),reader:new Ext.data.JsonReader({root:"data",totalProperty:"numRows"},[{name:"value",convert:function(g,h){if((h.displayName==null)||(h.displayName==h.primaryEmail)){return h.primaryEmail}else{return h.displayName+" <"+h.primaryEmail+">"}}},{name:"firstName"},{name:"lastName"},{name:"displayName"},{name:"primaryEmail"}])});contactTemplate=new Ext.XTemplate('<tpl for="."><div class="search-item">',"{displayName} &lt;{primaryEmail}&gt;","</div></tpl>")}return new Ext.form.ComboBoxMulti({store:contactStore,displayField:"primaryEmail",name:a,id:a,allowBlank:(!d),emptyText:b,loadingText:"Searching...",fieldLabel:c,vtype:"emaillist",validationEvent:"blur",minChars:1,maxHeight:100,queryDelay:10,typeAheadDelay:10,anchor:"100%",height:175,sep:",",pad:" ",tpl:contactTemplate,itemSelector:"div.search-item",listeners:{blur:function(g){g.collapse()}}})}function createFileUploadGrid(b,r){var c=new Ext.data.SimpleStore({id:0,fields:[{name:"id",type:"text",system:true},{name:"shortName",type:"text",system:true},{name:"fileName",type:"text",system:true},{name:"filePath",type:"text",system:true},{name:"fileCls",type:"text",system:true},{name:"input",system:true},{name:"form",system:true},{name:"state",type:"text",system:true},{name:"error",type:"text",system:true},{name:"progressId",type:"int",system:true},{name:"bytesTotal",type:"int",system:true},{name:"bytesUploaded",type:"int",system:true},{name:"estSec",type:"int",system:true},{name:"filesUploaded",type:"int",system:true},{name:"speedAverage",type:"int",system:true},{name:"speedLast",type:"int",system:true},{name:"timeLast",type:"int",system:true},{name:"timeStart",type:"int",system:true},{name:"pctComplete",type:"int",system:true},{name:"ext"},{name:"fileId"}],data:[]});function m(s){if(s=="queued"){return'<img width="16" height="16" border="0" alt="Queued" src="/Images/site/grid/up.png"/>'}else{if(s=="uploading"){return'<img width="18" height="18" border="0" alt="Uploading" src="/Images/default/grid/wait.gif"/>'}else{if(s=="done"){return'<img width="16" height="16" border="0" alt="Uploading" src="/Images/site/grid/accept.png"/>'}else{if(s=="failed"){return'<img width="16" height="16" border="0" alt="Uploading" src="/Images/site/grid/error.png"/>'}else{if(s=="stopped"){return'<img width="16" height="16" border="0" alt="Uploading" src="/Images/site/grid/error.png"/>'}}}}}}var q;if(!b||!r){var h="You must be logged in to attach files";if(b){h="Your plan does not support file attachments"}q=new Ext.grid.GridPanel({store:c,columns:[{header:"",width:28,renderer:renderIcon,dataIndex:"ext"},{header:"File",width:150,sortable:true,id:"file",dataIndex:"fileName"},{header:"",width:28,renderer:m,dataIndex:"state"}],tbar:[{xtype:"browsebutton",text:"Attach File",tooltip:"Add a file attachment",iconCls:"addbutton",disabled:true,scope:this,handler:g},"-",{text:"Remove File",tooltip:"Remove the selected attachment",iconCls:"deletebutton",disabled:true,scope:this,handler:n},"-",h],hideHeaders:true,stripeRows:true,autoExpandColumn:"file",autoHeight:true,anchor:"95%"})}else{q=new Ext.grid.GridPanel({store:c,columns:[{header:"",width:28,renderer:renderIcon,dataIndex:"ext"},{header:"File",width:150,sortable:true,id:"file",dataIndex:"fileName"},{header:"",width:28,renderer:m,dataIndex:"state"}],tbar:[{xtype:"browsebutton",text:"Attach File",tooltip:"Add a file attachment",iconCls:"addbutton",disabled:false,scope:this,handler:g},"-",{text:"Remove File",tooltip:"Remove the selected attachment",iconCls:"deletebutton",disabled:false,scope:this,handler:n},"-","Maximum attachment size is currently "+ZapUtils.kbToMb(Zapproved.SessionManager.getAccount().maxAttachmentSizeKb)+"MB"],hideHeaders:true,stripeRows:true,autoExpandColumn:"file",autoHeight:true,anchor:"95%"})}q.attachedRecords=new Array();q.numActiveDownloads=0;q.uploader=new Ext.ux.FileUploader({store:c,singleUpload:false,maxFileSize:524288,enableProgress:false,url:"/Services/File/Upload",path:""});q.uploader.on("beforeallstart",o,q);q.uploader.on("allfinished",a,q);q.uploader.on("fileuploaded",e,q);q.uploader.on("fileerror",k,q);function o(){this.numActiveDownloads++}function a(){this.numActiveDownloads--}function e(u,s,t){s.set("fileId",t.data);q.attachedRecords.push(t.data)}function k(t,s){Ext.MessageBox.show({title:"Upload Error",msg:"<b>Upload Failed:</b>"+s.get("error"),buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});q.attachedRecords.remove(s.data.fileId);q.store.remove(s)}function l(s){var t=s.split(".");if(t.length==1){return""}else{return t.pop().toLowerCase()}}function d(s){return s.getValue().split(/[\/\\]/).pop()}function p(s){return s.getValue().replace(/[^\/\\]+$/,"")}function g(w){var v=w.detachInputFile();v.addClass("x-hidden");var t=d(v);var s=q.getStore();var u=new s.recordType({input:v,fileName:t,filePath:p(v),ext:l(t),state:"queued"},v.id);u.commit();s.add(u);q.uploader.upload()}function n(t){var s=q.getSelectionModel();fileRecord=s.getSelected();if(fileRecord!=null){if(fileRecord.get("state")!="done"){q.numActiveDownloads--;fileRecord.set("removed","true");fileRecord.commit()}q.attachedRecords.remove(fileRecord.data.fileId);q.store.remove(fileRecord)}}return q}function manualAddFileUploadGrid(b,d,g,e){var c=b.store;var a=new c.recordType({fileName:d,filePath:"",ext:g,state:"done",fileId:e},e);a.commit();c.add(a);b.attachedRecords.push(e)}Zapproved.Proposal=new function(){var a=this;Ext.apply(this,{ResponseStatus:{Draft:0,Send:1,PartialReply:2,Approved:3,Denied:4,Cancelled:5,Resubmitted:6,Closed:7,IntroDraft:8,IntroSend:9},ResponseState:{Unread:0,Viewed:1,Approved:2,Denied:3,ApprovedOld:4,DeniedOld:5,Removed:6},ResponseType:{Sender:0,To:1,Cc:2},ResponseAction:{Unknown:0,Created:1,Sent:2,Bounced:3,Viewed:4,Approved:5,Denied:6,Commented:7,Closed:8,Annotated:9,Deleted:10,Removed:11,Updated:12,ReIssued:14,Edited:15},parseResponseStatus:function(b){var d=a.ResponseStatus;var c;for(c in d){if(d[c]===b){return c}}},parseResponseState:function(c){var d=a.ResponseState;var b;for(b in d){if(d[b]===c){return b}}},parseResponseAction:function(d){var c=a.ResponseAction;var b;for(b in c){if(c[b]===d){return b}}},getIconImageTag:function(c){var b=a.getIconImageFilePath(c);var d=a.getIconToolTip(c);var e=String.format("zap-{0}-state",a.parseResponseState(c)).toLowerCase();return String.format('<img class="{0} {1}" src="{2}" alt="{3}" title="{4}" />',"zap-state-icon",e,b,d,d)},getIconImageTagByStatus:function(b){var c=a.getIconImageFilePathByStatus(b);var d=a.getIconToolTipByStatus(b);var e=String.format("zap-{0}-status",a.parseResponseStatus(b)).toLowerCase();return String.format('<img class="{0} {1}" src="{1}" alt="{2}" title="{3}" />',"zap-status-icon",e,c,d,d)},getIconImageTagByAction:function(d){var b=a.getIconImageFilePathByAction(d);var c=a.getIconToolTipByAction(d);var e=String.format("zap-{0}-action",a.parseResponseAction(d)).toLowerCase();return String.format('<img class="{0} {1}" src="{2}" alt="{3}" title="{4}" />',"zap-action-icon",e,b,c,c)},getIconImageFilePath:function(c){var b=a.ResponseState;var d=$resources.iconRelativeImagePath;if((c==b.Approved)||(c==b.ApprovedOld)){return String.format("{0}{1}",d,$resources.approvedIconImageName)}else{if((c==b.Denied)||(c==b.DeniedOld)){return String.format("{0}{1}",d,$resources.deniedIconImageName)}else{if(c==b.Viewed){return String.format("{0}{1}",d,$resources.viewedIconImageName)}else{if(c==b.Removed){return String.format("{0}{1}",d,$resources.removedIconImageName)}else{if(c==b.Unread){return String.format("{0}{1}",d,$resources.unreadIconImageName)}}}}}},getIconImageFilePathByStatus:function(b){var c=a.ResponseStatus;var d=$resources.iconRelativeImagePath;switch(b){case c.Approved:return String.format("{0}{1}",d,$resources.approvedIconImageName);case c.Denied:return String.format("{0}{1}",d,$resources.deniedIconImageName);case c.Cancelled:return String.format("{0}{1}",d,$resources.cancelledIconImageName);default:return String.format("{0}{1}",d,$resources.closedIconImageName)}},getIconImageFilePathByAction:function(d){var b=a.ResponseAction;var c=$resources.iconRelativeImagePath;switch(d){case b.Created:return String.format("{0}{1}",c,$resources.createdIconImageName);case b.Sent:return String.format("{0}{1}",c,$resources.sentIconImageName);case b.Viewed:return String.format("{0}{1}",c,$resources.viewedIconImageName);case b.Approved:return String.format("{0}{1}",c,$resources.approvedIconImageName);case b.Denied:return String.format("{0}{1}",c,$resources.deniedIconImageName);case b.Commented:return String.format("{0}{1}",c,$resources.commentedIconImageName);case b.Closed:return String.format("{0}{1}",c,$resources.cancelledIconImageName);case b.Annotated:return String.format("{0}{1}",c,$resources.annotatedIconImageName);case b.Removed:return String.format("{0}{1}",c,$resources.removedIconImageName);case b.Updated:return String.format("{0}{1}",c,$resources.updatedIconImageName);case b.ReIssued:return String.format("{0}{1}",c,$resources.sentIconImageName);case b.Edited:return String.format("{0}{1}",c,$resources.sentIconImageName);default:return""}},getIconToolTip:function(c){var b=a.ResponseState;if((c==b.Approved)||(c==b.ApprovedOld)){return $resources.approvedIconToolTip}else{if((c==b.Denied)||(c==b.DeniedOld)){return $resources.deniedIconToolTip}else{if(c==b.Viewed){return $resources.viewedIconToolTip}else{if(c==b.Removed){return $resources.removedIconToolTip}else{if(c==b.Unread){return $resources.unreadIconToolTip}}}}}},getIconToolTipByStatus:function(b){var c=a.ResponseStatus;switch(b){case c.Approved:return $resources.approvedIconToolTip;case c.Denied:return $resources.deniedIconToolTip;case c.Cancelled:return $resources.cancelledIconToolTip;default:return $resources.closedIconToolTip}},getIconToolTipByAction:function(c){var b=a.ResponseAction;switch(c){case b.Created:return $resources.createdIconToolTip;case b.Sent:return $resources.sentIconToolTip;case b.Viewed:return $resources.viewedIconToolTip;case b.Approved:return $resources.approvedIconToolTip;case b.Denied:return $resources.deniedIconToolTip;case b.Commented:return $resources.commentedIconToolTip;case b.Closed:return $resources.closedIconToolTip;case b.Annotated:return $resources.annotatedIconToolTip;case b.Removed:return $resources.removedIconToolTip;case b.Updated:return $resources.updatedIconToolTip;case b.ReIssued:return $resources.reIssuedDisplayText;case b.Edited:return $resources.editDisplayText;default:return""}},getResponseLabel:function(c){var b=a.ResponseState;if((c==b.Approved)||(c==b.ApprovedOld)){return $resources.approvedDisplayText}else{if((c==b.Denied)||(c==b.DeniedOld)){return $resources.deniedDisplayText}else{if(c==b.Viewed){return $resources.viewedDisplayText}else{if(c==b.Removed){return $resources.removedDisplayText}else{if(c==b.Unread){return $resources.unreadDisplayText}}}}}},getResponseStatusLabel:function(b){var c=a.ResponseStatus;switch(b){case c.Approved:return $resources.approvedDisplayText;case c.Denied:return $resources.deniedDisplayText;case c.Cancelled:return $resources.cancelledDisplayText;default:return $resources.closedDisplayText}},getResponseActionLabel:function(c){var b=a.ResponseAction;switch(c){case b.Created:return $resources.createdDisplayText;case b.Sent:return $resources.sentDisplayText;case b.Viewed:return $resources.viewedDisplayText;case b.Approved:return $resources.approvedDisplayText;case b.Denied:return $resources.deniedDisplayText;case b.Commented:return $resources.commentedDisplayText;case b.Closed:return $resources.closedDisplayText;case b.Annotated:return $resources.annotatedDisplayText;case b.Removed:return $resources.removedDisplayText;case b.Updated:return $resources.updatedDisplayText;case b.ReIssued:return $resources.reIssuedDisplayText;case b.Edited:return $resources.editDisplayText;default:return""}},renderDate:function(e,c,b){if(Ext.isEmpty(e)){return""}var g=!b.get("read");var d=(new Date(e*1000)).format("m/d/y");if(g===true){return String.format("<b>{0}</b>",d)}return d},renderDateTime:function(e,c,b){if(Ext.isEmpty(e)){return""}var g=!b.get("read");var d=(new Date(e*1000)).format("m/d/y h:i A");if(g===true){return String.format("<b>{0}</b>",d)}return d},renderNameEmailPair:function(b,c){if(b==c){return b}if(b==null){return c}if(c==null){return b}return b+" <"+c+">"},renderNameEmailPairHtml:function(b,c){if(b==c){return b}if(b==null){return c}if(c==null){return b}return b+" &lt;"+c+"&gt;"},renderDisplayName:function(d,c,b){return a.getRecipientDisplayName(d)},_dueDateTemplate:function(){var b=new Ext.Template('<div class="{cls}" style="{style}" {qtip}>{value}<div>');b.compile();return b}(),renderDueDate:function(c,b,d){var h=new Date();var g=new Date(c.data.dueDate*1000);var e=Ext.apply({},d,{qtip:b,style:(h.format("m/d/y")>g.format("m/d/y"))?"color:#c33":"",value:(h.format("m/d/y")>g.format("m/d/y"))?"Past due":"Due "+a.renderDate(c.data.dueDate,null,c)});return a._dueDateTemplate.apply(e)},renderStatusBox:function(d,k,g){if(g.data.status==Zapproved.Proposal.ResponseStatus.Draft){}else{var h="";var l=g.data.to;if(l&&l.length<=6){var b=a.getDisplayableRecipientsWithResponseIcons(l,", ");h='ext:qtip="<div align=left>'+b+'</div>" ext:qtitle="Status" ext:hide="true"'}var c="";var e=!g.data.read;c+=a.renderStatusBar(g.data,h,60);if(!g.data.closed){c+=a.renderTotalRatios(g.data,{cls:(e===true)?"zap-status-bar-totals-unread":"zap-status-bar-totals"})}if(g.data.dueDate&&!g.data.closed){c+=a.renderDueDate(g,h,{cls:(e==true)?"zap-status-bar-duedate-unread":"zap-status-bar-duedate"})}k.attr=h;return c}},_statusBarTemplate:function(){var b=new Ext.Template('<div id="{id}" class="{cls}" {qtip}>',"<table><tr>{approvedCell}{deniedCell}{viewedCell}{commentedCell}</tr></table>","</div>");b.compile();return b}(),_statusBarCellTemplate:function(){var b=new Ext.Template('<td class="{cls}" width="{width}" {qtip}></td>');b.compile();return b}(),_totalRatiosTemplate:function(){var b=new Ext.Template('<div class="{cls}">&nbsp({count} / {total})</div>');b.compile();return b}(),renderTotalRatios:function(c,d){var b=a.getResponseStatistics(c.to,false);var e=Ext.apply({},d,{count:b.numApproved,total:b.total});return a._totalRatiosTemplate.apply(e)},renderStatusBarCell:function(c,b,e,g,d){var k=b/e*c;var h=Math.round(k);if(h<1){return""}return a._statusBarCellTemplate.apply({cls:g,width:h,qtip:d})},renderStatusBar:function(g,h,b,m){if(g.closed){var e=a.getIconToolTipByStatus(g.status);var k=a.getIconImageFilePathByStatus(g.status);var d=a.getResponseStatusLabel(g.status);return String.format('<img width="{0}" height="{1}" border="0" align=texttop alt="{2}" src="{3}" {4}/> {5}',$resources.defaultIconWidth,$resources.defaultIconHeight,e,k,h,d)}var l=a.getResponseStatistics(g.to);var c=Ext.apply({},m,{id:g.id.substring(0,8),cls:"zap-status-bar",qtip:h});if(l.total===0){Ext.applyIf(c,{approvedCell:a.renderStatusBarCell(b,1,1,"zap-status-bar-cell-approved",h)})}else{Ext.applyIf(c,{approvedCell:a.renderStatusBarCell(b,l.numApproved,l.total,"zap-status-bar-cell-approved",h),deniedCell:a.renderStatusBarCell(b,l.numDenied,l.total,"zap-status-bar-cell-denied",h),viewedCell:a.renderStatusBarCell(b,l.numViewed+l.numUnread,l.total,"zap-status-bar-cell-viewed",h),commentedCell:a.renderStatusBarCell(b,l.numCommented,l.total,"zap-status-bar-cell-commented",h)})}return a._statusBarTemplate.apply(c)},getResponseStatistics:function(g){if(!g){return}var k=0;var d=0;var b=0;var h=0;var e=0;var c=0;Ext.each(g,function(n){var o=a.ResponseType;if(n.type!=o.To){return}var l=a.ResponseState;if(n.currentResponse===l.Removed){return}c++;var m=n.currentResponse;if((m===l.Approved)||(m===l.ApprovedOld)){k++}else{if((m===l.Denied)||(m===l.DeniedOld)){d++}else{if(m===l.Viewed){b++}else{if(m===l.Unread){h++}else{if(m===l.Commented){e++}}}}}});return{numApproved:k,numDenied:d,numViewed:b,numUnread:h,numCommented:e,total:c}},getRecipientDisplayName:function(b){return b.displayName?trim(b.displayName):trim(b.emailAddress)},getRecipientDisplayNameAndAddress:function(c,b){if(b){return String.format("{0} <{1}>",c.displayName,c.emailAddress)}else{return String.format("{0} ({1})",c.displayName,c.emailAddress)}},getRecipientDisplayNameWithResponseIcon:function(b){var d=a.getIconImageFilePath(b.currentResponse);var c=a.getRecipientDisplayName(b);return String.format("<img width={0} height={1} border=0 align=texttop src={2} /> {3}",$resources.defaultIconWidth,$resources.defaultIconHeight,d,c)},getRecipientDisplayNameAndAddressWithResponseIcon:function(c,b){var e=a.getIconImageFilePath(c.currentResponse);var d=a.getRecipientDisplayNameAndAddress(c,b);return String.format("<img width={0} height={1} border=0 align=texttop src={2} /> {3}",$resources.defaultIconWidth,$resources.defaultIconHeight,e,d)},createDisplayableRecipients:function(c,b){return c.map(a.getRecipientDisplayName,this).join(b)},getDisplayableRecipientsWithResponseIcons:function(c,b){return c.map(a.getRecipientDisplayNameWithResponseIcon,this).join(b)},renderSimple:function(d,c,b){if(!d){return""}if(!b.data.read){return"<b>"+d+"</b>"}else{return d}},renderSimpleNoHtml:function(d,c,b){if(!d){return""}else{return d}},renderSubject:function(e,d,c){var b=c.data.description;if(b){b=b.replace(/&(lt|gt);/g,function(g,h){return(h=="lt")?"<":">"});b=b.replace(/<\/?[^>]+(>|$)/g,"");if(b.length>65){b=b.substring(0,65)+"..."}}if(c.data.status==Zapproved.Proposal.ResponseStatus.Draft){return String.format('<b><i>Draft: {0}</i></b><br/><p style="color:#999">{1}</p>',e,b)}else{return String.format('<b>{0}</b><br/><p style="color:#999">{1}</p>',e,b)}},renderSubjectNoDesc:function(d,c,b){if(b.data.status==Zapproved.Proposal.ResponseStatus.Draft){return String.format("<b><i>Draft: {0}</i></b>",d)}else{return String.format("<b>{0}</b>",d)}},renderProject:function(d,c,b){return String.format("<b>{0}</b>",d)},renderStatus:function(c){var b=a.responseStatus;if(c===b.Send){return $resources.responseStatusPendingDisplayText}else{return c}},renderPriority:function(g,d,c){var b;var e=$resources.iconRelativeImagePath;if(g==1){b=String.format('<img width="8" height="16" border="0" alt="{0}" src="{1}"/>',$resources.highPriorityDisplayText,e+$resources.highPriorityIconImageName)}else{if(g==2){b=""}else{b=String.format('<img width="15" height="11" border="0" alt="{0}" src="{1}"/>',$resources.lowPriorityDisplayText,e+$resources.lowPriorityIconImageName)}}if(c.data.attachments.length>0){b+=String.format('<img width="13" height="13" border="0" alt="{0}" src="{1}"/>',$resources.attachmentDisplayText,e+$resources.attachmentIconImageName)}return b}})};Zapproved.LinkImageButton=Ext.extend(Ext.BoxComponent,{constructor:function(a){a=Ext.applyIf(a,{autoEl:{tag:"div",cls:"zap-link"},btnCls:"zap-link-button",src:Ext.BLANK_IMAGE_URL,alt:"",html:""});Zapproved.LinkImageButton.superclass.constructor.call(this,a)},onRender:function(){var a=this.initialConfig;Zapproved.LinkImageButton.superclass.onRender.apply(this,arguments);var b=new Ext.Template('<span class="{btnCls}">','<a href="#">','<img style="vertical-align: bottom;margin:0 3px 0 0;" src="{src}" alt="{alt}" />',"{html}","</a>","</span>");b.append(this.getEl(),a);this.getEl().on("click",this.onClick,this)},onClick:function(){this.fireEvent("click",this)}});Zapproved.SendSampleButton=Ext.extend(Zapproved.LinkImageButton,{constructor:function(a){a=Ext.applyIf(a,{alt:"Send Sample Email",src:"/Images/site/icon/mail2.png",html:"Send Sample Email"});Zapproved.SendSampleButton.superclass.constructor.call(this,a)}});Zapproved.ProposalMenu=function(b){var d=Ext.get("reminderButton");if(d){d.on("click",function(){this.sendReminder()},this)}var e=Ext.get("emailButton");if(e){e.on("click",function(){this.sendEmail()},this)}var a=Ext.get("emailCopyButton");if(a){a.on("click",function(){this.sendSampleEmail()},this)}var c=Ext.get("printButton");if(c){c.on("click",function(){this.showPrintWin()},this)}Ext.apply(this,{loadProposal:function(g){this.proposal=g},showPrintWin:function(){var g=window.open(String.format("{0}/{1}",$resources.printRequestPageUri,getUrlTail()),"printProposal","left=20,top=20,width=700,height=600,toolbar=0,scrollbars=1")},sendSampleEmail:function(){if(Ext.isEmpty(this.proposal)){return}if(!userHasSession()){Ext.MessageBox.alert($resources.loginRequiredAlertTitleText,$resources.loginRequiredAlertMessageText);return}Ext.Msg.prompt($resources.sendSampleEmailTitleText,$resources.sendSampleEmailMessageText,function(g,h){if(g=="ok"){$controller.sendEmailCopy({id:this.proposal.id,emailAddress:h},{successCallback:this._sendSampleEmailSuccess},this)}},this)},_sendSampleEmailSuccess:function(g){Ext.quickPopup.msg($resources.sendSampleEmailSucceededSubject,3,$resources.sendSampleEmailSucceededMessage)},sendEmail:function(){if(Ext.isEmpty(this.proposal)){return}if(!userHasSession()){Ext.MessageBox.alert($resources.loginRequiredAlertTitleText,$resources.loginRequiredAlertMessageText);return}Ext.MessageBox.show({title:$resources.sendEmailTitleText,msg:'<div style="text-align:left;"><span id="emailField" style="margin:10px 0 0 0;">Email address:<br /><input id="sendToEmail" type="text" style="width:200px;" /></span><br /><br /><span id="commentField">Add an optional comment:<br /><textarea id="optionalComment" type="text" style="width:200px;height:100px;"></textarea></span></div>',width:250,buttons:Ext.MessageBox.OKCANCEL,fn:function(g){if(g=="ok"){var k=document.getElementById("optionalComment").value;var h=document.getElementById("sendToEmail").value;$controller.sendEmail({id:getUrlToken(),emailAddress:h,comment:k},{successCallback:this._sendEmailSuccess},this)}else{return false}}},this)},_sendEmailSuccess:function(g){Ext.quickPopup.msg($resources.sendEmailSucceededSubject,3,$resources.sendEmailSucceededMessage)},sendReminder:function(){if(Ext.isEmpty(this.proposal)){return}Ext.Msg.confirm($resources.sendReminderTitleText,$resources.sendReminderMessageText,function(g){if(g=="yes"){$controller.sendReminder({id:this.proposal.id},{successCallback:this._sendReminderSuccess},this)}},this)},_sendReminderSuccess:function(g){if(g.data.length==0){Ext.MessageBox.show({title:$resources.sendReminderConfirmTitleText,msg:"<b>All recipients have responded, no reminders sent.</b>",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.INFO})}else{var k="";for(var h=0;h<g.data.length;h++){if(h!=0){k+=", "}if(g.data[h].displayName){k+=g.data[h].displayName}else{k+=g.data[h].emailAddress}}Ext.MessageBox.show({title:$resources.sendReminderConfirmTitleText,msg:$resources.sendReminderConfirmMessageText+k,buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.INFO})}}},b||{})};Zapproved.ProposalPanel=Ext.extend(Ext.Panel,{requestToken:null,proposal:null,buttonsPanel:null,confirmPanel:null,command:null,requestId:null,border:false,autoHeight:true,width:600,autoHeight:true,labelAlign:"left",layout:"table",defaults:{bodyStyle:"padding: 0 5px 8px 0; vertical-align: top; overflow: auto;"},layoutConfig:{columns:6},initComponent:function(){setRequestIdAndToken(this);this.buttonsPanel=this.buildButtonsPanel();this.confirmPanel=new Zapproved.ConfirmPanel({colspan:6});this.confirmPanel.addListener("cancelled",this._setCommandsDisabledState,this);this.proposalHistoryPanel=new Zapproved.ProposalHistoryPanel({colspan:6});var a={colspan:6,hidden:true};if(this.printMode===true){Ext.apply(a,{cls:"zap-grid-print",autoHeight:true,tools:[]})}this.logo=new Zapproved.BusinessLogo({border:false,hidden:true,colspan:6});var b=[this.logo,{xtype:"panel",id:"fromLabel",html:$resources.fromFieldLabel+":",cls:"x-form-label",cellCls:"from-lbl-cell",border:false},{xtype:"panel",id:"from",name:"from",cls:"x-static-field",cellCls:"from-val-cell",border:false,colspan:3},{xtype:"panel",id:"createDateLabel",html:$resources.createDateFieldLabel+":",cls:"x-form-label",cellCls:"createDate-lbl-cell",border:false},{xtype:"panel",id:"createDate",cls:"x-static-field",cellCls:"createDate-lbl-cell",border:false},{xtype:"panel",id:"toLabel",border:false,width:600,hidden:false,cls:"x-static-field",bodyStyle:"padding: 0px 0px 0px 0px; vertical-align: top;",colspan:6,items:[{xtype:"fieldset",title:$resources.toFieldLabel,collapsible:true,collapsed:false,autoHeight:true,defaults:{hideLabel:true},items:[{xtype:"panel",id:"to",border:false,hidden:false,hideLabel:true,cls:"x-static-field"}]}]},{xtype:"panel",id:"ccLabel",border:false,width:600,hidden:true,cls:"x-static-field",bodyStyle:"padding: 0px 0px 0px 0px; vertical-align: top;",colspan:6,items:[{xtype:"fieldset",title:$resources.ccFieldLabel,collapsible:true,collapsed:false,autoHeight:true,defaults:{hideLabel:true},items:[{xtype:"panel",id:"cc",border:false,hidden:false,hideLabel:true,cls:"x-static-field"}]}]},{xtype:"panel",id:"dueDateLabel",html:$resources.dueDateFieldLabel+":",cls:"x-form-label",cellCls:"dueDate-lbl-cell",border:false},{xtype:"panel",id:"dueDate",hidden:true,cls:"x-static-field",cellCls:"dueDate-val-cell",border:false},{xtype:"panel",id:"projectLabel",html:$resources.projectFieldLabel+":",cls:"x-form-label",cellCls:"project-lbl-cell",border:false},{xtype:"panel",id:"project",hidden:true,cls:"x-static-field",cellCls:"project-val-cell",border:false},{xtype:"panel",id:"priorityLabel",html:$resources.priorityFieldLabel+":",cls:"x-form-label",cellCls:"priority-lbl-cell",border:false},{xtype:"panel",id:"priority",hidden:true,cls:"x-static-field",cellCls:"priority-val-cell",border:false},{xtype:"panel",id:"alertLabel",html:$resources.alertFieldLabel+":",hidden:true,cls:"x-form-label",style:"color: #CC0000;",border:false},{xtype:"panel",id:"alert",hidden:true,cls:"x-static-field",style:"font-weight: bold",border:false,colspan:5},{xtype:"panel",id:"attachmentsLabel",border:false,width:600,hidden:true,cls:"x-static-field",bodyStyle:"padding: 0px 0px 0px 0px; vertical-align: top;",colspan:6,items:[{xtype:"fieldset",title:$resources.attachmentsFieldLabel,collapsible:true,collapsed:true,autoHeight:true,defaults:{hideLabel:true},items:[{xtype:"panel",id:"attachments",border:false,hidden:true,hideLabel:true,cls:"x-static-field"}]}]},{xtype:"panel",id:"descriptionLabel",border:false,width:600,hidden:true,cls:"x-static-field",bodyStyle:"padding: 0px 0px 0px 0px; vertical-align: top;",colspan:6,items:[{xtype:"fieldset",title:"Message",collapsible:true,collapsed:userHasSession(),autoHeight:true,defaults:{hideLabel:true},items:[{xtype:"panel",id:"description",border:false,hidden:true,hideLabel:true,cls:"x-static-field"}]}]},this.buttonsPanel,{xtype:"panel",border:false,html:'<a name="afterConfirmResponse"/>',colspan:6},this.confirmPanel,{xtype:"panel",id:"postConfirmResponsePanelAnchor",border:false,colspan:6},this.proposalHistoryPanel];Ext.apply(this,{items:b});Zapproved.ProposalPanel.superclass.initComponent.apply(this,arguments)},_redirectHome:function(){window.location.pathname="/Home"},loadProposal:function(){if(this.requestId&&!userHasSession()){window.location.href=String.format("{0}//{1}{2}?{3}{4}",window.location.protocol,window.location.host,$resources.loginPageUri,"autoLogin=true&returnUrl=",escape(window.location.pathname));return}var a=$resources.homePageUri;if(!userHasSession()){a=$resources.welcomePageUri}$controller.getRequest({id:this.requestId,token:this.requestToken},{errorRedirectUrl:a,successCallback:this._afterLoad},this)},_afterLoad:function(n){var d=this.proposal=n.data;var g=this.proposal.isSender;var h=Zapproved.Proposal;if(d.senderLogoUrl&&d.senderLogoUrl.length>0){this.logo.show();this.logo.load({logoUrl:d.senderLogoUrl,organizationName:d.senderCompanyName})}var k="";for(var a=0;a<d.to.length;a++){if(k!=""){k=k+", "+d.to[a].displayName}else{k=d.to[a].displayName}}var e="";for(var a=0;a<d.cc.length;a++){if(e!=""){e=e+", "+d.cc[a].displayName}else{e=d.cc[a].displayName}}ZapUtils.showField(ZapUtils.truncateTo(d.from.displayName,50),"from","fromLabel");ZapUtils.showField(k,"to","toLabel");ZapUtils.showField(e,"cc","ccLabel");var c=null;if(d.currentId){c='<p style="color:#c33">'+$resources.oldVersionAlertMessageText+' <a href="/View/'+d.currentId+'">'+$resources.oldVersionAlertTitleText+"</a>.<br></p>"}ZapUtils.showField(c,"alert","alertLabel");var l=new Date(d.createdOn*1000);ZapUtils.showField(l.format("m/d/Y"),"createDate","createDateLabel");if(d.dueDate){var m=new Date(d.dueDate*1000);if(m){ZapUtils.showField(m.format("m/d/Y"),"dueDate","dueDateLabel")}}ZapUtils.showField(ZapUtils.truncateTo(d.project,50),"project","projectLabel");var b="";switch(d.priority){case 1:b="Low";break;case 2:b="Normal";break;case 3:b="High";break;default:b="Unknown";break}ZapUtils.showField(b,"priority","priorityLabel");ZapUtils.showField(d.attachments,"attachments","attachmentsLabel");ZapUtils.showField(d.description,"description","descriptionLabel");this.renderAttachmentsPanel();this.proposalHistoryPanel.loadHistory(this.proposal.responses);if(!this.printMode){this.configureButtons();this.initCommentPanel();this.initTitleBarButtons()}},renderCCPanel:function(){if(this.proposal.cc!=null){for(i=0;i<this.proposal.cc.length;i++){if(i>0){Ext.getCmp("cc").show()}}return false}},initCommentPanel:function(){this.command=getParam("Command");if((this.command=="Approve"||this.command=="Deny")&&!this.proposal.canApprove){this.command="Comment"}if(this.proposal.closed||this.proposal.status=="Cancelled"){this.command=null}if(this.command){if(this.command==this.confirmPanel.COMMENT_MODE){this._commentRequest()}else{if(this.command==this.confirmPanel.APPROVE_MODE){this._approveRequest()}else{if(this.command==this.confirmPanel.DENY_MODE){this._denyRequest()}}}}},buildButtonsPanel:function(){var a=new Ext.Panel({border:false,colspan:6,buttonAlign:"center",buttons:[{id:"approveBtn",cls:"btn-orange btn-bold",text:$resources.approveRequestButtonText,scope:this,hidden:true,handler:this._approveRequest},{id:"declineBtn",text:$resources.denyRequestButtonText,scope:this,hidden:true,handler:this._denyRequest},{id:"commentBtn",text:$resources.commentRequestButtonText,scope:this,hidden:true,handler:this._commentRequest},{id:"copyBtn",text:$resources.copyRequestButtonText,scope:this,hidden:true,handler:this._copyRequest},{id:"editBtn",text:$resources.editRequestButtonText,scope:this,hidden:true,handler:this._editRequest},{id:"closeBtn",text:$resources.closeRequestButtonText,scope:this,hidden:true,handler:this._closeRequest},{id:"cancelBtn",text:$resources.cancelRequestButtonText,scope:this,hidden:true,handler:this._cancelRequest},{id:"archiveBtn",text:$resources.archiveRequestButtonText,scope:this,hidden:true,handler:this._archiveRequest},{id:"unarchiveBtn",text:$resources.unarchiveRequestButtonText,scope:this,hidden:true,handler:this._unarchiveRequest},{id:"exitBtn",text:$resources.homeRequestButtonText,scope:this,hidden:true,handler:this._exitRequest}]});return a},renderAttachmentsPanel:function(){var a="";if(this.proposal.attachments!=null){for(i=0;i<this.proposal.attachments.length;i++){if(i>0){a+="<br/>"}a+=renderIcon(this.proposal.attachments[i].extension)+"&nbsp;";a+=String.format('<a href="{0}?id={1}&token={2}" target="_blank">{3}</a>',$resources.servicesDownloadFilePageUri,this.proposal.attachments[i].id,this.requestToken?this.requestToken:"",this.proposal.attachments[i].fileName)}Ext.getCmp("attachments").body.update(a);Ext.getCmp("attachments").show()}return a},getMyResponse:function(){var a=null;if((typeof(this.proposal.myLatestResponse)!="undefined")&&this.proposal.myLatestResponse){a=this.proposal.myLatestResponse.response}return a},configureButtons:function(){var d=this.getMyResponse();var h=this.proposal.closed;var c=this.proposal.isSender;var e=this.proposal.currentId;var g=this.proposal.canApprove;var a=this.proposal.canComment;var b=false;if(!c&&!g){b=true}if(!h&&!e&&!c&&this.proposal.canApprove){this.buttonsPanel.buttons[0].show()}if(d=="Approved"){this.buttonsPanel.buttons[0].disable()}if(!h&&!e&&!c){this.buttonsPanel.buttons[1].show()}if(b){this.buttonsPanel.buttons[1].hide()}if(h){this.buttonsPanel.buttons[2].hide()}if(!h&&!e&&c&&userHasSession()){this.buttonsPanel.buttons[4].show()}if(!h&&!e&&c&&userHasSession()){this.buttonsPanel.buttons[5].show()}if(!h&&!e&&c&&userHasSession()){this.buttonsPanel.buttons[6].show()}if((h||d=="Approved"||d=="Denied"||b)&&userHasSession()&&!this.proposal.archived){this.buttonsPanel.buttons[7].show()}if((h||d=="Approved"||d=="Denied"||b)&&userHasSession()&&this.proposal.archived){this.buttonsPanel.buttons[8].show()}this.buttonsPanel.buttons[9].show();this.buttonsPanel.buttons[2].show()},_approveRequest:function(){var a=this.confirmPanel;a.proposal=this.proposal;a.canComment=this.proposal.canComment;a.setMode(a.APPROVE_MODE);a.show();this._setCommandsDisabledState("approve")},_denyRequest:function(){var a=this.confirmPanel;a.proposal=this.proposal;a.canComment=this.proposal.canComment;a.setMode(a.DENY_MODE);a.show();this._setCommandsDisabledState("deny")},_commentRequest:function(){var a=this.confirmPanel;a.proposal=this.proposal;a.setMode(a.COMMENT_MODE);a.show();this._setCommandsDisabledState("comment")},_setCommandsDisabledState:function(a){Ext.getCmp("commentBtn").setVisible(true);if(this.proposal.canApprove){var b=this.getMyResponse();if(b!="Denied"){Ext.getCmp("declineBtn").setDisabled(a=="deny")}if(b!="Approved"){Ext.getCmp("approveBtn").setDisabled(a=="approve")}}Ext.getCmp("commentBtn").setDisabled(a=="comment")},_exitRequest:function(){window.location.pathname=$resources.homePageUri},_closeRequest:function(){Ext.MessageBox.confirm($resources.closeRequestConfirmTitleText,$resources.closeRequestConfirmMessageText,this._closeRequestConfirm,this)},_closeRequestConfirm:function(a,b){if(a!="yes"){return}$controller.closeRequest({id:this.proposal.id},{successCallback:this._redirectHome},this)},_cancelRequest:function(){Ext.MessageBox.confirm($resources.cancelRequestConfirmTitleText,$resources.cancelRequestConfirmMessageText,this._cancelRequestConfirm,this)},_cancelRequestConfirm:function(a,b){if(a!="yes"){return}$controller.cancelRequest({id:this.proposal.id},{successCallback:this._redirectHome},this)},_copyRequest:function(){window.location.pathname=String.format("{0}/{1}",$resources.copyRequestPageUri,this.proposal.id)},_archiveRequest:function(){Ext.MessageBox.confirm($resources.archiveRequestConfirmTitleText,$resources.archiveRequestConfirmMessageText,this._archiveRequestConfirm,this)},_archiveRequestConfirm:function(a,b){if(a!="yes"){return}$controller.archiveRequest({id:this.proposal.id},{successCallback:this._redirectHome},this)},_unarchiveRequest:function(){$controller.unarchiveRequest({id:this.proposal.id},{successCallback:this._redirectHome},this)},_editRequest:function(){window.location.pathname=String.format("{0}/{1}",$resources.editRequestPageUri,this.proposal.id)},initTitleBarButtons:function(){var b=Ext.get("printButton");b.show();if(this.proposal.from.isMe==true&&!this.proposal.closed&&!this.proposal.archived){var a=Ext.get("reminderButton");a.show()}var c=Ext.get("emailButton");c.show()},showPrintWin:function(){var a=window.open(String.format("{0}/{1}",$resources.printRequestPageUri,getUrlTail()),"printProposal","left=20,top=20,width=700,height=600,toolbar=0,scrollbars=1")},sendEmail:function(){if(!userHasSession()){Ext.MessageBox.alert($resources.loginRequiredAlertTitleText,$resources.loginRequiredAlertMessageText);return}Ext.Msg.prompt($resources.sendEmailTitleText,$resources.sendEmailMessageText,function(a,b){if(a=="ok"){$controller.sendEmail({id:this.proposal.id,emailAddress:b},{successCallback:this._sendEmailSuccess},this)}},this)},_sendEmailSuccess:function(a){Ext.quickPopup.msg($resources.sendEmailSucceededSubject,3,$resources.sendEmailSucceededMessage)}});Ext.reg("proposalpanel",Zapproved.ProposalPanel);Zapproved.ProposalPreviewPanel=Ext.extend(Ext.Panel,{toComboBoxLabel:"Approvers",titleFieldLabel:"Proposal Title",statusFieldLabel:"Status",descriptionFieldLabel:"Message",proposal:null,showDelay:1000,hideDelay:200,frame:true,border:false,autoHeight:true,width:500,hidden:true,floating:{shadow:true,shim:true,useDisplay:true,constrain:false},labelAlign:"left",layout:"table",defaults:{bodyStyle:"padding: 0 5px 8px 0; vertical-align: top;"},layoutConfig:{columns:2},delayHide:function(){if(!this.hidden&&!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)}},initComponent:function(){var a=this.proposal.description;a=ZapUtils.truncateTo(a,250);Ext.apply(this,{items:[{xtype:"panel",html:this.titleFieldLabel+":",cellCls:"label-table-col",cls:"x-form-label",border:false},{xtype:"panel",id:"subject",html:this.proposal.subject,cls:"x-static-field",style:"font-weight: bold",border:false},{xtype:"panel",html:this.descriptionFieldLabel+":",cls:"x-form-label",border:false,colspan:2},{xtype:"panel",id:"description",border:false,html:a,width:450,cls:"x-static-field",colspan:2}]});Zapproved.ProposalPreviewPanel.superclass.initComponent.call(this)},delayShow:function(){this.clearTimer("hide");if(this.hidden&&!this.showTimer){this.showTimer=this.showAt.defer(this.showDelay,this)}else{if(!this.hidden&&this.autoHide!==false){this.showAt()}}},showAt:function(){this.clearTimers();if(!this.rendered){this.render(Ext.getBody())}var a=this.getEl();a.alignTo(this.target,"tl-bl",[0,0]);a.slideIn("t")},clearTimer:function(a){a=a+"Timer";clearTimeout(this[a]);delete this[a]},clearTimers:function(){this.clearTimer("show");this.clearTimer("hide")}});Ext.reg("proposalpreviewpanel",Zapproved.ProposalPreviewPanel);var that;var g_keys,g_vals,g_tags;var g_result;var doMerge=false;var notifiedOfBlank=false;function createHtmlEditor(b,a){return new Ext.form.HtmlEditor({xtype:"htmleditor",id:b,enableAlignments:false,enableSourceEdit:false,enableLists:(!Ext.isIE),enableLinks:false,enableFont:false,hideLabel:true,height:a,width:600,value:"",anchor:"100%"})}function createLabel(a){return new Ext.form.Label({xtype:"label",cls:"x-form-item",text:a})}Zapproved.ProposalFormPanel=Ext.extend(Ext.FormPanel,{id:"proposalFormPanel",requestId:null,requestToken:null,submitted:false,priorityId:2,resetResponses:false,status:0,isDraft:false,hasResponses:false,formMode:"new",uploadGrid:null,border:false,autoHeight:true,width:600,autoHeight:true,labelAlign:"left",initComponent:function(){setRequestIdAndToken(this);var b=Zapproved.SessionManager.getAccount();var a=false;var c="";if(b){a=b.enableAttachments;c=b.primaryEmailAddress}this.uploadGrid=createFileUploadGrid(userHasSession(),a);this.logo=new Zapproved.BusinessLogo({border:true,colspan:6});Ext.apply(this,{items:[this.logo,{xtype:"fieldset",title:$resources.toFieldLabel,style:"margin-top: 10px;",collapsible:true,autoHeight:true,anchor:"95%",defaults:{hideLabel:true},items:[createContactComboBox("to",$resources.toFieldEmptyText,$resources.toFieldLabel,false)]},{xtype:"fieldset",title:$resources.ccFieldLabel,collapsible:true,autoHeight:true,anchor:"95%",defaults:{hideLabel:true},items:[createContactComboBox("cc",$resources.ccFieldEmptyText,$resources.ccFieldLabel,false)]},{xtype:"textfield",id:"subject",name:"subject",anchor:"95%",allowBlank:true,fieldLabel:$resources.subjectFieldLabel,emptyText:$resources.subjectFieldEmptyText,blankText:$resources.subjectFieldValidationText},{layout:"column",border:false,items:[{columnWidth:0.35,layout:"form",border:false,items:[{xtype:"datefield",anchor:"95%",id:"dueDate",name:"dueDate",fieldLabel:$resources.dueDateFieldLabel,maskRe:/[0-9-\/]/,minValue:currentDateZeroHour()}]},{columnWidth:0.4,layout:"form",border:false,items:[{xtype:"zap.projectcombo",id:"project",name:"project",anchor:"95%",allowBlank:true}]},{columnWidth:0.2,layout:"form",border:false,labelWidth:50,items:[{xtype:"combo",id:"priority",displayField:"name",name:"priority",anchor:"100%",triggerAction:"all",mode:"local",store:getPriorityStore(),typeAhead:true,selectOnFocus:true,editable:false,forceSelection:true,fieldLabel:$resources.priorityFieldLabel,listeners:{select:function(e,d,g){this.priorityId=d.data.id},scope:this}}]}]},this.uploadGrid,{xtype:"fieldset",id:"descriptionBox",title:"Message",collapsible:true,collapsed:true,anchor:"95%",items:[createHtmlEditor("description",300)]}],buttons:[{text:userHasSession()?$resources.sendButtonText:$resources.newUserSendButtonText,cls:"btn-bold",scope:this,handler:function(){this._submitRequest(false)}},{text:$resources.draftButtonText,id:"save-draft-btn",cls:"btn-orange",scope:this,hidden:(this.formMode=="edit"&&!this.isDraft),handler:function(){this._submitRequest(true)}},{text:"Save as Template",id:"save-template-btn",cls:"btn-orange",scope:this,handler:this._saveAsTemplate},{text:$resources.cancelButtonText,cls:"btn-orange",scope:this,handler:this._goHome},{text:$resources.deleteButtonText,id:"delete-draft-btn",cls:"btn-orange",scope:this,handler:this._deleteDraft,hidden:true}]});window.onbeforeunload=this._confirmExit;this.on("afterLayout",this._afterLayout);Zapproved.ProposalFormPanel.superclass.initComponent.apply(this,arguments)},loadProposal:function(){if(!userHasSession()){var a="/Login?autoLogin=true&returnUrl="+escape(window.location.pathname);window.location.href=window.location.protocol+"//"+window.location.host+a;return}that=this;$controller.getRequest({id:this.requestId,token:this.requestToken},{successCallback:this._afterLoad},this)},_loadRecipientList:function(d,b,a){if(Ext.isEmpty(b)){return}var c="";Ext.each(b,function(e){if((e.isActive==true)&&(e.emailAddress!=a.emailAddress)&&(e.currentResponse!=Zapproved.Proposal.ResponseState.Removed)){c+=String.format("{0}, ",Zapproved.Proposal.renderNameEmailPair(e.displayName,e.emailAddress))}});try{d.setValue(c)}catch(g){}},_afterLoad:function(c){var k=c.data;this._loadRecipientList(Ext.getCmp("to"),k.to,k.from);this._loadRecipientList(Ext.getCmp("cc"),k.cc,k.from);this._loadRecipientList(Ext.getCmp("sender"),k.senders,k.from);try{Ext.getCmp("from").setValue(Zapproved.Proposal.renderNameEmailPair(k.from.displayName,k.from.emailAddress))}catch(g){}Ext.getCmp("subject").setValue(k.subject);this.projectValue=k.subject;Ext.getCmp("project").setValue(k.project);this.projectValue=k.project;var b=getPriorityStore();var a=b.getById(k.priority);Ext.getCmp("priority").setValue(a.data.name);if(k.senderLogoUrl&&k.senderLogoUrl.length>0){this.logo.show();this.logo.load({logoUrl:k.senderLogoUrl,organizationName:k.senderCompanyName})}if(k.status===Zapproved.Proposal.ResponseStatus.Draft){this.isDraft=true}if(this.isDraft){Ext.getCmp("delete-draft-btn").show()}this.hasResponses=this._hasPreviousResponses(k.responses);if(k.dueDate){var d=(new Date(k.dueDate*1000)).format("n/j/Y");Ext.getCmp("dueDate").setValue(d)}if(k.reminderDate){var h=(new Date(k.reminderDate*1000)).format("n/j/Y");Ext.getCmp("reminderDate").setValue(h)}if(k.attachments!==undefined&&k.attachments.length>0){Ext.each(k.attachments,function(e){manualAddFileUploadGrid(this.uploadGrid,e.fileName,e.extension,e.id)},this)}Ext.getCmp("description").setValue(k.description)},init:function(){that=this;this._renderMenuItems();this.uploadGrid.getEl().applyStyles("padding-top:0px; padding-bottom:5px;")},_afterLayout:function(a){Ext.getCmp("descriptionBox").expand(false)},onRender:function(a,b){Zapproved.ProposalFormPanel.superclass.onRender.call(this,a,b);this.logo.show();this.logo.load()},_saveAsTemplate:function(){Ext.MessageBox.show({title:$resources.saveTemplateTitleText,msg:'<div style="text-align:left;"><span style="margin:10px 0 15px 0;"><input id="saveTemplateAs" type="text" style="width:200px;" /></span></div>',width:250,buttons:{ok:"Save",cancel:"Cancel"},closable:false,fn:function(d){if(d=="ok"){var b=that._getProposalFormData();var a=document.getElementById("saveTemplateAs").value;var c={};Ext.apply(b,{name:a});Ext.apply(c,{timeout:120000,loadingMessage:"Saving as Template",errorSubject:"Error Saving Template",method:"POST",successCallback:function(e){that.submitted=true;window.location.href=$resources.templatePageUri},failureCallback:function(g,e){if(e&&e.errors&&e.errors[0].error==10){window.alert("That template name was already chosen.  Please pick another.")}}});$controller.addTemplate(b,c,this)}else{return false}}},this)},_replaceAll:function(a,c,b){var d=a;while(d.indexOf(c)!=-1){d=d.replace(c,b)}return d},_applyMergeTags:function(c,b){for(var d=0;d<b.length;d++){var e="[["+b[d]+"]]";var a=document.getElementById("mrgT_"+g_tags[d]).value;if(a==""){if(!notifiedOfBlank){notifiedOfBlank=true;window.alert("One or more merge tags were left blank.  This will leave the original merge tag(s) in place in the template.")}a=e}if(a!=e){c=this._replaceAll(c,e,a)}}return c},_doPrePop:function(){for(var b=0;b<g_keys.length;b++){if(g_vals[b]&&g_vals[b]!=null){try{var a=g_keys[b];switch(a){case"approver":a="to";break;case"viewer":a="cc";break;case"message":a="description";break;case"priority":switch(g_vals[b]){case"1":g_vals[b]="High";break;case"2":g_vals[b]="Normal";break;case"3":g_vals[b]="Low";break;default:g_vals[b]="Normal";break}}if(doMerge){Ext.getCmp(a).setValue(this._applyMergeTags(g_vals[b],g_tags))}else{Ext.getCmp(a).setValue(g_vals[b])}}catch(c){continue}}}},prePopulate:function(b,h,g,d){g_keys=b;g_vals=h;g_tags=g;g_result=d;that=this;if(d.attachments!==undefined&&d.attachments.length>0){for(var e=0;e<d.attachments.length;e++){manualAddFileUploadGrid(this.uploadGrid,d.attachmentNames[e],d.attachmentExts[e],d.attachments[e])}}if(g&&g.length!=0){var a="";for(var c=0;c<g.length;c++){a+='<tr><td align="right" style="padding-right: 15px;">'+g[c]+'</td><td width="300"><input id="mrgT_'+g[c]+'" type="text" style="width:300px;"></td></tr>'}if(a!=""){Ext.MessageBox.show({title:"Please complete this form to autofill template",msg:'<table border="0" width="425" cellspacing="0" cellpadding="0" style="margin:15px 0 0 0;">'+a+"</table>",buttons:{ok:"Autofill",cancel:"Cancel"},closable:false,fn:function(k){if(k=="ok"){doMerge=true}else{doMerge=false}that._doPrePop()},width:460})}}else{doMerge=false;this._doPrePop()}},_hasPreviousResponses:function(a){var b=false;if(a){Ext.each(a,function(c){if(c.response!==Zapproved.Proposal.ResponseState.Unread){b=true}})}return b},_confirmExit:function(){var a=Ext.getCmp("proposalFormPanel");if(a.submitted==true){return}else{return $resources.proposalFormExitingText}},_goHome:function(){this.submitted=true;window.location.pathname=$resources.homePageUri},_deleteDraft:function(){Ext.MessageBox.confirm($resources.deleteRequestConfirmTitleText,$resources.deleteRequestConfirmMessageText,this._submitDeleteDraft,this)},_submitDeleteDraft:function(b,c){if(b!="yes"){return}var a=new Zapproved.Request({url:$services.deleteRequestUrl,scope:this,method:"POST",errorSubject:$resources.deleteRequestErrorMessage,mask:new Ext.LoadMask(Ext.getBody(),{msg:$resources.deleteRequestLoadingMessage}),params:{id:this.requestId,tz:tz,tza:tza},successCallback:function(d){this.submitted=true;window.location.pathname=$resources.homePageUri}});a.doRequest()},_submitRequest:function(a){if(this.submitted==true){return}if(this.uploadGrid.numActiveDownloads>0){Ext.MessageBox.show({title:$resources.uploadInProgressTitleText,msg:$resources.uploadInProgressMessageText,buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.WARNING});return}if(a){this._saveAsDraft()}else{if(this.formMode=="new"){this._sendNew()}else{if(this.formMode=="copy"){this._sendCopy()}else{this._sendEdit()}}}},_checkForSave:function(){hadError=false;errorMsg="";if(Ext.getCmp("to").getValue().trim()==""){if(errorMsg!=""){errorMsg+="<li>"+$resources.noRecipientOnSaveErrorText+"</li>"}else{errorMsg+=$resources.noRecipientOnSaveErrorText+"</li>"}hadError=true}if(Ext.getCmp("subject").getValue().trim()==""){if(errorMsg!=""){errorMsg+="<li>"+$resources.noProposalnameOnSaveErrorText+"</li>"}else{errorMsg+=$resources.noProposalnameOnSaveErrorText+"</li>"}hadError=true}if(hadError){errorMsg+="";Zapproved.ErrorDialog.msg("The following required fields were missing",errorMsg);return false}else{return true}},_saveAsDraft:function(){if(!this._checkForSave()){return}this.isDraft=true;this.status=0;this._submitRequestConfirm("no")},_checkValidReqs:function(){hadError=false;errorMsg="";if(Ext.getCmp("to").getValue().trim()==""){if(errorMsg!=""){errorMsg+="<li>"+$resources.noRecipientOnSendErrorText+"</li>"}else{errorMsg+=$resources.noRecipientOnSendErrorText+"</li>"}hadError=true}if(Ext.getCmp("subject").getValue().trim()==""){if(errorMsg!=""){errorMsg+="<li>"+$resources.noProposalnameOnSendErrorText+"</li>"}else{errorMsg+=$resources.noProposalnameOnSendErrorText+"</li>"}hadError=true}if(hadError){errorMsg+="";Zapproved.ErrorDialog.msg("The following required fields were missing",errorMsg);return false}else{return true}},_sendNew:function(){if(!this._checkValidReqs()){return}this.isDraft=false;this.status=1;this._submitRequestConfirm("no")},_sendCopy:function(){Ext.MessageBox.confirm($resources.copyRequestConfirmTitleText,$resources.copyRequestConfirmMessageText,this._sendCopyConfirm,this)},_sendCopyConfirm:function(a,b){if(a!="yes"){return}if(!this._checkValidReqs()){return}this.isDraft=false;this.status=1;this._submitRequestConfirm("no")},_sendEdit:function(){if(!this._checkValidReqs()){return}this.isDraft=false;this.status=1;if(this.hasResponses){Ext.Msg.show({title:$resources.previousDecisionTitleText,msg:$resources.previousDecisionMessageText,buttons:Ext.Msg.YESNOCANCEL,fn:this._submitRequestConfirm,scope:this,icon:Ext.MessageBox.QUESTION})}else{this._submitRequestConfirm("no")}},_makeContactList:function(a){if(Ext.isEmpty(a,true)){a=null}else{a=a.split(",");if(a.length>0&&Ext.isEmpty(a[a.length-1])){a.pop()}}return a},_validateForm:function(){var a=this.getForm();if(a.isValid()===false){Zapproved.ErrorDialog.fromForm($resources.proposalFormValidationText,a);return false}return true},_submitRequestConfirm:function(e){var g;var d={};var c=this._getProposalFormData();var b;var a;var h;if(e=="cancel"){return}if(this._validateForm()===false){return false}if(e=="yes"){g=true}else{g=false}if(userHasSession()&&!this.isDraft){a=$resources.sendRequestLoadingMessage;h=$resources.sendRequestErrorMessage}else{a=$resources.saveRequestLoadingMessage;h=$resources.saveRequestErrorMessage}Ext.apply(c,{tz:tz,tza:tza});Ext.apply(d,{timeout:120000,loadingMessage:a,errorSubject:h,notifySubscribers:false,method:"POST",successCallback:this._submitSuccess,failureCallback:this._submitFailure});if(this.formMode=="new"){$controller.addProposal(c,d,this)}else{if(this.formMode=="copy"){b=$services.copyRequestUrl;Ext.apply(c,{previousRequestId:this.requestId});$controller.copyProposal(c,d,this)}else{b=$services.updateRequestUrl;Ext.apply(c,{resetResponses:g});$controller.updateProposal(c,d,this)}}},_submitSuccess:function(a,b){this.submitted=true;if(userHasSession()){window.location.href=$resources.homePageUri}else{if(userIsMember()){window.location.href=String.format("{0}?autoLogin=true&returnUrl={2}",$resources.loginPageUri,$resources.homePageUri)}else{var c=action.result.token;window.location.href=String.format("{0}/SignUpOrLogin?newProposal=true&token={1}",$resources.welcomePageUri,c)}}},_submitFailure:function(a,b){if(b&&b.errorCode=="ProposalLimitExceeded"){Ext.Msg.show({title:$resources.proposalLimitExceededTitleText,msg:$resources.proposalLimitExceededMessageText,buttons:Ext.Msg.OK,fn:this._redirectToPlans,scope:this,icon:Ext.MessageBox.WARNING})}},_redirectToPlans:function(){this.submitted=true;window.location.href=$resources.welcomePlansPageUri},_getProposalFormData:function(){var l=Ext.getCmp("to").getValue().trim();l=this._makeContactList(l);var m=Ext.getCmp("cc").getValue().trim();m=this._makeContactList(m);var d=Ext.get("subject");var g=d.getValue()||"";var a=Ext.get("project");var h=a.getValue()||"";var k=Ext.get("dueDate").getValue();var c=Ext.get("description").getValue()||"";var b=this.uploadGrid.attachedRecords;var e=Ext.apply({},{id:this.requestId,requestId:this.requestId,approver:l,viewer:m,subject:g,project:h,message:c,priority:this.priorityId,dueDate:k,draft:this.isDraft,attachment:b,commentMode:3});return e},_renderMenuItems:function(){var a=Ext.get("sampleEmailButton");if(a){var b=new Zapproved.SendSampleButton({renderTo:"sampleEmailButton"});b.on("click",this._send,this)}},_send:function(){var c=this._getProposalFormData();if(!userHasSession()){Ext.MessageBox.alert($resources.loginRequiredAlertTitleText,$resources.loginRequiredAlertMessageText);return}var a="";var b=Zapproved.SessionManager.getAccount();if(b){a=b.primaryEmailAddress}var d=new Zapproved.EmailAddressDialog({emailAddress:a});d.on("submit",function(g){var e=Ext.apply({},c,{requestId:c.id,emailAddress:g.emailAddress,comment:g.comment,tz:tz,tza:tza});$controller.sendSampleEmail(e,{method:"POST",successCallback:this._sendSampleEmailSuccess},this)});d.show()},_sendSampleEmailSuccess:function(a){Ext.quickPopup.msg($resources.sendSampleEmailSucceededSubject,3,$resources.sendSampleEmailSucceededMessage)}});Ext.reg("proposalformpanel",Zapproved.ProposalFormPanel);Zapproved.ConfirmPanel=Ext.extend(Ext.Panel,{COMMENT_MODE:"Comment",APPROVE_MODE:"Approve",DENY_MODE:"Deny",submitUrl:null,requestId:null,requestToken:null,proposal:null,commentUrl:"/Services/Proposal/Comment",approveUrl:"/Services/Proposal/Approve",denyUrl:"/Services/Proposal/Deny",label:"Please enter your comments below",action:"Comment",id:"confirmPanel",hidden:true,frame:false,border:false,canComment:true,commentInstructions:"Please enter your comments below",approveInstructions:"Confirm your decision, with optional comments, by clicking the button below",denyInstructions:"Confirm your decision, with optional comments, by clicking the button below",approveInstructionsNoComment:"Confirm your decision by clicking the button below",denyInstructionsNoComment:"Confirm your decision by clicking the button below",commentConfirmButtonText:"Submit Comments",approveConfirmButtonText:"Confirm Approve",denyConfirmButtonText:"Confirm Deny",initComponent:function(){Ext.apply(this,{items:[new Ext.Panel({id:"confirmPanelWrap",border:false,style:"margin: 10px;",items:[new Ext.Panel({id:"confirmPanelInstructions",frame:false,border:false,width:580,style:"font-size: 14px;"}),new Ext.form.FormPanel({id:"confirmResponseExtPanel",frame:false,border:false,autoHeight:true,layout:"fit",width:580,style:"text-align:left;margin-top: 0px;margin-bottom: 10px;",buttonAlign:"center",items:[new Ext.Panel({id:"commentWrap",border:false,items:[{xtype:"htmleditor",id:"comment",hidden:false,width:580,height:120,enableAlignments:false,enableLinks:false,enableLists:false,enableSourceEdit:false,enableColors:false,value:"",anchor:"100%",listeners:{initialize:function(b){if(Ext.isIE){b.execCmd("delete");b.updateToolbar()}}}}]}),{xtype:"panel",buttonAlign:"center",buttons:[{text:this.action,cls:"btn-orange btn-bold",id:"confirmBtn",scope:this,disabled:false,handler:this.confirmResponseHandler},{text:"Cancel",id:"confirmPanelCloseBtn",scope:this,disabled:false,handler:this.cancel}],frame:false,border:false}]})]})]});var a=getUrlToken();if(isValidGuid(a)){this.requestId=a}else{this.requestToken=a}Zapproved.ConfirmPanel.superclass.initComponent.apply(this,arguments);this.addEvents("confirmSuccess");this.addEvents("cancelled")},cancel:function(){this.hide();this.fireEvent("cancelled")},confirmResponseHandler:function(){var b=Ext.getCmp("comment");b.syncValue();var c=b.getValue();if((this.action=="Comment")&&((c==null)||(c=="")||(c=="&nbsp;"))){Zapproved.ErrorDialog.msg("Comment required","You must enter a comment to continue");b.focus();return}var a=Ext.getCmp("confirmResponseExtPanel");a.getForm().submit({url:this.submitUrl,params:{id:this.requestId,token:this.requestToken,tz:tz,tza:tza},scope:this,waitMsg:"Sending Response...",success:function(e,d){if(userHasSession()){window.location.pathname="/Home"}else{if(this.proposal.isMember){window.location.pathname="/Login"}else{window.location.href=window.location.protocol+"//"+window.location.host+"/Welcome/ThankYou?returnUrl="+escape("/View/"+this.requestToken)}}},failure:function(e,d){Zapproved.ErrorDialog.msg("Response Failed!","Your response could not be sent!")}})},show:function(){Zapproved.ConfirmPanel.superclass.show.apply(this);if(this.canComment){var b=Ext.getCmp("comment");if(!Ext.isGecko){b.updateToolbar()}b.focus(true)}else{var a=Ext.getCmp("commentWrap");a.setVisible(false)}if(!Ext.isIE){window.location.hash="afterConfirmResponse"}else{Ext.get("postConfirmResponsePanelAnchor").scrollIntoView(document.documentElement)}this.body.highlight("ffff9c",{duration:3})},hide:function(){Zapproved.ConfirmPanel.superclass.hide.apply(this)},setMode:function(a){var b=Ext.getCmp("confirmPanelInstructions");var e=Ext.getCmp("confirmBtn");this.action=a;var c='<table class="proposaltable" style="margin-top: 25px;"><tr><td class="proposalleftcol proposalname">';var d=":</td></tr></table>";if(a==this.COMMENT_MODE){b.body.update(c+this.commentInstructions+d);e.setText(this.commentConfirmButtonText);this.submitUrl=this.commentUrl}else{if(a==this.APPROVE_MODE){if(this.canComment){b.body.update(c+this.approveInstructions+d)}else{b.body.update(c+this.approveInstructionsNoComment+d)}e.setText(this.approveConfirmButtonText);this.submitUrl=this.approveUrl}else{if(a==this.DENY_MODE){if(this.canComment){b.body.update(c+this.denyInstructions+d)}else{b.body.update(c+this.denyInstructionsNoComment+d)}e.setText(this.denyConfirmButtonText);this.submitUrl=this.denyUrl}}}}});Ext.reg("confirmpanel",Zapproved.ConfirmPanel);Zapproved.ProposalHistoryPanel=Ext.extend(Ext.Panel,{historyPanelLabel:"Proposal History",noHistoryText:"No one has responded to this proposal.",meText:"Me",previousVersionText1:"This response was to a",previousVersionText2:"previous version of this proposal",dataView:null,frame:false,border:false,initComponent:function(){var a=new Ext.Panel({border:false,html:'<div class="proposalname" style="font-size: 14px; margin-top: 20px; margin-bottom: 8px;">'+this.historyPanelLabel+":</div>"});var b=new Ext.Panel({border:false,html:'<div id="historyPanelContents"></div>'});Ext.apply(this,{items:[a,b]});Zapproved.ProposalHistoryPanel.superclass.initComponent.call(this)},loadHistory:function(b){var g="";for(var c=0;c<b.length;c++){var d="";try{if(b[c].actionDesc=="Commented"||b[c].actionDesc=="Viewed"||b[c].actionDesc=="Approved"||b[c].actionDesc=="Denied"){d+='<div class="proposalhistory">';if(b[c].isMe){d+='<div class="proposalhistoryheader"><div class="proposalhistoryfrom">{responseIconUrl} <span class="proposalhistoryfromtext">{displayName}</span></div><span class="proposalhistorydate">{date}</span></div>'}else{d+='<div class="proposalhistoryheader"><div class="proposalhistoryfrom">{responseIconUrl} <span class="proposalhistoryfromtext">{displayName}</span></div><span class="proposalhistorydate">{date}</span></div>'}d+='<div style="float:left; margin-right: 8px;"><img style="border: 1px solid #ccc; border-top:none" src="{pictureUrl}" alt="'+b[c].displayName+'" width="40" height="40" /></div>';if(b[c].previousRequestId){d+='<span style="color:#999;font-size:10px;">'+this.previousVersionText1+' <a href="/View/{previousRequestId}">'+this.previousVersionText2+"</a>.</p>"}if(b[c].comment&&b[c].comment!=""){d+='<div class="proposalhistorytext">{action}: {comment}</div>'}else{d+='<div class="proposalhistorytext">{action}</div>'}d+='<div style="clear:both; height: 20px"> </div>';d+="</div>";d=d.replace("{displayName}",b[c].displayName);d=d.replace("{action}",b[c].actionDesc);d=d.replace("{comment}",b[c].comment);d=d.replace("{pictureUrl}",b[c].pictureUrl);d=d.replace("{date}",this.formatAgoDate(b[c].date));d=d.replace("{responseIconUrl}",this.buildresponseIconUrl(b[c].responseIconUrl,b[c].actionDesc,b[c].comment))}}catch(e){d="";continue}g+=d}var a=document.getElementById("historyPanelContents");if(g==""){a.innerHTML=this.noHistoryText}else{a.innerHTML=g}},formatAgoDate:function(b){if(Ext.isEmpty(b)){return""}var a=(new Date(b*1000)).format("m/d/y h:i A");return a},buildresponseIconUrl:function(c,b,e){var a='<img class="proposalhistoryicon" width="13" height="13" border="0" ';try{if((b=="Approved")||(b=="ApprovedOld")){a+='alt="Approved" title="Approved" src="'+c+'"/>'}else{if((b=="Denied")||(b=="DeniedOld")){a+='alt="Denied" title="Denied" src="'+c+'"/>'}else{if((b=="Viewed"||b=="Commented")&&(e!=null)&&(e!="")){a+='alt="Commented" title="Commented" src="'+c+'"/>'}else{if(b=="Viewed"){a+='alt="Viewed" title="Viewed" src="'+c+'"/>'}else{if(b=="Unread"){a+='alt="No Reply" title="No Reply" src="'+c+'"/>'}else{a+='alt="Unknown" title="Unknown" src="'+c+'"/>'}}}}}}catch(d){a='<img class="proposalhistoryicon" width="13" height="13" border="0" alt="Unknown" title="Unknown" src="'+c+'"/>'}return a}});Ext.reg("proposalhistorypanel",Zapproved.ProposalHistoryPanel);Ext.namespace("ZapUtils");var ACCOUNT_COOKIE="ZapprovedAccount"+CookieSuffix;var USER_SESSION_COOKIE="ZapprovedHasSession"+CookieSuffix;var HOME_TAB_COOKIE="ZapprovedHomeTab";function currentDateZeroHour(){var a=new Date();a.setHours(0);a.setMinutes(0);a.setSeconds(0);a.setMilliseconds(0);return a}function createCookie(a,e,d){var c;if(d){var b=new Date();b.setTime(b.getTime()+(d*24*60*60*1000));c="; expires="+b.toGMTString()}else{c=""}document.cookie=a+"="+e+c+"; path=/"}function setCookie(a,b){createCookie(a,b,366)}function readCookie(a){var g=a+"=";var b=document.cookie.split(";");for(var e=0;e<b.length;e++){var d=b[e];while(d.charAt(0)==" "){d=d.substring(1,d.length)}if(d.indexOf(g)==0){return d.substring(g.length,d.length)}}return null}function cookieSet(a){var b=readCookie(a);return(b&&b.length>0)}function trim(a,b){return ltrim(rtrim(a,b),b)}function ltrim(a,b){b=b||"\\s";return a.replace(new RegExp("^["+b+"]+","g"),"")}function rtrim(a,b){b=b||"\\s";return a.replace(new RegExp("["+b+"]+$","g"),"")}function userHasSession(){return cookieSet(USER_SESSION_COOKIE)}function setHomeTabCookie(a){setCookie(HOME_TAB_COOKIE,a)}function getHomeTabCookie(){return readCookie(HOME_TAB_COOKIE)}function userIsMember(){return cookieSet(ACCOUNT_COOKIE)}function userIsAdmin(){var a=Zapproved.SessionManager.getAccount();if(!a){return false}return a.isAdmin}function addIconsToEmails(a){if(!a){return""}a=a.replace(/\[A\]/g,'<img width="15" height="15" border="0" align=texttop alt="Approved" title="Approved" src="/Images/site/icon/Comply.jpg"/>');a=a.replace(/\[D\]/g,'<img width="15" height="15" border="0" align=texttop alt="Denied" title="Denied" src="/Images/site/icon/contact.jpg"/>');a=a.replace(/\[V\]/g,'<img width="15" height="15" border="0" align=texttop alt="Viewed" title="Viewed" src="/Images/site/icon/viewed.jpg"/>');a=a.replace(/\[U\]/g,'<img width="15" height="15" border="0" align=texttop alt="No Reply" title="No Reply" src="/Images/site/icon/sent.jpg"/>');a=a.replace(/\[AP\]/g,'<span style="font-size:smaller">(<i>approved older version</i>)</span>');a=a.replace(/\[DP\]/g,'<span style="font-size:smaller">(<i>denied older version</i>)</span>');return a}function getPriorityStore(){var a=[[1,"High"],[2,"Normal"],[3,"Low"]];var b=new Ext.data.SimpleStore({id:0,fields:[{name:"id",type:"int"},{name:"name"}]});b.loadData(a);return b}function getUrlTail(){var a=window.location.pathname;return a.substring(a.lastIndexOf("/")+1)}function getUrlToken(){var b=window.location.pathname;var a=b.substring(b.lastIndexOf("/")+1);if((a.length==36)||(a.length==16)){return a}else{return null}}function setRequestIdAndToken(a){var d=getUrlToken();var b=null;var c=null;if(isValidGuid(d)){a.requestId=d}else{a.requestToken=d}}function isValidGuid(a){if((a==null)||(a.length!=36)||(a.indexOf("-")!=8)||(a.lastIndexOf("-")!=23)){return false}return true}function getParam(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var b="[\\?&]"+a+"=([^&#]*)";var c=new RegExp(b);var d=c.exec(window.location.href);if(d==null){return""}else{return d[1]}}Ext.quickPopup=function(){var b;function a(d,c){return['<div class="msg">','<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>','<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>',d,"</h3>",c,"</div></div></div>",'<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',"</div>"].join("")}return{msg:function(e,g,h){if(!b){b=Ext.get("msg-div")}b.alignTo(document,"t-t");var d=String.format.apply(String,Array.prototype.slice.call(arguments,2));var c=Ext.DomHelper.overwrite(b,{html:a(e,d)},true);c.slideIn("t").pause(g).ghost("t",{remove:true})},init:function(){}}}();Ext.onReady(Ext.quickPopup.init,Ext.quickPopup);function renderIcon(b){b=b.toLowerCase();var a="noextension16.gif";if((b=="jpg")||(b=="jpeg")){a="JPG16.gif"}else{if(b=="gif"){a="JPG16.gif"}else{if(b=="png"){a="JPG16.gif"}else{if(b=="pdf"){a="PDF16.gif"}else{if((b=="doc")||(b=="docx")){a="DOC16.gif"}else{if((b=="xls")||(b=="xlsx")){a="XLS16.gif"}else{if((b=="ppt")||(b=="pptx")){a="PPT16.gif"}else{if(b=="txt"){a="TXT16.gif"}else{if(b=="bmp"){a="BMP16.gif"}}}}}}}}}return'<img width="16" height="16" border="0" alt="'+b+'" src="/Images/site/file/'+a+'"/>'}ZapUtils.showField=function(a,e,c){if(a!=null&&a!=""){if(c){var b=Ext.getCmp(c);if(b.hidden){b.show()}}if(e){var d=Ext.getCmp(e);if(d.hidden){d.show()}d.body.update(a)}}};ZapUtils.showFieldSetText=function(a,e,c){if(a!=null&&a!=""){if(c){var b=Ext.getCmp(c);if(b.hidden){b.show()}}if(e){var d=Ext.getCmp(e);if(d.hidden){d.show()}d.setText(a)}}};ZapUtils.truncateTo=function(a,b){if(a&&a.length>b){return a.substring(0,b)+"..."}else{return a}};ZapUtils.trimEmailsToMax=function(c,a){if(c.length<=a){return c}var b=c.lastIndexOf(",",a);return c.substring(0,b)+"..."};ZapUtils.isEmailValid=function(b){var a=b.match(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.(?:[a-zA-Z]{2}|com|edu|int|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)/);if(b.indexOf("<contact group>")!=-1){return true}else{return(a!=null)}};ZapUtils.validateMultipleEmails=function(d){var c=d.split(/[;,]/);var b=new Array();var g=0;for(var e=0;e<c.length;e++){var a=c[e].trim();if(a.length>0){if(!ZapUtils.isEmailValid(a)){b[g]=a;g++}}}if(g==0){return null}else{return b}};ZapUtils.isFreeAccount=function(){var a=Zapproved.SessionManager.getAccount();return(a.currentPlanId==1)};ZapUtils.isTrialAccount=function(){var a=Zapproved.SessionManager.getAccount();return(a.currentPlanIsTrial)};ZapUtils.getClientIdMaskIfRequired=function(){var a=Zapproved.SessionManager.getAccount();if(a.requireClientId){return a.clientIdMask}else{return""}};ZapUtils.kbToMb=function(a){return Math.round(a/1024)};ZapUtils.kbToMbWithTenths=function(a){var b=Math.round((a*10)/1024);return b/10};ZapUtils.getIconImageTag=function(c,a,g,b){var h=$resources[a];var k=String.format("{0}{1}",$resources.iconRelativeImagePath,h);var d=$resources[g];var e=$resources[b];return String.format('<img class="{0}" src="{1}" alt="{2}" title="{3}" />',c,k,d,e)};Ext.ux.Multiselect=Ext.extend(Ext.form.Field,{store:null,dataFields:[],data:[],width:100,height:100,displayField:0,valueField:1,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,blankText:Ext.form.TextField.prototype.blankText,minLengthText:"Minimum {0} item(s) required",maxLengthText:"Maximum {0} item(s) allowed",copy:false,allowDup:false,allowTrash:false,legend:null,focusClass:undefined,delimiter:",",view:null,dragGroup:null,dropGroup:null,tbar:null,appendOnly:false,sortField:null,sortDir:"ASC",defaultAutoCreate:{tag:"div"},initComponent:function(){Ext.ux.Multiselect.superclass.initComponent.call(this);this.addEvents({dblclick:true,click:true,change:true,drop:true})},onRender:function(c,g){var a,e,d;Ext.ux.Multiselect.superclass.onRender.call(this,c,g);e="ux-mselect";a=new Ext.form.FieldSet({renderTo:this.el,title:this.legend,height:this.height,width:this.width,style:"padding:1px;",tbar:this.tbar});if(!this.legend){a.el.down("."+a.headerCls).remove()}a.body.addClass(e);d='<tpl for="."><div class="'+e+"-item";if(Ext.isIE||Ext.isIE7){d+='" unselectable=on'}else{d+=' x-unselectable"'}d+=">{"+this.displayField+"}</div></tpl>";if(!this.store){this.store=new Ext.data.SimpleStore({fields:this.dataFields,data:this.data})}this.view=new Ext.ux.DDView({multiSelect:true,store:this.store,selectedClass:e+"-selected",tpl:d,allowDup:this.allowDup,copy:this.copy,allowTrash:this.allowTrash,dragGroup:this.dragGroup,dropGroup:this.dropGroup,itemSelector:"."+e+"-item",isFormField:false,applyTo:a.body,appendOnly:this.appendOnly,sortField:this.sortField,sortDir:this.sortDir});a.add(this.view);this.view.on("click",this.onViewClick,this);this.view.on("beforeClick",this.onViewBeforeClick,this);this.view.on("dblclick",this.onViewDblClick,this);this.view.on("drop",function(h,k,m,l,o){return this.fireEvent("drop",h,k,m,l,o)},this);this.hiddenName=this.name;var b={tag:"input",type:"hidden",value:"",name:this.name};if(this.isFormField){this.hiddenField=this.el.createChild(b)}else{this.hiddenField=Ext.get(document.body).createChild(b)}a.doLayout()},initValue:Ext.emptyFn,onViewClick:function(d,a,g,c){var b=this.preClickSelections.indexOf(a);if(b!=-1){this.preClickSelections.splice(b,1);this.view.clearSelections(true);this.view.select(this.preClickSelections)}this.fireEvent("change",this,this.getValue(),this.hiddenField.dom.value);this.hiddenField.dom.value=this.getValue();this.fireEvent("click",this,c);this.validate()},onViewBeforeClick:function(c,a,d,b){this.preClickSelections=this.view.getSelectedIndexes();if(this.disabled){return false}},onViewDblClick:function(c,a,d,b){return this.fireEvent("dblclick",c,a,d,b)},getValue:function(a){var b=[];var c=this.view.getSelectedIndexes();if(c.length==0){return""}for(var d=0;d<c.length;d++){b.push(this.store.getAt(c[d]).get(((a!=null)?a:this.valueField)))}return b.join(this.delimiter)},setValue:function(d){var b;var a=[];this.view.clearSelections();this.hiddenField.dom.value="";if(!d||(d=="")){return}if(!(d instanceof Array)){d=d.split(this.delimiter)}for(var c=0;c<d.length;c++){b=this.view.store.indexOf(this.view.store.query(this.valueField,new RegExp("^"+d[c]+"$","i")).itemAt(0));a.push(b)}this.view.select(a);this.hiddenField.dom.value=this.getValue();this.validate()},reset:function(){this.setValue("")},getRawValue:function(a){var b=this.getValue(a);if(b.length){b=b.split(this.delimiter)}else{b=[]}return b},setRawValue:function(a){setValue(a)},validateValue:function(a){if(a.length<1){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(a.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(a.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}return true}});Ext.reg("multiselect",Ext.ux.Multiselect);Ext.ux.ItemSelector=Ext.extend(Ext.form.Field,{msWidth:200,msHeight:300,hideNavIcons:false,imagePath:"",iconUp:"up2.gif",iconDown:"down2.gif",iconLeft:"left2.gif",iconRight:"right2.gif",iconTop:"top2.gif",iconBottom:"bottom2.gif",drawUpIcon:true,drawDownIcon:true,drawLeftIcon:true,drawRightIcon:true,drawTopIcon:true,drawBotIcon:true,fromStore:null,toStore:null,fromData:null,toData:null,displayField:0,valueField:1,switchToFrom:false,allowDup:false,allowDupInTo:false,focusClass:undefined,delimiter:",",readOnly:false,toLegend:null,fromLegend:null,toSortField:null,fromSortField:null,toSortDir:"ASC",fromSortDir:"ASC",toTBar:null,fromTBar:null,bodyStyle:null,border:false,defaultAutoCreate:{tag:"div"},initComponent:function(){Ext.ux.ItemSelector.superclass.initComponent.call(this);this.addEvents({rowdblclick:true,change:true})},onRender:function(d,h){Ext.ux.ItemSelector.superclass.onRender.call(this,d,h);this.fromMultiselect=new Ext.ux.Multiselect({legend:this.fromLegend,delimiter:this.delimiter,allowDup:this.allowToDup,copy:this.allowDup,allowTrash:this.allowDup,dragGroup:this.readOnly?null:"drop2-"+this.el.dom.id,dropGroup:this.readOnly?null:"drop2-"+this.el.dom.id+",drop1-"+this.el.dom.id,width:this.msWidth,height:this.msHeight,dataFields:this.dataFields,data:this.fromData,displayField:this.displayField,valueField:this.valueField,store:this.fromStore,isFormField:false,tbar:this.fromTBar,appendOnly:true,sortField:this.fromSortField,sortDir:this.fromSortDir});this.fromMultiselect.on("dblclick",this.onRowDblClick,this);if(!this.toStore){this.toStore=new Ext.data.SimpleStore({fields:this.dataFields,data:this.toData})}this.toStore.on("add",this.valueChanged,this);this.toStore.on("remove",this.valueChanged,this);this.toStore.on("load",this.valueChanged,this);this.toMultiselect=new Ext.ux.Multiselect({legend:this.toLegend,delimiter:this.delimiter,allowDup:this.allowDupInTo,dragGroup:this.readOnly?null:"drop1-"+this.el.dom.id,dropGroup:this.readOnly?null:"drop2-"+this.el.dom.id+",drop1-"+this.el.dom.id,width:this.msWidth,height:this.msHeight,displayField:this.displayField,valueField:this.valueField,store:this.toStore,isFormField:false,tbar:this.toTBar,sortField:this.toSortField,sortDir:this.toSortDir});this.toMultiselect.on("dblclick",this.onRowDblClick,this);var c=new Ext.Panel({bodyStyle:this.bodyStyle,border:this.border,layout:"table",layoutConfig:{columns:3}});c.add(this.switchToFrom?this.toMultiselect:this.fromMultiselect);var g=new Ext.Panel({header:false});c.add(g);c.add(this.switchToFrom?this.fromMultiselect:this.toMultiselect);c.render(this.el);g.el.down("."+g.bwrapCls).remove();if(this.imagePath!=""&&this.imagePath.charAt(this.imagePath.length-1)!="/"){this.imagePath+="/"}this.iconUp=this.imagePath+(this.iconUp||"up2.gif");this.iconDown=this.imagePath+(this.iconDown||"down2.gif");this.iconLeft=this.imagePath+(this.iconLeft||"left2.gif");this.iconRight=this.imagePath+(this.iconRight||"right2.gif");this.iconTop=this.imagePath+(this.iconTop||"top2.gif");this.iconBottom=this.imagePath+(this.iconBottom||"bottom2.gif");var a=g.getEl();if(!this.toSortField){this.toTopIcon=a.createChild({tag:"img",src:this.iconTop,style:{cursor:"pointer",margin:"2px"}});a.createChild({tag:"br"});this.upIcon=a.createChild({tag:"img",src:this.iconUp,style:{cursor:"pointer",margin:"2px"}});a.createChild({tag:"br"})}this.addIcon=a.createChild({tag:"img",src:this.switchToFrom?this.iconLeft:this.iconRight,style:{cursor:"pointer",margin:"2px"}});a.createChild({tag:"br"});this.removeIcon=a.createChild({tag:"img",src:this.switchToFrom?this.iconRight:this.iconLeft,style:{cursor:"pointer",margin:"2px"}});a.createChild({tag:"br"});if(!this.toSortField){this.downIcon=a.createChild({tag:"img",src:this.iconDown,style:{cursor:"pointer",margin:"2px"}});a.createChild({tag:"br"});this.toBottomIcon=a.createChild({tag:"img",src:this.iconBottom,style:{cursor:"pointer",margin:"2px"}})}if(!this.readOnly){if(!this.toSortField){this.toTopIcon.on("click",this.toTop,this);this.upIcon.on("click",this.up,this);this.downIcon.on("click",this.down,this);this.toBottomIcon.on("click",this.toBottom,this)}this.addIcon.on("click",this.fromTo,this);this.removeIcon.on("click",this.toFrom,this)}if(!this.drawUpIcon||this.hideNavIcons){this.upIcon.dom.style.display="none"}if(!this.drawDownIcon||this.hideNavIcons){this.downIcon.dom.style.display="none"}if(!this.drawLeftIcon||this.hideNavIcons){this.addIcon.dom.style.display="none"}if(!this.drawRightIcon||this.hideNavIcons){this.removeIcon.dom.style.display="none"}if(!this.drawTopIcon||this.hideNavIcons){this.toTopIcon.dom.style.display="none"}if(!this.drawBotIcon||this.hideNavIcons){this.toBottomIcon.dom.style.display="none"}var e=c.body.first();this.el.setWidth(c.body.first().getWidth());c.body.removeClass();this.hiddenName=this.name;var b={tag:"input",type:"hidden",value:"",name:this.name};this.hiddenField=this.el.createChild(b);this.valueChanged(this.toStore)},initValue:Ext.emptyFn,toTop:function(){var b=this.toMultiselect.view.getSelectedIndexes();var a=[];if(b.length>0){b.sort();for(var c=0;c<b.length;c++){record=this.toMultiselect.view.store.getAt(b[c]);a.push(record)}b=[];for(var c=a.length-1;c>-1;c--){record=a[c];this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.insert(0,record);b.push(((a.length-1)-c))}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(b)},toBottom:function(){var b=this.toMultiselect.view.getSelectedIndexes();var a=[];if(b.length>0){b.sort();for(var c=0;c<b.length;c++){record=this.toMultiselect.view.store.getAt(b[c]);a.push(record)}b=[];for(var c=0;c<a.length;c++){record=a[c];this.toMultiselect.view.store.remove(record);this.toMultiselect.view.store.add(record);b.push((this.toMultiselect.view.store.getCount())-(a.length-c))}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(b)},up:function(){var b=null;var c=this.toMultiselect.view.getSelectedIndexes();c.sort();var a=[];if(c.length>0){for(var d=0;d<c.length;d++){b=this.toMultiselect.view.store.getAt(c[d]);if((c[d]-1)>=0){this.toMultiselect.view.store.remove(b);this.toMultiselect.view.store.insert(c[d]-1,b);a.push(c[d]-1)}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(a)}},down:function(){var b=null;var c=this.toMultiselect.view.getSelectedIndexes();c.sort();c.reverse();var a=[];if(c.length>0){for(var d=0;d<c.length;d++){b=this.toMultiselect.view.store.getAt(c[d]);if((c[d]+1)<this.toMultiselect.view.store.getCount()){this.toMultiselect.view.store.remove(b);this.toMultiselect.view.store.insert(c[d]+1,b);a.push(c[d]+1)}}this.toMultiselect.view.refresh();this.toMultiselect.view.select(a)}},fromTo:function(){var d=this.fromMultiselect.view.getSelectedIndexes();var b=[];var g=[];var a;var h;if(d.length>0){for(var e=0;e<d.length;e++){record=this.fromMultiselect.view.store.getAt(d[e]);b.push(record)}if(!this.allowDup){d=[]}for(var e=0;e<b.length;e++){record=b[e];if(this.allowDup){if(this.allowDupInTo){var c=new Ext.data.Record();record.id=c.id;delete c;this.toMultiselect.view.store.add(record)}else{h=record.get(this.valueField);a=this.toMultiselect.view.store.find(this.valueField,h);if(a==-1){this.toMultiselect.view.store.add(record)}else{Ext.fly(this.toMultiselect.view.getNode(a)).frame("red",1)}}}else{this.fromMultiselect.view.store.remove(record);this.toMultiselect.view.store.add(record);d.push((this.toMultiselect.view.store.getCount()-1))}}}this.toMultiselect.view.refresh();this.fromMultiselect.view.refresh();if(this.toSortField){this.toMultiselect.store.sort(this.toSortField,this.toSortDir)}if(this.allowDup){this.fromMultiselect.view.select(d)}else{this.toMultiselect.view.select(d)}},toFrom:function(){var b=this.toMultiselect.view.getSelectedIndexes();var a=[];if(b.length>0){for(var c=0;c<b.length;c++){record=this.toMultiselect.view.store.getAt(b[c]);a.push(record)}b=[];for(var c=0;c<a.length;c++){record=a[c];this.toMultiselect.view.store.remove(record);if(!this.allowDup){this.fromMultiselect.view.store.add(record);b.push((this.fromMultiselect.view.store.getCount()-1))}}}this.fromMultiselect.view.refresh();this.toMultiselect.view.refresh();if(this.fromSortField){this.fromMultiselect.store.sort(this.fromSortField,this.fromSortDir)}this.fromMultiselect.view.select(b)},valueChanged:function(a){var b=null;var d=[];for(var c=0;c<a.getCount();c++){b=a.getAt(c);d.push(b.get(this.valueField))}this.hiddenField.dom.value=d.join(this.delimiter);this.fireEvent("change",this,this.getValue(),this.hiddenField.dom.value)},getValue:function(){return this.hiddenField.dom.value},onRowDblClick:function(c,a,d,b){return this.fireEvent("rowdblclick",c,a,d,b)},reset:function(){range=this.toMultiselect.store.getRange();this.toMultiselect.store.removeAll();if(!this.allowDup){this.fromMultiselect.store.add(range);this.fromMultiselect.store.sort(this.displayField,"ASC")}this.valueChanged(this.toMultiselect.store)},frameTo:function(){Ext.fly(this.toMultiselect.view.getEl()).frame("red",1)}});Ext.reg("itemselector",Ext.ux.ItemSelector);Array.prototype.contains=function(a){return this.indexOf(a)!==-1};Ext.namespace("Ext.ux");Ext.ux.DDView=function(a){if(!a.itemSelector){var b=a.tpl;if(this.classRe.test(b)){a.tpl=b.replace(this.classRe,"class=$1x-combo-list-item $2$1")}else{a.tpl=b.replace(this.tagRe,'$1 class="x-combo-list-item" $2')}a.itemSelector=".x-combo-list-item"}Ext.ux.DDView.superclass.constructor.call(this,Ext.apply(a,{border:false}))};Ext.extend(Ext.ux.DDView,Ext.DataView,{sortDir:"ASC",isFormField:true,classRe:/class=(['"])(.*)\1/,tagRe:/(<\w*)(.*?>)/,reset:Ext.emptyFn,clearInvalid:Ext.form.Field.prototype.clearInvalid,msgTarget:"qtip",afterRender:function(){Ext.ux.DDView.superclass.afterRender.call(this);if(this.dragGroup){this.setDraggable(this.dragGroup.split(","))}if(this.dropGroup){this.setDroppable(this.dropGroup.split(","))}if(this.deletable){this.setDeletable()}this.isDirtyFlag=false;this.addEvents("drop")},validate:function(){return true},destroy:function(){this.purgeListeners();this.getEl().removeAllListeners();this.getEl().remove();if(this.dragZone){if(this.dragZone.destroy){this.dragZone.destroy()}}if(this.dropZone){if(this.dropZone.destroy){this.dropZone.destroy()}}},getName:function(){return this.name},setValue:function(a){if(!this.store){throw"DDView.setValue(). DDView must be constructed with a valid Store"}var b={};b[this.store.reader.meta.root]=a?[].concat(a):[];this.store.proxy=new Ext.data.MemoryProxy(b);this.store.load()},getValue:function(){var a="(";this.store.each(function(b){a+=b.id+","});return a.substr(0,a.length-1)+")"},getIds:function(){var b=0,a=new Array(this.store.getCount());this.store.each(function(c){a[b++]=c.id});return a},isDirty:function(){return this.isDirtyFlag},getTargetFromEvent:function(b){var a=b.getTarget();while((a!==null)&&(a.parentNode!=this.el.dom)){a=a.parentNode}if(!a){a=this.el.dom.lastChild||this.el.dom}return a},getDragData:function(d){var b=this.findItemFromChild(d.getTarget());if(b){if(!this.isSelected(b)){delete this.ignoreNextClick;this.onItemClick(b,this.indexOf(b),d);this.ignoreNextClick=true}var g={sourceView:this,viewNodes:[],records:[],copy:this.copy||(this.allowCopy&&d.ctrlKey)};if(this.getSelectionCount()==1){var c=this.getSelectedIndexes()[0];var a=this.getNode(c);g.viewNodes.push(g.ddel=a);g.records.push(this.store.getAt(c));g.repairXY=Ext.fly(a).getXY()}else{g.ddel=document.createElement("div");g.ddel.className="multi-proxy";this.collectSelection(g)}return g}return false},getRepairXY:function(a){return this.dragData.repairXY},collectSelection:function(b){b.repairXY=Ext.fly(this.getSelectedNodes()[0]).getXY();if(this.preserveSelectionOrder===true){Ext.each(this.getSelectedIndexes(),function(d){var c=this.getNode(d);var e=c.cloneNode(true);e.id=Ext.id();b.ddel.appendChild(e);b.records.push(this.store.getAt(d));b.viewNodes.push(c)},this)}else{var a=0;this.store.each(function(d){if(this.isSelected(a)){var c=this.getNode(a);var e=c.cloneNode(true);e.id=Ext.id();b.ddel.appendChild(e);b.records.push(this.store.getAt(a));b.viewNodes.push(c)}a++},this)}},setDraggable:function(a){if(a instanceof Array){Ext.each(a,this.setDraggable,this);return}if(this.dragZone){this.dragZone.addToGroup(a)}else{this.dragZone=new Ext.dd.DragZone(this.getEl(),{containerScroll:true,ddGroup:a});if(!this.multiSelect){this.singleSelect=true}this.dragZone.getDragData=this.getDragData.createDelegate(this);this.dragZone.getRepairXY=this.getRepairXY;this.dragZone.onEndDrag=this.onEndDrag}},setDroppable:function(a){if(a instanceof Array){Ext.each(a,this.setDroppable,this);return}if(this.dropZone){this.dropZone.addToGroup(a)}else{this.dropZone=new Ext.dd.DropZone(this.getEl(),{owningView:this,containerScroll:true,ddGroup:a});this.dropZone.getTargetFromEvent=this.getTargetFromEvent.createDelegate(this);this.dropZone.onNodeEnter=this.onNodeEnter.createDelegate(this);this.dropZone.onNodeOver=this.onNodeOver.createDelegate(this);this.dropZone.onNodeOut=this.onNodeOut.createDelegate(this);this.dropZone.onNodeDrop=this.onNodeDrop.createDelegate(this)}},getDropPoint:function(k,a,g){if(a==this.el.dom){return"above"}var d=Ext.lib.Dom.getY(a),m=d+a.offsetHeight;var h=d+(m-d)/2;var l=Ext.lib.Event.getPageY(k);if(l<=h){return"above"}else{return"below"}},isValidDropPoint:function(c,a,e){if(!e.viewNodes||(e.viewNodes.length!=1)){return true}var b=e.viewNodes[0];if(b==a){return false}if((c=="below")&&(a.nextSibling==b)){return false}if((c=="above")&&(a.previousSibling==b)){return false}return true},onNodeEnter:function(a,c,b,d){if(this.highlightColor&&(d.sourceView!=this)){this.el.highlight(this.highlightColor)}return false},onNodeOver:function(a,g,c,k){var d=this.dropNotAllowed;var h=this.getDropPoint(c,a,g);if(this.isValidDropPoint(h,a,k)){if(this.appendOnly||this.sortField){return"x-tree-drop-ok-below"}if(h){var b;if(h=="above"){d=a.previousSibling?"x-tree-drop-ok-between":"x-tree-drop-ok-above";b="x-view-drag-insert-above"}else{d=a.nextSibling?"x-tree-drop-ok-between":"x-tree-drop-ok-below";b="x-view-drag-insert-below"}if(this.lastInsertClass!=b){Ext.fly(a).replaceClass(this.lastInsertClass,b);this.lastInsertClass=b}}}return d},onNodeOut:function(a,c,b,d){this.removeDropIndicators(a)},onNodeDrop:function(d,l,h,k){if(this.fireEvent("drop",this,d,l,h,k)===false){return false}var b=this.getDropPoint(h,d,l);var c=(this.appendOnly||(d==this.el.dom))?this.store.getCount():d.viewIndex;if(b=="below"){c++}if(k.sourceView==this){if(b=="below"){if(k.viewNodes[0]==d){k.viewNodes.shift()}}else{if(k.viewNodes[k.viewNodes.length-1]==d){k.viewNodes.pop()}}if(!k.viewNodes.length){return false}if(c>this.store.indexOf(k.records[0])){c--}}if(k.node instanceof Ext.tree.TreeNode){var m=k.node.getOwnerTree().recordFromNode(k.node);if(m){k.records=[m]}}if(!k.records){alert("Programming problem. Drag data contained no Records");return false}for(var a=0;a<k.records.length;a++){var m=k.records[a];var o=this.store.getById(m.id);if(o&&(l!=this.dragZone)){if(!this.allowDup&&!this.allowTrash){Ext.fly(this.getNode(this.store.indexOf(o))).frame("red",1);return true}var g=new Ext.data.Record();m.id=g.id;delete g}if(k.copy){if(!o||this.allowDup){this.store.insert(c++,m.copy())}}else{if(k.sourceView){k.sourceView.isDirtyFlag=true;k.sourceView.store.remove(m)}if(!this.allowTrash){this.store.insert(c++,m)}}if(this.sortField){this.store.sort(this.sortField,this.sortDir)}this.isDirtyFlag=true}this.dragZone.cachedTarget=null;return true},onEndDrag:function(c,b){var a=Ext.get(this.dragData.ddel);if(a&&a.hasClass("multi-proxy")){a.remove()}},removeDropIndicators:function(a){if(a){Ext.fly(a).removeClass(["x-view-drag-insert-above","x-view-drag-insert-left","x-view-drag-insert-right","x-view-drag-insert-below"]);this.lastInsertClass="_noclass"}},setDeletable:function(a){if(!this.singleSelect&&!this.multiSelect){this.singleSelect=true}var b=this.getContextMenu();this.contextMenu.on("itemclick",function(c){switch(c.id){case"delete":this.remove(this.getSelectedIndexes());break}},this);this.contextMenu.add({icon:a||AU.resolveUrl("/images/delete.gif"),id:"delete",text:AU.getMessage("deleteItem")})},getContextMenu:function(){if(!this.contextMenu){this.contextMenu=new Ext.menu.Menu({id:this.id+"-contextmenu"});this.el.on("contextmenu",this.showContextMenu,this)}return this.contextMenu},disableContextMenu:function(){if(this.contextMenu){this.el.un("contextmenu",this.showContextMenu,this)}},showContextMenu:function(b,a){a=this.findItemFromChild(b.getTarget());if(a){b.stopEvent();this.select(this.getNode(a),this.multiSelect&&b.ctrlKey,true);this.contextMenu.showAt(b.getXY())}},remove:function(b){b=[].concat(b);for(var c=0;c<b.length;c++){var a=this.store.getAt(b[c]);this.store.remove(a)}},onDblClick:function(g){var b=this.findItemFromChild(g.getTarget());if(b){if(this.fireEvent("dblclick",this,this.indexOf(b),b,g)===false){return false}if(this.dragGroup){var a=Ext.dd.DragDropMgr.getRelated(this.dragZone,true);while(a.contains(this.dropZone)){a.remove(this.dropZone)}if((a.length==1)&&(a[0].owningView)){this.dragZone.cachedTarget=null;var c=Ext.get(a[0].getEl());var d=c.getBox(true);a[0].onNodeDrop(c.dom,{target:c.dom,xy:[d.x,d.y+d.height-1]},null,this.getDragData(g))}}}},onItemClick:function(b,c,a){if(this.ignoreNextClick){delete this.ignoreNextClick;return}if(this.fireEvent("beforeclick",this,c,b,a)===false){return false}if(this.multiSelect||this.singleSelect){if(this.multiSelect&&a.shiftKey&&this.lastSelection){this.select(this.getNodes(this.indexOf(this.lastSelection),c),false)}else{if(this.isSelected(b)&&a.ctrlKey){this.deselect(b)}else{this.deselect(b);this.select(b,this.multiSelect&&a.ctrlKey);this.lastSelection=b}}a.preventDefault()}return true}});var deleteRecords;var deletingContacts=false;var callMask;function deleteContact(c){var a=contactGrid.getSelectionModel();var b;if(!deletingContacts){deleteRecords=a.getSelections();if(deleteRecords){if(deleteRecords.length>1){Ext.MessageBox.confirm("Confirm","Are you sure you want to delete these "+deleteRecords.length+" contacts?",deleteContactResult)}else{Ext.MessageBox.confirm("Confirm",'Are you sure you want to delete the contact "'+deleteRecords[0].data.displayName+'"?',deleteContactResult)}}else{Ext.MessageBox.alert("Error","You need to select a row before clicking delete.")}}}function deleteContactResult(a){if(a!="yes"){return}if(deleteRecords.length>5){maskThenRun(deleteContactResult_afterMask,"Deleting contacts...",500)}else{deleteContactResult_afterMask()}}function deleteContactResult_afterMask(){deletingContacts=true;var b=new Array();var a;for(a=0;a<deleteRecords.length;a++){b[a]=deleteRecords[a].id}Ext.Ajax.request({url:"/Services/Contact/DeleteContacts",method:"POST",params:{contactIds_json:Ext.util.JSON.encode(b),tz:tz,tza:tza},success:function(c,d){if(callMask){callMask.hide()}deletingContacts=false;result=Ext.util.JSON.decode(c.responseText);if(result.success){Ext.quickPopup.msg("Delete Contacts Succeeded",3,result.data);contactStore.load();if(deleteRecords.length>10){}}else{Ext.quickPopup.msg("Delete Contacts Failed",3,result.data)}},failure:function(c,d){if(callMask){callMask.hide()}deletingContacts=false;Ext.quickPopup.msg("Delete Contacts Call Failed",3,"")}})}var contactAddWin;var addingContact=false;function showContactAddPopup(h){if(contactAddWin==null){var b=new Ext.FormPanel({labelWidth:75,frame:false,header:false,border:false,bodyStyle:"padding:5px 5px 0",width:400,defaults:{width:250},defaultType:"textfield"});var g=new Ext.form.TextField({fieldLabel:"First Name",id:"firstName",name:"firstName",allowBlank:true,emptyText:"(first name)"});var e=new Ext.form.TextField({fieldLabel:"Last Name",id:"lastName",name:"lastName",allowBlank:true,emptyText:"(last name)"});var c=new Ext.form.TextField({fieldLabel:"Email Address",id:"emailAddress",name:"emailAddress",allowBlank:false,emptyText:"(email address)",blankText:"Email address is required"});var k=new Ext.form.TextField({fieldLabel:"Comment",id:"comment",name:"comment",emptyText:"(comment)"});b.add(g);b.add(e);b.add(c);b.add(k);var a=b.addButton({text:"Add Contact",id:"addBtn",disabled:false,listeners:{click:function(){if(addingContact){return}addingContact=true;b.getForm().submit({url:"/Services/Contact/Add",params:{tz:tz,tza:tza},action:"addContact",waitMsg:"Adding Contact..."})}}});var d=b.addButton({text:"Cancel",id:"cancelBtn",disabled:false,listeners:{click:function(){contactAddWin.hide()}}});g.on("specialkey",function(m,l){if(l.getKey()==l.ENTER){a.focus();a.fireEvent("click",a)}},this);e.on("specialkey",function(m,l){if(l.getKey()==l.ENTER){a.focus();a.fireEvent("click",a)}},this);c.on("specialkey",function(m,l){if(l.getKey()==l.ENTER){a.focus();a.fireEvent("click",a)}},this);k.on("specialkey",function(m,l){if(l.getKey()==l.ENTER){a.focus();a.fireEvent("click",a)}},this);b.on({expand:function(n,l){var m=Ext.get("firstName");m.focus()},actioncomplete:function(n,m){var l=m.result;contactStore.load();Ext.quickPopup.msg("Contact Added!",3,"The contact was added successfully!");n.reset();contactAddWin.hide();addingContact=false},actionfailed:function(n,l){if(l.failureType=="server"){window.location.href=String.format($resources.contactsPageUri)}var m=Ext.get("firstName");m.focus();addingContact=false}});contactAddWin=new Ext.Window({el:"contactAddWindow",layout:"fit",modal:true,title:"Add Contact",width:400,height:300,closeAction:"hide",plain:true,items:b})}contactAddWin.show(h)}var contactEditWin;var firstNameField2;var lastNameField2;var emailAddressField2;var commentField2;var contactId;function showContactEditPopup(a){var b=contactGrid.getSelectionModel();var c=b.getSelected();if(!c){return}if(c.data.emailAddress=="contact group"){showContactGroupEditPopup(a);return}if(!contactEditWin){var e=new Ext.FormPanel({labelWidth:75,frame:false,header:false,border:false,bodyStyle:"padding:5px 5px 0",width:400,defaults:{width:250},defaultType:"textfield"});firstNameField2=new Ext.form.TextField({fieldLabel:"First Name",id:"firstName2",name:"firstName",emptyText:"(first name)"});lastNameField2=new Ext.form.TextField({fieldLabel:"Last Name",id:"lastName2",name:"lastName",emptyText:"(last name)"});emailAddressField2=new Ext.form.TextField({fieldLabel:"Email Address",id:"emailAddress2",name:"emailAddress",allowBlank:false,emptyText:"(email address)",blankText:"Email address is required"});commentField2=new Ext.form.TextField({fieldLabel:"Comment",id:"comment2",name:"comment",emptyText:"(comment)"});e.add(firstNameField2);e.add(lastNameField2);e.add(emailAddressField2);e.add(commentField2);var d=e.addButton({text:"Save",id:"saveBtn",disabled:false,listeners:{click:function(){e.getForm().submit({url:"/Services/Contact/Update",params:{tz:tz,tza:tza,id:contactId},action:"updateContact",waitMsg:"Saving Changes..."})}}});var g=e.addButton({text:"Cancel",id:"cancelBtn",disabled:false,listeners:{click:function(){contactEditWin.hide()}}});firstNameField2.on("specialkey",function(k,h){if(h.getKey()==h.ENTER){d.focus();d.fireEvent("click",d)}},this);lastNameField2.on("specialkey",function(k,h){if(h.getKey()==h.ENTER){d.focus();d.fireEvent("click",d)}},this);emailAddressField2.on("specialkey",function(k,h){if(h.getKey()==h.ENTER){d.focus();d.fireEvent("click",d)}},this);commentField2.on("specialkey",function(k,h){if(h.getKey()==h.ENTER){d.focus();d.fireEvent("click",d)}},this);e.on({expand:function(k,h){var l=Ext.get("firstName2");l.focus()},actioncomplete:function(l,k){var h=k.result;contactStore.load();Ext.quickPopup.msg("Contact Saved!",3,"The contact was updated successfully!");l.reset();contactEditWin.hide()},actionfailed:function(l,k){if(k.failureType=="server"){var h=k.result;Ext.quickPopup.msg("Update Contact Failed!",3,h.data)}var m=Ext.get("firstName2");m.focus()}});contactEditWin=new Ext.Window({el:"contactEditWindow",layout:"fit",region:"center",modal:true,title:"Edit Contact",width:400,height:300,closeAction:"hide",plain:true,items:e})}contactEditWin.show(a);firstNameField2.setValue(c.data.firstName);lastNameField2.setValue(c.data.lastName);emailAddressField2.setValue(c.data.emailAddress);commentField2.setValue(c.data.comment);contactId=c.data.id}function maskThenRun(a,b,c){callMask=new Ext.LoadMask(Ext.getBody(),{msg:b});callMask.show();setTimeout(a,c)}var callMask;var contactGroupAddWin;var contactGroupAddForm;var availContactStore;var groupStore;var groupName;var groupDescription;var groupId;var editRecord;var parentWindow;var updateAction;var updatingGroup=false;String.prototype.trim=function(){return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1")};function showContactGroupAddPopup(a){if(groupStore==null){groupStore=new Ext.data.SimpleStore({fields:[{name:"id"},{name:"displayName"},{name:"firstName"},{name:"lastName"},{name:"emailAddress"}]})}else{groupStore.removeAll()}groupName=undefined;groupDescription=undefined;groupId=null;parentWindow=a;updateAction="Add";showContactGroupUpdatePopup()}function showContactGroupEditPopup(e){parentWindow=e;if(groupStore==null){groupStore=new Ext.data.SimpleStore({fields:[{name:"id"},{name:"displayName"},{name:"firstName"},{name:"lastName"},{name:"emailAddress"}]})}else{groupStore.removeAll()}var a=Ext.data.Record.create([{name:"id"},{name:"displayName"},{name:"firstName"},{name:"lastName"},{name:"emailAddress"}]);groupName=undefined;groupDescription=undefined;groupId=null;var c=contactGrid.getSelectionModel();editRecord=c.getSelected();var d;var h;var b;var k;updateAction="Update";var g=new Zapproved.Request({url:"/Services/ContactGroup/GetByName",scope:this,errorSubject:"GetContactGroup Failed",params:{contactId:editRecord.id,tz:tz,tza:tza},successCallback:function(l){groupName=l.data.groupName;groupDescription=l.data.groupDescription;groupId=l.data.id;b=l.data.members.length;for(h=0;h<b;h++){k=contactStore.find("id",l.data.members[h].id);if(k==-1){d=new a({id:l.data.members[h].id,displayName:l.data.members[h].displayName,firstName:l.data.members[h].firstName,lastName:l.data.members[h].lastName,emailAddress:l.data.members[h].emailAddress});groupStore.add(d)}else{groupStore.add(contactStore.getAt(k))}}updateAction="Update";showContactGroupUpdatePopup()},failureCallback:function(l){updateAction=""}});g.doRequest()}function addToAvailableContacts(a){var b;b=groupStore.find("id",a.get("id"));if(b==-1&&a.get("emailAddress")!=""){availContactStore.add(a)}}function showContactGroupUpdatePopup(){availContactStore=new Ext.data.SimpleStore({fields:[{name:"id"},{name:"displayName"},{name:"firstName"},{name:"lastName"},{name:"emailAddress"}]});var b=Ext.data.Record.create([{name:"id"},{name:"displayName"},{name:"firstName"},{name:"lastName"},{name:"emailAddress"}]);var a;for(a=0;a<contactStore.getCount();a++){addToAvailableContacts(contactStore.getAt(a))}if(contactGroupAddWin==null){contactGroupAddForm=new Ext.form.FormPanel({labelWidth:75,width:455,height:400,frame:false,header:false,border:false,bodyStyle:"padding:5px 5px 0",items:[{xtype:"textfield",fieldLabel:"Repository",id:"groupName",name:"groupName",emptyText:"(Repository Name)",value:groupName,width:320},{xtype:"textfield",fieldLabel:"Description",id:"groupDescription",name:"groupDescription",value:groupDescription,emptyText:"(Description)",width:320},{xtype:"itemselector",name:"itemselector",hideLabel:true,fieldLabel:"Group",fromStore:contactStore,toStore:groupStore,msWidth:195,msHeight:300,width:430,valueField:"id",displayField:"displayName",imagePath:"../../Images/site/multiselect",toLegend:"Repository Group",fromLegend:"Contacts",allowDup:true,allowDupInTo:false,drawUpIcon:false,drawDownIcon:false,drawTopIcon:false,drawBotIcon:false}],buttons:[{text:"Apply",id:"apply",handler:function(){updateContactGroup()}},{text:"Cancel",id:"cancel",handler:function(){contactGroupAddWin.hide()}}]});contactGroupAddForm.findById("groupName").on("specialkey",function(d,c){if(c.getKey()==c.ENTER){updateContactGroup()}},this);contactGroupAddForm.findById("groupDescription").on("specialkey",function(d,c){if(c.getKey()==c.ENTER){updateContactGroup()}},this);contactGroupAddWin=new Ext.Window({el:"contactGroupAddWindow",layout:"fit",modal:true,title:"Repository Group",width:460,height:450,closeAction:"hide",plain:true,items:contactGroupAddForm})}else{contactGroupAddForm.getForm().findField("groupName").setValue(groupName);contactGroupAddForm.getForm().findField("groupDescription").setValue(groupDescription)}updatingGroup=false;contactGroupAddWin.show(parentWindow)}function updateContactGroup(){if(!updatingGroup){updateContactGroup_afterMask()}}function updateContactGroup_afterMask(){var b;var c;var a;groupName=contactGroupAddForm.getForm().findField("groupName").getValue();groupDescription=contactGroupAddForm.getForm().findField("groupDescription").getValue();b=contactGroupAddForm.getForm().findField("itemselector").getValue();if(groupName.trim()==""){if(callMask){callMask.hide()}Ext.fly(contactGroupAddForm.getForm().findField("groupName").getEl()).frame("red",1);return}if(b.trim()==""){if(callMask){callMask.hide()}contactGroupAddForm.getForm().findField("itemselector").frameTo();return}c=contactStore.find("displayName",groupName);if(c>-1){if(updateAction=="add"){if(callMask){callMask.hide()}Ext.fly(contactGroupAddForm.getForm().findField("groupName").getEl()).frame("red",1);return}else{a=contactStore.getAt(c).get("id");if(a!=groupId){if(callMask){callMask.hide()}Ext.fly(contactGroupAddForm.getForm().findField("groupName").getEl()).frame("red",1);return}}}updatingGroup=true;Ext.Ajax.request({url:"/Services/ContactGroup/Update",params:{groupId:groupId,groupName:groupName,groupDescription:groupDescription,memberIdcsv:b,tz:tz,tza:tza},success:function(d,e){if(callMask){callMask.hide()}updatingGroup=false;contactGroupAddWin.hide();result=Ext.util.JSON.decode(d.responseText);if(result.success){Ext.quickPopup.msg(updateAction+" Repository Group Succeeded",3,result.message);contactStore.load();updateAction=""}else{Ext.quickPopup.msg(updateAction+" Repository Group Failed",3,result.message)}},failure:function(d,e){if(callMask){callMask.hide()}updatingGroup=false;contactGroupAddWin.hide();Ext.quickPopup.msg(updateAction+" Contact Group Call Failed",3,"")}})}function maskThenRun(a,b,c){callMask=new Ext.LoadMask(Ext.getBody(),{msg:b});callMask.show();setTimeout(a,c)}Zapproved.AccountSettingsPanel=Ext.extend(Ext.TabPanel,{accountTabText:"My Account",receiptsTabText:"Payment History",currentPlanFieldLabel:"Current Plan",proposalsSentFieldLabel:"Proposals",storageFieldLabel:"Storage",account:null,id:"settingsPanel",autoHeight:true,activeTab:0,width:650,plain:true,style:"margin-left: auto;margin-right: auto;margin-top: 10px;",bodyStyle:"background-color: #FFFFFF;",deferredRender:false,initComponent:function(){var a=this.getMyAccountPanel();Ext.apply(this,{items:a});this.addListener("tabchange",this.activateTab,this);Zapproved.AccountSettingsPanel.superclass.initComponent.apply(this,arguments)},activateTab:function(a,b){if(b.id=="receiptsPanel"&&!b.isInitialized){this.loadReceipts();b.isInitialized=true}},getMyAccountPanel:function(){return[{xtype:"panel",id:"myAccountOuterPanel",border:false,title:this.accountTabText,style:"padding: 15px 0 5px 15px;",height:280,items:[{xtype:"form",id:"accountForm",border:false,autoWidth:true,autoHeight:true,buttonAlign:"center",defaultType:"textfield",labelWidth:100,items:[{fieldLabel:this.currentPlanFieldLabel,fieldClass:"x-form-field",id:"currentPlanName",readOnly:true,width:400,style:"border:0px none; background-image: none"},{xtype:"panel",id:"upgradeLink",hidden:true,html:'<a href="/Welcome/SelectPlan?planId=2" title="Click here to upgrade">Click here to upgrade</a>',border:false,style:"padding-bottom: 10px; padding-left: 140px; font-size: 10pt; color: #CC0000; text-align: left;"},{fieldLabel:this.proposalsSentFieldLabel,fieldClass:"x-form-field",id:"proposals",readOnly:true,width:400,style:"border:0px none; background-image: none"},{fieldLabel:this.storageFieldLabel,fieldClass:"x-form-field",id:"storage",readOnly:true,width:500,style:"border:0px none; background-image: none"}]}]}]},loadAccountSettings:function(){var a=Ext.getCmp("accountForm");a.getForm().load({url:"/Services/Account/Get",method:"GET",waitMsg:this.loadingMessageText,params:{tz:tz,tza:tza},scope:this,success:this.onLoadAccountSuccess,failure:function(c,b){Zapproved.ErrorDialog.fromServerError(this.loadErrorSubject,b.response,b.result)}})},onLoadAccountSuccess:function(d,c){this.account=c.result.data;if(this.account.currentPlanId==1){Ext.getCmp("upgradeLink").show()}var h=Ext.getCmp("storage");if(this.account.enableAttachments){var l=ZapUtils.kbToMbWithTenths(this.account.currentStorageKb);var b=ZapUtils.kbToMb(this.account.maxStorageKb);var e=(l*100)/b;h.setValue("Your proposals are currently using "+l+"MB ("+e.toFixed(1)+"%) of the max "+b+"MB for your plan.")}else{h.setValue("Your current plan does not allow you to upload attachments.")}var g=Ext.getCmp("proposals");var a=this.account.proposalsSentThisMonth;var k=this.account.maxProposalsPerMonth;if(k==0){g.setValue("You have sent "+a+" proposals in the last 30 days.")}else{g.setValue("You have sent "+a+" proposals in the last 30 days (out of a maximum of "+k+").")}}});Zapproved.EmailAddressesPanel=Ext.extend(Ext.grid.GridPanel,{addEmailButtonText:"Add Email Address",addEmailButtonTip:"Add a new email address",makePrimaryButtonText:"Make Primary",makePrimaryButtonTip:"Make the selected email address your primary address",deleteButtonText:"Delete",deleteButtonTip:"Delete the selected email address",id:"emailAddressesPanel",stripeRows:true,trackMouseOver:false,autoHeight:true,primaryRecord:null,deleteRecord:null,emailAddress:null,initComponent:function(){Ext.apply(this,{columns:[{id:"emailAddress",header:"Email Address",width:200,sortable:true,dataIndex:"emailAddress"},{header:"Validated",width:60,sortable:true,renderer:this.renderCheckbox,dataIndex:"validated"},{header:"Primary",width:50,sortable:true,renderer:this.renderCheckbox,dataIndex:"primary"}],autoExpandColumn:"emailAddress",tbar:[{text:this.addEmailButtonText,tooltip:this.addEmailButtonTip,iconCls:"useraddbutton",disabled:!Zapproved.SessionManager.getAccount().enableMultipleEmails,handler:this.addEmailAddress,scope:this},"-",{text:this.makePrimaryButtonText,tooltip:this.makePrimaryButtonTip,iconCls:"usereditbutton",handler:this.setPrimaryEmail,scope:this},"-",{text:this.deleteButtonText,tooltip:this.deleteButtonTip,iconCls:"userdeletebutton",handler:this.deleteEmail,scope:this}],store:new Ext.data.Store({baseParams:{tz:tz,tza:tza},remoteSort:false,sortInfo:{field:"emailAddress"},proxy:new Ext.data.HttpProxy({url:"/Services/Account/GetEmails"}),reader:new Ext.data.JsonReader({root:"data",totalProperty:"numRows"},[{name:"emailAddress"},{name:"validated",type:"bool"},{name:"primary",type:"bool"}])})});Zapproved.EmailAddressesPanel.superclass.initComponent.apply(this,arguments)},loadAddresses:function(){this.store.load()},renderCheckbox:function(a){if(a){return'<div style="text-align: center;"><img width="16" height="16" border="0" align=texttop alt="Cancelled" src="/Images/site/grid/accept.png" /></div>'}else{return""}},addEmailAddress:function(a){Ext.MessageBox.prompt("Add Email Address","Please enter the email address you would like to add to your account:",this.addEmailConfirm,this)},addEmailConfirm:function(b,c){if((b!="ok")||(c=="")||(c==null)){return}this.emailAddress=c;var a=new Zapproved.Request({url:"/Services/Account/AddEmail",scope:this,errorSubject:"Add Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Adding Email Address..."}),params:{emailAddress:c,tz:tz,tza:tza},successCallback:function(d){Ext.MessageBox.alert("Please Confirm","For your security, Zapproved has sent an email to your new address. Please click the confirm link in that email to activate your new email address with Zapproved.",this.afterAddEmail,this)},failureCallback:function(e,d){if(d&&d.errorCode=="AlreadyTaken"){Ext.MessageBox.show({title:"Merge Email Address?",msg:"The email address you selected already exists in Zapproved. If this is your email account, you can merge that email address into your current Zapproved account. Would you like to continue and merge accounts?",buttons:{yes:"Merge",no:"Cancel"},fn:this.addEmailConfirmMerge,scope:this,icon:Ext.MessageBox.QUESTION});return true}}});a.doRequest()},addEmailConfirmMerge:function(b){if(b!="yes"){return}var a=new Zapproved.Request({url:"/Services/Account/RequestMerge",scope:this,errorSubject:"Merge Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Initiating Merge..."}),params:{emailAddress:this.emailAddress,tz:tz,tza:tza},successCallback:function(c){Ext.MessageBox.alert("Please Confirm","For your security, Zapproved has sent an email to your new address. Please click the confirm link in that email to merge your accounts with Zapproved.",this.afterAddEmail,this)}});a.doRequest()},afterAddEmail:function(){this.store.load()},deleteEmail:function(b){var a=this.getSelectionModel();this.deleteRecord=a.getSelected();if(this.deleteRecord){if(this.deleteRecord.data.primary){Ext.MessageBox.alert("Error","You cannot delete your primary email address!")}else{Ext.MessageBox.confirm("Confirm",'Are you sure you want to delete the email address "'+this.deleteRecord.data.emailAddress+'"?',this.deleteEmailConfirm,this)}}else{Ext.MessageBox.alert("Error","You need to select a row before clicking delete.")}},deleteEmailConfirm:function(a){if(a!="yes"){return}var b=new Zapproved.Request({url:"/Services/Account/DeleteEmail",scope:this,errorSubject:"Delete Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Deleting Email Address..."}),params:{emailAddress:this.deleteRecord.data.emailAddress,tz:tz,tza:tza},successCallback:function(c){Ext.quickPopup.msg("Email Address Deleted",3,'Email Address "'+this.deleteRecord.data.emailAddress+'" was deleted.');this.store.load()}});b.doRequest()},setPrimaryEmail:function(b){var a=this.getSelectionModel();this.primaryRecord=a.getSelected();if(this.primaryRecord){if(this.primaryRecord.data.primary){Ext.MessageBox.alert("Error","That email address is already your primary address.")}else{if(!this.primaryRecord.data.validated){Ext.MessageBox.alert("Error","You must validate that email address before making it your primary address.")}else{Ext.MessageBox.confirm("Confirm",'Are you sure you want to set the email address "'+this.primaryRecord.data.emailAddress+'" as your primary email account?',this.setPrimaryEmailConfirm,this)}}}else{Ext.MessageBox.alert("Error","You need to select a row before clicking Make Primary.")}},setPrimaryEmailConfirm:function(a){if(a!="yes"){return}var b=new Zapproved.Request({url:"/Services/Account/SetPrimaryEmail",scope:this,errorSubject:"Set Primary Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Changing Primary Email Address..."}),params:{emailAddress:this.primaryRecord.data.emailAddress,tz:tz,tza:tza},successCallback:function(c){Ext.quickPopup.msg("Primary Email Address Changed",3,'"'+this.primaryRecord.data.emailAddress+'" is now your primary email address.');this.store.load()}});b.doRequest()}});Ext.reg("emailaddressespanel",Zapproved.EmailAddressesPanel);Zapproved.PersonalSettingsPanel=Ext.extend(Ext.TabPanel,{myProfileTabText:"My Profile",notificationsTabText:"Email Notifications",businessCardTabText:"Organization",changePasswordTabText:"Change Password",firstNameFieldLabel:"First Name",lastNameFieldLabel:"Last Name",userPictureSectionTitle:"My Picture",userPictureUploadFieldLabel:"Picture File",uploadUserPictureButtonText:"Upload Picture",clearUserPictureButtonText:"Remove Picture",zapUpdatesBoxLabel:"Select whether you would like to receive news and updates from Zapproved",emailSettingsFieldSet:"Email Notification Options",emailNotifySenderLabel:"Notify me when I send out a proposal",emailNotifyNewLabel:"Notify me when someone sends me a new proposal",emailNotifyCommentLabel:"Notify me when someone else comments on a proposal I am involved with",emailNotifyDecisionLabel:"Notify me when someone makes a decision on a proposal I sent them",emailNotifyCompletedLabel:"Notify me when everyone has approved one of my proposals",emailNotifyCancelledLabel:"Notify me when I cancel or close a proposal",emailNotifyPastDueLabel:"Notify me when a proposal which is waiting on me is past due",emailNotifyUpcomingDayLabel:"Notify me when a proposal which is waiting on me is due today",emailNotifyDailyLabel:"Send me a daily overview of my proposals",emailNotifyArchiveExpiringLabel:"Notify me when proposals are about to expire from my archive",oldPasswordFieldLabel:"Old Password",newPasswordFieldLabel:"New Password",confirmNewPasswordFieldLabel:"New Password (again)",changePasswordButtonText:"Change Password",companyNameFieldLabel:"Company/Organization Name",logoSectionTitle:"Logo",logoFieldLabel:"Logo File",uploadLogoButtonText:"Upload Logo",clearLogoButtonText:"Remove Logo",titleFieldLabel:"Title",organizationFieldLabel:"Company/Organization",departmentFieldLabel:"Department",addressFieldLabel:"Address",address2FieldLabel:"Address 2",cityFieldLabel:"City",stateFieldLabel:"State/Province",zipFieldLabel:"Zip/Postal Code",countryFieldLabel:"Country",showEmailFieldLabel:"Show Email",emailFieldLabel:"Email Address",phoneHomeFieldLabel:"Phone (home)",phoneMobileFieldLabel:"Phone (mobile)",phoneOfficeFieldLabel:"Phone (office)",phoneFaxFieldLabel:"Phone (fax)",webSiteFieldLabel:"Web Site",submitButtonText:"Save",loadingMessageText:"Loading user settings...",savingMessageText:"Saving Settings...",loadErrorSubject:"Unable to load user settings",validationErrorTitle:"We found a problem in your profile information.",submitErrorSubject:"Unable to process profile update",account:null,id:"settingsPanel",autoHeight:true,width:650,plain:true,style:"margin-left: auto;margin-right: auto;margin-top: 10px;",bodyStyle:"background-color: #FFFFFF;",deferredRender:false,initComponent:function(){var a=this.getProfilePanel();a=a.concat(this.getChangePasswordPanel());a=a.concat(this.getNotificationsPanel());a=a.concat(this.getBusinessCardPanel());var b=getParam("initialTab");if(!b){b=0}Ext.apply(this,{items:a,activeTab:b});this.addListener("tabchange",this.activateTab,this);Zapproved.PersonalSettingsPanel.superclass.initComponent.apply(this,arguments)},activateTab:function(a,b){if(b.id=="mySettingsOuterPanel"&&!b.isInitialized){this.loadPersonalSettings()}else{if(b.id=="businessCardOuterPanel"){if(!this.account.enableBusinessCards&&!this.account.enableLogo){Ext.getCmp("businessCardFeaturesNotice").show();Ext.getCmp("businessCardInstructionsPanel").hide();Ext.getCmp("businessCardForm").hide();Ext.getCmp("logoForm").hide()}else{if(!b.isInitialized){this.loadBusinessCard()}}}else{if(b.id=="notificationsForm"&&!b.isInitialized){this.loadNotifications()}}}b.isInitialized=true},getProfilePanel:function(){return[{xtype:"panel",id:"mySettingsOuterPanel",border:false,title:this.myProfileTabText,style:"padding: 15px 0 5px 15px;",height:400,items:[{xtype:"form",id:"mySettingsForm",border:false,autoWidth:true,autoHeight:true,buttonAlign:"center",defaultType:"textfield",labelWidth:130,items:[{fieldLabel:this.firstNameFieldLabel,id:"firstName",width:200,maxLength:40},{fieldLabel:this.lastNameFieldLabel,id:"lastName",width:200,maxLength:40}],buttons:[{text:this.submitButtonText,cls:"btn-orange btn-bold",scope:this,handler:this.submitProfile}]},{xtype:"form",id:"userPictureForm",fileUpload:true,border:false,autoWidth:true,autoHeight:true,items:[{xtype:"panel",title:this.userPictureSectionTitle,border:true,buttonAlign:"center",style:"margin: 25px 20px 30px 0;",bodyStyle:"padding: 5px 0 0 0;",autoHeight:true,layout:"table",layoutConfig:{columns:3},items:[{xtype:"panel",autoWidth:true,style:"padding: 0 10px 5px 5px;",id:"userPictureImagePanel",border:false},{xtype:"fileuploadfield",buttonOnly:true,id:"uploadPictureField",disabled:true,allowBlank:false,width:130,style:"margin: 0 0 0 10px;",cellCls:"btn-orange btn-bold",buttonCfg:{text:this.uploadUserPictureButtonText,id:"uploadPictureButton",disabled:true},listeners:{fileselected:this.submitUserPicture,scope:this}},{xtype:"panel",border:false,cellCls:"btn-orange btn-bold",width:160,items:[{xtype:"button",text:this.clearUserPictureButtonText,id:"removePictureButton",disabled:true,scope:this,handler:this.clearUserPicture}]}]}]},{xtype:"emailaddressespanel",title:this.emailAddressesTitleText,style:"margin-right: 20px",autoWidth:true,height:250}]}]},getNotificationsPanel:function(){return[{xtype:"form",id:"notificationsForm",title:this.notificationsTabText,style:"padding: 15px 0 5px 15px;",border:false,autoWidth:true,autoHeight:true,buttonAlign:"center",defaultType:"xcheckbox",labelWidth:130,items:[{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifySenderLabel,id:"emailNotifySender"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyNewLabel,id:"emailNotifyNew"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyCommentLabel,id:"emailNotifyComment"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyDecisionLabel,id:"emailNotifyDecision"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyCompletedLabel,id:"emailNotifyCompleted"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyCancelledLabel,id:"emailNotifyCancelled"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyPastDueLabel,id:"emailNotifyPastDue"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyUpcomingDayLabel,id:"emailNotifyUpcomingDay"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyDailyLabel,id:"emailNotifyDaily"},{hideLabel:true,labelSeparator:"",boxLabel:this.emailNotifyArchiveExpiringLabel,id:"emailNotifyArchiveExpiring",hidden:true},{xtype:"panel",style:"height: 10px",html:"&nbsp;",border:false},{hideLabel:true,labelSeparator:"",boxLabel:this.zapUpdatesBoxLabel,id:"systemOptIn"}],buttons:[{text:this.submitButtonText,cls:"btn-orange btn-bold",scope:this,handler:this.submitNotification}]}]},getBusinessCardPanel:function(){return[{xtype:"panel",id:"businessCardOuterPanel",border:false,title:this.businessCardTabText,height:370,style:"padding: 15px 0 5px 15px;",items:[{xtype:"panel",id:"businessCardFeaturesNotice",hidden:true,html:'Company / organization branding features are available only to Premium Plan members.<br /><a href="/Welcome/Plans">Click here</a> to upgrade your plan.',border:false,style:"padding-bottom: 20px; font-size: 10pt; text-align: center;"},{xtype:"panel",id:"businessCardInstructionsPanel",html:"Your company name and logo will appear on all proposals sent from this account.",border:false,style:"padding-bottom: 20px; font-size: 10pt; text-align: center;"},{xtype:"form",id:"businessCardForm",border:false,autoWidth:true,autoHeight:true,buttonAlign:"center",defaultType:"textfield",labelWidth:200,items:[{fieldLabel:this.companyNameFieldLabel,id:"organizationName",width:300},{xtype:"hidden",id:"displayName",value:readCookie("ZapprovedGreeting")}],buttons:[{text:this.submitButtonText,cls:"btn-orange btn-bold",scope:this,handler:this.submitBusinessCard}]},{xtype:"form",id:"logoForm",fileUpload:true,border:false,autoWidth:true,autoHeight:true,items:[{xtype:"panel",title:this.logoSectionTitle,border:true,buttonAlign:"center",style:"margin: 30px 20px 10px 0;",bodyStyle:"padding: 5px 0 0 0;",autoHeight:true,layout:"table",layoutConfig:{columns:3},items:[{xtype:"panel",autoWidth:true,style:"padding: 0 10px 5px 5px;",id:"logoImagePanel",border:false},{xtype:"fileuploadfield",buttonOnly:true,id:"uploadLogoField",allowBlank:false,width:105,style:"margin: 0 0 0 10px;",cellCls:"btn-orange btn-bold",buttonCfg:{text:this.uploadLogoButtonText},listeners:{fileselected:this.submitLogo,scope:this}},{xtype:"panel",border:false,cellCls:"btn-orange btn-bold",width:145,items:[{xtype:"button",text:this.clearLogoButtonText,scope:this,handler:this.clearLogo}]}]}]}]}]},getChangePasswordPanel:function(){return[{xtype:"form",id:"changePasswordForm",style:"margin: 15px 0 5px 15px;",title:this.changePasswordTabText,border:false,autoWidth:true,autoHeight:true,buttonAlign:"center",defaultType:"textfield",items:[{inputType:"password",fieldLabel:this.oldPasswordFieldLabel,id:"oldPassword",width:200,allowBlank:false},{inputType:"password",fieldLabel:this.newPasswordFieldLabel,id:"password",width:200,allowBlank:false},{inputType:"password",fieldLabel:this.confirmNewPasswordFieldLabel,id:"confirm",width:200,allowBlank:false}],buttons:[{text:this.changePasswordButtonText,cls:"btn-orange btn-bold",scope:this,handler:this.submitChangePassword}]}]},loadPersonalSettings:function(){var a=Ext.getCmp("mySettingsForm");a.getForm().load({url:"/Services/Account/Get",method:"GET",waitMsg:this.loadingMessageText,params:{tz:tz,tza:tza},scope:this,success:this.onLoadUserSettingsSuccess,failure:function(c,b){Zapproved.ErrorDialog.fromServerError(this.loadErrorSubject,b.response,b.result)}});Ext.getCmp("emailAddressesPanel").loadAddresses()},onLoadUserSettingsSuccess:function(b,a){this.account=a.result.data;if(this.account.pictureUrl){var c=a.result.data.pictureUrl;if(c!=null){this.setUserPictureUrl(c)}}var k=Ext.getCmp("userPictureForm");k.setVisible(true);if(this.account.enablePicture){var h=Ext.getCmp("uploadPictureButton");h.enable();var e=Ext.getCmp("uploadPictureField");e.enable();e.setVisible(false);var g=Ext.getCmp("removePictureButton");g.enable();var d=Ext.getCmp("uploadLogoField");d.enable();d.setVisible(false)}},loadNotifications:function(){var a=Ext.getCmp("notificationsForm");a.getForm().load({url:"/Services/Account/Get",method:"GET",waitMsg:this.loadingMessageText,params:{tz:tz,tza:tza},scope:this,success:this.onLoadNotificationsSuccess,failure:function(c,b){Zapproved.ErrorDialog.fromServerError(this.loadErrorSubject,b.response,b.result)}})},onLoadNotificationsSuccess:function(b,a){this.account=a.result.data;if(this.account.currentPlanId==1){var c=Ext.getCmp("emailNotifyArchiveExpiring");c.setVisible(true)}},loadBusinessCard:function(){var a=Ext.getCmp("businessCardForm");a.getForm().load({url:"/Services/Account/GetBusinessCard",method:"GET",waitMsg:this.loadingMessageText,params:{tz:tz,tza:tza},scope:this,success:function(d,b){var c=b.result.data.logoUrl;if(c!=null){this.setLogoUrl(c)}},failure:function(c,b){Zapproved.ErrorDialog.fromServerError(this.loadErrorSubject,b.response,b.result)}})},submitProfile:function(){var a=Ext.getCmp("mySettingsForm");a.getForm().submit({url:"/Services/Account/SetProfile",params:{tz:tz,tza:tza},scope:this,waitMsg:"Saving Settings...",success:function(c,b){Ext.quickPopup.msg("Settings Saved",3,"Your settings were saved!")},failure:function(c,b){if(b.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,c)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,b.response,b.result)}}})},submitNotification:function(){var a=Ext.getCmp("notificationsForm");a.getForm().submit({url:"/Services/Account/SetNotification",params:{tz:tz,tza:tza},scope:this,waitMsg:"Saving Settings...",success:function(c,b){Ext.quickPopup.msg("Settings Saved",3,"Your settings were saved!")},failure:function(c,b){if(b.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,c)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,b.response,b.result)}}})},submitBusinessCard:function(){var a=Ext.getCmp("businessCardForm");a.getForm().submit({url:"/Services/Account/SetBusinessCard",params:{tz:tz,tza:tza},scope:this,waitMsg:"Saving Settings...",success:function(c,b){Ext.quickPopup.msg("Settings Saved",3,"Your settings were saved!")},failure:function(c,b){if(b.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,c)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,b.response,b.result)}}})},submitUserPicture:function(){var a=Ext.getCmp("userPictureForm");a.getForm().submit({url:"/Services/Account/SetPicture",params:{tz:tz,tza:tza},scope:this,waitMsg:this.savingMessageText,success:function(c,b){Ext.quickPopup.msg("Picture Uploaded",3,"Your picture was uploaded successfully.");this.setUserPictureUrl(b.result.data.url)},failure:function(c,b){if(b.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,c)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,b.response,b.result)}}})},clearUserPicture:function(){var a=new Zapproved.Request({url:"/Services/Account/ClearPicture",scope:this,errorSubject:this.submitErrorSubject,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.savingMessageText}),params:{id:this.requestId,token:this.requestToken,tz:tz,tza:tza},successCallback:this.afterClearUserPicture});a.doRequest()},afterClearUserPicture:function(){this.setUserPictureUrl(null)},setUserPictureUrl:function(a){if(a!=null){Ext.getCmp("userPictureImagePanel").body.update('<img src="'+a+'"/>')}else{Ext.getCmp("userPictureImagePanel").body.update("")}},submitLogo:function(){var a=Ext.getCmp("logoForm");a.getForm().submit({url:"/Services/Account/SetLogo",params:{tz:tz,tza:tza},scope:this,waitMsg:this.savingMessageText,success:function(c,b){Ext.quickPopup.msg("Logo Uploaded",3,"Your logo was uploaded successfully.");this.setLogoUrl(b.result.data.url)},failure:function(c,b){if(b.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,c)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,b.response,b.result)}}})},clearLogo:function(){var a=new Zapproved.Request({url:"/Services/Account/ClearLogo",scope:this,errorSubject:this.submitErrorSubject,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.savingMessageText}),params:{id:this.requestId,token:this.requestToken,tz:tz,tza:tza},successCallback:this.afterClearLogo});a.doRequest()},afterClearLogo:function(){this.setLogoUrl(null)},setLogoUrl:function(a){if(a!=null){Ext.getCmp("logoImagePanel").body.update('<img src="'+a+'" width="140" />')}else{Ext.getCmp("logoImagePanel").body.update("")}},submitChangePassword:function(){var a=Ext.getCmp("oldPassword");var c=Ext.getCmp("password");var b=Ext.getCmp("confirm");var d=Ext.getCmp("changePasswordForm");if(c.getValue()==""){Ext.quickPopup.msg("Oops...",3,"Sorry, we need you to choose a password!");c.focus()}else{if(b.getValue()==""){Ext.quickPopup.msg("Oops...",3,"Please type your password twice to make sure we get it correctly!");b.focus()}else{if(c.getValue()!=b.getValue()){Ext.quickPopup.msg("Oops...",3,"The passwords you typed did not match!");b.focus()}else{d.getForm().submit({url:secureBaseUrl+"Services/SetPassword",method:"POST",params:{tz:tz,tza:tza},waitMsg:"Changing Password...",scope:this,success:function(l,h){Ext.quickPopup.msg("Password Changed",3,"Your password was changed!");var e=Ext.getCmp("oldPassword");var k=Ext.getCmp("password");var g=Ext.getCmp("confirm");e.setValue("");k.setValue("");g.setValue("");this.setActiveTab("mySettingsOuterPanel")},failure:function(g,e){if(e.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,g)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,e.response,e.result)}}})}}}}});Zapproved.EmailAddressesPanel=Ext.extend(Ext.grid.GridPanel,{addEmailButtonText:"Add Email Address",addEmailButtonTip:"Add a new email address",makePrimaryButtonText:"Make Primary",makePrimaryButtonTip:"Make the selected email address your primary address",deleteButtonText:"Delete",deleteButtonTip:"Delete the selected email address",id:"emailAddressesPanel",stripeRows:true,trackMouseOver:false,autoHeight:true,primaryRecord:null,deleteRecord:null,emailAddress:null,initComponent:function(){Ext.apply(this,{columns:[{id:"emailAddress",header:"Email Address",width:200,sortable:true,dataIndex:"emailAddress"},{header:"Validated",width:60,sortable:true,renderer:this.renderCheckbox,dataIndex:"validated"},{header:"Primary",width:50,sortable:true,renderer:this.renderCheckbox,dataIndex:"primary"}],autoExpandColumn:"emailAddress",tbar:[{text:this.addEmailButtonText,tooltip:this.addEmailButtonTip,iconCls:"useraddbutton",disabled:!Zapproved.SessionManager.getAccount().enableMultipleEmails,handler:this.addEmailAddress,scope:this},"-",{text:this.makePrimaryButtonText,tooltip:this.makePrimaryButtonTip,iconCls:"usereditbutton",handler:this.setPrimaryEmail,scope:this},"-",{text:this.deleteButtonText,tooltip:this.deleteButtonTip,iconCls:"userdeletebutton",handler:this.deleteEmail,scope:this}],store:new Ext.data.Store({baseParams:{tz:tz,tza:tza},remoteSort:false,sortInfo:{field:"emailAddress"},proxy:new Ext.data.HttpProxy({url:"/Services/Account/GetEmails"}),reader:new Ext.data.JsonReader({root:"data",totalProperty:"numRows"},[{name:"emailAddress"},{name:"validated",type:"bool"},{name:"primary",type:"bool"}])})});Zapproved.EmailAddressesPanel.superclass.initComponent.apply(this,arguments)},loadAddresses:function(){this.store.load()},renderCheckbox:function(a){if(a){return'<div style="text-align: center;"><img width="16" height="16" border="0" align=texttop alt="Cancelled" src="/Images/site/grid/accept.png" /></div>'}else{return""}},addEmailAddress:function(a){Ext.MessageBox.prompt("Add Email Address","Please enter the email address you would like to add to your account:",this.addEmailConfirm,this)},addEmailConfirm:function(b,c){if((b!="ok")||(c=="")||(c==null)){return}this.emailAddress=c;var a=new Zapproved.Request({url:"/Services/Account/AddEmail",scope:this,errorSubject:"Add Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Adding Email Address..."}),params:{emailAddress:c,tz:tz,tza:tza},successCallback:function(d){Ext.MessageBox.alert("Please Confirm","For your security, Zapproved has sent an email to your new address. Please click the confirm link in that email to activate your new email address with Zapproved.",this.afterAddEmail,this)},failureCallback:function(e,d){if(d&&d.errorCode=="AlreadyTaken"){Ext.MessageBox.show({title:"Merge Email Address?",msg:"The email address you selected already exists in Zapproved. If this is your email account, you can merge that email address into your current Zapproved account. Would you like to continue and merge accounts?",buttons:{yes:"Merge",no:"Cancel"},fn:this.addEmailConfirmMerge,scope:this,icon:Ext.MessageBox.QUESTION});return true}}});a.doRequest()},addEmailConfirmMerge:function(b){if(b!="yes"){return}var a=new Zapproved.Request({url:"/Services/Account/RequestMerge",scope:this,errorSubject:"Merge Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Initiating Merge..."}),params:{emailAddress:this.emailAddress,tz:tz,tza:tza},successCallback:function(c){Ext.MessageBox.alert("Please Confirm","For your security, Zapproved has sent an email to your new address. Please click the confirm link in that email to merge your accounts with Zapproved.",this.afterAddEmail,this)}});a.doRequest()},afterAddEmail:function(){this.store.load()},deleteEmail:function(b){var a=this.getSelectionModel();this.deleteRecord=a.getSelected();if(this.deleteRecord){if(this.deleteRecord.data.primary){Ext.MessageBox.alert("Error","You cannot delete your primary email address!")}else{Ext.MessageBox.confirm("Confirm",'Are you sure you want to delete the email address "'+this.deleteRecord.data.emailAddress+'"?',this.deleteEmailConfirm,this)}}else{Ext.MessageBox.alert("Error","You need to select a row before clicking delete.")}},deleteEmailConfirm:function(a){if(a!="yes"){return}var b=new Zapproved.Request({url:"/Services/Account/DeleteEmail",scope:this,errorSubject:"Delete Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Deleting Email Address..."}),params:{emailAddress:this.deleteRecord.data.emailAddress,tz:tz,tza:tza},successCallback:function(c){Ext.quickPopup.msg("Email Address Deleted",3,'Email Address "'+this.deleteRecord.data.emailAddress+'" was deleted.');this.store.load()}});b.doRequest()},setPrimaryEmail:function(b){var a=this.getSelectionModel();this.primaryRecord=a.getSelected();if(this.primaryRecord){if(this.primaryRecord.data.primary){Ext.MessageBox.alert("Error","That email address is already your primary address.")}else{if(!this.primaryRecord.data.validated){Ext.MessageBox.alert("Error","You must validate that email address before making it your primary address.")}else{Ext.MessageBox.confirm("Confirm",'Are you sure you want to set the email address "'+this.primaryRecord.data.emailAddress+'" as your primary email account?',this.setPrimaryEmailConfirm,this)}}}else{Ext.MessageBox.alert("Error","You need to select a row before clicking Make Primary.")}},setPrimaryEmailConfirm:function(a){if(a!="yes"){return}var b=new Zapproved.Request({url:"/Services/Account/SetPrimaryEmail",scope:this,errorSubject:"Set Primary Email Address Failed",mask:new Ext.LoadMask(Ext.getBody(),{msg:"Changing Primary Email Address..."}),params:{emailAddress:this.primaryRecord.data.emailAddress,tz:tz,tza:tza},successCallback:function(c){Ext.quickPopup.msg("Primary Email Address Changed",3,'"'+this.primaryRecord.data.emailAddress+'" is now your primary email address.');this.store.load()}});b.doRequest()}});Ext.reg("emailaddressespanel",Zapproved.EmailAddressesPanel);Zapproved.SignUpFormPanel=Ext.extend(Ext.Panel,{loginGroupTitle:"Already have an account with us?  Please login:",signUpGroupTitle:"New to Zapproved?  Contact us for an account:",usernameFieldLabel:"Email Address",passwordFieldLabel:"Password",firstNameFieldLabel:"First Name",lastNameFieldLabel:"Last Name",emailAddressFieldLabel:"Email Address",confirmEmailFieldLabel:"Email (confirm)",phoneFieldLabel:"Phone Number",phoneDescription:"You may optionally include your phone number so that we can contact you for support or feedback purposes.",loggingInText:"Logging In...",signingUpText:"Signing Up...",viewTermsOfUse:"View the Terms Of Use (opens in new window)",emailsales:"Please click Sign Up to email Zapproved for your account",agreeTermsOfUse:"I agree to the terms in the Zapproved terms of use.",validationErrorTitle:"We found a problem in your account information.",submitErrorSubject:"Unable to process sign up request",requiredEmptyText:"(required)",id:"signUpPanel",border:false,style:"margin-top: 10px;",showLoginPanel:true,showSignUp:true,initComponent:function(){Ext.apply(this,{items:[{xtype:"form",id:"loginFormPanel",border:false,width:550,hidden:(!this.showLoginPanel),style:"margin-left: auto;margin-right: auto;",items:[{layout:"form",style:"padding: 15px 0 5px 15px; margin-bottom: 20px;",xtype:"fieldset",title:this.loginGroupTitle,autoHeight:true,defaultType:"textfield",items:[{xtype:"panel",id:"loginFailedNotice",hidden:true,html:"Unrecognized username or password, try again",border:false,style:"padding-bottom: 20px; font-size: 10pt; color: #CC0000; text-align: center;"},{fieldLabel:this.usernameFieldLabel,id:"username",width:200,allowBlank:false},{fieldLabel:this.passwordFieldLabel,inputType:"password",id:"password",width:200,allowBlank:false},{xtype:"panel",id:"loginButtonsPanel",border:false}]}]},{xtype:"panel",html:"&nbsp;",hidden:(!this.showLoginPanel),border:false},{xtype:"form",id:"signUpFormPanel",border:false,width:550,hidden:(!this.showSignUp),style:"margin-left: auto;margin-right: auto;",items:[{layout:"form",style:"padding: 15px 0 5px 15px; margin-bottom: 20px;",xtype:"fieldset",title:this.signUpGroupTitle,autoHeight:true,defaultType:"textfield",items:[{xtype:"panel",border:false,style:"text-align: center; margin-bottom: 10px;",html:'<a href="mailto:support@zapproved.com" style="font-size : 17px;" target="_blank">'+this.emailsales+"</a>"},{xtype:"panel",id:"signUpButtonsPanel",border:false,listeners:{render:this.activateForm,scope:this}}]}]}]});Zapproved.SignUpFormPanel.superclass.initComponent.apply(this,arguments)},activateForm:function(){this.updateButtons()},updateButtons:function(){var a='<table style="margin: 0 auto;"><tr><td><div style="margin: 0 auto;"><a href="javascript:Ext.getCmp(\'signUpPanel\').login()" style="color:#000000;"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;">Login</div><img src="/Images/site/button/button-right.gif" alt="" style="float: left; margin-right: 5px;"/></a><div style="clear: both;height: 1px;">&nbsp;</div></div></td></tr></table>';Ext.getCmp("loginButtonsPanel").body.update(a);var b='<table style="margin: 0 auto;"><tr><td><div style="margin: 0 auto;"><a href="mailto:support@zapproved.com" style="color:#000000;"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;">Sign Up</div><img src="/Images/site/button/button-right.gif" alt="" style="float: left; margin-right: 5px;"/></a><div style="clear: both;height: 1px;">&nbsp;</div></div></td></tr></table>';Ext.getCmp("signUpButtonsPanel").body.update(b)},login:function(){var c=Ext.getCmp("username").getRawValue();var b=Ext.getCmp("password").getRawValue();var a=getParam("token");var d=new Zapproved.SessionManager({scope:this,successCallback:function(){var e=getParam("redirectUrl");if(e&&e!=""){window.location.href=unescape(e)}else{window.location.href="/Home"}},failureCallback:function(){Ext.getCmp("loginFailedNotice").show();Ext.get("username").focus();return true}});d.login(c,b,a)},signUp:function(){var b=Ext.getCmp("emailAddress");var e=Ext.getCmp("confirmEmail");var c=Ext.getCmp("acceptTos");if(b.getValue()==""){Zapproved.ErrorDialog.msg("Sign Up Error","Sorry, we need you to enter <em>at least</em> your email address!");b.focus()}else{if(e.getValue()==""){Zapproved.ErrorDialog.msg("Sign Up Error","Sorry, please type your email address a second time to confirm the spelling!");e.focus()}else{if(b.getValue()!=e.getValue()){Zapproved.ErrorDialog.msg("Sign Up Error","Sorry, the email addresses you typed below do not match, please check your spelling!");b.focus()}else{if(!c.checked){Zapproved.ErrorDialog.msg("Sign Up Error","You must accept the terms of service to sign up for Zapproved.");c.focus()}else{if(!ZapUtils.isEmailValid(b.getValue())){Zapproved.ErrorDialog.msg("Sign Up Error","Your email address is invalid. Please check it carefully and try again.");b.focus()}else{var d=Ext.getCmp("signUpFormPanel");var a=getParam("token");d.getForm().submit({url:"/Services/Account/Signup",params:{token:a,tz:tz,tza:tza},scope:this,waitMsg:this.signingUpText,success:function(k,g){var l=g.result.data;setCookie("newUserEmail",Ext.getCmp("emailAddress").getValue());setCookie("newUserCheckoutToken",l);var h=getParam("redirectUrl");if(h&&h!=""){window.location.href=unescape(h)}else{Ext.get("signUpFormPanel").setVisibilityMode(Ext.Element.DISPLAY);Ext.get("signUpFormPanel").hide();Ext.get("loginFormPanel").setVisibilityMode(Ext.Element.DISPLAY);Ext.get("loginFormPanel").hide();Ext.get("signUpNew").setVisibilityMode(Ext.Element.DISPLAY);Ext.get("signUpNew").hide();Ext.get("signUpComplete").show()}},failure:function(h,g){if(g.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,h)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,g.response,g.result)}}})}}}}}}});Ext.reg("SignUpFormPanel",Zapproved.SignUpFormPanel);Zapproved.SelectPlanFormPanel=Ext.extend(Ext.FormPanel,{loadingMessageText:"Loading...",couponCodeButtonText:"Apply",couponInvalidMessageText:"The coupon code entered is not valid for the selected plan.",couponExpiredMessageText:"This coupon code has expired.",id:"selectPlanFormPanel",border:false,initComponent:function(){Ext.apply(this,{items:[{border:false,width:750,style:"margin-left: auto;margin-right: auto;",items:[{layout:"form",style:"margin-top:20px; padding: 15px 0 5px 15px;",border:false,xtype:"fieldset",title:"Available Subscription Plans",autoHeight:true,defaultType:"textfield",items:[{xtype:"radiogroup",itemCls:"x-check-group-alt",hideLabel:true,anchor:"95%",items:[{xtype:"panel",layout:"table",autoWidth:true,defaults:{bodyStyle:"padding: 0 20px 20px 0"},layoutConfig:{columns:3},items:[{xtype:"label",text:"Plan",cls:"x-form-check-group-label",anchor:"-15"},{xtype:"label",text:"Description",cellCls:"plan-desc-col",cls:"x-form-check-group-label",anchor:"-15"},{xtype:"label",text:"Price",cellCls:"plan-price-col",cls:"x-form-check-group-label",anchor:"-15"},{xtype:"panel",border:false,cellCls:"plan-name-col",items:[{xtype:"radio",boxLabel:"Premium (Monthly)",id:"basicPlanMonthly",name:"planId",cellCls:"plan-name-col",inputValue:2}]},{xtype:"panel",border:false,cellCls:"plan-desc-col",html:"Add your logo, attach larger files, and extend your record storage."},{xtype:"panel",border:false,cellCls:"plan-price-col",html:"$12 / month"},{xtype:"panel",border:false,cellCls:"plan-name-col",items:[{xtype:"radio",boxLabel:"Premium (Annual)",id:"basicPlanAnnual",name:"planId",cellCls:"plan-name-col",inputValue:2}]},{xtype:"panel",border:false,cellCls:"plan-desc-col",html:"Get two months free when you pay for the entire year!"},{xtype:"panel",border:false,cellCls:"plan-price-col",html:"$120 / year"},{xtype:"panel",border:false,cellCls:"plan-name-col",items:[{xtype:"radio",boxLabel:"Group (Monthly)",id:"teamPlanMonthly",name:"planId",cellCls:"plan-name-col",inputValue:50}]},{xtype:"panel",border:false,cellCls:"plan-desc-col",html:"Save when you sign up your team."},{xtype:"panel",border:false,cellCls:"plan-price-col",html:"$100 / month"},{xtype:"panel",border:false,cellCls:"plan-name-col",items:[{xtype:"radio",boxLabel:"Group (Annual)",id:"teamPlanAnnual",name:"planId",cellCls:"plan-name-col",inputValue:50}]},{xtype:"panel",border:false,cellCls:"plan-desc-col",html:"Get two months free when you pay for the entire year!"},{xtype:"panel",border:false,cellCls:"plan-price-col",html:"$1000 / year"}]}]}]},{xtype:"fieldset",layout:"column",title:"Coupon Code",style:"padding: 15px 0 5px 15px; margin-bottom: 20px;",autoHeight:true,border:false,items:[{xtype:"panel",border:false,cls:"x-form-item",html:"<label>Coupon Code:</label>",columnWidth:0.15},{xtype:"textfield",id:"couponCode",columnWidth:0.2},{xtype:"panel",border:false,columnWidth:0.1,html:'<table style="margin: 0 auto;"><tr><td><div style="margin: 0 auto;"><a href="javascript:Ext.getCmp(\'selectPlanFormPanel\').validateCouponCode()"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;color:#000000;">'+this.couponCodeButtonText+'</div><img src="/Images/site/button/button-right.gif"  alt="" style="float: left; margin-right: 5px;"/></a><div style="clear: both;height: 1px;">&nbsp;</div></div></td></tr></table>'},{xtype:"panel",border:false,columnWidth:0.55},{xtype:"panel",border:false,id:"couponCodeMsg",style:"text-align: center; font-size: 11pt;",columnWidth:1,listeners:{render:this.activateForm,scope:this}}]}]},{xtype:"hidden",id:"months",value:1},{xtype:"hidden",id:"planIdHidden",value:2},{xtype:"panel",id:"selectPlanButtonsPanel",border:false,listeners:{render:this.updateButtons,scope:this}}]});Zapproved.SelectPlanFormPanel.superclass.initComponent.apply(this,arguments)},activateForm:function(){Ext.getCmp("couponCode").setValue(getParam("couponCode"));Ext.getCmp("basicPlanAnnual").addListener("check",this.setAnnual,this);Ext.getCmp("basicPlanMonthly").addListener("check",this.setMonthly,this);Ext.getCmp("teamPlanAnnual").addListener("check",this.setAnnual,this);Ext.getCmp("teamPlanMonthly").addListener("check",this.setMonthly,this);var a=getParam("planId");if(a=="50"){Ext.getCmp("teamPlanMonthly").setValue(true)}else{Ext.getCmp("basicPlanMonthly").setValue(true)}},setAnnual:function(b,a){if(a){Ext.getCmp("months").setValue(12);Ext.getCmp("planIdHidden").setValue(b.inputValue);this.validateCouponCode()}},setMonthly:function(b,a){if(a){Ext.getCmp("months").setValue(1);Ext.getCmp("planIdHidden").setValue(b.inputValue);this.validateCouponCode()}},updateButtons:function(){var a='<table style="margin: 0 auto;"><tr><td><div style="margin: 0 auto;"><a href="javascript:Ext.getCmp(\'selectPlanFormPanel\').payWithCreditCard()" style="color:#000000;"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;">Pay with a Credit Card</div><img src="/Images/site/button/button-right.gif"  alt="" style="float: left; margin-right: 5px;"/></a>';a+='<span style="float: left;"> or &nbsp;</span>';a+='<a href="javascript:Ext.getCmp(\'selectPlanFormPanel\').payWithPayPal()" style="color:#000000;"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;">Pay with PayPal</div><img src="/Images/site/button/button-right.gif"  alt="" style="float: left; margin-right: 5px;"/></a><div style="clear: both;height: 1px;">&nbsp;</div></div></td></tr></table>';Ext.getCmp("selectPlanButtonsPanel").body.update(a)},validateCouponCode:function(){var b=Ext.getCmp("couponCode").getValue();if(typeof b=="undefined"){return}if(b==""){this.setCouponCodeMessage("");return}var a=new Zapproved.Request({url:"/Services/Account/GetPlanPrice",scope:this,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.loadingMessageText}),params:{plan:Ext.getCmp("planIdHidden").getValue(),months:Ext.getCmp("months").getValue(),couponCode:b},ignoreError:true,successCallback:this.afterValidateCouponCode});a.doRequest()},afterValidateCouponCode:function(b){if(b.success){var a=b.data;this.setCouponCodeMessage('<span style="color: #00212e">This coupon code reduces the price of the selected plan to $'+a.toFixed(2)+"</span>")}else{this.setCouponCodeMessage('<span style="color: #CC0000">'+this.getCouponErrorMsg(b.errors[0].error)+"</span>")}},getCouponErrorMsg:function(a){if(a=="CouponInvalid"){return this.couponInvalidMessageText}else{if(a=="CouponExpired"){return this.couponExpiredMessageText}else{return"Coupon Error: "+a}}},setCouponCodeMessage:function(a){Ext.getCmp("couponCodeMsg").body.update(a)},payWithCreditCard:function(){window.location.href="/Welcome/Checkout?planId="+Ext.getCmp("planIdHidden").getValue()+"&months="+Ext.getCmp("months").getValue()+"&couponCode="+Ext.getCmp("couponCode").getValue()},payWithPayPal:function(){var b="";if(!userHasSession()){b=readCookie("newUserCheckoutToken")}var a=new Zapproved.Request({url:"/Services/Account/StartUpgradePlanPayPal",scope:this,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.loadingMessageText}),params:{newPlan:Ext.getCmp("planIdHidden").getValue(),months:Ext.getCmp("months").getValue(),couponCode:Ext.getCmp("couponCode").getValue(),token:b,tz:tz,tza:tza},successCallback:this.payPalRedirect});a.doRequest()},payPalRedirect:function(a){var b=a.data;window.location=b}});Ext.reg("selectplanformpanel",Zapproved.SelectPlanFormPanel);Zapproved.ReceiptPanel=Ext.extend(Ext.Panel,{getStartedButtonText:"Get Started!",dateFieldLabel:"Transaction Date",summaryFieldLabel:"Summary",amountFieldLabel:"Amount",processingMessageText:"Processing...",loadErrorSubject:"Unable to complete PayPal processing",id:"receiptPanel",width:750,style:"margin-top: 10px;margin-left: auto;margin-right: auto;",border:true,autoHeight:true,transactionInfo:null,initComponent:function(){Ext.apply(this,{items:[{layout:"table",style:"margin: 5px 5px 5px 5px;",border:false,layoutConfig:{columns:2},items:[{xtype:"panel",id:"dateLabel",html:this.dateFieldLabel+":",cls:"x-form-label",cellCls:"receipt-lbl-cell",border:false},{xtype:"panel",id:"date",cls:"x-static-field",border:false},{xtype:"panel",id:"summaryLabel",html:this.summaryFieldLabel+":",cls:"x-form-label",cellCls:"receipt-lbl-cell",border:false},{xtype:"panel",id:"summary",cls:"x-static-field",border:false},{xtype:"panel",id:"amountLabel",html:this.amountFieldLabel+":",cls:"x-form-label",cellCls:"receipt-lbl-cell",border:false},{xtype:"panel",id:"amount",cls:"x-static-field",border:false,listeners:{render:this.loadReceipt,scope:this}}]},{xtype:"panel",border:false,html:'<table style="margin: 0 auto;"><tr><td><div style="margin: 0 auto;"><a href="javascript:Ext.getCmp(\'receiptPanel\').goHome()"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;color:#000000;">'+this.getStartedButtonText+'</div><img src="/Images/site/button/button-right.gif"  alt="" style="float: left; margin-right: 5px;"/></a><div style="clear: both;height: 1px;">&nbsp;</div></div></td></tr></table>'}]});Zapproved.ReceiptPanel.superclass.initComponent.apply(this,arguments)},goHome:function(){window.location.href="/Home"},loadReceipt:function(){var c=getParam("ztoken");var d=getParam("transactionId");var a=getParam("token");if(this.transactionInfo){this.populateFields(this.transactionInfo)}else{if(d&&d.length>0){var b=new Zapproved.Request({url:"/Services/Account/FinishUpgradePlanPayPal",scope:this,errorSubject:this.loadErrorSubject,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.processingMessageText}),params:{paypalToken:a,token:c,transactionId:d,tz:tz,tza:tza},successCallback:this.finishPayPalTx});b.doRequest()}else{Zapproved.ErrorDialog.msg("No Receipt","No receipt data is available.")}}},finishPayPalTx:function(a){this.transactionInfo=a.data;this.populateFields(this.transactionInfo)},populateFields:function(b){var a=Date.parseDate(this.transactionInfo.paymentCapturedOn,"U");ZapUtils.showField(a.format("m/d/Y"),"date","dateLabel");ZapUtils.showField(this.transactionInfo.summary,"summary","summaryLabel");ZapUtils.showField("$"+this.transactionInfo.amount.toFixed(2),"amount","amountLabel")}});Ext.reg("receiptpanel",Zapproved.ReceiptPanel);Zapproved.CheckoutFormPanel=Ext.extend(Ext.FormPanel,{billingAddressGroupTitle:"Billing Address",creditCardGroupTitle:"Credit Card",purchaseSummaryGroupTitle:"Review Subscription Plan",emailFieldLabel:"Email",firstNameFieldLabel:"First Name",middleNameFieldLabel:"MI",lastNameFieldLabel:"Last Name",companyFieldLabel:"Company",countryFieldLabel:"Country",addressFieldLabel:"Address",address2FieldLabel:"Address 2",cityFieldLabel:"City",stateFieldLabel:"State/Province",zipFieldLabel:"Zip/Postal Code",phoneFieldLabel:"Phone",cardTypeFieldLabel:"Card Type",cardNumberFieldLabel:"Card #",expDateFieldLabel:"Exp. Date",cvvFieldLabel:"CVV2 Code",submitButtonText:"Subscribe",processingPaymentText:"Processing payment...",validationErrorTitle:"We found a problem in your billing information.",submitErrorSubject:"Unable to process purchase transaction",receiptHeaderText:"Your Receipt",defaultEmptyText:"(required)",shortEmptyText:"(*)",loadingMessageText:"Loading...",stateCodeErrTitle:"Invalid State or Province",stateCodeErrText:"State/province codes must be two characters in the United States and Canada.  Please correct the state/province and try again.",postalCodeErrTitle:"Invalid Postal/Zip Code",postalCodeErrText:"Postal/Zip codes must be a minimum of 5 characters in the United States and Canada.  Please correct the postal code and try again.",phoneErrTitle:"Invalid Phone Number",phoneErrText:"Phone numbers must be a minimum of 10 characters in the United States and Canada.  Please correct the phone number and try again.",id:"ccCheckoutFormPanel",border:false,autoHeight:true,labelAlign:"left",initComponent:function(){var a;if(userHasSession()){a=Zapproved.SessionManager.getAccount().primaryEmailAddress}else{a=readCookie("newUserEmail")}this.couponCode=getParam("couponCode");Ext.apply(this,{items:[{layout:"column",border:false,width:750,style:"margin-left: auto;margin-right: auto;",autoHeight:true,items:[{columnWidth:0.5,layout:"form",style:"padding: 15px 0 5px 15px; margin-bottom: 20px;",xtype:"fieldset",title:this.billingAddressGroupTitle,autoHeight:true,defaultType:"textfield",items:[{xtype:"statictextfield",fieldLabel:this.emailFieldLabel,value:a,id:"email",anchor:"95%"},{fieldLabel:this.firstNameFieldLabel,id:"cardFirstName",anchor:"95%",allowBlank:false,emptyText:this.defaultEmptyText},{fieldLabel:this.middleNameFieldLabel,id:"cardMiddleName",autoCreate:{tag:"input",type:"text",size:"1",autocomplete:"off",maxlength:1}},{fieldLabel:this.lastNameFieldLabel,id:"cardLastName",anchor:"95%",allowBlank:false,emptyText:this.defaultEmptyText},{xtype:"combo",fieldLabel:this.countryFieldLabel,id:"countryCombo",hiddenName:"country",allowBlank:false,emptyText:this.defaultEmptyText,store:this.getCountryCodeStore(),displayField:"name",valueField:"id",mode:"local",triggerAction:"all",selectOnFocus:true,typeAhead:true,forceSelection:true,anchor:"95%"},{fieldLabel:this.addressFieldLabel,id:"addressLine1",anchor:"95%",allowBlank:false,emptyText:this.defaultEmptyText},{fieldLabel:this.address2FieldLabel,id:"addressLine2",anchor:"95%"},{fieldLabel:this.cityFieldLabel,id:"city",anchor:"95%",allowBlank:false,emptyText:this.defaultEmptyText},{xtype:"statecombo",fieldLabel:this.stateFieldLabel,id:"state",anchor:"95%",typeAhead:true},{fieldLabel:this.zipFieldLabel,id:"postalCode",maxLength:6,width:80,allowBlank:false,emptyText:this.defaultEmptyText},{fieldLabel:this.phoneFieldLabel,id:"phone",width:120,allowBlank:false,emptyText:this.defaultEmptyText}]},{columnWidth:0.5,style:"margin-left: 10px;",border:false,xtype:"panel",labelWidth:125,items:[{xtype:"fieldset",style:"padding: 15px 0 5px 15px;",title:this.creditCardGroupTitle,autoHeight:true,layout:"form",defaultType:"textfield",items:[{xtype:"panel",border:false,html:'<img src="/Images/site/checkout/visa.png"/><img src="/Images/site/checkout/mc.png"/><img src="/Images/site/checkout/amex.png"/><img src="/Images/site/checkout/discover.png"/>'},{xtype:"cctypecombo",fieldLabel:this.cardTypeFieldLabel,id:"cardTypeCombo",hiddenName:"cardType",anchor:"95%",allowBlank:false,emptyText:this.defaultEmptyText},{fieldLabel:this.cardNumberFieldLabel,id:"cardNumber",maxLength:24,anchor:"95%",allowBlank:false,emptyText:this.defaultEmptyText},{xtype:"panel",layout:"column",border:false,defaultType:"textfield",cls:"x-form-item",items:[{xtype:"label",cls:"x-form-item-label",text:this.expDateFieldLabel+":",width:130},{xtype:"monthnumcombo",id:"cardExpirationMonth",allowBlank:false,emptyText:this.shortEmptyText},{xtype:"panel",border:false,html:'<span style="font-size : 16px;">&nbsp;&nbsp;/&nbsp;&nbsp;</span>'},{xtype:"yearnumcombo",id:"cardExpirationYear",allowBlank:false,emptyText:this.shortEmptyText}]},{fieldLabel:this.cvvFieldLabel,id:"cardCvv2Code",minLength:3,maxLength:4,width:50,allowBlank:false,emptyText:this.shortEmptyText},{xtype:"panel",border:false,html:'<a href="javascript:Ext.getCmp(\'ccCheckoutFormPanel\').showCvv2Help()" style="font-weight: bold;font-size : 11px;">CVV2 Help</a>'},{xtype:"hidden",id:"token"},{xtype:"hidden",id:"newPlan"},{xtype:"hidden",id:"months"}]},{xtype:"fieldset",style:"padding: 15px 0 5px 15px;",title:this.purchaseSummaryGroupTitle,autoHeight:true,items:[{xtype:"panel",border:false,id:"planDescriptionPanel"},{xtype:"panel",border:false,html:'<a href="/Welcome/SelectPlan" style="font-weight: bold;font-size : 11px;">Change Plan</a>'},{xtype:"panel",border:false,html:'<span style="font-size : 11px;">Your subscription will automatically renew at the end of each period</span>',listeners:{render:this.activateForm,scope:this}}]}]}]},{xtype:"panel",border:false,html:'<table style="margin: 0 auto;"><tr><td><div style="margin: 0 auto;"><a href="javascript:Ext.getCmp(\'ccCheckoutFormPanel\').submitForm()"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;color:#000000;">'+this.submitButtonText+'</div><img src="/Images/site/button/button-right.gif"  alt="" style="float: left; margin-right: 5px;"/></a><div style="clear: both;height: 1px;">&nbsp;</div></div></td></tr></table>'}]});Zapproved.CheckoutFormPanel.superclass.initComponent.apply(this,arguments)},activateForm:function(){var a=Ext.get("cardFirstName");a.focus();this.getPlanPrice()},getPlanPrice:function(){var a=new Zapproved.Request({url:"/Services/Account/GetPlanPrice",scope:this,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.loadingMessageText}),params:{plan:getParam("planId"),months:getParam("months"),couponCode:this.couponCode},ignoreError:true,successCallback:this.afterGetPlanPrice});a.doRequest()},afterGetPlanPrice:function(b){var c;if(b.success){var a=b.data;if(getParam("planId")=="2"){if(getParam("months")=="1"){c="Monthly access for $"+a.toFixed(2)}else{c="Annual access for $"+a.toFixed(2)}}else{if(getParam("planId")=="50"){if(getParam("months")=="1"){c="Monthly team access for $"+a.toFixed(2)}else{c="Annual team access for $"+a.toFixed(2)}}}}else{if(getParam("planId")=="2"){if(getParam("months")=="1"){c="Monthly access for $12"}else{c="Annual access for $120"}}else{if(getParam("planId")=="50"){if(getParam("months")=="1"){c="Monthly team access for $100"}else{c="Annual team access for $1000"}}}}Ext.getCmp("planDescriptionPanel").body.update(c)},showCvv2Help:function(){var a="For your security, Zapproved requires that you enter your card's verification number.<br/><br/>";a+="<b>Visa, Mastercard and Discover Users:</b><br/>";a+="The verification number is a 3-digit number printed on the back of your card. It appears to the right of your card number.<br/>";a+="<br/><b>American Express Users:</b><br/>";a+="The verification number is a 4-digit number printed on the front of your card. It appears to the right of your card number.";Ext.Msg.alert("CVV2 Security Code",a)},validate:function(){var c=Ext.getCmp("countryCombo").getValue();if(c=="US"||c=="CA"){var a=Ext.getCmp("state").getRawValue();if(a.length!=2){Ext.Msg.alert(this.stateCodeErrTitle,this.stateCodeErrText);return false}var b=Ext.getCmp("postalCode").getValue();if(b.length<5){Ext.Msg.alert(this.postalCodeErrTitle,this.postalCodeErrText);return false}var b=Ext.getCmp("phone").getValue();if(b.length<10){Ext.Msg.alert(this.phoneErrTitle,this.phoneErrText);return false}}return true},submitForm:function(){if(!userHasSession()){Ext.getCmp("token").setValue(readCookie("newUserCheckoutToken"))}Ext.getCmp("newPlan").setValue(getParam("planId"));Ext.getCmp("months").setValue(getParam("months"));if(!this.validate()){return}this.getForm().submit({url:"/Services/Account/UpgradePlanCreditCard",params:{couponCode:this.couponCode,tz:tz,tza:tza},timeout:120000,scope:this,waitMsg:this.processingPaymentText,success:function(d,b){this.submitted=true;this.hide();var c=new Zapproved.ReceiptPanel({renderTo:"receiptPanel",transactionInfo:b.result.data});var a=Ext.get("titleHeader");a.update(this.receiptHeaderText);var e=getParam("planId");if(e=="50"){Ext.get("teamThankYouText").show()}else{Ext.get("receiptThankYouText").show()}},failure:function(b,a){if(a.failureType=="client"){Zapproved.ErrorDialog.fromForm(this.validationErrorTitle,b)}else{Zapproved.ErrorDialog.fromServerError(this.submitErrorSubject,a.response,a.result)}}})},getCountryCodeStore:function(){var a=[["US","UNITED STATES"],["CA","CANADA"],["US","------"],["AF","AFGHANISTAN"],["AL","ALBANIA"],["DZ","ALGERIA"],["AS","AMERICAN SAMOA"],["AD","ANDORRA"],["AO","ANGOLA"],["AI","ANGUILLA"],["AQ","ANTARCTICA"],["AG","ANTIGUA AND BARBUDA"],["AR","ARGENTINA"],["AM","ARMENIA"],["AW","ARUBA"],["AU","AUSTRALIA"],["AT","AUSTRIA"],["AZ","AZERBAIJAN"],["BS","BAHAMAS"],["BH","BAHRAIN"],["BD","BANGLADESH"],["BB","BARBADOS"],["BY","BELARUS"],["BE","BELGIUM"],["BZ","BELIZE"],["BJ","BENIN"],["BM","BERMUDA"],["BT","BHUTAN"],["BO","BOLIVIA"],["BA","BOSNIA AND HERZEGOVINA"],["BW","BOTSWANA"],["BV","BOUVET ISLAND"],["BR","BRAZIL"],["IO","BRITISH INDIAN OCEAN TERRITORY"],["BN","BRUNEI DARUSSALAM"],["BG","BULGARIA"],["BF","BURKINA FASO"],["BI","BURUNDI"],["KH","CAMBODIA"],["CM","CAMEROON"],["CA","CANADA"],["CV","CAPE VERDE"],["KY","CAYMAN ISLANDS"],["CF","CENTRAL AFRICAN REPUBLIC"],["TD","CHAD"],["CL","CHILE"],["CN","CHINA"],["CX","CHRISTMAS ISLAND"],["CC","COCOS (KEELING) ISLANDS"],["CO","COLOMBIA"],["KM","COMOROS"],["CG","CONGO"],["CD","CONGO, THE DEMOCRATIC REPUBLIC OF THE"],["CK","COOK ISLANDS"],["CR","COSTA RICA"],["CI","COTE D'IVOIRE"],["HR","CROATIA (local name: Hrvatska)"],["CU","CUBA"],["CY","CYPRUS"],["CZ","CZECH REPUBLIC"],["DK","DENMARK"],["DJ","DJIBOUTI"],["DM","DOMINICA"],["DO","DOMINICAN REPUBLIC"],["EC","ECUADOR"],["EG","EGYPT"],["SV","EL SALVADOR"],["GQ","EQUATORIAL GUINEA"],["ER","ERITREA"],["EE","ESTONIA"],["ET","ETHIOPIA"],["FK","FALKLAND ISLANDS (MALVINAS)"],["FO","FAROE ISLANDS"],["FJ","FIJI"],["FI","FINLAND"],["FR","FRANCE"],["FX","FRANCE, METROPOLITAN"],["GF","FRENCH GUIANA"],["PF","FRENCH POLYNESIA"],["TF","FRENCH SOUTHERN TERRITORIES"],["GA","GABON"],["GM","GAMBIA"],["GE","GEORGIA"],["DE","GERMANY"],["GH","GHANA"],["GI","GIBRALTAR"],["GR","GREECE"],["GL","GREENLAND"],["GD","GRENADA"],["GP","GUADELOUPE"],["GU","GUAM"],["GT","GUATEMALA"],["GN","GUINEA"],["GW","GUINEA-BISSAU"],["GY","GUYANA"],["HT","HAITI"],["HM","HEARD ISLAND & MCDONALD ISLANDS"],["VA","HOLY SEE (VATICAN CITY STATE)"],["HN","HONDURAS"],["HK","HONG KONG"],["HU","HUNGARY"],["IS","ICELAND"],["IN","INDIA"],["ID","INDONESIA"],["IR","IRAN, ISLAMIC REPUBLIC OF"],["IQ","IRAQ"],["IE","IRELAND"],["IL","ISRAEL"],["IT","ITALY"],["JM","JAMAICA"],["JP","JAPAN"],["JO","JORDAN"],["KZ","KAZAKHSTAN"],["KE","KENYA"],["KI","KIRIBATI"],["KP","KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF"],["KR","KOREA, REPUBLIC OF"],["KW","KUWAIT"],["KG","KYRGYZSTAN"],["LA","LAO PEOPLE'S DEMOCRATIC REPUBLIC"],["LV","LATVIA"],["LB","LEBANON"],["LS","LESOTHO"],["LR","LIBERIA"],["LY","LIBYAN ARAB JAMAHIRIYA"],["LI","LIECHTENSTEIN"],["LT","LITHUANIA"],["LU","LUXEMBOURG"],["MO","MACAU"],["MK","MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF"],["MG","MADAGASCAR"],["MW","MALAWI"],["MY","MALAYSIA"],["MV","MALDIVES"],["ML","MALI"],["MT","MALTA"],["MH","MARSHALL ISLANDS"],["MQ","MARTINIQUE"],["MR","MAURITANIA"],["MU","MAURITIUS"],["YT","MAYOTTE"],["MX","MEXICO"],["FM","MICRONESIA, FEDERATED STATES OF"],["MD","MOLDOVA, REPUBLIC OF"],["MC","MONACO"],["MN","MONGOLIA"],["MS","MONTSERRAT"],["MA","MOROCCO"],["MZ","MOZAMBIQUE"],["MM","MYANMAR"],["NA","NAMIBIA"],["NR","NAURU"],["NP","NEPAL"],["NL","NETHERLANDS"],["AN","NETHERLANDS ANTILLES"],["NC","NEW CALEDONIA"],["NZ","NEW ZEALAND"],["NI","NICARAGUA"],["NE","NIGER"],["NG","NIGERIA"],["NU","NIUE"],["NF","NORFOLK ISLAND"],["MP","NORTHERN MARIANA ISLANDS"],["NO","NORWAY"],["OM","OMAN"],["PK","PAKISTAN"],["PW","PALAU"],["PA","PANAMA"],["PG","PAPUA NEW GUINEA"],["PY","PARAGUAY"],["PE","PERU"],["PH","PHILIPPINES"],["PN","PITCAIRN"],["PL","POLAND"],["PT","PORTUGAL"],["PR","PUERTO RICO"],["QA","QATAR"],["RE","REUNION"],["RO","ROMANIA"],["RU","RUSSIAN FEDERATION"],["RW","RWANDA"],["KN","SAINT KITTS AND NEVIS"],["LC","SAINT LUCIA"],["VC","SAINT VINCENT AND THE GRENADINES"],["WS","SAMOA"],["SM","SAN MARINO"],["ST","SAO TOME AND PRINCIPE"],["SA","SAUDI ARABIA"],["SN","SENEGAL"],["SC","SEYCHELLES"],["SL","SIERRA LEONE"],["SG","SINGAPORE"],["SK","SLOVAKIA (Slovak Republic)"],["SI","SLOVENIA"],["SB","SOLOMON ISLANDS"],["SO","SOMALIA"],["ZA","SOUTH AFRICA"],["GS","SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS"],["ES","SPAIN"],["LK","SRI LANKA"],["SH","SAINT HELENA"],["PM","SAINT PIERRE AND MIQUELON"],["SD","SUDAN"],["SR","SURINAME"],["SJ","SVALBARD AND JAN MAYEN ISLANDS"],["SZ","SWAZILAND"],["SE","SWEDEN"],["CH","SWITZERLAND"],["SY","SYRIAN ARAB REPUBLIC"],["TW","TAIWAN, PROVINCE OF CHINA"],["TJ","TAJIKISTAN"],["TZ","TANZANIA, UNITED REPUBLIC OF"],["TH","THAILAND"],["TG","TOGO"],["TK","TOKELAU"],["TO","TONGA"],["TT","TRINIDAD AND TOBAGO"],["TN","TUNISIA"],["TR","TURKEY"],["TM","TURKMENISTAN"],["TC","TURKS AND CAICOS ISLANDS"],["TV","TUVALU"],["UG","UGANDA"],["UA","UKRAINE"],["AE","UNITED ARAB EMIRATES"],["GB","UNITED KINGDOM"],["US","UNITED STATES"],["UM","UNITED STATES MINOR OUTLYING ISLANDS"],["UY","URUGUAY"],["UZ","UZBEKISTAN"],["VU","VANUATU"],["VE","VENEZUELA"],["VN","VIET NAM"],["VG","VIRGIN ISLANDS (BRITISH)"],["VI","VIRGIN ISLANDS (U.S.)"],["WF","WALLIS AND FUTUNA ISLANDS"],["EH","WESTERN SAHARA"],["YE","YEMEN"],["YU","YUGOSLAVIA"],["ZM","ZAMBIA"],["ZW","ZIMBABWE"]];var b=new Ext.data.SimpleStore({fields:[{name:"id"},{name:"name"}]});b.loadData(a);return b}});Ext.reg("checkoutformpanel",Zapproved.CheckoutFormPanel);Zapproved.ReceiptPanel=Ext.extend(Ext.Panel,{getStartedButtonText:"Get Started!",dateFieldLabel:"Transaction Date",summaryFieldLabel:"Summary",amountFieldLabel:"Amount",processingMessageText:"Processing...",loadErrorSubject:"Unable to complete PayPal processing",id:"receiptPanel",width:750,style:"margin-top: 10px;margin-left: auto;margin-right: auto;",border:true,autoHeight:true,transactionInfo:null,initComponent:function(){Ext.apply(this,{items:[{layout:"table",style:"margin: 5px 5px 5px 5px;",border:false,layoutConfig:{columns:2},items:[{xtype:"panel",id:"dateLabel",html:this.dateFieldLabel+":",cls:"x-form-label",cellCls:"receipt-lbl-cell",border:false},{xtype:"panel",id:"date",cls:"x-static-field",border:false},{xtype:"panel",id:"summaryLabel",html:this.summaryFieldLabel+":",cls:"x-form-label",cellCls:"receipt-lbl-cell",border:false},{xtype:"panel",id:"summary",cls:"x-static-field",border:false},{xtype:"panel",id:"amountLabel",html:this.amountFieldLabel+":",cls:"x-form-label",cellCls:"receipt-lbl-cell",border:false},{xtype:"panel",id:"amount",cls:"x-static-field",border:false,listeners:{render:this.loadReceipt,scope:this}}]},{xtype:"panel",border:false,html:'<table style="margin: 0 auto;"><tr><td><div style="margin: 0 auto;"><a href="javascript:Ext.getCmp(\'receiptPanel\').goHome()"><img src="/Images/site/button/button-left.gif" alt="" style="float: left"/><div style="float: left;font-family: Verdana, Arial, sans-serif;font-weight: bold;font-size: 12px;height:21px;padding-top: 3px;background-image:url(/Images/site/button/button-bg.gif);background-repeat: repeat-x;color:#000000;">'+this.getStartedButtonText+'</div><img src="/Images/site/button/button-right.gif"  alt="" style="float: left; margin-right: 5px;"/></a><div style="clear: both;height: 1px;">&nbsp;</div></div></td></tr></table>'}]});Zapproved.ReceiptPanel.superclass.initComponent.apply(this,arguments)},goHome:function(){window.location.href="/Home"},loadReceipt:function(){var c=getParam("ztoken");var d=getParam("transactionId");var a=getParam("token");if(this.transactionInfo){this.populateFields(this.transactionInfo)}else{if(d&&d.length>0){var b=new Zapproved.Request({url:"/Services/Account/FinishUpgradePlanPayPal",scope:this,errorSubject:this.loadErrorSubject,mask:new Ext.LoadMask(Ext.getBody(),{msg:this.processingMessageText}),params:{paypalToken:a,token:c,transactionId:d,tz:tz,tza:tza},successCallback:this.finishPayPalTx});b.doRequest()}else{Zapproved.ErrorDialog.msg("No Receipt","No receipt data is available.")}}},finishPayPalTx:function(a){this.transactionInfo=a.data;this.populateFields(this.transactionInfo)},populateFields:function(b){var a=Date.parseDate(this.transactionInfo.paymentCapturedOn,"U");ZapUtils.showField(a.format("m/d/Y"),"date","dateLabel");ZapUtils.showField(this.transactionInfo.summary,"summary","summaryLabel");ZapUtils.showField("$"+this.transactionInfo.amount.toFixed(2),"amount","amountLabel")}});Ext.reg("receiptpanel",Zapproved.ReceiptPanel);